Upgrade version to 1.42 sandbox/xuwc/upgrade
authorwanchao-xu <wanchao.xu@samsung.com>
Fri, 19 Jul 2024 06:48:35 +0000 (14:48 +0800)
committerwanchao-xu <wanchao.xu@samsung.com>
Fri, 19 Jul 2024 09:10:45 +0000 (17:10 +0800)
Signed-off-by: wanchao-xu <wanchao.xu@samsung.com>
889 files changed:
ABOUT-NLS
AUTHORS
CONTRIBUTING.md [new file with mode: 0644]
COPYING
COPYINGv3
ChangeLog
FAQ
GNUmakefile
HACKING [deleted file]
INSTALL
Makefile.am
Makefile.in
NEWS
README
THANKS
TODO [deleted file]
aclocal.m4
build-aux/announce-gen [new file with mode: 0755]
build-aux/ar-lib [new file with mode: 0755]
build-aux/compile
build-aux/config.guess
build-aux/config.rpath
build-aux/config.sub
build-aux/csharpcomp.sh.in
build-aux/csharpexec.sh.in
build-aux/depcomp
build-aux/do-release-commit-and-tag [new file with mode: 0755]
build-aux/gendocs.sh
build-aux/git-version-gen [new file with mode: 0755]
build-aux/gitlog-to-changelog [new file with mode: 0755]
build-aux/gnu-web-doc-update [new file with mode: 0755]
build-aux/gnupload
build-aux/install-sh
build-aux/ltmain.sh [changed mode: 0644->0755]
build-aux/mdate-sh
build-aux/missing
build-aux/pmccabe.css
build-aux/pmccabe2html
build-aux/snippet/_Noreturn.h [deleted file]
build-aux/snippet/unused-parameter.h [deleted file]
build-aux/snippet/warn-on-use.h [deleted file]
build-aux/test-driver [new file with mode: 0755]
build-aux/texinfo.tex
build-aux/update-copyright
build-aux/useless-if-before-free
build-aux/vc-list-files
cfg.mk
config.h.in
configure
configure.ac
contrib/README
contrib/doxygen/Doxyfile.in
contrib/doxygen/Doxyfile.orig
contrib/doxygen/gdoc2doxygen
contrib/idn-python/idn.c
contrib/idn-python/test.py
contrib/java/IDNA.c
contrib/java/Makefile.am
contrib/java/README
contrib/web/idn.php
csharp/AssemblyInfo.cs
csharp/IDNA.cs
csharp/IDNAException.cs
csharp/Makefile.am
csharp/Makefile.in
csharp/NFKC.cs
csharp/Punycode.cs
csharp/PunycodeException.cs
csharp/Stringprep.cs
csharp/StringprepException.cs
csharp/generate/AssemblyInfo.cs
csharp/generate/GenerateNFKC.cs
csharp/generate/GenerateRFC3454.cs
csharp/generate/HashSet.cs
csharp/generate/Program.cs
csharp/generate/Tokenizer.cs
doc/Makefile.am
doc/Makefile.gdoc [deleted file]
doc/Makefile.gdoci [deleted file]
doc/Makefile.in
doc/cyclo/Makefile.am
doc/cyclo/Makefile.in
doc/cyclo/cyclo-libidn.html [deleted file]
doc/example.txt [new file with mode: 0644]
doc/example2.txt [new file with mode: 0644]
doc/example3.txt [new file with mode: 0644]
doc/example4.txt [new file with mode: 0644]
doc/example5.txt [new file with mode: 0644]
doc/fdl-1.3.texi
doc/gdoc
doc/idn-help.texi [new file with mode: 0644]
doc/idn.1
doc/java/Makefile.am
doc/java/Makefile.in
doc/java/about.html [deleted file]
doc/java/alphaindex.html [deleted file]
doc/java/deprecated.html [deleted file]
doc/java/gnu/inet/encoding/CombiningClass.html [deleted file]
doc/java/gnu/inet/encoding/Composition.html [deleted file]
doc/java/gnu/inet/encoding/DecompositionKeys.html [deleted file]
doc/java/gnu/inet/encoding/DecompositionMappings.html [deleted file]
doc/java/gnu/inet/encoding/IDNA.html [deleted file]
doc/java/gnu/inet/encoding/IDNAException.html [deleted file]
doc/java/gnu/inet/encoding/NFKC.html [deleted file]
doc/java/gnu/inet/encoding/Punycode.html [deleted file]
doc/java/gnu/inet/encoding/PunycodeException.html [deleted file]
doc/java/gnu/inet/encoding/RFC3454.html [deleted file]
doc/java/gnu/inet/encoding/Stringprep.html [deleted file]
doc/java/gnu/inet/encoding/StringprepException.html [deleted file]
doc/java/gnu/inet/encoding/classes.html [deleted file]
doc/java/gnu/inet/encoding/package-summary.html [deleted file]
doc/java/gnu/inet/encoding/tree.html [deleted file]
doc/java/index.html [deleted file]
doc/java/package-list [deleted file]
doc/java/resources/gjdoc.js [deleted file]
doc/java/resources/gjdochtml-clean-color1.css [deleted file]
doc/java/resources/gjdochtml-clean-layout.css [deleted file]
doc/java/resources/inherit.png [deleted file]
doc/java/serialized-form.html [deleted file]
doc/libidn-components.eps
doc/libidn-components.pdf
doc/libidn-components.png
doc/libidn.html [deleted file]
doc/libidn.info
doc/libidn.pdf [deleted file]
doc/libidn.ps [deleted file]
doc/libidn.texi
doc/man/idn_free.3
doc/man/idna_strerror.3
doc/man/idna_to_ascii_4i.3
doc/man/idna_to_ascii_4z.3
doc/man/idna_to_ascii_8z.3
doc/man/idna_to_ascii_lz.3
doc/man/idna_to_unicode_44i.3
doc/man/idna_to_unicode_4z4z.3
doc/man/idna_to_unicode_8z4z.3
doc/man/idna_to_unicode_8z8z.3
doc/man/idna_to_unicode_8zlz.3
doc/man/idna_to_unicode_lzlz.3
doc/man/pr29_4.3
doc/man/pr29_4z.3
doc/man/pr29_8z.3
doc/man/pr29_strerror.3
doc/man/punycode_decode.3
doc/man/punycode_encode.3
doc/man/punycode_strerror.3
doc/man/stringprep.3
doc/man/stringprep_4i.3
doc/man/stringprep_4zi.3
doc/man/stringprep_check_version.3
doc/man/stringprep_convert.3
doc/man/stringprep_locale_charset.3
doc/man/stringprep_locale_to_utf8.3
doc/man/stringprep_profile.3
doc/man/stringprep_strerror.3
doc/man/stringprep_ucs4_nfkc_normalize.3
doc/man/stringprep_ucs4_to_utf8.3
doc/man/stringprep_unichar_to_utf8.3
doc/man/stringprep_utf8_nfkc_normalize.3
doc/man/stringprep_utf8_to_locale.3
doc/man/stringprep_utf8_to_ucs4.3
doc/man/stringprep_utf8_to_unichar.3
doc/man/tld_check_4.3
doc/man/tld_check_4t.3
doc/man/tld_check_4tz.3
doc/man/tld_check_4z.3
doc/man/tld_check_8z.3
doc/man/tld_check_lz.3
doc/man/tld_default_table.3
doc/man/tld_get_4.3
doc/man/tld_get_4z.3
doc/man/tld_get_table.3
doc/man/tld_get_z.3
doc/man/tld_strerror.3
doc/reference/Makefile.am
doc/reference/Makefile.in
doc/reference/html/api-index-deprecated.html [new file with mode: 0644]
doc/reference/html/api-index-full.html
doc/reference/html/home.png
doc/reference/html/index.html
doc/reference/html/index.sgml [deleted file]
doc/reference/html/intro.html
doc/reference/html/left-insensitive.png [new file with mode: 0644]
doc/reference/html/left.png
doc/reference/html/libidn-components.png
doc/reference/html/libidn-idn-free.h.html [new file with mode: 0644]
doc/reference/html/libidn-idn-free.html [deleted file]
doc/reference/html/libidn-idna.h.html [new file with mode: 0644]
doc/reference/html/libidn-idna.html [deleted file]
doc/reference/html/libidn-pr29.h.html [new file with mode: 0644]
doc/reference/html/libidn-pr29.html [deleted file]
doc/reference/html/libidn-punycode.h.html [new file with mode: 0644]
doc/reference/html/libidn-punycode.html [deleted file]
doc/reference/html/libidn-stringprep.h.html [new file with mode: 0644]
doc/reference/html/libidn-stringprep.html [deleted file]
doc/reference/html/libidn-tld.h.html [new file with mode: 0644]
doc/reference/html/libidn-tld.html [deleted file]
doc/reference/html/libidn.devhelp2
doc/reference/html/right-insensitive.png [new file with mode: 0644]
doc/reference/html/right.png
doc/reference/html/style.css
doc/reference/html/up-insensitive.png [new file with mode: 0644]
doc/reference/html/up.png
doc/reference/libidn-docs.xml [moved from doc/reference/libidn-docs.sgml with 95% similarity]
doc/reference/libidn-sections.txt
doc/reference/libidn.pdf
doc/reference/libidn.types [deleted file]
doc/reference/tmpl/idn-free.sgml [deleted file]
doc/reference/tmpl/idna.sgml [deleted file]
doc/reference/tmpl/pr29.sgml [deleted file]
doc/reference/tmpl/punycode.sgml [deleted file]
doc/reference/tmpl/stringprep.sgml [deleted file]
doc/reference/tmpl/tld.sgml [deleted file]
doc/specifications/Makefile.am
doc/specifications/Makefile.in
doc/stamp-gdoc [moved from doc/reference/tmpl/libidn-unused.sgml with 100% similarity]
doc/stamp-vti
doc/texi/idn-free.c.texi [deleted file]
doc/texi/idn_free.texi
doc/texi/idna.c.texi [deleted file]
doc/texi/idna_strerror.texi
doc/texi/idna_to_ascii_4i.texi
doc/texi/idna_to_ascii_4z.texi
doc/texi/idna_to_ascii_8z.texi
doc/texi/idna_to_ascii_lz.texi
doc/texi/idna_to_unicode_44i.texi
doc/texi/idna_to_unicode_4z4z.texi
doc/texi/idna_to_unicode_8z4z.texi
doc/texi/idna_to_unicode_8z8z.texi
doc/texi/idna_to_unicode_8zlz.texi
doc/texi/idna_to_unicode_lzlz.texi
doc/texi/nfkc.c.texi [deleted file]
doc/texi/pr29.c.texi [deleted file]
doc/texi/pr29_4.texi
doc/texi/pr29_4z.texi
doc/texi/pr29_8z.texi
doc/texi/pr29_strerror.texi
doc/texi/punycode.c.texi [deleted file]
doc/texi/punycode_decode.texi
doc/texi/punycode_encode.texi
doc/texi/punycode_strerror.texi
doc/texi/strerror-idna.c.texi [deleted file]
doc/texi/strerror-pr29.c.texi [deleted file]
doc/texi/strerror-punycode.c.texi [deleted file]
doc/texi/strerror-stringprep.c.texi [deleted file]
doc/texi/strerror-tld.c.texi [deleted file]
doc/texi/stringprep.c.texi [deleted file]
doc/texi/stringprep.texi
doc/texi/stringprep_4i.texi
doc/texi/stringprep_4zi.texi
doc/texi/stringprep_check_version.texi
doc/texi/stringprep_convert.texi
doc/texi/stringprep_locale_charset.texi
doc/texi/stringprep_locale_to_utf8.texi
doc/texi/stringprep_profile.texi
doc/texi/stringprep_strerror.texi
doc/texi/stringprep_ucs4_nfkc_normalize.texi
doc/texi/stringprep_ucs4_to_utf8.texi
doc/texi/stringprep_unichar_to_utf8.texi
doc/texi/stringprep_utf8_nfkc_normalize.texi
doc/texi/stringprep_utf8_to_locale.texi
doc/texi/stringprep_utf8_to_ucs4.texi
doc/texi/stringprep_utf8_to_unichar.texi
doc/texi/tld.c.texi [deleted file]
doc/texi/tld_check_4.texi
doc/texi/tld_check_4t.texi
doc/texi/tld_check_4tz.texi
doc/texi/tld_check_4z.texi
doc/texi/tld_check_8z.texi
doc/texi/tld_check_lz.texi
doc/texi/tld_default_table.texi
doc/texi/tld_get_4.texi
doc/texi/tld_get_4z.texi
doc/texi/tld_get_table.texi
doc/texi/tld_get_z.texi
doc/texi/tld_strerror.texi
doc/texi/toutf8.c.texi [deleted file]
doc/texi/version.c.texi [deleted file]
doc/texinfo.css [deleted file]
doc/tld/Makefile.am
doc/tld/Makefile.in
doc/tld/README
doc/tld/fr.tld
doc/tld/no.tld
doc/version.texi
examples/Makefile.am
examples/Makefile.in
examples/README
examples/example.c
examples/example2.c
examples/example3.c
examples/example4.c
examples/example5.c
fuzz/Makefile.am [new file with mode: 0644]
fuzz/Makefile.in [new file with mode: 0644]
fuzz/README.md [new file with mode: 0644]
fuzz/fuzzer.h [new file with mode: 0644]
fuzz/libidn_stringprep_fuzzer.c [new file with mode: 0644]
fuzz/libidn_toascii_fuzzer.c [new file with mode: 0644]
fuzz/libidn_tounicode_fuzzer.c [new file with mode: 0644]
fuzz/libidn_tounicode_fuzzer.dict [new file with mode: 0644]
fuzz/libidn_tounicode_fuzzer.repro/clusterfuzz-testcase-6105917865066496 [new file with mode: 0644]
fuzz/main.c [new file with mode: 0644]
gl/Makefile.am
gl/Makefile.in
gl/_Noreturn.h [new file with mode: 0644]
gl/alloca.in.h [new file with mode: 0644]
gl/arg-nonnull.h [moved from build-aux/snippet/arg-nonnull.h with 61% similarity]
gl/assert.in.h [new file with mode: 0644]
gl/basename-lgpl.c [new file with mode: 0644]
gl/basename-lgpl.h [new file with mode: 0644]
gl/c++defs.h [moved from build-aux/snippet/c++defs.h with 63% similarity]
gl/cloexec.c [new file with mode: 0644]
gl/cloexec.h [new file with mode: 0644]
gl/close.c [moved from gltests/close.c with 52% similarity]
gl/dup2.c [new file with mode: 0644]
gl/errno.in.h
gl/error.c
gl/error.h [deleted file]
gl/error.in.h [new file with mode: 0644]
gl/fcntl.c [new file with mode: 0644]
gl/fcntl.in.h [moved from gltests/fcntl.in.h with 63% similarity]
gl/fd-hook.c [moved from gltests/fd-hook.c with 81% similarity]
gl/fd-hook.h [moved from gltests/fd-hook.h with 86% similarity]
gl/filename.h [new file with mode: 0644]
gl/fstat.c [new file with mode: 0644]
gl/getdelim.c [new file with mode: 0644]
gl/getdtablesize.c [new file with mode: 0644]
gl/getline.c [new file with mode: 0644]
gl/getopt-cdefs.in.h [new file with mode: 0644]
gl/getopt-core.h [new file with mode: 0644]
gl/getopt-ext.h [new file with mode: 0644]
gl/getopt-pfx-core.h [new file with mode: 0644]
gl/getopt-pfx-ext.h [new file with mode: 0644]
gl/getopt.c
gl/getopt.in.h
gl/getopt1.c
gl/getopt_int.h
gl/getprogname.c [new file with mode: 0644]
gl/getprogname.h [new file with mode: 0644]
gl/gettext.h
gl/idx.h [new file with mode: 0644]
gl/intprops-internal.h [new file with mode: 0644]
gl/intprops.h
gl/limits.in.h [new file with mode: 0644]
gl/m4/00gnulib.m4
gl/m4/absolute-header.m4 [new file with mode: 0644]
gl/m4/alloca.m4
gl/m4/assert_h.m4 [new file with mode: 0644]
gl/m4/autobuild.m4
gl/m4/c-bool.m4 [new file with mode: 0644]
gl/m4/close.m4
gl/m4/codeset.m4 [moved from m4/codeset.m4 with 58% similarity]
gl/m4/csharp.m4
gl/m4/csharpcomp.m4
gl/m4/csharpexec.m4
gl/m4/double-slash-root.m4 [new file with mode: 0644]
gl/m4/dup2.m4
gl/m4/eealloc.m4
gl/m4/environ.m4 [deleted file]
gl/m4/errno_h.m4
gl/m4/error.m4
gl/m4/error_h.m4 [new file with mode: 0644]
gl/m4/extensions.m4
gl/m4/extern-inline.m4 [new file with mode: 0644]
gl/m4/fcntl-o.m4 [new file with mode: 0644]
gl/m4/fcntl.m4 [new file with mode: 0644]
gl/m4/fcntl_h.m4
gl/m4/fdopen.m4 [deleted file]
gl/m4/fstat.m4
gl/m4/getcwd.m4 [deleted file]
gl/m4/getdelim.m4 [new file with mode: 0644]
gl/m4/getdtablesize.m4 [new file with mode: 0644]
gl/m4/getline.m4 [new file with mode: 0644]
gl/m4/getopt.m4
gl/m4/getprogname.m4 [new file with mode: 0644]
gl/m4/gnulib-cache.m4
gl/m4/gnulib-common.m4
gl/m4/gnulib-comp.m4
gl/m4/include_next.m4
gl/m4/largefile.m4
gl/m4/ld-output-def.m4 [moved from lib/gl/m4/ld-output-def.m4 with 87% similarity]
gl/m4/ld-version-script.m4 [new file with mode: 0644]
gl/m4/limits-h.m4 [new file with mode: 0644]
gl/m4/locale-fr.m4 [moved from lib/gl/m4/locale-fr.m4 with 62% similarity]
gl/m4/lstat.m4 [deleted file]
gl/m4/malloc.m4 [deleted file]
gl/m4/malloca.m4
gl/m4/manywarnings.m4
gl/m4/mode_t.m4
gl/m4/msvc-inval.m4
gl/m4/msvc-nothrow.m4
gl/m4/multiarch.m4
gl/m4/musl.m4 [new file with mode: 0644]
gl/m4/nocrash.m4
gl/m4/off_t.m4
gl/m4/open-cloexec.m4 [new file with mode: 0644]
gl/m4/open-slash.m4 [new file with mode: 0644]
gl/m4/open.m4
gl/m4/pathmax.m4
gl/m4/putenv.m4 [deleted file]
gl/m4/setenv.m4 [deleted file]
gl/m4/ssize_t.m4
gl/m4/stat-time.m4 [new file with mode: 0644]
gl/m4/stat.m4
gl/m4/stdarg.m4
gl/m4/stdbool.m4 [deleted file]
gl/m4/stddef_h.m4
gl/m4/stdint.m4
gl/m4/stdio_h.m4
gl/m4/stdlib_h.m4
gl/m4/strerror.m4
gl/m4/string_h.m4
gl/m4/symlink.m4 [deleted file]
gl/m4/sys_socket_h.m4
gl/m4/sys_stat_h.m4
gl/m4/sys_types_h.m4
gl/m4/time_h.m4
gl/m4/unistd_h.m4
gl/m4/valgrind-tests.m4
gl/m4/version-etc.m4
gl/m4/visibility.m4 [new file with mode: 0644]
gl/m4/warn-on-use.m4
gl/m4/warnings.m4
gl/m4/wchar_h.m4 [deleted file]
gl/m4/wchar_t.m4 [moved from m4/wchar_t.m4 with 62% similarity]
gl/m4/wint_t.m4 [new file with mode: 0644]
gl/m4/zzgnulib.m4 [new file with mode: 0644]
gl/malloca.c [new file with mode: 0644]
gl/malloca.h [moved from lib/gltests/malloca.h with 57% similarity]
gl/msvc-inval.c
gl/msvc-inval.h
gl/msvc-nothrow.c
gl/msvc-nothrow.h
gl/open.c [moved from gltests/open.c with 61% similarity]
gl/pathmax.h [moved from gltests/pathmax.h with 69% similarity]
gl/progname.c
gl/progname.h
gl/stat-time.c [new file with mode: 0644]
gl/stat-time.h [new file with mode: 0644]
gl/stat-w32.c [new file with mode: 0644]
gl/stat-w32.h [new file with mode: 0644]
gl/stat.c [new file with mode: 0644]
gl/stdarg.in.h
gl/stdckdint.in.h [new file with mode: 0644]
gl/stddef.in.h
gl/stdint.in.h [new file with mode: 0644]
gl/stdio-read.c [new file with mode: 0644]
gl/stdio-write.c [new file with mode: 0644]
gl/stdio.in.h [moved from gltests/stdio.in.h with 58% similarity]
gl/stdlib.in.h [new file with mode: 0644]
gl/strerror-override.c
gl/strerror-override.h
gl/strerror.c
gl/string.in.h
gl/sys_stat.in.h [moved from gltests/sys_stat.in.h with 56% similarity]
gl/sys_types.in.h
gl/time.in.h [new file with mode: 0644]
gl/unistd.c [new file with mode: 0644]
gl/unistd.in.h
gl/verify.h
gl/version-etc.c
gl/version-etc.h
gl/warn-on-use.h [new file with mode: 0644]
gl/xalloc-oversized.h [new file with mode: 0644]
gltests/Makefile.am [deleted file]
gltests/Makefile.in [deleted file]
gltests/alloca.in.h [deleted file]
gltests/binary-io.h [deleted file]
gltests/dosname.h [deleted file]
gltests/dup2.c [deleted file]
gltests/fdopen.c [deleted file]
gltests/fstat.c [deleted file]
gltests/getcwd-lgpl.c [deleted file]
gltests/ignore-value.h [deleted file]
gltests/init.sh [deleted file]
gltests/lstat.c [deleted file]
gltests/macros.h [deleted file]
gltests/malloc.c [deleted file]
gltests/malloca.c [deleted file]
gltests/malloca.h [deleted file]
gltests/malloca.valgrind [deleted file]
gltests/putenv.c [deleted file]
gltests/same-inode.h [deleted file]
gltests/setenv.c [deleted file]
gltests/signature.h [deleted file]
gltests/stat.c [deleted file]
gltests/stdbool.in.h [deleted file]
gltests/stdint.in.h [deleted file]
gltests/stdlib.in.h [deleted file]
gltests/symlink.c [deleted file]
gltests/test-alloca-opt.c [deleted file]
gltests/test-binary-io.c [deleted file]
gltests/test-binary-io.sh [deleted file]
gltests/test-close.c [deleted file]
gltests/test-dup2.c [deleted file]
gltests/test-environ.c [deleted file]
gltests/test-errno.c [deleted file]
gltests/test-fdopen.c [deleted file]
gltests/test-fgetc.c [deleted file]
gltests/test-fputc.c [deleted file]
gltests/test-fread.c [deleted file]
gltests/test-fstat.c [deleted file]
gltests/test-fwrite.c [deleted file]
gltests/test-getcwd-lgpl.c [deleted file]
gltests/test-getopt.c [deleted file]
gltests/test-getopt.h [deleted file]
gltests/test-getopt_long.h [deleted file]
gltests/test-ignore-value.c [deleted file]
gltests/test-init.sh [deleted file]
gltests/test-intprops.c [deleted file]
gltests/test-inttypes.c [deleted file]
gltests/test-lstat.c [deleted file]
gltests/test-lstat.h [deleted file]
gltests/test-malloca.c [deleted file]
gltests/test-open.c [deleted file]
gltests/test-open.h [deleted file]
gltests/test-pathmax.c [deleted file]
gltests/test-setenv.c [deleted file]
gltests/test-stat.c [deleted file]
gltests/test-stat.h [deleted file]
gltests/test-stdbool.c [deleted file]
gltests/test-stddef.c [deleted file]
gltests/test-stdint.c [deleted file]
gltests/test-stdio.c [deleted file]
gltests/test-strerror.c [deleted file]
gltests/test-symlink.c [deleted file]
gltests/test-symlink.h [deleted file]
gltests/test-sys_types.c [deleted file]
gltests/test-unsetenv.c [deleted file]
gltests/test-vc-list-files-cvs.sh [deleted file]
gltests/test-vc-list-files-git.sh [deleted file]
gltests/test-verify.c [deleted file]
gltests/test-verify.sh [deleted file]
gltests/test-version-etc.c [deleted file]
gltests/test-version-etc.sh [deleted file]
gltests/time.in.h [deleted file]
gltests/unsetenv.c [deleted file]
gltests/version-etc-fsf.c [deleted file]
gltests/wchar.in.h [deleted file]
gtk-doc.make
java/LICENSE-2.0.txt [new file with mode: 0644]
java/Makefile.am
java/Makefile.in
java/gnu/Makefile.in [deleted file]
java/gnu/inet/Makefile.in [deleted file]
java/gnu/inet/encoding/Makefile.in [deleted file]
java/libidn-1.25.jar [deleted file]
java/misc/Makefile.in [deleted file]
java/pom.xml.in [new file with mode: 0644]
java/src/Makefile.am [moved from tests/libidn.supp with 59% similarity]
java/src/Makefile.in [new file with mode: 0644]
java/src/main/Makefile.am [new file with mode: 0644]
java/src/main/Makefile.in [new file with mode: 0644]
java/src/main/java/Makefile.am [new file with mode: 0644]
java/src/main/java/Makefile.in [new file with mode: 0644]
java/src/main/java/gnu/Makefile.am [moved from java/gnu/Makefile.am with 85% similarity]
java/src/main/java/gnu/Makefile.in [new file with mode: 0644]
java/src/main/java/gnu/inet/Makefile.am [moved from java/gnu/inet/Makefile.am with 85% similarity]
java/src/main/java/gnu/inet/Makefile.in [new file with mode: 0644]
java/src/main/java/gnu/inet/encoding/CombiningClass.java [moved from java/gnu/inet/encoding/CombiningClass.java with 100% similarity]
java/src/main/java/gnu/inet/encoding/Composition.java [moved from java/gnu/inet/encoding/Composition.java with 100% similarity]
java/src/main/java/gnu/inet/encoding/DecompositionKeys.java [moved from java/gnu/inet/encoding/DecompositionKeys.java with 100% similarity]
java/src/main/java/gnu/inet/encoding/DecompositionMappings.java [moved from java/gnu/inet/encoding/DecompositionMappings.java with 100% similarity]
java/src/main/java/gnu/inet/encoding/IDNA.java [moved from java/gnu/inet/encoding/IDNA.java with 95% similarity]
java/src/main/java/gnu/inet/encoding/IDNAException.java [moved from java/gnu/inet/encoding/IDNAException.java with 93% similarity]
java/src/main/java/gnu/inet/encoding/Makefile.am [moved from java/gnu/inet/encoding/Makefile.am with 84% similarity]
java/src/main/java/gnu/inet/encoding/Makefile.in [new file with mode: 0644]
java/src/main/java/gnu/inet/encoding/NFKC.java [moved from java/gnu/inet/encoding/NFKC.java with 93% similarity]
java/src/main/java/gnu/inet/encoding/Punycode.java [moved from java/gnu/inet/encoding/Punycode.java with 96% similarity]
java/src/main/java/gnu/inet/encoding/PunycodeException.java [moved from java/gnu/inet/encoding/PunycodeException.java with 92% similarity]
java/src/main/java/gnu/inet/encoding/RFC3454.java [moved from java/gnu/inet/encoding/RFC3454.java with 100% similarity]
java/src/main/java/gnu/inet/encoding/RangeSet.java [new file with mode: 0644]
java/src/main/java/gnu/inet/encoding/Stringprep.java [moved from java/gnu/inet/encoding/Stringprep.java with 55% similarity]
java/src/main/java/gnu/inet/encoding/StringprepException.java [moved from java/gnu/inet/encoding/StringprepException.java with 93% similarity]
java/src/test/Makefile.am [new file with mode: 0644]
java/src/test/Makefile.in [new file with mode: 0644]
java/src/test/java/Makefile.am [moved from java/misc/Makefile.am with 75% similarity]
java/src/test/java/Makefile.in [new file with mode: 0644]
java/src/util/Makefile.am [new file with mode: 0644]
java/src/util/Makefile.in [new file with mode: 0644]
java/src/util/java/GenerateNFKC.java [moved from java/misc/GenerateNFKC.java with 97% similarity]
java/src/util/java/GenerateRFC3454.java [moved from java/misc/GenerateRFC3454.java with 96% similarity]
java/src/util/java/Makefile.am [new file with mode: 0644]
java/src/util/java/Makefile.in [new file with mode: 0644]
java/src/util/java/TestIDNA.java [moved from java/misc/TestIDNA.java with 88% similarity]
java/src/util/java/TestNFKC.java [moved from java/misc/TestNFKC.java with 94% similarity]
lib/Makefile.am
lib/Makefile.in
lib/gen-stringprep-tables.pl
lib/gen-tld-tables.pl
lib/gen-unicode-tables.pl
lib/gl/Makefile.am
lib/gl/Makefile.in
lib/gl/_Noreturn.h [new file with mode: 0644]
lib/gl/arg-nonnull.h [new file with mode: 0644]
lib/gl/attribute.h [new file with mode: 0644]
lib/gl/c++defs.h [new file with mode: 0644]
lib/gl/c-ctype.c
lib/gl/c-ctype.h
lib/gl/c-strcase.h
lib/gl/c-strcasecmp.c
lib/gl/c-strncasecmp.c
lib/gl/cdefs.h [new file with mode: 0644]
lib/gl/free.c [new file with mode: 0644]
lib/gl/gettext.h
lib/gl/iconv.c
lib/gl/iconv.in.h
lib/gl/iconv_close.c
lib/gl/iconv_open-aix.gperf
lib/gl/iconv_open-aix.h
lib/gl/iconv_open-hpux.gperf
lib/gl/iconv_open-hpux.h
lib/gl/iconv_open-irix.gperf
lib/gl/iconv_open-irix.h
lib/gl/iconv_open-osf.gperf
lib/gl/iconv_open-osf.h
lib/gl/iconv_open-solaris.gperf
lib/gl/iconv_open-solaris.h
lib/gl/iconv_open-zos.gperf [new file with mode: 0644]
lib/gl/iconv_open-zos.h [new file with mode: 0644]
lib/gl/iconv_open.c
lib/gl/inttypes.in.h [moved from gltests/inttypes.in.h with 57% similarity]
lib/gl/langinfo.in.h [new file with mode: 0644]
lib/gl/libc-config.h [new file with mode: 0644]
lib/gl/limits.in.h [new file with mode: 0644]
lib/gl/m4/__inline.m4 [new file with mode: 0644]
lib/gl/m4/free.m4 [new file with mode: 0644]
lib/gl/m4/gnulib-cache.m4
lib/gl/m4/gnulib-comp.m4
lib/gl/m4/host-cpu-c-abi.m4 [new file with mode: 0644]
lib/gl/m4/iconv.m4 [new file with mode: 0644]
lib/gl/m4/iconv_h.m4
lib/gl/m4/iconv_open.m4
lib/gl/m4/inline.m4
lib/gl/m4/inttypes.m4 [moved from gl/m4/inttypes.m4 with 72% similarity]
lib/gl/m4/langinfo_h.m4 [new file with mode: 0644]
lib/gl/m4/ld-version-script.m4 [deleted file]
lib/gl/m4/lib-ld.m4 [new file with mode: 0644]
lib/gl/m4/lib-link.m4 [moved from m4/lib-link.m4 with 78% similarity]
lib/gl/m4/lib-prefix.m4 [new file with mode: 0644]
lib/gl/m4/libunistring-base.m4
lib/gl/m4/locale-ja.m4 [deleted file]
lib/gl/m4/locale-tr.m4 [deleted file]
lib/gl/m4/locale-zh.m4 [deleted file]
lib/gl/m4/locale_h.m4 [deleted file]
lib/gl/m4/localename.m4 [deleted file]
lib/gl/m4/setlocale.m4 [deleted file]
lib/gl/m4/strverscmp.m4
lib/gl/m4/thread.m4 [deleted file]
lib/gl/m4/wchar_h.m4 [new file with mode: 0644]
lib/gl/m4/yield.m4 [deleted file]
lib/gl/stdbool.in.h [deleted file]
lib/gl/stddef.in.h
lib/gl/stdint.in.h
lib/gl/stdlib.in.h [new file with mode: 0644]
lib/gl/striconv.c
lib/gl/striconv.h
lib/gl/string.in.h
lib/gl/strverscmp.c
lib/gl/sys_types.in.h [new file with mode: 0644]
lib/gl/unistd.c [new file with mode: 0644]
lib/gl/unistd.in.h [moved from lib/gltests/unistd.in.h with 55% similarity]
lib/gl/unistr.in.h
lib/gl/unistr/u8-check.c [new file with mode: 0644]
lib/gl/unistr/u8-mbtoucr.c
lib/gl/unistr/u8-uctomb-aux.c
lib/gl/unistr/u8-uctomb.c
lib/gl/unitypes.in.h
lib/gl/warn-on-use.h [new file with mode: 0644]
lib/gl/wchar.in.h [new file with mode: 0644]
lib/gltests/Makefile.am [deleted file]
lib/gltests/Makefile.in [deleted file]
lib/gltests/alloca.in.h [deleted file]
lib/gltests/glthread/lock.c [deleted file]
lib/gltests/glthread/lock.h [deleted file]
lib/gltests/glthread/thread.c [deleted file]
lib/gltests/glthread/thread.h [deleted file]
lib/gltests/glthread/threadlib.c [deleted file]
lib/gltests/glthread/yield.h [deleted file]
lib/gltests/init.sh [deleted file]
lib/gltests/intprops.h [deleted file]
lib/gltests/inttypes.in.h [deleted file]
lib/gltests/locale.in.h [deleted file]
lib/gltests/localename.c [deleted file]
lib/gltests/localename.h [deleted file]
lib/gltests/macros.h [deleted file]
lib/gltests/malloc.c [deleted file]
lib/gltests/malloca.c [deleted file]
lib/gltests/malloca.valgrind [deleted file]
lib/gltests/putenv.c [deleted file]
lib/gltests/setenv.c [deleted file]
lib/gltests/setlocale.c [deleted file]
lib/gltests/signature.h [deleted file]
lib/gltests/stdlib.in.h [deleted file]
lib/gltests/sys_types.in.h [deleted file]
lib/gltests/test-alloca-opt.c [deleted file]
lib/gltests/test-c-ctype.c [deleted file]
lib/gltests/test-c-strcase.sh [deleted file]
lib/gltests/test-c-strcasecmp.c [deleted file]
lib/gltests/test-c-strncasecmp.c [deleted file]
lib/gltests/test-environ.c [deleted file]
lib/gltests/test-iconv.c [deleted file]
lib/gltests/test-init.sh [deleted file]
lib/gltests/test-intprops.c [deleted file]
lib/gltests/test-inttypes.c [deleted file]
lib/gltests/test-locale.c [deleted file]
lib/gltests/test-localename.c [deleted file]
lib/gltests/test-lock.c [deleted file]
lib/gltests/test-malloca.c [deleted file]
lib/gltests/test-setenv.c [deleted file]
lib/gltests/test-setlocale1.c [deleted file]
lib/gltests/test-setlocale1.sh [deleted file]
lib/gltests/test-setlocale2.c [deleted file]
lib/gltests/test-setlocale2.sh [deleted file]
lib/gltests/test-stdbool.c [deleted file]
lib/gltests/test-stddef.c [deleted file]
lib/gltests/test-stdint.c [deleted file]
lib/gltests/test-stdlib.c [deleted file]
lib/gltests/test-striconv.c [deleted file]
lib/gltests/test-strverscmp.c [deleted file]
lib/gltests/test-sys_types.c [deleted file]
lib/gltests/test-sys_wait.h [deleted file]
lib/gltests/test-thread_create.c [deleted file]
lib/gltests/test-thread_self.c [deleted file]
lib/gltests/test-unistd.c [deleted file]
lib/gltests/test-unsetenv.c [deleted file]
lib/gltests/test-verify.c [deleted file]
lib/gltests/test-verify.sh [deleted file]
lib/gltests/unistr/test-u8-mbtoucr.c [deleted file]
lib/gltests/unistr/test-u8-uctomb.c [deleted file]
lib/gltests/unsetenv.c [deleted file]
lib/gltests/verify.h [deleted file]
lib/gltests/wchar.in.h [deleted file]
lib/idn-free.c
lib/idn-free.h
lib/idna.c
lib/idna.h
lib/libidn.map
lib/libidn.pc.in [moved from libidn.pc.in with 90% similarity]
lib/m4/gettext.m4 [moved from m4/gettext.m4 with 86% similarity]
lib/m4/gtk-doc.m4 [new file with mode: 0644]
lib/m4/intlmacosx.m4 [moved from m4/intlmacosx.m4 with 64% similarity]
lib/m4/libtool.m4 [moved from m4/libtool.m4 with 72% similarity]
lib/m4/ltoptions.m4 [moved from m4/ltoptions.m4 with 73% similarity]
lib/m4/ltsugar.m4 [moved from m4/ltsugar.m4 with 95% similarity]
lib/m4/ltversion.m4 [moved from m4/ltversion.m4 with 68% similarity]
lib/m4/lt~obsolete.m4 [moved from m4/lt~obsolete.m4 with 98% similarity]
lib/m4/nls.m4 [moved from m4/nls.m4 with 81% similarity]
lib/m4/po.m4 [moved from m4/po.m4 with 92% similarity]
lib/m4/progtest.m4 [moved from m4/progtest.m4 with 79% similarity]
lib/nfkc.c
lib/pr29.c
lib/pr29.h
lib/profiles.c
lib/punycode.c
lib/punycode.h
lib/rfc3454.c
lib/rfc3454.h [new file with mode: 0644]
lib/strerror-idna.c
lib/strerror-pr29.c
lib/strerror-punycode.c
lib/strerror-stringprep.c
lib/strerror-tld.c
lib/stringprep.c
lib/stringprep.h
lib/tld.c
lib/tld.h
lib/tlds.c
lib/toutf8.c
lib/version.c
libc/README
libc/example.c
libc/getaddrinfo-idn.txt
m4/ac_prog_jar.m4 [deleted file]
m4/ax_java_options.m4 [new file with mode: 0644]
m4/ax_prog_jar.m4 [new file with mode: 0644]
m4/ax_prog_javac.m4 [new file with mode: 0644]
m4/ax_prog_javac_works.m4 [new file with mode: 0644]
m4/ax_prog_javadoc.m4 [new file with mode: 0644]
m4/fcntl-o.m4 [deleted file]
m4/gtk-doc.m4 [deleted file]
m4/iconv.m4 [deleted file]
m4/inttypes-pri.m4 [deleted file]
m4/lcmessage.m4 [deleted file]
m4/lib-ld.m4 [deleted file]
m4/lib-prefix.m4 [deleted file]
m4/lock.m4 [deleted file]
m4/longlong.m4 [deleted file]
m4/threadlib.m4 [deleted file]
m4/update-header-version.m4 [deleted file]
m4/visibility.m4 [deleted file]
m4/wint_t.m4 [deleted file]
maint.mk
packaging/libidn.spec
po/LINGUAS
po/Makefile.in.in
po/Makevars
po/Rules-quot
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/en@boldquot.gmo [deleted file]
po/en@boldquot.po [deleted file]
po/en@quot.gmo [deleted file]
po/en@quot.po [deleted file]
po/eo.gmo
po/eo.po
po/es.gmo [new file with mode: 0644]
po/es.po [new file with mode: 0644]
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/hr.gmo [new file with mode: 0644]
po/hr.po [new file with mode: 0644]
po/hu.gmo [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ka.gmo [new file with mode: 0644]
po/ka.po [new file with mode: 0644]
po/ko.gmo [new file with mode: 0644]
po/ko.po [new file with mode: 0644]
po/libidn.pot
po/nl.gmo
po/nl.po
po/pl.gmo
po/pl.po
po/pt_BR.gmo [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/ro.gmo
po/ro.po
po/sr.gmo
po/sr.po
po/sv.gmo [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
pom.xml.in [deleted file]
src/Makefile.am
src/Makefile.in
src/idn.c
src/idn.ggo
src/idn_cmd.c
src/idn_cmd.h
src/idna.el
src/punycode.el
tests/Makefile.am
tests/Makefile.in
tests/standalone.sh [new file with mode: 0755]
tests/tst_badutf8.c [new file with mode: 0644]
tests/tst_badutf8nfkc.c [new file with mode: 0644]
tests/tst_idna.c
tests/tst_idna2.c
tests/tst_idna3.c
tests/tst_idna4.c
tests/tst_nfkc.c
tests/tst_pr29.c
tests/tst_punycode.c
tests/tst_strerror.c
tests/tst_stringprep.c
tests/tst_symbols.c
tests/tst_tld.c
tests/tst_toascii64oob.c [new file with mode: 0644]
tests/tst_toutf8.c
tests/tst_utf8crash.c [new file with mode: 0644]
tests/tst_versions.c [new file with mode: 0644]
tests/utils.c
tests/utils.h
windows/include/ac-stdint.h [moved from win32/include/ac-stdint.h with 66% similarity]
windows/include/config.h [moved from win32/include/config.h with 73% similarity]
windows/include/idn-int.h [moved from win32/include/idn-int.h with 90% similarity]
windows/include/stdbool.h [moved from win32/include/stdbool.h with 78% similarity]
windows/include/unistd.h [moved from win32/include/unistd.h with 100% similarity]
windows/libidn.sln [moved from win32/libidn.sln with 100% similarity]
windows/libidn.vcproj [moved from win32/libidn.vcproj with 100% similarity]
windows/libidn4win.mk [moved from win32/libidn4win.mk with 72% similarity]

index b1de1b6..3cc8286 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,16 +1,16 @@
 1 Notes on the Free Translation Project
 ***************************************
 
-Free software is going international!  The Free Translation Project is
-way to get maintainers of free software, translators, and users all
+Free software is going international!  The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
 together, so that free software will gradually become able to speak many
 languages.  A few packages already provide translations for their
 messages.
 
-   If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
+   If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
 itself available at your nearest GNU archive site.  But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
+need to install GNU 'gettext' prior to configuring, installing or using
 this package with messages translated.
 
    Installers will find here some useful hints.  These notes also
@@ -23,12 +23,12 @@ work on translations can contact the appropriate team.
 
 Some packages are "localizable" when properly installed; the programs
 they contain can be made to speak your own native language.  Most such
-packages use GNU `gettext'.  Other packages have their own ways to
-internationalization, predating GNU `gettext'.
+packages use GNU 'gettext'.  Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
 
    By default, this package will be installed to allow translation of
 messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  Installers may use special
+provides the GNU 'gettext' functions.  Installers may use special
 options at configuration time for changing the default behaviour.  The
 command:
 
@@ -36,72 +36,71 @@ command:
 
 will _totally_ disable translation of messages.
 
-   When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl' library
-and will decide to use it.  If not, you may have to to use the
-`--with-libintl-prefix' option to tell `configure' where to look for it.
+   When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it.  If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
 
-   Internationalized packages usually have many `po/LL.po' files, where
+   Internationalized packages usually have many 'po/LL.po' files, where
 LL gives an ISO 639 two-letter code identifying the language.  Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package.  However, the environment variable `LINGUAS'
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable 'LINGUAS'
 may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
+'LINGUAS' should then contain a space separated list of two-letter
 codes, stating which languages are allowed.
 
 1.2 Using This Package
 ======================
 
 As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination.  If you happen to have the `LC_ALL' or some other
-`LC_xxx' environment variables set, you should unset them before
-setting `LANG', otherwise the setting of `LANG' will not have the
-desired effect.  Here `LL' is an ISO 639 two-letter language code, and
-`CC' is an ISO 3166 two-letter country code.  For example, let's
-suppose that you speak German and live in Germany.  At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination.  If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect.  Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code.  For example, let's suppose that
+you speak German and live in Germany.  At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash').  This can be done from your
+'.login' or '.profile' file, once and for all.
 
    You might think that the country code specification is redundant.
 But in fact, some languages have dialects in different countries.  For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil.  The
 country code serves to distinguish the dialects.
 
-   The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc.  On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
-locales supported by your system for your language by running the
-command `locale -a | grep '^LL''.
+   The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc.  On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'.  You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
 
    Not all programs have translations for all languages.  By default, an
 English message is shown in place of a nonexistent translation.  If you
 understand other languages, you can set up a priority list of languages.
 This is done through a different environment variable, called
-`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
+'LANGUAGE'.  GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
 set to the primary language; this is required by other parts of the
-system libraries.  For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+system libraries.  For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
 
    Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from `no' to `nb' recently (in 2003).  During the
+bokma*l changed from 'no' to 'nb' recently (in 2003).  During the
 transition period, while some message catalogs for this language are
-installed under `nb' and some older ones under `no', it's recommended
-for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
 older translations are used.
 
-   In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect.  For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
+   In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect.  For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
 
 1.3 Translating Teams
 =====================
@@ -111,22 +110,22 @@ people who like their own language and write it well, and who are also
 able to synergize with other translators speaking the same language.
 Each translation team has its own mailing list.  The up-to-date list of
 teams can be found at the Free Translation Project's homepage,
-`http://translationproject.org/', in the "Teams" area.
+'http://translationproject.org/', in the "Teams" area.
 
    If you'd like to volunteer to _work_ at translating messages, you
 should become a member of the translating team for your own language.
 The subscribing address is _not_ the same as the list itself, it has
-`-request' appended.  For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
+'-request' appended.  For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
 
      subscribe
 
-   Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around.  If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `coordinator@translationproject.org' to
-reach the coordinator for all translator teams.
+   Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around.  If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
 
    The English team is special.  It works at improving and uniformizing
 the terminology in use.  Proven linguistic skills are praised more than
@@ -136,1114 +135,1214 @@ programming skills, here.
 ======================
 
 Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of June
-2010.  The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
 translation percentage of at least 50%.
 
-     Ready PO files       af am an ar as ast az be be@latin bg bn_IN bs ca
+     Ready PO files       af am an ar as ast az be bg bn bn_IN bs ca crh cs
+                        +---------------------------------------------------+
+     a2ps               |                       []                []     [] |
+     aegis              |                                                   |
+     anubis             |                                                   |
+     aspell             |                []                       []     [] |
+     bash               |                          []             []     [] |
+     bfd                |                                                   |
+     binutils           |                                         []        |
+     bison              |                                                   |
+     bison-runtime      |                []                                 |
+     buzztrax           |                                                [] |
+     ccd2cue            |                                                   |
+     ccide              |                                                   |
+     cflow              |                                                   |
+     clisp              |                                                   |
+     coreutils          |                                         []     [] |
+     cpio               |                                                   |
+     cppi               |                                                   |
+     cpplib             |                                         []        |
+     cryptsetup         |                                                [] |
+     datamash           |                                                   |
+     denemo             |                                         []     [] |
+     dfarc              |                                         []        |
+     dialog             |       []                                []     [] |
+     dico               |                                                   |
+     diffutils          |                                                [] |
+     dink               |                                         []        |
+     direvent           |                                                   |
+     doodle             |                                                [] |
+     dos2unix           |                                                   |
+     dos2unix-man       |                                                   |
+     e2fsprogs          |                                         []     [] |
+     enscript           |                                         []        |
+     exif               |                                                [] |
+     fetchmail          |                                         []     [] |
+     findutils          |                                                [] |
+     flex               |                                         []        |
+     freedink           |                                         []     [] |
+     fusionforge        |                                                   |
+     gas                |                                                   |
+     gawk               |                                         []        |
+     gcal               |                                         []        |
+     gcc                |                                                   |
+     gdbm               |                                                   |
+     gettext-examples   | []             []        []             []     [] |
+     gettext-runtime    |                          []             []     [] |
+     gettext-tools      |                          []             []        |
+     gjay               |                                                   |
+     glunarclock        |                []        []                    [] |
+     gnubiff            |                                                [] |
+     gnubik             |          []                                       |
+     gnucash            |          ()              ()             []        |
+     gnuchess           |                                                   |
+     gnulib             |                                                [] |
+     gnunet             |                                                   |
+     gnunet-gtk         |                                                   |
+     gold               |                                                   |
+     gphoto2            |                                                [] |
+     gprof              |                          []                       |
+     gramadoir          |                                                   |
+     grep               |                          []             []     [] |
+     grub               |                                         []        |
+     gsasl              |                                                   |
+     gss                |                                                   |
+     gst-plugins-bad    |                          []                    [] |
+     gst-plugins-base   |                          []             []     [] |
+     gst-plugins-good   |                          []             []     [] |
+     gst-plugins-ugly   |                          []             []     [] |
+     gstreamer          |                []        []             []     [] |
+     gtick              |                                                [] |
+     gtkam              |                       []                       [] |
+     gtkspell           | []             []     []                []     [] |
+     guix               |                                                   |
+     guix-packages      |                                                   |
+     gutenprint         |                                         []        |
+     hello              |                                         []        |
+     help2man           |                                                   |
+     help2man-texi      |                                                   |
+     hylafax            |                                                   |
+     idutils            |                                                   |
+     iso_15924          |                                                [] |
+     iso_3166           | []          []        [] [] []  []   [] [] []  [] |
+     iso_3166_2         |                                                   |
+     iso_4217           |                                                [] |
+     iso_639            |             [] []     [] [] []  []      [] []  [] |
+     iso_639_3          |                []                          []     |
+     iso_639_5          |                                                   |
+     jwhois             |                                                   |
+     kbd                |                                                [] |
+     klavaro            |          []              [] []          []     [] |
+     ld                 |                          []                       |
+     leafpad            |                       [] []             []     [] |
+     libc               |                          []             []     [] |
+     libexif            |                       ()                          |
+     libextractor       |                                                   |
+     libgnutls          |                                                [] |
+     libgphoto2         |                                                [] |
+     libgphoto2_port    |                                                [] |
+     libgsasl           |                                                   |
+     libiconv           |                          []                    [] |
+     libidn             |                                                [] |
+     liferea            |          []    []                       []     [] |
+     lilypond           |                                         []     [] |
+     lordsawar          |                                         []        |
+     lprng              |                                                   |
+     lynx               |                                         []     [] |
+     m4                 |                                                [] |
+     mailfromd          |                                                   |
+     mailutils          |                                                   |
+     make               |                                                [] |
+     man-db             |                                         []     [] |
+     man-db-manpages    |                                                   |
+     midi-instruments   |          []                             []     [] |
+     minicom            |                                                [] |
+     mkisofs            |                                                [] |
+     myserver           |                                                [] |
+     nano               |                          []             []     [] |
+     opcodes            |                                                   |
+     parted             |                                                [] |
+     pies               |                                                   |
+     pnmixer            |                                                   |
+     popt               |                                                [] |
+     procps-ng          |                                                   |
+     procps-ng-man      |                                                   |
+     psmisc             |                                                [] |
+     pspp               |                                         []        |
+     pushover           |                                                [] |
+     pwdutils           |                                                   |
+     pyspread           |                                                   |
+     radius             |                                         []        |
+     recode             |                       []                []     [] |
+     recutils           |                                                   |
+     rpm                |                                                   |
+     rush               |                                                   |
+     sarg               |                                                   |
+     sed                |                []        []             []     [] |
+     sharutils          |                                                [] |
+     shishi             |                                                   |
+     skribilo           |                                                   |
+     solfege            |                                         []     [] |
+     solfege-manual     |                                                   |
+     spotmachine        |                                                   |
+     sudo               |                                         []     [] |
+     sudoers            |                                         []     [] |
+     sysstat            |                                                [] |
+     tar                |                          []             []     [] |
+     texinfo            |                                         []     [] |
+     texinfo_document   |                                         []     [] |
+     tigervnc           |                          []                       |
+     tin                |                                                   |
+     tin-man            |                                                   |
+     tracgoogleappsa... |                                                   |
+     trader             |                                                   |
+     util-linux         |                                                [] |
+     ve                 |                                                   |
+     vice               |                                                   |
+     vmm                |                                                   |
+     vorbis-tools       |                                                [] |
+     wastesedge         |                                                   |
+     wcd                |                                                   |
+     wcd-man            |                                                   |
+     wdiff              |                                         []     [] |
+     wget               |                                                [] |
+     wyslij-po          |                                                   |
+     xboard             |                                                   |
+     xdg-user-dirs      | []    []    [] []     [] []     []      [] []  [] |
+     xkeyboard-config   |                          []             []     [] |
+                        +---------------------------------------------------+
+                          af am an ar as ast az be bg bn bn_IN bs ca crh cs
+                           4  0  2  5  3 11   0  8 25  3   3    1 55  4  74
+
+                          da  de  el en en_GB en_ZA eo es et eu fa fi  fr 
+                        +--------------------------------------------------+
+     a2ps               | []  []  []     []         [] [] []       []  []  |
+     aegis              | []  []                       []              []  |
+     anubis             | []  []                       []          []  []  |
+     aspell             | []  []         []         [] []          []  []  |
+     bash               |                           [] []              []  |
+     bfd                | []                           []          []  []  |
+     binutils           |                              []          []  []  |
+     bison              | []  []  []                [] [] []       []  []  |
+     bison-runtime      | []  []  []                [] [] []       []  []  |
+     buzztrax           | []  []                                   []  []  |
+     ccd2cue            | []  []                    []                 []  |
+     ccide              | []  []                    [] []          []  []  |
+     cflow              | []  []                    []             []  []  |
+     clisp              | []  []     []                []              []  |
+     coreutils          | []  []                       [] []           []  |
+     cpio               | []  []                       []          []  []  |
+     cppi               | []  []                    []             []  []  |
+     cpplib             | []  []                    [] []          []  []  |
+     cryptsetup         | []  []                       []          []  []  |
+     datamash           | []  []                    []                 []  |
+     denemo             | []                                               |
+     dfarc              | []  []                    [] []          []  []  |
+     dialog             | []  []  []                [] []    [] [] []  []  |
+     dico               | []  []                                   []  []  |
+     diffutils          | []  []  []                [] []              []  |
+     dink               | []  []                    [] []          []  []  |
+     direvent           | []  []                    []                 []  |
+     doodle             | []  []                    []             []      |
+     dos2unix           | []  []                    [] []              []  |
+     dos2unix-man       |     []                       []              []  |
+     e2fsprogs          | []  []                    [] []              []  |
+     enscript           | []  []         []         []             []  []  |
+     exif               | []  []                    [] []          []  []  |
+     fetchmail          | []  ()  []     []         [] []              []  |
+     findutils          | []  []  []                [] [] []       []  []  |
+     flex               | []  []                    [] []          []  []  |
+     freedink           | []  []  []                [] []    []    []  []  |
+     fusionforge        |     []                       []              []  |
+     gas                |                              []          []  []  |
+     gawk               | []  []                       []          []  []  |
+     gcal               | []  []                       []              []  |
+     gcc                |     []                                           |
+     gdbm               | []  []                    []             []  []  |
+     gettext-examples   | []  []  []                [] []          []  []  |
+     gettext-runtime    | []  []                    [] []          []  []  |
+     gettext-tools      | []  []                       []          []  []  |
+     gjay               |     []                    []             []  []  |
+     glunarclock        | []  []                    []             []  []  |
+     gnubiff            |     ()                    []             []  ()  |
+     gnubik             | []  []                    []             []  []  |
+     gnucash            | []  ()  ()     ()            ()          ()  ()  |
+     gnuchess           |     []                    [] []              []  |
+     gnulib             | []  []                    [] [] []       []  []  |
+     gnunet             |                              []                  |
+     gnunet-gtk         |     []                                           |
+     gold               |                              []          []  []  |
+     gphoto2            | []  ()                    []                 []  |
+     gprof              | []  []                    [] []          []  []  |
+     gramadoir          | []  []                    []             []  []  |
+     grep               | []  []                    [] [] []       []  []  |
+     grub               | []  []                       []          []  []  |
+     gsasl              | []  []                    []             []  []  |
+     gss                | []  []                    []             []  []  |
+     gst-plugins-bad    | []  []                                       []  |
+     gst-plugins-base   | []  []  []                   []          []  []  |
+     gst-plugins-good   | []  []  []                   []    []    []  []  |
+     gst-plugins-ugly   | []  []  []                [] []    []    []  []  |
+     gstreamer          | []  []  []                   []    []    []  []  |
+     gtick              | []  ()                    []             []  []  |
+     gtkam              | []  ()                    [] []          []  []  |
+     gtkspell           | []  []  []                [] []    []    []  []  |
+     guix               | []                        []                     |
+     guix-packages      |                                                  |
+     gutenprint         | []  []                                   []  []  |
+     hello              | []  []  []                [] [] []       []  []  |
+     help2man           | []  []  []                [] []          []  []  |
+     help2man-texi      |     []                       []              []  |
+     hylafax            |     []                       []                  |
+     idutils            | []  []                    []             []  []  |
+     iso_15924          | []  ()                    [] []    ()    []  ()  |
+     iso_3166           | []  ()  []                [] [] [] ()    []  ()  |
+     iso_3166_2         | []  ()                             ()        ()  |
+     iso_4217           | []  ()  []                   [] [] ()    []  ()  |
+     iso_639            | []  ()                    [] []    ()    []  ()  |
+     iso_639_3          |     ()                             ()        ()  |
+     iso_639_5          |     ()                             ()        ()  |
+     jwhois             |     []                    [] []          []  []  |
+     kbd                | []  []  []                [] []              []  |
+     klavaro            | []  []  []                [] []    []        []  |
+     ld                 | []                           []          []  []  |
+     leafpad            | []  []  []                [] []    []    []  []  |
+     libc               | []  []                       []          []  []  |
+     libexif            | []  []         ()            []              []  |
+     libextractor       |     []                                           |
+     libgnutls          |     []                    []             []  []  |
+     libgphoto2         | []  ()                                       []  |
+     libgphoto2_port    | []  ()                       []    []    []  []  |
+     libgsasl           | []  []                    []             []  []  |
+     libiconv           | []  []                    [] [] []       []  []  |
+     libidn             | []  []                    []             []  []  |
+     liferea            | []  ()  []                   []    []    []  []  |
+     lilypond           | []  []  []                [] []              []  |
+     lordsawar          | []  []                                           |
+     lprng              |                                                  |
+     lynx               | []  []                    []    []       []  []  |
+     m4                 | []  []  []                []             []  []  |
+     mailfromd          |                                              []  |
+     mailutils          |     []                       []          []  []  |
+     make               | []  []                       []          []  []  |
+     man-db             | []  []                    []                 []  |
+     man-db-manpages    |     []                                       []  |
+     midi-instruments   | []  []  []                [] [] []    [] []  []  |
+     minicom            | []  []                       []          []  []  |
+     mkisofs            |                           []             []  []  |
+     myserver           |     []                    []             []  []  |
+     nano               | []  []                    [] []    []    []  []  |
+     opcodes            | []  []                       []          []  []  |
+     parted             | []  []                                       []  |
+     pies               |     []                                           |
+     pnmixer            |     []                                       []  |
+     popt               | []  []                    [] []          []  []  |
+     procps-ng          |     []                                       []  |
+     procps-ng-man      |     []                                       []  |
+     psmisc             | []  []  []                []       []    []  []  |
+     pspp               |     []                       []              []  |
+     pushover           |     ()                    [] []              []  |
+     pwdutils           | []  []                                       []  |
+     pyspread           | []  []                                       []  |
+     radius             |                              []              []  |
+     recode             | []  []  []                [] []          []  []  |
+     recutils           |     []                       []          []  []  |
+     rpm                | []  []                    []             []  []  |
+     rush               |     []                                   []  []  |
+     sarg               | []                                           []  |
+     sed                | []  []  []                [] [] []       []  []  |
+     sharutils          |     []                    []    []           []  |
+     shishi             |     []                                   []  []  |
+     skribilo           | []                           []              []  |
+     solfege            | []  []                    [] [] []    [] []  []  |
+     solfege-manual     |     []                    [] [] []           []  |
+     spotmachine        | []  []                    []             []  []  |
+     sudo               | []  []                    [] []          []  []  |
+     sudoers            | []  []  []                []             []  []  |
+     sysstat            | []  []                    [] []          []  []  |
+     tar                | []  []                    [] [] []       []  []  |
+     texinfo            | []  []                    [] []              []  |
+     texinfo_document   |     []                    [] []              []  |
+     tigervnc           | []  []  []                []             []  []  |
+     tin                | []  []                          []           []  |
+     tin-man            |                []                                |
+     tracgoogleappsa... | []  []                    []             []  []  |
+     trader             | []  []         []         []             []  []  |
+     util-linux         | []  []                       []              []  |
+     ve                 |     []                    [] []          []  []  |
+     vice               | ()  ()                                       ()  |
+     vmm                |     []                                   []      |
+     vorbis-tools       | []  []                    []                 []  |
+     wastesedge         | []                                               |
+     wcd                |     []                    [] []          []      |
+     wcd-man            |     []                                           |
+     wdiff              | []  []                    [] [] []       []  []  |
+     wget               |     []                    [] [] []       []  []  |
+     wyslij-po          |     []                    []             []  []  |
+     xboard             | []  []                       []              []  |
+     xdg-user-dirs      | []  []  []                [] [] [] [] [] []  []  |
+     xkeyboard-config   | []  []  []                [] []          []  []  |
+                        +--------------------------------------------------+
+                          da  de  el en en_GB en_ZA eo es et eu fa fi  fr 
+                          119 131 32  1   6     0   94 95 22 13  4 102 139
+
+                          ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+                        +-------------------------------------------------+
+     a2ps               |                   []          []    [] []       |
+     aegis              |                                     []          |
+     anubis             |                   [] []       []    []          |
+     aspell             | []                []          []    [] []       |
+     bash               |                      []       []    [] []       |
+     bfd                |                               []       []       |
+     binutils           |                               []    [] []       |
+     bison              |                   []                            |
+     bison-runtime      | []    []          [] []    [] []    [] []       |
+     buzztrax           |                                                 |
+     ccd2cue            |                      []                         |
+     ccide              |                   [] []                         |
+     cflow              | []                []          []                |
+     clisp              |                                                 |
+     coreutils          |                      []                []       |
+     cpio               | []                [] []       []    [] []       |
+     cppi               |       []          [] []             [] []       |
+     cpplib             |                               []       []       |
+     cryptsetup         |                                     []          |
+     datamash           |                                                 |
+     denemo             |                                     []          |
+     dfarc              |                   [] []             []          |
+     dialog             | [] [] []          [] []    [] [] [] [] []       |
+     dico               |                                                 |
+     diffutils          |                      []       []    [] []       |
+     dink               |                      []                         |
+     direvent           |                      []                         |
+     doodle             | []                                  []          |
+     dos2unix           |                      []                []       |
+     dos2unix-man       |                                                 |
+     e2fsprogs          |                      []       []                |
+     enscript           | []                []          []                |
+     exif               |       []          []          [] [] [] []       |
+     fetchmail          |                               []    [] []       |
+     findutils          | []    []          [] []       []    [] []       |
+     flex               | []                                              |
+     freedink           |                   [] []       []    []          |
+     fusionforge        |                                                 |
+     gas                |                               []                |
+     gawk               |                               []    () []       |
+     gcal               |                                                 |
+     gcc                |                                                 |
+     gdbm               |                                                 |
+     gettext-examples   | []    []          [] []       []    [] []       |
+     gettext-runtime    | []    []          [] []       []    [] []       |
+     gettext-tools      |                               []    [] []       |
+     gjay               |       []                                        |
+     glunarclock        | []    []          [] []       []    []          |
+     gnubiff            |                      []       []    ()          |
+     gnubik             |       []          []                []          |
+     gnucash            |          () () ()    ()             ()          |
+     gnuchess           |                                                 |
+     gnulib             | []    []             []             [] []       |
+     gnunet             |                                                 |
+     gnunet-gtk         |                                                 |
+     gold               |                               []    []          |
+     gphoto2            |                      []       []    [] []       |
+     gprof              | []                   []       []    []          |
+     gramadoir          | []                   []       []                |
+     grep               | []    []          [] []       []    [] []       |
+     grub               |       []             []             []          |
+     gsasl              | []                [] []       []    []          |
+     gss                | []                [] []       []    []          |
+     gst-plugins-bad    |                   [] []       []                |
+     gst-plugins-base   |       []          [] []       []                |
+     gst-plugins-good   |       []          [] []       []    [] []       |
+     gst-plugins-ugly   |       []          [] []       []    [] []       |
+     gstreamer          |       []          [] []       []    []          |
+     gtick              | []    []             []       []    []          |
+     gtkam              |                      []       [] [] [] []       |
+     gtkspell           | []    []    []    [] [] []    [] [] [] []       |
+     guix               |                                                 |
+     guix-packages      |                                                 |
+     gutenprint         |       []             []             []          |
+     hello              | []    []          [] []       []                |
+     help2man           |                   []                [] []       |
+     help2man-texi      |                                                 |
+     hylafax            |                               []                |
+     idutils            |                      []       []                |
+     iso_15924          |       []             []    [] [] [] []          |
+     iso_3166           | []    [] [] [] [] [] []    [] [] [] [] []    [] |
+     iso_3166_2         |                               []    []          |
+     iso_4217           |                   [] []       [] [] [] []       |
+     iso_639            | []    [] []       [] []       [] [] [] []       |
+     iso_639_3          |       []                            []          |
+     iso_639_5          |                                                 |
+     jwhois             |       []             []       []    []          |
+     kbd                |                      []       []    []          |
+     klavaro            |       []          [] []             []       [] |
+     ld                 | []                            []    [] []       |
+     leafpad            | []    []    []    [] []       []    [] ()       |
+     libc               |       []          []          []    [] []       |
+     libexif            |                                     []          |
+     libextractor       |                                                 |
+     libgnutls          |                                     []          |
+     libgphoto2         |                                     [] []       |
+     libgphoto2_port    |                                     [] []       |
+     libgsasl           | []                   []       []    []          |
+     libiconv           | []    []          [] []       []    [] []       |
+     libidn             |                   [] []       []    []          |
+     liferea            |       []    []       []             [] []       |
+     lilypond           |                                     []          |
+     lordsawar          |                                                 |
+     lprng              |                               []                |
+     lynx               |                      []       []    [] []       |
+     m4                 | []    []          []          []       []       |
+     mailfromd          |                                                 |
+     mailutils          |                                                 |
+     make               |                   []          []    [] []       |
+     man-db             |                               []       []       |
+     man-db-manpages    |                               []       []       |
+     midi-instruments   |       []    []    [] [] []    [] [] [] []       |
+     minicom            |                      []       []       []       |
+     mkisofs            |                               []    []          |
+     myserver           |                                     []          |
+     nano               | []    []          [] []             [] []       |
+     opcodes            | []                            []    []          |
+     parted             |       []             []       []    [] []       |
+     pies               |                                                 |
+     pnmixer            |                   []                []          |
+     popt               | []    [] []       [] []    [] [] [] [] []       |
+     procps-ng          |                                                 |
+     procps-ng-man      |                                                 |
+     psmisc             |                   [] []       []    []          |
+     pspp               |       []                               []       |
+     pushover           |                                     []          |
+     pwdutils           |                               []                |
+     pyspread           |                                                 |
+     radius             |                               []                |
+     recode             | []    []    []    [] []       []    []          |
+     recutils           |                                                 |
+     rpm                |                               []                |
+     rush               |       []                                        |
+     sarg               |                                                 |
+     sed                | []    []          [] []       []    [] []       |
+     sharutils          |                                                 |
+     shishi             |                                                 |
+     skribilo           |                      []                         |
+     solfege            |       []                            []          |
+     solfege-manual     |                                                 |
+     spotmachine        |                                                 |
+     sudo               |       []          []                [] []       |
+     sudoers            |                   []                [] []       |
+     sysstat            |                   [] []       []       []       |
+     tar                | []                [] []       []    [] []       |
+     texinfo            |                   []          []    []          |
+     texinfo_document   |                   [] []             []          |
+     tigervnc           |                                                 |
+     tin                |                                                 |
+     tin-man            |                                                 |
+     tracgoogleappsa... |       []    []    [] []                         |
+     trader             |                   [] []                         |
+     util-linux         |                                        []       |
+     ve                 |                                     []          |
+     vice               |                      ()             ()          |
+     vmm                |                                                 |
+     vorbis-tools       |                   []          []                |
+     wastesedge         |                                     []          |
+     wcd                |                                                 |
+     wcd-man            |                                                 |
+     wdiff              |       []             []             []          |
+     wget               |                   [] []             [] []       |
+     wyslij-po          |       []          []          []                |
+     xboard             |                                                 |
+     xdg-user-dirs      | [] [] [] [] [] [] [] []    [] [] [] [] []    [] |
+     xkeyboard-config   |       []          [] []       []    [] []       |
+                        +-------------------------------------------------+
+                          ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+                          35  2 47  4  8  2 60 71  2  6 81 11 87 57  0  3
+
+                          kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 
                         +--------------------------------------------------+
-     a2ps               |                       []                      [] |
-     aegis              |                                                  |
-     ant-phone          |                                                  |
-     anubis             |                                                  |
-     aspell             |                []                             [] |
-     bash               |                                                  |
+     a2ps               |                                  []          []  |
+     aegis              |                                              []  |
+     anubis             |                                  []    []    []  |
+     aspell             |                            []                []  |
+     bash               |                                        []    []  |
      bfd                |                                                  |
-     bibshelf           |                []                                |
      binutils           |                                                  |
-     bison              |                                                  |
-     bison-runtime      |                []                                |
-     bluez-pin          | []             []                                |
-     bombono-dvd        |                                                  |
-     buzztard           |                                                  |
-     cflow              |                                                  |
-     clisp              |                                                  |
-     coreutils          |                                   []          [] |
-     cpio               |                                                  |
+     bison              |                                              []  |
+     bison-runtime      |          []    [] []             []    []    []  |
+     buzztrax           |                                                  |
+     ccd2cue            |                                                  |
+     ccide              |                   []                         []  |
+     cflow              |                                              []  |
+     clisp              |                                              []  |
+     coreutils          |                                        []    []  |
+     cpio               |                                              []  |
      cppi               |                                                  |
-     cpplib             |                                               [] |
-     cryptsetup         |                                                  |
-     dfarc              |                                                  |
-     dialog             |                             []                [] |
+     cpplib             |                                              []  |
+     cryptsetup         |                                              []  |
+     datamash           |                                        []    []  |
+     denemo             |                                                  |
+     dfarc              |                      []                      []  |
+     dialog             |       []       [] []             []    []    []  |
      dico               |                                                  |
-     diffutils          |                                               [] |
-     dink               |                                                  |
-     doodle             |                                                  |
-     e2fsprogs          |                                               [] |
-     enscript           |                                               [] |
-     exif               |                                                  |
-     fetchmail          |                                               [] |
-     findutils          |                                   []             |
-     flex               |                                               [] |
-     freedink           |                                                  |
+     diffutils          |                   []                   []    []  |
+     dink               |                                              []  |
+     direvent           |                                              []  |
+     doodle             |                                              []  |
+     dos2unix           |                                        []    []  |
+     dos2unix-man       |                                              []  |
+     e2fsprogs          |                                              []  |
+     enscript           |                                              []  |
+     exif               |    []             []                         []  |
+     fetchmail          |                                              []  |
+     findutils          |                                        []    []  |
+     flex               |                                              []  |
+     freedink           |                                        []    []  |
+     fusionforge        |                                                  |
      gas                |                                                  |
-     gawk               |                []                             [] |
-     gcal               |                                               [] |
+     gawk               |                                              []  |
+     gcal               |                                                  |
      gcc                |                                                  |
-     gettext-examples   | []             []                 []          [] |
-     gettext-runtime    |                                   []          [] |
-     gettext-tools      |                                   []          [] |
-     gip                |                                   []             |
+     gdbm               |                                                  |
+     gettext-examples   |          []       []             [] [] []    []  |
+     gettext-runtime    |    []                                  []    []  |
+     gettext-tools      |    []                                            |
      gjay               |                                                  |
-     gliv               |                                   []             |
-     glunarclock        |                []                 []             |
-     gnubiff            |                                                  |
-     gnucash            |                                               [] |
-     gnuedu             |                                                  |
-     gnulib             |                                                  |
+     glunarclock        |                   []                         []  |
+     gnubiff            |                                              []  |
+     gnubik             |                                        []    []  |
+     gnucash            | () ()          () ()          ()       () () []  |
+     gnuchess           |                                        []    []  |
+     gnulib             |                                              []  |
      gnunet             |                                                  |
      gnunet-gtk         |                                                  |
-     gnutls             |                                                  |
      gold               |                                                  |
-     gpe-aerial         |                                                  |
-     gpe-beam           |                                                  |
-     gpe-bluetooth      |                                                  |
-     gpe-calendar       |                                                  |
-     gpe-clock          |                []                                |
-     gpe-conf           |                                                  |
-     gpe-contacts       |                                                  |
-     gpe-edit           |                                                  |
-     gpe-filemanager    |                                                  |
-     gpe-go             |                                                  |
-     gpe-login          |                                                  |
-     gpe-ownerinfo      |                []                                |
-     gpe-package        |                                                  |
-     gpe-sketchbook     |                                                  |
-     gpe-su             |                []                                |
-     gpe-taskmanager    |                []                                |
-     gpe-timesheet      |                []                                |
-     gpe-today          |                []                                |
-     gpe-todo           |                                                  |
-     gphoto2            |                                                  |
-     gprof              |                                   []             |
-     gpsdrive           |                                                  |
-     gramadoir          |                                                  |
-     grep               |                                                  |
-     grub               |                []                             [] |
-     gsasl              |                                                  |
+     gphoto2            |                                              []  |
+     gprof              |                                  []          []  |
+     gramadoir          |                                              []  |
+     grep               |                                        []    []  |
+     grub               |                []                      []    []  |
+     gsasl              |                                              []  |
      gss                |                                                  |
-     gst-plugins-bad    |                                   []             |
-     gst-plugins-base   |                                   []             |
-     gst-plugins-good   |                                   []             |
-     gst-plugins-ugly   |                                   []             |
-     gstreamer          | []                                []          [] |
-     gtick              |                                                  |
-     gtkam              |                       []                         |
-     gtkorphan          |                                   []             |
-     gtkspell           | []             []     []                         |
-     gutenprint         |                                                  |
-     hello              |                                   []             |
-     help2man           |                                                  |
-     hylafax            |                                                  |
-     idutils            |                                                  |
-     indent             |                                   []          [] |
-     iso_15924          |                                                  |
-     iso_3166           | []          []        []          []  []   [] [] |
-     iso_3166_2         |                                                  |
-     iso_4217           |                                                  |
-     iso_639            |             [] []     []              []         |
-     iso_639_3          |                                                  |
-     jwhois             |                                                  |
-     kbd                |                                                  |
-     keytouch           |                                               [] |
-     keytouch-editor    |                                                  |
-     keytouch-keyboa... |                                               [] |
-     klavaro            |          []                                      |
-     latrine            |                                                  |
-     ld                 |                                   []             |
-     leafpad            |                                   []          [] |
-     libc               |                                   []          [] |
-     libexif            |                       ()                         |
-     libextractor       |                                                  |
-     libgnutls          |                                                  |
-     libgpewidget       |                                                  |
-     libgpg-error       |                                                  |
-     libgphoto2         |                                                  |
-     libgphoto2_port    |                                                  |
-     libgsasl           |                                                  |
-     libiconv           |                                   []             |
-     libidn             |                                                  |
-     lifelines          |                                                  |
-     liferea            |                             []                [] |
-     lilypond           |                                                  |
-     linkdr             |          []                                      |
+     gst-plugins-bad    |                   []                   []    []  |
+     gst-plugins-base   |                   []                   []    []  |
+     gst-plugins-good   |                [] []                   []    []  |
+     gst-plugins-ugly   |                   []             [] [] []    []  |
+     gstreamer          |                []                      []    []  |
+     gtick              |                                              []  |
+     gtkam              |                                        []    []  |
+     gtkspell           |          []    [] []       []    []    []    []  |
+     guix               |                                                  |
+     guix-packages      |                                                  |
+     gutenprint         |                                              []  |
+     hello              |                   []                   []    []  |
+     help2man           |                                        []        |
+     help2man-texi      |                                                  |
+     hylafax            |                                              []  |
+     idutils            |                                              []  |
+     iso_15924          |                () []                         []  |
+     iso_3166           | [] [] []       () [] [] []    []       []    []  |
+     iso_3166_2         |                ()                            []  |
+     iso_4217           |                () []                   []    []  |
+     iso_639            | [] []          () []    []    []             []  |
+     iso_639_3          | []             ()             []                 |
+     iso_639_5          |                ()                                |
+     jwhois             |                   []                         []  |
+     kbd                |                                              []  |
+     klavaro            |                                        []    []  |
+     ld                 |                                                  |
+     leafpad            |    []    []    [] []                         []  |
+     libc               |    []                                        []  |
+     libexif            |                                              []  |
+     libextractor       |                                              []  |
+     libgnutls          |                                  []          []  |
+     libgphoto2         |                                              []  |
+     libgphoto2_port    |                                              []  |
+     libgsasl           |                                              []  |
+     libiconv           |                []                            []  |
+     libidn             |                                              []  |
+     liferea            |                [] []                         []  |
+     lilypond           |                                              []  |
      lordsawar          |                                                  |
      lprng              |                                                  |
-     lynx               |                                               [] |
-     m4                 |                                                  |
+     lynx               |                                              []  |
+     m4                 |                                              []  |
      mailfromd          |                                                  |
      mailutils          |                                                  |
-     make               |                                                  |
-     man-db             |                                                  |
-     man-db-manpages    |                                                  |
-     minicom            |                                                  |
-     mkisofs            |                                                  |
+     make               |    []                                        []  |
+     man-db             |                                              []  |
+     man-db-manpages    |                                              []  |
+     midi-instruments   |    [] []       []          []    []       [] []  |
+     minicom            |                                        []        |
+     mkisofs            |                                              []  |
      myserver           |                                                  |
-     nano               |                                   []          [] |
-     opcodes            |                                                  |
-     parted             |                                                  |
+     nano               |                                  []    []    []  |
+     opcodes            |                                              []  |
+     parted             |    []                                        []  |
      pies               |                                                  |
-     popt               |                                                  |
-     psmisc             |                                                  |
-     pspp               |                                               [] |
-     pwdutils           |                                                  |
-     radius             |                                               [] |
-     recode             |                       []                      [] |
-     rosegarden         |                                                  |
-     rpm                |                                                  |
-     rush               |                                                  |
+     pnmixer            |                                              []  |
+     popt               | [] []             []                   []    []  |
+     procps-ng          |                                                  |
+     procps-ng-man      |                                                  |
+     psmisc             |                                              []  |
+     pspp               |                []                            []  |
+     pushover           |                                                  |
+     pwdutils           |                                              []  |
+     pyspread           |                                                  |
+     radius             |                                              []  |
+     recode             |                                        []    []  |
+     recutils           |                                              []  |
+     rpm                |                                              []  |
+     rush               |                                              []  |
      sarg               |                                                  |
-     screem             |                                                  |
-     scrollkeeper       |                    [] []                      [] |
-     sed                |                []                             [] |
-     sharutils          |                                   []          [] |
+     sed                |                                        []    []  |
+     sharutils          |                                              []  |
      shishi             |                                                  |
-     skencil            |                                                  |
-     solfege            |                                                  |
-     solfege-manual     |                                                  |
-     soundtracker       |                                                  |
-     sp                 |                                                  |
-     sysstat            |                                                  |
-     tar                |                                   []             |
-     texinfo            |                                                  |
+     skribilo           |                                                  |
+     solfege            |                                        []    []  |
+     solfege-manual     |                                              []  |
+     spotmachine        |                                              []  |
+     sudo               |    []                                  []    []  |
+     sudoers            |    []                                  []    []  |
+     sysstat            |                                        []    []  |
+     tar                |          []                            []    []  |
+     texinfo            |                                              []  |
+     texinfo_document   |                                              []  |
+     tigervnc           |                                              []  |
      tin                |                                                  |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                                                  |
-     util-linux-ng      |                                               [] |
-     vice               |                                                  |
-     vmm                |                                                  |
-     vorbis-tools       |                                                  |
-     wastesedge         |                                                  |
-     wdiff              |                                                  |
-     wget               |                       []                      [] |
-     wyslij-po          |                                                  |
-     xchat              |                []     []          []          [] |
-     xdg-user-dirs      | []    []    [] []     []    []    []  []      [] |
-     xkeyboard-config   |                                   []          [] |
+     tin-man            |                                                  |
+     tracgoogleappsa... |                   []                   []    []  |
+     trader             |                                        []        |
+     util-linux         |                                              []  |
+     ve                 |                                              []  |
+     vice               |                                              []  |
+     vmm                |                                              []  |
+     vorbis-tools       |                                              []  |
+     wastesedge         |                                              []  |
+     wcd                |                                              []  |
+     wcd-man            |                                              []  |
+     wdiff              |                                              []  |
+     wget               |                                        []    []  |
+     wyslij-po          |                                              []  |
+     xboard             |                                              []  |
+     xdg-user-dirs      | [] [] [] []    [] [] [] []    []       []    []  |
+     xkeyboard-config   |    []          []                            []  |
                         +--------------------------------------------------+
-                          af am an ar as ast az be be@latin bg bn_IN bs ca
-                           6  0  1  2  3 19   1 10     3    28   3    1 38
+                          kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 
+                           5 15  4  6  0 13 23  3  3  3  4 11  2 42  1 125
 
-                          crh cs da  de  el en en_GB en_ZA eo es et eu fa
-                        +-------------------------------------------------+
-     a2ps               |     [] []  []  []     []            [] []       |
-     aegis              |        []  []                       []          |
-     ant-phone          |        []  ()                                   |
-     anubis             |        []  []                                   |
-     aspell             |     [] []  []         []            []          |
-     bash               |     []                           [] []          |
-     bfd                |                                     []          |
-     bibshelf           |        []  []                       []          |
-     binutils           |                                     []          |
-     bison              |            []  []                               |
-     bison-runtime      |        []  []  []                      []       |
-     bluez-pin          |     [] []  []  []                [] []          |
-     bombono-dvd        |        []                                       |
-     buzztard           |     [] []  []                                   |
-     cflow              |        []  []                                   |
-     clisp              |        []  []     []                []          |
-     coreutils          |     [] []  []                          []       |
-     cpio               |                                                 |
-     cppi               |                                                 |
-     cpplib             |        []  []                       []          |
-     cryptsetup         |            []                                   |
-     dfarc              |        []  []                       []          |
-     dialog             |        []  []                    [] []    []    |
-     dico               |                                                 |
-     diffutils          |     [] []  []  []                [] []          |
-     dink               |        []  []                       []          |
-     doodle             |            []                                   |
-     e2fsprogs          |     []     []                       []          |
-     enscript           |        []  []         []                        |
-     exif               |     () []  []                                   |
-     fetchmail          |     [] []  ()  []     []            []          |
-     findutils          |     [] []  []                                   |
-     flex               |            []                       []          |
-     freedink           |        []  []                       []          |
-     gas                |                                     []          |
-     gawk               |        []  []                       []          |
-     gcal               |                                     []          |
-     gcc                |            []                       []          |
-     gettext-examples   |            []  []                [] []          |
-     gettext-runtime    |        []  []                    [] []          |
-     gettext-tools      |            []                       []    []    |
-     gip                |        []  []                       []    []    |
-     gjay               |            []                                   |
-     gliv               |     [] []  []                                   |
-     glunarclock        |        []  []                                   |
-     gnubiff            |            ()                                   |
-     gnucash            |     []     ()  ()     ()            ()          |
-     gnuedu             |        []                           []          |
-     gnulib             |            []                       []          |
-     gnunet             |                                                 |
-     gnunet-gtk         |        []                                       |
-     gnutls             |     []     []                                   |
-     gold               |                                     []          |
-     gpe-aerial         |     [] []  []                       []          |
-     gpe-beam           |     [] []  []                       []          |
-     gpe-bluetooth      |        []  []                                   |
-     gpe-calendar       |        []                                       |
-     gpe-clock          |     [] []  []                       []          |
-     gpe-conf           |     [] []  []                                   |
-     gpe-contacts       |        []  []                       []          |
-     gpe-edit           |        []  []                                   |
-     gpe-filemanager    |        []  []                       []          |
-     gpe-go             |     [] []  []                       []          |
-     gpe-login          |        []  []                                   |
-     gpe-ownerinfo      |     [] []  []                       []          |
-     gpe-package        |        []  []                       []          |
-     gpe-sketchbook     |     [] []  []                       []          |
-     gpe-su             |     [] []  []                       []          |
-     gpe-taskmanager    |     [] []  []                       []          |
-     gpe-timesheet      |     [] []  []                       []          |
-     gpe-today          |     [] []  []                       []          |
-     gpe-todo           |        []  []                       []          |
-     gphoto2            |     [] []  ()         []            []    []    |
-     gprof              |        []  []                       []          |
-     gpsdrive           |        []                           [] []       |
-     gramadoir          |        []  []                    []             |
-     grep               |     []                                          |
-     grub               |        []  []                                   |
-     gsasl              |            []                                   |
-     gss                |                                                 |
-     gst-plugins-bad    |     [] []  []                       []    []    |
-     gst-plugins-base   |     [] []  []                       []    []    |
-     gst-plugins-good   |     [] []  []  []                   []    []    |
-     gst-plugins-ugly   |     [] []  []  []                   []    []    |
-     gstreamer          |     [] []  []                       []    []    |
-     gtick              |        []  ()                    []             |
-     gtkam              |     [] []  ()                    [] []          |
-     gtkorphan          |     [] []  []                    []             |
-     gtkspell           |     [] []  []  []                [] []    []    |
-     gutenprint         |        []  []         []                        |
-     hello              |        []  []                    [] []          |
-     help2man           |            []                                   |
-     hylafax            |            []                       []          |
-     idutils            |        []  []                                   |
-     indent             |     [] []  []                    [] [] [] []    |
-     iso_15924          |        []      ()                [] []          |
-     iso_3166           | []  [] []  []  ()                [] [] [] ()    |
-     iso_3166_2         |                ()                               |
-     iso_4217           |     [] []  []  ()                   [] []       |
-     iso_639            | []  [] []  []  ()                [] []          |
-     iso_639_3          | []                                              |
-     jwhois             |                                     []          |
-     kbd                |     [] []  []  []                   []          |
-     keytouch           |        []  []                                   |
-     keytouch-editor    |        []  []                                   |
-     keytouch-keyboa... |        []                                       |
-     klavaro            |     [] []  []                    []             |
-     latrine            |        []  ()                                   |
-     ld                 |        []                           []          |
-     leafpad            |     [] []  []  []                   []    []    |
-     libc               |     [] []  []                       []          |
-     libexif            |        []  []         ()                        |
-     libextractor       |                                                 |
-     libgnutls          |     []                                          |
-     libgpewidget       |        []  []                                   |
-     libgpg-error       |     []     []                                   |
-     libgphoto2         |        []  ()                                   |
-     libgphoto2_port    |        []  ()                             []    |
-     libgsasl           |                                                 |
-     libiconv           |     [] []  []                    []    []       |
-     libidn             |     []     []                    []             |
-     lifelines          |        []  ()                                   |
-     liferea            |     []     []  []                   []    []    |
-     lilypond           |     []     []                       []          |
-     linkdr             |        []  []                       []          |
-     lordsawar          |        []                                       |
-     lprng              |                                                 |
-     lynx               |     [] []  []                          []       |
-     m4                 |     [] []  []  []                               |
-     mailfromd          |                                                 |
-     mailutils          |                                     []          |
-     make               |        []  []                       []          |
-     man-db             |                                                 |
-     man-db-manpages    |                                                 |
-     minicom            |     [] []  []                       []          |
-     mkisofs            |                                                 |
-     myserver           |                                                 |
-     nano               |            []                       []    []    |
-     opcodes            |            []                       []          |
-     parted             |     []     []                                   |
-     pies               |                                                 |
-     popt               |     [] []  []                    [] []          |
-     psmisc             |     []     []                             []    |
-     pspp               |                                     []          |
-     pwdutils           |        []                                       |
-     radius             |                                     []          |
-     recode             |     [] []  []  []                [] []          |
-     rosegarden         |     ()     ()                       ()          |
-     rpm                |        []  []                       []          |
-     rush               |                                                 |
-     sarg               |                                                 |
-     screem             |                                                 |
-     scrollkeeper       |     [] []  []         []            []          |
-     sed                |     []     []  []                [] [] []       |
-     sharutils          |        []  []                       [] []       |
-     shishi             |                                                 |
-     skencil            |        []  ()                       []          |
-     solfege            |            []                    []    []       |
-     solfege-manual     |                                  []    []       |
-     soundtracker       |        []  []                       []          |
-     sp                 |            []                                   |
-     sysstat            |        []  []                             []    |
-     tar                |     []     []                          [] []    |
-     texinfo            |            []                    [] []          |
-     tin                |            []                          []       |
-     unicode-han-tra... |                                                 |
-     unicode-transla... |                                                 |
-     util-linux-ng      |     [] []  []                       []          |
-     vice               |        ()  ()                                   |
-     vmm                |            []                                   |
-     vorbis-tools       |     []                           []             |
-     wastesedge         |        []                                       |
-     wdiff              |            []                       []          |
-     wget               |     []     []                          []       |
-     wyslij-po          |                                                 |
-     xchat              |     []     []  []                   [] []       |
-     xdg-user-dirs      | []  [] []  []  []                [] [] [] []    |
-     xkeyboard-config   | []  [] []  []                    [] []          |
-                        +-------------------------------------------------+
-                          crh cs da  de  el en en_GB en_ZA eo es et eu fa
-                           5  64 105 117 18  1   8     0   28 89 18 19  0
+                          nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr 
+                        +------------------------------------------------+
+     a2ps               |          []     []  []   [] []       []    []  |
+     aegis              |                     []      []                 |
+     anubis             |          []                 []             []  |
+     aspell             |          []         []   [] []    [] []    []  |
+     bash               |          []         []      []    [] []    []  |
+     bfd                |                             []             []  |
+     binutils           |                             []             []  |
+     bison              |          []         []                     []  |
+     bison-runtime      |          []     []  []   [] []       [] [] []  |
+     buzztrax           |                     []                         |
+     ccd2cue            |                     []                     []  |
+     ccide              |          []                 []             []  |
+     cflow              |          []         []                     []  |
+     clisp              |                             []                 |
+     coreutils          |          []                 []       []    []  |
+     cpio               |          []                 []             []  |
+     cppi               |          []         []                     []  |
+     cpplib             |                     []      []             []  |
+     cryptsetup         |          []         []                     []  |
+     datamash           |                     []                     []  |
+     denemo             |                                                |
+     dfarc              |          []         []                     []  |
+     dialog             |          []         []   [] []    [] []    []  |
+     dico               |          []                                    |
+     diffutils          |          []         []                     []  |
+     dink               |                                                |
+     direvent           |          []         []                     []  |
+     doodle             |                                         [] []  |
+     dos2unix           |          []         []      []             []  |
+     dos2unix-man       |          []         []                         |
+     e2fsprogs          |          []                                    |
+     enscript           |          []         []   [] []       []    []  |
+     exif               |          []         []   [] []    []       []  |
+     fetchmail          |          []                 []          []     |
+     findutils          |          []         []      []    [] []    []  |
+     flex               |          []         []   [] []             []  |
+     freedink           |          []         []      []       []    []  |
+     fusionforge        |                                                |
+     gas                |                                                |
+     gawk               |          []                                    |
+     gcal               |                                                |
+     gcc                |                                                |
+     gdbm               |          []         []                     []  |
+     gettext-examples   |          []     []  []   [] []    [] []    []  |
+     gettext-runtime    | []       []     []  []   [] []    [] []    []  |
+     gettext-tools      |          []         []   [] []    [] []    []  |
+     gjay               |                                            []  |
+     glunarclock        |          []         []   []       [] []    []  |
+     gnubiff            |                                            []  |
+     gnubik             |          []         []               []    []  |
+     gnucash            |          ()     ()  ()   () ()             []  |
+     gnuchess           |                     []                     []  |
+     gnulib             |          []         []      []       []    []  |
+     gnunet             |                                                |
+     gnunet-gtk         |                                                |
+     gold               |                                                |
+     gphoto2            |          []         []   [] []             []  |
+     gprof              |                     []   [] []             []  |
+     gramadoir          |                                   []       []  |
+     grep               |          []         []      []    [] []    []  |
+     grub               |          []         []      []       []    []  |
+     gsasl              |          []                       []       []  |
+     gss                |          []              []       []       []  |
+     gst-plugins-bad    |          []         []      []    []       []  |
+     gst-plugins-base   |          []         []      []    [] []    []  |
+     gst-plugins-good   |          []         []   [] []    [] []    []  |
+     gst-plugins-ugly   |          []         []   [] []    [] []    []  |
+     gstreamer          |          []         []   [] []    [] []    []  |
+     gtick              |          []         []      []    []       []  |
+     gtkam              |       [] []         []      []    []       []  |
+     gtkspell           |          []     []  []   [] []    [] [] [] []  |
+     guix               |                                                |
+     guix-packages      |                                                |
+     gutenprint         |                                   [] []        |
+     hello              |          []         []      []    [] []    []  |
+     help2man           |          []         []      []             []  |
+     help2man-texi      |          []                                    |
+     hylafax            |                                                |
+     idutils            |          []                 []             []  |
+     iso_15924          |          []     ()       [] []       []    []  |
+     iso_3166           | [] [] [] []     ()  []   [] [] [] [] [] [] []  |
+     iso_3166_2         |          []     ()                         []  |
+     iso_4217           | []       []     ()       [] [] []    []    []  |
+     iso_639            |    [] [] []     ()       [] [] [] [] []    []  |
+     iso_639_3          |       []        ()                             |
+     iso_639_5          |                 ()                         []  |
+     jwhois             |          []         []   []                []  |
+     kbd                |          []                 []                 |
+     klavaro            |       [] []         []      []       []        |
+     ld                 |                                                |
+     leafpad            | []       []     []  []      []    [] []    []  |
+     libc               |          []                 []    []           |
+     libexif            |          []         ()            []           |
+     libextractor       |          []                                    |
+     libgnutls          |          []                                    |
+     libgphoto2         |          []                                    |
+     libgphoto2_port    |          []         []      []    []       []  |
+     libgsasl           |          []              []       []       []  |
+     libiconv           |          []         []            [] []    []  |
+     libidn             |          []         []                     []  |
+     liferea            |          []     []  []   [] ()    []    []     |
+     lilypond           |                                                |
+     lordsawar          |                                                |
+     lprng              |          []                                    |
+     lynx               |                     []      []                 |
+     m4                 |          []         []   [] []             []  |
+     mailfromd          |          []                                    |
+     mailutils          |          []                                    |
+     make               |          []         []      []                 |
+     man-db             |          []                 []             []  |
+     man-db-manpages    |          []                 []             []  |
+     midi-instruments   |          []     []  []   [] []    [] []    []  |
+     minicom            |          []         []   [] []                 |
+     mkisofs            |          []                 []             []  |
+     myserver           |                                      []    []  |
+     nano               |          []         []   [] []       []    []  |
+     opcodes            |                                                |
+     parted             |          []         []      []    [] []    []  |
+     pies               |          []                                    |
+     pnmixer            |                             []                 |
+     popt               |          []     []  []      []       []    []  |
+     procps-ng          |          []                                    |
+     procps-ng-man      |          []                                    |
+     psmisc             |          []         []      []             []  |
+     pspp               |          []                 []                 |
+     pushover           |                                                |
+     pwdutils           |          []                                    |
+     pyspread           | []                  []                         |
+     radius             |          []                 []                 |
+     recode             |          []     []  []   [] []    [] []    []  |
+     recutils           |                     []                     []  |
+     rpm                |          []                                    |
+     rush               |          []         []                     []  |
+     sarg               |                     []      []                 |
+     sed                |          []     []  []   [] []    [] []    []  |
+     sharutils          |          []         []                     []  |
+     shishi             |          []                                []  |
+     skribilo           |                                            []  |
+     solfege            |          []         []      []                 |
+     solfege-manual     |          []         []                         |
+     spotmachine        |                     []                     []  |
+     sudo               |          []         []      []    [] []    []  |
+     sudoers            |          []         []               []    []  |
+     sysstat            |          []         []      []    []       []  |
+     tar                |          []         []      []       []    []  |
+     texinfo            |          []         []      []                 |
+     texinfo_document   |          []         []                         |
+     tigervnc           |                     []      []             []  |
+     tin                |                             []                 |
+     tin-man            |                                                |
+     tracgoogleappsa... |          []         []      []             []  |
+     trader             |                             []             []  |
+     util-linux         |          []         []                         |
+     ve                 |          []         []                     []  |
+     vice               |                                                |
+     vmm                |                                                |
+     vorbis-tools       |          []                          []    []  |
+     wastesedge         |                                                |
+     wcd                |                                                |
+     wcd-man            |                                                |
+     wdiff              |          []         []      []       []    []  |
+     wget               |          []         []      []    []       []  |
+     wyslij-po          | []       []         []                     []  |
+     xboard             |          []                 []             []  |
+     xdg-user-dirs      | [] [] [] []  [] []  []   [] []    [] [] [] []  |
+     xkeyboard-config   |          []         []      []       []        |
+                        +------------------------------------------------+
+                          nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr 
+                           7  3  6 114  1 12  88   32 82  3 40 45  7 101
 
-                          fi  fr  ga gl gu he hi hr hu hy id  is it ja ka kn
-                        +----------------------------------------------------+
-     a2ps               | []  []                          []        []       |
-     aegis              |     []                                 []          |
-     ant-phone          |     []                                 []          |
-     anubis             | []  []                          []     []          |
-     aspell             |     []  []                      []     []          |
-     bash               | []  []                          []        []       |
-     bfd                | []  []                          []                 |
-     bibshelf           | []  []  []                      []     []          |
-     binutils           | []  []                          []                 |
-     bison              | []  []  []                      []                 |
-     bison-runtime      | []  []  []                      []     [] []       |
-     bluez-pin          | []  []  []                [] [] []  []    []       |
-     bombono-dvd        | []                                                 |
-     buzztard           |                                 []                 |
-     cflow              | []      []                      []                 |
-     clisp              |     []                                             |
-     coreutils          |     []  []                []    []     []          |
-     cpio               | []  []  []                      []                 |
-     cppi               | []  []                                             |
-     cpplib             | []  []                          []                 |
-     cryptsetup         |     []                          []     []          |
-     dfarc              | []  []                                 []          |
-     dialog             |     []  [] []                   []  [] [] []       |
-     dico               |                                                    |
-     diffutils          | []  []  [] []    []       []    []     [] []       |
-     dink               |     []                                             |
-     doodle             |         []                             []          |
-     e2fsprogs          |     []                          []                 |
-     enscript           |     []  []             []       []                 |
-     exif               | []  []                          []  [] [] []       |
-     fetchmail          |     []                          []     [] []       |
-     findutils          | []  []  []                []    []     []          |
-     flex               | []  []  []                                         |
-     freedink           | []  []                          []                 |
-     gas                |     []                          []                 |
-     gawk               |     []  []       []             []     () []       |
-     gcal               |     []                                             |
-     gcc                |                                 []                 |
-     gettext-examples   | []  []  []                []    []     [] []       |
-     gettext-runtime    | []  []  []                      []     [] []       |
-     gettext-tools      |     []                          []     [] []       |
-     gip                | []  []  [] []                   []        []       |
-     gjay               | []                                                 |
-     gliv               | []  ()                                             |
-     glunarclock        | []      []                []    []                 |
-     gnubiff            |     ()                          []     ()          |
-     gnucash            | ()  ()           ()       ()           () []       |
-     gnuedu             |     []                                 []          |
-     gnulib             | []  []  []                []           [] []       |
-     gnunet             |                                                    |
-     gnunet-gtk         |     []                                             |
-     gnutls             |     []                                 []          |
-     gold               | []                              []                 |
-     gpe-aerial         | []  []                          []                 |
-     gpe-beam           | []  []                          []        []       |
-     gpe-bluetooth      | []                              []     [] []       |
-     gpe-calendar       | []                                        []       |
-     gpe-clock          | []  []                    []    []        []       |
-     gpe-conf           | []  []                          []        []       |
-     gpe-contacts       | []  []                          []        []       |
-     gpe-edit           | []                              []        []       |
-     gpe-filemanager    | []                        []    []        []       |
-     gpe-go             | []  []                    []    []        []       |
-     gpe-login          | []                              []        []       |
-     gpe-ownerinfo      | []  []                    []    []        []       |
-     gpe-package        | []                              []        []       |
-     gpe-sketchbook     | []  []                          []        []       |
-     gpe-su             | []  []     []             []    []        []       |
-     gpe-taskmanager    | []  []                    []    []        []       |
-     gpe-timesheet      | []  []  []                      []        []       |
-     gpe-today          | []  []  [] []             []    []        []       |
-     gpe-todo           | []                              []        []       |
-     gphoto2            | []  []                    []    []     [] []       |
-     gprof              | []  []  []                      []                 |
-     gpsdrive           |            []                   []     []          |
-     gramadoir          |     []  []                      []                 |
-     grep               | []                                     []          |
-     grub               | []                        []    []     []          |
-     gsasl              | []  []  []                      []     []          |
-     gss                | []  []  []                      []     []          |
-     gst-plugins-bad    | []  []                    []    []     [] []       |
-     gst-plugins-base   | []  []                    []    []     [] []       |
-     gst-plugins-good   | []  []                    []    []     [] []       |
-     gst-plugins-ugly   | []  []                    []    []     [] []       |
-     gstreamer          | []  []                    []    []     []          |
-     gtick              | []  []  []                      []     []          |
-     gtkam              |     []                    []    []     [] []       |
-     gtkorphan          |     []                          []     []          |
-     gtkspell           | []  []  [] []             [] [] []     [] []       |
-     gutenprint         | []  []                    []           []          |
-     hello              | []      []                      []                 |
-     help2man           | []  []                                             |
-     hylafax            |                                 []                 |
-     idutils            | []  []  []                []    []     []          |
-     indent             | []  []  [] []             []    []     [] []       |
-     iso_15924          | []  ()                          []     []          |
-     iso_3166           | []  ()  [] [] [] [] [] [] []    []     [] []       |
-     iso_3166_2         |     ()                    []    []     []          |
-     iso_4217           | []  ()                    []    []     [] []       |
-     iso_639            | []  ()  []    []          []    []     [] []    [] |
-     iso_639_3          |     ()                                 []       [] |
-     jwhois             | []  []                    []    []     []          |
-     kbd                |     []                          []                 |
-     keytouch           | []  []  []                []    []     []          |
-     keytouch-editor    | []      []                []    []     []          |
-     keytouch-keyboa... | []      []                []    []     []          |
-     klavaro            |            []             []                       |
-     latrine            | []                              []     []          |
-     ld                 | []  []  []                      []                 |
-     leafpad            | []  []  []       []       []    []     [] ()       |
-     libc               | []  []     []                   []        []       |
-     libexif            |                                        []          |
-     libextractor       |                                                    |
-     libgnutls          |     []                                 []          |
-     libgpewidget       | []      []                      []        []       |
-     libgpg-error       |     []                                 []          |
-     libgphoto2         |     []                                 [] []       |
-     libgphoto2_port    |     []                                 [] []       |
-     libgsasl           | []  []  []                      []     []          |
-     libiconv           | []  []  []                      []     [] []       |
-     libidn             | []  []                          []     []          |
-     lifelines          |     ()                                             |
-     liferea            |     []                    []           [] []       |
-     lilypond           | []  []                                             |
-     linkdr             | []               []    [] []           []          |
-     lordsawar          |                                                    |
-     lprng              |                                 []                 |
-     lynx               |     []                    []    []     [] []       |
-     m4                 | []  []  [] []                   []        []       |
-     mailfromd          |                                                    |
-     mailutils          |     []                          []                 |
-     make               | []  []  [] []    []    []       []     [] []       |
-     man-db             |                                 []     []          |
-     man-db-manpages    |                                 []                 |
-     minicom            | []  []                    []    []        []       |
-     mkisofs            | []  []                          []     []          |
-     myserver           |                                                    |
-     nano               | []  []  [] []             []           []          |
-     opcodes            | []  []  []                      []                 |
-     parted             |     []                          []     [] []       |
-     pies               |                                                    |
-     popt               | []  []  [] []             []    []  [] [] []       |
-     psmisc             | []  []                          []                 |
-     pspp               |                                                    |
-     pwdutils           |     []                          []                 |
-     radius             |     []                          []                 |
-     recode             | []  []  [] []    []       []    []     []          |
-     rosegarden         | ()  ()                          ()     () ()       |
-     rpm                |                                 []        []       |
-     rush               |                                                    |
-     sarg               |     []                                             |
-     screem             |                                        [] []       |
-     scrollkeeper       | []                        []    []     []          |
-     sed                | []  []  [] []             []    []     [] []       |
-     sharutils          | []  []  []                []    []     [] []       |
-     shishi             |     []                                             |
-     skencil            |     []                                             |
-     solfege            | []  []     []                          []          |
-     solfege-manual     |     []     []                                      |
-     soundtracker       |     []                                 []          |
-     sp                 |     []                                    ()       |
-     sysstat            | []  []                          []     [] []       |
-     tar                | []  []  []                []    []     [] []       |
-     texinfo            |     []                          []     [] []       |
-     tin                |     []                                             |
-     unicode-han-tra... |                                                    |
-     unicode-transla... |     []  []                                         |
-     util-linux-ng      | []  []                    []    []     [] []       |
-     vice               |     ()                    ()           ()          |
-     vmm                |     []                                             |
-     vorbis-tools       |                                 []                 |
-     wastesedge         |     ()                                 ()          |
-     wdiff              | []                                                 |
-     wget               | []  []  []             [] []    []     [] []       |
-     wyslij-po          | []  []                          []                 |
-     xchat              | []  []        []    []    []    []     [] []    [] |
-     xdg-user-dirs      | []  []  [] [] [] [] []    []    []  [] [] []    [] |
-     xkeyboard-config   | []  []                    []    []     []          |
-                        +----------------------------------------------------+
-                          fi  fr  ga gl gu he hi hr hu hy id  is it ja ka kn
-                          105 121 53 20  4  8  3  5 53  2 120  5 84 67  0  4
+                          sv  sw ta te tg th tr uk  ur vi  wa wo zh_CN
+                        +----------------------------------------------+
+     a2ps               | []              [] [] []     []              |
+     aegis              |                              []              |
+     anubis             | []                 [] []     []              |
+     aspell             | []                    []     []  []     []   |
+     bash               | []                    []     []         []   |
+     bfd                | []                    []     []              |
+     binutils           | []                    []     []              |
+     bison              | []                    []     []         []   |
+     bison-runtime      | []              [] [] []     []         []   |
+     buzztrax           | []                           []         []   |
+     ccd2cue            |                       []     []         []   |
+     ccide              | []                    []     []         []   |
+     cflow              | []                    []     []         []   |
+     clisp              |                                              |
+     coreutils          | []                    []     []              |
+     cpio               | []                 [] []     []         []   |
+     cppi               | []                    []     []         []   |
+     cpplib             | []                 [] []     []         []   |
+     cryptsetup         |                       []     []         []   |
+     datamash           | []                    []     []              |
+     denemo             |                                         []   |
+     dfarc              | []                           []              |
+     dialog             | []  []          []           []  []     []   |
+     dico               |                       []                     |
+     diffutils          | []                 [] []     []         []   |
+     dink               | []                                           |
+     direvent           |                       []     []              |
+     doodle             | []                           []              |
+     dos2unix           | []                    []     []         []   |
+     dos2unix-man       | []                    []                []   |
+     e2fsprogs          | []                    []     []         []   |
+     enscript           | []                 [] []     []              |
+     exif               | []                 [] []     []         []   |
+     fetchmail          | []                 []        []         []   |
+     findutils          | []                 [] []     []         []   |
+     flex               | []                 []        []         []   |
+     freedink           | []              []           []              |
+     fusionforge        |                                              |
+     gas                |                       []                     |
+     gawk               | []                           []         []   |
+     gcal               | []                 []                   []   |
+     gcc                | []                                           |
+     gdbm               |                       []     []              |
+     gettext-examples   | []                 [] []     []         []   |
+     gettext-runtime    | []                 [] []     []         []   |
+     gettext-tools      | []                 [] []     []         []   |
+     gjay               |                 []           []         []   |
+     glunarclock        | []                           []  []     []   |
+     gnubiff            | []                           []              |
+     gnubik             | []                    []     []         []   |
+     gnucash            |        () ()              () ()         []   |
+     gnuchess           |                       []     []         []   |
+     gnulib             | []                    []     []         []   |
+     gnunet             |                                              |
+     gnunet-gtk         |                                              |
+     gold               |                       []     []              |
+     gphoto2            | []                    []     []         []   |
+     gprof              | []                 [] []     []              |
+     gramadoir          | []                           []         []   |
+     grep               | []              []    []     []         []   |
+     grub               | []                 [] []     []              |
+     gsasl              | []                    []     []         []   |
+     gss                | []                           []         []   |
+     gst-plugins-bad    | []                 [] []     []         []   |
+     gst-plugins-base   | []                 [] []     []         []   |
+     gst-plugins-good   | []                 [] []     []         []   |
+     gst-plugins-ugly   | []                 [] []     []         []   |
+     gstreamer          | []                 [] []     []         []   |
+     gtick              |                       []     []         []   |
+     gtkam              | []                    []     []         []   |
+     gtkspell           | []              [] [] []     []  []     []   |
+     guix               |                                              |
+     guix-packages      |                                              |
+     gutenprint         |                    [] []     []         []   |
+     hello              | []              [] [] []     []         []   |
+     help2man           |                       []     []         []   |
+     help2man-texi      |                       []                     |
+     hylafax            |                              []              |
+     idutils            |                       []     []         []   |
+     iso_15924          | []              () [] []     ()         []   |
+     iso_3166           | []        []    () [] []     ()  []     []   |
+     iso_3166_2         |                 () [] []     ()         []   |
+     iso_4217           | []              () [] []     ()         []   |
+     iso_639            | []     [] []    () [] []     ()  []     []   |
+     iso_639_3          |        []       () [] []     ()              |
+     iso_639_5          |                 ()    []     ()              |
+     jwhois             | []                 []        []         []   |
+     kbd                | []                    []     []         []   |
+     klavaro            | []                    []  [] []     []  []   |
+     ld                 | []                 [] []     []         []   |
+     leafpad            | []              [] [] []     []         []   |
+     libc               | []                 [] []     []         []   |
+     libexif            | []                           []         ()   |
+     libextractor       |                       []     []              |
+     libgnutls          | []                    []     []         []   |
+     libgphoto2         | []                    []     []              |
+     libgphoto2_port    | []                    []     []         []   |
+     libgsasl           | []                    []     []         []   |
+     libiconv           | []                    []     []  []     []   |
+     libidn             | ()                    []     []         []   |
+     liferea            | []                 [] []     []         []   |
+     lilypond           |                              []              |
+     lordsawar          |                                              |
+     lprng              |                              []              |
+     lynx               | []                 [] []     []              |
+     m4                 | []                           []         []   |
+     mailfromd          |                       []     []              |
+     mailutils          |                              []              |
+     make               | []                    []     []         []   |
+     man-db             | []                           []         []   |
+     man-db-manpages    | []                                      []   |
+     midi-instruments   | []              [] [] []     []         []   |
+     minicom            | []                           []              |
+     mkisofs            |                       []     []         []   |
+     myserver           |                              []              |
+     nano               | []                    []     []         []   |
+     opcodes            |                       []     []         []   |
+     parted             | []                 [] []     []         []   |
+     pies               |                       []     []              |
+     pnmixer            |                       []     []         []   |
+     popt               | []     []       [] [] []     []         []   |
+     procps-ng          |                       []     []              |
+     procps-ng-man      |                       []                     |
+     psmisc             | []                    []     []         []   |
+     pspp               |                    [] []                []   |
+     pushover           | []                                           |
+     pwdutils           | []                           []              |
+     pyspread           |                       []                     |
+     radius             |                       []     []              |
+     recode             | []                 []        []         []   |
+     recutils           | []                    []     []              |
+     rpm                | []                    []     []         []   |
+     rush               |                       []     []              |
+     sarg               |                                              |
+     sed                | []                 [] []     []         []   |
+     sharutils          | []                    []     []         []   |
+     shishi             |                              []         []   |
+     skribilo           | []                    []                     |
+     solfege            | []                 []        []         []   |
+     solfege-manual     |                    []                        |
+     spotmachine        | []                    []     []              |
+     sudo               | []                 [] []     []         []   |
+     sudoers            | []                    []     []         []   |
+     sysstat            | []                 [] []     []         []   |
+     tar                | []                 [] []     []         []   |
+     texinfo            |                    [] []     []              |
+     texinfo_document   |                       []                     |
+     tigervnc           | []                    []                []   |
+     tin                |                                         []   |
+     tin-man            |                                              |
+     tracgoogleappsa... | []              []    []     []         []   |
+     trader             | []                                           |
+     util-linux         | []                    []     []         []   |
+     ve                 | []                    []     []         []   |
+     vice               | ()                 ()                        |
+     vmm                |                                              |
+     vorbis-tools       | []                           []              |
+     wastesedge         |                                              |
+     wcd                |                       []     []         []   |
+     wcd-man            |                       []                     |
+     wdiff              | []                    []     []         []   |
+     wget               |                       []     []         []   |
+     wyslij-po          |                       []     []              |
+     xboard             |                       []                []   |
+     xdg-user-dirs      | []     [] []    [] [] []     []         []   |
+     xkeyboard-config   | []                 [] []     []              |
+                        +----------------------------------------------+
+                          sv  sw ta te tg th tr uk  ur vi  wa wo zh_CN
+                          106  1  4  3  0 13 51 115  1 125  7  1  100 
 
-                          ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
-                        +-----------------------------------------------+
-     a2ps               |                               []              |
-     aegis              |                                               |
-     ant-phone          |                                               |
-     anubis             |                               []    []        |
-     aspell             |                         []                    |
-     bash               |                                               |
-     bfd                |                                               |
-     bibshelf           |                []             []              |
-     binutils           |                                               |
-     bison              |                               []              |
-     bison-runtime      |       []    [] []             []    []        |
-     bluez-pin          |    [] []    [] []             []              |
-     bombono-dvd        |                                               |
-     buzztard           |                                               |
-     cflow              |                                               |
-     clisp              |                                               |
-     coreutils          |          []                                   |
-     cpio               |                                               |
-     cppi               |                                               |
-     cpplib             |                                               |
-     cryptsetup         |                                               |
-     dfarc              |                   []                          |
-     dialog             |    []       [] []             []    []        |
-     dico               |                                               |
-     diffutils          |                []             []              |
-     dink               |                                               |
-     doodle             |                                               |
-     e2fsprogs          |                                               |
-     enscript           |                                               |
-     exif               |                []                             |
-     fetchmail          |                                               |
-     findutils          |                                               |
-     flex               |                                               |
-     freedink           |                                     []        |
-     gas                |                                               |
-     gawk               |                                               |
-     gcal               |                                               |
-     gcc                |                                               |
-     gettext-examples   |       []       []             [] []           |
-     gettext-runtime    | []                                            |
-     gettext-tools      | []                                            |
-     gip                |                []             []              |
-     gjay               |                                               |
-     gliv               |                                               |
-     glunarclock        |                []                             |
-     gnubiff            |                                               |
-     gnucash            | ()          ()                      ()     () |
-     gnuedu             |                                               |
-     gnulib             |                                               |
-     gnunet             |                                               |
-     gnunet-gtk         |                                               |
-     gnutls             |                               []              |
-     gold               |                                               |
-     gpe-aerial         |                []                             |
-     gpe-beam           |                []                             |
-     gpe-bluetooth      |                []                []           |
-     gpe-calendar       |                []                             |
-     gpe-clock          | []    []       []             [] []           |
-     gpe-conf           | []             []                             |
-     gpe-contacts       | []             []                             |
-     gpe-edit           |                []                             |
-     gpe-filemanager    | []             []                             |
-     gpe-go             | []             []                []           |
-     gpe-login          |                []                             |
-     gpe-ownerinfo      |                []             []              |
-     gpe-package        | []             []                             |
-     gpe-sketchbook     | []             []                             |
-     gpe-su             | []    []       []             [] [] []        |
-     gpe-taskmanager    | [] [] []       []             [] []           |
-     gpe-timesheet      |                []             []              |
-     gpe-today          |       []       []             [] []           |
-     gpe-todo           |                []                   []        |
-     gphoto2            |                                               |
-     gprof              |                               []              |
-     gpsdrive           |                                               |
-     gramadoir          |                                               |
-     grep               |                                               |
-     grub               |                                               |
-     gsasl              |                                               |
-     gss                |                                               |
-     gst-plugins-bad    |             [] []                [] []        |
-     gst-plugins-base   |             [] []                             |
-     gst-plugins-good   |                []                []           |
-     gst-plugins-ugly   |             [] []             [] [] []        |
-     gstreamer          |                                               |
-     gtick              |                                               |
-     gtkam              |                                     []        |
-     gtkorphan          |                []                      []     |
-     gtkspell           |       []    [] []       []    []    [] []     |
-     gutenprint         |                                               |
-     hello              | []             []             []              |
-     help2man           |                                               |
-     hylafax            |                                               |
-     idutils            |                                               |
-     indent             |                                               |
-     iso_15924          |             [] []                             |
-     iso_3166           | [] []       () [] [] []    []       []        |
-     iso_3166_2         |                                               |
-     iso_4217           |             []                      []        |
-     iso_639            |                      []    []                 |
-     iso_639_3          |                            []                 |
-     jwhois             |                []                             |
-     kbd                |                                               |
-     keytouch           |                []                             |
-     keytouch-editor    |                []                             |
-     keytouch-keyboa... |                []                             |
-     klavaro            |                                     []        |
-     latrine            |                []                             |
-     ld                 |                                               |
-     leafpad            | []          [] []                             |
-     libc               | []                                            |
-     libexif            |                                               |
-     libextractor       |                                               |
-     libgnutls          |                               []              |
-     libgpewidget       |                []             []              |
-     libgpg-error       |                                               |
-     libgphoto2         |                                               |
-     libgphoto2_port    |                                               |
-     libgsasl           |                                               |
-     libiconv           |                                               |
-     libidn             |                                               |
-     lifelines          |                                               |
-     liferea            |                                               |
-     lilypond           |                                               |
-     linkdr             |                                               |
-     lordsawar          |                                               |
-     lprng              |                                               |
-     lynx               |                                               |
-     m4                 |                                               |
-     mailfromd          |                                               |
-     mailutils          |                                               |
-     make               | []                                            |
-     man-db             |                                               |
-     man-db-manpages    |                                               |
-     minicom            |                                     []        |
-     mkisofs            |                                               |
-     myserver           |                                               |
-     nano               |                               []    []        |
-     opcodes            |                                               |
-     parted             |                                               |
-     pies               |                                               |
-     popt               | []             []                   []        |
-     psmisc             |                                               |
-     pspp               |                                               |
-     pwdutils           |                                               |
-     radius             |                                               |
-     recode             |                                               |
-     rosegarden         |                                               |
-     rpm                |                                               |
-     rush               |                                               |
-     sarg               |                                               |
-     screem             |                                               |
-     scrollkeeper       |                                     []     [] |
-     sed                |                                               |
-     sharutils          |                                               |
-     shishi             |                                               |
-     skencil            |                                               |
-     solfege            |                                     []        |
-     solfege-manual     |                                               |
-     soundtracker       |                                               |
-     sp                 |                                               |
-     sysstat            |                []                             |
-     tar                |       []                                      |
-     texinfo            |                                     []        |
-     tin                |                                               |
-     unicode-han-tra... |                                               |
-     unicode-transla... |                                               |
-     util-linux-ng      |                                               |
-     vice               |                                               |
-     vmm                |                                               |
-     vorbis-tools       |                                               |
-     wastesedge         |                                               |
-     wdiff              |                                               |
-     wget               |             []                                |
-     wyslij-po          |                                               |
-     xchat              | []             [] []                          |
-     xdg-user-dirs      | [] []       [] [] []       []       [] []     |
-     xkeyboard-config   | []    []    []                                |
-                        +-----------------------------------------------+
-                          ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
-                          20  5 10  1 13 48  4  2  2  4 24 10 20  3   1
-
-                          nl  nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr
-                        +---------------------------------------------------+
-     a2ps               | []           []     []  []   [] []       []    [] |
-     aegis              | []                      []      []                |
-     ant-phone          |                         []   []                   |
-     anubis             | []           []                 []                |
-     aspell             | []                           [] []    [] []       |
-     bash               | []                                    []          |
-     bfd                |                                 []                |
-     bibshelf           | []  []                                            |
-     binutils           |                                 []    []          |
-     bison              | []           []                 []                |
-     bison-runtime      | []           []     []  []   [] []       []       |
-     bluez-pin          | []           []         []   [] []    [] []    [] |
-     bombono-dvd        |     []                          ()                |
-     buzztard           | []  []                                            |
-     cflow              |              []                                   |
-     clisp              | []                              []                |
-     coreutils          | []           []     []  []      []       []       |
-     cpio               | []           []                 []                |
-     cppi               |              []                                   |
-     cpplib             | []                                                |
-     cryptsetup         | []                                                |
-     dfarc              |              []                                   |
-     dialog             | []           []         []      []                |
-     dico               |              []                                   |
-     diffutils          | []           []         []   [] []             [] |
-     dink               | ()                                                |
-     doodle             | []                                          []    |
-     e2fsprogs          | []           []                                   |
-     enscript           | []                      []   [] []       []       |
-     exif               | []           []              [] ()    []          |
-     fetchmail          | []           []                 []          []    |
-     findutils          | []           []     []          []       []       |
-     flex               | []           []         []   [] []                |
-     freedink           | []           []                                   |
-     gas                |                                                   |
-     gawk               | []           []         []   []                   |
-     gcal               |                                                   |
-     gcc                |                                                [] |
-     gettext-examples   | []           []     []       [] []    [] []    [] |
-     gettext-runtime    | []  []       []     []       [] []    [] []    [] |
-     gettext-tools      |              []              [] []    [] []    [] |
-     gip                | []           []                 []    []       [] |
-     gjay               |                                                   |
-     gliv               | []           []         []   [] []    []          |
-     glunarclock        | []                      []   []       []       [] |
-     gnubiff            | []                           ()                   |
-     gnucash            | []           ()         ()      ()                |
-     gnuedu             | []                                                |
-     gnulib             | []           []                 []       []       |
-     gnunet             |                                                   |
-     gnunet-gtk         |                                                   |
-     gnutls             | []           []                                   |
-     gold               |                                                   |
-     gpe-aerial         | []                  []  []   [] []       []    [] |
-     gpe-beam           | []                  []  []   [] []       []    [] |
-     gpe-bluetooth      | []                      []                        |
-     gpe-calendar       |                         []      []       []    [] |
-     gpe-clock          | []                  []  []   [] []    [] []    [] |
-     gpe-conf           | []                  []  []   [] []    [] []       |
-     gpe-contacts       |                         []   [] []       []    [] |
-     gpe-edit           | []           []                          []       |
-     gpe-filemanager    | []                              []       []       |
-     gpe-go             | []           []         []   [] []    [] []    [] |
-     gpe-login          | []                      []                        |
-     gpe-ownerinfo      | []                  []  []   [] []    [] []    [] |
-     gpe-package        | []                                       []       |
-     gpe-sketchbook     | []                  []  []   [] []       []    [] |
-     gpe-su             | []                  []  []   [] []    [] []    [] |
-     gpe-taskmanager    | []                  []  []   [] []    [] []    [] |
-     gpe-timesheet      | []                  []  []   [] []    [] []    [] |
-     gpe-today          | []                  []  []   [] []    [] []    [] |
-     gpe-todo           | []                      []      []       []    [] |
-     gphoto2            | []        [] []         []   [] []    []       [] |
-     gprof              | []                      []   []                   |
-     gpsdrive           | []                              []                |
-     gramadoir          | []                                    []          |
-     grep               | []           []                 []    []          |
-     grub               | []           []                 []                |
-     gsasl              | []           []                       []       [] |
-     gss                |              []              []       []          |
-     gst-plugins-bad    | []           []         []      []    []    []    |
-     gst-plugins-base   | []           []         []      []    []          |
-     gst-plugins-good   | []           []         []      []    []          |
-     gst-plugins-ugly   | []           []         []      []    [] []       |
-     gstreamer          | []           []         []      []    []          |
-     gtick              | []                              []    []          |
-     gtkam              | []        [] []         []      []    []          |
-     gtkorphan          | []                                                |
-     gtkspell           | []           []     []  []   [] []    [] [] [] [] |
-     gutenprint         | []                              []                |
-     hello              | []           []                       [] []       |
-     help2man           |              []                 []                |
-     hylafax            | []                                                |
-     idutils            | []           []         []   [] []                |
-     indent             | []           []         []   [] []    []       [] |
-     iso_15924          | []           []                 []       []       |
-     iso_3166           | []  [] [] [] []     ()  []   [] [] [] [] [] [] [] |
-     iso_3166_2         | []           []                          []       |
-     iso_4217           | []  []       []     []          [] []    []    [] |
-     iso_639            | []     [] [] []                 [] [] [] []    [] |
-     iso_639_3          |        [] []                                      |
-     jwhois             | []           []         []   []                   |
-     kbd                | []           []              []                   |
-     keytouch           | []           []                       []          |
-     keytouch-editor    | []           []                       []          |
-     keytouch-keyboa... | []           []                       []          |
-     klavaro            | []                      []                        |
-     latrine            |              []                 []                |
-     ld                 |                                                   |
-     leafpad            | []  []       []     []  []      []    [] []    [] |
-     libc               | []           []                 []    []          |
-     libexif            | []           []         ()            []          |
-     libextractor       |                                                   |
-     libgnutls          | []           []                                   |
-     libgpewidget       | []           []                          []       |
-     libgpg-error       |              []              []                   |
-     libgphoto2         | []           []                                   |
-     libgphoto2_port    | []           []         []      []    []          |
-     libgsasl           | []           []              []       []       [] |
-     libiconv           | []           []                       [] []    [] |
-     libidn             | []           []                                   |
-     lifelines          | []           []                                   |
-     liferea            | []           []     []  []   [] ()    ()    []    |
-     lilypond           | []                                                |
-     linkdr             | []                  []          []                |
-     lordsawar          |                                                   |
-     lprng              |              []                                   |
-     lynx               | []                      []      []                |
-     m4                 | []           []         []   [] []                |
-     mailfromd          |              []                                   |
-     mailutils          |              []                                   |
-     make               | []           []         []      []                |
-     man-db             | []           []                 []                |
-     man-db-manpages    | []           []                 []                |
-     minicom            |              []         []   [] []                |
-     mkisofs            | []           []                 []                |
-     myserver           |                                                   |
-     nano               | []           []         []      []                |
-     opcodes            | []                           []                   |
-     parted             | []           []                 []    []          |
-     pies               |              []                                   |
-     popt               | []           []     []          []                |
-     psmisc             | []           []                 []                |
-     pspp               | []                      []                        |
-     pwdutils           |              []                                   |
-     radius             | []           []                 []                |
-     recode             | []           []     []  []   [] []    [] []       |
-     rosegarden         |              ()                 ()                |
-     rpm                | []           []     []                            |
-     rush               | []           []                                   |
-     sarg               |                                                   |
-     screem             |                                                   |
-     scrollkeeper       | []  []       []              [] []    []    [] [] |
-     sed                | []           []     []  []   [] []    [] []    [] |
-     sharutils          | []           []                 []             [] |
-     shishi             |              []                                   |
-     skencil            |                     []  []                        |
-     solfege            | []           []         []      []                |
-     solfege-manual     | []           []         []                        |
-     soundtracker       |                                       []          |
-     sp                 |                                                   |
-     sysstat            | []           []         []      []                |
-     tar                | []           []                 []       []       |
-     texinfo            | []           []              [] []                |
-     tin                |                                 []                |
-     unicode-han-tra... |                                                   |
-     unicode-transla... |                                                   |
-     util-linux-ng      | []           []         []      []       []       |
-     vice               | []                                                |
-     vmm                | []                                                |
-     vorbis-tools       | []           []                                   |
-     wastesedge         | []                                                |
-     wdiff              | []           []                                   |
-     wget               | []           []     []  []      []    [] []       |
-     wyslij-po          | []  []       []                                   |
-     xchat              | []        [] []     []          []    [] [] [] [] |
-     xdg-user-dirs      | []  [] [] [] []  [] []  []   [] []    [] [] [] [] |
-     xkeyboard-config   | []           []                 []                |
-                        +---------------------------------------------------+
-                          nl  nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr
-                          135 10  4  7 105  1 29  62   47 91  3 54 46  9 37
-
-                          sv  sw ta te tg th tr uk vi  wa zh_CN zh_HK zh_TW
-                        +---------------------------------------------------+
-     a2ps               | []              [] [] [] []                       | 27
-     aegis              |                          []                       |  9
-     ant-phone          | []                 []    []      []               |  9
-     anubis             | []                 [] [] []                       | 15
-     aspell             |                       [] []  []                   | 20
-     bash               | []                    [] []                       | 12
-     bfd                |                          []                       |  6
-     bibshelf           | []                       []      []               | 16
-     binutils           |                       [] []                       |  8
-     bison              | []                       []                       | 12
-     bison-runtime      | []              []    [] []      []          []   | 29
-     bluez-pin          | []              [] [] [] []  []  []          []   | 37
-     bombono-dvd        |                          []                       |  4
-     buzztard           |                          []                       |  7
-     cflow              |                       [] []      []               |  9
-     clisp              |                                                   | 10
-     coreutils          | []                    [] []      []               | 22
-     cpio               | []                 [] [] []      []          []   | 13
-     cppi               |                       [] []                       |  5
-     cpplib             | []                 [] [] []      []          []   | 14
-     cryptsetup         | []                       []                       |  7
-     dfarc              |                          []                       |  9
-     dialog             | []  []          []       []  []  []          []   | 30
-     dico               |                       []                          |  2
-     diffutils          | []                 [] [] []      []          []   | 30
-     dink               |                                                   |  4
-     doodle             | []                       []                       |  7
-     e2fsprogs          | []                 []    []                       | 11
-     enscript           | []                 [] [] []                       | 17
-     exif               | []                       []      []               | 16
-     fetchmail          |                    []    []      []               | 17
-     findutils          | []                 [] [] []      []               | 20
-     flex               | []                 []    []                  []   | 15
-     freedink           |                          []                       | 10
-     gas                |                    []                             |  4
-     gawk               | []                 []    []      []               | 18
-     gcal               | []                 []                             |  5
-     gcc                | []                 []            []               |  7
-     gettext-examples   | []                 [] [] []      []    []    []   | 34
-     gettext-runtime    | []                 [] [] []      []    []    []   | 29
-     gettext-tools      | []                 [] [] []      []          []   | 22
-     gip                | []                       []      []          []   | 22
-     gjay               |                          []                       |  3
-     gliv               | []                 []    []                       | 14
-     glunarclock        | []                       []  []  []          []   | 19
-     gnubiff            | []                       []                       |  4
-     gnucash            |                    () [] ()      []          ()   | 10
-     gnuedu             |                          []                  []   |  7
-     gnulib             | []                    [] []      []               | 16
-     gnunet             |                          []                       |  1
-     gnunet-gtk         | []                 []    []                       |  5
-     gnutls             | []                       []      []               | 10
-     gold               |                          []                       |  4
-     gpe-aerial         | []                       []      []               | 18
-     gpe-beam           | []                       []      []               | 19
-     gpe-bluetooth      | []                       []      []               | 13
-     gpe-calendar       | []                       []  []  []               | 12
-     gpe-clock          | []                 []    []  []  []               | 28
-     gpe-conf           | []                       []  []  []               | 20
-     gpe-contacts       | []                       []      []               | 17
-     gpe-edit           | []                       []      []               | 12
-     gpe-filemanager    | []                       []  []  []               | 16
-     gpe-go             | []                 []    []  []  []               | 25
-     gpe-login          | []                       []      []               | 11
-     gpe-ownerinfo      | []                 []    []      []          []   | 25
-     gpe-package        | []                       []      []               | 13
-     gpe-sketchbook     | []                       []      []               | 20
-     gpe-su             | []                 []    []  []  []               | 30
-     gpe-taskmanager    | []                 []    []  []  []               | 29
-     gpe-timesheet      | []                 []    []      []          []   | 25
-     gpe-today          | []                 []    []  []  []          []   | 30
-     gpe-todo           | []                       []  []  []               | 17
-     gphoto2            | []                    [] []      []          []   | 24
-     gprof              | []                 []    []                       | 15
-     gpsdrive           | []                       []      []               | 11
-     gramadoir          | []                       []      []               | 11
-     grep               |                 []       []      []               | 10
-     grub               | []                       []      []               | 14
-     gsasl              | []                       []      []          []   | 14
-     gss                | []                       []      []               | 11
-     gst-plugins-bad    | []                 []    []      []               | 26
-     gst-plugins-base   | []                 [] [] []      []               | 24
-     gst-plugins-good   | []                 []    []      []               | 24
-     gst-plugins-ugly   | []                 [] [] []      []               | 29
-     gstreamer          | []                    [] []      []               | 22
-     gtick              |                       [] []      []               | 13
-     gtkam              | []                       []      []               | 20
-     gtkorphan          | []                       []      []               | 14
-     gtkspell           | []              [] [] [] []  []  []    []    []   | 45
-     gutenprint         | []                                                | 10
-     hello              | []              [] []    []      []          []   | 21
-     help2man           | []                       []                       |  7
-     hylafax            |                          []                       |  5
-     idutils            | []                 []    []      []               | 17
-     indent             | []                 [] [] []      []          []   | 30
-     iso_15924          |                 ()    [] ()      []          []   | 16
-     iso_3166           | []        []    () [] [] ()  []  []    []    ()   | 53
-     iso_3166_2         |                 ()    [] ()      []               |  9
-     iso_4217           | []              () [] [] ()      []    []         | 26
-     iso_639            | []     [] []    ()    [] ()  []  []    []    []   | 38
-     iso_639_3          |        []                ()                       |  8
-     jwhois             | []                 []    []      []          []   | 16
-     kbd                | []                 [] [] []      []               | 15
-     keytouch           | []                       []      []               | 16
-     keytouch-editor    | []                       []      []               | 14
-     keytouch-keyboa... | []                       []      []               | 14
-     klavaro            |                          []                       | 11
-     latrine            |                    []    []      []               | 10
-     ld                 | []                 []    []                  []   | 11
-     leafpad            | []                 [] [] []      []          []   | 33
-     libc               | []                 []    []      []          []   | 21
-     libexif            |                          []      ()               |  7
-     libextractor       |                          []                       |  1
-     libgnutls          | []                       []      []               |  9
-     libgpewidget       | []                       []      []               | 14
-     libgpg-error       | []                       []      []               |  9
-     libgphoto2         |                       [] []                       |  8
-     libgphoto2_port    | []                    [] []                  []   | 14
-     libgsasl           | []                       []      []               | 13
-     libiconv           | []                       []  []  []               | 21
-     libidn             | ()                       []      []               | 11
-     lifelines          | []                                                |  4
-     liferea            | []                 []            []               | 21
-     lilypond           |                          []                       |  7
-     linkdr             | []                 []    []      []          []   | 17
-     lordsawar          |                                                   |  1
-     lprng              |                          []                       |  3
-     lynx               | []                 [] [] []                       | 17
-     m4                 | []                       []      []          []   | 19
-     mailfromd          |                       [] []                       |  3
-     mailutils          |                          []                       |  5
-     make               | []                 []    []      []               | 21
-     man-db             | []                       []      []               |  8
-     man-db-manpages    |                                                   |  4
-     minicom            | []                       []                       | 16
-     mkisofs            |                          []      []               |  9
-     myserver           |                                                   |  0
-     nano               | []                       []      []          []   | 21
-     opcodes            | []                 []    []                       | 11
-     parted             | []                 [] [] []                  []   | 15
-     pies               |                       [] []                       |  3
-     popt               | []              [] []    []      []          []   | 27
-     psmisc             | []                       []                       | 11
-     pspp               |                                                   |  4
-     pwdutils           | []                       []                       |  6
-     radius             |                       [] []                       |  9
-     recode             | []                 []    []      []               | 28
-     rosegarden         | ()                                                |  0
-     rpm                | []                       []                  []   | 11
-     rush               |                       [] []                       |  4
-     sarg               |                                                   |  1
-     screem             |                          []                       |  3
-     scrollkeeper       | []                 [] [] []                  []   | 27
-     sed                | []                 []    []      []          []   | 30
-     sharutils          | []                 []    []      []          []   | 22
-     shishi             |                          []                       |  3
-     skencil            | []                       []                       |  7
-     solfege            | []                 []    []      []               | 16
-     solfege-manual     |                    []                             |  8
-     soundtracker       | []                 []    []                       |  9
-     sp                 |                    []                             |  3
-     sysstat            |                          []      []               | 15
-     tar                | []                 [] [] []      []          []   | 23
-     texinfo            | []                 [] [] []      []               | 17
-     tin                |                                                   |  4
-     unicode-han-tra... |                                                   |  0
-     unicode-transla... |                                                   |  2
-     util-linux-ng      | []                 [] [] []                       | 20
-     vice               | ()                 ()                             |  1
-     vmm                |                          []                       |  4
-     vorbis-tools       |                          []                       |  6
-     wastesedge         |                                                   |  2
-     wdiff              | []                       []                       |  7
-     wget               | []                 []    []      []          []   | 26
-     wyslij-po          |                       [] []                       |  8
-     xchat              | []              []    [] []      []          []   | 36
-     xdg-user-dirs      | []     [] []    [] [] [] []      []    []    []   | 63
-     xkeyboard-config   | []                    [] []                       | 22
-                        +---------------------------------------------------+
-       85 teams           sv  sw ta te tg th tr uk vi  wa zh_CN zh_HK zh_TW
-      178 domains         119  1  3  3  0 10 65 51 155 17  98     7    41    2618
+                          zh_HK zh_TW
+                        +-------------+
+     a2ps               |             | 30
+     aegis              |             |  9
+     anubis             |             | 19
+     aspell             |             | 29
+     bash               |        []   | 23
+     bfd                |             | 11
+     binutils           |             | 12
+     bison              |        []   | 18
+     bison-runtime      |        []   | 38
+     buzztrax           |             |  9
+     ccd2cue            |             | 10
+     ccide              |             | 17
+     cflow              |             | 16
+     clisp              |             | 10
+     coreutils          |             | 18
+     cpio               |             | 20
+     cppi               |             | 17
+     cpplib             |        []   | 19
+     cryptsetup         |             | 14
+     datamash           |             | 11
+     denemo             |             |  5
+     dfarc              |             | 17
+     dialog             |        []   | 42
+     dico               |             |  6
+     diffutils          |             | 22
+     dink               |             | 10
+     direvent           |             | 11
+     doodle             |             | 12
+     dos2unix           |        []   | 18
+     dos2unix-man       |             |  9
+     e2fsprogs          |             | 15
+     enscript           |             | 21
+     exif               |             | 27
+     fetchmail          |             | 19
+     findutils          |             | 29
+     flex               |        []   | 19
+     freedink           |             | 24
+     fusionforge        |             |  3
+     gas                |             |  5
+     gawk               |             | 13
+     gcal               |             |  8
+     gcc                |             |  2
+     gdbm               |             | 10
+     gettext-examples   |  []    []   | 40
+     gettext-runtime    |  []    []   | 35
+     gettext-tools      |        []   | 24
+     gjay               |             |  9
+     glunarclock        |        []   | 27
+     gnubiff            |             |  9
+     gnubik             |             | 19
+     gnucash            |        ()   |  6
+     gnuchess           |             | 11
+     gnulib             |             | 23
+     gnunet             |             |  1
+     gnunet-gtk         |             |  1
+     gold               |             |  7
+     gphoto2            |        []   | 19
+     gprof              |             | 21
+     gramadoir          |             | 14
+     grep               |        []   | 31
+     grub               |             | 21
+     gsasl              |        []   | 19
+     gss                |             | 17
+     gst-plugins-bad    |             | 21
+     gst-plugins-base   |             | 27
+     gst-plugins-good   |             | 32
+     gst-plugins-ugly   |             | 34
+     gstreamer          |        []   | 32
+     gtick              |             | 19
+     gtkam              |             | 24
+     gtkspell           |  []    []   | 48
+     guix               |             |  2
+     guix-packages      |             |  0
+     gutenprint         |             | 15
+     hello              |        []   | 30
+     help2man           |             | 18
+     help2man-texi      |             |  5
+     hylafax            |             |  5
+     idutils            |             | 14
+     iso_15924          |        []   | 23
+     iso_3166           |  []    []   | 58
+     iso_3166_2         |             |  9
+     iso_4217           |  []    []   | 28
+     iso_639            |  []    []   | 46
+     iso_639_3          |             | 10
+     iso_639_5          |             |  2
+     jwhois             |        []   | 20
+     kbd                |             | 17
+     klavaro            |             | 30
+     ld                 |        []   | 15
+     leafpad            |        []   | 39
+     libc               |        []   | 24
+     libexif            |             | 10
+     libextractor       |             |  5
+     libgnutls          |             | 13
+     libgphoto2         |             | 10
+     libgphoto2_port    |        []   | 19
+     libgsasl           |             | 18
+     libiconv           |        []   | 29
+     libidn             |             | 17
+     liferea            |             | 29
+     lilypond           |             | 11
+     lordsawar          |             |  3
+     lprng              |             |  3
+     lynx               |             | 19
+     m4                 |        []   | 22
+     mailfromd          |             |  4
+     mailutils          |             |  6
+     make               |             | 19
+     man-db             |             | 15
+     man-db-manpages    |             | 10
+     midi-instruments   |        []   | 43
+     minicom            |        []   | 17
+     mkisofs            |             | 13
+     myserver           |             |  9
+     nano               |        []   | 30
+     opcodes            |             | 12
+     parted             |        []   | 23
+     pies               |             |  4
+     pnmixer            |             |  9
+     popt               |        []   | 36
+     procps-ng          |             |  5
+     procps-ng-man      |             |  4
+     psmisc             |        []   | 22
+     pspp               |             | 13
+     pushover           |             |  6
+     pwdutils           |             |  8
+     pyspread           |             |  6
+     radius             |             |  9
+     recode             |             | 31
+     recutils           |             | 10
+     rpm                |        []   | 13
+     rush               |             | 10
+     sarg               |             |  4
+     sed                |        []   | 35
+     sharutils          |             | 13
+     shishi             |             |  7
+     skribilo           |             |  7
+     solfege            |             | 21
+     solfege-manual     |             |  9
+     spotmachine        |             | 11
+     sudo               |             | 26
+     sudoers            |             | 22
+     sysstat            |             | 23
+     tar                |        []   | 30
+     texinfo            |             | 17
+     texinfo_document   |             | 13
+     tigervnc           |             | 14
+     tin                |        []   |  7
+     tin-man            |             |  1
+     tracgoogleappsa... |        []   | 22
+     trader             |             | 12
+     util-linux         |             | 13
+     ve                 |             | 14
+     vice               |             |  1
+     vmm                |             |  3
+     vorbis-tools       |             | 13
+     wastesedge         |             |  3
+     wcd                |             |  8
+     wcd-man            |             |  3
+     wdiff              |        []   | 23
+     wget               |             | 21
+     wyslij-po          |             | 14
+     xboard             |             | 10
+     xdg-user-dirs      |  []    []   | 68
+     xkeyboard-config   |        []   | 28
+                        +-------------+
+       89 teams           zh_HK zh_TW
+      166 domains           7    42    2809
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
@@ -1251,32 +1350,30 @@ used for implementing regional variants of languages, or language
 dialects.
 
    For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer.  There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
+which it applies should also have been internationalized and distributed
+as such by its maintainer.  There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
 
-   If June 2010 seems to be old, you may fetch a more recent copy of
-this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
-matrix with full percentage details can be found at
-`http://translationproject.org/extra/matrix.html'.
+   If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites.  The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
 
-1.5 Using `gettext' in new packages
+1.5 Using 'gettext' in new packages
 ===================================
 
 If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package.  Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library.  This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
+internationalize it you are welcome to use GNU 'gettext' in your
+package.  Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library.  This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
 
    Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations.  The
+the use of 'gettext' the only thing missing are the translations.  The
 Free Translation Project is also available for packages which are not
 developed inside the GNU project.  Therefore the information given above
 applies also for every other Free Software Project.  Contact
-`coordinator@translationproject.org' to make the `.pot' files available
+'coordinator@translationproject.org' to make the '.pot' files available
 to the translation teams.
-
diff --git a/AUTHORS b/AUTHORS
index b2dd876..67d95a8 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
 Libidn AUTHORS -- Information about the authors.
-Copyright (C) 2002-2012 Simon Josefsson
+Copyright (C) 2002-2024 Simon Josefsson
 See the end for copying conditions.
 
 Simon Josefsson <simon@josefsson.org>
@@ -11,709 +11,20 @@ Contributed TLD support.
 Oliver Hitz <oliver@net-track.ch>
 Contributed Java implementation.
 
+Stefan Larsson <stefan@larsson.nu>
+Optimized Java implementation.  Added Maven support.
+
 Alexander Gnauck <gnauck@ag-software.de>
 Contributed C# port.
 
 Adam Strzelecki <ono@java.pl>
 Contributed Windows Visual Studio project files.
 
------BEGIN PGP PUBLIC KEY BLOCK-----
-URL: http://josefsson.org/key.txt
-Comment: This 0xB565716F key is used to sign releases of Libidn.
-
-mKsEPNUHKwEFALqJSBHn6Qk5ex138kwymxA3idCFoTi5Q6mVooEVVaYVfeDG+5uV
-T5rhTFDfDcT9SO0eIlfKOraSRnVEHyDDH2PAgJFxyneFELcmLUQ66D+m8z+ziGro
-6bcDSBBDMRkHIX6/kH/vnevjqivIld+j8WTcVX+SArcKyzgQ58uMTrfQdLqzh6D9
-sE/838+ZPZkabmKKWMVWccoaUbWGYOcNwO0ABim0JVNpbW9uIEpvc2Vmc3NvbiA8
-c2ltb25Aam9zZWZzc29uLm9yZz6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgEC
-F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCTvm3NgUJFLfe
-CQAKCRDtoh6UtWVxb7BxBQC3UF6FW9nyukBsGUvz7clNOdAhPyfkvab049xuubjC
-+kHGJuS25IzpvvLPIIUik6zZ0cQIWRtzPM2/6rWuktABHFQ0sf0A/o6f7ApEMnna
-MXxNhR2ymWjzc2jSF1zjg/KjwPpzk68Irk6fHbT/vuZASrcXT7ORy+vjhoSoU1uO
-zemp4tO8tK1ehsGKXQN7pPKhWpsMO5zVzZHxAlNUzUsXiEYEExECAAYFAj1Y8sIA
-CgkQV5Mp08AbKiJmNwCgkgjjuS5TcZq4rVBWNYu1VwQlJWYAoJZf+pBNBvzT9xOg
-Hcs1cAMwT4FHiEwEExECAAwFAj1esHUFgwFXijYACgkQvLvElXGKklZXlwCfTWSl
-L2/3q5Od3zBVMKVHgpTo4asAnAtw7vVEIwp9pPuy1oKjTB/obqltiEYEExECAAYF
-AkEAyoIACgkQntdYP8FOsoK0XQCfRN1QBVk7/eu4YbFQBqH463dcHx4AoMp2QurM
-RXFDImswJ1Wi9K65dq66iEYEExECAAYFAkD/P4YACgkQlv+ZxCXA7Au9KACfYKMn
-MPmlbZDi5/Le4mcLCUlQ+SsAn2qOQ14l/ellraqWXbvacCJkOyNpiEwEEhECAAwF
-AkDgVz0FgwCTtOwACgkQyIHdR0rnq0csrwCgtL27/ndpjew28bGVYU9tBmIg2GUA
-oKFFKKHvJB2pVjRkRL4DjohSdIrkiEYEExECAAYFAkJJAYsACgkQj8NyXz1o1joW
-fwCgtb8mtlI8rg52vT5DRU+Ct3NuDfEAoL7IX823ezbe7HVegheirf3q7zmKiKIE
-EAECAAwFAkJG+cEFgwDmsQ4ACgkQv9buWFf3fwmuCwQAtAopBWKTnll1t4lFnR+C
-mvXdqui6g/MhMVjGlnGaxzKfdlXIDT3i6VEMQk639rCLUxNB5YiQZZm7aABg1dwt
-f10mFQUkm9dt4d852cu6ytmljXLJ4NIQFrhZQUrxvh8s8j41oN/hcwyLaX+FLI0G
-6Jehz0m0nPlEQf0sJ/4oCuqITAQTEQIADAUCQklECgWDABPOSgAKCRBmvnH/Z0ho
-g9kYAJ0QKz8Gt/kc7Q9Y/Ahh/wZO6vaQ9QCggcgpRYoJ6g1QXYWdTO/Hxve4Lu+I
-TAQQEQIADAUCQk2CtQWDAOAoGgAKCRA7jqQfgvYSQDh8AJ43bDTlK1p/aLXxJ2/1
-pFrHWFvncACgvVli4V9P6pVhP9p+H3APtQ+URVSJASIEEwECAAwFAkJhOZ0FgwDM
-cTIACgkQC3gy83PWLUFxowf/YLAopAmpU94kKSC4ECFsLXDivJ4LCOxgqZ0u7Fgi
-QgwWK1miJJnW9gME5vE/jMHlsjGwUKJDC3SfbgjOJj31ivrGIh4od8+zU0bwlwoJ
-ppDF/5cbzBheUiCsz+BVBZs8ii4OahnoELUzXbyVZITkMztmn/2+7DYXqqf1tCTy
-wIR/hQzFp6W7GNT/I73Ksz/cKop4jzxE5whkl+5NMBk9VYhfa2X49/S65nwXg4ii
-BPQN0UrhN0ZvrF+uKX6oVlOX+30CrPyT8FkcRk1AOhUpqblk2M2DblOebgxfF1ZV
-jXNNN/0fZhy4iTbYSggndO5PIybKMkMogVtO07F/8lvtC4hMBBMRAgAMBQJC2LCN
-BYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN2dG5+IuvpvtYAJ4oRmRy
-hxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+viE7aS
-7sAAnRYuXokAy66xi04YD1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc54hM
-BBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEAoJFrzoYjkR5ANZYbeX/o
-zQecQCmAAJwNCoPySmaxrwO6BiUd11bO80bPxYkCIgQTAQIADAUCQtiw8QWDAFT5
-3gAKCRCq4+bOZqFEaF90D/9xV8ua/ezhWOu5ADgHE1yeWMWQsecIx9TA5QVQg8pp
-jA3E2REe/lJbCweVhwfvSmuvuymRQw71cIdmqF1dz9R8mb62N1r07DcPxibhtHi4
-poENxIHqvEbtOR17Y6Ql4DW4PjK1ut9y2y58HK6XTiqCtbg43jEcbXk1r9qLJl2L
-gopYJQ1KJCwfn+DCVadRA2FgVclMGUGIdiiTwp12+E/70oYoMzLwm+7MUgbJUpRL
-ytsc5frhT91iX2lPoeylAHAQ0681WiawvexlqtAPto9Gjbtnw32oSOqIJcbbMhN8
-G87pkvBhk5wXfVM7kyutBFhIHcQFGeuGkZpgeXt40NcUJffn+KOfeXzgdQwmwNlo
-9K0arxNpIukgugvVeNtsKj1gtW7IkYcLmvlDyShz/cytguNEU+1W0ZeG73Tjphs8
-mCSlCKVcNWcy2l7z/DvB3VPibac525/Sw1ZIq7DShRHHv8x02/658LEW7gSvvZ4j
-3yuZSNgL2lgPzaYoQo+8ysHK9dqViVBXAHIwVZTmXptb5zxQcHtFUnR51IDSAfBG
-d7gjU5NJNfKKngLjDJy56nmJGMw/+13F5XFcjGPC9t6ZKoQud712K8TRIczWgGMn
-gkahyTl4KIwPxVzWnUN0IkcsO/5yO3JudWzzYB6r1QomCSAAA+uirstJwVtBWsCA
-54hGBBARAgAGBQJC8krrAAoJEG74r8KGV0rKoI4An0CQA/3wPCxskfqLhvN69ViN
-c9GhAJwMR5Nl4q7Y4c5j9BOG+9Yxaom2OYhMBBMRAgAMBQJC8cBwBYMAO+pfAAoJ
-ECmqKFIzPnwjCzsAmgIwd1uJC2Ka3bIgTCJukFjCcdWRAJ47P2tLKEcvatuPnnPT
-yWYuXGTBqIhGBBARAgAGBQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JE
-Vccgdv8cdElgAJ9jZHFa4KIdIsdGQZ5G4qS0YkHwKojYBBMBAgAiAhsDBAsHAwID
-FQIDAxYCAQIeAQIXgAUCPr1HRAUJAtWOGQAKCRDtoh6UtWVxb3F2BP9Whe+ArZn6
-WlbpHF+37Rqr+KmXL2fLI0b+phneaieRvACsOmPD3jDpvxz/xVf8s49SJ2+a23Ia
-iCA8Boyws9sBxn5N+yWhdYYjfDbH3JUOQz7BKN/9o8EAYuU8pmQtEN0q4+QiNsU0
-a8qLAV3qmEOwLfkB4z4H+aDZxe/p7vIYP4QmzTn3ZQ0mYR5mxpc52pF82KVyNWWJ
-vmcirPwKSckEiNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQI/pCtUBQkD
-vHImAAoJEO2iHpS1ZXFvPREE/j3fX+cLxCCZNTjMhThGFujiT7ty4x1jVc91J6QO
-A+Jp+78NIIeyg3JTeR3WIv7/WFNzLKJXJEEcga+0ViPjoLfvGsHMAnwXqPYAxu1c
-DY4jId0bCYgoVlnfF9gwOWxebtotLpCiuXGL/168zEAXWJpPg6r2MfPhAKUJ9G8q
-52OOWJW3cObxoZ2gyXjuWOFtygZ1vUAqP/8UGeZNdajHD5uI2AQTAQIAIgIbAwQL
-BwMCAxUCAwMWAgECHgECF4AFAkCGvikFCQSfBP4ACgkQ7aIelLVlcW9oqwT/a2nW
-kFFy1q16WURE8vp+Tqu6i4r5mTdyHjbhQeZh5Pub5DEJiFuWXxE73JVrnNozacQb
-Vbsnn54B4Xv6tuEDMxaTXSjreDY6D08urM8A0gnUHCAOwxtmepm9wxk/l3WAXWwz
-QoQaqZ2PSPFGW4Epk8+JwWKoLv1O2i9NbycGEccF9rr6I12319Vzk+P4P3FOgCwa
-dAQHSGS3Y6hlLm/RGIjYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAUCQW/E
-VgUJBYgLKQAKCRDtoh6UtWVxb8gUBP9Oiapzi+7qCcpj8Yy55jQvgpXkhe9g5DuT
-lRiHYjP5vTvXJNF7pDOOPj1pSUxumC3viv/pxUaWKp3tSOjsT0ZVgy4ah6rUdjyy
-bLAOAiPmAP3ryStzURF5/RnQbbzrSGZJRfeQIxY2871hWg241/wslRtNpsxYSPCI
-PHMVB4SSFYzzbKRgUU7SXsVQYBAlRU644UE+dB+b17slv1xvagOUiNgEEwECACIF
-Aj0lzz0CGwMFCQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEO2iHpS1ZXFvt3ME
-/ijwFJCSNoY1AfCEm3AX6vRKUbjiy0MdemsqajXF6awcbIaeCwk3wVr9JOs1usu2
-/AQQDvz0sf/hEv6c3sMTYspD6+QzrRMUVbLm0fp+pRZKyaW1tO+/JIoOl8qsOwod
-kXPQ7CYFvSZhhkxdUwVOa6UtL6kOdCjQAy7DDQTzdcC/GxHQNVUNF5KcBWC7LMN6
-iAt0dAFEMaQz4t37CHq+DCyI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4Ai
-GGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCQkBc0AUJBlijpAAK
-CRDtoh6UtWVxb9EIBP4pk/ztQF+XV5L4krXEmbjAsGb9C+I+4OoRUY/mWDvNAjGp
-pkhFD+8Q3oQvg+1dcPsJ5rQHSXgA2w1bOsTknK9DamyY35LHd9T0ZSllXOUX9q3Q
-eKiDBYc2KB35ZtxKNIA4Lt5qDgYbSgtlERxDY94BCSy4YApdwATei3O32t5IoR+B
-roeIr+w+zn9mVulkn3pRXByYDX/scxcTtWwRL+UNiPsEEwECAEUCGwMECwcDAgMV
-AgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQF
-AkMVrNEFCQcvRSYACgkQ7aIelLVlcW+ahgUAnWORH5p6Cdk/zhen4sUwwnzsFyAO
-Z7vaVPrQPq58Czl2FymLm5kJgsGXH8b6KLxVMo8hjTZnsm+zO6XTLXsnnK7nXk70
-gBJ0AAM0XGlG53qDvvQmq3RkfFMHuSmxL+zL8pXTmnywIlEpgDHPVKbPKF3c508H
-FEPKFnDjuyRwPgq3q2mhC/qYYBRvw9hjjeRCqDTdC5wHuWLzs5MCLeG+3YhGBBAR
-AgAGBQJEc4b8AAoJEAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b
-0Hlo7Py6F9c1liLsMNWNDnyvZ4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIX
-gCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD8ykBBQkIC2/U
-AAoJEO2iHpS1ZXFvrF0FAJLVqSWQ2fYNGCvBH4xRS4n2LruzdubmzNuCIZrc75M+
-RfTvYeHwCNDY8H+PggYuXMT8armHvFvyL7jln864M9LTX4TwROrqKlkNgOkfxdSg
-Oz4QE9RHxxooF1GMl1yhxCoumixYE5w0z0LGYRKy/Xzd3+VMcUaFXvEqY6Q+cnQo
-qChCvKRmsIFhF4b4SAqzRePdx6U3PBpC4FbIlkQkpbaIRgQQEQIABgUCRYwLkgAK
-CRApqihSMz58I53iAJ47ZGEOrZrMqV6WKmfKa8+5907zeQCeI9LFETr1SK3IHx/7
-S7RlQhoqAzeI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v
-bi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObocwUJCP8vSAAKCRDtoh6UtWVx
-b9fhBQCRE0dBfP855Vv2fPCzIxnu1I0GM9BjmAC4uMNdW6o7I4yQMXNYpP8RdxDz
-PTon1JYQZqQW77EdqtwjFeguScudF8+85I2FtKDmzl0NNubmX6ckxdCbuUmOk2Vu
-H0IQ8O0f1htk0h4dQB97YA8zu9AtqyASkdCDbRC7RgoaeUaV7N7v8RM3KpEJm6pc
-eQT1DLqOQIFAp/cDa76xXK2Xrd4IiGsEEBECACsFAkXhdvUFgwKHjGMeGmh0dHA6
-Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YbgMAnj34VvAwJhWn
-Z79fbgSY9O7CIBJFAKCJEs0DbASutepLJhiysH3J61b5D4hGBBARAgAGBQJF4sLA
-AAoJEKrPs4YhG27v90UAoKBHaY3RXOkwk5YL58jSYoOWltJ/AKDTwdKSURBZ3RTe
-GkriWGZRy2sfd4kCHAQQAQIABgUCReGU9AAKCRAmSeYoxdNNBWHAD/4+/J4V7cM1
-dMrr6rpaggfgRa7d121f4n+KVn69fmxBr6vMkGP+8Aor4xMGvkL6HYJvOMRK752H
-wXij7TM0HdGqU0S6cisOXiS/LOPQOayz6HuvliIhJeyDF4wfI358ZH8gVTKTn+1l
-tqWmggd8KVbU2pEvNte+lD0VIxK0wrUT0nFEYoJsDlTUVpnmM4PxP8TwoIRwo/h9
-NnL8zeh+5sj0D5tZW4DsTC1AVPH1WYUN4aY2lv49twDh63oXbzXZQ+xKWJeiByao
-DeEOFtouwTb7RbmDBB1i0aeb7gWCryUiHD4p2zf+R+4ikcwcG0LzR7DC3WFdlPnb
-NII/G31ZDacpPqkk5S3LL2jIXKhpD15ilbXGjkqsBAkOJpO7rehVbxEGUfGh+2TZ
-cCvLHeh9ckgjimFlZywk230H/tkQJpnHaTOmhNbBbowUkIdCjTBLkqyW99sM2heD
-kmkYh9jJTj2BLVED4HrgyMp+dXGeDM7nVGDCPfbaFTTz6It+ODndAC2Q0d0N59Sz
-x2Xb8LYfngezdhV0q0GgGXl+vh9zvZnpHV7Bef6ABTq0IOQri83IZv3HlyBeK6KP
-JTx+ll32ByQ8JcMuAAaVqWXI914J/fD9bvsTzJNQsPEa8yBta22Ww+jcnHBBhAbU
-Kfw5FKNDrqYr4VGY9+am80YmnIRQIt7Fu4hGBBARAgAGBQJF4fboAAoJEE1EwCDF
-wFuuzREAn11W3gtaynmEAcxw/WxLdndmL0mmAKCsf55yO8kTmKoohRXpfo+jn4HB
-XYhGBBARAgAGBQJF4gz4AAoJEFUVYHaRYekRxxwAmwVy1T7YQQtP7xXNdM+EVUxL
-nteTAJ9AzaxlVV4dO/OZTG9QDbqztagH54hGBBARAgAGBQJF4grQAAoJEMfZMCWd
-/6rUv38An3mkvCWcxGKhN6/PgQ2+W4zpFQPDAKCxweB0Xh/TQDjQ/dSaoj/BccNK
-LIhGBBARAgAGBQJF4hFCAAoJEOVE3gebfDKNJ4sAn3owtLwwEWtpw9VQxTc66cmd
-oFqPAJ4r2z3VgRa/Ns/uWMxV0Zlee/f2M4hGBBARAgAGBQJF4i3gAAoJEHZJQAVJ
-ruv2v54AoJCl4M0ClZrwxyTkOXJs7xeQjtDtAJ485636UH2u71nZdIyGTMqQkszm
-BohGBBARAgAGBQJF4sNEAAoJEH5OpU/Qq0B1NE8AoOJY9VXq8PPDDPjRPaJLahjO
-ykz+AKDN3jXgHvqD26euQ1ksEBc8Vn6zF4hMBBARAgAMBQJF4sR8BYMChj7cAAoJ
-EHMcr9NTwaMv9/EAn35hATWBiY7ra8Z2bjy+GZ4eSLQmAKDX1GfInkT57/rzmpkx
-n+IQlikCMIhGBBARAgAGBQJF4s6iAAoJENoZYjcCOz9PA5IAoIZucQg6PaqLETbG
-ch/y2UM6BhZ2AJ92fj8dOvoKNxn9Rh4UcTSSiPXNDohGBBARAgAGBQJF4eL3AAoJ
-EHhn1Tx0eTXduhcAn2LWbAgZcRRU7PJtIO3zqsIm6keDAKCeZgrQaUd1GSNW4AzZ
-LuT/XXiWW4kCHAQQAQIABgUCReLO2gAKCRBSIlPD1yc5gYUMD/0ah8KqI6rjyi7p
-WqPPcPKy9ZCnPJv2JJllu1wx4dqRZnUVA3rmHAUpzQp7HsfMXWLgjxOnUEvzjZkP
-PamYnczdE65l5M8zah1WNjfR8Vk4/XaeolVXe3a5R8Vxj27QRa+T5yEHprb5hPo4
-uFWkPlJgJd+qcXCIc28135QngN5uRRQK4NnM/oTtv2nv15L4M4qiH6V+We5IW+Tj
-t74O0mSEekg1bB/XKlF/XcgyO8rEZgqwufZ4cHbzWYXw3C+CKkhDSDItGUw9HesO
-u1FS+Mf/Js4+/kFjW8ZJPFO+A2z3gYTDzaXGq2zlvbqw1gYId5pbukVM6PRqQrlq
-tI2Kza7/CY85b+DVU9Zwe/Hr+yYnEJdG+eWkshmB0mIXgQlSaf/sglsAncrmxA/g
-m5IxaE3TIRW/mtizuCUwq+gigIUEANAsNwR5a/RAekc8aNaO1cSj8izlGqrl6cuQ
-5jyizUJB5AcOV4CUDiazITOasbt4+xx9MTsciqWIkMLYRloVuqXgsoKOTxTT6Zq+
-lPEGRyYds7OEdaXHWPO0OJ2ZPCagb3OvqxJc123Xf7XXySGkGXzZgoA6D4BwIB0b
-5WQFq8722b0tJPktH2a5clKJio3SMir1bpPT6b/CM/Mrk3kIFKJpmvEBYrKTCfhJ
-nDI2GJ4Z/f6rUDhiyQ5yj5Rop2zot4hGBBARAgAGBQJF4vk5AAoJEItKxIGsHnFe
-eYYAnRbZnnFoSrbo5E908zFdUPwfVfUoAJ9Dgo1WuGHPD+89PSqsyMshK1qavIhG
-BBARAgAGBQJF4y0kAAoJELOx+BoCeHiA9a0An0E0Zyjequ/iRSSB+YolhRqc87tp
-AJ9PeRbv8Ce1TY6qCoyIO76zYScX5YhGBBARAgAGBQJF40D2AAoJEDiaVjzCcqEm
-vrkAnimr8D1OTH8O8+E3A2VOoxLhG8PTAJ93AR9hPTBxVBY+TqzapQz12ROtjohG
-BBARAgAGBQJF40DdAAoJEB9/MmoS7vYqmnUAnjcrUSIjc8jjfdxLhJES9yDBTP/g
-AJ9ZSpKAG4kvVjZqcSBhudGIw2NkQokBHAQQAQIABgUCReM6egAKCRDo4GL2DcsE
-MZKUB/9bQd/kyhettf5FPhSPgtVgZanF2kI0WnDWUGXbbn8vLs7GNGsb6eyuUDEM
-kL/f6xtVHNPC44HarRbawhph/m0P25KQlaHX4120gdYzPR7mnUMk9g7P2ycNrcND
-730oJMS3f8FBhe9fnt4adPU8mp5fgU2zTsdVHpa2zUVZHNh84iuEoxoZJEWEyHHJ
-ke/avbbc/G6JmMD+8vOV8nKHbuzNOAfA09kPJWAPcfR/grCpEMZ8SkB9F4FvPEjU
-2HxeFKx1vWNTamkr6ygUVlX7bBwLCe9p+7ue1rMeKOMsJF7UnAkOthEC2IeyhPn1
-gyErrjYzQOX+3+YPCSO73fBxSG6liEYEEBECAAYFAkXjS5cACgkQKJz/wOY81tb5
-TwCeLd//hOBTT9hnSkZFuxLso9J3cToAoKnsSW/csdFyRJLh024CqSzu3/QXiEYE
-ExECAAYFAkXjRMAACgkQjCXuDw3At9aUHQCglgCi6nNiupwbEfwEsvd4MRYVzGsA
-niDj36LSv47TIbmUQJlR/qiNJ+phiEYEEBECAAYFAkXjVQEACgkQmEvTgKxfcAxE
-EACgmX4IGrSutcvAs9Pfr6JYEE3hdsYAn1yLt/tyLO9laWWhLKhNH7MPHc0xiEYE
-EBECAAYFAkXjT0YACgkQIae1O4AJae8N+ACfXCp09XmUQQ/xvA4LipoTAoyqX+oA
-n3aZHFSOKENXaHthrpt0FFaPVNEJiEYEEBECAAYFAkXjfaMACgkQzxI0fJaL1Yct
-2gCdEw43ra6oy0cwLX+zwRzTXazKQn0An0FuDnGs6J5+x6hlK3MFjyfRYZc5iEYE
-EBECAAYFAkXkGvoACgkQZDZDYQnzQCR0eACfWdtadQLH9Bbi/YPOcheMmavmCrUA
-n1fBKs46WOq7jppufBXwcncegfxHiEYEEBECAAYFAkXlgbQACgkQeQ6MlGH/2qvD
-yQCffMAMRUHCPKIbbz59BVNmgpyvSmYAnRMspmLYF0gk0xfHoIFaS3nwt3DgiQIc
-BBABAgAGBQJF6Vo/AAoJEFeTDasLhrBnakQP/1Z460aR3KyxrCrEcDJ/Vzf7vsbq
-1DQnmoRuIgpKmR87N3qRLb2p94ffRYYxlWcFj1jiYT3Wq2bxjHyCZPgcAM2bQuuJ
-MFxQo2xgwobyNqesIafgdbMjdUEAVy+NTyJfdmM3I57lkrleGz6lk9ojMLoIDa/t
-R1C+uoLuSWMj0Xk/nCT+WnN3/xqZyPIa+i6MN8fuI6Nsa/C1jiNw2FnZy721hl+P
-1Bhx+i9aiXCR0qz/3AOAOz25F0OXNKKdzOgdo5mCkelbUaey4gPpvb2oZ30rh6VT
-elOOlGU6WbEO3DQBuOGAxJ1Ux801przITs1923bZU8EPyfDZyZWINkpl7M4En4bq
-GKQkjTIfE8GrSSCp9rsLg1siK38yMYodegSzSJ7ZWWGlyuKvrim1eQw8svSzRphs
-ujaDJG8Oy3Dlc3qBbA/CGx1OtyML5G/w5C5b2Wz/BkMgHnOfOJSVjGlJJrxGyydR
-qThibZ88yRcZ8130COubR4Rr2I+TD+FZLhGtzQGia4gDQ9QG5td6LS5yLPc3Y52N
-cwWsbMHWzLTQ2k3O7PcsetRPLpduiq1eZUZZveY0MSjH+uH3xzp6qfj9I4FDtK6e
-pHQ0F9Dw8kK9qBAhiqrKxsUUbalx5Pup0gIkzNe1vzjByS2P/j2VMhbinhG5FZl0
-O2mPcIXHeHlAJdGCiEYEEBECAAYFAkXt5LkACgkQMGnpIbeahxy4RwCggxD0dEmG
-z7ipFrmwbIGTxuxIS+IAoKfxzxjiT2m3AEvfkL/xNuqgenPViEYEEBECAAYFAkXk
-wVwACgkQcLIDITr1nRa4rQCfZvrXaoYQ8TeX/lhuJfmsPb7kIRcAniKy+cTGNExR
-mZutFX/OcnatDZExiEYEEBECAAYFAkXqoaAACgkQL5UVCKrmAi7oEwCgu/2cheN4
-mU+yFFIG6HmLrbeIc5IAoI2I4eLWJdmLpJleOYgF7CtTGIKxiEYEEBECAAYFAkX/
-bGMACgkQOpD/wRQI1/HBUwCglcM0b6fl1oP8iofWeovuhSk4+5sAmQHrgf2pbqFW
-1oTBNS60dNQjA7VdiEYEEBECAAYFAka12CoACgkQXeJJllsDWKIizACgqk7R3Bhn
-GgzraKbcP9qSMhbYBr8An2Xah3bURySnK2QBDx4GzNM/vCTqiEYEEBECAAYFAkdZ
-tOwACgkQcgQ2cL3l8e4/XACg2opaihfpMLeOKb2bNSD7cLpI3N0An2A2r+PcOgUD
-t3qIIZ8i24HAhBnSiEYEEBECAAYFAkdZt8kACgkQ4Q56CecvefrAfgCfU/NbkK4w
-CiFMyviXo/F8tOEGyqkAnAgNaSmDzLkYZxHlM0SXosfHfV9diEYEExECAAYFAkda
-cyUACgkQaGtW3WCKJJsOKwCeLKhorr01GCKnXR8QaGvImLVOm98AoJpyR9WMJ0cs
-X+CuEdzGJDTlD8pxiEYEEBECAAYFAkddIIAACgkQt5wosOl/hW0OtwCgposF7nuk
-dTQ1nsQd1AGHb0CkQzYAn06bBOKMXsPcN2VvMiO2hiv9FLhniHoEExECADoFAkdc
-k2IzGmh0dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5ldC9zaWduLXBvbGljeS0y
-MDA2LTEwAAoJEOdekMA5zDPbZ9IAnRTxxJl2Rtv1ZbnGsOuPJ6musP+5AJ9b8b3Y
-9BL7PRHzWgQjzALVVXRrdIhGBBARAgAGBQJHXR/KAAoJEPG6TB7RyLqP7nYAn048
-cLE/iNKJFxl/RwkY9VcRedkrAJ9+Y6u67OnG6HneUhzqGvMDbaGmAohGBBARAgAG
-BQJHXYVBAAoJEIUGW1nVLdGnUJ0AnjF43FY5SwhcW2JmuPVu1YnWfrwwAJ990zkv
-mIQtRCrxMzMgThz4jVaoEIhGBBARAgAGBQJHXAvSAAoJEO2/HhEm8iS4g2YAoMWb
-nnF/sbeM8+WToKO0nnoJrXVAAJ9iX3wXtSwAqrK+3X5imRfXGTxh8ohGBBMRAgAG
-BQJHXuTeAAoJEIXCJ+WlVzjy4fQAoKz8piSTCDPkv0qeNq0bdoDs9mOxAJ4lO8Hp
-GDqjYheaAvKG7tFZ1fsZjIj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIY
-ZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJF1dVYBQkLk/wtAAoJ
-EO2iHpS1ZXFvjEQE/1HviHOOSHv0ZuOd+H6SVlkwnhmx4g6fpyeeOa49lywggMBL
-8zddB/928PMYFQQ+pvYmECkOK+O6sVO2NkubopZwE/hUjt5sc0XTYQ9Lvxp40N/K
-UR8fSR5FvLQSWYGYRDXkK3t3Cta83ZeJk2IK43DpgVoFWMN6x69DlRGTyRWbB2Vd
-RvSZz3ZKp86p5cnwMT++K+pNxq+eY0UJorLRj+SIRgQQEQIABgUCSES5dgAKCRBQ
-LE8plp8qHbO7AKCPmi7Ri8FKIY/Wf9Ksa2NFDxUnRwCcCdAwwG67ZmplFNtZlVDW
-wFEcvT+IRgQSEQIABgUCSFlvKwAKCRAk0yv5qpXDSUwfAJ0TPD78S3J8UvoziG+b
-TCLTlPz1XwCgnWlV3PBKvOxuGSAdm/DOMlY1ogKJAaAEEAECAAYFAkkGvzkACgkQ
-Ke5YuZaGUXFYtgwgx9yOo8cCR2a0d/0J8Ux8wAnjLI8m68BCiKW6HmAzXx/mNX2e
-zicSEyqcvv4q5XdpvSrcA2kmlREBpu7mmnyerUuWWsTLMbi9clXaKRZ6yQJQBbrR
-YwrXtzdFziHqFjw+hC19uVXlPhXYa/8YL6aCO4JUlzWWgVF8xHupfRTIeXuGLkC+
-sWww2VmSm8Fg0FBG9jpIt4wYxNMI77so4szE/hoFQSdRtY1lC18jjluNiygGNQQP
-n7r5OKwrK9hX1gGZA2tGYVX0ZoYASRPZcUUzaYPH5cZ86SAg15zzroVD4etmk/2i
-I4sdzR9PyKr0zUp5FNSAFRey6avPAhaTNsyVDRiKmK3PnZF9H9HaRLJJnQEcvevN
-04Vg10VW/O3zCFMFi8zuxUP6ygoDdWZT9jR4wbzVEyFY7AUwXnStDd39p3oamTb9
-XtlngTJjmVBZIOlap4vmKsm0t2xviaxto6uR+656Ya49+SoXp+u5+dGDT2o0kFlN
-aC5r9zovItqdDYUHtn7DsIhGBBARAgAGBQJJZyWPAAoJEEc46iFldJl61+EAn1jp
-iTpjqq/l1oKwJQYDB0WsqGd+AKDEiDHvrN46b58gzQKdVbs472bFS4j7BBMBAgBF
-AhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/
-dHlwZT1DRVJUBQJIYfmJBQkNGHReAAoJEO2iHpS1ZXFvdAwFAIshSBfY4Zn4BQfa
-p1gTIjjcRy/v/bBnNMf8gMXkfm1FLTAaanO+n+lHsTNErPtaEfx8dyjvEg+wmOba
-qAJYoR75pXBFbLKdiN/P1Tp5Wd/C0t+cTT2datz2PL5XFKAMRko9rST8C1MWOiri
-H8akc6U6M+1Vy/dYcO2Tf3DxrXDLTFyrkfV9oREMsRFZu6W8P7UT578Epin/sTYY
-A619IXOI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5q
-b3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSaEuAAUJDq1aTgAKCRDtoh6UtWVxb4pU
-BP9f7+9yeYZCJTvILOWlsYIvl7J2P0em2qYn3NbDUS1yq+BUO8udTYNWwyxX9zGT
-5obhX9bhcWgms/UbGMsvlZcOT+e438P0t1q5q8u+FOgZtfkgZvyacCFvT4Fnd00B
-+RaaGZ2atnodvhN8qpzHIf8GVrhzULEtdA55BRw+x5f6ORdSD14IFWirQ4WWKaXT
-URx5LIRxs6twYJawkumU6m4KiNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheA
-BQJAhr4rBQkEnwT+AAoJEO2iHpS1ZXFvkxgE/2ZfCBqYKIe3SDM0tOVNrIeSZuVN
-Uyn2xoqRKK4VomvTI1eMShfGa0twPVlBB5xXHt06yRbwjobJykmDc/Hmteel+FVW
-OcehnXq8T22gLENlEM0CUZellosNwFwdnWGOHGZs/B4BVCh2pzsCra6di7MKCznZ
-DOHX3TBLoqVHjWzCldxtwc6Y7fAsEtrLVos4+0JvjQoYYgHQyril5ywHYs+InAQQ
-AQIABgUCSw6cnwAKCRD1TYragIIf6syABACYfsh56PcvpDJ3pGPoylowLFW4DEP1
-4dFlADmaZd+SedFZqXI/Vv+7fT19W1cx/HqG46WwmSQjPYSqI3IMpB4IYMnsDYDn
-is9GIXLZyy/s4i8WBiiuRkuG69Q+SOjyF4X7MBh3UB2zkelpHHe1OTknOQ+7qzpZ
-rp6YhpAMSmSx8ohGBBARAgAGBQJF6qGjAAoJEC+VFQiq5gIukCUAn2UXazhZrEHL
-vZH0c56N2LdNHYI6AJ4zZnN8vY09pgpA6p7+YGQfnjuyBohGBBARAgAGBQJK/ASb
-AAoJENG84OKPoRoVuxQAnRhqvmMVRkSQiHLSQEnXu4zO2SiXAJ4l9/uWrMqAKUPe
-BcxbT7xrnru0zIhGBBARAgAGBQJK/BdwAAoJEHJZXrGBcEuTMP4AoKtme6FdYL53
-bVxbHklI8QwQEx6jAKCPSXqJmdslSfamkqA0dTncqUAZPohGBBARAgAGBQJLASuc
-AAoJEBgFUbrZWjw1PeIAn3GHmjiGSmkJzDAKpovoGEviB4DQAJ4+tap00n1o0q+b
-+8YjEN9tCt/VZohGBBARAgAGBQJLDEARAAoJEHfdleLqUuz0LZMAn3fBmDQzpfUX
-yhciz6dUirKC0L6aAJ9IbQB4y0s1o8eR2ZxRXy5cYB30FIhGBBARAgAGBQJLDbh7
-AAoJEI53TMap06Pgx1gAnArZ857v7THGYpmTCjbwBz1oh7+4AJ9CNLFSBqnrZ+9p
-YKH12RiFHLmuLYhMBBMRAgAMBQI9XrB1BYMBV4o2AAoJELy7xJVxipJWGZ0Anjly
-M5hKGecjlTcoKYWJlMDjf0vCAJ99oFg8mkzKasg3CREHi3Y3Fu26EohGBBARAgAG
-BQJLHGQ7AAoJEMcaTGXwWbHRLcgAn2h+moRVxidIb1mADTBGcOy0DjFjAJ9JLJMZ
-gCvnQEmvyZcIssqTJ8Gx4YhWBBARCwAGBQJLEp4JAAoJEPKthaweQrNnE7UA3jYY
-Ov08+w9dAdbxBmwnL+Lev2ZdSP8M+YS1pXIA31NNq1SYUuqb2CVCGUmMo8m/a5uS
-Z/0c2Yyr5OSI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v
-bi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSe3n2gUJDvoUKwAKCRDtoh6UtWVx
-b8gaBP0SDiN4gn0EUY2PPLQvFNkvZ96dIpHbMpjfjkmYSJF0zhgcD7bxWXjXDNng
-BblX3JMs3yhg1GfQLvLVpQ64FakTT/XLCo9VecyFxILzq4aSQHyxG6OcAKyq9ibp
-Y4YtUutwV+jiO1/Zos8cdtsyDdn5RYYe6v27omKYRKrGHNlk8NjAQC2pONY8MfPz
-MohWOcGhwdVYatAZXYENCo7hvlruiEYEEBECAAYFAkt731IACgkQchi8veCamme7
-FQCgkuR72TM4Ii1XM3gNK/u1j3B38NwAn3GgZ51dtypPDikroOtv+W3J/bI+iEYE
-EBECAAYFAksBnFgACgkQ2yYwJIHdsGU/+gCff51YjGdTyDHizwOHy35NzqcJMVoA
-n3olfNMrg1kyD1ALOsJrRzgNyBkhiEYEEBECAAYFAkxL87YACgkQgxIgkKLogl4D
-uQCgvZr657F1MuZpnNSIjkwcd2ptvXgAn3eAnUDlROcQMZ0mRLYU9CX2yfdZiEYE
-EBECAAYFAkxN8UgACgkQZR3zUj0j8l2XwgCgtRkGwT5aWUYbHugdou4OuCN5LzIA
-niyPXGVOll6eMmtikWqz2BvJC5dqiEYEEBECAAYFAkxN99oACgkQv2Bwi0hCbH4U
-TQCdGh2w9AKqGWfgM80p2l0bS7kRwIEAn3NoyUgMmxR2RCscRlymHiAO27adiGsE
-EBECACsFAk29TNoFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhw
-AAoJENK7DQFl0P1YOFcAnjf2t4YAmxXRd3d0H7huUtVBqhtsAJ4uiqVhIskY+of4
-xIMhO5JSw4GRKIj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNp
-bW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJLg+AvBQkQvjD/AAoJEO2iHpS1
-ZXFvNrAFAJhV4iJili/lBcZSvLUOTgVd5CO7Av33Cu/zOYT7MUW2bWWY4aB83xRL
-lMCIcwGFU8Tyvjow/lZLu82nih/15MMEBcjqi7XmZSszrrB0TULWWP8C6XIpSoap
-nVDo+irjiUjxiVnXK+ML7z5zVGeJbqfzSQdKUWBiYuxEJ6x/1E7hXW/WCgCjz9Fc
-NbSuXNyMIpE03BlAzpILz9n1AY1ynVWJAiIEEwECAAwFAkLYsPEFgwBU+d4ACgkQ
-quPmzmahRGhfdA//cVfLmv3s4VjruQA4BxNcnljFkLHnCMfUwOUFUIPKaYwNxNkR
-Hv5SWwsHlYcH70prr7spkUMO9XCHZqhdXc/UfJm+tjda9Ow3D8Ym4bR4uKaBDcSB
-6rxG7Tkde2OkJeA1uD4ytbrfctsufByul04qgrW4ON4xHG15Na/aiyZdi4KKWCUN
-SiQsH5/gwlWnUQNhYFXJTBlBiHYok8KddvhP+9KGKDMy8JvuzFIGyVKUS8rbHOX6
-4U/dYl9pT6HspQBwENOvNVomsL3sZarQD7aPRo27Z8N9qEjqiCXG2zITfBvO6ZLw
-YZOcF31TO5MrrQRYSB3EBRnrhpGaYHl7eNDXFCX35/ijn3l84HUMJsDZaPStGq8T
-aSLpILoL1XjbbCo9YLVuyJGHC5r5Q8koc/3MrYLjRFPtVtGXhu9046YbPJgkpQil
-XDVnMtpe8/w7wd1T4m2nOduf0sNWSKuw0oURx7/MdNv+ufCxFu4Er72eI98rmUjY
-C9pYD82mKEKPvMrByvXalYlQVwByMFWU5l6bW+c8UHB7RVJ0edSA0gHwRne4I1OT
-STXyip4C4wycuep5iRjMP/tdxeVxXIxjwvbemSqELne9divE0SHM1oBjJ4JGock5
-eCiMD8Vc1p1DdCJHLDv+cjtybnVs82Aeq9UKJgkgAAProq7LScFbQVrAgOeI+wQT
-AQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24u
-b3JnP3R5cGU9Q0VSVAUCQkBc0AUJBlijpAAKCRDtoh6UtWVxb9EIBP4pk/ztQF+X
-V5L4krXEmbjAsGb9C+I+4OoRUY/mWDvNAjGppkhFD+8Q3oQvg+1dcPsJ5rQHSXgA
-2w1bOsTknK9DamyY35LHd9T0ZSllXOUX9q3QeKiDBYc2KB35ZtxKNIA4Lt5qDgYb
-SgtlERxDY94BCSy4YApdwATei3O32t5IoR+BroeIr+w+zn9mVulkn3pRXByYDX/s
-cxcTtWwRL+UNiEwEExECAAwFAkLYsNEFgwBU+f4ACgkQa3Ds2V3D9HPaIQCgkWvO
-hiORHkA1lht5f+jNB5xAKYAAnA0Kg/JKZrGvA7oGJR3XVs7zRs/FiEwEExECAAwF
-AkLYsLEFgwBU+h4ACgkQgcL36+ITtpLuwACdFi5eiQDLrrGLThgPU4O2yxgXDucA
-niWqyEVWfs1HnLOe7S2KhgsXDJzniEwEExECAAwFAkLYsI0FgwBU+kIACgkQGFnQ
-H2d7oezt8QCfXjmAsN4+tvGt/A3Z0bn4i6+m+1gAnihGZHKHHCnBqEYT7nbzXPZV
-OtD1iEwEExECAAwFAkJJRAoFgwATzkoACgkQZr5x/2dIaIPZGACdECs/Brf5HO0P
-WPwIYf8GTur2kPUAoIHIKUWKCeoNUF2FnUzvx8b3uC7viEwEEBECAAwFAkJNgrUF
-gwDgKBoACgkQO46kH4L2EkA4fACeN2w05Staf2i18Sdv9aRax1hb53AAoL1ZYuFf
-T+qVYT/afh9wD7UPlEVUiEYEExECAAYFAkJJAYsACgkQj8NyXz1o1joWfwCgtb8m
-tlI8rg52vT5DRU+Ct3NuDfEAoL7IX823ezbe7HVegheirf3q7zmKiQIcBBMBCAAG
-BQJOXJv+AAoJEH/Z/MsAC+7uMLUP/ihuyOK3rCtKqNdP3FrR5lJJ1WMTLx+r1iMT
-X5we1RfOADPtl7rwlHdOGEI1jvae2iEFVyIiBy6eKn5L9A2HhBJ7wqZsXlqmrJgR
-49RzhHx00UksFmS9uat1YfX+bOH5nuytaeZDCYwBA6/sSmtbeyfSiO6YASFnIO5F
-gM5ZCLrCFQUAb9mFAMUTI+IpYLoPanzHcQ2LvJsfqMc2U6OlyzZJl+UOPbA0jv3h
-hEBJBZB//HYsNjHzLk2BIq/3Ff+VZXMXdmUdqL7eIoIEZz6ep4L0KpUGdK5Zrubg
-D8yLf+qtxX6B+igQ8UGONki3bBggtO7CknJg+qQB24kuSRrA8wTkY4Trxvi6hywx
-eFCuR+205Aakjhbz0Y7dTdZp7zJIPlFz9dfwPfEgTlZx5g6cmG0SJ9JHYG648wFQ
-omcv09cA4P/na7W8DzB+wL7lRjLE4OuTWN1FMN2ZzWudJf4ruPdRRtSZV4kCElSj
-Ht+6NpvqgWeDH0Rnm5sjFxGSwpWqPOkYEGae7KVkB5xoVUe7htBdTiIL9eNabthj
-R/pSaeQD70nTIkoSQwxEnQIPq3gDDxyy+hvCUM2e2u2V150NErLW6BkORtpL71Ja
-yHhPhCgPcYHcYrhg0HcTqNDQJUPXpJ7ATmrfFqxjSreIuJ47YSISawW4xG3qeKRy
-MW28oNSeiEYEEBECAAYFAk5XxfMACgkQB5GvjMAzY/TEAACfXfWm6e7MyFL6snIl
-EmOWw/RRr/EAn0e2W0SRyLRrjMWJk6RIVAOxW1o1iQIcBBABAgAGBQJOYMgJAAoJ
-EFKbqWJpCnCxDv0QANhAtHg6TFyqERlQwz9zz4eragH7e3VlU4hLRURjjJP5zy6R
-IuJYBzm97rpegOtt51eLkMDOjYrnwEkY58elSfOyPLQmcQX06KCF6QH2iwJyCxsB
-5oCQB9IBrmK/4rs9Co2HUwxI1rw6+rfaUAsr4aT6SBylbDcMP/XwBt3MA/kjaI53
-ivrTsMFjH36ffRT3LfeVafdYwux1vtYPDCDQAq7KuWCo7Dkt8bTdoyegnnqfXhvM
-Wokxto1e+fkl4fLmjypWt1/W0fR/jXq2/oiNk6zS6EkVxyjq5m3q06v7AR6GIRaY
-N4ZQOEmHlLkXlQkHiyhvlv2JbjElr5D/jb4TqUid/GrzUosDJrv+RBd7gkccGokd
-zIPw8D53zT38O+geT+ek6iNSVByfqCkG2emuVGjWsUfj79vrsWeyYIxksyYptx0u
-OHWa1ORYyRhZ80uogo0h0MvvY90j4uzJQKfdAAfF01a4MgmBDBN2YqprRqB3kInL
-P9GxM9zgf2lv3jYBfNBjoLZxKlaFH5ISTNHbW0ud8SfTEQTKkX6vS0zkvHCv4Uea
-GQ0qIgDHps88n0Jqk+9apb4Ms1aKkL0E5AJY63Z18IsehdbekgFMvg2FZiA+6J+I
-UvCCnG+mWQbDbcs0aaIiiN58f3gpmSDq15iPyrEwSzOSBKbWmskMd6iX+fk6tCFT
-aW1vbiBKb3NlZnNzb24gPGphc0BleHR1bmRvLmNvbT6IRQQQEQIABgUCSWcljwAK
-CRBHOOohZXSZeiUYAJdfCtm1Aij3dVLTBpyIS1lk5iYrAJ4qXN9eQAJwFC28VZgu
-U+VVCPg2z4hGBBARAgAGBQJC8kruAAoJEG74r8KGV0rKw/0Anj3miI06v5jOKbRJ
-t6wwLINA7N6RAJ9pdfC+4JZ+SMq0w9cO3NKGEsJ12ohGBBARAgAGBQJD+NOWAAoJ
-EOFd2FexXDfRuzYAn2jjBwZqp6NfIRZM+cPQFWosanMIAJ9gZGuZXqOGcRHDYo1V
-wUK7Kg8anYhGBBARAgAGBQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JE
-Vccgdv8cdElgAJ9jZHFa4KIdIsdGQZ5G4qS0YkHwKohGBBARAgAGBQJEc4b8AAoJ
-EAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b0Hlo7Py6F9c1liLs
-MNWNDnyvZ4hGBBARAgAGBQJEc4cAAAoJEAixI47drUe2X7kAn2STeXyx0720Av+k
-aloy7DBcbQ9PAKCeHu+tG0BJiaFJ5PlFL9z7YTf6KohGBBARAgAGBQJFjAuOAAoJ
-ECmqKFIzPnwjjEMAn1PGwa5O+Wkrfj8P+kUbrNDbQ4njAJwNHA9EwqAhV/iunGMk
-eXqyYR4ESohGBBARAgAGBQJF4eL6AAoJEHhn1Tx0eTXdNRYAoNE99BYi7z6tVqND
-nq2+59mx8xSqAJ93ptV7L/TCXEUfcG4poHiZpSgzO4hGBBARAgAGBQJF4fboAAoJ
-EE1EwCDFwFuumAsAoKvDeDQF6vBxmsDQDRAyaX2hZz81AJ0fENkdFcOUkpvetayT
-WsiPUq9mxIhGBBARAgAGBQJF4grUAAoJEMfZMCWd/6rUgIwAnAq+iewnfvQpYXMR
-QPQHFQ1Q4oIWAKCbUj2FEFUlU6cFznPqIMnUzc2Az4hGBBARAgAGBQJF4gz6AAoJ
-EFUVYHaRYekRoGAAoLkeCD2erYxzbJSjia1ifnlNnSbPAJ9S5mNGOnmLTAYxGOVJ
-AgAXAtZtxIhGBBARAgAGBQJF4hFDAAoJEOVE3gebfDKN370An1/jE3l8uC/UzrtY
-4E8FzB1pavjwAJ4sE44wMa8Bidx6SJny2pLFYxicZ4hGBBARAgAGBQJF4i3iAAoJ
-EHZJQAVJruv27z8AoL1S0MZUyWBxb0qLdQBtaDnOEDwDAKDFehqTzLa4GI1XBWnM
-7+5vreKy3ohGBBARAgAGBQJF4ltVAAoJEFuTwC+eSpyd5QkAn0InDM3Ef74GDEeg
-EJi9CyV68RozAJ47ClCsb4r7WGCYJoplsFHvvGdWGohGBBARAgAGBQJF4sLGAAoJ
-EKrPs4YhG27vaK8AoO3ONc4vHoteNr4J1uO/saI/vuMDAKD4FSdsGU0DcMUzZwIx
-+HT74UcxRohGBBARAgAGBQJF4sNGAAoJEH5OpU/Qq0B1hCIAn3odxjrFGyc9x8KC
-aeBYXPcM4nN4AKDc7V60rCdebbhtFhEzdw8uw2TH34hGBBARAgAGBQJF4s6iAAoJ
-ENoZYjcCOz9PL7wAn2GeQZncnl0YvUhMebrsLnO6mHCYAJ4+dnk7nGWFch4j4Pz7
-PUkakSavTYhGBBARAgAGBQJF4vk7AAoJEItKxIGsHnFex+0AniZ4F5qmExcEh9I3
-3H/iGtQ5QKGpAJ4+FJNR7fD2hCbEb+bzWLfB5DU+74hGBBARAgAGBQJF4yKoAAoJ
-ENOjcASuTRzUKTYAoJeMX1gnPVKfjKvcCF2XOOFrhlaUAKDfb/kQ6DYI/0iz2qoz
-s2anY4cAE4hGBBARAgAGBQJF4y0qAAoJELOx+BoCeHiAVAEAnAhbHFmonRhodwe6
-FSak7SPDeFxKAJ4w73sJn9Zb36S2jjtnOYgmrfgLKIhGBBARAgAGBQJF40DdAAoJ
-EB9/MmoS7vYqpcIAoKxAoqVD+73ldkTmVoMa8SGgRczZAJ4kyDtzFs+bsxU87qr1
-QnAbJC47vYhGBBARAgAGBQJF40D3AAoJEDiaVjzCcqEmX2wAni+Nw8JZMW2jdHxu
-YV92EyNvMXZ0AKCUTA6JJ39mCUtXEpSgBy2zlApjyohGBBARAgAGBQJF40uXAAoJ
-ECic/8DmPNbWs4IAn0vpU3ALdg8yT0aq4qQJdX1oVi5bAJ9EVqkfOkE6WqPIaA5p
-nodCaTIddIhGBBARAgAGBQJF409IAAoJECGntTuACWnvwD8An2FF/JEayVKOL++9
-YbNLXpBVeRxaAJ44hot3GOOSS2OIZZ9L/nw4ZRiHWohGBBARAgAGBQJF41UFAAoJ
-EJhL04CsX3AMMy8AoNI1odP+fQA6h4CLWjaEK1qndHhlAKDNY25jsLzqCcJn0JqQ
-aNN3gkvNx4hGBBARAgAGBQJF432jAAoJEM8SNHyWi9WHevAAn2TcTFyH84jOpejO
-mDSTrK30xQx1AJ46kGnM5mgIVuqSDrl/1R4PmrYN44hGBBARAgAGBQJF5Br+AAoJ
-EGQ2Q2EJ80AkeQwAniuGytBx5JvGcFJV5NBliOGfxhs0AJ0be5jI/yWjK/bn88x2
-wmNp3mcA44hGBBARAgAGBQJF5MFdAAoJEHCyAyE69Z0W5t8AoLgQz3ZhGe/hzwQ2
-bBTMeV12AyzhAJ0QWg/BHvHseBde5/14a+V8pt0SXYhGBBARAgAGBQJF5YG2AAoJ
-EHkOjJRh/9qrW5QAniwa6vfWlEt1H8oeUOjJCyp7Ad4GAJ44QWVps5BWoeNpJWcS
-3m4cIFYEXYhGBBARAgAGBQJF6qGjAAoJEC+VFQiq5gIukCUAn2UXazhZrEHLvZH0
-c56N2LdNHYI6AJ4zZnN8vY09pgpA6p7+YGQfnjuyBohGBBARAgAGBQJF7eS5AAoJ
-EDBp6SG3moccZusAnRbuB1slbRLAebBjUhTlyvgSdsibAJ0V/NfekMsvwX6e6my5
-KBTFY4WyuohGBBARAgAGBQJF/2xwAAoJEDqQ/8EUCNfxSUEAoIDQQMHKQdtsKlcQ
-KL3du2kBeaj+AJ0WEKNgRh8NgrcnppW2TpOygvQqM4hGBBARAgAGBQJGtdgxAAoJ
-EF3iSZZbA1iisQsAoJ4LWFLNtSwDA4bNi+qIAHIVkEsbAKCW86SWOi3QcT/cZ+ed
-MZdqTTXeRohGBBARAgAGBQJHWbTuAAoJEHIENnC95fHuRb8An2E3kaGysE5hsrKB
-fkIBlco2Sb2IAJ91er1Yq2k8VOpUsBie/dysvgsYh4hGBBARAgAGBQJHWbfMAAoJ
-EOEOegnnL3n6TYwAn2rA+SuEU9y0LUzxr55/wc6ayG+MAJ0TsyBrQBwA5tj9xg27
-dqvkZy+RYohGBBARAgAGBQJHXAvSAAoJEO2/HhEm8iS4E9oAmgImQfzgb6MQ4drV
-6xO1FrGkP2g4AKCs9bCw4TPhsjuoVLLwnOgzE6+EPYhGBBARAgAGBQJHXR/OAAoJ
-EPG6TB7RyLqPJVAAn0ck2xBfVEwOXIAvYfiotTAAzAsFAKCgmHeAr0iUrC6YICas
-URoecVoJgYhGBBARAgAGBQJHXSCAAAoJELecKLDpf4VtzC4AoNG5vj9Xz/ivXays
-7uOd6aqhapRBAKCMpQuXSYePOXDCEkiGG+YDtoe5mYhGBBARAgAGBQJHXYVEAAoJ
-EIUGW1nVLdGn4mkAoJUnzThPYZZ+i51IjmXANTqr7ys1AJ9pDllBNW6SdJ0/H/fK
-3o9Mda/Pq4hGBBARAgAGBQJIRLl4AAoJEFAsTymWnyod1UAAn2eE7xX2Tm0cJTuG
-M86y/DTgYEWOAJwLQTb+RmtjruSpboc4HQ+HHP4T9ohGBBARAgAGBQJK/ASbAAoJ
-ENG84OKPoRoVgpAAn0UxXXsO8AC23hNCfuvgjSaA9kYnAJ4u5O69pG6D9X0ZmxSj
-BVSxv6VD2YhGBBARAgAGBQJK/BdwAAoJEHJZXrGBcEuTggAAoN5Z9FTq5ZsRFYBM
-q4pM1IIi5TbhAKCNUYEW6JV1TeYtU216eCIVuOV8Q4hGBBARAgAGBQJLASucAAoJ
-EBgFUbrZWjw1BBAAoI0+3cP62FnI3Z1TRcf+OHU9VnSZAKCA2suW6DOY2I/dKl6c
-P44NTvUc0YhGBBARAgAGBQJLAZxYAAoJENsmMCSB3bBl61oAnRtDOz1x35Hloibx
-wa5A9TC7tGprAJ9Enw3pbl149CBC4ebPdXkfG3HFwIhGBBARAgAGBQJLDEARAAoJ
-EHfdleLqUuz0thAAnRssFLNOymUkbXRMV2xCTBxX/MpfAKCYjyOzjPSVoS5eNl+V
-lRSOAM1Gv4hGBBARAgAGBQJLHGRGAAoJEMcaTGXwWbHRgkUAnRLnoCpmX6989NXj
-LRnSNS/dzq2UAJ0QHa6xy3Sn2641FpQ4LLsXwLrZwYhGBBARAgAGBQJLe99SAAoJ
-EHIYvL3gmppngOUAoL/gZ4GkR/ECCqkEeJCUzppwhvcuAJ9KMET7MeaihS3CHw97
-4wVY0hEzI4hGBBARAgAGBQJMS/O2AAoJEIMSIJCi6IJev30AoI/sfMGmBnWu+UNU
-gQN22/V8c5NqAJ9eWEaU2hdXCP8MsbBUwIxzUAlXMYhGBBARAgAGBQJMTfFIAAoJ
-EGUd81I9I/JdI28AoMbAB2wCwsanUZwRLvw9Hs7iCyz8AKCeXydwOVIUAX47I/wy
-OwHwjZVi24hGBBARAgAGBQJMTffaAAoJEL9gcItIQmx+ngAAn3pzLNJ2gaHihWR5
-KIFZuM5rjZVkAJ9Wq8/Vq8CthN5QAtXLwqEmiJCeVYhGBBIRAgAGBQJIWW8rAAoJ
-ECTTK/mqlcNJLoYAnjT3gs2YZrIjXS+XrW8VGc1W013uAKCophfcMkBjGBdHkDUN
-WvDce6uGJohGBBMRAgAGBQI9WPK/AAoJEFeTKdPAGyoiF/cAn0dqzIl3Ss2QfeWn
-AOWEkODC0MsoAJ9Tb+zN+kgKH0f+91o6pT6VQEPn0YhGBBMRAgAGBQJA/z93AAoJ
-EJb/mcQlwOwLW7EAoLqAEMsXFUj3ScAXDYcvQaR+5lN7AKDPPs/9tixtWkuHbW9S
-PuaUfDizQYhGBBMRAgAGBQJBAMp9AAoJEJ7XWD/BTrKC96AAn1wDNEETZX6vDoCY
-dUGpV8NUiyWVAKCgKBgAABm+xdRzvY2ytKMCCPLLHohGBBMRAgAGBQJCSQGLAAoJ
-EI/Dcl89aNY6Fn8AoLW/JrZSPK4Odr0+Q0VPgrdzbg3xAKC+yF/Nt3s23ux1XoIX
-oq396u85iohGBBMRAgAGBQJCSQGQAAoJEI/Dcl89aNY667EAoKu5aEpTLn2dplFP
-Pc7+ojRJc+vVAKDcmOrKUKjImZWIh+Y/vJLwOHYi84hGBBMRAgAGBQJF40TIAAoJ
-EIwl7g8NwLfW7wgAnjB0msHMLIjZvK8oSH0kWpPxmiCGAKDKaUqkSvY0y87IizLQ
-YijodqQvDIhGBBMRAgAGBQJHWnMlAAoJEGhrVt1giiSbLcoAnRgf744XS2aZvXzX
-pdkvqJo8QDZ1AJ0aBMP918C88Tf5Nd1sEIg+t39hdohGBBMRAgAGBQJHXuTeAAoJ
-EIXCJ+WlVzjy1CQAn11r9MoJ0GKP4+b3es9SmnZGyWr3AKCnGQnlg2tgJrChzJ9p
-A97GwdkosohMBBARAgAMBQJCTYK1BYMA4CgaAAoJEDuOpB+C9hJABNIAoM+b0ThD
-6p/FUCWdw+nRYV0CEo2qAKC+QaW6C+mZcFBFIx6AfGyRkE8SEIhMBBARAgAMBQJC
-TYK1BYMA4CgaAAoJEDuOpB+C9hJAOHwAnjdsNOUrWn9otfEnb/WkWsdYW+dwAKC9
-WWLhX0/qlWE/2n4fcA+1D5RFVIhMBBARAgAMBQJF4sR8BYMChj7cAAoJEHMcr9NT
-waMvI8YAoMfRnlA0X1QwWBSFe8ZHXyZX4hAwAKCQz64vRmNK7+9cbAzpFCotaw+h
-i4hMBBIRAgAMBQJA4Fc9BYMAk7TsAAoJEMiB3UdK56tHYAgAoKntYOktDGj5H5u9
-hfIqE9YIayhHAJ9PdLPDyKM6C01fd002zQe/eapsj4hMBBIRAgAMBQJCHfAjBYMA
-PyIxAAoJEBgoK2tFOUoBYsoAnjEtckRH/RlpC18blWLwEYDTSgw7AKClQUzPgy9K
-Nf3j7/MsP/Emrl4+SIhMBBMRAgAMBQI9XrB1BYMBV4o2AAoJELy7xJVxipJWGZ0A
-njlyM5hKGecjlTcoKYWJlMDjf0vCAJ99oFg8mkzKasg3CREHi3Y3Fu26EohMBBMR
-AgAMBQJCSUQKBYMAE85KAAoJEGa+cf9nSGiDgwsAn3jgiKCQHBL3u0JnYrJ61zrp
-257PAJ9aWgtpDW2H3FnjuFzpx3oJT1cOR4hMBBMRAgAMBQJCSUQKBYMAE85KAAoJ
-EGa+cf9nSGiD2RgAnRArPwa3+RztD1j8CGH/Bk7q9pD1AKCByClFignqDVBdhZ1M
-78fG97gu74hMBBMRAgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6HsQUsAn2Ln//Ts
-mEqIL/bcLtt8Vz82lqjCAJ9a5TbLuUOp4+h43F2CJjrUBL7CK4hMBBMRAgAMBQJC
-2LCNBYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN2dG5+IuvpvtYAJ4o
-RmRyhxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+vi
-E7aSucUAn0cfeij+j8djU6jDPm/trQHL5/KoAJ4ySAysyVQ8U3fZ+OY3XfYKXPfV
-KIhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+viE7aS7sAAnRYuXokAy66xi04Y
-D1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc54hMBBMRAgAMBQJC2LDRBYMA
-VPn+AAoJEGtw7Nldw/RzYR8An1jLVjT/3xOU0Xd9TV1ON39qxJetAKD6GoejRHaD
-XO2KBoQnrGVgp9wVUIhMBBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEA
-oJFrzoYjkR5ANZYbeX/ozQecQCmAAJwNCoPySmaxrwO6BiUd11bO80bPxYhMBBMR
-AgAMBQJC8cBwBYMAO+pfAAoJECmqKFIzPnwjf58AoIpuzzaOyGF3g2Ky9dV9vqEC
-BNs1AJ4jRU27Zwovy/hznIR9q+o+euIjoIhWBBARCwAGBQJLEp4JAAoJEPKthawe
-QrNnybMA3ixjtagoUDd5XAO9addD51xRSP6tBBnSpzAniPcA31KUOXObtU+ns4gD
-rv81TxB+LJdJZMdYJkvC8aGIawQQEQIAKwUCReF29QWDAoeMYx4aaHR0cDovL3d3
-dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgiLQCgiPqK/6keqoRc1gY4
-ezjVthcLdboAnjD5FfICPgGIaPM2+7HKj/FrcSJHiHoEExECADoFAkdck2IzGmh0
-dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5ldC9zaWduLXBvbGljeS0yMDA2LTEw
-AAoJEOdekMA5zDPbiTQAn3DRwnGevBwyDnhC8QwFVHLOjoXtAJ0W6gyPcHIha72N
-zQYU3+Wa1q6dOYicBBABAgAGBQJLDpyfAAoJEPVNitqAgh/qT4AEAIUmlRr9EnWT
-vdNqDHoVQoThJU/wN2V8nICTngZ5C6A0zP6VTUdF24dBlIoI6k13vkXC1/67lXU/
-a9TTpi4IEzRjrb0tF5iRvFBQUlduByzbNJdGgWkkVzmsBQjSD+WeVk6ApDpdw6s5
-5Tg7s/643H6eKHr54AvWIekMB0C9lOnniKIEEAECAAwFAkJG+cEFgwDmsQ4ACgkQ
-v9buWFf3fwmU8gP+IEINaym7K7FUvZWuCkdJcHshCGVBlTOqI9YB1CTY8LNdRHp8
-jrRXBZFZODPAziH/1ZoiSQjsgTg88BUpxLLSgJHZOqhuPMWlLwa6WsytKGTkuFCn
-Z+mkmHKe7LVnjSKr8OrP7y5OhFtdVqb5dgi9SIeK2ass1Xo+9EWZbco+v/OI2AQT
-AQIAIgIbAwQLBwMCAxUCAwMWAgECHgECF4AFAj69R0YFCQLVjhkACgkQ7aIelLVl
-cW8Y2QT+PjSaIJj37ijex+wJ/HBLkyydqWYVZhuTPTVMLst6DQModRBj3Xi7UYlg
-g7lJ6tRxarVuF/eYW6Zv4jx5FePxKLBeAG+H4FRQH+ogIXeBlDx41X7L25wjSxxP
-hQ4CwBNMmSKckD84LdQiPrygbX8JQLsJ08XuTzDG7740d0RotqxizGhYP0QJTD67
-VvffoQ0gLtB5chw7Pc9osT1+j4yizojYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIe
-AQIXgAUCP6QrUQUJA7xyJgAKCRDtoh6UtWVxbwueBP4uh9ZEOuSjt2n5OpfuAabl
-srRzhlgPfluBMfjHNynEFsGjn81l81TCqStRln7wDUj95ZufSi3YvoYSFG1jffGM
-k/k2trgINtT3kxaGkfns6dykBuV7Ki2wWqdJkTe1ibyai+RCqt+J1ldSUuHdfQZ5
-wALPJQRb4Hqi7M29azFHcfxbMLf3yGYyBuKC7eBVNVaR58UTFK6r0CX3T7eGuk8b
-iNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQJAhr4rBQkEnwT+AAoJEO2i
-HpS1ZXFvkxgE/2ZfCBqYKIe3SDM0tOVNrIeSZuVNUyn2xoqRKK4VomvTI1eMShfG
-a0twPVlBB5xXHt06yRbwjobJykmDc/Hmteel+FVWOcehnXq8T22gLENlEM0CUZel
-losNwFwdnWGOHGZs/B4BVCh2pzsCra6di7MKCznZDOHX3TBLoqVHjWzCldxtwc6Y
-7fAsEtrLVos4+0JvjQoYYgHQyril5ywHYs+I2AQTAQIAIgIbAwQLBwMCAxUCAwMW
-AgECHgECF4AFAkFvxFQFCQWICykACgkQ7aIelLVlcW/xbgT8CO3clOxFv4L9gsJt
-xe6lRUISlvmjoiQigmw8PIQwGfTCRYA5oK4Mja47+1PzbqzY1AlEi3JyFpIQMDCp
-RhkhfHGjOVH2vap3aGXxSFr8JGM0SO1Z5+88uNo9N7RAi4koaykIy+GYKypoyF9U
-LGj5QL/bUYgzLLG8etNasmE/Dl88mEXhY3wuPwaeIEbcv/HDHBymbv7VplP/3Vht
-ANfOz4jYBBMBAgAiBQI81QcrAhsDBQkB4TOABAsHAwIDFQIDAxYCAQIeAQIXgAAK
-CRDtoh6UtWVxb4jyBP0arTNzMTakDhO8BCE03d0iru6sCFJ2qQeh4UAFXy8KZ5yb
-tWJxFT/Q7xn0uXKujJ99cXhuy7icDR13wWkRKG20IjKiNv9yzQaNR36+m58mjZu1
-UDnGVm2PT9bELYmKTVoumi44QWgU5lgq5KZfWhsA5BQEqS5tp9k4CBBg36JCwjYx
-HfnWxymA1hSyMKPmgmPm6aFd+Lv9d3h5oTVs9TBOiOAEEwECACICGwMECwcDAgMV
-AgMDFgIBAh4BAheABQI/pCtRBQkDvHImABIJEO2iHpS1ZXFvB2VHUEcAAQELngT+
-LofWRDrko7dp+TqX7gGm5bK0c4ZYD35bgTH4xzcpxBbBo5/NZfNUwqkrUZZ+8A1I
-/eWbn0ot2L6GEhRtY33xjJP5Nra4CDbU95MWhpH57OncpAbleyotsFqnSZE3tYm8
-movkQqrfidZXUlLh3X0GecACzyUEW+B6ouzNvWsxR3H8WzC398hmMgbigu3gVTVW
-kefFExSuq9Al90+3hrpPG4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIY
-ZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJCQFzPBQkGWKOkAAoJ
-EO2iHpS1ZXFvLfME+QHcoVJUM3FqCzf/d+JhZvM5O0wtZ5qBxO793rsE7psgAcHV
-Ie5f87QZNtDp7ZmrnugyBhC67H2FrQKr8lqsIvKbaSzjro8yUoQtswVSef/OrhqS
-gEqs08Aifa66sowT1ZWO181m4BCC7aoNRovx8Huy0P+Y1Z2btPA+uu6UvZLh2iKq
-MP+95zloNHNHZWooG5THFQl0RdCJtybyDmLpn+uI+wQTAQIARQIbAwQLBwMCAxUC
-AwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUC
-QkBc0AUJBlijpAAKCRDtoh6UtWVxb9EIBP4pk/ztQF+XV5L4krXEmbjAsGb9C+I+
-4OoRUY/mWDvNAjGppkhFD+8Q3oQvg+1dcPsJ5rQHSXgA2w1bOsTknK9DamyY35LH
-d9T0ZSllXOUX9q3QeKiDBYc2KB35ZtxKNIA4Lt5qDgYbSgtlERxDY94BCSy4YApd
-wATei3O32t5IoR+BroeIr+w+zn9mVulkn3pRXByYDX/scxcTtWwRL+UNiPsEEwEC
-AEUCGwMECwcDAgMVAgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9y
-Zz90eXBlPUNFUlQFAkMVrNIFCQcvRSYACgkQ7aIelLVlcW/4KQT+IqyFzH4FIELZ
-3kQrbgPDDqwEM80Xg/maosIx9rZVsZ5Zl99VCUaAl4t9O3aa0gAZGgLJpRrNaOPb
-TorjU5/sbRlUV4LJ8/KMG0oWXA0uuMxbPuQAa0u1cX9sqezgyveUHwpckqI5OPm4
-Uj2b5vl6YAwNcnJAbcOdr9ZFx6Ckj66uudHQ91mFgG9g89jqCBy0uxe18vcT9t6z
-VcuzItbNI4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9u
-Lmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD8yj/BQkIC2/UAAoJEO2iHpS1ZXFv
-nC8E/2m35x5385TCfpBBULbxdISP5DZcTlM9O30L+XZnn1lFVAFDQes7ZtLJfQtG
-UYzSPoA110G7ckq8YmLN46h++tV1cEdUNC/+pq+Z+hb+wGTdXL9z2cGYXH4YyUTP
-FYgqAvegFEpUQb2ApP9tOfnNlAu3gu74GUBN4AM1SVSOdyCApJdene5hCCFaplAe
-sSze2TQ3DMHFg9b3sOa1hyNI1pCI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgEC
-F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObodQUJCP8v
-SAAKCRDtoh6UtWVxb4FkBP9tBDCSdedRv15ohfH5pJsB6g7mByjDIXOWByKdpTIe
-7on/WiA7CKWShA+zGGBEToD+6eTdlpyS8GvOk3abD1idUZEL41z2q55FYoWEF8o1
-QXAwJylUjLUiMJH98DPXGVXiSknlBBfls97xNhSp8pFLqF9ZG8Fl3RJS4LWzXkjK
-qAqr1FkRCersY7PJC8xtIF5GStvga69kh3B1tH6oPY+ZiPsEEwECAEUCGwMECwcD
-AgMVAgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNF
-UlQFAkXV1VgFCQuT/C0ACgkQ7aIelLVlcW/oNAT7BnY+otbWxp6nuX2aKTnnmXVs
-VXS1DWFXLPplGwAp6b2rdlrm8pdj1BsXr9J4mLTBPdGmcJq7Yt7Srw9o/Lb3j9Lq
-cZYBIQP108oUMOQoDAgxgxln9ES0CucRAbFrrjeIFeZ9WM3ceoo4nmcDSXxOHTiz
-jODgj5GmhNvSYtE1V/wZxEgT1s91v0dNBYw3XP5deHgTuTpZskFf8wCk/kdLQYj7
-BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nv
-bi5vcmc/dHlwZT1DRVJUBQJIYfmJBQkNGHReAAoJEO2iHpS1ZXFvPh4E+wePsiIA
-/rMdtwMewEcEyNKmfcdRvbSWLJVykJ76BIMUTe2gBArDmk8IT+a38ydbYX7XfH+M
-mIDtKfTuGsZMmTjslEVSX0HCc9hDabhZpdSvIzpb2Ss4pYkyyTCn0MZqd73TCZMX
-/HtMw0cGT3wPtp1fdFj7TvH7IeMDkc/vCSPcZcxJuVpRvgqzHcKKGrxoO98IeF0X
-La5zEBp0JtNuHeKI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpz
-aW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSaEuAAUJDq1aTgAKCRDtoh6U
-tWVxb+lEBP9fygV0LopkxFO6SKll/LZynbNBaZiz3dPki2vlWupTiQbMjJ4aliUh
-L7uMPX+MguMrcNhAtenA05/cAHC6UthhN5flKYeTkomGL9RbTn1fq05nqWmlbbh9
-Ev3c7NfqBUEcamPip+KsvMzt6r5XIl/3eF7zOdg5Yn+/LeZdr9B0wuYgvV4L5nYD
-Ky6WkMA54gPNBtA2ps8yg2uZw7pWdnIdiPsEEwECAEUCGwMECwcDAgMVAgMDFgIB
-Ah4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAknt59oF
-CQ76FCsACgkQ7aIelLVlcW9HKQT+N9SWzP9QXtBIA/eYqH6hMfSKoVF6edhFQk/7
-FejAX3VE6ZVo7M1iPd70e++3nwlUYU9iUp7TaeOPLKjdCAUsDbpwNGSuj9oc2/Ba
-zRdjzjBqncZaOa76IzsIvBpLN9TPCcuzRMaggu1pAQMiGReFmApThaxCkOGwjFdm
-cWbydb0ngO4kbeHi6BXOzy1BTTRdK3Y7ThcRFvfYodeFRZDWVoj7BBMBAgBFAhsD
-BAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlw
-ZT1DRVJUBQJLg+AxBQkQvjD/AAoJEO2iHpS1ZXFvDAgE/AzYH40Oe01TlvH651jU
-uR2PI2EJXOgo+2SdNekXdrWjKDnjix7TIULeCbhRCGA3VT7T6prGOVzeLUPt0Dow
-NLE5D9sjeq4bRvfBT0Qd+tQDsWPhw63rhRAaOT0eKRJ1GAcybsP2l/Vh/J7seYRO
-taeUAuipWTBHf39W5IOQjjk/pRTMrgnIop+ApncuzxQHfDXImGqzjCTIu77zKkSX
-tMGI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3Nl
-ZnNzb24ub3JnP3R5cGU9Q0VSVAUCTvm3NgUJFLfeCQAKCRDtoh6UtWVxb9AiBQCx
-rKdLFfVUXx4h7RAUGJAqQU1SKqURDywpwkaD8LRxGRpIRi0nd01A6PZXGqalhHb7
-829MvArqLnsB90BCcQ2cJWzsZblTe1zzNOgi6682sEpW40YisLj0Rwyl+3DmvNRm
-J6jqWEuaKaJpSjoHrllKYQeiZ0zgke5cS0U2x2NTwXgKrrF6po67ZxXgX/9h9if3
-nBEuuCqThZhEvPUis6qGiQEcBBABAgAGBQJF4zp6AAoJEOjgYvYNywQx7e0H/juf
-UUzX7Yw7sX2iFVN4sCIFbPJ13km/75+W63NRH6WhBnTa1z1h7w8v7ugEWd/OhuRe
-Hc9xG+JLoGgPvz+KdKTyJkZnokUYHMr6QE3RBfv2O/O3YZJf31bOv6Iy8ewauS6T
-sR7PUmSI4cV5HT80tOk9Hac1dog1WxlM9ZmS/LskBdHptc5XaIrMMxdPIKOJKFnh
-K17WQMtCobubqfLAyEmlFp5tlQx6xS3a/Dxc6VL/Gd+HvlzYolaD/fPXROhsdqoA
-YZkf6a8WOeCQsTIf3rL00S43/XM3t7dTyPNJiv5Jqds7FSLHdUiHcPn482HeGcw4
-uIAPJ+uE5b+YJXRp+QyJASIEEwECAAwFAkJhOZ0FgwDMcTIACgkQC3gy83PWLUH2
-Bgf9GHMCCYb349m66855EyPkJmlVRGI5Qi6m37rjRmvAjL+aBSFYoAYyUKefTyv3
-TsJ8l+bAQsoaRU6wbn7uc/LwoJUTByXFj7rPOoITxx6Sa3VP1nYdXjCtarKmjzQT
-YU1cWwfKUbEA3fSgs4gpd801l6C21F+DbSmP8CbOtGb62Nv1Ux1CXiWn2r8VUy5A
-VWZ0VD4qvxxIGGn58R0vLxKC5gGFids9JdMhJd1SHQ0mFkZp/NpNOnbw2A0tfhaF
-spdQAoDEjOHTr9fs0PAUBrt5YcP2W+iNZ9KPfN2c707p/3vErSPxQZCoXBmnN2LA
-5weNIVWZnKuJPUeyQ5FwH9orPokBoAQQAQIABgUCSQa/OQAKCRAp7li5loZRcRIv
-DCCoP0WynVZn3xtmZbozv1qkW0O2WjDdR5Kxs3ti31vK5HoVf+Qyii0U9AR/OJ26
-Rcjj1TOBR7975vNn4dMgw58ensBZRoBnO6L5i4xw5bSO/DsrRBZirfzu0jN748rc
-9f/17fa7ZWlg64QNrZzBEN/cQOwK8bcqUcsIXOddNxbp/udWVEoBhsyZZFCmpvP5
-APG+g9FPsd2cGXAcy3wVvj+oJ3nNr2RKID8cbpGD67S20RNma1BtFNUbm1F7u+n5
-+LbqyAd2meLxXQmN2pf8QSJIOieZVtXc0XPr2PE3/aZ9/4CscoBOtSJtO/2/KQCi
-yQRHLqJsyJ/pVkuJ6dzuIeh61ThUkFv/+MSueYlOxfZ1ZqUAMJo9vdUpeyrMKdLH
-+DQyec7qOIgxaEVCo77XnBu7NXUQU9dA2ppKr6tTyArEDeudKE4UGg8PlQ4pi9YV
-UcDlHc1CM/gJCuUkcz+g3t54bmMTKUm8acQjkLmBj+W1IQdt0Y4CcFnqq9uESGRq
-mxDQ/aLRiQIcBBABAgAGBQJF4ZT5AAoJECZJ5ijF000FiXAP/1cQ9iih1PuCQpzB
-zALS0Md+vzJQcKhho1V+PmQII/c893bTj/aGHh/lOV0AltG8lW6p8mHQ1tMOblHL
-aSrcTrUUt4wkZszw9mr36Vto53oO8pX43iEJ59xJZLdbMbt0Ikn7xcRYMOBnyRiL
-NP534TueKjhl+fqDIrWryYjQutIRie4Pk6BGTpjV5FktbPd0s3/PDm8ubusbUaKm
-DsS54+pAOYj2EpddMs/qKYq65QpsYfbMI7+9xfLronmwjoiTLjDZ0DYP/oJAZT+U
-1Awquxwop4jZ9dDwjtQU8aiYOKw7WXGvPlBD7PVXHqdwjm7mKs2McUVg+Wyru0Xg
-mDJVfXmxOmwAcwEAleGQT1/wLVjGy00qc/0XQm1zOorhsUXVtWhoTkfQinw40t92
-gF6az1CXoGC8bJAz3ifqtNhWeWHLH0870suEXyRT8GmU9wDz5w82QHXTG4rjzMzy
-q+tKiEH9AdSjjoffcnY90x0WNkzgqrO04kLYOw84TwvpZkEwJy8xd5M5N2go+ZxG
-148AoX5rNQdY55ykCRdIorsfMnBlbI2tBaNcSLmnlaMS5QYUGAWYaVvOLsAtgsqP
-OMcMW8EOdvZ1lbMu2zA90r90QxyhWW9lRCOljQDOES47o0VDrGJwczP3rea9qzW4
-VWGaV1yNPbZ/W7ggpL76nMQyUpXqiQIcBBABAgAGBQJF4s7iAAoJEFIiU8PXJzmB
-ZVcP/2j+knr/TnAy18so2tzJd6vxF3tHXiIGcS7pyyXL/Yq0p624P34dsmcaIJ20
-iwTHQVEQNkCtdt2sF1Ho+yboIZ9Up1C74tvzqiOfqawVeEMdK1PQaJsBEBPr1h0v
-9KhZnNMPiM6KAQtD14VSPbU7z6v7yjK20i4gZcasOhJMrH3EYByCHsaTzQfZDA+G
-G6E70x1zksabYWN4dHoToZ0XosOuwkBt9AjEF3T6dNbrx/OuehdwgOSxoU7/k/qx
-gHCfEhYkoYxfnF1jpSOw7QhX44S/w/UvVINkljIoKM+GBPmrdNUhs7NGoYoxf3I3
-1uvExv5gcQVxebmN60VNO3/dvZLNqDMvpfZ6VT8HA7yrGB8DaL7TeDOcEuVFqYF+
-pCOGTz1fp52p9hVKjQnGSPfqVLMjrxCI7HWZBly4Mi+Vmjd9Q4WTc/cjFhiTmjR5
-UaXQ5vHT16Zzz6FxSpuzt4cmpkltZoymjDxtjzIoApR9Sn5yuZGNg/xvs9X5OZDO
-RLPh/sz8ksQzLKdyL8BPpHQCBZapWv2PuiENpmwG2kc88zqwddvmKTX5Amz5qUGT
-D93LtWCIHSf2frq3RNJ0nqR3/soC+1rrOmn1D+RlhRTXtgUiUf+hXHdq/j1ew1P7
-oYWwLusqhECVN/1+Bg8MM78cUMke/QviWKXqIOf4AM3VmvtpiQIcBBABAgAGBQJF
-6VpOAAoJEFeTDasLhrBn9ZcP/R2FJvi8q5fQfpncTK+V6FiuNlQqO/y1P4HQ5aa9
-7G5QQLpW1o8Z1XRschYiLsCOKNOC3BEOxPqouD43zB8DN8aWgIrPsECIXZSBqn9f
-QnBsRerQ6BLMnQtTl+wcEyP0FvakdWZlWrKUmmm6ExKdDiloRy1+rcuzRQmyU2Ea
-1+UATqIhqywilmojxpl8G0LoBYeTsCxSX8xDgaXGSY2ZU0mgFC3yHsMQrTYA6rAE
-tisc1LKoGWaPP3QJ3erwyeyHV3vTb40lkXYi4aOpIC/kTZpY0JlDbOSgyE4ZOWo+
-yUTMiFvsb9rQjbbanHwO0DNhfykoDTMtX7hbTqks6tuqI8Q4EI8TjC3y3+M2u3Rt
-WDeGsvpJ/7cBimAMbctcSuEZsRw9Ow5FR5AxZwa1ot8oKzb0GWflYFWB6IkAO/e3
-vDgQwUGPmBWUdq41sPOKnir36LcHhaOZuqTsc6l+bGWI4oQhfpooT1J95wle1rsD
-Wmi07ymDQuV7O5+M3vbLc9JQhrRWep0wBXJhcxhQ+68BOUWvSpZ/PCqXl38nvM2K
-AXNcJbSIGW/mCpOmion5vJmvZFR20L9DbKZY/j9wBxJwWtHhqcOd+I6oF44ZAHLt
-x5h3gNZ3fw8FT5+fhn2ufwd8hGUnfLYKLucuzBtunfwYuBhjCra2M2jG4av/j69v
-xzfLiQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJEKrj5s5moURoX3QP/3FXy5r97OFY
-67kAOAcTXJ5YxZCx5wjH1MDlBVCDymmMDcTZER7+UlsLB5WHB+9Ka6+7KZFDDvVw
-h2aoXV3P1HyZvrY3WvTsNw/GJuG0eLimgQ3Egeq8Ru05HXtjpCXgNbg+MrW633Lb
-LnwcrpdOKoK1uDjeMRxteTWv2osmXYuCilglDUokLB+f4MJVp1EDYWBVyUwZQYh2
-KJPCnXb4T/vShigzMvCb7sxSBslSlEvK2xzl+uFP3WJfaU+h7KUAcBDTrzVaJrC9
-7GWq0A+2j0aNu2fDfahI6oglxtsyE3wbzumS8GGTnBd9UzuTK60EWEgdxAUZ64aR
-mmB5e3jQ1xQl9+f4o595fOB1DCbA2Wj0rRqvE2ki6SC6C9V422wqPWC1bsiRhwua
-+UPJKHP9zK2C40RT7VbRl4bvdOOmGzyYJKUIpVw1ZzLaXvP8O8HdU+Jtpznbn9LD
-VkirsNKFEce/zHTb/rnwsRbuBK+9niPfK5lI2AvaWA/NpihCj7zKwcr12pWJUFcA
-cjBVlOZem1vnPFBwe0VSdHnUgNIB8EZ3uCNTk0k18oqeAuMMnLnqeYkYzD/7XcXl
-cVyMY8L23pkqhC53vXYrxNEhzNaAYyeCRqHJOXgojA/FXNadQ3QiRyw7/nI7cm51
-bPNgHqvVCiYJIAAD66Kuy0nBW0FawIDniQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJ
-EKrj5s5moURoo2EP+QENiDYVYrAiRIyXPQplagAXCg725RaqtsXvPyDBkqU4Zb2C
-9wXQ49ijK/LT3het2p20bwjYmop9iClo+vuMVTdWJpjUyvzBA+rF9ya4qWwJ9mMP
-EppgfHhUpOILkhcniC4x5OWrNtPHeudNkubRJ7J6GZAN8g9NpxV6JIAzRYscTPR8
-8jnBggErugNlDJIi2VFII4mYirlMQZURv0Hnsil7Nbg7RbBGoTqHDxNOfum4wcd1
-Osjw9LJ2g8DBJGZTFXynYQvhliBNNSu3O/SZN4bs93NT1hzZMXc5cnARPWhqR7Q8
-0uGuJrIOp1WW+zWHYXUoQgCi24wpdF3wKJREqWdqGPt5a23chWKvw92gHNEC1Pf4
-mbwRLfbH9N1dDwoO3XA+z/R6QsxwjPIAhJbqBWL7q61SlO9RcxD+D+xBlePZitFN
-KME0U/paYTiE9zWHcm4mbQFvBcHRzyMTrRgQZ3QAdImA852+tr0B428xTp2fpzRO
-zVuhXTfkO9NmFO1QBv2QBz9Pmi40PCbyCyihvsTTZQVF+EwijRmqPkGfaYLRAKdJ
-v0/wvULpsBtkQVd79Sucf54oGv5gximFMhZZn8JJmEnAFpUMUIvOqv1n86KsQtIQ
-koJwbRXLGiKBB8eYfoJGMz0rgiYnavmuvgUpPfDzwa63Gz3KllbpcSFD1OPZiQIc
-BBMBCAAGBQJOXJv+AAoJEH/Z/MsAC+7uocwP/0FZCPeaUYR1HCW9E55ro+Thz4Kf
-o2F/nO83JQu86Z8oFSrT1e9klZ7N115nab2C+3+fe+P2Ehyy7KKMOcYTKbgMnacj
-vk2DY3lfsPSyR/4zKjgNHBhmQrGwyiR9nIKZVVU8DY49ed3wnj7cMYQjnvtKNyBo
-xKLNfQNShnsTyOFyxlHKz/m2bIaeGqEJod47QCuvEj09/vX4roMY5Lo+4GL540AM
-/UPdmorUzPz5TUzZTMvcoyxeGMrgfWb0mgeTO3SjzMjZzPcQ50xqbz40fZzqaEYu
-KrxqHFis7+nnCIp4yLjJjH3NPjw0XQsHFGRxYpNMTN7GGVDzviCVgnNHEupef4YW
-ra5+LUXw1wFXRRIavvEX97jEu0OCbBmG4vRafx1fR5TXP5f5TKn+0QjU9l5eBjxf
-7Z42pWkXezNOrz2iBw7sTa6dTLyTafTZCfDsYAj/OMU/IBsKb1Bgo7udlN/0G4kg
-lY+sr2LKsJnSdVs5bXKBx1B7urlEOuWbguIV3cGmNiQxaycHNLMnxKps9s722W7L
-xMBGEP4hna9q3tzjCohTP8Ipws2nQL1qD6Usl9zfh/uDQUeXKlp4+TBPyTfzptaD
-i7d5OverTrnWmaSv+xiZpIdojNdZRIkqcVhIHaE03t51E64IYz1D9DMdatnm7SaY
-1xNyJCpEPs+vlxuWiEYEEBECAAYFAk5XxfMACgkQB5GvjMAzY/SqbQCght31VjCN
-rCkPSpQVT5TFsj0DQpMAn1PXdwJ8Qhnc+011in9A9QeSn49wiQIcBBABAgAGBQJO
-YMgJAAoJEFKbqWJpCnCxJg4P/j10P3pZyGQLMW96EKr6fMY64j3EgnoceYezi5Gn
-HYGZ3uLa0+9uWwFwHZ62FtAlZocyWCLSNn0ny0abQRXhRbf2h1IEphv1Gw3B714b
-XdeI7RJqgLXo6C4eXmVawKpabII9hGdVrm8YFev2ihwMNnhD6eBjnd34t6xo1Kd2
-6n8cj6h8a+nqMMaofNxCKugnhcn2KQ8ewOA9zGJLtRDQhuDFix4DN944g2cXnPNm
-1tRpdUqzFN17GCOYXrxUVLaQTr6fY6GxLgEaGYz466+zQ6OnlgwPbVxjG4S0V1nQ
-t+WN2o3lF9jR79X90hzWv6tZz8y/BhaJ9IGIHpW7VCSnUnm2UfTHDTUhGkPgwV1G
-oxThas7cnGPK/2W5jrF1xUujbJLzADOQywZGkcc7b001qUSBkQXJG7aXwBbFSGmA
-dtaGKq8M8JEWaXgHjbs6tcCElsuA5ebhxOgT14WbSFndt+9+38hJyfyI285D02M7
-ZmYK3dsReD2CZTsFDW8/7BJFqqOgyBx5aVatrVqMDNfcNBTHjWBPfyGIFED7zm4J
-UgrJfzTrSsFZwaE27UQKKInZfobZXf4RlfcRYfSNRM8vfk8hTQ9G+ZzFHJzci4+H
-pP7VYA/jHTAXg+OiUqi57dU8bxtiUEDvHJJwXrzVfzkP6wagdReTNfSpEKyGaet2
-jf3UiQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJEKrj5s5moURoX3QP/3FXy5r97OFY
-67kAOAcTXJ5YxZCx5wjH1MDlBVCDymmMDcTZER7+UlsLB5WHB+9Ka6+7KZFDDvVw
-h2aoXV3P1HyZvrY3WvTsNw/GJuG0eLimgQ3Egeq8Ru05HXtjpCXgNbg+MrW633Lb
-LnwcrpdOKoK1uDjeMRxteTWv2osmXYuCilglDUokLB+f4MJVp1EDYWBVyUwZQYh2
-KJPCnXb4T/vShigzMvCb7sxSBslSlEvK2xzl+uFP3WJfaU+h7KUAcBDTrzVaJrC9
-7GWq0A+2j0aNu2fDfahI6oglxtsyE3wbzumS8GGTnBd9UzuTK60EWEgdxAUZ64aR
-mmB5e3jQ1xQl9+f4o595fOB1DCbA2Wj0rRqvE2ki6SC6C9V422wqPWC1bsiRhwua
-+UPJKHP9zK2C40RT7VbRl4bvdOOmGzyYJKUIpVw1ZzLaXvP8O8HdU+Jtpznbn9LD
-VkirsNKFEce/zHTb/rnwsRbuBK+9niPfK5lI2AvaWA/NpihCj7zKwcr12pWJUFcA
-cjBVlOZem1vnPFBwe0VSdHnUgNIB8EZ3uCNTk0k18oqeAuMMnLnqeYkYzD/7XcXl
-cVyMY8L23pkqhC53vXYrxNEhzNaAYyeCRqHJOXgojA/FXNadQ3QiRyw7/nI7cm51
-bPNgHqvVCiYJIAAD66Kuy0nBW0FawIDniPsEEwECAEUCGwMECwcDAgMVAgMDFgIB
-Ah4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkJAXNAF
-CQZYo6QACgkQ7aIelLVlcW/RCAT+KZP87UBfl1eS+JK1xJm4wLBm/QviPuDqEVGP
-5lg7zQIxqaZIRQ/vEN6EL4PtXXD7Cea0B0l4ANsNWzrE5JyvQ2psmN+Sx3fU9GUp
-ZVzlF/at0HiogwWHNigd+WbcSjSAOC7eag4GG0oLZREcQ2PeAQksuGAKXcAE3otz
-t9reSKEfga6HiK/sPs5/ZlbpZJ96UVwcmA1/7HMXE7VsES/lDYhMBBMRAgAMBQJC
-2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEAoJFrzoYjkR5ANZYbeX/ozQecQCmAAJwN
-CoPySmaxrwO6BiUd11bO80bPxYhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+vi
-E7aS7sAAnRYuXokAy66xi04YD1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc
-54hMBBMRAgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN
-2dG5+IuvpvtYAJ4oRmRyhxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJCSUQKBYMA
-E85KAAoJEGa+cf9nSGiD2RgAnRArPwa3+RztD1j8CGH/Bk7q9pD1AKCByClFignq
-DVBdhZ1M78fG97gu74hMBBARAgAMBQJCTYK1BYMA4CgaAAoJEDuOpB+C9hJAOHwA
-njdsNOUrWn9otfEnb/WkWsdYW+dwAKC9WWLhX0/qlWE/2n4fcA+1D5RFVIhGBBMR
-AgAGBQJCSQGLAAoJEI/Dcl89aNY6Fn8AoLW/JrZSPK4Odr0+Q0VPgrdzbg3xAKC+
-yF/Nt3s23ux1XoIXoq396u85irirBDzVB3sBBQDY9NqhPxE2QUOVftQI4H29pEXG
-tf503uXpA747QyDt1V2Mi0SdppiQn6vgtd5wjjseiCxQYTFF0NgZPQOrtpnwaQLh
-Qo9dzerYpZDeJvfCPeqcIabchf8jbj3J1gsDNDJaoxbT3AsHm/GE+LjKN63gVMZa
-a1hSUbMNvv7pVmKVhFO3LS+EUXhxVeU7ZH6+A/EUy9RzujxYYOdDeLJYCLORAAYp
-iMUEGAECAA8CGwwFAk75tzsFCRS33b8ACgkQ7aIelLVlcW8bUAUAjDBNYESwwzuo
-vzIN99U5AQCmZK04SvFIKLOnVX7TysvEciB1KcMlWTb6oiUtfVrlq471i9YbNO0C
-wcRuF+wXEvd4gr35p1EV7xUSJtQbL1Zk1W45S6WkyqOjrajN7TDsLnGGs5EvnhPr
-DfKsXA9RtL8BKQ31yjOl61BN9nhVDCPBv0+d6s/dIVsDt9AGJ901RpulJF23iGRL
-k4fc22qR9riOBEQcLesBBADmhtD1sFupeGfp1H+G37V8mngf47BsBS93RI+3mZjN
-dq9Mx4+yYUCWvW12SLD2EbaBiKColY2e0K9qG8LS8kEZfyPSy+K/vBUW28YbQhe4
-Dn3g7T/Q18JrNNyWPk9vVhOlnQQ9trXTW2xYCAHPXGVgHs4fDwz9AaymqwCu36tw
-BQAgzc7kYYjFBBgBAgAPAhsgBQJLR0FnBQkJvkF4AAoJEO2iHpS1ZXFvVWwFAIlV
-hh+psc/tyvhl0cACgI4SsZK6DNfTGhzLBTdVyWmv7nclhlZ5zVp9N8MC4l6v3lbX
-iA8aZ8FYXoK7ka38uNzpY3zlr+VXWUi+oJOQGdYOntv79To87ITU9/PfXFNBch2u
-kCf9t/0X04xqQYIsPfz/q9gnsTirQxiyIcflN+HtGyiqWqWs5gGFSp5w5mLMqTSp
-KQdkUF03M7RHPh+onlq4jgREHC7SAQQArB4IoJfse8rCqRNkVzYmbtxvzzrtyl3L
-rluNgS7N4rTOLgCQeUJ8lgqEr2h3KEZ8PjGBWNYww3rj/MnX64jv/Ybq9XxJc/vk
-FBRYT1ISqGszeFc3P0KTXnVahF5xG4MaQ6mhy4PgMq3/NETdPH+TJ+I3OL//KOa0
-MpGjwmtnGrsAILXz8IeJAZIEGAECAA8CGwIFAktHQXkFCQm+QKUA18ALIAQZAQIA
-NAUCRPM4Ey0UgAAAAAAVAA9wa2EtYWRkcmVzc0BnbnVwZy5vcmdqYXNAZXh0dW5k
-by5jb20ACgkQpycTyKq7H3t8KAP/YWnPIkW4kfAWU5E93P/0R9DHa1ly7zP3JWbp
-m7Lxe+2ESOJwPn3GWSn3h+Ty+3UhOIsqIEM0ISQ+SPAG/ltaghcT/XUWnUtolcb6
-YUVBcjQt58wpxRWZwEfwQR58aTfJHBDDHXWTq58N9YoalwTCFSviF/UzyHAysp3d
-Bje77/AJEO2iHpS1ZXFvoJ0E+wWuL4AbuDBrJLsjYfUCFUGc4adGy9xv37pVr6uB
-PzZrVJXL+JQ23Xok9IC53g33Ar8r11tT9W1uyLqs3xX5K6xB88trH4DJN/e4galU
-BbO+yRUKogSngkwj42kmdkm/woMC2DqV8389zS1SBqm8Xw5RsH0d9MsAukyyr+qH
-8aK6nEtY+2/37V1uqbu1R7MEQhqZjuizvxqpdTaGclqEk0W4jgREHC8JAQQAxCLe
-mYxwWqGwXBUqMX74GTQULkvtSc82sXWixyrhPNyaxYKuAvlKO0nkXGEAwS/YMC4m
-+gJ7iTiskG9iWPfoXPK5S81AjRX7NA8B34BAb5rJbW2eHypOLQ99MUUBYzuNLLqp
-wBZTeumoaz7DgoIHNpMpD4x/Irw1mX83xNhQ6F8AIKatOU2IxQQYAQIADwIbDAUC
-S0dBggUJCb5AdwAKCRDtoh6UtWVxb+UQBQCWYZv+oxNKpH+uH/e8J293gaJcJ9nD
-kENb8Tiu8st7EXaQm8OqyrnpZyNz+c5t8VxygolhmwquonxAas5CHxfff/1hMZjn
-ijP2pxqJ/N2zxVxiKUfEonQ/zfnSl2OumOKD3rla8DPIaRDTxPnh02wUF64PHQOL
-JibEtwSMb4NMHIeiN+p+12iqwLX/s6Wq4LfwQ5aBu6tTKyulkD4oZ8QM
-=oc2d
------END PGP PUBLIC KEY BLOCK-----
+Tim Ruehsen <tim.ruehsen@gmx.de>
+Added fuzzing and OSS-Fuzz integration.
+Fixed bugs and performance issues found by fuzzing.
+Modernized GTK-Doc build.
+Fixed build issues.
 
 ----------------------------------------------------------------------
 Copying and distribution of this file, with or without modification,
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..b68a5eb
--- /dev/null
@@ -0,0 +1,111 @@
+# Contributing to Libidn
+
+This file contains instructions for developers and advanced users that
+wants to build from version controlled sources.
+
+We rely on several tools to build the software, including:
+
+- Make <https://www.gnu.org/software/make/>
+- C compiler <https://www.gnu.org/software/gcc/>
+- Automake <https://www.gnu.org/software/automake/>
+- Autoconf <https://www.gnu.org/software/autoconf/>
+- Libtool <https://www.gnu.org/software/libtool/>
+- Gettext <https://www.gnu.org/software/gettext/>
+- Texinfo <https://www.gnu.org/software/texinfo/>
+- Gperf <https://www.gnu.org/software/gperf/>
+- help2man <https://www.gnu.org/software/help2man/>
+- Gengetopt <https://www.gnu.org/software/gengetopt/>
+- Tar <https://www.gnu.org/software/tar/>
+- Gzip <https://www.gnu.org/software/gzip/>
+- Texlive & epsf <https://tug.org/texlive/> (for PDF manual)
+- GTK-DOC <https://gitlab.gnome.org/GNOME/gtk-doc> (for API manual)
+- Git <https://git-scm.com/>
+- Perl <https://www.cpan.org/src/http://www.cpan.org/>
+- Valgrind <https://valgrind.org/> (optional)
+- OpenJDK (for java port)
+- Mono mcs <https://www.mono-project.com/> (for C# port)
+- fig2dev <https://sourceforge.net/projects/mcj/>
+
+The software is typically distributed with your operating system, and
+the instructions for installing them differ.  Here are some hints:
+
+APT/DPKG-based distributions:
+```
+apt-get install make git autoconf automake libtool gettext autopoint cvs
+apt-get install texinfo texlive texlive-plain-generic texlive-extra-utils
+apt-get install help2man gtk-doc-tools dblatex valgrind gengetopt
+apt-get install transfig mono-mcs gperf default-jdk-headless
+```
+
+DNF/RPM-based distributions:
+```
+dnf install -y make git autoconf automake libtool gettext-devel cvs
+dnf install -y texinfo texinfo-tex texlive
+dnf install -y help2man gtk-doc gengetopt dblatex valgrind
+dnf install -y gperf java-latest-openjdk-devel
+```
+
+On macOS with Xcode and Homebrew:
+```
+brew install autoconf automake libtool gengetopt help2man texinfo fig2dev
+```
+
+To download the version controlled sources:
+
+```
+git clone https://git.savannah.gnu.org/git/libidn.git
+cd libidn
+```
+
+The next step is to import gnulib files, run autoreconf etc:
+
+```
+./bootstrap
+```
+
+If you have a local checkout of gnulib and wants to avoid download
+another copy, you may want to use:
+
+```
+./bootstrap --gnulib-refdir=../gnulib
+```
+
+Then configure the project as you would normally, for example:
+
+```
+./configure --enable-java --enable-gtk-doc-pdf
+```
+
+Then build the project:
+
+```
+make
+make check
+```
+
+To prepare releases you need some additional tools:
+
+- Mingw (to produce Windows binaries)
+- Wine (to self-check Windows binaries)
+- Lcov (to produce coverage HTML pages)
+- Zip (to pack Windows binaries)
+- Clang (to produce clang analysis)
+- Doxygen (to produce doxygen manual)
+- pmccabe (to produce cyclomatic code complexity report)
+- ncftpput (to upload source tarballs)
+
+APT/DPKG-based distributions:
+```
+apt-get install mingw-w64 wine binfmt-support lcov zip
+apt-get install clang doxygen pmccabe ncftp
+```
+
+See README-release on how to make a release.
+
+Happy hacking!
+
+----------------------------------------------------------------------
+Copyright (C) 2009-2024 Simon Josefsson
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/COPYING b/COPYING
index f651116..ef77cc8 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,5 +1,5 @@
 Libidn COPYING -- Explanation of licensing conditions.
-Copyright (C) 2002-2012 Simon Josefsson
+Copyright (C) 2002-2021 Simon Josefsson
 See the end for copying conditions.
 
 The source code for the C library (libidn.a or libidn.so), the C#
@@ -9,10 +9,13 @@ or later (see the file COPYINGv2) or the GNU Lesser General Public
 License version 3.0 or later (see the file COPYING.LESSERv3), or both
 in parallel as here.
 
+The author of the Java library has agreed to also distribute it under
+the Apache License Version 2.0 (see the file java/LICENSE-2.0).
+
 The manual is licensed under the GNU Free Documentation License,
 Version 1.3 or any later.
 
-The command line tool, self tests, examples, and other auxilliary
+The command line tool, self tests, examples, and other auxiliary
 files, are licensed under the GNU General Public License version 3.0
 or later.
 
@@ -21,6 +24,9 @@ Other files are licensed as indicated in each file.
 There may be exceptions to these general rules, see each file for
 precise information.
 
+For any copyright year range specified as YYYY-ZZZZ in this package
+note that the range specifies every single year in that closed interval.
+
 ----------------------------------------------------------------------
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
index 94a9ed0..2a00065 100644 (file)
--- a/COPYINGv3
+++ b/COPYINGv3
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
     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/>.
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
   You should also get your employer (if you work as a programmer) or school,
 if any, to sign a "copyright disclaimer" for the program, if necessary.
 For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
+<https://www.gnu.org/licenses/>.
 
   The GNU General Public License does not permit incorporating your program
 into proprietary programs.  If your program is a subroutine library, you
 may consider it more useful to permit linking proprietary applications with
 the library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+<https://www.gnu.org/philosophy/why-not-lgpl.html>.
index 74d4634..70feace 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2012-05-23  Simon Josefsson <simon@josefsson.org>
+2024-01-13  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 1.25.
+       version 1.42
+       * NEWS: Record release date.
 
-2012-05-23  Simon Josefsson <simon@josefsson.org>
+       doc: Fix NEWS codespell typo.
 
-       * NEWS: Fix.
+       tests: Add standalone.sh and improve tst_versions.c.  Run system tests in CI/CD.
 
-2012-05-22  Simon Josefsson <simon@josefsson.org>
+       cicd: Silence warnings.
 
-       * cfg.mk, doc/gendocs_template,
-       gl/override/doc/gendocs_template.diff: Use devhelp2 format.
+       cicd: Enable UCRT/MINGW jobs.
 
-2012-05-22  Simon Josefsson <simon@josefsson.org>
+       doc: Add NEWS entry about Windows fix.
 
-       * cfg.mk: Push to git after doing gnupload.
+       Silence compiler warnings.
 
-2012-05-22  Simon Josefsson <simon@josefsson.org>
+2024-01-13  Francesco Pretto  <ceztko@gmail.com>
 
-       * po/id.po.in: Sync with TP.
+       Fix type confusion for Windows.
 
-2012-05-22  Simon Josefsson <simon@josefsson.org>
+2024-01-13  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/snippet/_Noreturn.h, gl/m4/dup2.m4, gl/m4/fstat.m4,
-       gl/m4/getcwd.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/lstat.m4, gl/m4/malloc.m4, gl/m4/off_t.m4, gl/m4/putenv.m4,
-       gl/m4/setenv.m4, gl/m4/stat.m4, gl/m4/strerror.m4,
-       gl/m4/symlink.m4, gl/m4/sys_types_h.m4, gl/m4/unistd_h.m4,
-       gl/m4/warnings.m4, gltests/binary-io.h, gltests/ignore-value.h,
-       gltests/init.sh, gltests/stdint.in.h, gltests/test-binary-io.c,
-       gltests/test-binary-io.sh, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/malloc.m4, lib/gl/m4/off_t.m4,
-       lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/sys_types_h.m4,
-       lib/gl/m4/unistd_h.m4, lib/gl/stdint.in.h, lib/gltests/init.sh: 
-       Update gnulib files.
+       cicd: Fix coverity job.
+
+       maint: Improve compiler warning handling.
 
-2012-05-22  Simon Josefsson <simon@josefsson.org>
+       cicd: Avoid duplicate pipeline.
 
-       * configure.ac: Revert "Fix version controlled build of libidn with
-       automake 1.12." This reverts commit cf725246a5585d56ccb14c46bfe2a163342ff21f.
+       Bump required gettext version to 0.19.8 for musl-libc.
 
-2012-05-16  Simon Josefsson <simon@josefsson.org>
+       cicd: More make -j.
 
-       * HACKING: Fix valgrind wording.
+       maint: Fix codespell.
 
-2012-05-10  Nitin A Kamble <nitin.a.kamble@intel.com>
+       doc: Rename HACKING to CONTRIBUTING.md and fix markup.
 
-       * configure.ac: Fix version controlled build of libidn with automake
-       1.12.  Signed-off-by: Simon Josefsson <simon@josefsson.org>
+       cicd: Add Windows/arm64/ppc64 jobs.  Fix macOS jobs.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+2024-01-01  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       cicd: Use standard stage naming.  Some macOS/gcc/clang fixes.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       main: Bump NEWS hash after copyright year change.
 
-       * .gitignore, ChangeLog, cfg.mk: Remove ChangeLog, it is generated.
+       maint: Run 'make my-update-copyright'.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       maint: Don't disable copyright_check.
 
-       * .gitignore: Ignore more.
+       Sync bootstrap scripts.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       maint: Update gnulib submodule.
 
-       * HACKING: Mention release tools.
+       cicd: Improve macOS testing.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+2023-11-12  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/csharpcomp.sh.in, build-aux/csharpexec.sh.in,
-       build-aux/gnupload, gl/Makefile.am, gl/m4/fstat.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/largefile.m4, gl/m4/stat.m4,
-       gl/m4/stdio_h.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_types_h.m4,
-       gl/m4/unistd_h.m4, gl/m4/warn-on-use.m4, gl/m4/warnings.m4,
-       gl/string.in.h, gl/sys_types.in.h, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/fcntl.in.h, gltests/fstat.c,
-       gltests/stat.c, gltests/stdio.in.h, gltests/stdlib.in.h,
-       gltests/sys_stat.in.h, gltests/test-sys_types.c,
-       gltests/wchar.in.h, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/locale_h.m4, lib/gl/m4/sys_types_h.m4,
-       lib/gl/m4/unistd_h.m4, lib/gl/m4/warn-on-use.m4,
-       lib/gl/string.in.h, lib/gl/unistr.in.h, lib/gl/unitypes.in.h,
-       lib/gltests/Makefile.am, lib/gltests/locale.in.h,
-       lib/gltests/stdlib.in.h, lib/gltests/sys_types.in.h,
-       lib/gltests/test-locale.c, lib/gltests/test-sys_types.c,
-       lib/gltests/unistd.in.h, lib/gltests/wchar.in.h, maint.mk: Update
-       gnulib files.
+       cicd: Fix macOS dependencies.
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       cicd: Add macOS/gcc + use Trisquel.  Update images and stages.  Use defaults.
 
-       * po/sr.po.in, po/zh_CN.po.in: Sync with TP.
+       Drop autogen/autopull scripts (use bootstrap --gen/--pull).
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib submodule.
 
-       * NEWS, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c, examples/example5.c: Fix
-       compiler warning about unused fgets return value.
+2023-11-11  Simon Josefsson  <simon@josefsson.org>
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       cicd: Update build-image names.
 
-       * .gitignore: Ignore more.
+2023-11-06  Simon Josefsson  <simon@josefsson.org>
 
-2012-04-27  Simon Josefsson <simon@josefsson.org>
+       Add NEWS entries.
 
-       * HACKING, NEWS, tests/Makefile.am, tests/libidn.supp: Add valgrind
-       suppressions file.
+       Indent code.
 
-2012-04-10  Simon Josefsson <simon@josefsson.org>
+       Sync bootstrap scripts.
 
-       * NEWS, THANKS, win32/include/config.h: Dummy defines for
-       _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.  Reported by Bartosz Brachaczek <b.brachaczek@gmail.com> in
+       Update gnulib.
 
-       <https://lists.gnu.org/archive/html/help-libidn/2012-04/msg00000.html>.
+       cicd: Use stable debian releases.  Fix armcross build failure.
 
-2012-03-06  Simon Josefsson <simon@josefsson.org>
+2023-05-07  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * GNUmakefile, build-aux/config.rpath, build-aux/gnupload,
-       build-aux/pmccabe.css, build-aux/update-copyright,
-       doc/fdl-1.3.texi, gl/errno.in.h, gl/gettext.h, gl/m4/stdlib_h.m4,
-       gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c,
-       gl/msvc-nothrow.h, gl/stdarg.in.h, gl/stddef.in.h, gl/string.in.h,
-       gl/unistd.in.h, gl/version-etc.h, gltests/Makefile.am,
-       gltests/alloca.in.h, gltests/fcntl.in.h, gltests/ignore-value.h,
-       gltests/init.sh, gltests/macros.h, gltests/malloc.c,
-       gltests/malloca.c, gltests/malloca.h, gltests/pathmax.h,
-       gltests/stdbool.in.h, gltests/stdint.in.h, gltests/stdio.in.h,
-       gltests/stdlib.in.h, gltests/sys_stat.in.h, gltests/test-fgetc.c,
-       gltests/test-fputc.c, gltests/test-fread.c, gltests/test-fwrite.c,
-       gltests/test-init.sh, gltests/test-strerror.c, gltests/time.in.h,
-       gltests/wchar.in.h, lib/gl/c-ctype.c, lib/gl/c-ctype.h,
-       lib/gl/c-strcase.h, lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c,
-       lib/gl/gettext.h, lib/gl/iconv.c, lib/gl/iconv.in.h,
-       lib/gl/iconv_close.c, lib/gl/iconv_open.c, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/locale-ja.m4, lib/gl/m4/locale-tr.m4,
-       lib/gl/m4/locale-zh.m4, lib/gl/m4/stdlib_h.m4, lib/gl/stdbool.in.h,
-       lib/gl/stddef.in.h, lib/gl/stdint.in.h, lib/gl/striconv.c,
-       lib/gl/striconv.h, lib/gl/string.in.h, lib/gl/strverscmp.c,
-       lib/gltests/Makefile.am, lib/gltests/alloca.in.h,
-       lib/gltests/glthread/lock.c, lib/gltests/glthread/lock.h,
-       lib/gltests/glthread/thread.c, lib/gltests/glthread/thread.h,
-       lib/gltests/glthread/threadlib.c, lib/gltests/glthread/yield.h,
-       lib/gltests/init.sh, lib/gltests/macros.h, lib/gltests/malloc.c,
-       lib/gltests/malloca.c, lib/gltests/malloca.h,
-       lib/gltests/stdlib.in.h, lib/gltests/test-init.sh,
-       lib/gltests/test-lock.c, lib/gltests/test-strverscmp.c,
-       lib/gltests/unistd.in.h, lib/gltests/wchar.in.h, maint.mk: Update
-       gnulib files.
+       Merge branch 'rockdaboot/include-config.h-from-tlds.c' into 'master'
+       lib/gen-tld-tables.pl: include config.h
 
-2012-02-08  Simon Josefsson <simon@josefsson.org>
+       See merge request libidn/libidn!1
 
-       * cfg.mk: Typos.
+2023-05-07  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+       lib/gen-tld-tables.pl: include config.h
 
-       * cfg.mk: Drop files.
+2023-01-01  Simon Josefsson  <simon@josefsson.org>
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+       maint: Fix syntax-check.
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+       maint: Run 'make my-update-copyright'.
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+       Sync bootstrap script.
 
-       * doc/announce.txt: Update for 1.24.
+       Update gnulib git submodule.
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+2022-11-27  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/announce.txt: Update for 1.23.
+       cicd: Use extends:.test more.  Check with VERBOSE=t.
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+2022-11-05  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       cicd: Test clang-15.
 
-2012-01-10  Simon Josefsson <simon@josefsson.org>
+       Update gnulib submodule.
 
-       * NEWS: Version 1.24.
+2022-09-06  Simon Josefsson  <simon@josefsson.org>
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+       maint: Update review-diff rule.
 
-       * doc/reference/libidn-docs.sgml: Fix markup.
+       cicd: Test coverity variables before use.
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+       Allow coverity scan build to fail (when variables are not set up).
 
-       * doc/reference/libidn-docs.sgml: Sync intro texts.
+       Update gnulib files.
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+2022-09-05  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Also dist COPYING* files.
+       cicd: Add coverity and sast.
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+2022-08-16  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       lib/gltests/test-setlocale2.sh: Update gnulib files.
+       Use AM_DISTCHECK_CONFIGURE_FLAGS.
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+       Update gnulib.
 
-       * tests/tst_pr29.c, tests/utils.c: tst_pr29: Print more debug info.
+2022-08-14  Simon Josefsson  <simon@josefsson.org>
 
-2012-01-09  Simon Josefsson <simon@josefsson.org>
+       Sync bootstrap.
 
-       * NEWS, lib/nfkc.c, lib/stringprep.h: libidn: Add 'const' keyword to
-       'stringprep_ucs4_nfkc_normalize' function.
+       Update gdoc usage.
 
-2012-01-08  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * tests/tst_pr29.c: Fix typo.
+       Drop obsolete gdoc bootstrap.  Refresh and move gtk-doc fix into hook.
 
-2012-01-08  Simon Josefsson <simon@josefsson.org>
+2022-07-11  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS, lib/pr29.c, tests/tst_pr29.c: libidn: Fix potential
-       infloop in pr29 code.  Reported by Jon Nelson <jnelson@jamponi.net> in
+       doc: Drop obsolete HTML hacks (we now use gendocs).
 
-       <http://lists.gnu.org/archive/html/help-libidn/2012-01/msg00008.html>.
+       Doc fix of bootstrap M4 hack.
 
-2012-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2012-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am, doc/gpl-3.0.texi, doc/lgpl-3.0.texi: Cleanup
-       copyright info.
-
-2012-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/gnupload,
-       build-aux/useless-if-before-free, gl/Makefile.am, gl/error.c,
-       gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
-       gl/getopt_int.h, gl/m4/alloca.m4, gl/m4/extensions.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/inttypes.m4,
-       gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/time_h.m4,
-       gl/msvc-inval.h, gl/verify.h, gl/version-etc.h,
-       gltests/Makefile.am, gltests/fcntl.in.h, gltests/getcwd-lgpl.c,
-       gltests/init.sh, gltests/inttypes.in.h, gltests/lstat.c,
-       gltests/putenv.c, gltests/setenv.c, gltests/test-init.sh,
-       gltests/unsetenv.c, lib/gl/m4/alloca.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/inttypes.m4, lib/gl/m4/ld-version-script.m4,
-       lib/gl/m4/longlong.m4, lib/gl/strverscmp.c,
-       lib/gltests/Makefile.am, lib/gltests/init.sh,
-       lib/gltests/inttypes.in.h, lib/gltests/putenv.c,
-       lib/gltests/setenv.c, lib/gltests/test-init.sh,
-       lib/gltests/unsetenv.c, lib/gltests/verify.h, maint.mk: Update
-       gnulib files.
-
-2012-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * COPYING, COPYING.LESSERv2, COPYING.LESSERv3, COPYING.LIB,
-       COPYINGv2, COPYINGv3, NEWS, README, csharp/AssemblyInfo.cs,
-       csharp/IDNA.cs, csharp/IDNAException.cs, csharp/Makefile.am,
-       csharp/NFKC.cs, csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs,
-       csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs,
-       doc/lgpl-2.1.texi, doc/lgpl-3.0.texi, doc/libidn.texi,
-       doc/reference/libidn-docs.sgml, gl/m4/gnulib-cache.m4,
-       java/Makefile.am, java/gnu/Makefile.am, java/gnu/inet/Makefile.am,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/Makefile.am, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am, lib/idn-free.c,
-       lib/idn-free.h, lib/idna.c, lib/idna.h, lib/libidn.map, lib/nfkc.c,
-       lib/pr29.c, lib/pr29.h, lib/profiles.c, lib/punycode.c,
-       lib/punycode.h, lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c, lib/stringprep.c, lib/stringprep.h, lib/tld.c,
-       lib/tld.h, lib/toutf8.c, lib/version.c, libc/example.c, pom.xml.in,
-       src/idn.c, win32/include/ac-stdint.h, win32/include/config.h,
-       win32/include/idn-int.h, win32/include/stdbool.h: Relicense
-       libraries from LGPLv2+ to dual-GPLv2+|LGPLv3+.
-
-2012-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: Put strlen calls in its own line, to simplify valgrind
-       output analysis.
-
-2012-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * gl/error.c, gl/msvc-inval.c, gl/msvc-nothrow.c, gltests/dup2.c,
-       gltests/stdio.in.h, gltests/test-dup2.c,
-       gltests/test-vc-list-files-cvs.sh, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/locale-ja.m4, lib/gl/m4/locale-tr.m4,
-       lib/gl/m4/locale-zh.m4, lib/gl/m4/threadlib.m4,
-       lib/gltests/glthread/lock.c, lib/gltests/glthread/lock.h,
-       lib/gltests/glthread/thread.c, lib/gltests/glthread/thread.h,
-       lib/gltests/glthread/yield.h, lib/gltests/localename.c,
-       lib/gltests/setlocale.c, lib/gltests/test-lock.c,
-       lib/gltests/test-thread_create.c: Update gnulib files.
-
-2012-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * HACKING, Makefile.am, README-alpha: Rename README-alpha to HACKING
-       and include it in tarballs.
-
-2012-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Print whether libiconv was found.
-
-2012-01-03  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/config.rpath, build-aux/csharpcomp.sh.in,
-       build-aux/csharpexec.sh.in, build-aux/pmccabe2html,
-       build-aux/snippet/arg-nonnull.h, build-aux/snippet/c++defs.h,
-       build-aux/snippet/unused-parameter.h,
-       build-aux/snippet/warn-on-use.h, build-aux/update-copyright,
-       build-aux/useless-if-before-free, build-aux/vc-list-files,
-       gl/Makefile.am, gl/errno.in.h, gl/error.c, gl/error.h, gl/getopt.c,
-       gl/getopt.in.h, gl/getopt1.c, gl/getopt_int.h, gl/gettext.h,
-       gl/intprops.h, gl/m4/00gnulib.m4, gl/m4/alloca.m4,
-       gl/m4/autobuild.m4, gl/m4/close.m4, gl/m4/csharp.m4,
-       gl/m4/csharpcomp.m4, gl/m4/csharpexec.m4, gl/m4/dup2.m4,
-       gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/errno_h.m4,
-       gl/m4/error.m4, gl/m4/extensions.m4, gl/m4/fcntl-o.m4,
-       gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, gl/m4/fstat.m4, gl/m4/getcwd.m4,
-       gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/include_next.m4,
-       gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, gl/m4/largefile.m4,
-       gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/malloc.m4,
-       gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/mode_t.m4,
-       gl/m4/msvc-inval.m4, gl/m4/msvc-nothrow.m4, gl/m4/multiarch.m4,
-       gl/m4/nocrash.m4, gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/putenv.m4,
-       gl/m4/setenv.m4, gl/m4/ssize_t.m4, gl/m4/stat.m4, gl/m4/stdarg.m4,
-       gl/m4/stdbool.m4, gl/m4/stddef_h.m4, gl/m4/stdint.m4,
-       gl/m4/stdio_h.m4, gl/m4/stdlib_h.m4, gl/m4/strerror.m4,
-       gl/m4/string_h.m4, gl/m4/symlink.m4, gl/m4/sys_socket_h.m4,
-       gl/m4/sys_stat_h.m4, gl/m4/time_h.m4, gl/m4/unistd_h.m4,
-       gl/m4/valgrind-tests.m4, gl/m4/version-etc.m4,
-       gl/m4/warn-on-use.m4, gl/m4/warnings.m4, gl/m4/wchar_h.m4,
-       gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/msvc-inval.c,
-       gl/msvc-inval.h, gl/msvc-nothrow.c, gl/msvc-nothrow.h,
-       gl/progname.c, gl/progname.h, gl/stdarg.in.h, gl/stddef.in.h,
-       gl/strerror-override.c, gl/strerror-override.h, gl/strerror.c,
-       gl/string.in.h, gl/unistd.in.h, gl/verify.h, gl/version-etc.c,
-       gl/version-etc.h, gltests/Makefile.am, gltests/alloca.in.h,
-       gltests/binary-io.h, gltests/close.c, gltests/dosname.h,
-       gltests/dup2.c, gltests/fcntl.in.h, gltests/fd-hook.c,
-       gltests/fd-hook.h, gltests/fdopen.c, gltests/fstat.c,
-       gltests/getcwd-lgpl.c, gltests/ignore-value.h, gltests/init.sh,
-       gltests/inttypes.in.h, gltests/lstat.c, gltests/macros.h,
-       gltests/malloc.c, gltests/malloca.c, gltests/malloca.h,
-       gltests/open.c, gltests/pathmax.h, gltests/putenv.c,
-       gltests/same-inode.h, gltests/setenv.c, gltests/signature.h,
-       gltests/stat.c, gltests/stdbool.in.h, gltests/stdint.in.h,
-       gltests/stdio.in.h, gltests/stdlib.in.h, gltests/symlink.c,
-       gltests/sys_stat.in.h, gltests/test-alloca-opt.c,
-       gltests/test-binary-io.c, gltests/test-close.c,
-       gltests/test-dup2.c, gltests/test-environ.c, gltests/test-errno.c,
-       gltests/test-fdopen.c, gltests/test-fgetc.c, gltests/test-fputc.c,
-       gltests/test-fread.c, gltests/test-fstat.c, gltests/test-fwrite.c,
-       gltests/test-getcwd-lgpl.c, gltests/test-getopt.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-ignore-value.c, gltests/test-init.sh,
-       gltests/test-intprops.c, gltests/test-inttypes.c,
-       gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-malloca.c,
-       gltests/test-open.c, gltests/test-open.h, gltests/test-pathmax.c,
-       gltests/test-setenv.c, gltests/test-stat.c, gltests/test-stat.h,
-       gltests/test-stdbool.c, gltests/test-stddef.c,
-       gltests/test-stdint.c, gltests/test-stdio.c,
-       gltests/test-strerror.c, gltests/test-symlink.c,
-       gltests/test-symlink.h, gltests/test-unsetenv.c,
-       gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh, gltests/test-verify.c,
-       gltests/test-version-etc.c, gltests/test-version-etc.sh,
-       gltests/time.in.h, gltests/unsetenv.c, gltests/version-etc-fsf.c,
-       gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/c-ctype.c,
-       lib/gl/c-ctype.h, lib/gl/c-strcase.h, lib/gl/c-strcasecmp.c,
-       lib/gl/c-strncasecmp.c, lib/gl/gettext.h, lib/gl/iconv.c,
-       lib/gl/iconv.in.h, lib/gl/iconv_close.c, lib/gl/iconv_open.c,
-       lib/gl/m4/00gnulib.m4, lib/gl/m4/alloca.m4, lib/gl/m4/codeset.m4,
-       lib/gl/m4/eealloc.m4, lib/gl/m4/environ.m4,
-       lib/gl/m4/extensions.m4, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/gnulib-tool.m4, lib/gl/m4/iconv.m4, lib/gl/m4/iconv_h.m4,
-       lib/gl/m4/iconv_open.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/inline.m4, lib/gl/m4/intlmacosx.m4,
-       lib/gl/m4/inttypes-pri.m4, lib/gl/m4/inttypes.m4,
-       lib/gl/m4/lcmessage.m4, lib/gl/m4/ld-output-def.m4,
-       lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
-       lib/gl/m4/libunistring-base.m4, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/locale-ja.m4, lib/gl/m4/locale-tr.m4,
-       lib/gl/m4/locale-zh.m4, lib/gl/m4/locale_h.m4,
-       lib/gl/m4/localename.m4, lib/gl/m4/lock.m4, lib/gl/m4/longlong.m4,
-       lib/gl/m4/malloc.m4, lib/gl/m4/malloca.m4, lib/gl/m4/multiarch.m4,
-       lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/setlocale.m4,
-       lib/gl/m4/ssize_t.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4,
-       lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4, lib/gl/m4/string_h.m4,
-       lib/gl/m4/strverscmp.m4, lib/gl/m4/thread.m4,
-       lib/gl/m4/threadlib.m4, lib/gl/m4/unistd_h.m4,
-       lib/gl/m4/visibility.m4, lib/gl/m4/warn-on-use.m4,
-       lib/gl/m4/wchar_h.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
-       lib/gl/m4/yield.m4, lib/gl/stdbool.in.h, lib/gl/stddef.in.h,
-       lib/gl/stdint.in.h, lib/gl/striconv.c, lib/gl/striconv.h,
-       lib/gl/string.in.h, lib/gl/strverscmp.c, lib/gl/unistr.in.h,
-       lib/gl/unistr/u8-mbtoucr.c, lib/gl/unistr/u8-uctomb-aux.c,
-       lib/gl/unistr/u8-uctomb.c, lib/gl/unitypes.in.h,
-       lib/gltests/Makefile.am, lib/gltests/alloca.in.h,
-       lib/gltests/glthread/lock.c, lib/gltests/glthread/lock.h,
-       lib/gltests/glthread/thread.c, lib/gltests/glthread/thread.h,
-       lib/gltests/glthread/threadlib.c, lib/gltests/glthread/yield.h,
-       lib/gltests/init.sh, lib/gltests/intprops.h,
-       lib/gltests/inttypes.in.h, lib/gltests/locale.in.h,
-       lib/gltests/localename.c, lib/gltests/localename.h,
-       lib/gltests/macros.h, lib/gltests/malloc.c, lib/gltests/malloca.c,
-       lib/gltests/malloca.h, lib/gltests/putenv.c, lib/gltests/setenv.c,
-       lib/gltests/setlocale.c, lib/gltests/signature.h,
-       lib/gltests/stdlib.in.h, lib/gltests/test-alloca-opt.c,
-       lib/gltests/test-c-ctype.c, lib/gltests/test-c-strcasecmp.c,
-       lib/gltests/test-c-strncasecmp.c, lib/gltests/test-environ.c,
-       lib/gltests/test-iconv.c, lib/gltests/test-init.sh,
-       lib/gltests/test-intprops.c, lib/gltests/test-inttypes.c,
-       lib/gltests/test-locale.c, lib/gltests/test-localename.c,
-       lib/gltests/test-lock.c, lib/gltests/test-malloca.c,
-       lib/gltests/test-setenv.c, lib/gltests/test-setlocale1.c,
-       lib/gltests/test-setlocale2.c, lib/gltests/test-stdbool.c,
-       lib/gltests/test-stddef.c, lib/gltests/test-stdint.c,
-       lib/gltests/test-stdlib.c, lib/gltests/test-striconv.c,
-       lib/gltests/test-strverscmp.c, lib/gltests/test-sys_wait.h,
-       lib/gltests/test-thread_create.c, lib/gltests/test-thread_self.c,
-       lib/gltests/test-unistd.c, lib/gltests/test-unsetenv.c,
-       lib/gltests/test-verify.c, lib/gltests/unistd.in.h,
-       lib/gltests/unistr/test-u8-mbtoucr.c,
-       lib/gltests/unistr/test-u8-uctomb.c, lib/gltests/unsetenv.c,
-       lib/gltests/verify.h, lib/gltests/wchar.in.h, maint.mk: Update
-       gnulib files.
-
-2012-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * po/rw.po.in: Remove stale translation.
-
-2012-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * cfg.mk, csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
-       csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs,
-       csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs,
-       doc/gendocs_template, doc/tld/no.tld,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/TestIDNA.java, java/misc/TestNFKC.java, lib/Makefile.am,
-       lib/gen-tld-tables.pl, lib/tld.c, lib/tld.h,
-       win32/include/ac-stdint.h, win32/include/idn-int.h,
-       win32/include/stdbool.h: Update FSF copyright years.
-
-2012-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * .clcopying, AUTHORS, ChangeLog, FAQ, Makefile.am, NEWS, README,
-       README-alpha, THANKS, TODO, cfg.mk, configure.ac, contrib/README,
-       contrib/doxygen/gdoc2doxygen, contrib/java/Makefile.am,
-       contrib/java/README, csharp/Makefile.am, doc/Makefile.am,
-       doc/Makefile.gdoci, doc/cyclo/Makefile.am, doc/gdoc,
-       doc/java/Makefile.am, doc/libidn.texi, doc/tld/Makefile.am,
-       doc/tld/README, doc/tld/fr.tld, examples/Makefile.am,
-       examples/README, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c, examples/example5.c,
-       java/Makefile.am, java/gnu/inet/encoding/Makefile.am,
-       lib/Makefile.am, lib/gen-stringprep-tables.pl,
-       lib/gen-tld-tables.pl, lib/gen-unicode-tables.pl, lib/idn-free.c,
-       lib/idn-free.h, lib/idna.c, lib/idna.h, lib/libidn.map, lib/nfkc.c,
-       lib/pr29.c, lib/pr29.h, lib/profiles.c, lib/punycode.c,
-       lib/punycode.h, lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c, lib/stringprep.c, lib/stringprep.h, lib/tld.c,
-       lib/tld.h, lib/toutf8.c, lib/version.c, libc/README,
-       libc/example.c, libc/getaddrinfo-idn.txt, libidn.pc.in,
-       src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
-       src/punycode.el, tests/Makefile.am, tests/tst_idna.c,
-       tests/tst_idna2.c, tests/tst_idna3.c, tests/tst_idna4.c,
-       tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
-       tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_symbols.c,
-       tests/tst_tld.c, tests/tst_toutf8.c, tests/utils.c, tests/utils.h,
-       win32/libidn4win.mk: Update copyright years.
-
-2011-12-27  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Mention gnulib in THANKS.
-
-2011-12-27  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update key.
-
-2011-12-27  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, lib/nfkc.c: Sync glib NFKC code and improve
-       copyright/license statements.
-
-2011-12-27  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, po/it.po.in: Sync with TP.
-
-2011-12-27  Simon Josefsson <simon@josefsson.org>
+       Reorder diagnostic outputs.
 
-       * gl/Makefile.am, gl/m4/gnulib-comp.m4, gl/m4/inttypes.m4,
-       gl/m4/stdint.m4, gl/m4/unistd_h.m4, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/init.sh, gltests/inttypes.in.h,
-       gltests/stdint.in.h, gltests/test-init.sh, gltests/test-inttypes.c,
-       gltests/test-stdint.c, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/inttypes.m4, lib/gl/m4/stdint.m4, lib/gl/m4/unistd_h.m4,
-       lib/gl/stdint.in.h, lib/gltests/Makefile.am, lib/gltests/init.sh,
-       lib/gltests/inttypes.in.h, lib/gltests/test-init.sh,
-       lib/gltests/test-inttypes.c, lib/gltests/test-stdint.c,
-       lib/gltests/unistd.in.h: Update gnulib files.
+       Drop old bootstrap tarcache stuff.
 
-2011-12-27  Simon Josefsson <simon@josefsson.org>
+       configure.ac: Use new iconv summary variable.
 
-       * NEWS, THANKS: Give credit.
+       maint: Update gnulib.
 
-2011-12-27  Simon Josefsson <simon@josefsson.org>
+2022-07-09  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Fix parallel MinGW-builds (no deps for
-       libidn-X.def).  Clean libidn-X.def.  Reported by René Berber <r.berber@computer.org>.
+       Use proper variable for iconv diagnostics.  Drop obsolete warning.
 
-2011-11-30  Simon Josefsson <simon@josefsson.org>
+2022-06-26  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/manywarnings.m4, gltests/Makefile.am,
-       gltests/test-binary-io.c, gltests/test-binary-io.sh, maint.mk: 
        Update gnulib files.
 
-2011-11-28  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+2022-06-25  Simon Josefsson  <simon@josefsson.org>
 
-2011-11-28  Simon Josefsson <simon@josefsson.org>
+       doc: Improve release steps.
 
-       * gl/Makefile.am, gl/m4/dup2.m4, gl/m4/getcwd.m4, gl/m4/getopt.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4, lib/gl/Makefile.am,
-       lib/gl/c-ctype.h, lib/gl/c-strcase.h, lib/gl/gnulib.mk,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/unistd_h.m4,
-       lib/gltests/Makefile.am, lib/gltests/gnulib.mk: Update gnulib files.
-       Drop unistd/getopt workaround.
+       Bump LT_REVISION.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       Bump STRINGPREP_VERSION.
 
-       * ChangeLog: Generated.
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       version 1.41
+       * NEWS: Record release date.
 
-       * cfg.mk: Fix release rule.
+       Add header include.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       Revert back to using assert to silence codacity.
 
-       * NEWS: Version 1.23.
+       maint: Don't dist generated cyclo output.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       Rewrite tst_symbols to avoid warnings.
 
-       * doc/Makefile.am: Use copyright ranges in man pages.
+       Fix typo.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       Use https URLs.
 
-       * lib/gl/Makefile.am, lib/gl/gnulib.mk, lib/gl/m4/gnulib-cache.m4,
-       lib/gltests/Makefile.am, lib/gltests/gnulib.mk: Add necessary -I's
-       when building lib/gltests/.  Reported by Bruno Haible.
+       tst_symbols: Rewrite to use utils.c infrastructure, for consistency.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix standalone tests.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gltests/Makefile.am, gltests/test-binary-io.c,
-       gltests/test-binary-io.sh: Disable non-working binary-io self-tests.
-       Reported by Bruno Haible.
+       cicd: Fix standalone tests.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix standalone tests.
 
-       * NEWS, lib/stringprep.h: Get ssize_t from sys/types.h instead of
-       unistd.h.  Reported by Bruno Haible.
+       maint: Regenerate NEWS hash.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       Use https URLs.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gltests/Makefile.am, gltests/test-update-copyright.sh: Drop
-       update-copyright-tests module due to bugs.
+       Ensure idn.1 version number is updated.
 
-2011-11-25  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix salsa git URL.
 
-       * gl/m4/valgrind-tests.m4, gltests/init.sh,
-       lib/gl/m4/gnulib-common.m4, lib/gltests/init.sh: Fix valgrind.
+       maint: Update README-release.
 
-2011-11-22  Simon Josefsson <simon@josefsson.org>
+       Bump LT_REVISION for new release.
 
-       * .gitignore, build-aux/csharpexec.sh.in, configure.ac,
-       csharp/Makefile.am, gl/Makefile.am, gl/m4/csharpexec.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4: 
-       Use csharpexec from gnulib to run .NET binaries.
+       tst_version: Improve debug output.
 
-2011-11-21  Simon Josefsson <simon@josefsson.org>
+       Bump STRINGPREP_VERSION for 1.41.
 
-       * doc/gdoc: Don't hard code perl path in gdoc.
+       Add version number related self-checks.
 
-2011-11-21  Simon Josefsson <simon@josefsson.org>
+2022-06-20  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/Makefile.am: Use -no-install instead of -static.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Ignore some recent warnings.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, examples/example.c, examples/example3.c,
-       examples/example4.c, examples/example5.c, tests/tst_idna.c,
-       tests/tst_idna2.c, tests/tst_idna3.c, tests/tst_nfkc.c,
-       tests/tst_pr29.c, tests/tst_punycode.c, tests/tst_strerror.c,
-       tests/tst_stringprep.c, tests/tst_tld.c, tests/utils.c: Fix
-       warnings.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * win32/libidn4win.mk: Ignore gnulib self-tests under Wine.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * .gitignore, win32/libidn4win.mk: Use separate build trees for
-       Windows 32 and 64 bit.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * cfg.mk: Create Windows binaries during release.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/cyclo/Makefile.am: Fix links in generated cyclo output.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Use silent build rules.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * .gitignore, configure.ac, doc/reference/Makefile.am,
-       doc/reference/libidn-docs.sgml, doc/reference/version.xml.in,
-       gtk-doc.make, lib/pr29.c, lib/strerror-pr29.c, m4/gtk-doc.m4: Update
-       GTK-DOC infrastructure.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * .gitignore, cfg.mk: Update release rules.
-
-2011-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/arg-nonnull.h, build-aux/c++defs.h,
-       build-aux/snippet/_Noreturn.h, build-aux/snippet/arg-nonnull.h,
-       build-aux/snippet/c++defs.h, build-aux/snippet/unused-parameter.h,
-       build-aux/snippet/warn-on-use.h, build-aux/vc-list-files,
-       build-aux/warn-on-use.h, configure.ac, doc/fdl-1.3.texi,
-       doc/lgpl-2.1.texi, gl/Makefile.am, gl/errno.in.h, gl/error.c,
-       gl/getopt.c, gl/getopt.in.h, gl/intprops.h, gl/m4/alloca.m4,
-       gl/m4/close.m4, gl/m4/dup2.m4, gl/m4/environ.m4, gl/m4/errno_h.m4,
-       gl/m4/error.m4, gl/m4/extensions.m4, gl/m4/fcntl-o.m4,
-       gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, gl/m4/fstat.m4, gl/m4/getcwd.m4,
-       gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/inttypes-pri.m4,
-       gl/m4/inttypes.m4, gl/m4/largefile.m4, gl/m4/lstat.m4,
-       gl/m4/malloc.m4, gl/m4/manywarnings.m4, gl/m4/msvc-inval.m4,
-       gl/m4/msvc-nothrow.m4, gl/m4/multiarch.m4, gl/m4/nocrash.m4,
-       gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/putenv.m4, gl/m4/setenv.m4,
-       gl/m4/ssize_t.m4, gl/m4/stat.m4, gl/m4/stdint.m4, gl/m4/stdio_h.m4,
-       gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
-       gl/m4/symlink.m4, gl/m4/sys_socket_h.m4, gl/m4/sys_stat_h.m4,
-       gl/m4/time_h.m4, gl/m4/unistd_h.m4, gl/m4/warn-on-use.m4,
-       gl/m4/warnings.m4, gl/m4/wchar_h.m4, gl/m4/wint_t.m4,
-       gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c,
-       gl/msvc-nothrow.h, gl/override/lib/dup2.c.diff,
-       gl/override/lib/gettext.h.diff, gl/override/m4/open.m4.diff,
-       gl/stdarg.in.h, gl/stddef.in.h, gl/strerror-override.c,
-       gl/strerror-override.h, gl/strerror.c, gl/string.in.h,
-       gl/unistd.in.h, gl/verify.h, gltests/Makefile.am, gltests/close.c,
-       gltests/dup2.c, gltests/fcntl.in.h, gltests/fd-hook.c,
-       gltests/fd-hook.h, gltests/fdopen.c, gltests/fstat.c,
-       gltests/getcwd-lgpl.c, gltests/init.sh, gltests/inttypes.in.h,
-       gltests/lstat.c, gltests/macros.h, gltests/open.c,
-       gltests/pathmax.h, gltests/putenv.c, gltests/setenv.c,
-       gltests/stat.c, gltests/stdint.in.h, gltests/stdio.in.h,
-       gltests/stdlib.in.h, gltests/sys_stat.in.h, gltests/test-close.c,
-       gltests/test-dup2.c, gltests/test-fdopen.c, gltests/test-fgetc.c,
-       gltests/test-fputc.c, gltests/test-fread.c, gltests/test-fstat.c,
-       gltests/test-fwrite.c, gltests/test-getcwd-lgpl.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-intprops.c, gltests/test-inttypes.c,
-       gltests/test-pathmax.c, gltests/test-stat.c, gltests/test-stat.h,
-       gltests/test-stdint.c, gltests/test-strerror.c,
-       gltests/test-update-copyright.sh, gltests/test-verify.c,
-       gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
-       gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/iconv.c,
-       lib/gl/iconv.in.h, lib/gl/iconv_close.c, lib/gl/m4/alloca.m4,
-       lib/gl/m4/environ.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
-       lib/gl/m4/iconv_open.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/inline.m4, lib/gl/m4/inttypes-pri.m4,
-       lib/gl/m4/inttypes.m4, lib/gl/m4/libunistring-base.m4,
-       lib/gl/m4/locale-zh.m4, lib/gl/m4/locale_h.m4, lib/gl/m4/malloc.m4,
-       lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/setlocale.m4,
-       lib/gl/m4/ssize_t.m4, lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
-       lib/gl/m4/unistd_h.m4, lib/gl/m4/warn-on-use.m4,
-       lib/gl/m4/wchar_h.m4, lib/gl/override/lib/gettext.h.diff,
-       lib/gl/stddef.in.h, lib/gl/stdint.in.h, lib/gl/string.in.h,
-       lib/gl/unistr.in.h, lib/gl/unistr/u8-mbtoucr.c,
-       lib/gl/unistr/u8-uctomb-aux.c, lib/gl/unistr/u8-uctomb.c,
-       lib/gl/unitypes.in.h, lib/gltests/Makefile.am,
-       lib/gltests/glthread/lock.h, lib/gltests/glthread/thread.c,
-       lib/gltests/glthread/thread.h, lib/gltests/glthread/yield.h,
-       lib/gltests/init.sh, lib/gltests/intprops.h,
-       lib/gltests/inttypes.in.h, lib/gltests/locale.in.h,
-       lib/gltests/localename.c, lib/gltests/localename.h,
-       lib/gltests/macros.h, lib/gltests/putenv.c, lib/gltests/setenv.c,
-       lib/gltests/stdlib.in.h, lib/gltests/test-intprops.c,
-       lib/gltests/test-inttypes.c, lib/gltests/test-lock.c,
-       lib/gltests/test-thread_create.c, lib/gltests/test-thread_self.c,
-       lib/gltests/test-verify.c, lib/gltests/unistd.in.h,
-       lib/gltests/unistr/test-u8-mbtoucr.c,
-       lib/gltests/unistr/test-u8-uctomb.c, lib/gltests/unsetenv.c,
-       lib/gltests/verify.h, lib/gltests/wchar.in.h, maint.mk: Update
-       gnulib files.
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
 
-2011-11-16  Simon Josefsson <simon@josefsson.org>
+       version 1.40
+       * NEWS: Record release date.
 
-       * README-alpha: Doc fix.
+       Bump STRINGPREP_VERSION and add regression check.
 
-2011-10-19  Simon Josefsson <simon@josefsson.org>
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
 
-       * lib/nfkc.c: Doc fix.
+       version 1.39
+       * NEWS: Record release date.
 
-2011-10-19  Simon Josefsson <simon@josefsson.org>
+       doc: Add NEWS blurb.
 
-       * NEWS, THANKS, lib/idn-free.h: idn-free.h: Protect prototypes with
-       'extern "C"' marker.  Reported by Bittner Ede <bittner.ede@euronetrt.hu>.
+       Require HAVE_LANGINFO_CODESET for stringprep_locale_charset.
 
-2011-10-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Mention TLD URL patch.
+2022-02-20  Simon Josefsson  <simon@josefsson.org>
 
-2011-09-30  Thomas Jacob <jacob@internet24.de>
+       maint: Fix syntax-check after NEWS copyright update.
 
-       * doc/libidn.texi, doc/tld/README: Moved extra TLD tables to github Signed-off-by: Thomas Jacob <jacob@internet24.de> Signed-off-by:
-       Simon Josefsson <simon@josefsson.org>
+       Update copyright years.
 
-2011-08-13  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix ArchLinux package installs and replace CentOS:8 with AlmaLinux:8.
 
-       * po/fr.po.in: Sync with TP.
+       Update gnulib.
 
-2011-05-05  Simon Josefsson <simon@josefsson.org>
+2021-11-22  Simon Josefsson  <simon@josefsson.org>
 
-       * cfg.mk: Add some pre-release rules.
+       Update gnulib.
 
-2011-05-05  Simon Josefsson <simon@josefsson.org>
+2021-11-19  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Update translations.
+       maint: Use UTF-8 instead of ISO-8859-1 encoding.
 
-2011-05-05  Simon Josefsson <simon@josefsson.org>
+2021-10-28  Simon Josefsson  <simon@josefsson.org>
 
-       * po/LINGUAS, po/cs.po.in, po/de.po.in, po/fi.po.in, po/nl.po.in,
-       po/pl.po.in, po/uk.po.in, po/zh_CN.po.in: Sync with TP.
+       doc: Relicense old getaddrinfo specification.
+       Reported by Andrej Shadura.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+2021-10-13  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/announce.txt: Update for 1.22.
+       doc: Fix typo.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+2021-09-24  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+       doc: Mention minor fixes.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix debian10.
 
-       * ChangeLog: Generated.
+       maint: Use AM_V_GEN.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+       maint: Don't use GNU make extensions.
 
-       * NEWS: Version 1.22.
+       maint: Don't use GNU make extensions.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+2021-09-23  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, cfg.mk, lib/idna.c, lib/nfkc.c: dev: Ran clang-analyze on
-       the code.  Fixed some dead assignments/initializations.
+       cicd: Fix pages rule.
 
-2011-05-04  Simon Josefsson <simon@josefsson.org>
+2021-09-22  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Doc fix.
+       cicd: Debian11.
 
-2011-05-03  Simon Josefsson <simon@josefsson.org>
+       Update gnulib.
 
-       * .gitignore, NEWS, THANKS, lib/idna.c, lib/stringprep.h,
-       tests/Makefile.am, tests/tst_idna4.c: libidn: Fix memory leak when
-       idna_to_ascii_4i fails.  Reported by and tiny patch from Olga Limburg <olimburg@gmail.com>.
+       maint: Java JAR archive no longer included in source tarball.
 
-2011-05-03  Simon Josefsson <simon@josefsson.org>
+2021-09-19  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/vc-list-files, cfg.mk, gl/m4/dup2.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/manywarnings.m4, gl/m4/stdio_h.m4,
-       gltests/stdlib.in.h, lib/gl/m4/gnulib-comp.m4,
-       lib/gltests/stdlib.in.h, maint.mk: Update gnulib files.
+       maint: Add .gitignore's.
 
-2011-05-01  Simon Josefsson <simon@josefsson.org>
+       maint. Use gnulib in submodule.
 
-       * cfg.mk: Improve coverage rule names.  Drop mingw rules (see
-       win32/libidn4win.mk).
+2021-09-18  Simon Josefsson  <simon@josefsson.org>
 
-2011-04-28  Simon Josefsson <simon@josefsson.org>
+       doc: Really add fdl-1.3.texi.
 
-       * NEWS, THANKS, libidn.pc.in: libidn: Add -liconv as static library
-       requirement in libidn.pc, for MinGW.  Reported by Volker Grabsch <vog@notjusthosting.com>.
+2021-09-10  Simon Josefsson  <simon@josefsson.org>
 
-2011-04-25  Simon Josefsson <simon@josefsson.org>
+       doc: Include copy of fdl, because it is a license.  Improve texi.
 
-       * THANKS, doc/libidn.texi: Document --disable-valgrind-tests.  Suggested by Guido Trentalancia <guido@trentalancia.com>.
+2021-09-03  Simon Josefsson  <simon@josefsson.org>
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       maint: Remove trailing blanks.
 
-       * doc/announce.txt: Update for 1.21.
+       maint: Fix typos.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       maint: Indent code.
 
-       * win32/libidn4win.mk: Fix.
+       Use new gnulib indent rules.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+2021-07-22  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am, NEWS: build: Really distribute win32/libidn4win.mk.
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       version 1.38
+       * NEWS: Record release date.
 
-       * NEWS, configure.ac: Bump version.
+       Bump STRINGPREP_VERSION.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       Bump LT_VERSION.
 
-       * ChangeLog: Generated.
+       build: Rebuild cyclo-libidn.html when version changes.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS: Version 1.21.
+2021-07-21  Simon Josefsson  <simon@josefsson.org>
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       build: Fix --disable-tld builds.
 
-       * NEWS, configure.ac: Demand newer gettext in order to get newer M4
-       files.  Reported by Dagobert Michelsen <dam@opencsw.org> in
-       <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/25522>.
+       Simplify building of gdoc-generated man/texi outputs.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       Rebuild GTK-DOC HTML/PDF outputs on version number changes.
 
-       * NEWS, win32/libidn4win.mk: libidn4win.mk: Add license and
-       generalize it.
+       doc: Rebuild idn.1 when version number changes.
 
-2011-04-24  Simon Josefsson <simon@josefsson.org>
+       build: Fix --disable-tld builds.
 
-       * .gitignore, .x-sc_avoid_if_before_free, .x-sc_bindtextdomain,
-       .x-sc_cast_of_alloca_return_value, .x-sc_error_message_uppercase,
-       .x-sc_file_system, .x-sc_makefile_at_at_check,
-       .x-sc_makefile_check, .x-sc_prohibit_atoi_atof,
-       .x-sc_prohibit_empty_lines_at_EOF, .x-sc_space_tab,
-       .x-sc_texinfo_acronym, .x-sc_the_the, COPYING.LIB, README,
-       README-alpha, build-aux/gendocs.sh,
-       build-aux/useless-if-before-free, cfg.mk, doc/gendocs_template,
-       gl/Makefile.am, gl/m4/alloca.m4, gl/m4/errno_h.m4,
-       gl/m4/fcntl_h.m4, gl/m4/gnulib-common.m4, gl/m4/open.m4,
-       gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4,
-       gl/m4/stdio_h.m4, gl/m4/string_h.m4, gl/m4/unistd_h.m4,
-       gl/m4/valgrind-tests.m4, gl/string.in.h, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/fcntl.in.h, gltests/malloc.c,
-       gltests/malloca.c, gltests/open.c, gltests/setenv.c,
-       gltests/stdio.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
-       gltests/test-ignore-value.c, gltests/test-open.h, gltests/verify.h,
-       lib/Makefile.am, lib/gl/Makefile.am, lib/gl/m4/alloca.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/iconv_h.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4,
-       lib/gl/m4/stdint.m4, lib/gl/m4/string_h.m4, lib/gl/m4/unistd_h.m4,
-       lib/gl/m4/wchar_h.m4, lib/gl/string.in.h, lib/gltests/Makefile.am,
-       lib/gltests/malloc.c, lib/gltests/malloca.c, lib/gltests/setenv.c,
-       lib/gltests/stdlib.in.h, lib/gltests/unistd.in.h,
-       lib/gltests/verify.h, lib/gltests/wchar.in.h, lib/stringprep.h,
-       libidn.pc.in, maint.mk, src/Makefile.am, tests/Makefile.am: Update
-       gnulib files and fix syntax check warnings.
+2021-07-20  Simon Josefsson  <simon@josefsson.org>
 
-2011-03-21  Simon Josefsson <simon@josefsson.org>
+       cicd: Add pages.
 
-       * NEWS, THANKS, win32/libidn.vcproj: Define LIBIDN_BUILDING.  Tiny patch from Waqas Hussain <waqas20@gmail.com>.
+       doc: Improve GTK-DOC manual.
 
-2011-03-05  Simon Josefsson <simon@josefsson.org>
+       cicd: Fix Ubuntu 12.04 builds.
 
-       * win32/libidn4win.mk: Add.
+       Improve GTK-DOC manual.
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       Fix build errors related to doc/idn--help.texi.
 
-       * doc/announce.txt: Update for 1.20.
+2021-05-23  Simon Josefsson  <simon@josefsson.org>
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       doc: Fix release process.
 
-       * NEWS, configure.ac: Bump versions.
+2021-05-21  Simon Josefsson  <simon@josefsson.org>
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       doc: Improve HACKING instructions.
 
-       * NEWS: Fix release type.
+2021-05-17  Simon Josefsson  <simon@josefsson.org>
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       Bootstrap cache.
 
-       * ChangeLog: Generated.
+2021-05-15  Simon Josefsson  <simon@josefsson.org>
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * NEWS: Version 1.20.
+       maint: post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       version 1.37
+       * NEWS: Record release date.
 
-       * doc/Makefile.am: Bump copyright years.
+       Add.
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
+       Use gnulib's bootstrap.
 
-       * NEWS, THANKS, src/idn.c: idn: Only print license blurb on
-       interactive use.  Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
-       <rm@romanrm.ru> in <http://bugs.debian.org/615947> and
-       <http://bugs.debian.org/615949> respectively.
+       Drop old unused WERROR_CFLAGS usage.
 
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Disable build rules for no longer generated
-       files.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
-       po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
-       po/sr.po.in, po/zh_CN.po.in: Sync with TP.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * .clcopying, AUTHORS, ChangeLog, FAQ, Makefile.am, README,
-       README-alpha, TODO, cfg.mk, configure.ac, contrib/README,
-       contrib/doxygen/gdoc2doxygen, contrib/java/Makefile.am,
-       contrib/java/README, csharp/Makefile.am,
-       csharp/generate/Program.cs, doc/Makefile.am, doc/Makefile.gdoci,
-       doc/cyclo/Makefile.am, doc/gdoc, doc/gendocs_template,
-       doc/java/Makefile.am, doc/libidn.texi,
-       doc/specifications/Makefile.am, doc/tld/Makefile.am,
-       doc/tld/README, doc/tld/fr.tld, doc/tld/no.tld,
-       examples/Makefile.am, examples/README, examples/example.c,
-       examples/example2.c, examples/example3.c, examples/example4.c,
-       examples/example5.c, java/Makefile.am,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/Stringprep.java, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am,
-       lib/gen-stringprep-tables.pl, lib/gen-tld-tables.pl,
-       lib/gen-unicode-tables.pl, lib/idn-free.c, lib/idn-free.h,
-       lib/idna.h, lib/libidn.map, lib/nfkc.c, lib/pr29.c, lib/pr29.h,
-       lib/profiles.c, lib/punycode.c, lib/punycode.h,
-       lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/stringprep.h, lib/tld.c, lib/tld.h, lib/toutf8.c,
-       lib/version.c, libc/README, libc/example.c,
-       libc/getaddrinfo-idn.txt, libidn.pc.in,
-       m4/update-header-version.m4, po/cs.po.in, po/da.po.in, po/de.po.in,
-       po/eo.po.in, po/id.po.in, po/it.po.in, po/ja.po.in, po/nl.po.in,
-       po/pl.po.in, po/ro.po.in, po/rw.po.in, po/sr.po.in, po/zh_CN.po.in,
-       src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
-       src/punycode.el, tests/tst_idna.c, tests/tst_idna2.c,
-       tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
-       tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_symbols.c,
-       tests/tst_tld.c, tests/tst_toutf8.c, tests/utils.c, tests/utils.h,
-       win32/include/ac-stdint.h, win32/include/idn-int.h,
-       win32/include/stdbool.h: Bump copyright years.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS, lib/idna.c, tests/Makefile.am, tests/tst_idna3.c: 
-       Fix ToUnicode case-insensitivity bug.  Debian BTS #610617 reported by Stepan Golosunov
-       <stepan@golosunov.pp.ru>.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po.in: Sync with TP.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * .x-sc_bindtextdomain, .x-sc_prohibit_empty_lines_at_EOF,
-       csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
-       csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs,
-       csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Tokenizer.cs, csharp/libidn.cmbx,
-       csharp/libidn.csproj, csharp/libidn.csproj.user,
-       csharp/libidn.prjx, csharp/libidn_PPC.csdproj,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/RFC3454.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       maint.mk: Fix syntax-check warnings.
-
-2011-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/arg-nonnull.h, build-aux/c++defs.h,
-       build-aux/config.rpath, build-aux/warn-on-use.h, gl/Makefile.am,
-       gl/error.h, gl/getopt.in.h, gl/getopt_int.h, gl/gettext.h,
-       gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/longlong.m4, gl/m4/multiarch.m4, gl/m4/setenv.m4,
-       gl/m4/stat.m4, gl/m4/stdbool.m4, gl/m4/stdint.m4, gl/m4/stdio_h.m4,
-       gl/m4/stdlib_h.m4, gl/m4/wchar_h.m4, gl/m4/wint_t.m4,
-       gl/string.in.h, gl/unistd.in.h, gl/version-etc.h,
-       gltests/Makefile.am, gltests/dosname.h, gltests/dup2.c,
-       gltests/ignore-value.h, gltests/stat.c, gltests/stdint.in.h,
-       gltests/stdio.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
-       gltests/test-dup2.c, gltests/test-ignore-value.c,
-       gltests/test-stdint.c, gltests/test-stdio.c, gltests/time.in.h,
-       gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/gettext.h,
-       lib/gl/m4/alloca.m4, lib/gl/m4/eealloc.m4, lib/gl/m4/environ.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/intlmacosx.m4,
-       lib/gl/m4/lcmessage.m4, lib/gl/m4/lib-link.m4,
-       lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-ja.m4,
-       lib/gl/m4/locale-tr.m4, lib/gl/m4/locale-zh.m4,
-       lib/gl/m4/locale_h.m4, lib/gl/m4/localename.m4, lib/gl/m4/lock.m4,
-       lib/gl/m4/longlong.m4, lib/gl/m4/malloc.m4, lib/gl/m4/malloca.m4,
-       lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/setlocale.m4,
-       lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4,
-       lib/gl/m4/thread.m4, lib/gl/m4/threadlib.m4, lib/gl/m4/unistd_h.m4,
-       lib/gl/m4/wchar_h.m4, lib/gl/m4/yield.m4, lib/gl/stdint.in.h,
-       lib/gl/string.in.h, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
-       lib/gltests/alloca.in.h, lib/gltests/dummy.c,
-       lib/gltests/glthread/lock.c, lib/gltests/glthread/lock.h,
-       lib/gltests/glthread/thread.c, lib/gltests/glthread/thread.h,
-       lib/gltests/glthread/threadlib.c, lib/gltests/glthread/yield.h,
-       lib/gltests/locale.in.h, lib/gltests/localename.c,
-       lib/gltests/localename.h, lib/gltests/malloc.c,
-       lib/gltests/malloca.c, lib/gltests/malloca.h,
-       lib/gltests/malloca.valgrind, lib/gltests/putenv.c,
-       lib/gltests/setenv.c, lib/gltests/setlocale.c,
-       lib/gltests/stdlib.in.h, lib/gltests/test-alloca-opt.c,
-       lib/gltests/test-environ.c, lib/gltests/test-locale.c,
-       lib/gltests/test-localename.c, lib/gltests/test-lock.c,
-       lib/gltests/test-malloca.c, lib/gltests/test-setenv.c,
-       lib/gltests/test-setlocale1.c, lib/gltests/test-setlocale1.sh,
-       lib/gltests/test-setlocale2.c, lib/gltests/test-setlocale2.sh,
-       lib/gltests/test-stdlib.c, lib/gltests/test-sys_wait.h,
-       lib/gltests/test-unistd.c, lib/gltests/test-unsetenv.c,
-       lib/gltests/unistd.in.h, lib/gltests/unsetenv.c, maint.mk: Update
-       gnulib files.
-
-2011-01-30  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/arg-nonnull.h, build-aux/c++defs.h,
-       build-aux/config.rpath, build-aux/csharpcomp.sh.in,
-       build-aux/gendocs.sh, build-aux/pmccabe.css,
-       build-aux/pmccabe2html, build-aux/update-copyright,
-       build-aux/useless-if-before-free, build-aux/vc-list-files,
-       build-aux/warn-on-use.h, gl/Makefile.am, gl/errno.in.h, gl/error.c,
-       gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
-       gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/00gnulib.m4,
-       gl/m4/alloca.m4, gl/m4/autobuild.m4, gl/m4/csharp.m4,
-       gl/m4/csharpcomp.m4, gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/eealloc.m4,
-       gl/m4/environ.m4, gl/m4/errno_h.m4, gl/m4/error.m4,
-       gl/m4/extensions.m4, gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4,
-       gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/include_next.m4,
-       gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/malloc.m4,
-       gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/mode_t.m4,
-       gl/m4/multiarch.m4, gl/m4/open.m4, gl/m4/pathmax.m4,
-       gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stat.m4, gl/m4/stdarg.m4,
-       gl/m4/stdbool.m4, gl/m4/stddef_h.m4, gl/m4/stdint.m4,
-       gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
-       gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_wait_h.m4,
-       gl/m4/time_h.m4, gl/m4/unistd_h.m4, gl/m4/valgrind-tests.m4,
-       gl/m4/version-etc.m4, gl/m4/warn-on-use.m4, gl/m4/warnings.m4,
-       gl/m4/wchar_h.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/progname.c,
-       gl/progname.h, gl/stdarg.in.h, gl/stddef.in.h, gl/strerror.c,
-       gl/string.in.h, gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
-       gltests/Makefile.am, gltests/alloca.in.h, gltests/binary-io.h,
-       gltests/dup2.c, gltests/fcntl.in.h, gltests/ignore-value.h,
-       gltests/init.sh, gltests/lstat.c, gltests/macros.h,
-       gltests/malloc.c, gltests/malloca.c, gltests/malloca.h,
-       gltests/open.c, gltests/pathmax.h, gltests/putenv.c,
-       gltests/same-inode.h, gltests/setenv.c, gltests/signature.h,
-       gltests/stat.c, gltests/stdbool.in.h, gltests/stdint.in.h,
-       gltests/stdlib.in.h, gltests/symlink.c, gltests/sys_stat.in.h,
-       gltests/sys_wait.in.h, gltests/test-alloca-opt.c,
-       gltests/test-binary-io.c, gltests/test-dup2.c,
-       gltests/test-environ.c, gltests/test-errno.c,
-       gltests/test-getopt.c, gltests/test-getopt.h,
-       gltests/test-getopt_long.h, gltests/test-ignore-value.c,
-       gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-malloca.c,
-       gltests/test-open.c, gltests/test-open.h, gltests/test-setenv.c,
-       gltests/test-stat.c, gltests/test-stat.h, gltests/test-stdbool.c,
-       gltests/test-stddef.c, gltests/test-stdint.c,
-       gltests/test-strerror.c, gltests/test-symlink.c,
-       gltests/test-symlink.h, gltests/test-sys_wait.c,
-       gltests/test-sys_wait.h, gltests/test-unsetenv.c,
-       gltests/test-update-copyright.sh,
-       gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh, gltests/test-verify.c,
-       gltests/test-version-etc.c, gltests/test-version-etc.sh,
-       gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
-       gltests/version-etc-fsf.c, gltests/wchar.in.h, lib/gl/Makefile.am,
-       lib/gl/c-ctype.c, lib/gl/c-ctype.h, lib/gl/c-strcase.h,
-       lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c, lib/gl/gettext.h,
-       lib/gl/iconv.in.h, lib/gl/iconv_open.c, lib/gl/m4/00gnulib.m4,
-       lib/gl/m4/codeset.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4,
-       lib/gl/m4/iconv.m4, lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/include_next.m4, lib/gl/m4/ld-output-def.m4,
-       lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
-       lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-tr.m4,
-       lib/gl/m4/longlong.m4, lib/gl/m4/multiarch.m4,
-       lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4, lib/gl/m4/stdint.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
-       lib/gl/m4/visibility.m4, lib/gl/m4/warn-on-use.m4,
-       lib/gl/m4/wchar_h.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
-       lib/gl/stdbool.in.h, lib/gl/stddef.in.h, lib/gl/stdint.in.h,
-       lib/gl/striconv.c, lib/gl/striconv.h, lib/gl/string.in.h,
-       lib/gl/strverscmp.c, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
-       lib/gltests/dummy.c, lib/gltests/init.sh, lib/gltests/intprops.h,
-       lib/gltests/macros.h, lib/gltests/signature.h,
-       lib/gltests/test-c-ctype.c, lib/gltests/test-c-strcasecmp.c,
-       lib/gltests/test-c-strncasecmp.c, lib/gltests/test-iconv.c,
-       lib/gltests/test-stdbool.c, lib/gltests/test-stddef.c,
-       lib/gltests/test-stdint.c, lib/gltests/test-striconv.c,
-       lib/gltests/test-strverscmp.c, lib/gltests/test-verify.c,
-       lib/gltests/verify.h, maint.mk: Update gnulib files.
-
-2010-10-27  Simon Josefsson <simon@josefsson.org>
-
-       * .gitignore: Ignore more.
-
-2010-10-27  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Avoid some warnings to make it build with modern gcc
-       on amd64.
-
-2010-09-30  Simon Josefsson <simon@josefsson.org>
-
-       * .x-sc_space_tab: Avoid syntax-check warning.
-
-2010-09-30  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/gendocs.sh, build-aux/gnupload,
-       build-aux/pmccabe2html, doc/fdl-1.3.texi, gl/m4/environ.m4,
-       gl/m4/error.m4, gl/m4/fcntl-o.m4, gl/m4/getopt.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/include_next.m4,
-       gl/m4/lstat.m4, gl/m4/malloc.m4, gl/m4/open.m4, gl/m4/setenv.m4,
-       gl/m4/stat.m4, gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stdint.m4,
-       gl/m4/stdlib_h.m4, gl/m4/symlink.m4, gl/m4/sys_wait_h.m4,
-       gl/m4/time_h.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/strerror.c,
-       gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
-       gltests/fcntl.in.h, gltests/init.sh, gltests/malloc.c,
-       gltests/malloca.c, gltests/open.c, gltests/setenv.c,
-       gltests/stdlib.in.h, gltests/sys_wait.in.h, gltests/test-malloca.c,
-       gltests/test-stdbool.c, gltests/test-stddef.c,
-       gltests/test-sys_wait.c, gltests/test-sys_wait.h,
-       gltests/test-update-copyright.sh,
-       gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh, gltests/test-verify.c,
-       gltests/time.in.h, lib/gl/m4/codeset.m4, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
-       lib/gl/m4/iconv_open.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4,
-       lib/gl/m4/visibility.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
-       lib/gl/string.in.h, lib/gltests/init.sh,
-       lib/gltests/test-stdbool.c, lib/gltests/test-stddef.c,
-       lib/gltests/test-verify.c, maint.mk: Update gnulib files.
-
-2010-05-27  Simon Josefsson <simon@josefsson.org>
-
-       * doc/announce.txt: Doc fix.
-
-2010-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
-
-2010-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/announce.txt: Update announce.txt for 1.19.
-
-2010-05-22  Simon Josefsson <simon@josefsson.org>
-
-       * .gitignore: Improve.
-
-2010-05-22  Simon Josefsson <simon@josefsson.org>
-
-       * cfg.mk: Dist API PDF manual.
-
-2010-05-22  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: Generated.
-
-2010-05-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 1.19.
-
-2010-05-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, cfg.mk, doc/gendocs_template, doc/reference/Makefile.am,
-       gl/override/doc/gendocs_template.diff, gtk-doc.make, m4/gtk-doc.m4: 
-       Update GTK-DOC files to enable PDF manual.
+2021-05-10  Simon Josefsson  <simon@josefsson.org>
 
-2010-05-20  Simon Josefsson <simon@josefsson.org>
+       Improve URLs.
 
-       * NEWS: Add.
+2021-01-17  Simon Josefsson  <simon@josefsson.org>
 
-2010-05-20  Simon Josefsson <simon@josefsson.org>
+       Fix links for git and valgrind.
 
-       * configure.ac, doc/gendocs_template, gl/Makefile.am,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/valgrind-tests.m4, m4/valgrind.m4: Update gnulib files, use
-       new valgrind-tests module.
+2021-01-15  Simon Josefsson  <simon@josefsson.org>
 
-2010-05-17  Simon Josefsson <simon@josefsson.org>
+       Fix self check for --disable-tld.
 
-       * build-aux/c++defs.h, build-aux/gendocs.sh, build-aux/gnupload,
-       gl/Makefile.am, gl/error.c, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/init.sh, gltests/test-verify.c,
-       gltests/test-verify.sh, gltests/verify.h, gltests/wchar.in.h,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/iconv.m4, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
-       lib/gltests/init.sh, lib/gltests/test-verify.c,
-       lib/gltests/test-verify.sh, lib/gltests/verify.h, maint.mk: Update
-       gnulib files.
+2021-01-12  Simon Josefsson  <simon@josefsson.org>
 
-2010-04-25  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Add.
+       Doc fixes.
 
-2010-04-25  Simon Josefsson <simon@josefsson.org>
+       Don't dist ps/html/pdf.  Drop custom css.
 
-       * build-aux/vc-list-files, gl/m4/gnulib-comp.m4,
-       gltests/Makefile.am, gltests/init.sh,
-       gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh, maint.mk: Update gnulib files.
+       Improve ./configure summary output.
 
-2010-04-21  Simon Josefsson <simon@josefsson.org>
+       Use gnulib langinfo module.
 
-       * lib/gl/m4/visibility.m4: Update gnulib files.
+       More ./configure summary output.
 
-2010-04-19  Simon Josefsson <simon@josefsson.org>
+       Use AM_GNU_GETTEXT_VERSION to get intl.m4 too.
 
-       * gl/getopt.c, gl/getopt_int.h, gl/m4/getopt.m4, gltests/setenv.c,
-       gltests/stdbool.in.h, gltests/test-getopt.h,
-       gltests/test-getopt_long.h, gltests/test-stdbool.c,
-       gltests/test-stdint.c, lib/gl/stdbool.in.h,
-       lib/gltests/test-stdbool.c, lib/gltests/test-stdint.c, maint.mk: 
-       Update gnulib files.
+       Ignore more.
 
-2010-04-13  Simon Josefsson <simon@josefsson.org>
+       Disable some complex gnulib self-tests that add lots of dependencies and fail on mingw.
 
-       * maint.mk: Update gnulib files.
+       Drop second gnulib tests directory since only one is supported.
 
-2010-04-12  Simon Josefsson <simon@josefsson.org>
+       Require more recent automake and gtk-doc.
 
-       * NEWS: Add.
+       Fix .gitignore.
 
-2010-04-12  Simon Josefsson <simon@josefsson.org>
+       doc: Fix JDK dependency for Fedora.
 
-       * .x-sc_prohibit_empty_lines_at_EOF: Fix syntax-check warnings.
+       Drop warning stuff covered by manywarnings.m4 now.
 
-2010-04-12  Simon Josefsson <simon@josefsson.org>
+       Disable VLA from gettext.
 
-       * doc/reference/Makefile.am, lib/gen-unicode-tables.pl: Fix
-       syntax-check warnings.
+       Remove autopoint-generated files that are in gnulib too.
 
-2010-04-12  Simon Josefsson <simon@josefsson.org>
+       Drop.
 
-       * GNUmakefile, build-aux/c++defs.h, build-aux/warn-on-use.h,
-       gl/Makefile.am, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/stdlib_h.m4, gl/m4/string_h.m4, gl/m4/time_h.m4,
-       gl/m4/unistd_h.m4, gl/string.in.h, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/stdlib.in.h, gltests/sys_stat.in.h,
-       gltests/time.in.h, gltests/wchar.in.h, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/string_h.m4, lib/gl/string.in.h,
-       lib/gl/wchar.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
-       files.
+       Update autoconf archive macros.
 
-2010-03-30  Simon Josefsson <simon@josefsson.org>
+       Prefer gnulib's M4 files over autopoint.
 
-       * m4/valgrind.m4: Sync valgrind.m4.
+       Modernize autoconf usage.
 
-2010-03-30  Simon Josefsson <simon@josefsson.org>
+       Use AM_GNU_GETTEXT_REQUIRE_VERSION.
 
-       * src/Makefile.am: Drop code (could never have worked anyway).
+       Update gnulib files.
 
-2010-03-30  Simon Josefsson <simon@josefsson.org>
+       Modernize configure.ac.
 
-       * gl/errno.in.h, gl/getopt.in.h, gl/m4/fcntl-o.m4,
-       gl/m4/fcntl_h.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/stddef_h.m4, gl/m4/stdlib_h.m4, gl/m4/string_h.m4,
-       gl/m4/sys_stat_h.m4, gl/m4/time_h.m4, gl/m4/unistd_h.m4,
-       gl/m4/wchar_h.m4, gl/stdarg.in.h, gl/string.in.h, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/stdint.in.h, gltests/sys_stat.in.h,
-       gltests/test-dup2.c, gltests/test-getopt.c, gltests/test-getopt.h,
-       gltests/time.in.h, lib/gl/iconv.in.h, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_h.m4,
-       lib/gl/m4/stddef_h.m4, lib/gl/m4/string_h.m4,
-       lib/gl/m4/visibility.m4, lib/gl/m4/wchar_h.m4, lib/gl/stdint.in.h,
-       lib/gl/string.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
-       files.
+       Require autoconf 2.64 for newer gnulib.
 
-2010-03-26  Simon Josefsson <simon@josefsson.org>
+       Avoid including copyright info in idn example.
 
-       * gl/errno.in.h, gl/getopt.in.h, gl/gettext.h, gl/stdarg.in.h,
-       gl/string.in.h, gl/unistd.in.h, gltests/stdint.in.h,
-       lib/gl/gettext.h, lib/gl/iconv.in.h, lib/gl/stdint.in.h,
-       lib/gl/string.in.h, maint.mk: Update gnulib files.
+       Fix manual copyright years.
 
-2010-03-24  Simon Josefsson <simon@josefsson.org>
+       Fix syntax-check.
 
-       * maint.mk: Update gnulib files.
+       Update copyright years.
 
-2010-03-24  Simon Josefsson <simon@josefsson.org>
+       Improve HACKING.
 
-       * doc/libidn.texi: Fix typos.  Drop @acronym use.
+2020-12-26  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-24  Simon Josefsson <simon@josefsson.org>
+       Drop obsolete PGP key from AUTHORS.
 
-       * .x-sc_texinfo_acronym: Add.
+       Revert last patch, clearly src/ was being built before doc/.
 
-2010-03-24  Simon Josefsson <simon@josefsson.org>
+       Build doc/ after src/ so that src/idn exists for help2man of doc/idn.1.
 
-       * build-aux/warn-on-use.h, gl/Makefile.am, gl/getopt.c,
-       gl/m4/setenv.m4, gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4,
-       gl/unistd.in.h, gltests/Makefile.am, gltests/stdlib.in.h,
-       gltests/test-vc-list-files-git.sh, gltests/time.in.h, maint.mk: 
-       Update gnulib files.
+       Fix recommended package installs.
 
-2010-03-18  Simon Josefsson <simon@josefsson.org>
+       Drop .gitlab-ci.yml.
 
-       * cfg.mk, doc/ANNOUNCE, doc/announce.txt: Add review-diff.  Move
-       announce file to use consistent filenames.
+2020-10-26  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-18  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * gl/Makefile.am, gl/m4/ansi-c++.m4, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/time_h.m4, gl/string.in.h,
-       gltests/Makefile.am, gltests/test-fcntl-h-c++.cc,
-       gltests/test-fcntl-h.c, gltests/test-stdlib-c++.cc,
-       gltests/test-stdlib.c, gltests/test-string-c++.cc,
-       gltests/test-string.c, gltests/test-sys_stat-c++.cc,
-       gltests/test-sys_stat.c, gltests/test-time-c++.cc,
-       gltests/test-time.c, gltests/test-unistd-c++.cc,
-       gltests/test-unistd.c, gltests/test-wchar-c++.cc,
-       gltests/test-wchar.c, gltests/time.in.h: Drop self-tests with C++
-       code in them.
+       Sync with TP.
 
-2010-03-18  Simon Josefsson <simon@josefsson.org>
+       Fix typos, inspired by codespell.
 
-       * build-aux/c++defs.h, build-aux/warn-on-use.h, lib/gl/Makefile.am,
-       lib/gl/m4/ansi-c++.m4, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/string.in.h,
-       lib/gltests/Makefile.am, lib/gltests/test-iconv-h-c++.cc,
-       lib/gltests/test-iconv-h.c, lib/gltests/test-string-c++.cc,
-       lib/gltests/test-string.c, lib/gltests/test-wchar-c++.cc,
-       lib/gltests/test-wchar.c: Drop self-tests with C++ code in them.
+2020-07-23  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * README-alpha: Mention gengetopt.
+2020-07-22  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-12  Simon Josefsson <simon@josefsson.org>
+       Update for 1.36.
 
-       * gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-comp.m4: Update gnulib
-       files.
+       Release fixes.
 
-2010-03-12  Simon Josefsson <simon@josefsson.org>
+       Version 1.36.
 
-       * configure.ac: Reorder to avoid bootstrap warnings.
+       Sync with TP.
 
-2010-03-12  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * build-aux/c++defs.h, gl/string.in.h, lib/gl/string.in.h: Update
-       gnulib files.
+2020-06-11  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-09  Simon Josefsson <simon@josefsson.org>
+       Fix build error on Mac OS X 10.5, Solaris 11 and AIX.
+       Reported by Bruno Haible <bruno@clisp.org>.
 
-       * configure.ac: Explain deprecated libtool usage.
+2020-06-10  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-09  Simon Josefsson <simon@josefsson.org>
+       Ignore libtool.m4 for syntax-check.
 
-       * configure.ac: Revert "Don't use deprecated libtool functions."
-       AC_PROG_LIBTOOL is required on older systems (e.g., latest Ubuntu
-       LTS).  This reverts commit bb239c491ba93a9d2cecf81b53855ecc46d86140.
+       Drop gnulib version-etc-tests, causes linker problems.
 
-2010-03-09  Simon Josefsson <simon@josefsson.org>
+       Add libtool files to VC to be able to work around libtool bugs.
+       Files taken from libunistring which contain some fixes to
+       solve Solaris 11 builds, reported by Bruno Haible in
+       https://lists.gnu.org/archive/html/help-libidn/2020-05/msg00016.html
 
-       * configure.ac: Revert "Reorder." AC_PROG_LIBTOOL is required on
-       older systems (e.g., latest Ubuntu LTS).  This reverts commit e085f872f2de2e9c33fa4b8c1df559584f375641.
+       Update gnulib files.
 
-2010-03-09  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * configure.ac: Reorder.
+2020-05-31  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-09  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * configure.ac: Don't use deprecated libtool functions.
+2020-05-18  Simon Josefsson  <simon@josefsson.org>
 
-2010-03-08  Simon Josefsson <simon@josefsson.org>
+       Move fuzz-coverage rule to gmake-only cfg.mk.  Fixes native AIX make.
+       Reported by Bruno Haible <bruno@clisp.org>.
 
-       * build-aux/c++defs.h, gl/Makefile.am, gl/m4/ansi-c++.m4,
-       gl/m4/fcntl_h.m4, gl/m4/gnulib-comp.m4, gl/m4/stdlib_h.m4,
-       gl/m4/string_h.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
-       gl/m4/unistd_h.m4, gl/m4/wchar.m4, gl/m4/wchar_h.m4,
-       gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
-       gltests/fcntl.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
-       gltests/test-fcntl-h-c++.cc, gltests/test-stdlib-c++.cc,
-       gltests/test-string-c++.cc, gltests/test-sys_stat-c++.cc,
-       gltests/test-time-c++.cc, gltests/test-unistd-c++.cc,
-       gltests/test-wchar-c++.cc, gltests/time.in.h, gltests/wchar.in.h,
-       lib/gl/Makefile.am, lib/gl/iconv.in.h, lib/gl/m4/ansi-c++.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/wchar.m4, lib/gl/m4/wchar_h.m4,
-       lib/gl/string.in.h, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
-       lib/gltests/test-iconv-h-c++.cc, lib/gltests/test-iconv-h.c,
-       lib/gltests/test-string-c++.cc, lib/gltests/test-wchar-c++.cc: 
-       Update gnulib files.
+       Re-order so that tests/ is done before fuzz/.
 
-2010-02-24  Simon Josefsson <simon@josefsson.org>
+2020-05-18  Bruno Haible  <bruno@clisp.org>
 
-       * .gitignore: Add.
+       Reduce the impact of Gnulib test failures.
+       * Makefile.am (SUBDIRS): Move gltests and lib/gltests after tests.
 
-2010-02-24  Simon Josefsson <simon@josefsson.org>
+2020-05-18  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+       Suggest to use --help when invalid command-line parameter was used.
 
-2010-02-24  Simon Josefsson <simon@josefsson.org>
+       Don't use old-style quotes.
+       Reported by Bruno Haible <bruno@clisp.org>.
 
-       * build-aux/gendocs.sh, build-aux/vc-list-files,
-       gl/m4/gnulib-common.m4, gl/m4/warn-on-use.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/warn-on-use.m4: Update gnulib
-       files.
+2020-05-17  Simon Josefsson  <simon@josefsson.org>
 
-2010-02-16  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/ANNOUNCE: Add.
+       tld: Add U+00EF to .nl TLD table.
+       Reported by Trond Haugen <trond.haugen@norid.no>.
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+       Update name/email on request.
 
-       * ChangeLog: Generated.
+       Doc fix.
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * cfg.mk: Release to ftp.gnu.org.
+       Add build-dep on dblatex for gtkdoc-mkpdf.
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+       Add build-dep on autopoint.
 
-       * configure.ac, lib/stringprep.h: Bump versions.
+       Sync with TP.
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+2020-05-01  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * NEWS: Version 1.18.
+       Update file copyrights in fuzz/
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+2020-04-30  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Fix ICONV error string.  Suggested by Benno Schulenberg.
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+       Restore pre-processor indentation.
 
-       * lib/libidn.map: Put forgotten symbols under old namespace.  Suggested by Marco d'Itri <md@linux.it> in
-       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291>.
+2020-04-29  Simon Josefsson  <simon@josefsson.org>
 
-2010-02-15  Simon Josefsson <simon@josefsson.org>
+       Simplify CI rules.
 
-       * build-aux/gnupload, maint.mk: Update gnulib files.
+       Debian git package is now git rather than git-core.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Install build deps.
 
-       * ChangeLog: Generated.
+       Add GitLab CI rules.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+2020-04-28  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 1.17.
+       Fix NEWS.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * cfg.mk: Make this an alpha release.
+       Ignore more.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Re-enable valgrind tests for developers.
 
-       * po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
-       po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
-       po/sr.po.in, po/zh_CN.po.in: Sync with TP.
+       Indent code.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Fix syntax-checks.
 
-       * NEWS: Add.
+       Bump copyright years.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/idna.c, lib/nfkc.c, lib/pr29.c, lib/punycode.c,
-       lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/tld.c, lib/toutf8.c, lib/version.c: Fix GTK-DOC syntax.
-       Unfortunately this looses some information.
+       Fix libidn.jar building with non-gcj.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Provide local copies of autoconf-archive Java M4's.
 
-       * NEWS: Clarify.
+       Update copyright years.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+2019-05-24  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * tests/Makefile.am: Another test for MinGW builds.
+       Fix tests, adding gltests/test-once.c
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Fix build failure in csharp/
 
-       * tests/Makefile.am: Don't use a libtool helper library, to
-       hopefully make MinGW builds work.
+       Update gnulib files
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+2018-07-10  Miroslav Lichvar  <mlichvar@redhat.com>
 
-       * tests/Makefile.am: Simplify.
+       Fix unlikely memory leak in idna_to_unicode_4z4z
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+2018-07-06  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * tests/Makefile.am: Check if this makes MinGW builds work better.
+       Check codepoint validity in punycode_decode() and punycode_decode()
+       These functions were able to generate invalid unicode values resp.
+       invalid punycode. This is undocumented/unexpected behavior that can
+       lead to security vulns.
 
-2010-02-05  Simon Josefsson <simon@josefsson.org>
+       Reported-by: Mike Schiffman (Farsight Security, Inc.)
 
-       * tests/Makefile.am: Drop EXEEXT, to see if MinGW builds improve.
+2018-05-11  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Update HACKING
 
-       * NEWS: Fix.
+       Update release date in NEWS
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Amend po/Makevars to survive 'make distcheck'
 
-       * AUTHORS, Makefile.am, NEWS, README, THANKS, TODO, libidn.pc.in,
-       m4/valgrind.m4: Bump copyright years.
+       Disable valgrind tests for 'make distcheck' and by default
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Remove fuzz corpora from tarball
 
-       * .clcopying, AUTHORS, ChangeLog, FAQ, Makefile.am, README,
-       README-alpha, THANKS, TODO, contrib/README,
-       contrib/doxygen/gdoc2doxygen, contrib/java/Makefile.am,
-       contrib/java/README, csharp/Makefile.am, doc/Makefile.gdoci,
-       doc/cyclo/Makefile.am, doc/gdoc, doc/java/Makefile.am,
-       doc/specifications/Makefile.am, doc/tld/Makefile.am,
-       doc/tld/README, doc/tld/fr.tld, examples/Makefile.am,
-       examples/README, examples/example.c, examples/example2.c,
-       examples/example5.c, java/Makefile.am,
-       java/gnu/inet/encoding/Makefile.am, lib/Makefile.am,
-       lib/gen-tld-tables.pl, lib/idn-free.c, lib/idn-free.h, lib/idna.c,
-       lib/idna.h, lib/nfkc.c, lib/pr29.c, lib/pr29.h, lib/profiles.c,
-       lib/punycode.c, lib/punycode.h, lib/strerror-idna.c,
-       lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/tld.c, lib/tld.h, lib/toutf8.c, lib/version.c, libc/README,
-       libc/example.c, libc/getaddrinfo-idn.txt, libidn.pc.in,
-       src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
-       src/punycode.el, tests/tst_idna.c, tests/tst_idna2.c,
-       tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
-       tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_tld.c,
-       tests/tst_toutf8.c, tests/utils.h: Bump copyright years.
+       Sync with TP.
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * configure.ac: Bump copyright years.
+       Sync with TP.
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Fix indentation
 
-       * NEWS: Add.
+       Update fuzzer corpora
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Update fuzz/ stuff
 
-       * configure.ac: Bump libtool version to indicated "added" symbols.
+       Drop gcj since upstream dropped it
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+2018-05-09  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * doc/Makefile.am: Bump copyright years.
+       Prepare release
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Add release script
 
-       * lib/libidn.map: Bump shared library version tag on "new" symbols.
+       Update Windows build to libiconv-1.15
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * lib/gen-stringprep-tables.pl, lib/stringprep.h,
-       tests/Makefile.am, tests/tst_symbols.c: Make sure all symbols are
-       exported.  Add self test to catch regressions.  See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> and
+2018-04-02  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       <http://lists.gnu.org/archive/html/help-libidn/2010-02/msg00000.html>for background.
+       Add missing gnulib files
 
-2010-02-03  Simon Josefsson <simon@josefsson.org>
+2018-04-01  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * build-aux/gnupload, build-aux/link-warning.h, gl/Makefile.am,
-       gl/error.h, gl/m4/fcntl_h.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/stdlib_h.m4, gl/m4/string_h.m4, gl/m4/sys_stat_h.m4,
-       gl/m4/unistd_h.m4, gl/m4/wchar.m4, gl/string.in.h, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/fcntl.in.h, gltests/ignore-value.h,
-       gltests/stdlib.in.h, gltests/sys_stat.in.h, gltests/test-lstat.c,
-       gltests/test-symlink.c, gltests/wchar.in.h, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/string_h.m4,
-       lib/gl/m4/warn-on-use.m4, lib/gl/m4/wchar.m4, lib/gl/string.in.h,
-       lib/gl/wchar.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
-       files.
+       Remove gcc/clang specific -Wno-vla option
+       Reported-by: Dennis Clarke
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+2018-03-31  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * cfg.mk, maint.mk: Improve syntax-check exception stuff.
+       Make code C89 compliant
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Remove TESTS_VALGRIND code from fuzz/main.c
 
-       * gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-common.m4: Update gnulib
-       files.
+       Update for release
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Increase library revision
 
-       * gl/m4/gnulib-common.m4, gl/m4/warnings.m4: Check patch.
+       Remove autogenerated limits.h
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Update AUTHORS
 
-       * m4/valgrind.m4: Fix valgrind.m4.
+       Update NEWS
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/fdl-1.3.texi, doc/gendocs_template, doc/gpl-3.0.texi,
-       doc/lgpl-2.1.texi, gl/override/lib/dup2.c.diff,
-       gl/override/tests/dup2.c.diff: Update gnulib files.
+       Update gnulib
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+2018-01-30  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Touch.
+       Remove -Werror from CFLAGS
+       Newer compilers have more warnings enabled by default which
+       maybe break compilation with -Werror.
+       (But -Werror is good for developer-controlled testing.)
+       E.g. build broke with clang and --disable-nls configure flag.
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Reported-by: Rupert Gallagher
 
-       * lib/gen-unicode-tables.pl: Touch.
+2018-01-09  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Fix cfg.mk, update .gitignore
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+       Bootstrap: Properly generate gtk-doc.make
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Remove gtk-doc.make from repo
 
-       * csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
-       csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs,
-       csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs,
-       doc/fdl-1.3.texi, doc/gendocs_template, doc/gpl-3.0.texi,
-       doc/lgpl-2.1.texi, doc/tld/no.tld,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateRFC3454.java, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am, lib/gen-tld-tables.pl,
-       lib/tld.c, lib/tld.h, m4/update-header-version.m4, m4/valgrind.m4,
-       po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
-       po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
-       po/rw.po.in, po/sr.po.in, po/zh_CN.po.in,
-       win32/include/ac-stdint.h, win32/include/idn-int.h,
-       win32/include/stdbool.h: Update copyright.
+       Bootstrap: Create gtk-doc.make
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+2018-01-08  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * po/de.po.in, po/fi.po.in, po/zh_CN.po.in: Sync with TP.
+       Remove m4/gtk-doc.m4 from repo
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+2018-01-05  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * .x-sc_avoid_if_before_free, .x-sc_cast_of_alloca_return_value,
-       .x-sc_error_message_uppercase, .x-sc_makefile_at_at_check,
-       .x-sc_makefile_check, .x-sc_space_tab, cfg.mk, examples/example3.c,
-       examples/example4.c, java/gnu/inet/encoding/NFKC.java,
-       java/misc/GenerateNFKC.java, lib/gl/striconv.c, maint.mk,
-       tests/utils.c: Fix syntax-check rules.
+       Auto-generate build-aux/config.rpath
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       .gitignore: Add build-aux/config.rpath
 
-       * doc/libidn.texi: Don't use exit(1).
+       Fix bootstrap to work without build-aux/config.rpath
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       configure.ac: Only use AM_SILENT_RULES if available
 
-       * .x-sc_cast_of_alloca_return_value: Add.
+2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Test for GTK_DOC_CHECK in configure.ac
 
-       * .x-sc_makefile_at_at_check: Add.
+       Remove old and unneeded GTK-DOC files
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       Remove auto-generated file build-aux/config.rpath
 
-       * cfg.mk: Commit cyclo/.
+2017-11-03  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       * lib/nfkc.c (combine_hangul): Fix integer overflow
+       Found by OSS-Fuzz. Has no impact.
 
-       * ChangeLog: Generated.
+2017-10-04  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+       lib/punycode.c (decode_digit): Really fix integer overflow
+       The fix in commit e9e81b8063b095b02cf104bb992fa9bf9515b9d8
+       was incomplete.
 
-       * NEWS: Version 1.16.
+       Reported-by: Christian Weisgerber
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
+2017-10-04  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * gl/m4/open.m4, gl/override/m4/open.m4.diff: Add workaround for
-       Wine open failure.
+       * src/Makefile.am: Fix rule for parallel builds
 
-2010-01-12  Simon Josefsson <simon@josefsson.org>
-
-       * gl/override/tests/dup2.c.diff, gltests/dup2.c: Add workaround for
-       Wine dup2 failure.
-
-2010-01-12  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/warn-on-use.h, gl/Makefile.am, gl/m4/gnulib-comp.m4,
-       gl/m4/unistd_h.m4, gl/m4/warn-on-use.m4, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/test-getopt.c, gltests/wchar.in.h,
-       lib/gl/wchar.in.h, maint.mk: Update gnulib files.
-
-2010-01-09  Simon Josefsson <simon@josefsson.org>
-
-       * gltests/dup2.c, maint.mk: Update gnulib files.
-
-2010-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Touch.
-
-2010-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/gen-unicode-tables.pl: Add comment.
-
-2010-01-08  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/string_h.m4, gl/string.in.h,
-       lib/gl/Makefile.am, lib/gl/m4/string_h.m4, lib/gl/string.in.h: 
-       Update gnulib files.
-
-2010-01-07  Simon Josefsson <simon@josefsson.org>
-
-       * GNUmakefile, build-aux/arg-nonnull.h, build-aux/config.rpath,
-       build-aux/csharpcomp.sh.in, build-aux/gendocs.sh,
-       build-aux/link-warning.h, build-aux/pmccabe2html,
-       build-aux/update-copyright, build-aux/useless-if-before-free,
-       build-aux/vc-list-files, gl/Makefile.am, gl/errno.in.h, gl/error.c,
-       gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
-       gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/00gnulib.m4,
-       gl/m4/alloca.m4, gl/m4/autobuild.m4, gl/m4/cloexec.m4,
-       gl/m4/csharp.m4, gl/m4/csharpcomp.m4, gl/m4/dos.m4, gl/m4/dup2.m4,
-       gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/errno_h.m4,
-       gl/m4/error.m4, gl/m4/extensions.m4, gl/m4/fcntl-o.m4,
-       gl/m4/fcntl.m4, gl/m4/fcntl_h.m4, gl/m4/getdtablesize.m4,
-       gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/include_next.m4,
-       gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/malloc.m4,
-       gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/mode_t.m4,
-       gl/m4/multiarch.m4, gl/m4/open.m4, gl/m4/pathmax.m4,
-       gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stat.m4, gl/m4/stdarg.m4,
-       gl/m4/stdbool.m4, gl/m4/stddef_h.m4, gl/m4/stdint.m4,
-       gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
-       gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
-       gl/m4/unistd_h.m4, gl/m4/version-etc.m4, gl/m4/warnings.m4,
-       gl/m4/wchar.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/progname.c,
-       gl/progname.h, gl/stdarg.in.h, gl/stddef.in.h, gl/strerror.c,
-       gl/string.in.h, gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
-       gltests/Makefile.am, gltests/alloca.in.h, gltests/binary-io.h,
-       gltests/cloexec.c, gltests/cloexec.h, gltests/dup2.c,
-       gltests/fcntl.c, gltests/fcntl.in.h, gltests/getdtablesize.c,
-       gltests/lstat.c, gltests/macros.h, gltests/malloc.c,
-       gltests/malloca.c, gltests/malloca.h, gltests/open.c,
-       gltests/pathmax.h, gltests/putenv.c, gltests/same-inode.h,
-       gltests/setenv.c, gltests/signature.h, gltests/stat.c,
-       gltests/stdbool.in.h, gltests/stdint.in.h, gltests/stdlib.in.h,
-       gltests/symlink.c, gltests/sys_stat.in.h,
-       gltests/test-alloca-opt.c, gltests/test-binary-io.c,
-       gltests/test-cloexec.c, gltests/test-dup2.c,
-       gltests/test-environ.c, gltests/test-errno.c,
-       gltests/test-fcntl-h.c, gltests/test-fcntl.c,
-       gltests/test-getdtablesize.c, gltests/test-getopt.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-malloca.c,
-       gltests/test-open.c, gltests/test-open.h, gltests/test-setenv.c,
-       gltests/test-stat.c, gltests/test-stat.h, gltests/test-stdbool.c,
-       gltests/test-stddef.c, gltests/test-stdint.c,
-       gltests/test-stdlib.c, gltests/test-strerror.c,
-       gltests/test-string.c, gltests/test-symlink.c,
-       gltests/test-symlink.h, gltests/test-sys_stat.c,
-       gltests/test-time.c, gltests/test-unistd.c,
-       gltests/test-unsetenv.c, gltests/test-update-copyright.sh,
-       gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh, gltests/test-version-etc.c,
-       gltests/test-version-etc.sh, gltests/test-wchar.c,
-       gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
-       gltests/version-etc-fsf.c, gltests/wchar.in.h, lib/gl/Makefile.am,
-       lib/gl/c-ctype.c, lib/gl/c-ctype.h, lib/gl/c-strcase.h,
-       lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c, lib/gl/gettext.h,
-       lib/gl/iconv.in.h, lib/gl/iconv_open.c, lib/gl/m4/00gnulib.m4,
-       lib/gl/m4/codeset.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4,
-       lib/gl/m4/iconv.m4, lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/include_next.m4, lib/gl/m4/ld-output-def.m4,
-       lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
-       lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-tr.m4,
-       lib/gl/m4/longlong.m4, lib/gl/m4/multiarch.m4,
-       lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4, lib/gl/m4/stdint.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
-       lib/gl/m4/visibility.m4, lib/gl/m4/wchar.m4, lib/gl/m4/wchar_t.m4,
-       lib/gl/m4/wint_t.m4, lib/gl/stdbool.in.h, lib/gl/stddef.in.h,
-       lib/gl/stdint.in.h, lib/gl/striconv.c, lib/gl/striconv.h,
-       lib/gl/string.in.h, lib/gl/strverscmp.c, lib/gl/wchar.in.h,
-       lib/gltests/Makefile.am, lib/gltests/dummy.c,
-       lib/gltests/intprops.h, lib/gltests/macros.h,
-       lib/gltests/signature.h, lib/gltests/test-c-ctype.c,
-       lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
-       lib/gltests/test-iconv.c, lib/gltests/test-stdbool.c,
-       lib/gltests/test-stddef.c, lib/gltests/test-stdint.c,
-       lib/gltests/test-striconv.c, lib/gltests/test-string.c,
-       lib/gltests/test-strverscmp.c, lib/gltests/test-wchar.c,
-       lib/gltests/verify.h, maint.mk: Update gnulib files.
-
-2009-12-26  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/gnupload, gl/getopt.c, gl/getopt1.c, gl/getopt_int.h,
-       gl/m4/cloexec.m4, gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/extensions.m4,
-       gl/m4/fcntl-o.m4, gl/m4/fcntl.m4, gl/m4/fcntl_h.m4,
-       gl/m4/getdtablesize.m4, gl/m4/getopt.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/lstat.m4, gl/m4/mode_t.m4,
-       gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/setenv.m4, gl/m4/stat.m4,
-       gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
-       gl/m4/wchar.m4, gl/unistd.in.h, gltests/Makefile.am,
-       gltests/binary-io.h, gltests/cloexec.c, gltests/cloexec.h,
-       gltests/dup2.c, gltests/fcntl.c, gltests/fcntl.in.h,
-       gltests/getdtablesize.c, gltests/lstat.c, gltests/macros.h,
-       gltests/open.c, gltests/pathmax.h, gltests/same-inode.h,
-       gltests/signature.h, gltests/stat.c, gltests/stdlib.in.h,
-       gltests/symlink.c, gltests/sys_stat.in.h, gltests/test-binary-io.c,
-       gltests/test-binary-io.sh, gltests/test-cloexec.c,
-       gltests/test-dup2.c, gltests/test-fcntl-h.c, gltests/test-fcntl.c,
-       gltests/test-getdtablesize.c, gltests/test-getopt.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-open.c,
-       gltests/test-open.h, gltests/test-setenv.c, gltests/test-stat.c,
-       gltests/test-stat.h, gltests/test-strerror.c,
-       gltests/test-symlink.c, gltests/test-symlink.h,
-       gltests/test-sys_stat.c, gltests/test-time.c,
-       gltests/test-unsetenv.c, gltests/test-version-etc.c,
-       gltests/time.in.h, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/wchar.m4, lib/gltests/Makefile.am, lib/gltests/macros.h,
-       lib/gltests/signature.h, lib/gltests/test-c-ctype.c,
-       lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
-       lib/gltests/test-iconv.c, lib/gltests/test-striconv.c,
-       lib/gltests/test-strverscmp.c: Update gnulib files.
-
-2009-12-19  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gltests/Makefile.am, lib/gl/Makefile.am,
-       lib/gltests/Makefile.am: Update gnulib files.
-
-2009-12-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2009-12-16  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/arg-nonnull.h, gl/m4/stdbool.m4, gltests/stdbool.in.h,
-       gltests/test-stdbool.c: Update gnulib files.
-
-2009-12-16  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/gnupload, build-aux/link-warning.h, gl/Makefile.am,
-       gl/error.c, gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
-       gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/error.m4,
-       gl/m4/extensions.m4, gl/m4/getopt.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/longlong.m4,
-       gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stdint.m4,
-       gl/m4/string_h.m4, gl/m4/unistd_h.m4, gl/m4/version-etc.m4,
-       gl/m4/warnings.m4, gl/m4/wchar.m4, gl/override/lib/gettext.h.diff,
-       gl/progname.c, gl/progname.h, gl/strerror.c, gl/string.in.h,
-       gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
-       gltests/Makefile.am, gltests/malloca.c, gltests/malloca.h,
-       gltests/putenv.c, gltests/setenv.c, gltests/stdint.in.h,
-       gltests/stdlib.in.h, gltests/test-environ.c, gltests/test-getopt.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-setenv.c, gltests/test-strerror.c,
-       gltests/test-unsetenv.c, gltests/test-update-copyright.sh,
-       gltests/test-version-etc.sh, gltests/unsetenv.c, gltests/verify.h,
-       gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/c-strcasecmp.c,
-       lib/gl/c-strncasecmp.c, lib/gl/gettext.h, lib/gl/iconv.in.h,
-       lib/gl/iconv_open.c, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/include_next.m4, lib/gl/m4/ld-version-script.m4,
-       lib/gl/m4/lib-ld.m4, lib/gl/m4/longlong.m4, lib/gl/m4/stdbool.m4,
-       lib/gl/m4/stdint.m4, lib/gl/m4/string_h.m4, lib/gl/m4/wchar.m4,
-       lib/gl/override/lib/gettext.h.diff, lib/gl/stdint.in.h,
-       lib/gl/striconv.c, lib/gl/striconv.h, lib/gl/string.in.h,
-       lib/gl/strverscmp.c, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
-       lib/gltests/intprops.h, lib/gltests/test-c-ctype.c,
-       lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
-       lib/gltests/test-iconv.c, lib/gltests/test-striconv.c,
-       lib/gltests/test-strverscmp.c, lib/gltests/verify.h, maint.mk: 
-       Update gnulib files.
-
-2009-11-18  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/pmccabe2html, doc/cyclo/Makefile.am, gl/Makefile.am,
-       gl/intprops.h, gl/m4/environ.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/malloc.m4, gl/m4/putenv.m4, gl/m4/setenv.m4,
-       gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4, gl/unistd.in.h,
-       gl/version-etc.c, gltests/Makefile.am, gltests/malloc.c,
-       gltests/putenv.c, gltests/setenv.c, gltests/stdlib.in.h,
-       gltests/test-setenv.c, gltests/test-unsetenv.c, gltests/unsetenv.c,
-       lib/gltests/Makefile.am, lib/gltests/intprops.h, maint.mk: Update
-       gnulib files.
-
-2009-11-06  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/pmccabe2html, build-aux/update-copyright,
-       build-aux/useless-if-before-free, doc/cyclo/Makefile.am,
-       gl/getopt.c, gl/m4/gnulib-comp.m4, gl/m4/pmccabe2html.m4,
-       gl/m4/stdlib_h.m4, gltests/Makefile.am, gltests/stdlib.in.h,
-       gltests/test-getopt.c, gltests/test-getopt.h,
-       gltests/test-getopt_long.h, gltests/test-stddef.c,
-       gltests/test-stdint.c, gltests/test-stdlib.c,
-       gltests/test-strerror.c, gltests/test-string.c,
-       gltests/test-unistd.c, gltests/test-update-copyright.sh,
-       gltests/test-version-etc.c, gltests/test-wchar.c,
-       lib/gltests/test-stddef.c, lib/gltests/test-stdint.c,
-       lib/gltests/test-string.c, lib/gltests/test-strverscmp.c,
-       lib/gltests/test-wchar.c, maint.mk: Update gnulib files.
-
-2009-10-19  Simon Josefsson <simon@josefsson.org>
-
-       * gl/unistd.in.h: Update gnulib files.
-
-2009-10-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/Makefile.am: Fix link error on mingw.
-
-2009-10-08  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/getopt.in.h, gl/getopt_int.h, gl/m4/alloca.m4,
-       gl/m4/eealloc.m4, gl/m4/getopt.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/malloca.m4, gl/m4/unistd_h.m4, gl/progname.c, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/alloca.in.h, gltests/malloca.c,
-       gltests/malloca.h, gltests/malloca.valgrind, gltests/setenv.c,
-       gltests/test-alloca-opt.c, gltests/test-getopt.c,
-       gltests/test-getopt_long.h, gltests/test-malloca.c,
-       lib/gltests/Makefile.am, maint.mk: Update gnulib files.
+2017-09-01  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-09-22  Simon Josefsson <simon@josefsson.org>
+       lib/punycode.c (decode_digit): Fix integer overflow
+       This fix is a backport from libidn2 and addresses
+       CVE-2017-14062.
 
-       * NEWS: Add.
+2017-07-18  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-09-22  Simon Josefsson <simon@josefsson.org>
+       Update fuzzer test corpora
 
-       * build-aux/gendocs.sh, build-aux/update-copyright, gl/Makefile.am,
-       gl/m4/getopt.m4, gl/m4/gnulib-comp.m4, gl/m4/stdlib_h.m4,
-       gl/m4/string_h.m4, gl/m4/unistd_h.m4, gl/progname.c,
-       gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
-       gltests/stdlib.in.h, lib/gl/Makefile.am,
-       lib/gl/iconv_open-solaris.gperf, lib/gl/iconv_open.c,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/string_h.m4, lib/gl/string.in.h, maint.mk: Update gnulib
-       files.
+2017-07-16  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-09-22  Simon Josefsson <simon@josefsson.org>
+       Fix slowness issue in idna.c/idna_to_unicode_internal()
+       This has been found by oss-fuzz.
+       A 316 byte input needed >25s to be run by libidn_tounicode_fuzzer().
+       Normal should be 1000+ runs per second.
 
-       * configure.ac, pom.xml.in: Add Maven pom.xml file.
+2017-07-14  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-09-07  Simon Josefsson <simon@josefsson.org>
+       Fix distcheck
 
-       * doc/libidn.texi: Note about OS/2 port.
+       Update .gitignore
 
-2009-08-20  Simon Josefsson <simon@josefsson.org>
+       Update fuzzer corpora
 
-       * maint.mk: Update gnulib files.
+       Add CTRL-C handling for run-clang.sh
 
-2009-08-18  Simon Josefsson <simon@josefsson.org>
+       Limit fuzzers to 1024 bytes input
 
-       * build-aux/update-copyright, gl/Makefile.am, gl/m4/gnulib-comp.m4,
-       gl/m4/stddef_h.m4, gl/m4/wchar.m4, gl/stddef.in.h, gl/string.in.h,
-       gl/unistd.in.h, gltests/Makefile.am, gltests/stdlib.in.h,
-       gltests/test-stddef.c, gltests/test-stdlib.c,
-       gltests/test-string.c, gltests/test-unistd.c,
-       gltests/test-update-copyright.sh, gltests/test-wchar.c,
-       lib/gl/Makefile.am, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/stddef_h.m4, lib/gl/m4/wchar.m4, lib/gl/stddef.in.h,
-       lib/gl/string.in.h, lib/gltests/Makefile.am,
-       lib/gltests/test-stddef.c, lib/gltests/test-string.c,
-       lib/gltests/test-wchar.c, maint.mk: Update gnulib files.
+2017-07-12  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-08-14  Simon Josefsson <simon@josefsson.org>
+       Fix slowness issue in stringprep_profile()
 
-       * build-aux/update-copyright, gl/Makefile.am, gl/m4/environ.m4,
-       gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/longlong.m4, gl/m4/multiarch.m4, gl/m4/setenv.m4,
-       gl/m4/stdint.m4, gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4,
-       gl/m4/wchar.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/unistd.in.h,
-       gltests/Makefile.am, gltests/stdint.in.h, gltests/stdlib.in.h,
-       gltests/test-environ.c, gltests/test-getopt.c,
-       gltests/test-getopt.h, gltests/test-getopt_long.h,
-       gltests/test-stdint.c, gltests/test-stdlib.c,
-       gltests/test-string.c, gltests/test-unistd.c,
-       gltests/test-update-copyright.sh, gltests/test-version-etc.sh,
-       gltests/test-wchar.c, gltests/unsetenv.c, gltests/wchar.in.h,
-       lib/gltests/test-string.c: Update gnulib files.
+       Remove libidn_error_fuzzer (really)
 
-2009-08-07  Simon Josefsson <simon@josefsson.org>
+       Remove libidn_error_fuzzer, not worth fuzzing
 
-       * build-aux/update-copyright, gltests/test-update-copyright.sh,
-       maint.mk: Update gnulib files.
+       Update stringprep fuzz corpora
 
-2009-08-04  Simon Josefsson <simon@josefsson.org>
+2017-07-11  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gltests/Makefile.am: Update gnulib files.
+       Fix C++ building for fuzz targets
 
-2009-08-04  Simon Josefsson <simon@josefsson.org>
+       Revert "Switch to C build for oss-fuzz target"
+       This reverts commit eff373983d8b02271960c1f26913a5f01baa2c86.
 
-       * lib/gl/m4/iconv.m4, maint.mk: Update gnulib files.
+       Switch to C build for oss-fuzz target
 
-2009-07-29  Simon Josefsson <simon@josefsson.org>
+2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * README-alpha: Typo.
+       Fix run-clang.sh
 
-2009-07-22  Simon Josefsson <simon@josefsson.org>
+       Remove gnulib code from fuzz-coverage report
 
-       * build-aux/vc-list-files, gl/Makefile.am, gl/errno.in.h,
-       gl/error.c, gl/m4/errno_h.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/unistd_h.m4, gl/strerror.c, gl/unistd.in.h, gl/version-etc.c,
-       gl/version-etc.h, gltests/Makefile.am, gltests/test-string.c,
-       gltests/test-unistd.c, gltests/test-version-etc.c,
-       gltests/test-version-etc.sh, gltests/verify.h,
-       gltests/version-etc-fsf.c, lib/gl/m4/lib-link.m4,
-       lib/gltests/test-string.c, maint.mk: Update gnulib files.
+       Add libidn_error_fuzzer
 
-2009-06-17  Simon Josefsson <simon@josefsson.org>
+2017-07-08  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * doc/libidn.texi: Typo.
+       Update fuzz corpora
 
-2009-06-16  Simon Josefsson <simon@josefsson.org>
+       Remove CXXFLAGS from fuzz/README.md
 
-       * gl/Makefile.am, gl/m4/string_h.m4, gl/string.in.h,
-       lib/gl/Makefile.am, lib/gl/m4/string_h.m4, lib/gl/string.in.h: 
-       Update gnulib files.
+2017-06-30  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-06-11  Simon Josefsson <simon@josefsson.org>
+       Update fuzzer corpora and support scripts
 
-       * doc/texinfo.css: Fix.
+       Fix compilation with -Werror and --enable-gcc-warnings
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+       Extend stringprep fuzzer + corpora
 
-       * doc/libidn.texi: Add version number to manual title.
+2017-06-30  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+       Speed up stringprep
+       Fuzzing gave me a corpus which was extremly slow to process with
+       stringprep_profile(). 3926 bytes took ~1.4 billion CPU cycles, most
+       time spent in stringprep_apply_table_to_string().
 
-       * lib/stringprep.h: Generated.
+       The problem was that already processed bytes were processed again.
+       After fixing the same test corpus now takes ~19.5 million CPU cycles.
+       That is a speedup by ~70x.
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+       Still much time is spent in _g_utf8_normalize_wc(), mabe worth a
+       look as well.
 
-       * NEWS, configure.ac: Bump versions.
+2017-06-30  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+       Fix NULL ptr access in nfkc.c/g_utf8_normalize()
 
-       * build-aux/gendocs.sh: Chmod +x.
+       Remove unused code from nfkc.c/g_utf8_strlen()
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+       Increase code coverage of fuzzer targets
 
-       * ChangeLog: Generated.
+       Fix NULL ptr access in stringprep_ucs4_nfkc_normalize(), foudn by fuzzing
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+2017-06-29  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * NEWS: Version 1.15.
+       Increase speed of stringprep by ~20x
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+2017-06-28  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * NEWS: Fix.
+       New fuzzer target libidn_stringprep_fuzzer
 
-2009-06-08  Simon Josefsson <simon@josefsson.org>
+2017-06-24  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * NEWS: Fix.
+       Add make target 'fuzz-coverage'
 
-2009-06-05  Simon Josefsson <simon@josefsson.org>
+       New fuzzer target libidn_tounicode_fuzzer
 
-       * NEWS: Add.
+       Improved libidn_toascii_fuzzer
 
-2009-06-05  Simon Josefsson <simon@josefsson.org>
+       C++ needs explicit pointer cast
 
-       * gl/m4/gnulib-comp.m4, gl/m4/version-etc.m4, gl/version-etc.c: 
-       Update gnulib files.
+       Adjust include dir in fuzz/Makefile.am
 
-2009-06-02  Simon Josefsson <simon@josefsson.org>
+       Build java and csharp only if configured
 
-       * NEWS, java/misc/GenerateNFKC.java,
-       java/misc/GenerateRFC3454.java, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java: Fix some java warnings.
+       New configure flag --disable-doc
 
-2009-06-01  Simon Josefsson <simon@josefsson.org>
+2017-06-23  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * configure.ac, lib/Makefile.am: Check stack usage in library.
+       Add initial OSS-Fuzz testing
 
-2009-06-01  Simon Josefsson <simon@josefsson.org>
+2017-06-21  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-       * gl/m4/manywarnings.m4: Update gnulib files.
+       Add --enable-ubsan configure flag to enable UB Sanitizer
 
-2009-05-29  Simon Josefsson <simon@josefsson.org>
+       Add --enable-asan configure flag to enable Address Sanitizer
 
-       * NEWS, THANKS, lib/idna.c: Use c_strcasecmp instead of strcasecmp.
-       Reported by Guenter Knauf <gk@gknw.de>.
+2017-02-01  Tim Rühsen  <tim.ruehsen@gmx.de>
 
-2009-05-28  Simon Josefsson <simon@josefsson.org>
+       Fix -Wformat warnings
 
-       * cfg.mk, configure.ac, examples/Makefile.am, lib/Makefile.am,
-       src/Makefile.am, tests/Makefile.am: Improve warning handling.
+       Increase value for -Wframe-larger-than (gcc-7)
 
-2009-05-28  Simon Josefsson <simon@josefsson.org>
+       Update intprops.h for gcc-7 compatibility
 
-       * build-aux/gnupload: Update gnulib files.
+2016-07-22  Simon Josefsson  <simon@josefsson.org>
 
-2009-05-27  Simon Josefsson <simon@josefsson.org>
+       Mention OpenJDK.  Suggested by Guus.
 
-       * gl/m4/include_next.m4, lib/gl/m4/include_next.m4: Update gnulib
-       files.
+2016-07-20  Simon Josefsson  <simon@josefsson.org>
 
-2009-05-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * m4/pkg.m4: Add.
+       Sync with TP.
 
-2009-05-20  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * build-aux/gnupload, gltests/test-vc-list-files-git.sh, maint.mk: 
-       Update gnulib files.
+       Update for 1.33.
 
-2009-05-11  Simon Josefsson <simon@josefsson.org>
+       Version 1.33.
 
-       * gtk-doc.make: Fix syntax-check.
+       Doc fix.
 
-2009-05-11  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * gtk-doc.make, m4/gtk-doc.m4: Upgrade gtk-doc files.
+       Update gnulib files.
 
-2009-05-08  Simon Josefsson <simon@josefsson.org>
+       Update gl override patches.
 
-       * build-aux/gnupload, gl/m4/errno_h.m4, gl/m4/gnulib-comp.m4,
-       lib/gl/Makefile.am, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/multiarch.m4, maint.mk: Update gnulib files.
+2016-01-14  Simon Josefsson  <simon@josefsson.org>
 
-2009-05-08  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * cfg.mk: Make -Werror more optional.
+       Doc fix.
 
-2009-05-07  Simon Josefsson <simon@josefsson.org>
+       Really fix bug when reading \00 inputs.
 
-       * README-alpha: Fix.
+       Sync with TP.
 
-2009-05-05  Simon Josefsson <simon@josefsson.org>
+       Bump copyright notices.
 
-       * README-alpha: Fix.
+       Update gnulib files.
 
-2009-05-05  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * README-alpha: Add.
+       stringprep_utf8_nfkc_normalize: Reject invalid UTF8 instead of crashing.
+       Also add regression self check.  Reported by Hanno Böck.
 
-2009-05-03  Simon Josefsson <simon@josefsson.org>
+       Fix memory leak in last fix.
 
-       * gl/gettext.h, lib/gl/Makefile.am, lib/gl/gettext.h,
-       lib/gl/m4/wchar.m4, lib/gl/wchar.in.h, maint.mk: Update gnulib
-       files.
+       Add.
 
-2009-04-27  Simon Josefsson <simon@josefsson.org>
+       Fix out-of-bounds stack read.  Report and patch by Hanno Böck.
 
-       * maint.mk: Update gnulib files.
+       Add regression check for Hanno Böck's stack OOB issue.
 
-2009-04-27  Simon Josefsson <simon@josefsson.org>
+2015-08-10  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/vc-list-files, lib/gl/m4/lib-link.m4,
-       lib/gl/m4/lib-prefix.m4, maint.mk: Update gnulib files.
+       Ignore more.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Doc.
 
-       * .prev-version: Add.
+       idn: Use getline instead of fgets with fixed-size buffer.
+       Fixes out-of-bounds read, reported by Hanno Böck.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Dropped valgrind suppressions file, should no longer be needed.
 
-       * .x-sc_makefile-check~, .x-sc_makefile_check~, .x-sc_space_tab~: 
-       rm.
+       Bump SO version.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Improve.
 
-       * .x-sc_avoid_if_before_free, .x-sc_makefile-check~,
-       .x-sc_makefile_check, .x-sc_makefile_check~, gltests/Makefile.am,
-       java/Makefile.am, java/misc/Makefile.am, maint.mk: Fix
-       syntax-checks.
+       Bump version.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+2015-08-01  Simon Josefsson  <simon@josefsson.org>
 
-       * cfg.mk: Fix for modern git.
+       Update for 1.32.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Version 1.32.
 
-       * build-aux/useless-if-before-free, build-aux/vc-list-files,
-       gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gltests/Makefile.am, gltests/test-vc-list-files-cvs.sh,
-       gltests/test-vc-list-files-git.sh: Add modules, for syntax-check.
+       Reorder AM_PROG_AR to silence autoreconf.  Drop AC_PROG_LIBTOOL.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       libidn: Fix crash in idna_to_unicode_8z8z and idna_to_unicode_8zlz.
 
-       * lib/nfkc.c: Fix warnings.
+       Add regression check for malformed UTF-8 crash, reported by Adam Sampson.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * .x-sc_the_the, cfg.mk, configure.ac: Syntax check fixes.
+       Bump versions.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Update for 1.31.
 
-       * .x-sc_error_message_uppercase, .x-sc_file_system,
-       .x-sc_prohibit_atoi_atof, cfg.mk, contrib/idn-python/Makefile,
-       contrib/idn-python/idn.c, contrib/idn-python/test.py, gl/getopt1.c,
-       lib/nfkc.c, lib/version.c, m4/valgrind.m4, src/idn.c: Syntax check
-       fixes.
+2015-07-08  Simon Josefsson  <simon@josefsson.org>
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Update for 1.30.
 
-       * .x-sc_space_tab, .x-sc_space_tab~, NEWS, gtk-doc.make,
-       m4/valgrind.m4: Syntax check fixes.
+       Version 1.31.
 
-2009-04-24  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .x-sc_avoid_if_before_free, .x-sc_cast_of_alloca_return_value,
-       lib/stringprep.c, maint.mk: Update gnulib files.
+       Update gnulib files.
 
-2009-04-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Fix.
+       Sync with TP.
 
-2009-04-23  Simon Josefsson <simon@josefsson.org>
+       libidn: stringprep_utf8_to_ucs4 now rejects invalid UTF-8. CVE-2015-2059
 
-       * doc/gendocs_template, maint.mk: Update gnulib files.
+       Fix broken encoding (ISO-8859-1 vs UTF-8) of this file.
 
-2009-04-23  Simon Josefsson <simon@josefsson.org>
+2015-07-07  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, doc/libidn.texi: Improve texinfo section names.
+       Use LOG_COMPILER instead of TEST_ENVIRONMENT, for valgrind.
 
-2009-04-17  Simon Josefsson <simon@josefsson.org>
+       Bump versions.  Doc fix.
 
-       * configure.ac: AM_PROG_GCJ needs to be called unconditionally.
-       Sigh.  Otherwise you get this error: conditional "am__fastdepGCJ"
-       was never defined.
+2015-07-07  Alessandro Ghedini  <alessandro@ghedini.me>
 
-2009-04-14  Simon Josefsson <simon@josefsson.org>
+       Use strdup() to duplicate a buffer
+       This apparently fixes the "Invalid read of size 4" error from valgrind
+       that was reported at https://bugs.debian.org/724069
 
-       * configure.ac, m4/ac_prog_javac.m4, m4/ac_prog_javac_works.m4,
-       m4/ac_prog_javadoc.m4: Fix java detection.
+2015-07-07  Simon Josefsson  <simon@josefsson.org>
 
-2009-04-14  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/stringprep.h: Bump version.
+2015-03-02  Simon Josefsson  <simon@josefsson.org>
 
-2009-04-14  Simon Josefsson <simon@josefsson.org>
+       Version 1.30.
 
-       * java/misc/TestIDNA.java: Don't use assert keyword to avoid
-       compilation error.
+       Ignore more.
 
-2009-04-14  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * NEWS, configure.ac: Bump versions.
+       Sync gdoc.
 
-2009-04-14  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * build-aux/gendocs.sh, doc/gendocs_template, doc/lgpl-2.1.texi,
-       lib/gl/m4/ld-version-script.m4, maint.mk: Update gnulib files.
+       Sync with TP.
 
-2009-04-03  Simon Josefsson <simon@josefsson.org>
+       Bump gettext to 0.19.3. Use LT_INIT instead of AC_LIBTOOL_WIN32_DLL.
 
-       * ChangeLog: Generated.
+       Update OpenPGP key.
 
-2009-04-03  Simon Josefsson <simon@josefsson.org>
+       Update copyright years.
 
-       * NEWS: Version 1.14.
+       Update gnulib files.
 
-2009-04-03  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS, configure.ac, lib/Makefile.am, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/ld-output-def.m4: Use --output-def.
+       Reimport punycode.h and punycode.c from punycode-spec.gz, and clarifying the changes.
 
-2009-04-03  Simon Josefsson <simon@josefsson.org>
+2014-11-27  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4: Update gnulib files.
+       Bump version.
 
-2009-04-01  Simon Josefsson <simon@josefsson.org>
+2014-08-10  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/toutf8.c: Assume locale.h.
+       Update for 1.29.
 
-2009-03-25  Simon Josefsson <simon@josefsson.org>
+       Update for 1.27.
 
-       * cfg.mk: Copy cyclo chart to webdir.
+       Version 1.29.
 
-2009-03-25  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * gl/unistd.in.h: Update gnulib files.
+       Sync with TP.
 
-2009-03-23  Simon Josefsson <simon@josefsson.org>
+       More copyright year updates.
 
-       * NEWS: Add.
+       Update PGP key.
 
-2009-03-23  Simon Josefsson <simon@josefsson.org>
+       Update copyright years.
 
-       * THANKS: Add.
+       Update gnulib files.
 
-2009-03-23  Simon Josefsson <simon@josefsson.org>
+2013-10-24  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/tst_toutf8.c: Don't crash in memcmp if
-       stringprep_utf8_to_locale returns NULL.  Reported by Dagobert
-       Michelsen <dam@opencsw.org> in
-       <http://thread.gmane.org/gmane.comp.gnu.libidn.general/192>.
+       Don't build csharp code when building Windows binaries.
 
-2009-03-19  Simon Josefsson <simon@josefsson.org>
+       Use libiconv 1.14.
 
-       * GNUmakefile, build-aux/gnupload, maint.mk: Update gnulib files.
+       Update gnulib files.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump version.
+       Mark internal variable "g_utf8_skip" as static.
+       Reported by Thomas Dineen <tdineen@ix.netcom.com>.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Flush stdout to simplify for tools that buffer too heavily.
+       Tiny patch from Hugh Daschbach <hugh@ccss.com>.
 
-       * ChangeLog: Generated.
+2013-07-10  Simon Josefsson  <simon@josefsson.org>
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Version 1.28.
 
-       * NEWS: Version 1.13.
+       Java doc fix.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix last commit.
 
-       * NEWS, THANKS: Add credits.
+       Add.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix -a and -u logic mixup.
 
-       * configure.ac: Don't use warnings unless we are using GCC.
+       Ignore more.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Fix.
+2013-07-09  Simon Josefsson  <simon@josefsson.org>
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+       Add all classes.
 
-2009-03-06  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * build-aux/gnupload: Update gnulib files.
+2013-07-08  Simon Josefsson  <simon@josefsson.org>
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Bump gettext to 0.18.3 to work better with modern automake.
 
-       * NEWS: Fix.
+       Fix for recent automake.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Clarify.
+       Update gnulib files.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+2013-06-06  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi, lib/punycode.h, lib/tld.h: Namespace discussion.
+       Generated.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Dist RangeSet.java.
 
-       * gl/Makefile.am, lib/gl/Makefile.am: Update gnulib files.
+       Include RangeSet.class in jar file, otherwise compilation fails.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+2013-06-05  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/idn-free.h: Fix.
+       Prevent tool from crashing when stringprep_utf8_to_locale doesn't work.
+       Reported by Jeffrey Frey <frey@udel.edu>.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Update for 1.26.
 
-       * lib/idn-free.c, lib/idn-free.h, lib/pr29.c, lib/pr29.h: Finish API
-       visibility markup.  Now passes self tests.
+       Bump versions.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * NEWS: Fix.
+       Version 1.27.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Add NEWS blurbs.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Fix syntax-check nits.
 
-       * lib/idna.h, lib/profiles.c, lib/punycode.c, lib/punycode.h,
-       lib/stringprep.h, lib/tld.c: Mark visibility of API functions.
+       Update copyright years.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/reference/Makefile.am: Ignore decorators.
+       Update gnulib files.
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Fix .gitignore for new java stuff.
 
-       * lib/tld.h: Improve decorators.
+2013-06-05  stela  <stela@lysator.liu.se>
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Added missing copyright headers. Describe how to use caliper benchmarks with jenkins/hudson + caliper-ci.
 
-       * lib/tld.h: Add symbol visibility markup.
+       Upgraded (test) dependencies and mvn plugins to latest versions
 
-2009-03-04  Simon Josefsson <simon@josefsson.org>
+       Avoid using deprecared junit classes
 
-       * lib/Makefile.am, lib/gl/m4/visibility.m4: Update gnulib files.
+       First do simplistic check if input is all within common pass-through ranges. Speeds up common inputs up to about 25%.
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Eliminate length-calculations, minor cleanups
 
-       * m4/linker-script.m4: Remove.
+       Optimize search for head-range, don't binary-search past end-index of highest character
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Optimize search for head-range, don't binary-search past end-index of highest character
 
-       * lib/Makefile.am, lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/visibility.m4: Use visibility
-       module.
+       First check most significant gap (exists if it contains the letter "a") in the ranges, often provides fast-fail
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Filter using RangeSet, reverse loops order
 
-       * NEWS: Add.
+       normalizeNFKC pre-allocates output, pre-calculate fixed input length
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Replaced all contains methods with RangeSet operations.
+       Made resourceprep faster, others slightly slower. Less redundant code to maintain/optimize later though
 
-       * lib/Makefile.am: Typo.
+       Added RangeSet implementation used for stringprep-table-contains lookups. Made nodeprep twice as fast, nameprep slightly faster, overall 20-40% faster.
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       If tested text characters all below char to match (out of sorted set), abort as remaining higher chars won't be matched either
 
-       * configure.ac: More debug info.
+       Don't do redundant StringBuilder length() or charAt() calls when doing contains-checks
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Do character-replacement lookups through binary search instead of linear search
 
-       * configure.ac: Debug output about version script.
+       Replace synchronized StringBuffer with faster unsynchronized StringBuilder
 
-2009-03-03  Simon Josefsson <simon@josefsson.org>
+       Added caliper tests for common types of stringprep operations. Allows use of jenkins + caliper-ci to produce nice graphs of improvements per release.
 
-       * configure.ac, lib/Makefile.am, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/ld-version-script.m4: Use gnulib ld-version-script module.
-       Re-add use of -export-symbols-regex for other platforms.
+       Revert from fast StringBuilder to slow StringBuffer for now just to establish a performance baseline.
 
-2009-03-02  Simon Josefsson <simon@josefsson.org>
+       Added test cases converted from C version. Avoid reading first character of empty strings, happened when a zero width space is converted to nothing.
 
-       * lib/libidn.map: Add license.  Use v1.0 in name.
+       Change comments from stringbuffer to StringBuilder as well
 
-2009-03-02  Simon Josefsson <simon@josefsson.org>
+       Make example3/4/5.c compile on Ubuntu 12.04 LTS, cast %ld printf arguments
 
-       * lib/libidn.map: Add.
+       Make example.c compile on Ubuntu 12.04 LTS, cast %ld printf arguments
 
-2009-03-02  Simon Josefsson <simon@josefsson.org>
+       Replace needlessly synchronized StringBuffer with StringBuilder everywhere, benchmarked to result in roughly 4x stringprep speedup
 
-       * NEWS, configure.ac, lib/Makefile.am, m4/linker-script.m4: Use a
-       linker version script.
+       Make maven build with new directory structure.
+       Added maven configuration to at least avoid warnings when building and make build reproducible
 
-2009-03-02  Simon Josefsson <simon@josefsson.org>
+       Use standard maven directory structure, but still allow building with make.
+       Moved java sources into java/src/main/java instead of plain "java".
+       Created empty src/test/java for future unit test cases.
+       Moved code-generation and test classes into src/util/java instead of "misc"
+       Adapted make files for changed paths
 
-       * gl/m4/gnulib-common.m4, gl/m4/stdarg.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/stdint.m4, lib/gl/stdint.in.h: 
-       Update gnulib files.
+       Use standard maven directory structure, but still allow building with make.
+       Moved java sources into java/src/main/java instead of plain "java".
+       Created empty src/test/java for future unit test cases.
+       Moved code-generation and test classes into src/util/java instead of "misc"
+       Adapted make files for changed paths
 
-2009-02-24  Simon Josefsson <simon@josefsson.org>
+2012-12-12  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/m4/include_next.m4, lib/gl/m4/include_next.m4: Update gnulib
-       files.
+       Bump versions.
 
-2009-02-10  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * src/Makefile.am: Don't remove idn_cmd.c and idn_cmd.h on
-       distclean, use maintainer-clean instead.  Reported by "Sisyphus"
-       <sisyphus1@optusnet.com.au> in
-       <http://thread.gmane.org/gmane.comp.gnu.libidn.general/178>.
+2012-12-11  Simon Josefsson  <simon@josefsson.org>
 
-2009-02-09  Simon Josefsson <simon@josefsson.org>
+       Fix release rules.
 
-       * NEWS, THANKS, doc/Makefile.am, doc/libidn.texi,
-       doc/reference/Makefile.am, doc/reference/libidn-docs.sgml,
-       lib/idn-free.c, lib/nfkc.c: Document the idn_free function.
+       More release dependencies.
 
-2009-02-09  Simon Josefsson <simon@josefsson.org>
+       Version 1.26.
 
-       * lib/stringprep.h: Bump version.
+2012-12-10  Simon Josefsson  <simon@josefsson.org>
 
-2009-02-09  Simon Josefsson <simon@josefsson.org>
+       java: Permit usage by Apache projects.
 
-       * src/idn.c: Drop emit_bug_reporting_address, it is now provided by
-       gnulib version-etc.
+       Note additional dependencies.
 
-2009-02-06  Simon Josefsson <simon@josefsson.org>
+       Improve gendocs.sh usage.
 
-       * build-aux/gnupload, gl/m4/00gnulib.m4, gl/m4/extensions.m4,
-       gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/pmccabe2html.m4, gl/version-etc.c, gl/version-etc.h,
-       lib/gl/m4/00gnulib.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/locale-fr.m4: Update gnulib files.
+2012-12-09  Simon Josefsson  <simon@josefsson.org>
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS, configure.ac: Bump versions.
+       Fix mem leak.
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * ChangeLog: Generated.
+       Check for out-of-bounds read (trigger with in={'f','o','o'} and inlen=3).
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+       Silence warning.
 
-       * NEWS: Version 1.12.
+       Update gnulib files.
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+2012-11-22  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Sync with TP.
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+2012-09-18  Simon Josefsson  <simon@josefsson.org>
 
-       * AUTHORS: Update PGP key.
+       Use modern gdoc.mk.
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+       Silence clang warning in library.
 
-       * po/LINGUAS: Sync with TP.
+       Add.
 
-2009-01-23  Simon Josefsson <simon@josefsson.org>
+       Improve tld self-test.
 
-       * po/LINGUAS: Sync with TP.
+       Sync with TP.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, doc/libidn.texi, src/idn.c, src/idn.ggo: idn: Add new
-       --no-tld to resolve broken --tld parameter.  Reported by Christian
-       Hammers <ch@lathspell.de> in
-       http://thread.gmane.org/gmane.comp.gnu.libidn.general/162
+2012-08-09  Simon Josefsson  <simon@josefsson.org>
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+       Rename win32/ to windows/.
 
-       * doc/gdoc: Fix.
+       Update gnulib files.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+2012-08-02  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.am: Use gdoc's -pkg-name.
+       Mention i18n update.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/gdoc: Add -pkg-name parameter.
+       Silence syntax-check.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/m4/errno_h.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       gl/unistd.in.h, gltests/test-unistd.c, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/multiarch.m4: Update gnulib
-       files.
+       libidn, idna_to_ascii: Propagate error on malloc failure.
+       Reported and tiny patch by Sarat Chandra Addepalli <s.addepalli@samsung.com>.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+2012-05-31  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.c: Cleanup.
+       Use https URLs.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+2012-05-28  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.c: Bump copyright years.
+       Update for 1.25.
 
-2009-01-22  Simon Josefsson <simon@josefsson.org>
+2012-05-25  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.c: Update --help output per new GNU coding standards.
+       Improve debug output from version comparisons.
 
-2009-01-19  Simon Josefsson <simon@josefsson.org>
+2012-05-23  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h: Update gnulib
-       files.
+       Bump versions.
 
-2009-01-19  Simon Josefsson <simon@josefsson.org>
+       Fix release rules.
 
-       * doc/Makefile.am: Bump copyright years for man pages.
+       Version 1.25.
 
-2009-01-17  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * : Touch.
+2012-05-22  Simon Josefsson  <simon@josefsson.org>
 
-2009-01-17  Simon Josefsson <simon@josefsson.org>
+       Use devhelp2 format.
 
-       * AUTHORS: Update PGP key.
+       Push to git after doing gnupload.
 
-2009-01-17  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * contrib/README, csharp/IDNA.cs, csharp/IDNAException.cs,
-       csharp/Makefile.am, csharp/NFKC.cs, csharp/Punycode.cs,
-       csharp/PunycodeException.cs, csharp/Stringprep.cs,
-       csharp/StringprepException.cs, csharp/generate/AssemblyInfo.cs,
-       csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs,
-       doc/Makefile.am, doc/Makefile.gdoci, doc/cyclo/Makefile.am,
-       doc/gdoc, doc/java/Makefile.am, doc/libidn.texi,
-       doc/tld/Makefile.am, doc/tld/README, examples/Makefile.am,
-       examples/README, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c, examples/example5.c,
-       java/Makefile.am, java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/Makefile.am, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am,
-       lib/gen-stringprep-tables.pl, lib/gen-tld-tables.pl,
-       lib/gen-unicode-tables.pl, lib/idn-free.c, lib/idn-free.h,
-       lib/idna.c, lib/idna.h, lib/nfkc.c, lib/pr29.c, lib/pr29.h,
-       lib/profiles.c, lib/punycode.c, lib/punycode.h,
-       lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/stringprep.h, lib/tld.c, lib/tld.h, lib/toutf8.c,
-       lib/version.c, libc/README, src/Makefile.am, src/idn.c,
-       src/idn.ggo, src/idna.el, src/punycode.el, tests/Makefile.am,
-       tests/tst_idna.c, tests/tst_idna2.c, tests/tst_nfkc.c,
-       tests/tst_pr29.c, tests/tst_punycode.c, tests/tst_strerror.c,
-       tests/tst_stringprep.c, tests/tst_tld.c, tests/tst_toutf8.c,
-       tests/utils.c, tests/utils.h: Bump copyright years.
+       Update gnulib files.
 
-2009-01-17  Simon Josefsson <simon@josefsson.org>
+       Revert "Fix version controlled build of libidn with automake 1.12."
+       This reverts commit cf725246a5585d56ccb14c46bfe2a163342ff21f.
 
-       * lib/gl/override/lib/stdint.in.h.diff, lib/gl/stdint.in.h: Update
-       gnulib files.
+2012-05-16  Simon Josefsson  <simon@josefsson.org>
 
-2009-01-17  Simon Josefsson <simon@josefsson.org>
+       Fix valgrind wording.
 
-       * gl/m4/csharp.m4, gl/m4/csharpcomp.m4, gl/m4/errno_h.m4,
-       gl/m4/gnulib-common.m4, gl/progname.c, gl/strerror.c,
-       lib/gl/m4/codeset.m4, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/iconv.m4, lib/gl/m4/iconv_open.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/locale-tr.m4, lib/gl/m4/longlong.m4,
-       lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4, lib/gl/m4/strverscmp.m4,
-       lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
-       lib/gl/override/lib/stdint.in.h.diff, lib/gl/stdint.in.h,
-       lib/gl/wchar.in.h: Update gnulib files.
+2012-05-10  Nitin A Kamble  <nitin.a.kamble@intel.com>
 
-2009-01-05  Simon Josefsson <simon@josefsson.org>
+       Fix version controlled build of libidn with automake 1.12.
 
-       * build-aux/gendocs.sh, doc/gendocs_template, gl/Makefile.am,
-       gl/m4/errno_h.m4, gl/m4/extensions.m4, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/unistd.in.h, gl/version-etc.c,
-       gltests/Makefile.am, lib/gl/Makefile.am, lib/gl/m4/codeset.m4,
-       lib/gl/m4/extensions.m4, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/multiarch.m4, lib/gl/m4/stdint.m4, lib/gl/m4/wchar.m4,
-       lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4, lib/gl/stdint.in.h,
-       lib/gl/wchar.in.h, lib/gltests/Makefile.am: Update gnulib files.
+2012-04-27  Simon Josefsson  <simon@josefsson.org>
 
-2009-01-05  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gl/override/lib/stdint.in.h.diff: Update.
+       Remove ChangeLog, it is generated.
 
-2008-12-11  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * configure.ac: Fix comment.
+       Mention release tools.
 
-2008-12-11  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac: Fix warning initialization.
-
-2008-12-11  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Add warning flag.
-
-2008-12-11  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/manywarnings.m4, lib/nfkc.c, maint.mk: Update gnulib files.
-       Fix warning.
+       Sync with TP.
 
-2008-12-02  Simon Josefsson <simon@josefsson.org>
+       Fix compiler warning about unused fgets return value.
 
-       * doc/libidn.texi: Fix java jar path.
+       Ignore more.
 
-2008-12-02  Simon Josefsson <simon@josefsson.org>
+       Add valgrind suppressions file.
 
-       * NEWS, java/gnu/inet/encoding/CombiningClass.java,
-       java/gnu/inet/encoding/Composition.java,
-       java/gnu/inet/encoding/DecompositionKeys.java,
-       java/gnu/inet/encoding/DecompositionMappings.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/RFC3454.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java: Improve
-       JavaDoc output.
+2012-04-10  Simon Josefsson  <simon@josefsson.org>
 
-2008-12-02  Simon Josefsson <simon@josefsson.org>
+       Dummy defines for _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
+       Reported by Bartosz Brachaczek <b.brachaczek@gmail.com>
+       in <https://lists.gnu.org/archive/html/help-libidn/2012-04/msg00000.html>.
 
-       * gl/m4/manywarnings.m4: Update gnulib files.
+2012-03-06  Simon Josefsson  <simon@josefsson.org>
 
-2008-12-02  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac, doc/gendocs_template, gl/Makefile.am,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/include_next.m4,
-       gl/m4/warnings.m4, lib/gl/m4/include_next.m4, lib/gl/stdint.in.h,
-       maint.mk: Update gnulib files.
+2012-02-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-29  Simon Josefsson <simon@josefsson.org>
+       Typos.
 
-       * gl/override/doc/gendocs_template.diff: Fix
+2012-01-10  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-29  Simon Josefsson <simon@josefsson.org>
+       Drop files.
 
-       * gl/override/doc/gendocs_template.diff: Fix javadoc pointer.
+       Bump versions.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Update for 1.24.
 
-       * configure.ac: Rewrite warning initializations.
+       Update for 1.23.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * gl/m4/warnings.m4: Update gnulib files.
+       Version 1.24.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+2012-01-09  Simon Josefsson  <simon@josefsson.org>
 
-       * cfg.mk, configure.ac: Simplify warning handling.
+       Fix markup.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Sync intro texts.
 
-       * configure.ac, gl/m4/warnings.m4: Make configure slightly faster.
+       Also dist COPYING* files.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * cfg.mk, configure.ac: Disable -Wunreachable-code.
+       tst_pr29: Print more debug info.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       libidn: Add 'const' keyword to 'stringprep_ucs4_nfkc_normalize' function.
 
-       * configure.ac, gl/override/lib/progname.h.diff, gl/progname.h,
-       lib/toutf8.c: Fix warnings.
+2012-01-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * cfg.mk, examples/example3.c, examples/example4.c,
-       examples/example5.c, src/Makefile.am: Fix warnings.
+       libidn: Fix potential infloop in pr29 code.
+       Reported by Jon Nelson <jnelson@jamponi.net> in
+       <http://lists.gnu.org/archive/html/help-libidn/2012-01/msg00008.html>.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * cfg.mk, tests/tst_nfkc.c, tests/tst_pr29.c, tests/utils.h: Fix
-       warnings.
+       Cleanup copyright info.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * cfg.mk, gl/gettext.h, gl/override/lib/gettext.h.diff,
-       lib/gl/gettext.h, lib/gl/override/lib/gettext.h.diff: Fix vla
-       warnings.
+       Relicense libraries from LGPLv2+ to dual-GPLv2+|LGPLv3+.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+2012-01-05  Simon Josefsson  <simon@josefsson.org>
 
-       * cfg.mk, lib/idna.c, lib/nfkc.c: Fix warnings.
+       Put strlen calls in its own line, to simplify valgrind output analysis.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac, gl/m4/warnings.m4: Make it easier to read warning
-       settings.
+       Rename README-alpha to HACKING and include it in tarballs.
 
-2008-11-17  Simon Josefsson <simon@josefsson.org>
+       Print whether libiconv was found.
 
-       * build-aux/gnupload: Update gnulib files.
+2012-01-03  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-13  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2012-01-02  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-13  Simon Josefsson <simon@josefsson.org>
+       Remove stale translation.
 
-       * lib/nfkc.c: Fix warning.
+       Update FSF copyright years.
 
-2008-11-13  Simon Josefsson <simon@josefsson.org>
+       Update copyright years.
 
-       * cfg.mk, configure.ac, examples/example.c, tests/tst_strerror.c,
-       tests/tst_tld.c: Enable warnings.  Fix warnings.
+2011-12-27  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-13  Simon Josefsson <simon@josefsson.org>
+       Mention gnulib in THANKS.
 
-       * lib/nfkc.c: Fix warnings.
+       Update key.
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+       Sync glib NFKC code and improve copyright/license statements.
 
-       * libidn.pc.in: Add URL field.
+       Sync with TP.
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac, m4/update-header-version.m4, m4/valgrind.m4: Use
-       external macros for shared operations.
+       Give credit.
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+       Fix parallel MinGW-builds (no deps for libidn-X.def).  Clean libidn-X.def.
+       Reported by René Berber <r.berber@computer.org>.
 
-       * configure.ac: Remove linker script message.
+2011-11-30  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/m4/gnulib-comp.m4: Update gnulib files.
+2011-11-28  Simon Josefsson  <simon@josefsson.org>
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * Makefile.am, build-aux/pmccabe2html, cfg.mk, configure.ac,
-       gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/warnings.m4: Update gnulib files.  Use warnings module.
+       Update gnulib files.  Drop unistd/getopt workaround.
 
-2008-11-12  Simon Josefsson <simon@josefsson.org>
+2011-11-25  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Neatify.
+       Generated.
 
-2008-11-04  Simon Josefsson <simon@josefsson.org>
+       Fix release rule.
 
-       * doc/libidn.texi: Use GFDLv1.3+ as license.
+       Version 1.23.
 
-2008-11-04  Simon Josefsson <simon@josefsson.org>
+       Use copyright ranges in man pages.
 
-       * NEWS, doc/Makefile.am, doc/fdl-1.3.texi, doc/fdl.texi,
-       doc/libidn.texi, gl/Makefile.am, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/strdup.m4, lib/gl/strdup.c, maint.mk: Update gnulib files.
-       Use GFDLv1.3+ for manual.
+       Add necessary -I's when building lib/gltests/.  Reported by Bruno Haible.
 
-2008-11-03  Simon Josefsson <simon@josefsson.org>
+       Disable non-working binary-io self-tests.  Reported by Bruno Haible.
 
-       * java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/Punycode.java: Fix Javadoc comments on
-       important classes.
+       Get ssize_t from sys/types.h instead of unistd.h.  Reported by Bruno Haible.
 
-2008-10-30  Simon Josefsson <simon@josefsson.org>
+       Drop update-copyright-tests module due to bugs.
 
-       * lib/Makefile.am: The -DLIBIDN_BUILDING Windows hack is no longer
-       needed.
+       Fix valgrind.
 
-2008-10-29  Simon Josefsson <simon@josefsson.org>
+2011-11-22  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/doxygen/Doxyfile.in: Disable man pages.
+       Use csharpexec from gnulib to run .NET binaries.
 
-2008-10-29  Simon Josefsson <simon@josefsson.org>
+2011-11-21  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/doxygen/Doxyfile.in: Fix typo.
+       Don't hard code perl path in gdoc.
 
-2008-10-29  Simon Josefsson <simon@josefsson.org>
+       Use -no-install instead of -static.
 
-       * NEWS, contrib/doxygen/Doxyfile.in, contrib/doxygen/Doxyfile.orig: 
-       Modernize doxygen configuration.
+       Ignore some recent warnings.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * cfg.mk: Use coverage rules from gnulib.
+       Add.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Ignore gnulib self-tests under Wine.
 
-       * maint.mk: Update gnulib files.
+       Use separate build trees for Windows 32 and 64 bit.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Create Windows binaries during release.
 
-       * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+       Fix links in generated cyclo output.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Use silent build rules.
 
-       * ChangeLog: Generated.
+       Update GTK-DOC infrastructure.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Update release rules.
 
-       * NEWS: Version 1.11.
+       Update gnulib files.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+2011-11-16  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/texinfo.css: Use white background.
+       Doc fix.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+2011-10-19  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Fix.
+       Doc fix.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       idn-free.h: Protect prototypes with 'extern "C"' marker.
+       Reported by Bittner Ede <bittner.ede@euronetrt.hu>.
 
-       * gltests/Makefile.am, lib/gltests/Makefile.am: Update gnulib files.
+2011-10-01  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Mention TLD URL patch.
 
-       * cfg.mk: Sync with gnutls.
+2011-10-01  Thomas Jacob  <jacob@internet24.de>
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Moved extra TLD tables to github
 
-       * cfg.mk: Generalize coverage rules.
+2011-08-13  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * tests/tst_tld.c: Increase code coverage.
+2011-05-05  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Add some pre-release rules.
 
-       * tests/tst_pr29.c: Increase code coverage.
+       Update translations.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS, tests/Makefile.am, tests/tst_idna.c, tests/tst_strerror.c,
-       tests/tst_toutf8.c: Increase code coverage in self-tests.
+2011-05-04  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Update for 1.22.
 
-       * tests/tst_strerror.c: Increase code coverage.
+       Bump versions.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * tests/tst_stringprep.c: Increase code coverage.
+       Version 1.22.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+       dev: Ran clang-analyze on the code.
+       Fixed some dead assignments/initializations.
 
-       * cfg.mk: Fix web-coverage rule.
+       Doc fix.
 
-2008-10-28  Simon Josefsson <simon@josefsson.org>
+2011-05-03  Simon Josefsson  <simon@josefsson.org>
 
-       * cfg.mk: Fix release target.  Add web-coverage targets.
+       libidn: Fix memory leak when idna_to_ascii_4i fails.
+       Reported by and tiny patch from Olga Limburg <olimburg@gmail.com>.
 
-2008-10-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2011-05-01  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-27  Simon Josefsson <simon@josefsson.org>
+       Improve coverage rule names.  Drop mingw rules (see win32/libidn4win.mk).
 
-       * NEWS, gltests/Makefile.am, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/strdup.m4, lib/gl/strdup.c, lib/gltests/Makefile.am: 
-       Revert gnulib avoid of strdup.
+2011-04-28  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-27  Simon Josefsson <simon@josefsson.org>
+       libidn: Add -liconv as static library requirement in libidn.pc, for MinGW.
+       Reported by Volker Grabsch <vog@notjusthosting.com>.
 
-       * cfg.mk: Add coverage rules.
+2011-04-25  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-27  Simon Josefsson <simon@josefsson.org>
+       Document --disable-valgrind-tests.
+       Suggested by Guido Trentalancia <guido@trentalancia.com>.
 
-       * NEWS, csharp/IDNA.cs, csharp/IDNAException.cs,
-       csharp/Makefile.am, csharp/NFKC.cs, csharp/Punycode.cs,
-       csharp/PunycodeException.cs, csharp/Stringprep.cs,
-       csharp/StringprepException.cs, csharp/generate/AssemblyInfo.cs,
-       csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs: Re-add
-       lost copyright headers for C# port.
+2011-04-24  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-27  Simon Josefsson <simon@josefsson.org>
+       Update for 1.21.
 
-       * gl/unistd.in.h: Update gnulib files.
+       Fix.
 
-2008-10-22  Simon Josefsson <simon@josefsson.org>
+       build: Really distribute win32/libidn4win.mk.
 
-       * cfg.mk: Re-license under GPLv3.
+       Bump version.
 
-2008-10-22  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/gdoc: Replace - with \- in man page output in more places.
+       Version 1.21.
 
-2008-10-22  Simon Josefsson <simon@josefsson.org>
+       Demand newer gettext in order to get newer M4 files.
+       Reported by Dagobert Michelsen <dam@opencsw.org> in
+       <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/25522>.
 
-       * doc/gdoc: Reduce code duplication.
+       libidn4win.mk: Add license and generalize it.
 
-2008-10-22  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files and fix syntax check warnings.
 
-       * NEWS: Add.
+2011-03-21  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-22  Simon Josefsson <simon@josefsson.org>
+       Define LIBIDN_BUILDING.
+       Tiny patch from Waqas Hussain <waqas20@gmail.com>.
 
-       * doc/gdoc: Use GPLv3.  Clarify copyright and license.  Use GAP for
-       man page license.
+2011-03-05  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+2011-03-01  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Update for 1.20.
 
-       * cfg.mk: Fix mingw32 rule.
+       Bump versions.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Fix release type.
 
-       * NEWS: Add.
+       Generated.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Version 1.20.
 
-       * lib/version.c: Use STRINGPREP_VERSION instead of PACKAGE_VERSION
-       for MSVS builds.
+       Bump copyright years.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       idn: Only print license blurb on interactive use.
+       Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
+       <rm@romanrm.ru> in <http://bugs.debian.org/615947> and
+       <http://bugs.debian.org/615949> respectively.
 
-       * Makefile.am: Change win32 files.
+       Disable build rules for no longer generated files.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * win32/include/config.h: Extracted from gen-win32-headers.pl.
+       Bump copyright years.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Fix ToUnicode case-insensitivity bug.
+       Debian BTS #610617 reported by Stepan Golosunov <stepan@golosunov.pp.ru>.
 
-       * win32/include/Wild.pm: Rm.
+       Add.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/libidn.texi, lib/idna.h, lib/stringprep.h,
-       win32/include/gen-win32-headers.pl, win32/libidn.vcproj: Avoid perl
-       dependency on Windows.
+       Fix syntax-check warnings.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/stringprep.h: Cleanups, preparing for Win32 fixes.
+2011-01-30  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/idna.h: Cleanups, preparing for Win32 fixes.
+2010-10-27  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Ignore more.
 
-       * configure.ac: Fix last commit.
+       Avoid some warnings to make it build with modern gcc on amd64.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+2010-09-30  Simon Josefsson  <simon@josefsson.org>
 
-       * FAQ, configure.ac, lib/Makefile.am, lib/stringprep.h,
-       lib/stringprep.h.in: Don't use substition for stringprep.h header
-       file.
+       Avoid syntax-check warning.
 
-2008-10-21  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/Makefile.am, gl/errno.in.h, gl/m4/gnulib-common.m4,
-       gl/m4/unistd_h.m4, gl/stdarg.in.h, gl/string.in.h, gl/unistd.in.h,
-       lib/gl/iconv.in.h, lib/gl/m4/gnulib-common.m4, lib/gl/stdint.in.h,
-       lib/gl/string.in.h, lib/gl/wchar.in.h: Update gnulib files.
+2010-05-27  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-13  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * build-aux/pmccabe2html: Update gnulib files.
+2010-05-24  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-13  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/cyclo/Makefile.am: Update gnulib files.
+       Update announce.txt for 1.19.
 
-2008-10-13  Simon Josefsson <simon@josefsson.org>
+2010-05-22  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac, doc/Makefile.am, doc/cyclo/Makefile.am,
-       doc/prmgt/Makefile.am: Rename doc/prmgt/ to doc/cyclo/.
+       Improve.
 
-2008-10-13  Simon Josefsson <simon@josefsson.org>
+       Dist API PDF manual.
 
-       * NEWS: Add.
+       Generated.
 
-2008-10-13  Simon Josefsson <simon@josefsson.org>
+       Version 1.19.
 
-       * GNUmakefile, gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h: 
-       Update gnulib files.
+2010-05-20  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+       Update GTK-DOC files to enable PDF manual.
 
-       * doc/prmgt/Makefile.am: Fix.
+       Add.
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files, use new valgrind-tests module.
 
-       * doc/Makefile.am: Add prmgt/.
+2010-05-17  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/prmgt/Makefile, doc/prmgt/Makefile.am~,
-       doc/prmgt/Makefile.in, doc/prmgt/libidn-cyclo.html,
-       doc/prmgt/pmccabe.css: Remove accidentally added files.
+2010-04-25  Simon Josefsson  <simon@josefsson.org>
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * build-aux/pmccabe.css, build-aux/pmccabe2html,
-       gl/m4/pmccabe2html.m4: Update gnulib files.
+       Update gnulib files.
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+2010-04-21  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac, doc/prmgt/Makefile, doc/prmgt/Makefile.am,
-       doc/prmgt/Makefile.am~, doc/prmgt/Makefile.in,
-       doc/prmgt/libidn-cyclo.html, doc/prmgt/pmccabe.css, gl/Makefile.am,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Use pmccabe2html.
+       Update gnulib files.
 
-2008-10-07  Simon Josefsson <simon@josefsson.org>
+2010-04-19  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/errno.in.h, gl/m4/unistd_h.m4, gl/strerror.c,
-       gl/unistd.in.h, lib/gl/c-ctype.h: Update gnulib files.
+       Update gnulib files.
 
-2008-09-30  Simon Josefsson <simon@josefsson.org>
+2010-04-13  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h,
-       lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4, lib/gl/m4/wchar.m4: 
        Update gnulib files.
 
-2008-09-29  Simon Josefsson <simon@josefsson.org>
+2010-04-12  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Need AC_CONFIG_MACRO_DIR too, to avoid libtool
-       warnings, sigh.
+       Add.
 
-2008-09-26  Simon Josefsson <simon@josefsson.org>
+       Fix syntax-check warnings.
 
-       * NEWS: Add.
+       Fix syntax-check warnings.
 
-2008-09-26  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * po/eo.po.in, po/fr.po.in: Sync with TP.
+2010-03-30  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-26  Simon Josefsson <simon@josefsson.org>
+       Sync valgrind.m4.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4: Update gnulib files.
+       Drop code (could never have worked anyway).
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac, doc/reference/Makefile.am: Enable automake warnings.
+2010-03-26  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2010-03-24  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * README: Say 'or later' wrt licenses.
+       Fix typos.  Drop @acronym use.
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/texinfo.css: Improve cosmetics.
+       Update gnulib files.
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+2010-03-18  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/texinfo.css: Minor cosmetic fixes.
+       Add review-diff.  Move announce file to use consistent filenames.
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Drop self-tests with C++ code in them.
 
-       * NEWS: Add.
+       Drop self-tests with C++ code in them.
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Mention gengetopt.
 
-       * configure.ac: Add AC_COPYRIGHT.
+2010-03-12  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am, cfg.mk, configure.ac, examples/Makefile.am,
-       lib/Makefile.am, src/Makefile.am, tests/Makefile.am: Support a
-       WARN_CFLAGS to trigger compiler warnings.
+       Reorder to avoid bootstrap warnings.
 
-2008-09-22  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * : Touch.
+2010-03-09  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-18  Simon Josefsson <simon@josefsson.org>
+       Explain deprecated libtool usage.
 
-       * contrib/doxygen/gdoc2doxygen, lib/gen-stringprep-tables.pl,
-       lib/gen-tld-tables.pl, lib/gen-unicode-tables.pl: Remove final
-       references to GPLv2.
+       Revert "Don't use deprecated libtool functions." AC_PROG_LIBTOOL is required on older systems (e.g., latest Ubuntu LTS).
+       This reverts commit bb239c491ba93a9d2cecf81b53855ecc46d86140.
 
-2008-09-18  Simon Josefsson <simon@josefsson.org>
+       Revert "Reorder." AC_PROG_LIBTOOL is required on older systems (e.g., latest Ubuntu LTS).
+       This reverts commit e085f872f2de2e9c33fa4b8c1df559584f375641.
 
-       * NEWS, lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/malloc.m4,
-       lib/gl/m4/stdlib_h.m4, lib/gl/m4/strdup.m4, lib/gl/m4/unistd_h.m4,
-       lib/gl/malloc.c, lib/gl/stdlib.in.h, lib/gl/strdup.c,
-       lib/gl/unistd.in.h, lib/gltests/Makefile.am,
-       lib/gltests/test-stdlib.c, lib/gltests/test-unistd.c: Assume strdup.
+       Reorder.
 
-2008-09-18  Simon Josefsson <simon@josefsson.org>
+       Don't use deprecated libtool functions.
 
-       * gl/errno.in.h, gl/m4/errno_h.m4, gltests/test-errno.c: Add.
+2010-03-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/Makefile.am, gl/m4/gnulib-comp.m4, gl/m4/strerror.m4,
-       gl/strerror.c, gltests/Makefile.am, gltests/test-strerror.c: Update
-       gnulib files.
+2010-02-24  Simon Josefsson  <simon@josefsson.org>
 
-2008-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * build-aux/config.rpath, gl/m4/include_next.m4,
-       lib/gl/m4/include_next.m4: Update gnulib files.
+       Bump versions.
 
-2008-09-02  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/Makefile.am, gl/m4/include_next.m4, gl/stdarg.in.h,
-       gl/string.in.h, gl/unistd.in.h, lib/gl/Makefile.am,
-       lib/gl/iconv.in.h, lib/gl/m4/include_next.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4, lib/gl/stdint.in.h,
-       lib/gl/stdlib.in.h, lib/gl/string.in.h, lib/gl/unistd.in.h,
-       lib/gl/wchar.in.h: Update gnulib files.
+2010-02-16  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-29  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * maint.mk: Update gnulib files.
+2010-02-15  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-29  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * lib/stringprep.c: Don't store negativa values in a size_t.
+       Release to ftp.gnu.org.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/reference/libidn-docs.sgml: Sync.
+       Version 1.18.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Improve.
+       Put forgotten symbols under old namespace.
+       Suggested by Marco d'Itri <md@linux.it> in
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291>.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/reference/libidn-docs.sgml: Sync.
+2010-02-05  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/libidn.texi: Mention krb5 profile.
+       Version 1.17.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Make this an alpha release.
 
-       * doc/libidn.texi, doc/reference/libidn-docs.sgml: Add "or later"
-       clauses when talking about license versions Suggested by
-       karl@freefriends.org (Karl Berry).
+       Sync with TP.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am, cfg.mk: Move maintainer targets from Makefile.am to
-       cfg.mk.
+       Fix GTK-DOC syntax.  Unfortunately this looses some information.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Clarify.
 
-       * Makefile.am: Use git2cl directly.
+       Another test for MinGW builds.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Don't use a libtool helper library, to hopefully make MinGW builds work.
 
-       * Makefile.am: Typo.
+       Simplify.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Check if this makes MinGW builds work better.
 
-       * Makefile.am: Split release target.
+       Drop EXEEXT, to see if MinGW builds improve.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+2010-02-03  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Generalize release target.
+       Fix.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years.
 
-       * Makefile.am: Create a copy of released files.
+       Bump copyright years.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years.
 
-       * Makefile.am: Copy all of javadoc.
+       Add.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Bump libtool version to indicated "added" symbols.
 
-       * Makefile.am: Fix typo.
+       Bump copyright years.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Bump shared library version tag on "new" symbols.
 
-       * Makefile.am: Dist more.
+       Make sure all symbols are exported.  Add self test to catch regressions.
+       See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> and
+       <http://lists.gnu.org/archive/html/help-libidn/2010-02/msg00000.html>
+       for background.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, configure.ac: Bump versions.
+2010-01-12  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Improve syntax-check exception stuff.
 
-       * ChangeLog: Generated.
+       Update gnulib files.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Check patch.
 
-       * NEWS: Version 1.10.
+       Fix valgrind.m4.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+       Touch.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Touch.
 
-       * win32/include/gen-win32-headers.pl: Declare strverscmp.
+       Bump versions.
 
-2008-08-27  Simon Josefsson <simon@josefsson.org>
+       Update copyright.
 
-       * lib/stringprep.c: Fix warnings.
+       Sync with TP.
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+       Fix syntax-check rules.
 
-       * libidn.fms: Remove freshmeat-submit template, no longer used.
+       Don't use exit(1).
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .clcopying, .cvscopying, .cvsusers, Makefile.am: Rename
-       .cvscopying to .clcopying.
+       Add.
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+       Commit cyclo/.
 
-       * GNUmakefile: Update gnulib files.
+       Generated.
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+       Version 1.16.
 
-       * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Add generated
-       files because perl 5.10 breaks gen-unicode-tables.pl.
+       Add workaround for Wine open failure.
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+       Add workaround for Wine dup2 failure.
 
-       * po/LINGUAS, po/id.po.in: Sync with TP.
+       Update gnulib files.
 
-2008-08-26  Simon Josefsson <simon@josefsson.org>
+2010-01-09  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS, src/idn.c, src/idn.ggo: idn: accept -n as short form
-       for --nfkc.  Before '-k' was used as the short form, but all
-       documentation has said '-n'.  We now accept both short forms, and -n
-       remains the documented short form.  Reported by John McGowan
-       <jmcgowan@inch.com> in
+       Update gnulib files.
 
-       <http://lists.gnu.org/archive/html/help-libidn/2008-08/msg00000.html>.
+2010-01-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-21  Simon Josefsson <simon@josefsson.org>
+       Touch.
 
-       * gl/Makefile.am, gl/m4/autobuild.m4, gl/m4/string_h.m4,
-       gl/string.in.h, lib/gl/Makefile.am, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4, lib/gl/string.in.h,
-       lib/gl/strverscmp.h, lib/gltests/Makefile.am,
-       lib/gltests/test-strverscmp.c, lib/version.c: Update gnulib files.
+       Add comment.
 
-2008-08-20  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am: Don't try to add tar in www dir.
+2010-01-07  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-20  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2009-12-26  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-20  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac, gl/Makefile.am, gl/m4/autobuild.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, m4/autobuild.m4: Update
-       gnulib files.
+2009-12-19  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-20  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * README: Fix URLs.
+2009-12-16  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix URLs.
+       Update gnulib files.
 
-2008-08-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am: Don't put releases in www directory, after discussion
-       with Savannah admins.
+2009-11-18  Simon Josefsson  <simon@josefsson.org>
 
-2008-08-06  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * GNUmakefile, build-aux/gnupload, gl/m4/gnulib-comp.m4,
-       lib/gl/m4/gnulib-comp.m4: Update gnulib files.
+2009-11-06  Simon Josefsson  <simon@josefsson.org>
 
-2008-07-07  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2009-10-19  Simon Josefsson  <simon@josefsson.org>
 
-2008-07-07  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * po/LINGUAS, po/cs.po.in, po/it.po.in, po/nl.po.in, po/pl.po.in,
-       po/vi.po.in, po/zh_CN.po.in: Sync with TP.
+2009-10-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-07-07  Simon Josefsson <simon@josefsson.org>
+       Fix link error on mingw.
 
-       * NEWS, configure.ac: Bump versions.
+       Update gnulib files.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-09-22  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       Add.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am, configure.ac: Add gltests/ directories.
+       Add Maven pom.xml file.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-09-07  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       Note about OS/2 port.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-08-20  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 1.9.
+       Update gnulib files.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-08-18  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-08-14  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Fix.
+       Update gnulib files.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-08-07  Simon Josefsson  <simon@josefsson.org>
 
-       * po/cs.po.in, po/nl.po.in, po/pl.po.in, po/vi.po.in: Sync with TP.
+       Update gnulib files.
 
-2008-07-01  Simon Josefsson <simon@josefsson.org>
+2009-08-04  Simon Josefsson  <simon@josefsson.org>
 
-       * GNUmakefile, gl/Makefile.am, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gltests/Makefile.am,
-       gltests/test-strerror.c, gltests/test-string.c,
-       gltests/test-unistd.c, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/gnulib-tool.m4, lib/gl/m4/locale-fr.m4,
-       lib/gl/m4/locale-tr.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
-       lib/gltests/Makefile.am, lib/gltests/dummy.c,
-       lib/gltests/intprops.h, lib/gltests/test-c-ctype.c,
-       lib/gltests/test-c-strcase.sh, lib/gltests/test-c-strcasecmp.c,
-       lib/gltests/test-c-strncasecmp.c, lib/gltests/test-iconv.c,
-       lib/gltests/test-stdbool.c, lib/gltests/test-stdint.c,
-       lib/gltests/test-stdlib.c, lib/gltests/test-striconv.c,
-       lib/gltests/test-string.c, lib/gltests/test-unistd.c,
-       lib/gltests/test-wchar.c, lib/gltests/verify.h: Update gnulib files.
+       Update gnulib files.
 
-2008-06-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, csharp/generate/Tokenizer.cs: Work around C# compiler bug.
+2009-07-29  Simon Josefsson  <simon@josefsson.org>
 
-2008-06-17  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * GNUmakefile, doc/gendocs_template: Update gnulib files.
+2009-07-22  Simon Josefsson  <simon@josefsson.org>
 
-2008-06-10  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/specifications/rfc3454.txt: Remove more text.
+2009-06-17  Simon Josefsson  <simon@josefsson.org>
 
-2008-06-02  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * doc/libidn.texi: Drop invariant sections.
+2009-06-16  Simon Josefsson  <simon@josefsson.org>
 
-2008-05-30  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/gl/stdbool.in.h, maint.mk: Update gnulib files.
+2009-06-11  Simon Josefsson  <simon@josefsson.org>
 
-2008-05-19  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4: Update gnulib
-       files.
+2009-06-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-05-12  Simon Josefsson <simon@josefsson.org>
+       Add version number to manual title.
 
-       * NEWS: Add.
+       Generated.
 
-2008-05-12  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gl/Makefile.am, gl/m4/string_h.m4, gl/string.in.h,
-       lib/gl/Makefile.am, lib/gl/m4/stdlib_h.m4, lib/gl/m4/string_h.m4,
-       lib/gl/stdlib.in.h, lib/gl/string.in.h: Update gnulib files.
+       Chmod +x.
 
-2008-04-28  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * build-aux/gendocs.sh: Update gnulib files.
+       Version 1.15.
 
-2008-04-28  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS: Add.
+       Fix.
 
-2008-04-28  Simon Josefsson <simon@josefsson.org>
+2009-06-05  Simon Josefsson  <simon@josefsson.org>
 
-       * src/Makefile.am: Use singularis STRING.  Suggested by Benno
-       Schulenberg <coordinator@translationproject.org>.
+       Add.
 
-2008-04-28  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * src/idn.c: Don't gettext error code.
+2009-06-02  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-28  Simon Josefsson <simon@josefsson.org>
+       Fix some java warnings.
 
-       * src/idn.c: Don't gettextize debug messages.
+2009-06-01  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-24  Simon Josefsson <simon@josefsson.org>
+       Check stack usage in library.
 
-       * NEWS, THANKS, src/idn.c: idn: fix error message when NFKC fails.
-       Reported by Benno Schulenberg <coordinator@translationproject.org>.
+       Update gnulib files.
 
-2008-04-24  Simon Josefsson <simon@josefsson.org>
+2009-05-29  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Bump versions.
+       Use c_strcasecmp instead of strcasecmp. Reported by Guenter Knauf <gk@gknw.de>.
 
-2008-04-23  Simon Josefsson <simon@josefsson.org>
+2009-05-28  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       Improve warning handling.
 
-2008-04-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Version 1.8.
+2009-05-27  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-23  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2009-05-20  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2008-04-23  Simon Josefsson <simon@josefsson.org>
+2009-05-11  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/m4/extensions.m4, gl/m4/getopt.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/strerror.m4, lib/gl/m4/extensions.m4,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/stdint.m4, lib/gl/wchar.in.h: Update gnulib files.
+       Fix syntax-check.
 
-2008-04-13  Simon Josefsson <simon@josefsson.org>
+       Upgrade gtk-doc files.
 
-       * configure.ac: Bump versions.
+2009-05-08  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-13  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+       Make -Werror more optional.
 
-2008-04-13  Simon Josefsson <simon@josefsson.org>
+2009-05-07  Simon Josefsson  <simon@josefsson.org>
 
-       * po/nl.po.in: Sync with TP.
+       Fix.
 
-2008-04-13  Simon Josefsson <simon@josefsson.org>
+2009-05-05  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am, cfg.mk, po/Makevars, po/cs.po, po/cs.po.in,
-       po/da.po, po/da.po.in, po/de.po, po/de.po.in, po/eo.po,
-       po/eo.po.in, po/fi.po, po/fi.po.in, po/fr.po, po/fr.po.in,
-       po/it.po, po/it.po.in, po/ja.po, po/ja.po.in, po/nl.po,
-       po/nl.po.in, po/pl.po, po/pl.po.in, po/ro.po, po/ro.po.in,
-       po/rw.po, po/rw.po.in, po/sr.po, po/sr.po.in, po/vi.po,
-       po/vi.po.in, po/zh_CN.po, po/zh_CN.po.in: Move translations to
-       *.po.in to avoid merge conflicts.  This allows us to avoid
-       --no-location as well.
+       Fix.
 
-2008-04-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: Generated.
+2009-05-03  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-10  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Version 1.7.
+2009-04-27  Simon Josefsson  <simon@josefsson.org>
 
-2008-04-10  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/m4/include_next.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/stdint.m4: Update gnulib files.
+       Update gnulib files.
 
-2008-04-07  Simon Josefsson <simon@josefsson.org>
+2009-04-24  Simon Josefsson  <simon@josefsson.org>
 
-       * GNUmakefile, build-aux/gnupload: Update gnulib files.
+       Add.
 
-2008-04-02  Simon Josefsson <simon@josefsson.org>
+       rm.
 
-       * Makefile.am, NEWS, win32/include/unistd.h: Need dummy unistd.h for
-       native Win32 builds.  Reported by Adam Strzelecki <ono@java.pl>.
+       Fix syntax-checks.
 
-2008-04-01  Simon Josefsson <simon@josefsson.org>
+       Fix for modern git.
 
-       * lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c: Fix syntax-check warnings.
+       Add modules, for syntax-check.
 
-2008-04-01  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * doc/libidn.texi: Mention idn --nfkc.
+       Syntax check fixes.
 
-2008-04-01  Simon Josefsson <simon@josefsson.org>
+       Syntax check fixes.
 
-       * gl/Makefile.am, lib/gl/Makefile.am, lib/gl/m4/stdlib_h.m4,
-       lib/gl/stdlib.in.h, lib/gl/wchar.in.h: Update gnulib files.
+       Syntax check fixes.
 
-2008-03-27  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, src/idn.c, src/idn.ggo: Add --nfkc parameter to idn tool.
+2009-04-23  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-27  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Need @menu for Windows installation @node.
+       Update gnulib files.
 
-2008-03-25  Simon Josefsson <simon@josefsson.org>
+       Improve texinfo section names.
 
-       * cfg.mk: Need config.rpath workaround here.
+2009-04-17  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-25  Simon Josefsson <simon@josefsson.org>
+       AM_PROG_GCJ needs to be called unconditionally.  Sigh. Otherwise you get this error: conditional "am__fastdepGCJ" was never defined.
 
-       * GNUmakefile, build-aux/GNUmakefile, build-aux/maint.mk,
-       gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, maint.mk: Update
-       gnulib files, reverts local GNUmakefile hack.
+2009-04-14  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-20  Simon Josefsson <simon@josefsson.org>
+       Fix java detection.
 
-       * build-aux/GNUmakefile: Update gnulib files.
+       Bump version.
 
-2008-03-20  Simon Josefsson <simon@josefsson.org>
+       Don't use assert keyword to avoid compilation error.
 
-       * doc/libidn.texi: Make windows installation instructions a separate
-       node, for easy referencing.
+       Bump versions.
 
-2008-03-20  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Fix.
+2009-04-03  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-20  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * build-aux/GNUmakefile, cfg.mk, maint-cfg.mk: Update gnulib files.
+       Version 1.14.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Use --output-def.
 
-       * NEWS, configure.ac: Bump versions.
+       Update gnulib files.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+2009-04-01  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       Assume locale.h.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+2009-03-25  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 1.6.
+       Copy cyclo chart to webdir.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * README: Note that libidn is a GNU project.
+2009-03-23  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/reference/Makefile.am, doc/reference/tmpl/libidn-unused.sgml,
-       gtk-doc.make: Update GTK-DOC build system.
+       Add.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Don't crash in memcmp if stringprep_utf8_to_locale returns NULL. Reported by Dagobert Michelsen <dam@opencsw.org> in <http://thread.gmane.org/gmane.comp.gnu.libidn.general/192>.
 
-       * Makefile.am: Dist Visual Studio files.
+2009-03-19  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * po/LINGUAS: Sync with TP.
+2009-03-06  Simon Josefsson  <simon@josefsson.org>
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Bump version.
 
-       * po/LINGUAS: Sync with TP.
+       Generated.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Version 1.13.
 
-       * win32/include/Wild.pm, win32/include/ac-stdint.h,
-       win32/include/gen-win32-headers.pl, win32/include/idn-int.h,
-       win32/include/stdbool.h: Add license statements on files.
+       Add credits.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Don't use warnings unless we are using GCC.
 
-       * AUTHORS, NEWS, THANKS, doc/libidn.texi, win32/include/Wild.pm,
-       win32/include/ac-stdint.h, win32/include/gen-win32-headers.pl,
-       win32/include/idn-int.h, win32/include/stdbool.h, win32/libidn.sln,
-       win32/libidn.vcproj: Add native Visual Studio port, contributed by
-       Adam Strzelecki.
+       Fix.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2008-03-19  Simon Josefsson <simon@josefsson.org>
+2009-03-04  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/idna.c: Doc fix.  Clarify difference between domain label and
-       domain name.
+       Fix.
 
-2008-03-18  Simon Josefsson <simon@josefsson.org>
+       Clarify.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4: Update gnulib files.
+       Namespace discussion.
 
-2008-03-12  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, gl/Makefile.am, gl/m4/gnulib-comp.m4,
-       gl/m4/include_next.m4, gl/m4/stdarg.m4, gl/stdarg.in.h,
-       lib/gl/Makefile.am, lib/gl/m4/absolute-header.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/include_next.m4,
-       lib/gl/m4/lib-link.m4: Update gnulib files.
+       Fix.
 
-2008-03-12  Simon Josefsson <simon@josefsson.org>
+       Finish API visibility markup.  Now passes self tests.
 
-       * NEWS: Add.
+       Fix.
 
-2008-03-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/rfc3454.txt: Remove non-free portions of RFC,
-       leaving un-copyrightable material.  Also add some quotes from
-       earlier e-mails about licensing on this.
+       Mark visibility of API functions.
 
-2008-03-10  Simon Josefsson <simon@josefsson.org>
+       Ignore decorators.
 
-       * build-aux/gendocs.sh, gl/getopt.c: Bump versions.
+       Improve decorators.
 
-2008-02-25  Simon Josefsson <simon@josefsson.org>
+       Add symbol visibility markup.
 
-       * gl/Makefile.am, gl/m4/unistd_h.m4, gl/unistd.in.h,
-       lib/gl/Makefile.am, lib/gl/m4/unistd_h.m4, lib/gl/unistd.in.h: 
        Update gnulib files.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-03-03  Simon Josefsson  <simon@josefsson.org>
+
+       Remove.
 
-       * NEWS: Bump.
+       Use visibility module.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Bump versions.
+       Typo.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       More debug info.
 
-       * Makefile.am: Fix release target.
+       Debug output about version script.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       Use gnulib ld-version-script module.  Re-add use of -export-symbols-regex for other platforms.
 
-       * ChangeLog: Generated.
+2009-03-02  Simon Josefsson  <simon@josefsson.org>
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       Add license.  Use v1.0 in name.
 
-       * NEWS: Version 1.5.
+       Add.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       Use a linker version script.
 
-       * po/LINGUAS: Sync with TP.
+       Update gnulib files.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-02-24  Simon Josefsson  <simon@josefsson.org>
 
-       * po/LINGUAS: Sync with TP.
+       Update gnulib files.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-02-10  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Fix charset info.
+       Don't remove idn_cmd.c and idn_cmd.h on distclean, use maintainer-clean instead. Reported by "Sisyphus" <sisyphus1@optusnet.com.au> in <http://thread.gmane.org/gmane.comp.gnu.libidn.general/178>.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-02-09  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi, examples/example.c, examples/example3.c,
-       examples/example4.c, examples/example5.c: Fix encoding.
+       Document the idn_free function.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+       Bump version.
 
-       * lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4, lib/gl/stdint.in.h: 
-       Update gnulib files.
+       Drop emit_bug_reporting_address, it is now provided by gnulib version-etc.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-02-06  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add link.
+       Update gnulib files.
 
-2008-02-19  Simon Josefsson <simon@josefsson.org>
+2009-01-23  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS, lib/gl/override/lib/stdint.in.h.diff: Don't include
-       wchar.h, we don't need it.  Reported by Mike Frysinger
-       <vapier@gentoo.org>, see
-       <http://thread.gmane.org/gmane.comp.gnu.libidn.general/118>.
+       Bump versions.
 
-2008-02-06  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Add.
+       Version 1.12.
 
-2008-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * GNUmakefile, Makefile.am, maint-cfg.mk: Brace expansion is not
-       POSIX portable.
+       Update PGP key.
 
-2008-02-03  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * build-aux/gnupload: Update gnulib files.
+       Sync with TP.
 
-2008-01-24  Simon Josefsson <simon@josefsson.org>
+2009-01-22  Simon Josefsson  <simon@josefsson.org>
 
-       * po/LINGUAS, po/fi.po: Sync with TP.
+       idn: Add new --no-tld to resolve broken --tld parameter. Reported by Christian Hammers <ch@lathspell.de> in http://thread.gmane.org/gmane.comp.gnu.libidn.general/162
 
-2008-01-24  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * po/LINGUAS: Sync with TP.
+       Use gdoc's -pkg-name.
 
-2008-01-24  Simon Josefsson <simon@josefsson.org>
+       Add -pkg-name parameter.
 
-       * doc/libidn.texi: Fix.
+       Update gnulib files.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Cleanup.
 
-       * NEWS: Add.
+       Bump copyright years.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update --help output per new GNU coding standards.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: 
-       Update gnulib files.
+2009-01-19  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * build-aux/announce-gen: Update gnulib files.
+       Bump copyright years for man pages.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+2009-01-17  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Touch.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years.
 
-       * contrib/web/idn.php: Back-port from josefsson.org.
+       Update PGP key.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years.
 
-       * doc/libidn.texi: Fix markup.
+       Update gnulib files.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/libidn.texi: Mention v1.0 as milestone.
+2009-01-05  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+       Update.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+2008-12-11  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add.
+       Fix comment.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix warning initialization.
 
-       * po/it.po: Sync with TP.
+       Add warning flag.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.  Fix warning.
 
-       * doc/libidn.texi: Fix markup.
+2008-12-02  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix java jar path.
 
-       * doc/libidn.texi: Add 'On Label Separators' section.  Add
-       @documentencoding.
+       Improve JavaDoc output.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * GNUmakefile, maint-cfg.mk: Re-add config.rpath hack.
+       Update gnulib files.
 
-2008-01-15  Simon Josefsson <simon@josefsson.org>
+2008-11-29  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/announce-gen, build-aux/config.rpath,
-       build-aux/gendocs.sh, gl/Makefile.am, gl/error.h,
-       gl/m4/string_h.m4, gl/string.in.h, lib/gl/Makefile.am,
-       lib/gl/m4/string_h.m4, lib/gl/string.in.h: Update gnulib files.
+       Fix
 
-2008-01-10  Simon Josefsson <simon@josefsson.org>
+       Fix javadoc pointer.
 
-       * po/eo.po: Sync with TP.
+2008-11-17  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-10  Simon Josefsson <simon@josefsson.org>
+       Rewrite warning initializations.
 
-       * NEWS, configure.ac: Bump versions.
+       Update gnulib files.
 
-2008-01-10  Simon Josefsson <simon@josefsson.org>
+       Simplify warning handling.
 
-       * po/cs.po, po/nl.po, po/pl.po, po/vi.po: Sync with TP.
+       Make configure slightly faster.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Disable -Wunreachable-code.
 
-       * ChangeLog: Generated.
+       Fix warnings.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * NEWS: Version 1.4.
+       Fix warnings.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Fix vla warnings.
 
-       * src/idn.c: Typos.
+       Fix warnings.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Make it easier to read warning settings.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: 
        Update gnulib files.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+2008-11-13  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/progname.c, gl/progname.h: Add progname gnulib module.
+       Add.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Fix warning.
 
-       * NEWS: Fix --help and --version
+       Enable warnings.  Fix warnings.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * src/Makefile.am, src/idn.c: Fix --help and --version
+2008-11-12  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Add URL field.
 
-       * NEWS: Fix.
+       Use external macros for shared operations.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Remove linker script message.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.  Use warnings module.
 
-       * src/Makefile.am, src/idn.c: Use gnulib version-etc for --version.
+       Neatify.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+2008-11-04  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Bump copyright years.
+       Use GFDLv1.3+ as license.
 
-2008-01-09  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.  Use GFDLv1.3+ for manual.
 
-       * doc/Makefile.am: Add 2008 to copyright years.
+2008-11-03  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Fix Javadoc comments on important classes.
 
-       * configure.ac: Nicify --version output by changing AC_INIT project
-       name.
+2008-10-30  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       The -DLIBIDN_BUILDING Windows hack is no longer needed.
 
-       * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/stdarg.m4, gl/version-etc.c,
-       gl/version-etc.h: Add version-etc gnulib module.
+2008-10-29  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Disable man pages.
 
-       * NEWS: Add.
+       Fix typo.
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Modernize doxygen configuration.
 
-       * THANKS: Add.
+2008-10-28  Simon Josefsson  <simon@josefsson.org>
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Use coverage rules from gnulib.
 
-       * gl/Makefile.am, gl/m4/string_h.m4, gl/m4/unistd_h.m4,
-       gl/string.in.h, gl/unistd.in.h, lib/gl/Makefile.am,
-       lib/gl/m4/stdlib_h.m4, lib/gl/m4/string_h.m4,
-       lib/gl/m4/unistd_h.m4, lib/gl/stdlib.in.h, lib/gl/string.in.h,
-       lib/gl/unistd.in.h: Update gnulib files.
+       Update gnulib files.
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * NEWS: Add.
+       Generated.
 
-2008-01-02  Simon Josefsson <simon@josefsson.org>
+       Version 1.11.
 
-       * po/LINGUAS, po/fi.po, po/nl.po, po/vi.po: Sync with TP.
+       Use white background.
 
-2007-12-20  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2007-12-20  Simon Josefsson <simon@josefsson.org>
+       Sync with gnutls.
 
-       * csharp/Makefile.am: Use .exe suffix for C# tool, required by Mono.
+       Generalize coverage rules.
 
-2007-12-20  Simon Josefsson <simon@josefsson.org>
+       Increase code coverage.
 
-       * build-aux/gnupload, gl/m4/gnulib-comp.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/stdint.in.h: Update gnulib files.
+       Increase code coverage.
 
-2007-12-20  Simon Josefsson <simon@josefsson.org>
+       Increase code coverage in self-tests.
 
-       * doc/reference/Makefile.am: Generalize.
+       Increase code coverage.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Increase code coverage.
 
-       * Makefile.am: Don't copy *.sig until it exists.
+       Fix web-coverage rule.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Fix release target.  Add web-coverage targets.
 
-       * NEWS, configure.ac: Bump versions.
+2008-10-27  Simon Josefsson  <simon@josefsson.org>
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: Generated.
+       Revert gnulib avoid of strdup.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Add coverage rules.
 
-       * NEWS: Version 1.3.
+       Re-add lost copyright headers for C# port.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am: Reorder release target.
+2008-10-22  Simon Josefsson  <simon@josefsson.org>
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Re-license under GPLv3.
 
-       * NEWS: Reorder.
+       Replace - with \- in man page output in more places.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Reduce code duplication.
 
-       * GNUmakefile, maint-cfg.mk: Remove config.rpath hack.
+       Add.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Use GPLv3.  Clarify copyright and license.  Use GAP for man page license.
 
-       * build-aux/gendocs.sh, doc/fdl.texi, doc/gendocs_template,
-       doc/gpl-3.0.texi, gl/Makefile.am, gl/m4/csharpcomp.m4,
-       gl/m4/strerror.m4, gl/m4/string_h.m4, gl/m4/unistd_h.m4,
-       gl/string.in.h, gl/unistd.in.h, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/longlong.m4,
-       lib/gl/m4/stdlib_h.m4, lib/gl/m4/string_h.m4,
-       lib/gl/m4/unistd_h.m4, lib/gl/stdlib.in.h, lib/gl/string.in.h,
-       lib/gl/unistd.in.h: Update gnulib files.
+2008-10-21  Simon Josefsson  <simon@josefsson.org>
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gl/m4/ulonglong.m4: Update gnulib files.
+       Fix mingw32 rule.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Use STRINGPREP_VERSION instead of PACKAGE_VERSION for MSVS builds.
 
-2007-12-11  Simon Josefsson <simon@josefsson.org>
+       Change win32 files.
 
-       * configure.ac: Use gettext 0.17.
+       Extracted from gen-win32-headers.pl.
 
-2007-10-29  Simon Josefsson <simon@josefsson.org>
+       Rm.
 
-       * gl/gettext.h, gl/string.in.h, gl/unistd.in.h: Update gnulib files.
+       Avoid perl dependency on Windows.
 
-2007-10-29  Simon Josefsson <simon@josefsson.org>
+       Cleanups, preparing for Win32 fixes.
 
-       * gl/m4/gnulib-comp.m4, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/stdint.in.h, lib/gl/stdlib.in.h: 
-       Update gnulib files.
+       Cleanups, preparing for Win32 fixes.
 
-2007-10-28  Simon Josefsson <simon@josefsson.org>
+       Fix last commit.
 
-       * build-aux/maint.mk, gl/m4/gnulib-common.m4, gl/strerror.c,
-       lib/gl/m4/gnulib-common.m4, lib/gl/m4/ulonglong.m4,
-       lib/gl/stdbool.in.h, lib/gl/stdint.in.h: Update gnulib files.
+       Don't use substition for stringprep.h header file.
 
-2007-10-19  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/gl/Makefile.am, lib/gl/iconv.in.h, lib/gl/iconv_open.c,
-       lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
-       lib/gl/m4/longlong.m4, lib/gl/m4/ulonglong.m4: Update gnulib files.
+2008-10-13  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-13  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * THANKS: Fix.
+       Update gnulib files.
 
-2007-10-13  Simon Josefsson <simon@josefsson.org>
+       Rename doc/prmgt/ to doc/cyclo/.
 
-       * THANKS: Add.
+       Add.
 
-2007-10-13  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2008-10-07  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-13  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * po/LINGUAS, po/cs.po: Sync with TP.
+       Add prmgt/.
 
-2007-10-13  Simon Josefsson <simon@josefsson.org>
+       Remove accidentally added files.
 
-       * gl/Makefile.am, gl/intprops.h, gl/m4/gnulib-comp.m4,
-       gl/m4/strerror.m4, gl/strerror.c, gl/string.in.h,
-       lib/gl/string.in.h: Update gnulib files.
+       Update gnulib files.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+       Use pmccabe2html.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+2008-09-30  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Typo.
+       Update gnulib files.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+2008-09-29  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Fix install section.
+       Need AC_CONFIG_MACRO_DIR too, to avoid libtool warnings, sigh.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+2008-09-26  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Add.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS, configure.ac: Bump versions.
+       Update gnulib files.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+2008-09-23  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/dummy.c, gl/error.c, gl/error.h, gl/getopt.c,
-       gl/getopt.in.h, gl/getopt1.c, gl/getopt_int.h, gl/gettext.h,
-       gl/m4/gnulib-cache.m4, gl/strerror.c, gl/string.in.h,
-       gl/unistd.in.h: Use GPLv3 in top-level gnulib files.
+       Enable automake warnings.
 
-2007-10-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * build-aux/csharpcomp.sh.in, gl/Makefile.am, gl/dummy.c,
-       gl/error.c, gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
-       gl/getopt_.h, gl/getopt_int.h, gl/m4/gnulib-comp.m4, gl/strerror.c,
-       gl/string.in.h, gl/string_.h, gl/unistd.in.h, gl/unistd_.h,
-       lib/gl/Makefile.am, lib/gl/iconv.in.h, lib/gl/iconv_.h,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/stdint.m4, lib/gl/stdbool.in.h,
-       lib/gl/stdbool_.h, lib/gl/stdint.in.h, lib/gl/stdint_.h,
-       lib/gl/stdlib.in.h, lib/gl/stdlib_.h, lib/gl/string.in.h,
-       lib/gl/string_.h, lib/gl/unistd.in.h, lib/gl/unistd_.h,
-       lib/gl/wchar.in.h, lib/gl/wchar_.h: Update gnulib files.
+       Say 'or later' wrt licenses.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Improve cosmetics.
 
-       * ChangeLog: Generated.
+       Minor cosmetic fixes.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Fix git-tag -l in release target.
+       Add AC_COPYRIGHT.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Support a WARN_CFLAGS to trigger compiler warnings.
 
-       * NEWS: Version 1.2.
+2008-09-22  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Touch.
 
-       * NEWS: Add.
+       Update gnulib files.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+2008-09-18  Simon Josefsson  <simon@josefsson.org>
 
-       * README-alpha: Remove README-alpha.
+       Remove final references to GPLv2.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Assume strdup.
 
-       * Makefile.am: Also upload to ftp.gnu.org.
+       Add.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2008-09-12  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2008-09-02  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac: Re-order to avoid autoreconf warning.
+2008-08-29  Simon Josefsson  <simon@josefsson.org>
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * Makefile.am: Remove sv.
+       Don't store negativa values in a size_t.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+2008-08-27  Simon Josefsson  <simon@josefsson.org>
 
-       * po/LINGUAS: Sync with TP.
+       Sync.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Improve.
 
-       * po/sv.po: Remove (not part of translation project).
+       Sync.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Mention krb5 profile.
 
-       * NEWS, configure.ac: Bump versions.
+       Add "or later" clauses when talking about license versions Suggested by karl@freefriends.org (Karl Berry).
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Move maintainer targets from Makefile.am to cfg.mk.
 
-       * gl/Makefile.am, gl/m4/csharpcomp.m4, gl/m4/gnulib-comp.m4,
-       lib/gl/Makefile.am, lib/gl/m4/absolute-header.m4,
-       lib/gl/m4/extensions.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4, lib/gl/string_.h: 
-       Update gnulib files.
+       Use git2cl directly.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * gl/m4/extensions.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
-       gl/strerror.c, gl/string_.h, lib/gl/m4/malloc.m4,
-       lib/gl/m4/stdlib_h.m4, lib/gl/m4/unistd_h.m4, lib/gl/malloc.c,
-       lib/gl/stdlib_.h, lib/gl/unistd_.h: Update gnulib files.
+       Split release target.
 
-2007-10-01  Simon Josefsson <simon@josefsson.org>
+       Generalize release target.
 
-       * .cvsignore, build-aux/.cvsignore, contrib/doxygen/.cvsignore,
-       contrib/java/.cvsignore, csharp/.cvsignore, doc/.cvsignore,
-       doc/java/.cvsignore, doc/java/gnu/inet/encoding/.cvsignore,
-       doc/java/resources/.cvsignore, doc/man/.cvsignore,
-       doc/reference/.cvsignore, doc/reference/tmpl/.cvsignore,
-       doc/specifications/.cvsignore, doc/tld/.cvsignore,
-       examples/.cvsignore, gl/.cvsignore, java/.cvsignore,
-       java/gnu/.cvsignore, java/gnu/inet/.cvsignore,
-       java/gnu/inet/encoding/.cvsignore, java/misc/.cvsignore,
-       lib/.cvsignore, lib/gl/.cvsignore, libc/.cvsignore, m4/.cvsignore,
-       po/.cvsignore, src/.cvsignore, tests/.cvsignore: Remove unused
-       .cvsignore's.
+       Create a copy of released files.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Copy all of javadoc.
 
-       * ChangeLog: Generated.
+       Fix typo.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Dist more.
 
-       * NEWS: Version 1.1.
+       Bump versions.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Add.
+       Version 1.10.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * po/nl.po: Sync with TP.
+       Declare strverscmp.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * configure.ac: Wrap.
+2008-08-26  Simon Josefsson  <simon@josefsson.org>
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Remove freshmeat-submit template, no longer used.
 
-       * configure.ac: Bump versions.
+       Rename .cvscopying to .clcopying.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+       Add generated files because perl 5.10 breaks gen-unicode-tables.pl.
 
-2007-09-01  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Add.
+       idn: accept -n as short form for --nfkc. Before '-k' was used as the short form, but all documentation has said '-n'.  We now accept both short forms, and -n remains the documented short form.  Reported by John McGowan <jmcgowan@inch.com> in <http://lists.gnu.org/archive/html/help-libidn/2008-08/msg00000.html>.
 
-2007-08-31  Simon Josefsson <simon@josefsson.org>
+2008-08-21  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Drop gnits mode.
+       Update gnulib files.
 
-2007-08-31  Simon Josefsson <simon@josefsson.org>
+2008-08-20  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Define LIBIDN_BUILDING, for Windows hack in
-       stringprep.h.in.  Inspired by report and patch by "Christian
-       Ehrlicher" <Ch.Ehrlicher@gmx.de>, see
+       Don't try to add tar in www dir.
 
-       <http://lists.gnu.org/archive/html/help-libidn/2007-08/msg00003.html>.
+       Add.
 
-2007-08-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/stringprep.h.in: Mark variables with __declspec(import) on
-       Windows.  Inspired by report and patch by "Christian Ehrlicher"
-       <Ch.Ehrlicher@gmx.de>, see
+       Fix URLs.
 
-       <http://lists.gnu.org/archive/html/help-libidn/2007-08/msg00003.html>.
+       Fix URLs.
 
-2007-08-31  Simon Josefsson <simon@josefsson.org>
+2008-08-18  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Avoid using #include_next in idn-int.h when
-       looking for stdint.h.  Reported by Remko van der Vossen
-       <wich@stack.nl> in
-       <http://thread.gmane.org/gmane.comp.gnu.libidn.general/65>, this
-       tiny patch was suggested by Bruno Haible in
-       <http://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/10602>.
+       Don't put releases in www directory, after discussion with Savannah admins.
 
-2007-08-31  Simon Josefsson <simon@josefsson.org>
+2008-08-06  Simon Josefsson  <simon@josefsson.org>
 
-       * build-aux/GNUmakefile, build-aux/maint.mk, lib/gl/m4/stdint.m4: 
        Update gnulib files.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+2008-07-07  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
+       Add.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Add.
+       Bump versions.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+2008-07-01  Simon Josefsson  <simon@josefsson.org>
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Generated.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Add gltests/ directories.
 
-       * doc/reference/libidn-docs.sgml: Fix.
+       Generated.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Version 1.9.
 
-       * doc/reference/libidn-docs.sgml: Sync with libidn.texi.
+       Add.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Fix intro.
+       Sync with TP.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/Makefile.am: Fix gpl/lgpl filenames.
+2008-06-18  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Work around C# compiler bug.
 
-       * NEWS: Version 1.0.
+2008-06-17  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Add.
+2008-06-10  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Remove more text.
 
-       * AUTHORS: Update PGP key.
+2008-06-02  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Drop invariant sections.
 
-       * NEWS, configure.ac: Bump versions.
+2008-05-30  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Fix.
+2008-05-19  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/Makefile.gdoci: Update license to GPLv3.
+2008-05-12  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/reference/libidn-docs.sgml: Update, sync with libidn.texi.
+       Update gnulib files.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+2008-04-28  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Clarify license versions.
+       Update gnulib files.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * examples/example.c, examples/example2.c, examples/example3.c,
-       examples/example4.c, examples/example5.c: Relicense examples/* to
-       GPLv3.
+       Use singularis STRING. Suggested by Benno Schulenberg <coordinator@translationproject.org>.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Don't gettext error code.
 
-       * src/idn.c, src/idn.ggo, src/idna.el, src/punycode.el,
-       tests/tst_idna.c, tests/tst_idna2.c, tests/tst_nfkc.c,
-       tests/tst_pr29.c, tests/tst_punycode.c, tests/tst_strerror.c,
-       tests/tst_stringprep.c, tests/tst_tld.c, tests/utils.c,
-       tests/utils.h: Relicense src/ and tests/ stuff to GPLv3.
+       Don't gettextize debug messages.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+2008-04-24  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am, configure.ac, contrib/java/Makefile.am,
-       doc/Makefile.am, doc/java/Makefile.am,
-       doc/specifications/Makefile.am, doc/tld/Makefile.am,
-       examples/Makefile.am, src/Makefile.am, tests/Makefile.am: Relicense
-       Makefile.am and configure.ac to GPLv3.
+       idn: fix error message when NFKC fails. Reported by Benno Schulenberg <coordinator@translationproject.org>.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * README: Clarify licenses.
+2008-04-23  Simon Josefsson  <simon@josefsson.org>
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * COPYING: Use GPLv3.
+       Version 1.8.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * gl/m4/include_next.m4: Update gnulib files.
+       Add.
 
-2007-07-31  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, build-aux/announce-gen, build-aux/config.rpath,
-       build-aux/gendocs.sh, build-aux/gnupload, build-aux/maint.mk,
-       doc/fdl.texi, doc/gendocs_template, doc/gpl-3.0.texi, doc/gpl.texi,
-       doc/lgpl-2.1.texi, doc/lgpl.texi, doc/libidn.texi, gl/Makefile.am,
-       gl/error.c, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/unistd_h.m4, gl/override/doc/gpl.texi.diff,
-       gl/override/doc/lgpl.texi.diff, gl/unistd_.h, lib/gl/Makefile.am,
-       lib/gl/iconv_.h, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_h.m4,
-       lib/gl/m4/include_next.m4, lib/gl/m4/stdint.m4,
-       lib/gl/m4/string_h.m4, lib/gl/m4/wchar.m4, lib/gl/stdint_.h,
-       lib/gl/string_.h, lib/gl/wchar_.h: Update gnulib files.
+2008-04-13  Simon Josefsson  <simon@josefsson.org>
 
-2007-06-04  Simon Josefsson <jas@mocca.josefsson.org>
+       Bump versions.
 
-       * NEWS, configure.ac: Bump versions.
+       Add.
 
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
+       Sync with TP.
 
-       * .cvscopying: Add year 2007.
+       Move translations to *.po.in to avoid merge conflicts. This allows us to avoid --no-location as well.
 
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
+2008-04-10  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: Generated.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * NEWS: Version 0.6.14.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * README-alpha: Cvs to git changes.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * Makefile.am: Use git instead of cvs.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2007-05-31  Simon Josefsson <jas@mocca.josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.13.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Install libidn-components.png in infodir, fixes
-       broken image in the info manual.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am, doc/reference/libidn-docs.sgml: Fix
-       image filename.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/.cvsignore: [no log message]
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am, doc/libidn.texi: Rename @image files so that they
-       are prefixed with $PROJECT, so they can be installed in $infodir
-       without collisions.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * po/pl.po, po/vi.po: Sync with TP.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gendocs_template, gl/Makefile.am, gl/m4/unistd_h.m4,
-       gl/override/doc/gendocs_template,
-       gl/override/doc/gendocs_template.diff, gl/unistd_.h,
-       lib/gl/Makefile.am, lib/gl/iconv_.h, lib/gl/m4/iconv.m4,
-       lib/gl/m4/stdint.m4, lib/gl/stdint_.h, lib/gl/string_.h,
-       lib/gl/wchar_.h: Update.
-
-2007-05-30  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2007-05-30  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-05-30  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Typo.
-
-2007-05-30  Simon Josefsson <simon@josefsson.org>
-
-       * README: Clarify license of C# port.
-
-2007-05-30  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Clarify license of java/csharp implementation.
-
-2007-04-25  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2007-04-25  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.12.
-
-2007-04-25  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
-
-2007-04-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2007-04-24  Simon Josefsson <simon@josefsson.org>
-
-       * java/misc/Makefile.am: Use AM_JAVACFLAGS instead of JAVACFLAGS.
-       See
-
-       <http://ftp.gnu.org/gnu/Manuals/automake-1.7.2/html_node/automake_78.html>.Tiny patch from Petteri Räty <betelgeuse@gentoo.org>.
-
-2007-04-19  Simon Josefsson <simon@josefsson.org>
-
-       * lib/gl/.cvsignore: [no log message]
-
-2007-04-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-04-19  Simon Josefsson <simon@josefsson.org>
-
-       * build-aux/gendocs.sh, gl/dummy.c, gl/m4/gnulib-comp.m4,
-       lib/gl/.cvsignore, lib/gl/Makefile.am, lib/gl/iconv_.h,
-       lib/gl/iconv_open-aix.gperf, lib/gl/iconv_open-hpux.gperf,
-       lib/gl/iconv_open-irix.gperf, lib/gl/iconv_open-osf.gperf,
-       lib/gl/iconv_open.c, lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
-       lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4, lib/gl/m4/stdint.m4,
-       lib/gl/stdbool_.h, lib/gl/string_.h, lib/gl/wchar_.h: Update.
-
-2007-04-02  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix typo.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.6.11.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.6.10.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.6.9.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.11.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix path to csharpcomp.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Dist more.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix tests.
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: fix
-
-2007-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/.cvsignore: [no log message]
+       Generated.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+       Version 1.7.
 
-       * csharp/generate/GenerateNFKC.cs: Fix typo.
+       Update gnulib files.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+2008-04-07  Simon Josefsson  <simon@josefsson.org>
 
-       * csharp/generate/GenerateNFKC.cs: Don't wait for newline from user
-       (breaks batch usage).  Fix typo.
+       Update gnulib files.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+2008-04-02  Simon Josefsson  <simon@josefsson.org>
 
-       * csharp/generate/GenerateRFC3454.cs: Don't wait for return from
-       user (breaks batch usage).
+       Need dummy unistd.h for native Win32 builds. Reported by Adam Strzelecki <ono@java.pl>.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+2008-04-01  Simon Josefsson  <simon@josefsson.org>
 
-       * csharp/generate/GenerateRFC3454.cs: Fix namespace.
+       Fix syntax-check warnings.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+       Mention idn --nfkc.
 
-       * csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
-       csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs,
-       csharp/libidn.cmbx, csharp/libidn.csproj,
-       csharp/libidn.csproj.user, csharp/libidn.prjx, csharp/libidn.sln: 
-       Update, from Alexander Gnauck <gnauck@ag-software.de>.
+       Update gnulib files.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+2008-03-27  Simon Josefsson  <simon@josefsson.org>
 
-       * csharp/CombiningClass.cs, csharp/Composition.cs,
-       csharp/DecompositionKeys.cs, csharp/DecompositionMappings.cs,
-       csharp/RFC3454.cs: Remove.
+       Add --nfkc parameter to idn tool.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+       Need @menu for Windows installation @node.
 
-       * csharp/Makefile.am: Generate generated files.
+2008-03-25  Simon Josefsson  <simon@josefsson.org>
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+       Need config.rpath workaround here.
 
-       * csharp/generate/GenerateRFC3454.cs: AppendLine isn't supported by
-       cscc, use Append+\n.
+       Update gnulib files, reverts local GNUmakefile hack.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+2008-03-20  Simon Josefsson  <simon@josefsson.org>
 
-       * csharp/Makefile.am, csharp/generate/AssemblyInfo.cs,
-       csharp/generate/GenerateNFKC.cs,
-       csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
-       csharp/generate/Program.cs, csharp/generate/Tokenizer.cs: Add code
-       to generate tables, from Alexander Gnauck <gnauck@ag-software.de>.
+       Update gnulib files.
 
-2007-03-13  Simon Josefsson <simon@josefsson.org>
+       Make windows installation instructions a separate node, for easy referencing.
 
-       * gl/dummy.c, gl/getopt_.h, lib/gl/stdint_.h: Update.
+       Fix.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+2008-03-19  Simon Josefsson  <simon@josefsson.org>
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * configure.ac: Bump versions.
+       Generated.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Version 1.6.
 
-       * csharp/Makefile.am: Revert.
+       Note that libidn is a GNU project.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Update GTK-DOC build system.
 
-       * lib/gl/string.h: Update.
+       Dist Visual Studio files.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * build-aux/.cvsignore, doc/.cvsignore, gl/.cvsignore,
-       lib/gl/.cvsignore: [no log message]
+       Sync with TP.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Add license statements on files.
 
-       * Makefile.am, csharp/Makefile.am: Update gnulib.
+       Add native Visual Studio port, contributed by Adam Strzelecki.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * GNUmakefile, announce-gen, build-aux/GNUmakefile,
-       build-aux/announce-gen, build-aux/config.rpath,
-       build-aux/csharpcomp.sh.in, build-aux/gendocs.sh,
-       build-aux/gnupload, build-aux/link-warning.h, build-aux/maint.mk,
-       csharpcomp.sh.in, gendocs.sh, gl/Makefile.am,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4,
-       gl/unistd_.h, gnupload, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/string_h.m4, lib/gl/string_.h, maint-cfg.mk, maint.mk: 
-       Update.
+       Doc fix.  Clarify difference between domain label and domain name.
 
-2007-03-09  Simon Josefsson <simon@josefsson.org>
+2008-03-18  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Use build-aux.
+       Update gnulib files.
 
-2007-02-24  Simon Josefsson <simon@josefsson.org>
+2008-03-12  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/specifications/draft-klensin-idnabis-issues-01.txt: Add.
+       Update gnulib files.
 
-2007-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gl/Makefile.am, lib/gl/m4/string_h.m4, lib/gl/string_.h: 
-       Update.
+       Remove non-free portions of RFC, leaving un-copyrightable material. Also add some quotes from earlier e-mails about licensing on this.
 
-2007-02-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-02-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/gl/Makefile.am, lib/gl/c-ctype.c, lib/gl/c-ctype.h,
-       lib/gl/c-strcase.h, lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c,
-       lib/gl/iconvme.c, lib/gl/iconvme.h, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconvme.m4,
-       lib/gl/m4/stdbool.m4, lib/gl/stdbool_.h, lib/gl/striconv.c,
-       lib/gl/striconv.h, lib/gl/string.h, lib/toutf8.c: Update.
-
-2007-02-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2007-02-05  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/unistd_h.m4, lib/gl/Makefile.am, lib/gl/iconvme.c,
-       lib/gl/m4/extensions.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/strdup.m4, lib/gl/m4/string_h.m4, lib/gl/strdup.c,
-       lib/gl/strdup.h, lib/gl/string_.h: Update.
+2008-03-10  Simon Josefsson  <simon@josefsson.org>
 
-2007-01-25  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gl/Makefile.am, gl/m4/absolute-header.m4, gl/m4/gnulib-common.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4, gl/unistd_.h,
-       lib/gl/Makefile.am, lib/gl/m4/gnulib-common.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/lib-link.m4,
-       lib/gl/m4/stdint.m4, lib/gl/m4/wchar.m4, lib/gl/stdint_.h,
-       lib/gl/wchar_.h: Update.
+2008-02-25  Simon Josefsson  <simon@josefsson.org>
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * ChangeLog: [no log message]
+2008-02-19  Simon Josefsson  <simon@josefsson.org>
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Bump.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
+       Bump versions.
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Fix release target.
 
-       * NEWS: Version 0.6.10.
+       Generated.
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Version 1.5.
 
-       * NEWS: Add.
+       Sync with TP.
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * FAQ, NEWS, README, README-alpha, THANKS, TODO, configure.ac,
-       contrib/README, contrib/doxygen/gdoc2doxygen,
-       contrib/java/Makefile.am, contrib/java/README,
-       csharp/CombiningClass.cs, csharp/Composition.cs,
-       csharp/DecompositionKeys.cs, csharp/DecompositionMappings.cs,
-       csharp/IDNA.cs, csharp/IDNAException.cs, csharp/Makefile.am,
-       csharp/NFKC.cs, csharp/Punycode.cs, csharp/PunycodeException.cs,
-       csharp/RFC3454.cs, csharp/Stringprep.cs,
-       csharp/StringprepException.cs, doc/Makefile.am, doc/Makefile.gdoci,
-       doc/gdoc, doc/libidn.texi, doc/specifications/Makefile.am,
-       doc/tld/Makefile.am, doc/tld/README, examples/Makefile.am,
-       examples/README, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c, examples/example5.c,
-       java/Makefile.am, java/gnu/inet/encoding/CombiningClass.java,
-       java/gnu/inet/encoding/Composition.java,
-       java/gnu/inet/encoding/DecompositionKeys.java,
-       java/gnu/inet/encoding/DecompositionMappings.java,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/RFC3454.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/Makefile.am, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am,
-       lib/gen-stringprep-tables.pl, lib/gen-tld-tables.pl,
-       lib/gen-unicode-tables.pl, lib/idn-free.c, lib/idn-free.h,
-       lib/idna.c, lib/idna.h, lib/nfkc.c, lib/pr29.c, lib/pr29.h,
-       lib/profiles.c, lib/punycode.c, lib/punycode.h,
-       lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/stringprep.h.in, lib/tld.c, lib/tld.h, lib/toutf8.c,
-       lib/version.c, libidn.pc.in, maint-cfg.mk, po/POTFILES.in,
-       src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
-       src/punycode.el, tests/Makefile.am, tests/tst_idna.c,
-       tests/tst_idna2.c, tests/tst_nfkc.c, tests/tst_pr29.c,
-       tests/tst_punycode.c, tests/tst_strerror.c, tests/tst_stringprep.c,
-       tests/tst_tld.c, tests/utils.c, tests/utils.h: Bump copyright years
-       (also add older years which I forgot to add earlier).
+       Fix charset info.
 
-2007-01-04  Simon Josefsson <simon@josefsson.org>
+       Fix encoding.
 
-       * AUTHORS: Update PGP key.
+       Update gnulib files.
 
-2007-01-03  Simon Josefsson <simon@josefsson.org>
+       Add link.
 
-       * announce-gen, gl/Makefile.am, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, lib/gl/Makefile.am,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4,
-       lib/gl/m4/lib-link.m4: Update.
+       Don't include wchar.h, we don't need it. Reported by Mike Frysinger <vapier@gentoo.org>, see <http://thread.gmane.org/gmane.comp.gnu.libidn.general/118>.
 
-2006-12-28  Simon Josefsson <simon@josefsson.org>
+2008-02-06  Simon Josefsson  <simon@josefsson.org>
 
-       * announce-gen, gl/Makefile.am, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4: Add.
+       Add.
 
-2006-12-28  Simon Josefsson <simon@josefsson.org>
+       Brace expansion is not POSIX portable.
 
-       * lib/gl/iconvme.c, lib/gl/m4/lib-link.m4, lib/gl/m4/stdint.m4,
-       lib/gl/strdup.h: Update.
+2008-02-03  Simon Josefsson  <simon@josefsson.org>
 
-2006-12-26  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/specifications/draft-suignard-stringprep-bis-00.txt: Add.
+2008-01-24  Simon Josefsson  <simon@josefsson.org>
 
-2006-12-10  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS, configure.ac: Bump versions.
+       Sync with TP.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ChangeLog: [no log message]
+2008-01-15  Simon Josefsson  <simon@josefsson.org>
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Update gnulib files.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS: Version 0.6.9.
+       Add.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Back-port from josefsson.org.
 
-       * m4/.cvsignore: [no log message]
+       Fix markup.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Mention v1.0 as milestone.
 
-       * NEWS: Add.
+       Add.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * m4/codeset.m4, m4/iconv.m4, m4/lib-link.m4: Remove.
+       Sync with TP.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Fix markup.
 
-       * NEWS, configure.ac: Bump tool versions.
+       Add 'On Label Separators' section.  Add @documentencoding.
 
-2006-11-30  Simon Josefsson <simon@josefsson.org>
+       Re-add config.rpath hack.
 
-       * gl/Makefile.am, gl/gettext.h, lib/gl/Makefile.am,
-       lib/gl/gettext.h, lib/gl/m4/stdint.m4: Update.
+       Update gnulib files.
 
-2006-11-16  Simon Josefsson <simon@josefsson.org>
+2008-01-10  Simon Josefsson  <simon@josefsson.org>
 
-       * java/misc/TestIDNA.java: Re-add test, with fixed code that doesn't
-       use Java 1.5 syntax.  Suggested by "Stephane Mikaty"
-       <mikaty@ecircle-ag.com>.
+       Sync with TP.
 
-2006-11-16  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * java/misc/TestIDNA.java: Revert (didn't compile).
+       Sync with TP.
 
-2006-11-15  Simon Josefsson <simon@josefsson.org>
+2008-01-09  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS: Add.
+       Generated.
 
-2006-11-15  Simon Josefsson <simon@josefsson.org>
+       Version 1.4.
 
-       * java/misc/TestIDNA.java: New self-test to test for ToIDNA
-       regression regarding non-ascii dot-delimiters.  Tiny patch from
-       "Stephane Mikaty" <mikaty@ecircle-ag.com>.
+       Typos.
 
-2006-11-15  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * java/gnu/inet/encoding/IDNA.java: Fix non-ascii dot in strings,
-       tiny patch from "Stephane Mikaty" <mikaty@ecircle-ag.com>.
+       Add progname gnulib module.
 
-2006-11-15  Simon Josefsson <simon@josefsson.org>
+       Fix --help and --version
 
-       * NEWS: Add.
+       Fix --help and --version
 
-2006-11-15  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * gl/Makefile.am, gl/getopt_.h, gl/gettext.h, gl/m4/gnulib-comp.m4,
-       gnupload, lib/gl/Makefile.am, lib/gl/gettext.h,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/lib-link.m4,
-       lib/gl/m4/longlong.m4, lib/gl/stdint_.h: Update.
+       Add.
 
-2006-10-31  Simon Josefsson <simon@josefsson.org>
+       Use gnulib version-etc for --version.
 
-       * NEWS, configure.ac: Bump versions.
+       Bump copyright years.
 
-2006-10-31  Simon Josefsson <simon@josefsson.org>
+       Add 2008 to copyright years.
 
-       * gl/Makefile.am, gl/gettext.h, gl/m4/gnulib-comp.m4,
-       lib/gl/Makefile.am, lib/gl/gettext.h, lib/gl/iconvme.c,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/lib-link.m4, lib/gl/stdint_.h: 
-       Update.
+2008-01-02  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-26  Simon Josefsson <simon@josefsson.org>
+       Nicify --version output by changing AC_INIT project name.
 
-       * doc/specifications/draft-faltstrom-idnabis-tables-01.txt: Add.
+       Add version-etc gnulib module.
 
-2006-10-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/draft-faltstrom-idnabis-tables-00.txt,
-       doc/specifications/draft-klensin-idnabis-issues-00.txt: Add.
+       Add.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * ChangeLog: [no log message]
+       Add.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
+2007-12-20  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Version 0.6.8.
+       Use .exe suffix for C# tool, required by Mono.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Generalize.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+2007-12-11  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Don't copy *.sig until it exists.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * configure.ac, src/idn.c: Assume locale.h and setlocale.
+       Generated.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Version 1.3.
 
-       * Makefile.am, lib/Makefile.am: Build lib/gl/ earlier.
+       Reorder release target.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Reorder.
 
-       * lib/gl/.cvsignore: [no log message]
+       Remove config.rpath hack.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/Makefile.am: Build gl/ first.
+       Update gnulib files.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/Makefile.am, lib/gl/Makefile.am,
-       lib/gl/m4/absolute-header.m4, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/longlong.m4,
-       lib/gl/m4/stdint.m4, lib/gl/m4/ulonglong.m4, lib/gl/stdint_.h,
-       po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Add stdint module to lib/.
+       Use gettext 0.17.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+2007-10-29  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/Makefile.am, gl/m4/absolute-header.m4, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/longlong.m4, gl/m4/stdint.m4,
-       gl/m4/strdup.m4, gl/m4/ulonglong.m4, gl/stdint_.h, gl/strdup.c,
-       gl/strdup.h: Remove.
+       Update gnulib files.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/reference/Makefile.am: Ignore all of lib/gl/.
+2007-10-28  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * configure.ac: Move libtool init, to avoid warnings.
+2007-10-19  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * lib/gl/Makefile.am, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/strverscmp.m4,
-       lib/gl/strverscmp.c, lib/gl/strverscmp.h: Add strverscmp.
+2007-10-13  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/version.c: Rewrite using strverscmp, to fix some corner-cases.
+       Add.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/Makefile.am, lib/gl/Makefile.am, lib/gl/gettext.h,
-       lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-comp.m4, lib/iconvme.c,
-       lib/iconvme.h: Use iconvme from gnulib.
+       Sync with TP.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/reference/Makefile.am: Ignore strdup.h.
+2007-10-08  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Typo.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Fix install section.
 
-       * lib/gl/.cvsignore: [no log message]
+       Add.
 
-2006-10-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * Makefile.am, configure.ac, gl/Makefile.am, gl/gettext.h,
-       gl/m4/gnulib-comp.m4, gl/m4/longlong.m4, gl/m4/stdint.m4,
-       gl/m4/ulonglong.m4, gl/stdint_.h, gl/strdup.c, gnupload,
-       lib/Makefile.am, lib/gl/Makefile.am, lib/gl/iconvme.c,
-       lib/gl/iconvme.h, lib/gl/m4/gnulib-cache.m4,
-       lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4,
-       lib/gl/m4/iconv.m4, lib/gl/m4/iconvme.m4, lib/gl/m4/lib-ld.m4,
-       lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
-       lib/gl/m4/strdup.m4, lib/gl/strdup.c, lib/gl/strdup.h: Separate
-       gnulib directories.  Also update gnulib files.
+       Use GPLv3 in top-level gnulib files.
 
-2006-10-17  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * doc/specifications/draft-alvestrand-idna-bidi-00.txt: Add.
+2007-10-01  Simon Josefsson  <simon@josefsson.org>
 
-2006-10-14  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/specifications/rfc4713.txt: Add.
+       Fix git-tag -l in release target.
 
-2006-10-02  Simon Josefsson <simon@josefsson.org>
+       Version 1.2.
 
-       * doc/specifications/rfc4690.txt: Add.
+       Add.
 
-2006-09-27  Simon Josefsson <simon@josefsson.org>
+       Remove README-alpha.
 
-       * configure.ac: Bump versions.
+       Also upload to ftp.gnu.org.
 
-2006-09-27  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Add.
 
-2006-09-25  Simon Josefsson <simon@josefsson.org>
+       Re-order to avoid autoreconf warning.
 
-       * gl/m4/gnulib-comp.m4, gl/override/doc/gpl.texi.diff,
-       gl/override/doc/lgpl.texi.diff, gl/override/gpl.texi.diff,
-       gl/override/lgpl.texi.diff: Update.
+       Remove sv.
 
-2006-09-21  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/gpl.texi, doc/lgpl.texi, gl/override/gpl.texi.diff,
-       gl/override/lgpl.texi.diff: Update.
+       Remove (not part of translation project).
 
-2006-09-14  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gl/Makefile.am, gl/error.c, gl/getopt.c, gl/getopt1.c,
-       gl/strdup.c: Update.
+       Update gnulib files.
 
-2006-09-13  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * ChangeLog: [no log message]
+       Remove unused .cvsignore's.
 
-2006-09-13  Simon Josefsson <simon@josefsson.org>
+2007-09-01  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.6.7.
+       Generated.
 
-2006-09-13  Simon Josefsson <simon@josefsson.org>
+       Version 1.1.
 
-       * NEWS: Add.
+       Add.
 
-2006-09-13  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Wrap.
 
-2006-09-13  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gl/m4/gnulib-comp.m4, gl/m4/onceonly_2_57.m4: Update.
+       Add.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+2007-08-31  Simon Josefsson  <simon@josefsson.org>
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Drop gnits mode.
 
-       * THANKS: Add.
+       Define LIBIDN_BUILDING, for Windows hack in stringprep.h.in. Inspired by report and patch by "Christian Ehrlicher" <Ch.Ehrlicher@gmx.de>, see <http://lists.gnu.org/archive/html/help-libidn/2007-08/msg00003.html>.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Mark variables with __declspec(import) on Windows. Inspired by report and patch by "Christian Ehrlicher" <Ch.Ehrlicher@gmx.de>, see <http://lists.gnu.org/archive/html/help-libidn/2007-08/msg00003.html>.
 
-       * lib/Makefile.am: For C99 stdint.h platforms, create a dummy
-       idn-int.h that include stdint.h, reported by Paul Howarth
-       <paul@city-fan.org>.
+       Avoid using #include_next in idn-int.h when looking for stdint.h. Reported by Remko van der Vossen <wich@stack.nl> in <http://thread.gmane.org/gmane.comp.gnu.libidn.general/65>, this tiny patch was suggested by Bruno Haible in <http://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/10602>.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * NEWS, configure.ac: Bump versions.
+2007-07-31  Simon Josefsson  <simon@josefsson.org>
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/libidn.texi: Add.
+       Add.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/libidn.texi: Move the index to the end.
+       Fix.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Sync with libidn.texi.
 
-       * doc/libidn.texi: Fix refs.
+       Fix intro.
 
-2006-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix gpl/lgpl filenames.
 
-       * doc/fdl.texi, doc/gpl.texi, doc/lgpl.texi, doc/libidn.texi,
-       gl/Makefile.am, gl/m4/gnulib-comp.m4: Update.
+       Version 1.0.
 
-2006-09-04  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/fdl.texi, doc/gpl.texi, doc/lgpl.texi: Update.
+       Update PGP key.
 
-2006-09-04  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/libidn.texi: Fix.
+       Fix.
 
-2006-09-04  Simon Josefsson <simon@josefsson.org>
+       Update license to GPLv3.
 
-       * doc/Makefile.am, doc/gpl.texi, doc/lgpl.texi, doc/libidn.texi,
-       gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Add
-       lgpl and gpl from gnulib.
+       Update, sync with libidn.texi.
 
-2006-08-30  Simon Josefsson <simon@josefsson.org>
+       Clarify license versions.
 
-       * Makefile.am: Use gnupload from gnulib.
+       Relicense examples/* to GPLv3.
 
-2006-08-30  Simon Josefsson <simon@josefsson.org>
+       Relicense src/ and tests/ stuff to GPLv3.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       gnupload: Update.
+       Relicense Makefile.am and configure.ac to GPLv3.
 
-2006-08-30  Simon Josefsson <simon@josefsson.org>
+       Clarify licenses.
 
-       * gl/Makefile.am, gl/error.c, gl/m4/gnulib-cache.m4,
-       gl/m4/stdint.m4, gl/stdint_.h: Update.
+       Use GPLv3.
 
-2006-08-28  Simon Josefsson <simon@josefsson.org>
+       Update gnulib files.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/stdint.m4,
-       gl/stdint_.h: Update.
+       Update gnulib files.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+2007-06-04  Simon Josefsson  <jas@mocca.josefsson.org>
 
-       * ChangeLog: [no log message]
+       Bump versions.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+2007-05-31  Simon Josefsson  <jas@mocca.josefsson.org>
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
+       Add year 2007.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Version 0.6.6.
+       Version 0.6.14.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * gl/m4/longlong.m4: Update.
+       Add.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+       Cvs to git changes.
 
-       * gl/Makefile.am, gl/m4/gnulib-comp.m4, gl/m4/strdup.m4,
-       gl/m4/strerror_r.m4: Update.
+       Use git instead of cvs.
 
-2006-08-23  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gl/override/doc/gendocs_template: Add.
+       Add.
 
-2006-08-19  Simon Josefsson <simon@josefsson.org>
+2007-05-31  Simon Josefsson  <simon@josefsson.org>
 
-       * gl/error.c, gl/m4/gnulib-comp.m4: Update.
+       *** empty log message ***
 
-2006-08-09  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Version 0.6.13.
 
-2006-08-09  Simon Josefsson <simon@josefsson.org>
+       Install libidn-components.png in infodir, fixes broken image in the info manual.
 
-       * NEWS: Add.
+       Add.
 
-2006-08-09  Simon Josefsson <simon@josefsson.org>
+       Fix image filename.
 
-       * csharpcomp.sh.in, gendocs.sh, gl/Makefile.am, gl/error.c,
-       gl/error.h, gl/gettext.h, gl/m4/csharpcomp.m4,
-       gl/m4/gnulib-comp.m4, gl/m4/onceonly_2_57.m4, gl/m4/stdint.m4,
-       gl/stdint_.h: Update.
+       *** empty log message ***
 
-2006-07-14  Simon Josefsson <simon@josefsson.org>
+       Rename @image files so that they are prefixed with $PROJECT, so they can be installed in $infodir without collisions.
 
-       * Makefile.am: Fix.
+       Add.
 
-2006-07-14  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/gendocs.sh, gl/Makefile.am, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4: Update.
+       Fix.
 
-2006-07-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/fdl.texi, gl/Makefile.am, gl/m4/absolute-header.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/stdint.m4: 
        Update.
 
-2006-07-11  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix texi2dvi -I's.
-
-2006-07-10  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/absolute-header.m4, gl/m4/getopt.m4, gl/m4/gnulib-comp.m4,
-       gl/m4/onceonly_2_57.m4: Update.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * gl/.cvsignore: [no log message]
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac, gl/Makefile.am, gl/m4/absolute-header.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/longlong.m4,
-       gl/m4/stdint.m4, gl/stdint_.h, lib/Makefile.am,
-       m4/ax_create_stdint_h.m4, po/da.po, po/de.po, po/eo.po, po/fr.po,
-       po/it.po, po/ja.po, po/nl.po, po/pl.po, po/ro.po, po/rw.po,
-       po/sr.po, po/sv.po, po/vi.po, po/zh_CN.po: Use gnulib stdint module
-       instead of AX_CREATE_STDINT_H.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump version.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix gendocs.sh run.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.5.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gendocs.sh: Update.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
+2007-05-30  Simon Josefsson  <simon@josefsson.org>
 
-2006-07-07  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * contrib/doxygen/Doxyfile.in, contrib/doxygen/Doxyfile.orig: Update
-       to doxygen 1.4.7.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Need libintl too, for gettext, reported by Kirill
-       Ponomarew <krion@voodoo.bawue.com>.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * gl/getopt.c: Update.
-
-2006-07-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/ja.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po,
-       po/vi.po, po/zh_CN.po: Generated.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.4.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Fix valgrind test.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Check if running valgrind works.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Need -I for texi2dvi too.
-
-2006-07-06  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix paths.
+       Add.
 
-2006-07-06  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * doc/man/.cvsignore: Add.
+       Clarify license of C# port.
 
-2006-07-06  Simon Josefsson <simon@josefsson.org>
+       Clarify license of java/csharp implementation.
 
-       * gl/Makefile.am, gl/m4/onceonly_2_57.m4: Update.
+2007-04-25  Simon Josefsson  <simon@josefsson.org>
 
-2006-07-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Fix.
+       Version 0.6.12.
 
-2006-07-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * tests/Makefile.am: Simplify valgrind usage.
+2007-04-24  Simon Josefsson  <simon@josefsson.org>
 
-2006-07-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Check for valgrind.
+       Use AM_JAVACFLAGS instead of JAVACFLAGS.  See <http://ftp.gnu.org/gnu/Manuals/automake-1.7.2/html_node/automake_78.html>. Tiny patch from Petteri Räty <betelgeuse@gentoo.org>.
 
-2006-06-27  Simon Josefsson <simon@josefsson.org>
+2007-04-19  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/gdoc: Use GNU-style warnings.
+       *** empty log message ***
 
-2006-06-27  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gdoc: Fix man output, sync.
+       Update.
 
-2006-06-22  Simon Josefsson <simon@josefsson.org>
+2007-04-02  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Use AC_LIBTOOL_WIN32_DLL.
+       Fix typo.
 
-2006-06-16  Simon Josefsson <simon@josefsson.org>
+2007-03-13  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/specifications/draft-iab-idn-nextsteps-06.txt: Add.
+       0.6.11.
 
-2006-06-10  Simon Josefsson <simon@josefsson.org>
+       0.6.10.
 
-       * po/LINGUAS, po/ja.po: Sync with TP.
+       0.6.9.
 
-2006-06-09  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/specifications/rfc4518.txt: Add.
+       *** empty log message ***
 
-2006-06-07  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * gl/m4/gnulib-comp.m4: Update.
+       Version 0.6.11.
 
-2006-06-07  Simon Josefsson <simon@josefsson.org>
+       Fix path to csharpcomp.
 
-       * gl/m4/gnulib-comp.m4: Update.
+       Add.
 
-2006-06-07  Simon Josefsson <simon@josefsson.org>
+       Dist more.
 
-       * gl/m4/gnulib-comp.m4: Update.
+       Fix tests.
 
-2006-06-01  Simon Josefsson <simon@josefsson.org>
+       fix
 
-       * NEWS: Add.
+       *** empty log message ***
 
-2006-06-01  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * src/idn.c: When printing size_t, use %lu and cast the value to
-       unsigned long, based on report from Joe Orton <jorton@redhat.com>.
+       Don't wait for newline from user (breaks batch usage).  Fix typo.
 
-2006-06-01  Simon Josefsson <simon@josefsson.org>
+       Don't wait for return from user (breaks batch usage).
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po, po/zh_CN.po: Sync
-       with TP.
+       Fix namespace.
 
-2006-06-01  Simon Josefsson <simon@josefsson.org>
+       Update, from Alexander Gnauck <gnauck@ag-software.de>.
 
-       * NEWS: Add.
+       Remove.
 
-2006-06-01  Simon Josefsson <simon@josefsson.org>
+       Generate generated files.
 
-       * lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c: Include config.h, to make NLS work, tiny patch
-       from Joe Orton <jorton@redhat.com>.
+       AppendLine isn't supported by cscc, use Append+\n.
 
-2006-05-16  Simon Josefsson <simon@josefsson.org>
+       Add code to generate tables, from Alexander Gnauck <gnauck@ag-software.de>.
 
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: 
        Update.
 
-2006-05-05  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/.cvsignore, doc/java/resources/.cvsignore: [no log
-       message]
-
-2006-05-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
+2007-03-09  Simon Josefsson  <simon@josefsson.org>
 
-2006-05-04  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * tests/Makefile.am: Run tests under valgrind, if present.
+       Bump versions.
 
-2006-04-26  Simon Josefsson <simon@josefsson.org>
+       Revert.
 
-       * doc/libidn.texi: Typo.
-
-2006-04-26  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/strerror_r.m4: Update.
+       Update.
 
-2006-04-17  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/specifications/draft-iab-idn-nextsteps-05.txt: Add.
+       Update gnulib.
 
-2006-03-14  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/libidn.texi: Fix title.
+       Use build-aux.
 
-2006-03-11  Simon Josefsson <simon@josefsson.org>
+2007-02-24  Simon Josefsson  <simon@josefsson.org>
 
-       * README-alpha: Fix.
+       Add.
 
-2006-03-11  Simon Josefsson <simon@josefsson.org>
+2007-02-06  Simon Josefsson  <simon@josefsson.org>
 
-       * maint-cfg.mk: fix
+       Update.
 
-2006-03-11  Simon Josefsson <simon@josefsson.org>
+2007-02-05  Simon Josefsson  <simon@josefsson.org>
 
-       * gtk-doc.make: Add.
+       Add.
 
-2006-03-10  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/specifications/draft-farah-adntf-adns-guidelines-01.txt: Add.
+       Add.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS, configure.ac: Bump versions.
+2007-01-25  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * ChangeLog: [no log message]
+2007-01-04  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Typo.
+       Generated.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Version 0.6.10.
 
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
+       Add.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years (also add older years which I forgot to add earlier).
 
-       * NEWS: Version 0.6.3.
+       Update PGP key.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+2007-01-03  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Update.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+2006-12-28  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac, po/da.po, po/de.po, po/eo.po, po/fr.po,
-       po/it.po, po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po,
-       po/sv.po, po/vi.po, po/zh_CN.po: Bump versions.
+       Add.
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * gl/Makefile.am, gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4,
-       gl/unistd_.h, maint.mk: Update.
+2006-12-26  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * gl/Makefile.am, gl/getopt.c, gl/m4/gnulib-comp.m4,
-       gl/m4/unistd_h.m4, gl/unistd_.h, maint.mk: Update.
+2006-12-10  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-07  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/specifications/draft-iab-idn-nextsteps-04.txt: Add.
+2006-11-30  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * po/LINGUAS, po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po,
-       po/nl.po, po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
+       Sync with TP.
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Version 0.6.9.
 
-       * Makefile.am: Fix update-po rule.
+       *** empty log message ***
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * maint.mk: Update.
+       Remove.
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Bump tool versions.
 
-       * maint.mk: Update.
+       Update.
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+2006-11-16  Simon Josefsson  <simon@josefsson.org>
 
-       * examples/example3.c, examples/example4.c, lib/nfkc.c: Doc fix.
+       Re-add test, with fixed code that doesn't use Java 1.5 syntax. Suggested by "Stephane Mikaty" <mikaty@ecircle-ag.com>.
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Revert (didn't compile).
 
-       * lib/idna.c, lib/nfkc.c, lib/stringprep.c, lib/toutf8.c,
-       lib/version.c, src/idn.c, tests/tst_idna.c, tests/tst_idna2.c,
-       tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
-       tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_tld.c,
-       tests/utils.c: Stylistic fix.
+2006-11-15  Simon Josefsson  <simon@josefsson.org>
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * gl/getopt.c, maint.mk: Update.
+       New self-test to test for ToIDNA regression regarding non-ascii dot-delimiters.  Tiny patch from "Stephane Mikaty" <mikaty@ecircle-ag.com>.
 
-2006-03-03  Simon Josefsson <simon@josefsson.org>
+       Fix non-ascii dot in strings, tiny patch from "Stephane Mikaty" <mikaty@ecircle-ag.com>.
 
-       * Makefile.am, examples/Makefile.am, lib/Makefile.am,
-       src/Makefile.am, tests/Makefile.am: Remove indent.
+       Add.
 
-2006-02-17  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/specifications/draft-iab-idn-nextsteps-03.txt: Add.
+2006-10-31  Simon Josefsson  <simon@josefsson.org>
 
-2006-02-16  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * maint-cfg.mk: Fix.
+       Update.
 
-2006-02-16  Simon Josefsson <simon@josefsson.org>
+2006-10-26  Simon Josefsson  <simon@josefsson.org>
 
-       * maint-cfg.mk: Fix.
+       Add.
 
-2006-02-16  Simon Josefsson <simon@josefsson.org>
+2006-10-20  Simon Josefsson  <simon@josefsson.org>
 
-       * maint-cfg.mk: Fix.
+       Add.
 
-2006-02-16  Simon Josefsson <simon@josefsson.org>
+2006-10-18  Simon Josefsson  <simon@josefsson.org>
 
-       * maint-cfg.mk: Fix.  Add mingw32 target.
+       *** empty log message ***
 
-2006-02-15  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * maint.mk: Update.
+       Version 0.6.8.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * GNUmakefile, Makefile.cfg, Makefile.maint, gl/m4/gnulib-comp.m4,
-       maint-cfg.mk, maint.mk: Rename.
+       Add.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Assume locale.h and setlocale.
 
-       * Makefile.cfg: Fix.
+       Build lib/gl/ earlier.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.cfg: Fix.
+       Build gl/ first.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Add stdint module to lib/.
 
-       * Makefile.cfg: Fix.
+       Remove.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Ignore all of lib/gl/.
 
-       * Makefile.cfg: Fix.
+       Move libtool init, to avoid warnings.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Add strverscmp.
 
-       * autogen.sh: Remove.
+       Rewrite using strverscmp, to fix some corner-cases.
 
-2006-02-14  Simon Josefsson <simon@josefsson.org>
+       Use iconvme from gnulib.
 
-       * GNUmakefile, Makefile.cfg, Makefile.maint: Add.
+       Ignore strdup.h.
 
-2006-02-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * GNUmakefile, Makefile.maint, csharpcomp.sh.in, gl/Makefile.am,
-       gl/csharpcomp.sh.in, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: 
-       Update gnulib.
+       *** empty log message ***
 
-2006-02-07  Simon Josefsson <simon@josefsson.org>
+       Separate gnulib directories.  Also update gnulib files.
 
-       * libidn.fms: 0.6.2.
+2006-10-17  Simon Josefsson  <simon@josefsson.org>
 
-2006-02-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: [no log message]
+2006-10-14  Simon Josefsson  <simon@josefsson.org>
 
-2006-02-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix includes, for make dist.
+2006-10-02  Simon Josefsson  <simon@josefsson.org>
 
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix -I's again, for make dist.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix @verbatiminclude's, for make dist.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix -I's, for make dist.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Add -I for examples.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * .cvscopying: Fix years.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.2.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/vi.po: Update.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po, po/zh_CN.po: Sync
-       with TP.
-
-2006-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * gl/csharpcomp.sh.in, gl/getopt.c, gl/m4/getopt.m4,
-       gl/m4/gnulib-tool.m4: Update.
-
-2006-02-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2006-02-03  Simon Josefsson <simon@josefsson.org>
-
-       * java/misc/Makefile.am: Fix objdir != srcdir, tiny patch from
-       Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
-
-2006-02-03  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2006-02-03  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am, java/Makefile.am: Fix objdir != srcdir, tiny
-       patch from Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
-
-2006-01-27  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po, po/zh_CN.po: Sync
-       with TP.
-
-2006-01-27  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2006-01-27  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix 'make distcheck'.
-
-2006-01-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix.
-
-2006-01-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-ldapbis-strprep-07.txt: Add.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.6.1.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.1.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix mingw32 builds.
-
-2006-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * tests/Makefile.am: Fix make check on mingw32.
-
-2006-01-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-xdlee-idn-cdnadmin-06.txt: Add.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4: Update.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am, doc/libidn.texi: Fix copyright years.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * README, README-alpha: Add.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update PGP key.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix path to csharpcomp.sh.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * .cvsignore, gl/.cvsignore: [no log message]
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Fix.
-
-2006-01-11  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: 
-       Update.
-
-2006-01-09  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/gnulib-cache.m4, gl/m4/gnulib-tool.m4: Update.
-
-2006-01-09  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/csharpcomp.sh.in, gl/m4/gnulib-cache.m4,
-       gl/m4/gnulib-comp.m4: Update.
-
-2006-01-09  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_idna2.c: Print USC4 code point numbers too.
-
-2005-12-23  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/rfc4290.txt: Add.
-
-2005-12-22  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-iab-idn-nextsteps-01.txt: Add.
-
-2005-12-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.6.0.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump version.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.6.0.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Csharp test is in gnulib now, remove it.
-
-2005-12-03  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-iab-idn-nextsteps-00.txt: Add.
-
-2005-12-02  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/vi.po, po/zh_CN.po: Sync
-       with TP.
-
-2005-12-02  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add C# notes.
-
-2005-12-02  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Fix message.
-
-2005-12-02  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/csharpcomp.sh.in, gl/m4/csharp.m4,
-       gl/m4/csharpcomp.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
-       m4/csharp.m4, m4/csharpcomp.m4: Use csharpcomp-script from gnulib.
-
-2005-12-02  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Don't specify any C# compile flags (fixes
-       distcheck).
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/rw.po, po/zh_CN.po: Sync with TP.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Dist MSVS stuff.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/libidn.csproj, csharp/libidn.csproj.user,
-       csharp/libidn.sln, csharp/libidn_PPC.csdproj,
-       csharp/libidn_PPC.csdproj.user, csharp/libidn_PPC.sln: Add MSVSC
-       project files.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/CombiningClass.cs, csharp/Composition.cs,
-       csharp/DecompositionKeys.cs, csharp/DecompositionMappings.cs,
-       csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
-       csharp/Punycode.cs, csharp/PunycodeException.cs, csharp/RFC3454.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs: Use GPL for the
-       port.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/.cvsignore, gl/.cvsignore: [no log message]
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, csharp/Makefile.am: Fix csharpcomp location.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, gl/csharpcomp.sh.in: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, csharp/Makefile.am: Fix.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Fix message.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * m4/csharp.m4, m4/csharpcomp.m4: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Add C# tests.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Remove.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Fix.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * .cvscopying: Add 2005.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS, THANKS: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Use gnulib, for csharpcomp.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/Makefile.am: Add.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, configure.ac: C# fixes.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * csharp/AssemblyInfo.cs, csharp/CombiningClass.cs,
-       csharp/Composition.cs, csharp/DecompositionKeys.cs,
-       csharp/DecompositionMappings.cs, csharp/IDNA.cs,
-       csharp/IDNAException.cs, csharp/NFKC.cs, csharp/Punycode.cs,
-       csharp/PunycodeException.cs, csharp/RFC3454.cs,
-       csharp/Stringprep.cs, csharp/StringprepException.cs: Add C# port,
-       from Alexander Gnauck <gnauck@ag-software.de>.
-
-2005-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump version.
-
-2005-11-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-11-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2005-11-04  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Use -no-undefined for libtool, for cygwin, tiny
-       patch from "Yaakov S (Cygwin Ports)"
-       <yselkowitz@users.sourceforge.net>.
-
-2005-10-26  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po: Add.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: (pr29_8z): Fix memory leak.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Mention Suse on IBM OpenPower.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Fix.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.20.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-10-23  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Install pr29.h.
-
-2005-10-22  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/gnulib-comp.m4: Update.
-
-2005-10-07  Simon Josefsson <simon@josefsson.org>
-
-       * gl/getopt_.h: Update.
-
-2005-10-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-ldapbis-strprep-06.txt: Add.
-
-2005-09-22  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/gnulib-comp.m4: Update.
-
-2005-09-20  Simon Josefsson <simon@josefsson.org>
-
-       * gl/getopt1.c: Update.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Update.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Use gnupload.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.5.19.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Update.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.19.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Update.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/Makevars: Use --no-location, to minimize CVS diff's.
-
-2005-09-19  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/tmpl/.cvsignore: [no log message]
-
-2005-09-15  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/tmpl/libidn-unused.sgml: Add (to fix gtk-doc
-       makefile bug).
-
-2005-09-15  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am: Fix dependency.
-
-2005-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * : Update.
-
-2005-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix wget usage.
-
-2005-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/vi.po: Sync with TP.
-
-2005-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Sync with TP.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * m4/gtk-doc.m4: Update.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am: Fix dependencies.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/.cvsignore, doc/java/gnu/inet/encoding/.cvsignore,
-       doc/java/resources/.cvsignore: [no log message]
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/.cvsignore: [no log message]
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Call gjdoc directly.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha, configure.ac: Replace javadoc with gjdoc.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am: Dist files generated by gjdoc instead.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-09-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Use HAVE_LOCALE_H.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * m4/codeset.m4: Update.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Fix header/setlocale checks.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Check for locale.h.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Fix setlocale test.
-
-2005-09-10  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Check for setlocale.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * m4/codeset.m4: Add.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Use modern nl_langinfo test.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Simplify nl_langinfo test.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Fix #include's.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Let's assume unistd.h and errno.h (in fact, we
-       already did in the source code and nobody complained).
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update PGP key.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-09-09  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, gl/Makefile.am, gl/m4/codeset.m4, gl/m4/getopt.m4,
-       gl/m4/gettext.m4, gl/m4/glibc2.m4, gl/m4/glibc21.m4,
-       gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4,
-       gl/m4/gnulib.m4, gl/m4/iconv.m4, gl/m4/intdiv0.m4, gl/m4/intmax.m4,
-       gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, gl/m4/inttypes_h.m4,
-       gl/m4/isc-posix.m4, gl/m4/lcmessage.m4, gl/m4/lib-ld.m4,
-       gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/longdouble.m4,
-       gl/m4/longlong.m4, gl/m4/nls.m4, gl/m4/onceonly_2_57.m4,
-       gl/m4/po.m4, gl/m4/printf-posix.m4, gl/m4/progtest.m4,
-       gl/m4/signed.m4, gl/m4/size_max.m4, gl/m4/stdint_h.m4,
-       gl/m4/strdup.m4, gl/m4/uintmax_t.m4, gl/m4/ulonglong.m4,
-       gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/m4/xsize.m4: Update gnulib.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * README: Fix typo.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.18.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Link to help-libidn.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * README: Add.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/gnulib.m4: Update.
-
-2005-07-16  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Simplify.
-
-2005-07-15  Simon Josefsson <simon@josefsson.org>
-
-       * gl/.cvsignore: [no log message]
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-bakleh-reg-adm-acg-apu-01.txt: Add.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ax_create_stdint_h.m4: Use 'sed 1q' instead of 'head -n 1',
-       more portable.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Add 2005 to man page copyrights.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ax_create_stdint_h.m4: Fix head usage (really!!).
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Fix license.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ax_create_stdint_h.m4: Fix use of head.
-
-2005-06-24  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ax_create_stdint_h.m4: New upstream release.
-
-2005-06-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/pl.po,
-       po/ro.po, po/sr.po, po/vi.po: Sync with TP.
-
-2005-06-14  Simon Josefsson <simon@josefsson.org>
-
-       * contrib/doxygen/gdoc2doxygen: Fix address in license.
-
-2005-06-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-06-12  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: fix
-
-2005-06-12  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ax_create_stdint_h.m4: Turn 'head -1' into 'head -n -1', tiny
-       patch from Carsten Lohrke <current@myrealbox.com>.
-
-2005-06-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, po/nl.po: Add.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.5.17.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/vi.po,
-       po/zh_CN.po: Generated.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.17.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/lgpl.texi: Fix sectioning.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/dummy.c, gl/gettext.h, gl/m4/getopt.m4,
-       gl/m4/gettext.m4, gl/m4/glibc2.m4, gl/m4/gnulib.m4,
-       gl/m4/intdiv0.m4, gl/m4/intmax.m4, gl/m4/inttypes-pri.m4,
-       gl/m4/inttypes.m4, gl/m4/isc-posix.m4, gl/m4/lcmessage.m4,
-       gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/nls.m4, gl/m4/po.m4,
-       gl/m4/printf-posix.m4, gl/m4/progtest.m4, gl/m4/strdup.m4: Sync with
-       gnulib.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS, COPYING, COPYING.LIB, FAQ, Makefile.am, README, TODO,
-       configure.ac, contrib/README, contrib/java/Makefile.am,
-       doc/Makefile.am, doc/Makefile.gdoci, doc/fdl.texi, doc/gdoc,
-       doc/gendocs.sh, doc/gendocs_template, doc/java/Makefile.am,
-       doc/lgpl.texi, doc/specifications/Makefile.am, doc/tld/Makefile.am,
-       examples/Makefile.am, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c, examples/example5.c,
-       gl/dummy.c, gl/error.c, gl/error.h, gl/getopt.c, gl/getopt1.c,
-       gl/getopt_.h, gl/getopt_int.h, gl/gettext.h, gl/strdup.c,
-       gl/strdup.h, java/Makefile.am,
-       java/gnu/inet/encoding/CombiningClass.java,
-       java/gnu/inet/encoding/Composition.java,
-       java/gnu/inet/encoding/DecompositionKeys.java,
-       java/gnu/inet/encoding/DecompositionMappings.java,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/RFC3454.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/Makefile.am, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java, lib/Makefile.am,
-       lib/gen-stringprep-tables.pl, lib/gen-tld-tables.pl,
-       lib/gen-unicode-tables.pl, lib/iconvme.c, lib/iconvme.h,
-       lib/idn-free.c, lib/idn-free.h, lib/idna.c, lib/idna.h, lib/nfkc.c,
-       lib/pr29.c, lib/pr29.h, lib/profiles.c, lib/punycode.c,
-       lib/punycode.h, lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c, lib/stringprep.c, lib/stringprep.h.in,
-       lib/tld.c, lib/tld.h, lib/toutf8.c, lib/version.c, libc/example.c,
-       libidn.pc.in, src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
-       src/punycode.el, tests/Makefile.am, tests/tst_idna.c,
-       tests/tst_idna2.c, tests/tst_nfkc.c, tests/tst_pr29.c,
-       tests/tst_punycode.c, tests/tst_strerror.c, tests/tst_stringprep.c,
-       tests/tst_tld.c, tests/utils.c, tests/utils.h: Update FSF address in
-       license.  Fix copyrights.
-
-2005-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-05-18  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-klensin-reg-guidelines-08.txt: Add.
-
-2005-05-12  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/rw.po, po/sr.po, po/zh_CN.po: Sync with TP.
-
-2005-05-10  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2005-05-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-05-08  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.5.16.
-
-2005-05-06  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-05-06  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.16.
-
-2005-05-06  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/rw.po, po/sr.po, po/sv.po, po/zh_CN.po: Sync with TP.
-
-2005-05-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-05-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Use 'const' for static data, tiny patch from Joe Orton
-       <jorton@redhat.com>.
-
-2005-04-16  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po: Sync with TP.
-
-2005-04-15  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2005-04-15  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-04-15  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/vi.po: Sync with TP.
-
-2005-04-06  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/rw.po, po/zh_CN.po: Sync with TP.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/sv.po, po/vi.po, po/zh_CN.po: 
-       Generated.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.15.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * lib/iconvme.c: Sync with libc; fix license and fix arithmetic
-       overflow.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * lib/iconvme.h: Fix license.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/sv.po, po/vi.po, po/zh_CN.po: 
-       Generated.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.14.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Ramblings.
-
-2005-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/sv.po, po/vi.po: Sync with TP.
-
-2005-03-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS, po/LINGUAS, po/zh_CN.po: Add.
-
-2005-03-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/rfc4013.txt: Add.
-
-2005-02-27  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idn-free.c: Include the specification first, to verify it is
-       standalone.  Doc fix.
-
-2005-02-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-ldapbis-dn-16.txt: Add.
-
-2005-02-16  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2005-02-16  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Reorder chronologically.
-
-2005-02-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-02-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-02-11  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-ldapbis-strprep-05.txt: Add.
-
-2005-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Sort (should be sorted chronologically..).
-
-2005-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2005-02-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS, po/LINGUAS, po/vi.po: Add.
-
-2005-01-30  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Fix last commit, reported by Linus Nordberg
-       <linus@nordberg.se>.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Fix srcdir != objdir when bootstrapping from CVS,
-       patch from Linus Nordberg <linus@nordberg.se> (tiny change).
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Fix.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am: Remove hack, fixed in gtk-doc CVS.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: 0.5.13.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/it.po, po/nl.po,
-       po/pl.po, po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.13.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update.
-
-2005-01-29  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Need dummy gnulib module again.
-
-2005-01-28  Simon Josefsson <simon@josefsson.org>
-
-       * lib/iconvme.c, lib/iconvme.h: Add.
-
-2005-01-28  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, gl/Makefile.am, gl/iconvme.c, gl/iconvme.h,
-       gl/m4/gnulib.m4, gl/m4/iconvme.m4, lib/Makefile.am: Move iconvme to
-       lib, since linking gnulib in lib doesn't work due to program_name
-       symbol.
-
-2005-01-28  Simon Josefsson <simon@josefsson.org>
-
-       * gl/m4/codeset.m4, gl/m4/error.m4, gl/m4/getopt.m4,
-       gl/m4/glibc21.m4, gl/m4/iconv.m4, gl/m4/inttypes_h.m4,
-       gl/m4/lib-ld.m4, gl/m4/lib-link.m4, gl/m4/lib-prefix.m4,
-       gl/m4/longdouble.m4, gl/m4/longlong.m4, gl/m4/signed.m4,
-       gl/m4/size_max.m4, gl/m4/stdint_h.m4, gl/m4/strdup.m4,
-       gl/m4/strerror_r.m4, gl/m4/uintmax_t.m4, gl/m4/ulonglong.m4,
-       gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/m4/xsize.m4: Update.
-
-2005-01-28  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Typo.
-
-2005-01-27  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2005-01-27  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add, reported by Simon Walter
-       <simon@nethinks.com>.
-
-2005-01-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-01-17  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Sync with TP.
-
-2005-01-17  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Remove.
-
-2005-01-17  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/Makefile.am, java/misc/Makefile.am: Define
-       JAVAROOT unconditionally, because automake barf otherwise.
-
-2005-01-16  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Add.
-
-2005-01-16  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Add.
-
-2005-01-16  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2005-01-16  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Mention gettext requirement, suggested by Linus
-       Nordberg <linus@nordberg.se>.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Warn strongly about missing iconv.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: No need to use dummy gnulib module, no system has
-       iconvme.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Link with gnulib (only LGPL files).
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Use iconv_string from gnulib.
-
-2005-01-05  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, gl/Makefile.am, gl/iconvme.c, gl/iconvme.h,
-       gl/m4/gnulib.m4, gl/m4/iconvme.m4: Add iconvme from gnulib.
-
-2005-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Add copyright for year 2005.
-
-2005-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2005-01-02  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Update.
-
-2005-01-01  Simon Josefsson <simon@josefsson.org>
-
-       * gl/error.c: Update.
-
-2005-01-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2005-01-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS, po/LINGUAS, po/it.po: Add.
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.12.
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-12-04  Simon Josefsson <simon@josefsson.org>
-
-       * gl/getopt_.h, gl/m4/getopt.m4: Update.
-
-2004-12-01  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/Stringprep.java: Doc fix, from Oliver Hitz
-       <oliver@net-track.ch>.
-
-2004-11-30  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-bartosiewicz-idn-pltld-08.txt: Add.
-
-2004-11-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: More PR29.
-
-2004-11-23  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2004-11-23  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-22  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-11-22  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/Stringprep.java: Fixed two bugs:
-       allowUnassigned not respected properly, buggy prohibited code points
-       check.  Argument checks added.  RFC3920 nodeprep and resourceprep
-       added, suggested by Matt Tucker.  Convenience methods with
-       allowUnassigned set to false added.  From Oliver Hitz
-       <oliver@net-track.ch>.
-
-2004-11-22  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/RFC3454.java,
-       java/misc/GenerateRFC3454.java: Add table C.1.1 and C.2.1, from
-       Oliver Hitz <oliver@net-track.ch>.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Make sure all man pages follow 'foo -- purpose of foo'
-       format, even if there is no purpose description available, from
-       Shishi.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Sync with TP.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.11.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Add 'DO NOT MODIFY' warning to generated man pages.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: Doc fix.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/nfkc.c, lib/strerror-punycode.c: Doc fix.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c, lib/pr29.c, lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
-       lib/tld.c, lib/toutf8.c, lib/version.c: Doc fix.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: For man pages, don't use line breaking formatting codes
-       ("\n.I foo\n") but rather inline commands ("\fIfoo\fP").
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/punycode.c: Doc fix.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Skip leading whitespace in function purpose.  Print
-       function purpose in man pages, if available.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-21  Simon Josefsson <simon@josefsson.org>
-
-       * gl/getopt.c, gl/getopt1.c, gl/getopt_.h, gl/getopt_int.h,
-       gl/m4/getopt.m4: Update.
-
-2004-11-18  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ekrema-smldn-00.txt: Add.
-
-2004-11-17  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-klensin-reg-guidelines-05.txt: Add.
-
-2004-11-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-11-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/Description.txt,
-       doc/specifications/IDNConnect.html, doc/specifications/testbed.html: 
-       Add.
-
-2004-11-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/pr-29.html: Update.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Fix.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.10.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_pr29.c: No need for stringprep.h.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * examples/example2.c, libc/example.c, tests/tst_idna.c,
-       tests/tst_idna2.c, tests/tst_nfkc.c, tests/tst_punycode.c,
-       tests/tst_stringprep.c: Cosmetic fix.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * tests/utils.c: Typo.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Sync with TP.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Simplify EXTRA_DIST.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Use Libtool's -export-symbols-regex.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-klensin-reg-guidelines-04.txt,
-       doc/specifications/draft-xdlee-idn-cdnadmin-02.txt: Add.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c, lib/nfkc.c, lib/profiles.c, lib/punycode.c,
-       lib/toutf8.c, lib/version.c: Cosmetic fix.
-
-2004-11-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/tld.c: Add copyright header for me.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Fix.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * FAQ: Add.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update PGP key.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-sasl-anon-04.txt: Add.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po: Generated.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix release target.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.9.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Sync with TP.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/.cvsignore: [no log message]
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am, doc/reference/libidn.types: Simplify.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Fix SUBDIRS order, because GTK-DOC need
-       components.png.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * autogen.sh: Fix.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * autogen.sh: Fix.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-11-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gendocs.sh, doc/gendocs_template: Update.
-
-2004-10-28  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Support -include, from GnuTLS.
-
-2004-10-27  Simon Josefsson <simon@josefsson.org>
-
-       * lib/profiles.c: Doc fix.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Fix man output.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * lib/strerror-stringprep.c, lib/stringprep.c, lib/tld.c: Doc fix.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c, lib/pr29.c, lib/punycode.c, lib/strerror-idna.c,
-       lib/strerror-pr29.c, lib/strerror-punycode.c, lib/tld.c: Doc fix.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Use @code, not @var, for constants in texinfo output.
-       Fix newlines in man output.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gdoc: Use # instead of & for types.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am, doc/reference/libidn-docs.sgml: Add
-       image.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * autogen.sh: Run gtkdocize.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/sv.po: Sync with TP.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: (update-po): Fix.
-
-2004-10-25  Simon Josefsson <simon@josefsson.org>
-
-       * : Add.
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/libidn.types: Fix.
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: (DISTCHECK_CONFIGURE_FLAGS): Add --enable-gtk-doc.
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/reference/Makefile.am, doc/reference/libidn-docs.sgml,
-       doc/reference/libidn-docs.tmpl: Align GTK-DOC build infrastructure
-       with GTK-DOC official recommendations.
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/.cvsignore: [no log message]
-
-2004-10-24  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/ro.po,
-       po/sr.po: Sync with TP.
-
-2004-10-15  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/getopt.m4: Update.
-
-2004-10-15  Simon Josefsson <simon@josefsson.org>
-
-       * po/pl.po: Sync with TP.
-
-2004-10-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Update.
-
-2004-10-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Update.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * README: Fix.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * README: Fix.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * README: Improve readability.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.8.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * lib/gen-unicode-tables.pl: Add coment to generated files to say
-       that they are generated, reported by "Gisle Vanem" <giva@bgnett.no>.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/Makefile.am: Distribute
-       BidiMirroring-3.2.0.txt, reported by "Gisle Vanem" <giva@bgnett.no>.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.7.
-
-2004-10-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-10-11  Simon Josefsson <simon@josefsson.org>
-
-       * po/fr.po: Generated.
-
-2004-10-11  Simon Josefsson <simon@josefsson.org>
-
-       * po/fr.po: Sync with TP.
-
-2004-10-05  Simon Josefsson <simon@josefsson.org>
-
-       * gl/error.c: Update Gnulib.
-
-2004-10-04  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-10-04  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Use EXIT_SUCCESS and EXIT_FAILURE.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update PGP key.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.6.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * examples/example.c, examples/example3.c, examples/example4.c,
-       examples/example5.c: Use *strerror.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, examples/Makefile.am: Fix indent.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, libidn.fms: Fix.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Reorder.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: Don't link with gnulib.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Revert, don't use strdup.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/strerror-idna.c: Simplify translation strings.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Typo.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.h, lib/pr29.c, lib/pr29.h, lib/profiles.c, lib/toutf8.c,
-       src/idn.c, tests/tst_pr29.c, tests/tst_stringprep.c: Indent.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Use error.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, gl/Makefile.am, gl/error.c, gl/error.h,
-       gl/m4/error.m4, gl/m4/gnulib.m4, gl/m4/strerror_r.m4: Add error from
-       gnulib (slightly modified to avoid unlocked-io.h).
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * tests/Makefile.am, tests/tst_strerror.c: Add.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * tests/.cvsignore: [no log message]
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: (DEFS): Add LOCALEDIR.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * lib/strerror-idna.c, lib/strerror-pr29.c,
-       lib/strerror-punycode.c, lib/strerror-stringprep.c,
-       lib/strerror-tld.c: Setup gettext properly.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * po/POTFILES.in: Add.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/Makefile.am: Fix.
-
-2004-10-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/Makefile.am, doc/libidn.texi, lib/Makefile.am,
-       lib/idna.h, lib/pr29.h, lib/punycode.h, lib/strerror-idna.c,
-       lib/strerror-pr29.c, lib/strerror-punycode.c,
-       lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.h.in,
-       lib/tld.c, lib/tld.h, src/idn.c: Add idna_strerror, pr29_strerror,
-       punycode_strerror, stringprep_strerror, and tld_strerror, suggested
-       by Daniel Stenberg <daniel@haxx.se>.  Make idn.c use them.  Rename
-       TLD_NOTLD to TLD_NO_TLD.
-
-2004-09-29  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/dummy.c, gl/m4/gnulib.m4: Update.
-
-2004-09-28  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/m4/gnulib.m4: Update.
-
-2004-09-28  Simon Josefsson <simon@josefsson.org>
-
-       * gl/Makefile.am, gl/dummy.c, gl/getopt.c, gl/getopt1.c,
-       gl/getopt_.h, gl/getopt_int.h, gl/gettext.h, gl/m4/codeset.m4,
-       gl/m4/gettext.m4, gl/m4/glibc21.m4, gl/m4/gnulib.m4,
-       gl/m4/iconv.m4, gl/m4/intdiv0.m4, gl/m4/intmax.m4,
-       gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, gl/m4/inttypes_h.m4,
-       gl/m4/isc-posix.m4, gl/m4/lcmessage.m4, gl/m4/lib-ld.m4,
-       gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/longdouble.m4,
-       gl/m4/longlong.m4, gl/m4/nls.m4, gl/m4/po.m4,
-       gl/m4/printf-posix.m4, gl/m4/progtest.m4, gl/m4/signed.m4,
-       gl/m4/size_max.m4, gl/m4/stdint_h.m4, gl/m4/strdup.m4,
-       gl/m4/uintmax_t.m4, gl/m4/ulonglong.m4, gl/m4/wchar_t.m4,
-       gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/strdup.c, gl/strdup.h,
-       src/gettext.h: Use new GNULib.
-
-2004-09-28  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Specify gl_LGPL for new gnulib-tool.
-
-2004-09-26  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2004-09-26  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, NEWS, configure.ac, gl/.cvsignore, gl/Makefile.am,
-       gl/dummy.c, gl/getopt.c, gl/getopt1.c, gl/getopt_.h,
-       gl/getopt_int.h, gl/m4/getopt.m4, gl/m4/gnulib.m4,
-       gl/m4/onceonly_2_57.m4, gl/m4/strdup.m4, gl/strdup.c, gl/strdup.h,
-       lib/Makefile.am, lib/toutf8.c, src/Makefile.am, src/getopt.c,
-       src/getopt1.c, src/getopt_.h, src/getopt_int.h, tests/Makefile.am: 
-       Use Lesser GNULib.
-
-2004-09-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-bakleh-reg-adm-acg-apu-00.txt: Add.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am: Clean more.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.5.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/.cvsignore: [no log message]
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: (POURL): Fix.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Sync with TP.
-
-2004-09-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-09-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-09-05  Simon Josefsson <simon@josefsson.org>
-
-       * lib/nfkc.c: (g_utf8_skip): Hide variable, using "static".
-
-2004-09-02  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Move.  Fix ack.
-
-2004-08-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-farah-adntf-adns-guidelines-00.txt: Add.
-
-2004-08-23  Simon Josefsson <simon@josefsson.org>
-
-       * m4/autobuild.m4: Update.
-
-2004-08-18  Simon Josefsson <simon@josefsson.org>
-
-       * README: Fix.
-
-2004-08-18  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix.
-
-2004-08-17  Simon Josefsson <simon@josefsson.org>
-
-       * README: Add.
-
-2004-08-17  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump version.
-
-2004-08-10  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Shut up 'uno' by fixing array boundary.
-
-2004-08-08  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Fix.
-
-2004-08-08  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.fms: Add.
-
-2004-08-07  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-08-07  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-08-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.4.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS: Sync with TP.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: (update-po): Add.
-
-2004-08-06  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po: Sync with TP.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump version.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po: Update.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.3.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-08-05  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Fix crash, tiny patch by Andreas Schwab reported by
-       Stephan Kulow <coolo@suse.de>.
-
-2004-08-01  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Use PR29_* error mnemonics, instead of hard coded
-       integers.
-
-2004-08-01  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Cosmetic fix.
-
-2004-07-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/COPYING.UCD: Add.
-
-2004-07-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/COPYING.UCD: Update.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gendocs.sh, doc/gendocs_template: Update.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Bump version.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump versions.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.2.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump version.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-07-14  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: (install-jar): Make DESTDIR compatible, patch from Oliver Hitz
-       <oliver@net-track.ch> based on report by Benjamin Reed
-       <ranger@befunk.com>.
-
-2004-07-13  Simon Josefsson <simon@josefsson.org>
-
-       * libc/example.c: Doc fix.
-
-2004-07-13  Simon Josefsson <simon@josefsson.org>
-
-       * libc/example.c: Use setlocale, reported by Robert Scheck
-       <libidn@robert-scheck.de>.
-
-2004-07-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-hoffman-pkix-stringmatch-00.txt: Add.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Mention pr29.h.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.1.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Use autobuild.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS, m4/autobuild.m4: Add.
-
-2004-07-09  Simon Josefsson <simon@josefsson.org>
-
-       * examples/example.c, examples/example2.c, examples/example3.c,
-       examples/example4.c: Call setlocale to make iconv work, reported by
-       Robert Scheck <libidn@robert-scheck.de>.
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, src/getopt.c, src/getopt1.c: Update getopt.
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * .cvsignore, tests/.cvsignore: [no log message]
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix.
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * examples/.cvsignore, src/.cvsignore: [no log message]
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/.cvsignore: [no log message]
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * src/getopt_int.h: Add.
-
-2004-07-02  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, src/Makefile.am, src/getopt.c, src/getopt.h,
-       src/getopt1.c, src/getopt_.h: Update getopt module.  Now work on,
-       e.g., uClibc systems which uses GNU Libc header files, but do not
-       implement getopt_long.
-
-2004-06-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2004-06-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Add.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/eo.po, po/fr.po, po/nl.po, po/pl.po,
-       po/ro.po, po/sr.po, po/sv.po: Generated.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.5.0.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/.cvsignore: [no log message]
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Fix.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am: Fix.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am: (HTML_OBJECTS): Add libidn-pr29.html.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/libidn-docs.tmpl: Add PR29.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/.cvsignore: [no log message]
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Add doc.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Don't use wildcards for GDOC_SRC.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.c: Use 'static'.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * lib/pr29.h: Typo.
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * tests/.cvsignore: [no log message]
-
-2004-06-26  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/libidn.texi, lib/Makefile.am, lib/pr29.c, lib/pr29.h,
-       tests/Makefile.am, tests/tst_pr29.c: Add PR29 functions.
-
-2004-06-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/HangulSyllableType-4.0.1.txt: Add.
-
-2004-06-25  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/DerivedCombiningClass-3.2.0.txt: Add.
-
-2004-06-12  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-06-12  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/eo.po: Add Esperanto translation, from Edmund
-       GRIMLEY EVANS <edmundo@rano.org>, via the translation project.
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Fix release target.
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.9.
-
-2004-06-11  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Work around automake limitation (cannot have
-       instal-data-local target in a conditional).
-
-2004-06-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-ldapbis-dn-14.txt,
-       doc/specifications/draft-ietf-ldapbis-strprep-04.txt: Add.
-
-2004-06-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/stringprep.c: Cosmetic fix, sync with libc.
-
-2004-06-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-06-07  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Create libidn.jar link.
-
-2004-06-06  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-bakke-iscsi-stringprep-00.txt,
-       doc/specifications/draft-hoffman-stringprep-00.txt,
-       doc/specifications/draft-hoffman-stringprep-01.txt,
-       doc/specifications/draft-hoffman-stringprep-02.txt,
-       doc/specifications/draft-hoffman-stringprep-03.txt,
-       doc/specifications/draft-hoffman-stringprep-04.txt,
-       doc/specifications/draft-hoffman-stringprep-05.txt,
-       doc/specifications/draft-hoffman-stringprep-06.txt,
-       doc/specifications/draft-hoffman-stringprep-07.txt,
-       doc/specifications/draft-ietf-idn-nameprep-00.txt,
-       doc/specifications/draft-ietf-idn-nameprep-01.txt,
-       doc/specifications/draft-ietf-idn-nameprep-02.txt,
-       doc/specifications/draft-ietf-idn-nameprep-03.txt,
-       doc/specifications/draft-ietf-idn-nameprep-04.txt,
-       doc/specifications/draft-ietf-idn-nameprep-05.txt,
-       doc/specifications/draft-ietf-idn-nameprep-06.txt,
-       doc/specifications/draft-ietf-idn-nameprep-07.txt,
-       doc/specifications/draft-ietf-idn-nameprep-08.txt,
-       doc/specifications/draft-ietf-idn-nameprep-09.txt,
-       doc/specifications/draft-ietf-idn-nameprep-10.txt,
-       doc/specifications/draft-ietf-idn-nameprep-11.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-00.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-01.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-02.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-03.txt,
-       doc/specifications/draft-ietf-ldapbis-strprep-03.txt,
-       doc/specifications/draft-ietf-xmpp-core-18.txt,
-       doc/specifications/draft-ietf-xmpp-core-19.txt,
-       doc/specifications/draft-ietf-xmpp-core-20.txt,
-       doc/specifications/draft-ietf-xmpp-core-21.txt,
-       doc/specifications/draft-ietf-xmpp-core-22.txt,
-       doc/specifications/draft-ietf-xmpp-core-23.txt,
-       doc/specifications/draft-ietf-xmpp-core-24.txt,
-       doc/specifications/draft-zeilenga-ldapbis-strmatch-00.txt,
-       doc/specifications/draft-zeilenga-ldapbis-strmatch-01.txt: Add.
-
-2004-06-03  Simon Josefsson <simon@josefsson.org>
-
-       * java/.cvsignore: [no log message]
-
-2004-06-03  Simon Josefsson <simon@josefsson.org>
-
-       * java/misc/Makefile.am: Use versioned *.jar.
-
-2004-06-02  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Versionize *.jar filename.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am: Dist HTMLs.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/gendocs_template: Add JavaDoc links.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Copy javadoc files.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/.cvsignore: [no log message]
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/.cvsignore: [no log message]
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/java/Makefile.am: Fix.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Add javadoc.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Distribute libidn.jar, suggested by Oliver Hitz.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ac_prog_javadoc.m4: Add.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am, doc/java/Makefile.am: Add java/.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Build doc/java/Makefile.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Find javadoc.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.8.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * java/misc/Makefile.am: Don't use GNU make specific 'override',
-       from Oliver Hitz.
-
-2004-06-01  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/Makefile.am, java/misc/Makefile.am: Dist
-       *.java, suggested by Oliver Hitz.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * README: Fix.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.7.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Markup fix.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: (Java API): Fix.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Markup fixes.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am, java/README.UNICODE, java/README.html: Remove
-       (moved to doc/libidn.texi).
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: (Introduction): Mention Java port.  (Downloading and Installing):
-       Mention --enable-java.  (Java API): Add, taken from java/README.html
-       and java/README.UNICODE by Oliver Hitz.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Revert, I don't want to require gcj for CVS
-       builds.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Dist libidn.jar (this seem to be the norm among
-       Java libraries?).
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/.cvsignore, java/misc/.cvsignore: [no log
-       message]
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am: Build more.
-
-2004-05-31  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac, java/Makefile.am, java/README.UNICODE,
-       java/README.html, java/gnu/inet/encoding/CombiningClass.java,
-       java/gnu/inet/encoding/Composition.java,
-       java/gnu/inet/encoding/DecompositionKeys.java,
-       java/gnu/inet/encoding/DecompositionMappings.java,
-       java/gnu/inet/encoding/IDNA.java,
-       java/gnu/inet/encoding/IDNAException.java,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/NFKC.java,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java,
-       java/gnu/inet/encoding/RFC3454.java,
-       java/gnu/inet/encoding/Stringprep.java,
-       java/gnu/inet/encoding/StringprepException.java,
-       java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
-       java/misc/Makefile.am, java/misc/TestIDNA.java,
-       java/misc/TestNFKC.java: Improve JAVA port, from Oliver Hitz
-       <oliver@net-track.ch>.
-
-2004-05-26  Simon Josefsson <simon@josefsson.org>
-
-       * contrib/web/idn.php: Fixes.
-
-2004-05-25  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Fix.
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.6.
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-05-24  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am: (include_HEADERS): Install idn-free.h, reported by Daniel Stenberg
-       <daniel-curl@haxx.se>.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/pr-29.html: Update.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.5.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.am: Bump copyright years on man pages.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Bump so version.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * doc/reference/Makefile.am: (HIGNORE): Add idn-free.h.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/stringprep.c: (stringprep): Move declaration of temporary variable to start of
-       scope.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: (idna_to_unicode_4z4z): There was no double free, remove my
-       modification.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: (idna_to_ascii_4i, idna_to_unicode_4z4z): Fix memory leak when
-       memory allocation fails.  From Ulrich Drepper <drepper@redhat.com>,
-       but modified to fix double free and incorrect 'if' condition.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/stringprep.c: (stringprep): Fix memory leak when memory allocation fails.  From
-       Ulrich Drepper <drepper@redhat.com>.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: Doc fix.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: Back port of (some) changes by Ulrich Drepper
-       <drepper@redhat.com>.  (idna_to_unicode_internal): Fix memory leaks when memory allocation
-       fails.  Deallocate utf8in on failure.  (idna_to_unicode_44i): Don't free, done in idna_to_unicode_internal.  (idna_to_ascii_4z): Fix memory leak when memory allocation fails.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-05-21  Simon Josefsson <simon@josefsson.org>
-
-       * lib/Makefile.am, lib/idn-free.c, lib/idn-free.h: Add idn_free,
-       suggested by "Gisle Vanem" <gvanem@broadpark.no>.
-
-2004-04-30  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-04-30  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: (idna_to_ascii_lz): Doc fix, reported by Joe Orton
-       <jorton@redhat.com>.
-
-2004-04-30  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_nfkc.c: Add NFKC test vectors from pr-29.html.  Fix
-       debug output.
-
-2004-04-30  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/pr-29.html: Add.
-
-2004-04-30  Simon Josefsson <simon@josefsson.org>
-
-       * tests/utils.c: Fix ucs4print debugging output.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/specifications/draft-ietf-sasl-saslprep-09.txt: Add.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_stringprep.c: Update SASLPrep test vectors.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.4.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/ro.po,
-       po/sr.po, po/sv.po: Generated.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * tests/Makefile.am: Use -no-install to avoid libtool wrapper
-       script, tiny patch from Joe Orton <jorton@redhat.com>.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/stringprep-profiles: Update.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/specifications/rfc3722.txt: Add.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_stringprep.c: Add iSCSI test vectors to catch recent
-       bugs.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * lib/profiles.c: (stringprep_iscsi_prohibit): For start==0, use end!=1.
-
-2004-04-29  Simon Josefsson <simon@josefsson.org>
-
-       * lib/profiles.c: (stringprep_iscsi): Add C_1_1, C_2_1, and C_7 (after reading newly
-       published RFC 3722).
-
-2004-04-24  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-04-24  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/ro.po: Add, by Laurentiu Buzdugan <lbuz@rolix.org>
-       via translation project.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Rename variable to avoid silly shadowing warnings.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/.cvsignore: [no log message]
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/Makefile.am: Move utils.c and utils.h into a separate
-       library.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/.cvsignore: [no log message]
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/Makefile.am, tests/tst_idna.c, tests/tst_idna2.c,
-       tests/tst_nfkc.c, tests/tst_punycode.c, tests/tst_stringprep.c,
-       tests/tst_tld.c, tests/utils.c, tests/utils.h: Split out common
-       stuff into utils.c and utils.h.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_nfkc.c: Fix warnings.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Require modern autoconf.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: Indent.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/de.po, po/fr.po, po/nl.po, po/pl.po, po/sr.po,
-       po/sv.po: Generated.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.3.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * lib/tld.h: (Tld_table): Mark "name" and "version" as const.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_stringprep.c: Add SASLprep test vectors (would catch the
-       C.2.1 bug).
-
-2004-04-22  Simon Josefsson <simon@josefsson.org>
-
-       * lib/stringprep.c: (stringprep_find_character_in_table): Fix end-of-table test, to
-       handle valid uses of start=0 (as in table C.2.1).
-
-2004-04-21  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS: Update PGP key.
-
-2004-04-18  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-04-18  Simon Josefsson <simon@josefsson.org>
-
-       * libidn.pc.in: Drop -R lib flag, suggested by Martin Waitz
-       <tali@debian.org>.
-
-2004-04-15  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-costello-rfc3492bis-02.txt: Add.
-
-2004-04-15  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/rfc3743.txt: Add.
-
-2004-04-14  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-hoffman-rfc3454bis-02.txt,
-       doc/specifications/draft-hoffman-rfc3490bis-02.txt,
-       doc/specifications/draft-hoffman-rfc3491bis-01.txt: Add.
-
-2004-04-12  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-sasl-saslprep-08.txt: Add.
-
-2004-04-11  Simon Josefsson <simon@josefsson.org>
-
-       * README-alpha: Fix versions.
-
-2004-04-09  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-04-09  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/nl.po: Add, from Elros Cyriatan
-       <cyriatan@fastmail.fm> via Translation Project.
-
-2004-04-05  Simon Josefsson <simon@josefsson.org>
-
-       * contrib/idn-python/idn.c: Use new API, tiny patch from "Gisle
-       Vanem" <giva@bgnett.no>.
-
-2004-03-28  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-03-28  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/de.po: Add German translation, from Roland Illig
-       <roland.illig@gmx.de> via translation project.
-
-2004-03-23  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-sasl-saslprep-07.txt: Add.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * doc/Makefile.gdoci: Use TAB instead of \t, suggested by Jørgen
-       Thomsen <jth@jth.net>.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * po/da.po, po/fr.po, po/pl.po, po/sr.po, po/sv.po: Generated.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.2.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * configure.ac: Inform about Java.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * libc/getaddrinfo-idn.txt: Update.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, libc/Banner, libc/Makefile, libc/README,
-       libc/Versions, libc/configure, libc/getaddrinfo.c, libc/idn-stub.c,
-       libc/libc.patch, libc/libidn.texi, libc/netdb.h: Remove most of libc
-       stuff (has been integrated in libc CVS).
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * README, java/Makefile.am: Fix.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * COPYING: Add.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, doc/libidn.texi: Fix.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * AUTHORS, THANKS: Add.
-
-2004-03-20  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * java/Makefile.am, java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/Punycode.java,
-       java/gnu/inet/encoding/PunycodeException.java: Fix.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * m4/ac_prog_jar.m4, m4/ac_prog_javac.m4, m4/ac_prog_javac_works.m4: 
-       Add, from GNU Autoconf Macro Archive.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/.cvsignore: [no log message]
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/PunycodeException.java: Add, from Oliver
-       Hitz <oliver@net-track.ch>.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * java/gnu/inet/encoding/Makefile.am: (noinst_JAVA): Only include Punycode*.java for now.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, configure.ac, java/Makefile.am,
-       java/gnu/Makefile.am, java/gnu/inet/Makefile.am,
-       java/gnu/inet/encoding/Makefile.am,
-       java/gnu/inet/encoding/Punycode.java: Add infrastructure for Java
-       code, and add Punycode, from Oliver Hitz <oliver@net-track.ch>.
-
-2004-03-19  Simon Josefsson <simon@josefsson.org>
-
-       * java/.cvsignore, java/gnu/.cvsignore, java/gnu/inet/.cvsignore,
-       java/gnu/inet/encoding/.cvsignore, m4/.cvsignore: [no log message]
-
-2004-03-16  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-16  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Add.
-
-2004-03-16  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/da.po: Add, from Morten Bo Johansen
-       <mojo@mbjnet.dk> via Translation Project.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/pl.po: Update.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/.cvsignore: [no log message]
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS: Add.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Fix.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS, doc/libidn.texi: Ack Unicode, Inc.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/Makefile.am: Dist COPYING.UCD.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/COPYING.UCD: Add.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/fr.po: Add, from Michel Robitaille
-       <robitail@IRO.UMontreal.CA> via Translation Project.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-03-14  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/sr.po: Add, from Aleksandar Jelenak
-       <jelenak@netlinkplus.net> via Translation Project.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/tld/no.tld: Add URLs.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/tld/Makefile.am: Add no.tld.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/tld/no.tld: Add, from Thomas Jacob <jacob@internet24.de>.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Fix.
-
-2004-03-13  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi, src/idn.ggo: Add.
-
-2004-03-10  Simon Josefsson <simon@josefsson.org>
-
-       * THANKS: Fix.
-
-2004-03-10  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-03-10  Simon Josefsson <simon@josefsson.org>
-
-       * po/LINGUAS, po/pl.po: Add Polish translation, from Jakub Bogusz
-       <qboosh@pld-linux.org>.
-
-2004-03-10  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-ietf-sasl-saslprep-06.txt: Add.
-
-2004-03-09  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Build lib/ before po/.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, configure.ac: Bump versions.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * ChangeLog: [no log message]
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Generated.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Version 0.4.1.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * tests/tst_tld.c: Fix warning.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Generated.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/Makefile.am: (idn_LDADD): Add LTLIBINTL.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Generated.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Cosmetic fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Translation markup.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/.cvsignore: [no log message]
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/.cvsignore: [no log message]
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Gettextiscate.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/sv.po: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * .cvsignore, m4/.cvsignore, po/.cvsignore: [no log message]
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/Makefile.am, src/gettext.h: Add gettext.h.  Define LOCALEDIR
-       (for gettext).
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * po/Makevars: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * .cvsignore, m4/.cvsignore, po/.cvsignore: [no log message]
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * config.rpath, m4/lib-ld.m4, m4/lib-prefix.m4: Remove, added by
-       gettextize.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am, configure.ac, po/LINGUAS, po/POTFILES.in: 
-       Gettextiscate.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * doc/libidn.texi: Fix IDNA_DLOPEN_ERROR.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: (stringprep_convert): Don't copy input.  Check for malloc failures.
-       From Ulrich Drepper <drepper@redhat.com>, via libidn integration in
-       libc.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * src/idn.c: Invoke setlocale (LC_ALL, "").
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/toutf8.c: (stringprep_locale_charset_slow): Remove.  (stringprep_locale_charset) [_LIBC]: Define to nl_langinfo(CODESET).  (stringprep_locale_charset) [!_LIBC]: Don't cache charset.  Remove
-       broken setlocale hack.  All based on discussion with Ulrich Drepper
-       <drepper@redhat.com>, during libidn integration in libc.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.c: (Idna_rc): Doc fix IDNA_DLOPEN_ERROR.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Fix.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS, THANKS: Add.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/nfkc.c: Fix warning, tiny patch by Ulrich Drepper
-       <drepper@redhat.com> from libidn integration in libc.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/idna.h: (Idna_rc): Add IDNA_DLOPEN_ERROR error code, for libidn part of
-       libc.
-
-2004-03-08  Simon Josefsson <simon@josefsson.org>
-
-       * lib/stringprep.h.in: (Stringprep_profiles): Mark 'name' as 'const'.  Tiny patch to libidn
-       in libc by Ulrich Drepper <drepper@redhat.com>.
-
-2004-03-07  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2004-03-07  Simon Josefsson <simon@josefsson.org>
-
-       * Makefile.am: Dist libc/idn-stub.c and libc/libidn.texi.
+       Add.
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+2006-09-27  Simon Josefsson  <simon@josefsson.org>
 
-       * libc/libc.patch: Update, from libc-alpha post.
+       Bump versions.
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/idn-stub.c, libc/libidn.texi: Add, from libc-alpha post.
+2006-09-25  Simon Josefsson  <simon@josefsson.org>
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * libc/Makefile: Sync libc-alpha post.
+2006-09-21  Simon Josefsson  <simon@josefsson.org>
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * libc/README, libc/example.c: Update.
+2006-09-14  Simon Josefsson  <simon@josefsson.org>
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * libc/getaddrinfo.c, libc/netdb.h: Sync.
+2006-09-13  Simon Josefsson  <simon@josefsson.org>
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/stringprep.c: Fix comment.
+       Version 0.6.7.
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Sync with TP.
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * README-alpha: Fix version requirements.
+2006-09-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-03-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * README-alpha: Fix texinfo requirement.
+       Add.
 
-2004-03-05  Simon Josefsson <simon@josefsson.org>
+       For C99 stdint.h platforms, create a dummy idn-int.h that include stdint.h, reported by Paul Howarth <paul@city-fan.org>.
 
-       * NEWS: Add.
+       Bump versions.
 
-2004-03-05  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/profiles.c: (stringprep_saslprep): Fix typo; make sure non-ASCII space
-       characters are prohibited.
+       Move the index to the end.
 
-2004-03-01  Simon Josefsson <simon@josefsson.org>
+       Fix refs.
 
-       * doc/libidn.texi, doc/tld/README: Mention tldchk.berlios.de,
-       suggested by Thomas Jacob <jacob@internet24.de>.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+2006-09-04  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Don't install tld.h if --disable-tld.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS, configure.ac: Bump versions.
+       Add lgpl and gpl from gnulib.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+2006-08-30  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/specifications/draft-ietf-sasl-anon-01.txt,
-       doc/specifications/draft-ietf-sasl-anon-02.txt,
-       doc/specifications/draft-ietf-sasl-anon-03.txt,
-       doc/specifications/draft-ietf-sasl-saslprep-05.txt: Add.
+       Use gnupload from gnulib.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * ChangeLog: [no log message]
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+2006-08-28  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.4.0.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+2006-08-23  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/toutf8.c: Always include errno.h (C89).
+       *** empty log message ***
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * lib/tld.c, src/idn.c: Indent.
+       Version 0.6.6.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * README: Mention TLD.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gen-tld-tables.pl: Handle draft-hoffman-idn-reg-*.txt tables
-       better.
+2006-08-19  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/tld/fr.tld: Add headers.  Fix typos and comments.
+2006-08-09  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/tld/fr.tld: Add copying conditions.
+       Add.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/tld/fr.tld: Add, from Stephane Bortzmeyer <bortzmeyer@nic.fr>.
+2006-07-14  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Don't document Tld_table* for now.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+2006-07-11  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/tld.c: (_tld_checkchar): Use new Tld_table API.
+       Update.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Fix texi2dvi -I's.
 
-       * lib/tld.h: (Tld_table): Change valid definition.
+2006-07-10  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/gen-tld-tables.pl: Use new API.
+2006-07-07  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/libidn.texi: Fix.
+       Use gnulib stdint module instead of AX_CREATE_STDINT_H.
 
-2004-02-28  Simon Josefsson <simon@josefsson.org>
+       Bump version.
 
-       * doc/libidn.texi: Improve Troubleshooting.
+       Fix gendocs.sh run.
 
-2004-02-27  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/tld.c: Cosmetic fix.
+       Generated.
 
-2004-02-27  Simon Josefsson <simon@josefsson.org>
+       Version 0.6.5.
 
-       * lib/tld.c: (tld_check_4): Don't write to NULL errpos, from Thomas Jacob
-       <jacob@internet24.de>.
+       Update.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gen-tld-tables.pl: Typo.
+       Add.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Update to doxygen 1.4.7.
 
-       * lib/gen-tld-tables.pl: Use hex in output.
+       Add.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Need libintl too, for gettext, reported by Kirill Ponomarew <krion@voodoo.bawue.com>.
 
-       * lib/gen-tld-tables.pl: Add comment.
+       Update.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/gen-tld-tables.pl: Parse tables conforming to
-       draft-hoffman-idn-reg.
+       *** empty log message ***
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/specifications/draft-hoffman-idn-reg-00.txt,
-       doc/specifications/draft-hoffman-idn-reg-01.txt,
-       doc/specifications/draft-hoffman-idn-reg-02.txt: Add.
+       Version 0.6.4.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+       Fix valgrind test.
 
-       * doc/libidn.texi: Fix typos.
+       Check if running valgrind works.
 
-2004-02-18  Simon Josefsson <simon@josefsson.org>
+2006-07-06  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Fix autoconf stuff, suggested by Stephane
-       Bortzmeyer <bortzmeyer@nic.fr>.
+       Need -I for texi2dvi too.
 
-2004-02-15  Simon Josefsson <simon@josefsson.org>
+       Fix paths.
 
-       * NEWS: Fix.
+       Add.
 
-2004-02-13  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.c: Doc fix.
+       Fix.
 
-2004-02-13  Simon Josefsson <simon@josefsson.org>
+       Simplify valgrind usage.
 
-       * NEWS: Fix.
+       Check for valgrind.
 
-2004-02-12  Simon Josefsson <simon@josefsson.org>
+2006-06-27  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/tld.c: Fix.  Indent.
+       Use GNU-style warnings.
 
-2004-02-12  Simon Josefsson <simon@josefsson.org>
+       Fix man output, sync.
 
-       * lib/tld.c: (tld_get_z): Allocate correct amount, from Thomas Jacob
-       <jacob@internet24.de>.
+2006-06-22  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Use AC_LIBTOOL_WIN32_DLL.
 
-       * examples/README: Fix title.
+2006-06-16  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * examples/README: Add.
+2006-06-10  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Add.
+2006-06-09  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * examples/example5.c: Fix warning.
+2006-06-07  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * src/idn.c: Fix TLD debug.
+       Update.
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * src/idn.c: TLD check correct string.
+2006-06-01  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.c: Fix warning.
+       When printing size_t, use %lu and cast the value to unsigned long, based on report from Joe Orton <jorton@redhat.com>.
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * examples/Makefile.am: TLD fix.
+       Add.
 
-2004-02-10  Simon Josefsson <simon@josefsson.org>
+       Include config.h, to make NLS work, tiny patch from Joe Orton <jorton@redhat.com>.
 
-       * lib/gen-tld-tables.pl: Fix include, from Thomas Jacob
-       <jacob@internet24.de>.
+2006-05-16  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/stringprep.c: Mention example5.
+2006-05-05  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/stringprep.c: Sync libidn text.
+2006-05-04  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/reference/libidn-docs.tmpl: Sync text.
+       Run tests under valgrind, if present.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+2006-04-26  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Fix introduction.
+       Typo.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.c, tests/tst_tld.c: Typo.
+2006-04-17  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: TLD fixes.
+2006-03-14  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Fix title.
 
-       * doc/libidn.texi: Add.
+2006-03-11  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Add example 5.
+       fix
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.c: (_tld_checkchar): Binary search, from jacob@internet24.de.
+2006-03-10  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Remove.
+2006-03-08  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/tld.c, lib/tld.h: Indent.
+       *** empty log message ***
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * lib/tld.c: Whitespace.
+       Generated.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Version 0.6.3.
 
-       * lib/tld.h: Doc fix.
+       Add.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/gen-tld-tables.pl, lib/tld.c, lib/tld.h: Hide tld_tables.
+       Update.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS, doc/libidn.texi, lib/tld.c, lib/tld.h: (tld_get_z): Support any charset (renamed from tld_get_8z).
+2006-03-07  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS, lib/tld.c, lib/tld.h: Typo.
+2006-03-03  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * lib/tld.h: Typo.
+       Fix update-po rule.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS, doc/libidn.texi: Add.
+       Update.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * lib/tld.c, lib/tld.h: (tld_get_8z): Add.
+       Stylistic fix.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * examples/.cvsignore: [no log message]
+       Remove indent.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+2006-02-17  Simon Josefsson  <simon@josefsson.org>
 
-       * examples/Makefile.am, examples/example5.c: Add.
+       Add.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+2006-02-16  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/idna.c: Doc fix.
+       Fix.
 
-2004-02-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/gen-tld-tables.pl: Fix.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix. Add mingw32 target.
 
-       * doc/libidn.texi: Fix.
+2006-02-15  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/libidn.texi: Add.
+2006-02-14  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Rename.
 
-       * doc/libidn.texi: Add.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/profiles.c, lib/tld.h, src/idn.c, tests/tst_tld.c: Indent.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * src/Makefile.am: Fix indent.
+       Remove.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/tld/README: Add.
+2006-02-11  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update gnulib.
 
-       * doc/tld/README: Fix.
+2006-02-07  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       0.6.2.
 
-       * doc/tld/README: Rewrite.
+       *** empty log message ***
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix includes, for make dist.
 
-       * lib/gen-tld-tables.pl: Fix "include".
+       Fix -I's again, for make dist.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix @verbatiminclude's, for make dist.
 
-       * NEWS: Add.
+       Fix -I's, for make dist.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add -I for examples.
 
-       * NEWS: Fix.
+       Fix years.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/libidn.texi, lib/tld.c, lib/tld.h, src/idn.c, tests/tst_tld.c: 
-       Rename TLD_ILLEGAL to TLD_INVALID.
+       Version 0.6.2.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi, lib/tld.c, lib/tld.h: Rename TLD_ILLEGAL to
-       TLD_INVALID.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/libidn.texi: Fix.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-02-05  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Add.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-02-03  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Update idn command line.
+       Fix objdir != srcdir, tiny patch from Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/idn.ggo: Move around.
+       Fix objdir != srcdir, tiny patch from Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-01-27  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.ggo: Fix stringprep profiles.
+       Sync with TP.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * src/idn.c: TLD typo.
+       Fix 'make distcheck'.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-01-26  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.ggo: Make --tld the default.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-01-24  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.c: Support --tld.  Make sure output is hold in "p".  Fix
-       error messages.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2006-01-20  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.ggo: TLD fix.
+       0.6.1.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Fix.
+       Version 0.6.1.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Fix.
+       Sync with TP.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * THANKS: Add.
+       Fix mingw32 builds.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix make check on mingw32.
 
-       * doc/libidn.texi: Typos.
+2006-01-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix.
+2006-01-11  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.h: Doc fix.
+       Fix copyright years.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Add.
+       Update PGP key.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix path to csharpcomp.sh.
 
-       * lib/tld.c: Typo.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/libidn.texi: Add.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.c, lib/tld.h: Doc fix.
+2006-01-09  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * tests/tst_tld.c: Use new API.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Print USC4 code point numbers too.
 
-       * lib/tld.c, lib/tld.h: (tld_default_table): Add.  (tld_get_table): Fix.
+2005-12-23  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.h: Typo.
+2005-12-22  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.c, lib/tld.h: Typo.
+2005-12-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.c, lib/tld.h: Revert.
+2005-12-03  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       0.6.0.
 
-       * lib/tld.c, lib/tld.h: Change semantics if tld_get_table.
+       Bump version.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/gen-tld-tables.pl, lib/tld.c, lib/tld.h: Typo.
+       Generated.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Version 0.6.0.
 
-       * lib/tld.c: Typos.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tests/tst_tld.c: Use new API.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Csharp test is in gnulib now, remove it.
 
-       * lib/tld.c: Rename tld_check_*.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-12-02  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/tld.h: Rename tld_check_*.  Doc fix.
+       Sync with TP.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add C# notes.
 
-       * lib/tld.c, lib/tld.h: Rename tld_gettld_* to tld_get_*.
+       Fix message.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Use csharpcomp-script from gnulib.
 
-       * lib/tld.c: Use new API.  (tld_get_table): Rewrite.
+       Don't specify any C# compile flags (fixes distcheck).
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * lib/gen-tld-tables.pl: Use new API.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Dist MSVS stuff.
 
-       * lib/tld.h: Fix Tld_table.
+       Add MSVSC project files.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.c: Reorder.
+       Use GPL for the port.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tests/tst_tld.c: Use new API.
+       *** empty log message ***
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix csharpcomp location.
 
-       * lib/tld.c, lib/tld.h: Don't export tld_checkchar.  Rename
-       tld_finddomain to tld_get_table.  Fixes.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tests/tst_tld.c: Fix.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix message.
 
-       * lib/profiles.c, lib/punycode.c, lib/stringprep.c, lib/tld.c,
-       lib/tld.h: Indent.
+2005-12-01  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Fix acks.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add C# tests.
 
-       * doc/libidn.texi: Add.
+       Remove.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * AUTHORS: Add.
+       Add 2005.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/reference/libidn-docs.tmpl: Update.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Use gnulib, for csharpcomp.
 
-       * doc/reference/.cvsignore: [no log message]
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       C# fixes.
 
-       * NEWS: Add.
+       Add C# port, from Alexander Gnauck <gnauck@ag-software.de>.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Bump version.
 
-       * doc/components.fig: Add TLD.
+2005-11-04  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Fix.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Use -no-undefined for libtool, for cygwin, tiny patch from "Yaakov S (Cygwin Ports)" <yselkowitz@users.sourceforge.net>.
 
-       * doc/libidn.texi: Fix.
+2005-10-26  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Update introduction.  Add TLD.  Fix autoconf
-       example.  Remove Kerberos 5 macro documentation.
+2005-10-24  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/stringprep.c: Doc fix.
+       (pr29_8z): Fix memory leak.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-10-23  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/tld.h: Fix.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/reference/Makefile.am, doc/reference/libidn-docs.tmpl: Add
-       TLD.
+       Generated.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Mention Suse on IBM OpenPower.
 
-       * configure.ac: Bump versions.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Version 0.5.20.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * lib/Makefile.am, tests/Makefile.am: Make it possible to exclude
-       TLD.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Add --disable-tld.
+       Install pr29.h.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-10-22  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Build doc/tld/Makefile.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-10-07  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/tld/.cvsignore, tests/.cvsignore: [no log message]
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-10-01  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/Makefile.am: Add tst_tld.
+       Add.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-09-22  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.ggo: Add --tld.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-09-20  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/tst_tld.c: Add.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-09-19  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/gen-tld-tables.pl, lib/tld.h: Fix Tld_table.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/tld.c: TLD code fix.
+       Use gnupload.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       0.5.19.
 
-       * lib/.cvsignore: [no log message]
+       *** empty log message ***
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.c: TLD fixes.
+       Version 0.5.19.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/tld.h: TLD typos.
+       Update.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Use --no-location, to minimize CVS diff's.
 
-       * lib/Makefile.am: TLD fix.
+       *** empty log message ***
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+2005-09-15  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/tld.c: Add, from Thomas Jacob <jacob@internet24.de>.
+       Add (to fix gtk-doc makefile bug).
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix dependency.
 
-       * lib/tld.h: Fixes.
+2005-09-13  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/tld.h: Add, from Thomas Jacob <jacob@internet24.de>.
+       Sync with TP.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Fix wget usage.
 
-       * lib/gen-tld-tables.pl: TLD fixes.
+       Sync with TP.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * lib/gen-tld-tables.pl: Print to stdout.
+2005-09-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/Makefile.am: TLD fixes.
+       Fix dependencies.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/Makefile.am: Add tld/.
+       Fix.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/tld/Makefile.am: Fix.
+       Call gjdoc directly.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Replace javadoc with gjdoc.
 
-       * doc/tld/README: Add copying conditions.
+       Dist files generated by gjdoc instead.
 
-2004-02-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/tld/Makefile.am, doc/tld/README, lib/Makefile.am,
-       lib/gen-tld-tables.pl: Add, from Thomas Jacob <jacob@internet24.de>.
+       Add.
 
-2004-02-04  Simon Josefsson <simon@josefsson.org>
+2005-09-10  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Typo.
+       Use HAVE_LOCALE_H.
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/components.fig: Fix.
+       Update.
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix.
+       Fix header/setlocale checks.
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Check for locale.h.
 
-       * doc/components.fig: Add.
+       Fix setlocale test.
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Check for setlocale.
 
-       * doc/.cvsignore: [no log message]
+2005-09-09  Simon Josefsson  <simon@josefsson.org>
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/Makefile.am: Build components.pdf too.
+       Use modern nl_langinfo test.
 
-2004-02-01  Simon Josefsson <simon@josefsson.org>
+       Simplify nl_langinfo test.
 
-       * doc/Makefile.am, doc/libidn.texi: Add components.fig.
+       Fix #include's.
 
-2004-01-31  Simon Josefsson <simon@josefsson.org>
+       Let's assume unistd.h and errno.h (in fact, we already did in the source code and nobody complained).
 
-       * THANKS: Add.
+       Update PGP key.
 
-2004-01-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix, reported by nisse@lysator.liu.se (Niels
-       Möller).
+       Update gnulib.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+2005-07-16  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Bump versions.
+       Fix typo.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * Makefile.am: Fix release target.
+       Add.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/gendocs.sh: Upstream sync.
+       Generated.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.18.
 
-       * ChangeLog: [no log message]
+       Add.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Link to help-libidn.
 
-       * NEWS: Version 0.3.7.
+       Add.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * Makefile.am: Add release target.
+       Simplify.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+2005-07-15  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvsignore: [no log message]
+       *** empty log message ***
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+2005-06-24  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvscopying, autogen.sh: Fix.
+       Add.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Use 'sed 1q' instead of 'head -n 1', more portable.
 
-       * .prev-version, GNUmakefile, Makefile.am, Makefile.cfg,
-       Makefile.maint, announce-gen: Remove ugly maintainance hacks.
+       Add 2005 to man page copyrights.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Fix head usage (really!!).
 
-       * src/idn.c: Typo.
+       Fix license.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * src/idn.c: Update copyright years.
+       Add.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Fix use of head.
 
-       * NEWS: Add.
+       New upstream release.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+2005-06-15  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS: Add.
+       Sync with TP.
 
-2004-01-22  Simon Josefsson <simon@josefsson.org>
+       Fix address in license.
 
-       * doc/libidn.texi, src/idn.ggo: Mention '--'.
+2005-06-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-21  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/specifications/stringprep-profiles: Add.
+       fix
 
-2004-01-21  Simon Josefsson <simon@josefsson.org>
+       Turn 'head -1' into 'head -n -1', tiny patch from Carsten Lohrke <current@myrealbox.com>.
 
-       * contrib/web/idn.php, doc/libidn.texi, src/idn.ggo,
-       tests/tst_stringprep.c: Fix iSCSI profile name.
+2005-06-05  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-21  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/profiles.c: Add alias 'iSCSI'.
+2005-05-26  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-18  Simon Josefsson <simon@josefsson.org>
+       0.5.17.
 
-       * doc/fdl.texi, doc/libidn.texi: Use FDL 1.2.
+       *** empty log message ***
 
-2004-01-18  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * src/idn.c: Fix warning.
+       Version 0.5.17.
 
-2004-01-14  Simon Josefsson <simon@josefsson.org>
+       Fix sectioning.
 
-       * configure.ac: Don't use AC_LIBTOOL_TAGS, too experimental.
+       Fix.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Sync with gnulib.
 
-       * doc/Makefile.am: Fix idn.1 depends.
+       Update FSF address in license.  Fix copyrights.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/Makefile.am: Dist texinfo.css.
+2005-05-18  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gendocs_template: Sync with texinfo.
+2005-05-12  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/gendocs_template: Remove DocBook.
+2005-05-11  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+2005-05-08  Simon Josefsson  <simon@josefsson.org>
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * configure.ac, doc/Makefile.am: Remove DocBook stuff.
+       0.5.16.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+2005-05-06  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.am, doc/libidn.css, doc/texinfo.css: Rename
-       libidn.css to texinfo.css.
+       *** empty log message ***
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.16.
 
-       * doc/libidn.css: Fix.
+       Sync with TP.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.css: Fix.
+       Use 'const' for static data, tiny patch from Joe Orton <jorton@redhat.com>.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+2005-04-16  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.am: Use CSS for HTML.
+       Sync with TP.
 
-2004-01-10  Simon Josefsson <simon@josefsson.org>
+2005-04-15  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.css: Add.
+       Bump versions.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/getaddrinfo-idn.txt: Add.
+       Sync with TP.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+2005-04-06  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Bump versions.
+       Sync with TP.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+2005-03-19  Simon Josefsson  <simon@josefsson.org>
 
-       * .prev-version: .
+       *** empty log message ***
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * ChangeLog: [no log message]
+       Version 0.5.15.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS: Version 0.3.6.
+       Add.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Sync with libc; fix license and fix arithmetic overflow.
 
-       * NEWS: Add.
+       Fix license.
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/libidn.texi: Fix license header.
+       *** empty log message ***
 
-2004-01-06  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Add.
+       Version 0.5.14.
 
-2004-01-01  Simon Josefsson <simon@josefsson.org>
+       Ramblings.
 
-       * configure.ac, m4/ax_create_stdint_h.m4: Fix, to use ax_...
-       verbatim from upstream.
+       Sync with TP.
 
-2004-01-01  Simon Josefsson <simon@josefsson.org>
+2005-03-12  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/ac_compile_check_sizeof.m4: Remove (not used by ax_... any
-       more).
+       Add.
 
-2004-01-01  Simon Josefsson <simon@josefsson.org>
+2005-03-01  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/ax_create_stdint_h.m4: Apply local fixes.
+       Add.
 
-2004-01-01  Simon Josefsson <simon@josefsson.org>
+2005-02-27  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/ax_create_stdint_h.m4: Sync with upstream version 1.4.
+       Include the specification first, to verify it is standalone. Doc fix.
 
-2003-12-30  Simon Josefsson <simon@josefsson.org>
+2005-02-24  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Add.
 
-2003-12-30  Simon Josefsson <simon@josefsson.org>
+2005-02-16  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Allow autoconf 2.57.
+       Add.
 
-2003-12-18  Simon Josefsson <simon@josefsson.org>
+       Reorder chronologically.
 
-       * doc/libidn.texi: Encode file in ASCII.
+2005-02-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-12-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Replace non-ASCII with Texinfo accents.
+       Add.
 
-2003-12-16  Simon Josefsson <simon@josefsson.org>
+2005-02-11  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS, doc/libidn.texi: Add Troubleshooting discussion for idn
-       tool.  Suggested by "Jan-Hendrik Heuing" <jh@netfielders.de> and Kai
-       Schaetzl <kai@conactive.com>.
+       Add.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+2005-02-07  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Pass data on command line.  Update error
-       enum's.  Fix.
+       Sort (should be sorted chronologically..).
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * ANNOUNCE: Remove (see doc/libidn.texi instead).
+       Add.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+2005-01-30  Simon Josefsson  <simon@josefsson.org>
 
-       * README: Fix.
+       Fix last commit, reported by Linus Nordberg <linus@nordberg.se>.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Fix srcdir != objdir when bootstrapping from CVS, patch from Linus Nordberg <linus@nordberg.se> (tiny change).
 
-       * NEWS, configure.ac: Bump versions.
+       Fix.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Remove hack, fixed in gtk-doc CVS.
 
-       * .prev-version: .
+2005-01-29  Simon Josefsson  <simon@josefsson.org>
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       0.5.13.
 
-       * ChangeLog: [no log message]
+       *** empty log message ***
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Version 0.3.5.
+       Version 0.5.13.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/.cvsignore: [no log message]
+       Need dummy gnulib module again.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+2005-01-28  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Use @finalout.
+       Add.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Move iconvme to lib, since linking gnulib in lib doesn't work due to program_name symbol.
 
-       * NEWS: Add.
+       Update.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * doc/Makefile.am: Remove DocBook HTML targets (I'm tired of
-       updating the random filenames in the Makefile).
+2005-01-27  Simon Josefsson  <simon@josefsson.org>
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Set charset cookie.  Use @section instead of
-       @majorheading for DocBook.  Add real examples to idn section.
+       Add, reported by Simon Walter <simon@nethinks.com>.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+2005-01-20  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/gendocs.sh: Sync with Texinfo CVS.
+       Add.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+2005-01-18  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Sync with TP.
 
-2003-12-15  Simon Josefsson <simon@josefsson.org>
+       Remove.
 
-       * doc/Makefile.am: Update DocBook HTML target.
+       Define JAVAROOT unconditionally, because automake barf otherwise.
 
-2003-12-11  Simon Josefsson <simon@josefsson.org>
+2005-01-16  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, THANKS, doc/libidn.texi, lib/idna.c, lib/idna.h: Rename
-       IDNA_CONTAINS_LDH to IDNA_CONTAINS_NON_LDH.  Reported by Graydon
-       Hoare <graydon@redhat.com>.
+       Add.
 
-2003-12-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Check for autoconf 2.59 and automake 1.8.
+       Add.
 
-2003-12-09  Simon Josefsson <simon@josefsson.org>
+       Mention gettext requirement, suggested by Linus Nordberg <linus@nordberg.se>.
 
-       * README-alpha: Mention versions.
+2005-01-05  Simon Josefsson  <simon@josefsson.org>
 
-2003-12-04  Simon Josefsson <simon@josefsson.org>
+       Warn strongly about missing iconv.
 
-       * README: Fix.
+       Update.
 
-2003-12-03  Simon Josefsson <simon@josefsson.org>
+       No need to use dummy gnulib module, no system has iconvme.
 
-       * doc/specifications/draft-faltstrom-unicode-synchronisation-00.txt: 
        Add.
 
-2003-11-27  Simon Josefsson <simon@josefsson.org>
-
-       * NEWS: Add.
-
-2003-11-27  Simon Josefsson <simon@josefsson.org>
+       Link with gnulib (only LGPL files).
 
-       * configure.ac, src/Makefile.am, src/idn.ggo, src/idn.ggo.in: 
-       Simplify gengetopt building.  Use AM_CPPFLAGS, not *_CPPFLAGS.
+       Use iconv_string from gnulib.
 
-2003-11-27  Simon Josefsson <simon@josefsson.org>
+       Add iconvme from gnulib.
 
-       * src/idn.c: Print instructions.  Suggested by Kai Schaetzl
-       <kai@conactive.com>.
+2005-01-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Add copyright for year 2005.
 
-       * libc/getaddrinfo-idn.txt: Typo.
+       Add.
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS: Add.
+2005-01-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/libidn.texi: Update Invoking idn.
+       Bump versions.
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/idn.c, src/idn.ggo.in: Make -a the default.
+2004-12-04  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Update Invoking idn.
+       *** empty log message ***
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * THANKS: Add.
+       Version 0.5.12.
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/Makefile.am, src/idn.c: Support strings passed on command line
-       instead of on stdin.  Suggested by Kai Schaetzl <kai@conactive.com>.
+       Update.
 
-2003-11-26  Simon Josefsson <simon@josefsson.org>
+2004-12-01  Simon Josefsson  <simon@josefsson.org>
 
-       * libc/getaddrinfo-idn.txt: Add todo.
+       Doc fix, from Oliver Hitz <oliver@net-track.ch>.
 
-2003-11-25  Simon Josefsson <simon@josefsson.org>
+2004-11-30  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Disable fortran etc libtool checks.
+       Add.
 
-2003-11-23  Simon Josefsson <simon@josefsson.org>
+2004-11-29  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/gendocs.sh: Add --docbook.
+       More PR29.
 
-2003-11-23  Simon Josefsson <simon@josefsson.org>
+2004-11-23  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/gendocs.sh: Sync with texinfo.
+       Bump versions.
 
-2003-11-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/idn.c: Fix GREETING.
+2004-11-22  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gdoc: TeX improvements.  From Nikos Mavroyanopoulos
-       <nmav@gnutls.org>.
+       Fixed two bugs: allowUnassigned not respected properly, buggy prohibited code points check. Argument checks added. RFC3920 nodeprep and resourceprep added, suggested by Matt Tucker. Convenience methods with allowUnassigned set to false added. From Oliver Hitz <oliver@net-track.ch>.
 
-2003-11-11  Simon Josefsson <simon@josefsson.org>
+       Add table C.1.1 and C.2.1, from Oliver Hitz <oliver@net-track.ch>.
 
-       * doc/Makefile.am: Use AM_MAKEINFOHTMLFLAGS (with CVS automake)
-       instead of explicit libidn.html target.
+2004-11-21  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-10  Simon Josefsson <simon@josefsson.org>
+       Make sure all man pages follow 'foo -- purpose of foo' format, even if there is no purpose description available, from Shishi.
 
-       * doc/specifications/rfc2279.txt, doc/specifications/rfc3629.txt: 
        Add.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
-
-       * .cvsignore, doc/.cvsignore: [no log message]
+       *** empty log message ***
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/Makefile.am: Update DocBook HTML destinations.
+       Version 0.5.11.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
-
-       * doc/html/.cvsignore: Remove.
+       Add.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Add 'DO NOT MODIFY' warning to generated man pages.
 
-       * doc/Makefile.am: Remove unused ps_TEXINFOS and pdf_TEXINFOS.
+       Add.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * doc/Makefile.am: Remove example source code to texinfo conversion
-       (@verbatiminclude is used directly on the source code instead).
+       Add.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * doc/libidn.texi: Use @verbatiminclude for examples.
+       Doc fix.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       For man pages, don't use line breaking formatting codes ("\n.I foo\n") but rather inline commands ("\fIfoo\fP").
 
-       * examples/Makefile.am, src/Makefile.am, tests/Makefile.am: Use
-       *_CPPFLAGS instead of obsolete INCLUDES.
+       Doc fix.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Skip leading whitespace in function purpose. Print function purpose in man pages, if available.
 
-       * configure.ac: Replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
+       Add.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * configure.ac: Autoupdate suggested changes: quote AC_INIT
-       parameters, and replace AC_TRY_RUN with AC_RUN_IFELSE.
+2004-11-18  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * autogen.sh: Enable warnings.
+2004-11-17  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * m4/.cvsignore: [no log message]
+2004-11-16  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * src/Makefile.am: Use automake 1.7a idiom for elisp files.
+2004-11-09  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am, configure.ac, m4/Makefile.am: Remove m4/ as it is not
-       needed with automake 1.7a.
+       Update.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+2004-11-08  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Bump versions.
+       Fix.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.maint: Use proper -o directory for gendocs.sh.
+       Generated.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.10.
 
-       * .prev-version: .
+       No need for stringprep.h.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Cosmetic fix.
 
-       * ChangeLog: [no log message]
+       Typo.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * NEWS: Version 0.3.4.
+       Simplify EXTRA_DIST.
 
-2003-11-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/idna.c, lib/stringprep.c: Fix memory leak.
+       Use Libtool's -export-symbols-regex.
 
-2003-11-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Remove libtool bug workaround.
+       Cosmetic fix.
 
-2003-11-05  Simon Josefsson <simon@josefsson.org>
+       Add copyright header for me.
 
-       * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix.
+2004-11-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-05  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix date.
+       Fix.
 
-2003-11-05  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/draft-josefsson-idn-test-vectors.xml: Fix bad
-       UTF-8.
+       Update PGP key.
 
-2003-11-02  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/gendocs.sh: Mkdir HTML.
+       Add.
 
-2003-11-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/reference/Makefile.am: Cleanup.
+       Generated.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Fix release target.
 
-       * m4/Makefile.am: Dist gtk-doc.m4.
+       Version 0.5.9.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * AUTHORS: Update expiry date on PGP key.
+       *** empty log message ***
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Simplify.
 
-       * m4/.cvsignore: [no log message]
+       Fix SUBDIRS order, because GTK-DOC need components.png.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/reference/.cvsignore: [no log message]
+       Fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/reference/libidn-docs.sgml, doc/reference/libidn-docs.tmpl: 
-       Rename.
+       Update.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-28  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/reference/Makefile.am: Use my old cleaned up Makefile.
+       Support -include, from GnuTLS.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-27  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/reference/Makefile.am: Don't break on first 'make'.
+       Doc fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-25  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/reference/Makefile.am: Make 'dist' work.
+       Fix man output.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * reference/.cvsignore, reference/Makefile.am,
-       reference/libidn-docs.tmpl: Remove (replaced by doc/reference/).
+       Doc fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Use @code, not @var, for constants in texinfo output. Fix newlines in man output.
 
-       * doc/reference/libidn-docs.sgml: Add.
+       Use # instead of & for types.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Add image.
 
-       * doc/reference/.cvsignore: [no log message]
+       Run gtkdocize.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * doc/reference/Makefile.am: Add, based on GTK-DOC example
-       Makefile.am.
+       (update-po): Fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/Makefile.am: Add reference/.
+2004-10-24  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * Makefile.am: Remove GTK-DOC subdir reference/ (moved to doc/).
+       Fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       (DISTCHECK_CONFIGURE_FLAGS): Add --enable-gtk-doc.
 
-       * configure.ac: Build GTK-DOC Makefile in doc/reference instead of
-       reference/.
+       Align GTK-DOC build infrastructure with GTK-DOC official recommendations.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * configure.ac: Use GTK_DOC_CHECK macro for gtk-doc checks.
+       Sync with TP.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-16  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/gtk-doc.m4: Add.
+       Update.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-15  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Use GTK-DOC conditional.
+       Sync with TP.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-13  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.gdoci: Rebuild Makefile after rebuilding
-       Makefile.gdoc.
+       Update.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/Makefile.am: Set GDOC_MAN_EXTRA_ARGS.
+2004-10-12  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/Makefile.gdoci: Add GDOC_TEXI_EXTRA_ARGS, GDOC_MAN_EXTRA_ARGS.
+       Fix.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Improve readability.
 
-       * doc/Makefile.am: GDOC framework cleanup.
+       Bump versions.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/Makefile.gdoci: Create texinfo for whole sources files too.
+       Generated.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.8.
 
-       * doc/Makefile.gdoci: Add -man parameters (move to Makefile.am?).
+       Add.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Add coment to generated files to say that they are generated, reported by "Gisle Vanem" <giva@bgnett.no>.
 
-       * autogen.sh: Just touch doc/Makefile.gdoc.
+       Distribute BidiMirroring-3.2.0.txt, reported by "Gisle Vanem" <giva@bgnett.no>.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/Makefile.gdoci: Mark Makefile.gdoc as BUILT_SOURCES.
+       *** empty log message ***
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * autogen.sh: Bootstrap doc/Makefile.gdoc.
+       Version 0.5.7.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/Makefile.gdoci: (Makefile.gdoc): Depend on ../configure for bootstrapping.
+2004-10-11  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/.cvsignore: [no log message]
+       Sync with TP.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-05  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/.cvsignore: [no log message]
+       Update Gnulib.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+2004-10-04  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/man/.cvsignore, doc/man/Makefile.am: Remove.
+       Generated.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/Makefile.gdoci: Mkdir.
+2004-10-03  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Use EXIT_SUCCESS and EXIT_FAILURE.
 
-       * doc/Makefile.am: Update docbook HTMLs.
+2004-10-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Update PGP key.
 
-       * doc/libidn.texi: Use gdoc @include's.
+       *** empty log message ***
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/Makefile.am: Don't build in man/.  Build idn.1 man page here.
-       Move man page dist targets from man/.  Use Makefile.gdoci to
-       generate man pages and texinfo.
+       Version 0.5.6.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Use *strerror.
 
-       * doc/Makefile.gdoci: Add, initial version.
+       Fix indent.
 
-2003-11-01  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * configure.ac: Don't generate doc/man/Makefile.
+       Reorder.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Move unicode utility functions from stringprep to
-       own chapter.  Replace API documentation with @include'd GDOC
-       generated version.
+       Don't link with gnulib.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Revert, don't use strdup.
 
-       * doc/Makefile.am: Generate more API manuals with gdoc.  Replace
-       phony libidn-db.html with real targets.  Update libidn-db.html
-       files.
+       Simplify translation strings.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/.cvsignore, doc/html/.cvsignore: [no log message]
+       Fix.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * doc/gdoc: Don't use @code for @deftypefun function name.
+       Indent.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Use error.
 
-       * lib/punycode.c: (punycode_encode): Rename parameter to match punycode.h (and more
-       importantly, to make gdoc function properly).
+       Add error from gnulib (slightly modified to avoid unlocked-io.h).
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/nfkc.c: Doc fixes.
+       *** empty log message ***
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       (DEFS): Add LOCALEDIR.
 
-       * doc/gdoc: (dump_function): Handle parameters that look like 'char *foo[]'.
+       Setup gettext properly.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/Makefile.am: Fix rule expansions.
+       Fix.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add idna_strerror, pr29_strerror, punycode_strerror, stringprep_strerror, and tld_strerror, suggested by Daniel Stenberg <daniel@haxx.se>. Make idn.c use them. Rename TLD_NOTLD to TLD_NO_TLD.
 
-       * doc/Makefile.am: Dist gdoc and generated API texi's.  Generate API
-       doc.  Fix dependencies.
+2004-09-29  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * doc/gdoc: Sync from GSSLib.
+       Update.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Use new GNULib.
 
-       * README-alpha: Mention more tools.
+       Specify gl_LGPL for new gnulib-tool.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+2004-09-26  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Bump versions.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Use Lesser GNULib.
 
-       * Makefile.maint: Fix doc generating commands.
+2004-09-22  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gendocs.sh: Fix HTML dir move.
+2004-09-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gendocs.sh: Fix outdir rm.
+       *** empty log message ***
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Clean more.
 
-       * doc/gendocs.sh: Fix outdir rm.
+       Version 0.5.5.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/gendocs.sh: Don't remove $outdir (might contain CVS/).
+       *** empty log message ***
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       (POURL): Fix.
 
-       * doc/gendocs.sh, doc/gendocs_template: TAR fixes.  Add
-       DocBook/Doxygen/GTK-DOC.
+       Sync with TP.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/gendocs.sh, doc/gendocs_template: Add (taken from Texinfo
-       CVS).
+2004-09-05  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/.cvsignore, doc/html/.cvsignore: [no log message]
+       (g_utf8_skip): Hide variable, using "static".
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+2004-09-02  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.am: Add docbook targets.
+       Move. Fix ack.
 
-2003-10-31  Simon Josefsson <simon@josefsson.org>
+2004-08-25  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Look for docbook tools.
+       Add.
 
-2003-10-29  Simon Josefsson <simon@josefsson.org>
+2004-08-23  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Dist libc/getaddrinfo-idn.txt.
+       Update.
 
-2003-10-29  Simon Josefsson <simon@josefsson.org>
+2004-08-18  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Add AC_CONFIG_AUX_DIR(.) for broken CVS libtoolize.
+       Fix.
 
-2003-10-29  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/specifications/draft-ietf-sasl-saslprep-04.txt: Add.
+2004-08-17  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-28  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/draft-ietf-ldapbis-strprep-02.txt: Add.
+       Bump version.
 
-2003-10-28  Simon Josefsson <simon@josefsson.org>
+2004-08-10  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/specifications/draft-costello-rfc3492bis-01.txt: Add.
+       Shut up 'uno' by fixing array boundary.
 
-2003-10-24  Simon Josefsson <simon@josefsson.org>
+2004-08-08  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/specifications/draft-ietf-ips-iscsi-string-prep-06.txt: Add.
+       Fix.
 
-2003-10-24  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/IDNstatement.txt,
-       doc/specifications/draft-hoffman-rfc3490bis-01.txt: Add.
+       *** empty log message ***
 
-2003-10-24  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * THANKS: Fix.
+       Version 0.5.4.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+2004-08-06  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/idn-python/README: Add.
+       Sync with TP.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * contrib/README: Fix.
+       Fix.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/gen-stringprep-tables.pl: Add warning in comment.
+       (update-po): Add.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+       Sync with TP.
 
-       * libc/getaddrinfo-idn.txt: Character set fixes.
+       Bump version.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/getaddrinfo-idn.txt: Fix.
+       Update.
 
-2003-10-19  Simon Josefsson <simon@josefsson.org>
+2004-08-05  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Bump versions.
+       *** empty log message ***
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.3.
 
-       * lib/stringprep.c: Add comment.
+       Generated.
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Fix.
+       Add.
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Fix crash, tiny patch by Andreas Schwab reported by Stephan Kulow <coolo@suse.de>.
 
-       * .prev-version: .
+2004-08-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Use PR29_* error mnemonics, instead of hard coded integers.
 
-       * ChangeLog: [no log message]
+       Cosmetic fix.
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+2004-07-29  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.3.3.
+       Add.
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS: Add.
+2004-07-14  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS: Add.
+       Bump version.
 
-2003-10-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * src/Makefile.am: Revert to old elisp automake idiom.
+       Add.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Add.
+       Generated.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.2.
 
-       * lib/stringprep.h.in: (struct Stringprep_table, struct
-       Stringprep_profiles): Use 'const'.  (stringprep_4i, stringprep_4zi, stringprep, stringprep_profile):
-       Likewise.
+       Add.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: (stringprep_find_character_in_table): Mark parameter as 'const'.  (stringprep_find_string_in_table): Likewise.  (stringprep_apply_table_to_string): Likewise.  (stringprep_4i, stringprep_4zi_1, stringprep_4zi, stringprep):
-       Likewise.
+       Bump version.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/stringprep.c: (stringprep_profile): Fix warning.
+       Add.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       (install-jar): Make DESTDIR compatible, patch from Oliver Hitz <oliver@net-track.ch> based on report by Benjamin Reed <ranger@befunk.com>.
 
-       * tests/tst_idna.c, tests/tst_punycode.c: Fix warnings.
+2004-07-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * tests/tst_idna.c, tests/tst_idna2.c, tests/tst_nfkc.c,
-       tests/tst_punycode.c, tests/tst_stringprep.c: Indent.
+       Use setlocale, reported by Robert Scheck <libidn@robert-scheck.de>.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/stringprep.c: Remove stringprep_generic documentation.
+2004-07-09  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Remove stringprep_generic.
+       Mention pr29.h.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/gen-stringprep-tables.pl: Mark table elements as 'const'.
+       Generated.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Version 0.5.1.
 
-       * lib/stringprep.c: (stringprep_apply_table_to_string): Remove 'name' parameter.  (stringprep_4i): Likewise.
+       Use autobuild.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/profiles.c: (stringprep_profiles): Remove "generic".  Indent.
+       Call setlocale to make iconv work, reported by Robert Scheck <libidn@robert-scheck.de>.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+2004-07-02  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/stringprep.h.in: (struct Stringprep_table): Remove 'name'.  (stringprep_profiles, stringprep_rfc3454_A_1,stringprep_rfc3454_B_1) (stringprep_rfc3454_B_2, stringprep_rfc3454_B_3) (stringprep_rfc3454_C_1_1, stringprep_rfc3454_C_1_2) (stringprep_rfc3454_C_2_1, stringprep_rfc3454_C_2_2) (stringprep_rfc3454_C_3, stringprep_rfc3454_C_4) (stringprep_rfc3454_C_5, stringprep_rfc3454_C_6) (stringprep_rfc3454_C_7, stringprep_rfc3454_C_8) (stringprep_rfc3454_C_9, stringprep_rfc3454_D_1) (stringprep_rfc3454_D_2) (stringprep_nameprep) (stringprep_saslprep, stringprep_plain,stringprep_trace) (stringprep_kerberos5) (stringprep_xmpp_nodeprep, stringprep_xmpp_resourceprep) (stringprep_xmpp_nodeprep_prohibit) (stringprep_iscsi): Mark as 'const'.  (stringprep_generic, stringprep_generic): Remove.
+       Update getopt.
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/punycode.h, lib/stringprep.h.in, tests/tst_stringprep.c: 
-       Indent.
+       *** empty log message ***
 
-2003-10-17  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: Fix memory leak.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/gdoc: Fix #include for man pages.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Update getopt module.  Now work on, e.g., uClibc systems which uses GNU Libc header files, but do not implement getopt_long.
 
-       * doc/libidn.texi: Fix.
+2004-06-29  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Sync 'idn -h'.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-26  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Fix.
+       Bump versions.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gen-stringprep-tables.pl, lib/idna.c, lib/nfkc.c,
-       lib/profiles.c, lib/punycode.c, lib/stringprep.c, lib/toutf8.c,
-       lib/version.c, src/idn.c, tests/tst_idna.c, tests/tst_idna2.c,
-       tests/tst_nfkc.c, tests/tst_stringprep.c: Include cleanup.  We
-       assume C89, use <...> for headers we use, and use "..." for headers
-       we implement.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * doc/libidn.texi: Add.
+       Version 0.5.0.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * src/Makefile.am: Fix gengetopt building.
+       Fix.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * THANKS: Add.
+       (HTML_OBJECTS): Add libidn-pr29.html.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add PR29.
 
-       * src/idn.ggo.in: Use less negations for --quiet, reported by Oden
-       Eriksson <oden.eriksson@kvikkjokk.net>.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add doc.
 
-       * src/Makefile.am: Fix gengetopt built source files.  Use new
-       automake Emacs Lisp targets.
+       Don't use wildcards for GDOC_SRC.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * doc/libidn.texi: Use current version number in examples.
+       Use 'static'.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * configure.ac: Update so version.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add PR29 functions.
 
-       * NEWS: Add.
+2004-06-25  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/punycode.h: Include parameter names in prototypes, for
-       GTK-DOC.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-12  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/stringprep.c: Doc fix.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add Esperanto translation, from Edmund GRIMLEY EVANS <edmundo@rano.org>, via the translation project.
 
-       * doc/libidn.texi: Fix typo.
+2004-06-11  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * tests/tst_idna.c, tests/tst_punycode.c: Fix.
+       Fix release target.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/internal.h: Removed.
+       Generated.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.9.
 
-       * src/idn.c, tests/tst_nfkc.c, tests/tst_stringprep.c: Make
-       #include's explicit.
+       Work around automake limitation (cannot have instal-data-local target in a conditional).
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-09  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/tst_idna.c, tests/tst_idna2.c, tests/tst_punycode.c: Make
-       #include's explicit.  Fix warnings.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-08  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Remove internal.h.
+       Cosmetic fix, sync with libc.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-07  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/stringprep.c: Doc fix.
+       Fix.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Create libidn.jar link.
 
-       * lib/profiles.c, lib/stringprep.c, lib/toutf8.c, lib/version.c: 
-       Make #include's explicit.
+2004-06-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/nfkc.c: Make #include's explicit.
+2004-06-03  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/idna.c: Fix.
+       Use versioned *.jar.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-02  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/idna.c: Make #include's explicit.
+       Versionize *.jar filename.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+2004-06-01  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/punycode.h: Fix typo.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Dist HTMLs.
 
-       * lib/punycode.c: Sync with latest draft, but change return types to
-       'int' to be backwards compatible.
+       Add JavaDoc links.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Copy javadoc files.
 
-       * lib/punycode.h: Sync with latest draft, but change return types to
-       'int' to be backwards compatible.
+       Bump versions.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * configure.ac, lib/internal.h: Remove DMALLOC stuff.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: Fix warnings.
+       Add javadoc.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Distribute libidn.jar, suggested by Oliver Hitz.
 
-       * doc/libidn.texi: Typo.
+       Add.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add java/.
 
-       * tests/tst_stringprep.c: Simplify debug prints.
+       Build doc/java/Makefile.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Find javadoc.
 
-       * NEWS: Add.
+       *** empty log message ***
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * lib/idna.c: (idna_to_unicode_internal): Handle reallocating larger utf8in after
-       stringprep error STRINGPREP_TOO_SMALL_BUFFER.  (idna_to_unicode_44i): Let new logic in idna_to_unicode_internal()
-       replace BUFSIZ alloc.
+       Version 0.4.8.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/stringprep.c: (stringprep_profile): Loop around stringprep return
-       STRINGPREP_TOO_SMALL_BUFFER and increase buffer size.
+       Don't use GNU make specific 'override', from Oliver Hitz.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Dist *.java, suggested by Oliver Hitz.
 
-       * lib/stringprep.c: (stringprep): Check return value from stringprep_ucs4_to_utf8.
-       Don't use goto.
+2004-05-31  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: (stringprep): Loop around stringprep_4i error
-       STRINGPREP_TOO_SMALL_BUFFER and increase buffer size.  (stringprep_apply_table_to_string): Don't dereference possibly
-       unallocated memory just to do pointer arithmetic.
+       Bump versions.
 
-2003-10-16  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/nfkc.c: Check malloc return value.
+       Version 0.4.7.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * lib/nfkc.c: Check malloc return code.
+       Fix.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Markup fix.
 
-       * NEWS: Add.
+       (Java API): Fix.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Markup fixes.
 
-       * doc/libidn.texi: Doc fox.  Add stringprep_4i and stringprep_4zi.
+       Remove (moved to doc/libidn.texi).
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       (Introduction): Mention Java port. (Downloading and Installing): Mention --enable-java. (Java API): Add, taken from java/README.html and java/README.UNICODE by Oliver Hitz.
 
-       * lib/stringprep.c: Doc fix.
+       Revert, I don't want to require gcj for CVS builds.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Dist libidn.jar (this seem to be the norm among Java libraries?).
 
-       * doc/man/Makefile.am: Add stringprep_4i.3, stringprep_4zi.3.
+       Add.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/stringprep.c: Doc fix.
+       Build more.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Improve JAVA port, from Oliver Hitz <oliver@net-track.ch>.
 
-       * lib/stringprep.h.in: (stringprep_4i, stringprep_4zi): Add.
+2004-05-26  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * lib/stringprep.c: (stringprep1): Don't zero terminate.  Rename to stringprep_4i and
-       export it.  (stringprep_4zi_1): Add.  Calls stringprep_4i, then zero terminate.  (stringprep_4zi): Add.  New API.  (stringprep): Use stringprep_4zi_1.
+2004-05-25  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: Fix typo.
+       Bump versions.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+2004-05-24  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/stringprep.c: (stringprep): Split core part into stringprep1.  (stringprep1): New, simplified version of core part.
+       *** empty log message ***
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.6.
 
-       * NEWS: Fix.
+       Generated.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * contrib/web/idn.php: Remove generic.  Add trace.
+       (include_HEADERS): Install idn-free.h, reported by Daniel Stenberg <daniel-curl@haxx.se>.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+2004-05-21  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.c: Print UCS-4 instead of UTF-8 in debug output for
-       --stringprep.
+       Bump versions.
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * NEWS: Add.
+       *** empty log message ***
 
-2003-10-15  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.5.
 
-       * src/idn.c: Fix UCS-4 output in --stringprep.  Print debug output
-       even with --idna-to-ascii.  Fix error message.
+       Generated.
 
-2003-10-12  Simon Josefsson <simon@josefsson.org>
+       Bump copyright years on man pages.
 
-       * libc/getaddrinfo-idn.txt: Clarify alternative approaches.
+       Bump so version.
 
-2003-10-11  Simon Josefsson <simon@josefsson.org>
+       (HIGNORE): Add idn-free.h.
 
-       * libc/getaddrinfo-idn.txt: Fix.
+       (stringprep): Move declaration of temporary variable to start of scope.
 
-2003-10-11  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/getaddrinfo-idn.txt: Add.
+       (idna_to_unicode_4z4z): There was no double free, remove my modification.
 
-2003-10-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Revert typo.
+       (idna_to_ascii_4i, idna_to_unicode_4z4z): Fix memory leak when memory allocation fails.  From Ulrich Drepper <drepper@redhat.com>, but modified to fix double free and incorrect 'if' condition.
 
-2003-10-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Fix so version comment (matches libtool manual).
+       (stringprep): Fix memory leak when memory allocation fails.  From Ulrich Drepper <drepper@redhat.com>.
 
-2003-10-09  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * FAQ: Fix.
+       Back port of (some) changes by Ulrich Drepper <drepper@redhat.com>. (idna_to_unicode_internal): Fix memory leaks when memory allocation fails.  Deallocate utf8in on failure. (idna_to_unicode_44i): Don't free, done in idna_to_unicode_internal. (idna_to_ascii_4z): Fix memory leak when memory allocation fails.
 
-2003-10-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Add idn_free, suggested by "Gisle Vanem" <gvanem@broadpark.no>.
 
-2003-10-09  Simon Josefsson <simon@josefsson.org>
+2004-04-30  Simon Josefsson  <simon@josefsson.org>
 
-       * src/idn.ggo.in: Remove 'generic' (should not be exposed).  Add
-       'trace'.
+       Fix.
 
-2003-10-09  Simon Josefsson <simon@josefsson.org>
+       (idna_to_ascii_lz): Doc fix, reported by Joe Orton <jorton@redhat.com>.
 
-       * doc/specifications/draft-hoffman-rfc3454bis-01.txt: Add.
+       Add NFKC test vectors from pr-29.html. Fix debug output.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS, configure.ac: Bump versions.
+       Fix ucs4print debugging output.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+2004-04-29  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.maint: Fix doxygen generation.
+       Add.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Update SASLPrep test vectors.
 
-       * .prev-version: .
+       Bump versions.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * ChangeLog: [no log message]
+       Version 0.4.4.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * NEWS: Version 0.3.2.
+       Add.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.maint: Remove --rsyncable for now, Debian (stable) gzip
-       do not support it.
+       Use -no-install to avoid libtool wrapper script, tiny patch from Joe Orton <jorton@redhat.com>.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * GNUmakefile: TAR_OPTION crashes tar in Debian, comment out for
-       now.
+       Update.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Add iSCSI test vectors to catch recent bugs.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+       (stringprep_iscsi_prohibit): For start==0, use end!=1.
 
-       * lib/nfkc.c: Doc fix.
+       (stringprep_iscsi): Add C_1_1, C_2_1, and C_7 (after reading newly published RFC 3722).
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
+2004-04-24  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/Makefile.am, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: 
        Add.
 
-2003-10-07  Simon Josefsson <simon@josefsson.org>
-
-       * doc/specifications/draft-hoffman-rfc3490bis-00.txt,
-       doc/specifications/draft-hoffman-rfc3491bis-00.txt: Add.
-
-2003-10-06  Simon Josefsson <simon@josefsson.org>
+       Add, by Laurentiu Buzdugan <lbuz@rolix.org> via translation project.
 
-       * doc/specifications/draft-costello-rfc3492bis-00.txt,
-       doc/specifications/draft-hoffman-rfc3454bis-00.txt: Add.
+2004-04-23  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-06  Simon Josefsson <simon@josefsson.org>
+       Rename variable to avoid silly shadowing warnings.
 
-       * lib/stringprep.c, lib/stringprep.h.in: (stringprep_profile): Mark 'in' as 'const'.
+       *** empty log message ***
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Move utils.c and utils.h into a separate library.
 
-       * lib/profiles.c: Fix comment.
+       *** empty log message ***
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Split out common stuff into utils.c and utils.h.
 
-       * doc/libidn.texi: Fix.
+       Fix warnings.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+2004-04-22  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       Require modern autoconf.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/profiles.c, lib/stringprep.h.in: Add trace profile (SASL
-       ANONYMOS).
+       Indent.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS, configure.ac: Bump versions.
+       Generated.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.3.
 
-       * doc/libidn.texi: Cosmetic fixes.
+       Add.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.maint: Fix.
+       (Tld_table): Mark "name" and "version" as const.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .prev-version: .
+       Add SASLprep test vectors (would catch the C.2.1 bug).
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       (stringprep_find_character_in_table): Fix end-of-table test, to handle valid uses of start=0 (as in table C.2.1).
 
-       * announce-gen: Perl 5.8.1 fix.
+2004-04-21  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Update PGP key.
 
-       * ChangeLog: [no log message]
+2004-04-18  Simon Josefsson  <simon@josefsson.org>
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Version 0.3.1.
+       Drop -R lib flag, suggested by Martin Waitz <tali@debian.org>.
 
-2003-10-02  Simon Josefsson <simon@josefsson.org>
+2004-04-16  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/gen-unicode-tables.pl, lib/nfkc.c: Fix NFKC, from Noah Levitt
-       <nlevitt@columbia.edu> via bugzilla.gnome.org bug 123421.
+       Add.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-04-15  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Fix.
+       Add.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-04-14  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Add.
+       Add.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-04-12  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add.
+       Add.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-04-11  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/tst_idna2.c: Indent.
+       Fix versions.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-04-09  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Fix.
+       Add.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+       Add, from Elros Cyriatan <cyriatan@fastmail.fm> via Translation Project.
 
-       * Makefile.am: Fix indent target.
+2004-04-05  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+       Use new API, tiny patch from "Gisle Vanem" <giva@bgnett.no>.
 
-       * src/Makefile.am, tests/Makefile.am: Add indent rule.
+2004-03-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/idna.c, lib/nfkc.c, lib/punycode.h: Indent.
+       Add German translation, from Roland Illig <roland.illig@gmx.de> via translation project.
 
-2003-09-28  Simon Josefsson <simon@josefsson.org>
+2004-03-23  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/Makefile.am: Fix.  Add indent target.
+       Add.
 
-2003-09-26  Simon Josefsson <simon@josefsson.org>
+2004-03-20  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/nfkc.c: Fix Hangul patch.
+       Add.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Use TAB instead of \t, suggested by Jørgen Thomsen <jth@jth.net>.
 
-       * tests/tst_idna2.c: Fix typo.
+       Bump versions.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Add.
+       Generated.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.2.
 
-       * doc/specifications/BidiMirroring-3.2.0.txt, lib/Makefile.am,
-       lib/gen-unicode-tables.pl, lib/nfkc.c: Sync with GLIB for Unicode
-       stuff.
+       Inform about Java.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * lib/punycode.h: Fix typo.
+       Remove most of libc stuff (has been integrated in libc CVS).
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tests/tst_idna2.c: Update test vectors.
+       Add.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * src/idn.c: Fix debug messages.
+       Add.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Add.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/idna.c: (DOTP): New.  (idna_to_unicode_4z4z): Use it.  (idna_to_ascii_4z): Use it. Make root label handling explicit.
+2004-03-19  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Add, from GNU Autoconf Macro Archive.
 
-       * THANKS: Add.
+       *** empty log message ***
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Add, from Oliver Hitz <oliver@net-track.ch>.
 
-       * lib/nfkc.c: (decompose_hangul, combine_hangul): New.  (combine, _g_utf8_normalize_wc): Use them.  Adds support for
-       algorithmic composition of Hangul Syllables, adapted from a patch
-       written by Noah Levitt <nlevitt@columbia.edu> for GLIB, discussed in
-       <http://bugzilla.gnome.org/show_bug.cgi?id=100456> and available
-       from <http://bugzilla.gnome.org/showattachment.cgi?attach_id=18915>.
+       (noinst_JAVA): Only include Punycode*.java for now.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Add infrastructure for Java code, and add Punycode, from Oliver Hitz <oliver@net-track.ch>.
 
-       * tests/tst_idna2.c: Fix.
+       *** empty log message ***
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+2004-03-16  Simon Josefsson  <simon@josefsson.org>
 
-       * tests/Makefile.am, tests/tst_idna2.c: Add.
+       Add.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tests/.cvsignore: [no log message]
+       Add, from Morten Bo Johansen <mojo@mbjnet.dk> via Translation Project.
 
-2003-09-25  Simon Josefsson <simon@josefsson.org>
+2004-03-14  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/idna.c: (idna_to_ascii_4z): Output "" instead of "." on input "".  (Some
-       religions claim "" should fail though.)
+       Update.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS: Add.
+       Add.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * doc/libidn.texi: Doc fix.
+       Ack Unicode, Inc.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Dist COPYING.UCD.
 
-       * src/punycode.el: (punycode-shutdown): New.
+       Add.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/idna.el: (idna-to-ascii-parameters, idna-to-unicode-parameters): Add
-       --usestd3asciirules.  (idna-shutdown): New.
+       Add, from Michel Robitaille <robitail@IRO.UMontreal.CA> via Translation Project.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS, configure.ac: Bump versions.
+       Add.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add, from Aleksandar Jelenak <jelenak@netlinkplus.net> via Translation Project.
 
-       * Makefile.maint: Fix.
+2004-03-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add URLs.
 
-       * Makefile.maint: Fix.
+       Add.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add no.tld.
 
-       * .prev-version: .
+       Add, from Thomas Jacob <jacob@internet24.de>.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ChangeLog: [no log message]
+       Add.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+2004-03-10  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.3.0.
+       Fix.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/README: Fix.
+       Add Polish translation, from Jakub Bogusz <qboosh@pld-linux.org>.
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/specifications/draft-ietf-sasl-saslprep-03.txt: Add.
+2004-03-09  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-23  Simon Josefsson <simon@josefsson.org>
+       Build lib/ before po/.
 
-       * libc/Makefile, libc/README: Fix.
+       Bump versions.
 
-2003-09-22  Simon Josefsson <simon@josefsson.org>
+2004-03-08  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Add.
+       *** empty log message ***
 
-2003-09-22  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * lib/profiles.c: (stringprep_saslprep): Prohibit inappropriate for canonical
-       representation characters.
+       Version 0.4.1.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Fix warning.
 
-       * Makefile.am: Dist libc/Banner.
+       Fix.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Generated.
 
-       * libc/README: Create idna.h without dependency on idn-int.h.
+       (idn_LDADD): Add LTLIBINTL.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tests/tst_stringprep.c: Fix memory leak.
+       Generated.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * src/idn.c: Fix memory leaks.
+       Cosmetic fix.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/idn.c: Fix greeting message.
+       Translation markup.
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * libc/README: Copy Banner.
+       *** empty log message ***
 
-2003-09-14  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * libc/Banner: Add.
+       Gettextiscate.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/README: Fix.
+       *** empty log message ***
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add gettext.h. Define LOCALEDIR (for gettext).
 
-       * lib/punycode.c: Cast.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * lib/internal.h: Fix.
+       Remove, added by gettextize.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Gettextiscate.
 
-       * lib/internal.h: Simplify #include mess.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * configure.ac: Remove cruft.
+       Fix IDNA_DLOPEN_ERROR.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (stringprep_convert): Don't copy input.  Check for malloc failures. From Ulrich Drepper <drepper@redhat.com>, via libidn integration in libc.
 
-       * libc/README: Fix.
+       Invoke setlocale (LC_ALL, "").
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/Makefile.am: Remove dummy.c.
+       (stringprep_locale_charset_slow): Remove. (stringprep_locale_charset) [_LIBC]: Define to nl_langinfo(CODESET). (stringprep_locale_charset) [!_LIBC]: Don't cache charset.  Remove broken setlocale hack.  All based on discussion with Ulrich Drepper <drepper@redhat.com>, during libidn integration in libc.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (Idna_rc): Doc fix IDNA_DLOPEN_ERROR.
 
-       * lib/stringprep.c: Doc fix.
+       Fix.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi, lib/punycode.c, lib/stringprep.c: Doc fix.
+       Fix warning, tiny patch by Ulrich Drepper <drepper@redhat.com> from libidn integration in libc.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (Idna_rc): Add IDNA_DLOPEN_ERROR error code, for libidn part of libc.
 
-       * lib/idna.c: Doc fix.
+       (Stringprep_profiles): Mark 'name' as 'const'.  Tiny patch to libidn in libc by Ulrich Drepper <drepper@redhat.com>.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/idna.c: Doc fix.
+       Dist libc/idn-stub.c and libc/libidn.texi.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Update, from libc-alpha post.
 
-       * lib/punycode.c, lib/stringprep.c: Doc fix.
+       Add, from libc-alpha post.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Sync libc-alpha post.
 
-       * lib/punycode.c: Doc fix.
+       Update.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Sync.
 
-       * lib/punycode.h: Fix RFC compatibility.
+2004-03-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix comment.
 
-       * lib/punycode.h: Typedef Punycode_status.  Use 'int' instead of
-       'enum' for return codes.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix version requirements.
 
-       * lib/punycode.c: Use 'int' instead of 'enum' for return code.
+       Fix texinfo requirement.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-03-05  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Bump versions.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (stringprep_saslprep): Fix typo; make sure non-ASCII space characters are prohibited.
 
-       * lib/profiles.c, lib/stringprep.h.in: Rename stringprep_generic_*
-       to stringprep_rfc3454_*.
+2004-03-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Mention tldchk.berlios.de, suggested by Thomas Jacob <jacob@internet24.de>.
 
-       * lib/.cvsignore: [no log message]
+2004-02-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Don't install tld.h if --disable-tld.
 
-       * lib/Makefile.am: Rename stringprep_generic.c to rfc3454.c.  Add to
-       BUILT_SOURCES.
+       Bump versions.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/gen-stringprep-tables.pl: Write to rfc3454.c.  Rename
-       variables to stringprep_rfc3454_* from stringprep_generic_*.
+       *** empty log message ***
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Version 0.4.0.
 
-       * reference/dummy.c: Remove, merged into ../lib/*.c.
+       Always include errno.h (C89).
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * lib/punycode.c: Doc fix.
+       Mention TLD.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Handle draft-hoffman-idn-reg-*.txt tables better.
 
-       * lib/idna.c: Fix.
+       Add headers. Fix typos and comments.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add copying conditions.
 
-       * doc/man/Makefile.am: Fix update-api.
+       Add, from Stephane Bortzmeyer <bortzmeyer@nic.fr>.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Don't document Tld_table* for now.
 
-       * lib/idna.c, lib/stringprep.c: Doc fix.
+       (_tld_checkchar): Use new Tld_table API.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (Tld_table): Change valid definition.
 
-       * lib/stringprep.h.in: Indent.
+       Use new API.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/stringprep.c: Use 'int' instead of 'enum's.
+       Improve Troubleshooting.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-02-27  Simon Josefsson  <simon@josefsson.org>
 
-       * lib/stringprep.h.in: Typedef Stringprep_rc,
-       Stringprep_profile_flags, and Stringprep_profile_steps.  Use 'int'
-       instead of 'enum's (i.e., revert 0.2.3 changes).
+       Cosmetic fix.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (tld_check_4): Don't write to NULL errpos, from Thomas Jacob <jacob@internet24.de>.
 
-       * NEWS: Add.
+2004-02-18  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * lib/Makefile.am, lib/obsolete.c: Remove obsolete.c.
+       Use hex in output.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add comment.
 
-       * lib/Makefile.am, lib/idna.h, lib/stringprep_generic.h,
-       lib/stringprep_iscsi.h, lib/stringprep_kerberos5.h,
-       lib/stringprep_nameprep.h, lib/stringprep_plain.h,
-       lib/stringprep_xmpp.h: Remove obsolete headers.
+       Parse tables conforming to draft-hoffman-idn-reg.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/idna.c, lib/obsolete.c: Use int instead of enum's.
+       Fix typos.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix autoconf stuff, suggested by Stephane Bortzmeyer <bortzmeyer@nic.fr>.
 
-       * lib/idna.h: Typedef Idna_rc and Idna_flags.  Use int instead of
-       enum's.
+2004-02-15  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * reference/Makefile.am: Fix path to sources.  Fix HIGNORE.
+2004-02-14  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * libc/README: Workaround -I problem.
+       Fix.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-02-12  Simon Josefsson  <simon@josefsson.org>
 
-       * libc/libc.patch: Against glibc 2.3.2.
+       Fix. Indent.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (tld_get_z): Allocate correct amount, from Thomas Jacob <jacob@internet24.de>.
 
-       * NEWS: Add.
+2004-02-11  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix title.
 
-       * m4/Makefile.am, m4/memset.m4, m4/onceonly_2_57.m4, m4/strdup.m4: 
-       Remove unused m4's.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-02-10  Simon Josefsson  <simon@josefsson.org>
 
-       * src/getopt.c, src/getopt.h, src/getopt1.c: Add (from gl/).
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix warning.
 
-       * lib/idna.c, lib/toutf8.c: Don't use strdup.
+       Fix TLD debug.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       TLD check correct string.
 
-       * Makefile.am, gl/.cvsignore, gl/Makefile.am, gl/getopt.c,
-       gl/getopt.h, gl/getopt1.c, gl/m4/.cvsignore, gl/m4/Makefile.am,
-       gl/m4/memset.m4, gl/m4/onceonly_2_57.m4, gl/m4/strdup.m4,
-       gl/memset.c, gl/strdup.c, src/Makefile.am: Remove gl/.
+       Fix warning.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       TLD fix.
 
-       * tests/Makefile.am: Fix.
+       Fix include, from Thomas Jacob <jacob@internet24.de>.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-02-09  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Remove checks for memset and strdup; we assume C89,
-       so memset exists, and we no longer use strdup.  Remove gl/.
+       Mention example5.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Sync libidn text.
 
-       * doc/libidn.texi: Ported to Mac OS X / Darwin.
+       Sync text.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix introduction.
 
-       * gl/.cvsignore: [no log message]
+       Typo.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       TLD fixes.
 
-       * gl/Makefile.am: Use libtool.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add example 5.
 
-       * examples/Makefile.am, src/Makefile.am, tests/Makefile.am: Make
-       LDADD libtool friendly.
+       (_tld_checkchar): Binary search, from jacob@internet24.de.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Remove.
 
-       * NEWS: Add.
+       Indent.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Whitespace.
 
-       * NEWS, configure.ac, doc/Makefile.am, doc/gdoc,
-       doc/man/.cvsignore, doc/man/Makefile.am: Build man pages.
+       Doc fix.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Hide tld_tables.
 
-       * doc/specifications/idna-ace-prefix.txt, idna-ace-prefix.txt: Move.
+       (tld_get_z): Support any charset (renamed from tld_get_8z).
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * libc/README: Fix.
+       Typo.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+2004-02-08  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       (tld_get_8z): Add.
 
-       * libc/Versions: Typo.
+       *** empty log message ***
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * lib/internal.h: [_LIBC]: Define ICONV_CONST.
+       Doc fix.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * libc/getaddrinfo.c: Use modern API.
+2004-02-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * libc/Versions: Export modern API.
+       Add.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/README: Update.
+       Indent.
 
-2003-09-12  Simon Josefsson <simon@josefsson.org>
+       Fix indent.
 
-       * libc/getaddrinfo.c: GLIBC 2.3.2 sync.
+2004-02-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-09-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libc/getaddrinfo.c, libc/libc.patch: Revert.
+       Fix.
 
-2003-08-26  Simon Josefsson <simon@josefsson.org>
+       Rewrite.
 
-       * AUTHORS: Update key.
+       Fix "include".
 
-2003-08-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * examples/Makefile.am, examples/README: Add examples/README.
+       Fix.
 
-2003-08-26  Simon Josefsson <simon@josefsson.org>
+       Rename TLD_ILLEGAL to TLD_INVALID.
 
-       * contrib/web/idn.php: Fixes.
+       Rename TLD_ILLEGAL to TLD_INVALID.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * Makefile.am: Fix cvs2cl parameters.
+       Add.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Update idn command line.
 
-       * Makefile.am, gl/Makefile.am, lib/Makefile.am: Use $() instead of
-       @@.
+       Move around.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Fix stringprep profiles.
 
-       * Makefile.maint: Do some tests that work.
+       TLD typo.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Make --tld the default.
 
-       * Makefile.cfg: Fix URL.
+       Support --tld. Make sure output is hold in "p". Fix error messages.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       TLD fix.
 
-       * NEWS, configure.ac: Bump versions.
+       Fix.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * Makefile.am: Fix cvs2cl parameters.
+       Add.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Typos.
 
-       * Makefile.maint: Ignore errors on www update.
+       Fix.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * contrib/doxygen/Doxyfile.in: Update paths.
+       Add.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * .prev-version: .
+       Add.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * announce-gen: Revert.
+       Use new API.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       (tld_default_table): Add. (tld_get_table): Fix.
 
-       * Makefile.maint: Fix.
+       Typo.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * ChangeLog: [no log message]
+       Revert.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Change semantics if tld_get_table.
 
-       * NEWS: Version 0.2.3.
+       Typo.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Typos.
 
-       * .cvsignore: [no log message]
+       Use new API.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Rename tld_check_*.
 
-       * .cvscopying: Add tabs, for Makefile.maint check.
+       Rename tld_check_*. Doc fix.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Rename tld_gettld_* to tld_get_*.
 
-       * Makefile.am: Replace release target with Makefile.maint etc.
+       Use new API. (tld_get_table): Rewrite.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Use new API.
 
-       * .prev-version, GNUmakefile, Makefile.cfg, Makefile.maint,
-       announce-gen: Add.
+       Fix Tld_table.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Reorder.
 
-       * examples/example3.c: Doc fix.
+       Use new API.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Don't export tld_checkchar. Rename tld_finddomain to tld_get_table. Fixes.
 
-       * NEWS, THANKS: Add.
+       Fix.
 
-2003-08-25  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * examples/example4.c: Really call ToUnicode instead of ToASCII.
-       Reported by Trond Haugen <trond.haugen@uninett.no>.
+       Fix acks.
 
-2003-08-21  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Add port.
+       Add.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * gl/Makefile.am: Dist getopt.h.
+       *** empty log message ***
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * src/Makefile.am: Link with gl stuff.
+       Add TLD.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * lib/toutf8.c: Fix warning message.
+       Fix.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Update introduction. Add TLD. Fix autoconf example. Remove Kerberos 5 macro documentation.
 
-       * configure.ac: Group portability stuff together.
+       Doc fix.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * src/Makefile.am, tests/Makefile.am: Fix -I paths.
+       Add TLD.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * lib/Makefile.am: Distcheck fixes.
+       Add.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Make it possible to exclude TLD.
 
-       * examples/Makefile.am: Fix paths.
+       Add --disable-tld.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Build doc/tld/Makefile.
 
-       * reference/Makefile.am: Fix paths (for distcheck).
+       *** empty log message ***
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Add tst_tld.
 
-       * Makefile.am: Fix directory build order, for gtk-doc.
+       Add --tld.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/Makefile.am: Update paths to source code.
+       Fix Tld_table.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       TLD code fix.
 
-       * lib/Makefile.am, lib/idna.c, lib/obsolete.c: Move obsolete
-       functions into separate file.
+       *** empty log message ***
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       TLD fixes.
 
-       * lib/Makefile.am: Fixes.
+       TLD typos.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       TLD fix.
 
-       * Makefile.am: Build doc after src, for help2man on idn.
+       Add, from Thomas Jacob <jacob@internet24.de>.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * .cvsignore: [no log message]
+       Add, from Thomas Jacob <jacob@internet24.de>.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       TLD fixes.
 
-       * lib/Makefile.am: Add EXTRA_DISTs.
+       Print to stdout.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       TLD fixes.
 
-       * Makefile.am: Add gl, lib, src, tests and examples to SUBDIRS.  Add
-       gl/m4 to ACLOCAL_AMFLAGS.  Remove rules that are moved into lib/,
-       src/, tests/ and examples/.
+       Add tld/.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * configure.ac: Split up files into sub-directories.
+       Add copying conditions.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Add, from Thomas Jacob <jacob@internet24.de>.
 
-       * gdoc: Move gdoc to doc/.
+2004-02-04  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * doc/specifications/.cvsignore, gl/.cvsignore, gl/m4/.cvsignore,
-       lib/.cvsignore, src/.cvsignore, tests/.cvsignore: [no log message]
+2004-02-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * examples/.cvsignore, lib/.cvsignore: [no log message]
+       Fix.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * CaseFolding-3.2.0.txt, CompositionExclusions-3.2.0.txt,
-       LineBreak-3.2.0.txt, SpecialCasing-3.2.0.txt,
-       UnicodeData-3.2.0.txt, doc/Makefile.am, doc/gdoc,
-       doc/specifications/CaseFolding-3.2.0.txt,
-       doc/specifications/CompositionExclusions-3.2.0.txt,
-       doc/specifications/LineBreak-3.2.0.txt,
-       doc/specifications/Makefile.am,
-       doc/specifications/SpecialCasing-3.2.0.txt,
-       doc/specifications/UnicodeData-3.2.0.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-04.txt,
-       doc/specifications/draft-ietf-ips-iscsi-string-prep-05.txt,
-       doc/specifications/draft-ietf-krb-wg-utf8-profile-01.txt,
-       doc/specifications/draft-ietf-ldapbis-dn-11.txt,
-       doc/specifications/draft-ietf-ldapbis-strprep-00.txt,
-       doc/specifications/draft-ietf-ldapbis-strprep-01.txt,
-       doc/specifications/draft-ietf-sasl-anon-00.txt,
-       doc/specifications/draft-ietf-sasl-saslprep-00.txt,
-       doc/specifications/draft-ietf-sasl-saslprep-01.txt,
-       doc/specifications/draft-ietf-sasl-saslprep-02.txt,
-       doc/specifications/draft-ietf-xmpp-nodeprep-01.txt,
-       doc/specifications/draft-ietf-xmpp-nodeprep-02.txt,
-       doc/specifications/draft-ietf-xmpp-nodeprep-03.txt,
-       doc/specifications/draft-ietf-xmpp-resourceprep-01.txt,
-       doc/specifications/draft-ietf-xmpp-resourceprep-02.txt,
-       doc/specifications/draft-ietf-xmpp-resourceprep-03.txt,
-       doc/specifications/draft-josefsson-idn-test-vectors-00.txt,
-       doc/specifications/draft-josefsson-idn-test-vectors.xml,
-       doc/specifications/draft-zeilenga-ldapbis-strmatch-02.txt,
-       doc/specifications/draft-zeilenga-ldapbis-strprep-00.txt,
-       doc/specifications/rfc3454.txt, doc/specifications/rfc3490.txt,
-       doc/specifications/rfc3491.txt, doc/specifications/rfc3492.txt,
-       draft-ietf-ips-iscsi-string-prep-04.txt,
-       draft-ietf-ips-iscsi-string-prep-05.txt,
-       draft-ietf-krb-wg-utf8-profile-01.txt,
-       draft-ietf-ldapbis-dn-11.txt, draft-ietf-ldapbis-strprep-00.txt,
-       draft-ietf-ldapbis-strprep-01.txt, draft-ietf-sasl-anon-00.txt,
-       draft-ietf-sasl-saslprep-00.txt, draft-ietf-sasl-saslprep-01.txt,
-       draft-ietf-sasl-saslprep-02.txt, draft-ietf-xmpp-nodeprep-01.txt,
-       draft-ietf-xmpp-nodeprep-02.txt, draft-ietf-xmpp-nodeprep-03.txt,
-       draft-ietf-xmpp-resourceprep-01.txt,
-       draft-ietf-xmpp-resourceprep-02.txt,
-       draft-ietf-xmpp-resourceprep-03.txt,
-       draft-josefsson-idn-test-vectors-00.txt,
-       draft-josefsson-idn-test-vectors.xml,
-       draft-zeilenga-ldapbis-strmatch-02.txt,
-       draft-zeilenga-ldapbis-strprep-00.txt, rfc3454.txt, rfc3490.txt,
-       rfc3491.txt, rfc3492.txt: Move documentation and specifications into
-       doc/ and doc/specifications/.
+       *** empty log message ***
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Build components.pdf too.
 
-       * getopt.c, getopt.h, getopt1.c, gl/Makefile.am, gl/getopt.c,
-       gl/getopt.h, gl/getopt1.c, gl/m4/Makefile.am, gl/m4/memset.m4,
-       gl/m4/onceonly_2_57.m4, gl/m4/strdup.m4, gl/memset.c, gl/strdup.c,
-       memset.c, strdup.c: Move portability utilities into gl/.
+       Add components.fig.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+2004-01-31  Simon Josefsson  <simon@josefsson.org>
 
-       * gen-stringprep-tables.pl, gen-unicode-tables.pl, idna.c, idna.h,
-       internal.h, lib/Makefile.am, lib/gen-stringprep-tables.pl,
-       lib/gen-unicode-tables.pl, lib/idna.c, lib/idna.h, lib/internal.h,
-       lib/nfkc.c, lib/profiles.c, lib/punycode.c, lib/punycode.h,
-       lib/stringprep.c, lib/stringprep.h.in, lib/stringprep_generic.h,
-       lib/stringprep_iscsi.h, lib/stringprep_kerberos5.h,
-       lib/stringprep_nameprep.h, lib/stringprep_plain.h,
-       lib/stringprep_xmpp.h, lib/toutf8.c, lib/version.c, nfkc.c,
-       profiles.c, punycode.c, punycode.h, stringprep.c, stringprep.h.in,
-       stringprep_generic.h, stringprep_iscsi.h, stringprep_kerberos5.h,
-       stringprep_nameprep.h, stringprep_plain.h, stringprep_xmpp.h,
-       toutf8.c, version.c: Move library into lib/.
+       Add.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Fix, reported by nisse@lysator.liu.se (Niels Möller).
 
-       * tests/Makefile.am, tests/tst_idna.c, tests/tst_nfkc.c,
-       tests/tst_punycode.c, tests/tst_stringprep.c, tst_idna.c,
-       tst_nfkc.c, tst_punycode.c, tst_stringprep.c: Move tests into
-       tests/.
+2004-01-22  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * idn.c, idn.ggo.in, idna.el, punycode.el, src/Makefile.am,
-       src/idn.c, src/idn.ggo.in, src/idna.el, src/punycode.el: Move
-       applications into src/.
+       Fix release target.
 
-2003-08-20  Simon Josefsson <simon@josefsson.org>
+       Upstream sync.
 
-       * example.c, example2.c, example3.c, example4.c,
-       examples/Makefile.am, examples/example.c, examples/example2.c,
-       examples/example3.c, examples/example4.c: Move examples into
-       examples/.
+       *** empty log message ***
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.7.
 
-       * TODO: Add.
+       Add release target.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * nfkc.c: Fix doc.
+       Fix.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Remove ugly maintainance hacks.
 
-       * tst_idna.c: Remove unused function.
+       Typo.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Update copyright years.
 
-       * idn.c: Fix warnings.
+       Add.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Bump versions.
+       Mention '--'.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+2004-01-21  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, doc/libidn.texi, reference/dummy.c: Add.
+       Add.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Fix iSCSI profile name.
 
-       * idna.c, idna.h: Use enum types where appropriate.
+       Add alias 'iSCSI'.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+2004-01-18  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/libidn.texi: Doc fixes.
+       Use FDL 1.2.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Fix warning.
 
-       * stringprep.h.in: Fix.
+2004-01-14  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Don't use AC_LIBTOOL_TAGS, too experimental.
 
-       * stringprep.c: Use enum/size_t/ssize_t where appropriate.  Doc fix.
+2004-01-10  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Fix idn.1 depends.
 
-       * stringprep.h.in: Replace int with proper enum, where appropriate.
+       Dist texinfo.css.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Sync with texinfo.
 
-       * doc/libidn.texi: Typo.
+       Remove DocBook.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi: Add FreeBSD 4.8.
+       Remove DocBook stuff.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Rename libidn.css to texinfo.css.
 
-       * ChangeLog: [no log message]
+       Fix.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS: Version 0.2.2.
+       Use CSS for HTML.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Fix.
+2004-01-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Fix release target.
+       Bump versions.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       .
 
-       * Makefile.am: Fix release target.
+       *** empty log message ***
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.6.
 
-       * NEWS, TODO: Add.
+       Add.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Fix license header.
 
-       * punycode.c: Typo.
+       Add.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+2004-01-01  Simon Josefsson  <simon@josefsson.org>
 
-       * punycode.h: Indent.
+       Fix, to use ax_... verbatim from upstream.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Remove (not used by ax_... any more).
 
-       * punycode.h: Revert to RFC code: use punycode_status.
+       Apply local fixes.
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Sync with upstream version 1.4.
 
-       * punycode.c: Revert to RFC code: use punycode_uint and enum
-       punycode_status.  However, we do continue to use size_t to promote
-       use of sizeof() by application writers.  We return
-       punycode_bad_input if a size_t value exceeds the largest
-       punycode_uint, since the code presumably cannot handle that.  If
-       size_t is smaller than punycode_uint, it seems unlikely that an
-       application could be able to pass a string that is longer than
-       SIZE_MAX anyway, but should it happen the worst that occur is that
-       the punycode code will only see the beginning of the string, which
-       isn't unreasonable on a platform with a small SIZE_MAX.
+2003-12-30  Simon Josefsson  <simon@josefsson.org>
 
-2003-08-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * punycode.h: Define and use punycode_uint.
+       Allow autoconf 2.57.
 
-2003-08-08  Simon Josefsson <simon@josefsson.org>
+2003-12-18  Simon Josefsson  <simon@josefsson.org>
 
-       * toutf8.c: (stringprep_locale_charset): Improve docstring.
+       Encode file in ASCII.
 
-2003-08-01  Simon Josefsson <simon@josefsson.org>
+2003-12-16  Simon Josefsson  <simon@josefsson.org>
 
-       * draft-ietf-ips-iscsi-string-prep-05.txt: Add.
+       Replace non-ASCII with Texinfo accents.
 
-2003-07-31  Simon Josefsson <simon@josefsson.org>
+       Add Troubleshooting discussion for idn tool. Suggested by "Jan-Hendrik Heuing" <jh@netfielders.de> and Kai Schaetzl <kai@conactive.com>.
 
-       * Makefile.am: Replace gnudist with gnuftp.
+2003-12-15  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-31  Simon Josefsson <simon@josefsson.org>
+       Pass data on command line. Update error enum's. Fix.
 
-       * NEWS, THANKS: Add.
+       Remove (see doc/libidn.texi instead).
 
-2003-07-31  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * idn.c: Encode -u output in locale charset, suggested by Adam M.
-       Costello.
+       Bump versions.
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       .
 
-       * memset.c: Rewrite to get LGPL code.
+       *** empty log message ***
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.5.
 
-       * strdup.c: Revert, to get LGPL code.
+       *** empty log message ***
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Use @finalout.
 
-       * Makefile.am: Install but don't distribute idn-int.h.
+       Add.
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Remove DocBook HTML targets (I'm tired of updating the random filenames in the Makefile).
 
-       * m4/.cvsignore: [no log message]
+       Set charset cookie. Use @section instead of @majorheading for DocBook. Add real examples to idn section.
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Sync with Texinfo CVS.
 
-       * Makefile.am, configure.ac, m4/Makefile.am: Dist m4's.
+       Add.
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Update DocBook HTML target.
 
-       * Makefile.am, configure.ac, m4/memset.m4, m4/onceonly_2_57.m4,
-       m4/strdup.m4, strdup.c: Replace AC_REPLACE_OBJ with gnulib.
+2003-12-11  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Rename IDNA_CONTAINS_LDH to IDNA_CONTAINS_NON_LDH.  Reported by Graydon Hoare <graydon@redhat.com>.
 
-       * configure.ac: Bump versions.
+2003-12-10  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+       Check for autoconf 2.59 and automake 1.8.
 
-       * NEWS: Add.
+       Mention versions.
 
-2003-07-11  Simon Josefsson <simon@josefsson.org>
+2003-12-04  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Use BUILT_SOURCES for idn_cmd.* and idn-int.h, and
-       don't include idn-int.h in the distribution.
+       Fix.
 
-2003-07-08  Simon Josefsson <simon@josefsson.org>
+2003-12-03  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add.
+       Add.
 
-2003-07-08  Simon Josefsson <simon@josefsson.org>
+2003-11-27  Simon Josefsson  <simon@josefsson.org>
 
-       * m4/ax_create_stdint_h.m4: Look in sys/types.h too, for cygwin.
+       Add.
 
-2003-07-05  Simon Josefsson <simon@josefsson.org>
+       Simplify gengetopt building. Use AM_CPPFLAGS, not *_CPPFLAGS.
 
-       * ANNOUNCE, doc/libidn.texi: Don't use () when talking about the
-       name of a function.
+       Print instructions.  Suggested by Kai Schaetzl <kai@conactive.com>.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+2003-11-26  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: [no log message]
+       Typo.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Version 0.2.1.
+       Update Invoking idn.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Make -a the default.
 
-       * Makefile.am: Create idn_cmd.* in srcdir.
+       Update Invoking idn.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Support strings passed on command line instead of on stdin. Suggested by Kai Schaetzl <kai@conactive.com>.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Add todo.
 
-       * configure.ac: Bump versions.
+2003-11-25  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Disable fortran etc libtool checks.
 
-       * NEWS: Add.
+2003-11-23  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+       Add --docbook.
 
-       * idna.c: Fix last commit.
+       Sync with texinfo.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+2003-11-20  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add.
+       Fix GREETING.
 
-2003-07-04  Simon Josefsson <simon@josefsson.org>
+2003-11-11  Simon Josefsson  <simon@josefsson.org>
 
-       * idna.c: Handle empty labels, tiny patch based on suggestion by
-       Marcos Sanz/Denic <sanz@denic.de>.
+       TeX improvements.  From Nikos Mavroyanopoulos <nmav@gnutls.org>.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Use AM_MAKEINFOHTMLFLAGS (with CVS automake) instead of explicit libidn.html target.
 
-       * THANKS: Add.
+2003-11-10  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Ignore .cvs*.
+2003-11-09  Simon Josefsson  <simon@josefsson.org>
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am: Add legal information to ChangeLog.
+       Update DocBook HTML destinations.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Remove.
 
-       * .cvscopying: Add.
+       Remove unused ps_TEXINFOS and pdf_TEXINFOS.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Remove example source code to texinfo conversion (@verbatiminclude is used directly on the source code instead).
 
-       * THANKS: Add.
+       Use @verbatiminclude for examples.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Use *_CPPFLAGS instead of obsolete INCLUDES.
 
-       * toutf8.c, tst_punycode.c: Indent.
+       Replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       Autoupdate suggested changes: quote AC_INIT parameters, and replace AC_TRY_RUN with AC_RUN_IFELSE.
 
-       * toutf8.c: (stringprep_convert): Use ICONV_CONST.  Tiny patch suggested by
-       Robert Norris <rob@cataclysm.cx>.
+       Enable warnings.
 
-2003-07-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * draft-ietf-ldapbis-dn-11.txt, draft-ietf-ldapbis-strprep-01.txt: 
-       Add.
+       Use automake 1.7a idiom for elisp files.
 
-2003-06-24  Simon Josefsson <simon@josefsson.org>
+       Remove m4/ as it is not needed with automake 1.7a.
 
-       * README-alpha: Gengetopt 2.10 or later is required.
+       Bump versions.
 
-2003-06-24  Simon Josefsson <simon@josefsson.org>
+       Use proper -o directory for gendocs.sh.
 
-       * Makefile.am: Don't distclean idn_cmd.*, just maintainer-clean
-       them.
+       .
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * ChangeLog: [no log message]
+       Version 0.3.4.
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Fix memory leak.
 
-       * NEWS: Version 0.2.0.
+2003-11-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Remove libtool bug workaround.
 
-       * Makefile.am: Distclean idn-int.h (really!).
+2003-11-05  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * Makefile.am: Install and distclean idn-int.h properly.
+       Fix date.
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Fix bad UTF-8.
 
-       * Makefile.am: Distclean idn-int.h.
+2003-11-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Mkdir HTML.
 
-       * Makefile.am: Remove idn-int.h.
+       Cleanup.
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Dist gtk-doc.m4.
 
-       * doc/libidn.texi: Add woody armv4l.
+2003-11-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Update expiry date on PGP key.
 
-       * configure.ac: Bump so version.
+       *** empty log message ***
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * doc/libidn.texi: Tested on debian-sparc64.
+       Rename.
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Use my old cleaned up Makefile.
 
-       * reference/Makefile.am: Ignore idn-int.h.
+       Don't break on first 'make'.
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Make 'dist' work.
 
-       * Makefile.am: Build e.g. idn before doc/idn.1 is built.
+       Remove (replaced by doc/reference/).
 
-2003-06-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * doc/libidn.texi, punycode.c, punycode.h: GTK-DOC doesn't like enum
-       return types.
+       *** empty log message ***
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add, based on GTK-DOC example Makefile.am.
 
-       * NEWS: Add.
+       Add reference/.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Remove GTK-DOC subdir reference/ (moved to doc/).
 
-       * Makefile.am: Copy manual from right place.
+       Build GTK-DOC Makefile in doc/reference instead of reference/.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Use GTK_DOC_CHECK macro for gtk-doc checks.
 
-       * THANKS: Add.
+       Add.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Use GTK-DOC conditional.
 
-       * doc/.cvsignore: [no log message]
+       Rebuild Makefile after rebuilding Makefile.gdoc.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Set GDOC_MAN_EXTRA_ARGS.
 
-       * Makefile.am, tst_oidna.c: Remove obsolete test (we break backwards
-       compatibility).
+       Add GDOC_TEXI_EXTRA_ARGS, GDOC_MAN_EXTRA_ARGS.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       GDOC framework cleanup.
 
-       * doc/libidn.texi: Fix.
+       Create texinfo for whole sources files too.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add -man parameters (move to Makefile.am?).
 
-       * idn.c, idna.c, nfkc.c, profiles.c, stringprep.c, toutf8.c,
-       tst_idna.c, tst_oidna.c, tst_stringprep.c: Indent.
+       Just touch doc/Makefile.gdoc.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Mark Makefile.gdoc as BUILT_SOURCES.
 
-       * idn.c, tst_punycode.c: Fix typo.
+       Bootstrap doc/Makefile.gdoc.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       (Makefile.gdoc): Depend on ../configure for bootstrapping.
 
-       * Makefile.am, tst_opunycode.c, tst_ostringprep.c: Not needed (new
-       API backwards compatible).
+       *** empty log message ***
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * tst_punycode.c, tst_stringprep.c: Use uint32_t instead of unsigned
-       long.
+       Remove.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Mkdir.
 
-       * NEWS: Fix.
+       Update docbook HTMLs.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Use gdoc @include's.
 
-       * example2.c: Revert to RFC, but use uint32_t and size_t.
+       Don't build in man/. Build idn.1 man page here. Move man page dist targets from man/. Use Makefile.gdoci to generate man pages and texinfo.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add, initial version.
 
-       * idna.h: Revert last change.
+       Don't generate doc/man/Makefile.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+2003-10-31  Simon Josefsson  <simon@josefsson.org>
 
-       * idna.c: Fixes.
+       Move unicode utility functions from stringprep to own chapter. Replace API documentation with @include'd GDOC generated version.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Generate more API manuals with gdoc. Replace phony libidn-db.html with real targets. Update libidn-db.html files.
 
-       * idna.h: Remove old interfaces.
+       *** empty log message ***
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Don't use @code for @deftypefun function name.
 
-       * example3.c, example4.c, idn.c: Use modern API.
+       (punycode_encode): Rename parameter to match punycode.h (and more importantly, to make gdoc function properly).
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Doc fixes.
 
-       * toutf8.c: Fix warnings.
+       (dump_function): Handle parameters that look like 'char *foo[]'.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Fix rule expansions.
 
-       * idna.c: Use uint32_t instead of unsigned long.  New functions
-       idna_to_ascii_4i, idna_to_unicode_44i, idna_to_ascii_4z,
-       idna_to_ascii_8z, idna_to_ascii_lz, idna_to_unicode_4z4z,
-       idna_to_unicode_8z4z, idna_to_unicode_8z8z, idna_to_unicode_8zlz,
-       idna_to_unicode_lzlz.
+       Dist gdoc and generated API texi's. Generate API doc. Fix dependencies.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Sync from GSSLib.
 
-       * tst_idna.c, tst_oidna.c: Fix.
+       Mention more tools.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * idna.h: Fix.
+       Fix doc generating commands.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Fix HTML dir move.
 
-       * idna.h: Include stddef.h and idn-int.h.  Add IDNA flags.  Add new
-       IDNA entry points.
+       Fix outdir rm.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Fix outdir rm.
 
-       * NEWS: Add.
+       Don't remove $outdir (might contain CVS/).
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       TAR fixes. Add DocBook/Doxygen/GTK-DOC.
 
-       * configure.ac: Bump version.
+       Add (taken from Texinfo CVS).
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * stringprep.c: Change unsigned long to uint32_t.
+       Add docbook targets.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Look for docbook tools.
 
-       * stringprep.h.in: Change unsigned long to uint32_t.  Fix enum
-       definitions.
+2003-10-29  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Dist libc/getaddrinfo-idn.txt.
 
-       * internal.h: Remove inttypes/stdint, idn-int.h is used now.
+       Add AC_CONFIG_AUX_DIR(.) for broken CVS libtoolize.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_oidna.c, tst_opunycode.c, tst_ostringprep.c: Add old API
-       tests.
+2003-10-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .cvsignore: [no log message]
+       Add.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+2003-10-24  Simon Josefsson  <simon@josefsson.org>
 
-       * doc/Makefile.am: Fix.
+       Add.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am, configure.ac, doc/.cvsignore, doc/Makefile.am,
-       doc/fdl.texi, doc/lgpl.texi, doc/libidn.texi, fdl.texi, lgpl.texi,
-       libidn.texi: Move manual to doc/.
+       Fix.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+2003-10-19  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Don't use gdoc.
+       Add.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * nfkc.c: Use uint32_t instead of unsigned long.
+       Add warning in comment.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Character set fixes.
 
-       * Makefile.am: Get m4's from m4/.  Add tst_o*'s.  Regenerate
-       ChangeLog only for releases.
+       Fix.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * gen-unicode-tables.pl: Include internal.h for uint32_t and use it.
+       Add comment.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+2003-10-18  Simon Josefsson  <simon@josefsson.org>
 
-       * punycode.c: Change unsigned long to uint32_t.  Use enum
-       punycode_status return type.  Sync with RFC (after indent).
+       Fix.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       .
 
-       * punycode.h: Include stddef and idn-int.h.  Add RFC compatibility
-       enum punycode_status elements.  Change return type to enum
-       punycode_status.  Use uint32_t instead of unsigned long.
+       *** empty log message ***
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.3.
 
-       * .cvsignore: [no log message]
+       Add.
 
-2003-06-18  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am, configure.ac, iconv.m4,
-       m4/ac_compile_check_sizeof.m4, m4/ax_create_stdint_h.m4,
-       m4/iconv.m4: New idn-int.h for portable fixed size integers.  Create
-       m4/ and move iconv.m4 to it.
+       Revert to old elisp automake idiom.
 
-2003-06-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Remove GNU make specific idiom.
+       (struct Stringprep_table, struct Stringprep_profiles): Use 'const'. (stringprep_4i, stringprep_4zi, stringprep, stringprep_profile): Likewise.
 
-2003-06-07  Simon Josefsson <simon@josefsson.org>
+       (stringprep_find_character_in_table): Mark parameter as 'const'. (stringprep_find_string_in_table): Likewise. (stringprep_apply_table_to_string): Likewise. (stringprep_4i, stringprep_4zi_1, stringprep_4zi, stringprep): Likewise.
 
-       * ChangeLog: [no log message]
+       (stringprep_profile): Fix warning.
 
-2003-06-07  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * NEWS: Version 0.1.15.
+       Indent.
 
-2003-06-07  Simon Josefsson <simon@josefsson.org>
+       Remove stringprep_generic documentation.
 
-       * NEWS: Add.
+       Remove stringprep_generic.
 
-2003-06-07  Simon Josefsson <simon@josefsson.org>
+       Mark table elements as 'const'.
 
-       * configure.ac: Bump version.
+       (stringprep_apply_table_to_string): Remove 'name' parameter. (stringprep_4i): Likewise.
 
-2003-06-07  Simon Josefsson <simon@josefsson.org>
+       (stringprep_profiles): Remove "generic". Indent.
 
-       * stringprep.c, tst_idna.c, tst_stringprep.c: Remove DRAFT stuff
-       (moved to separate branch).
+       (struct Stringprep_table): Remove 'name'. (stringprep_profiles, stringprep_rfc3454_A_1,stringprep_rfc3454_B_1) (stringprep_rfc3454_B_2, stringprep_rfc3454_B_3) (stringprep_rfc3454_C_1_1, stringprep_rfc3454_C_1_2) (stringprep_rfc3454_C_2_1, stringprep_rfc3454_C_2_2) (stringprep_rfc3454_C_3, stringprep_rfc3454_C_4) (stringprep_rfc3454_C_5, stringprep_rfc3454_C_6) (stringprep_rfc3454_C_7, stringprep_rfc3454_C_8) (stringprep_rfc3454_C_9, stringprep_rfc3454_D_1) (stringprep_rfc3454_D_2) (stringprep_nameprep) (stringprep_saslprep, stringprep_plain,stringprep_trace) (stringprep_kerberos5) (stringprep_xmpp_nodeprep, stringprep_xmpp_resourceprep) (stringprep_xmpp_nodeprep_prohibit) (stringprep_iscsi): Mark as 'const'. (stringprep_generic, stringprep_generic): Remove.
 
-2003-06-06  Simon Josefsson <simon@josefsson.org>
+2003-10-17  Simon Josefsson  <simon@josefsson.org>
 
-       * THANKS: Add. Fix.
+       Indent.
 
-2003-06-06  Simon Josefsson <simon@josefsson.org>
+       Fix memory leak.
 
-       * idna.c: Handle non-zero terminated inputs.  Tiny patch suggested
-       by Thiago Macieira.
+       Fix #include for man pages.
 
-2003-06-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * draft-ietf-xmpp-nodeprep-03.txt,
-       draft-ietf-xmpp-resourceprep-03.txt: Add.
+       Sync 'idn -h'.
 
-2003-06-04  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * THANKS: Add.
+       Include cleanup.  We assume C89, use <...> for headers we use, and use "..." for headers we implement.
 
-2003-06-04  Simon Josefsson <simon@josefsson.org>
+2003-10-16  Simon Josefsson  <simon@josefsson.org>
 
-       * nfkc.c: Check array bounds, tiny patch from Joe Hildebrand.
+       Add.
 
-2003-06-02  Simon Josefsson <simon@josefsson.org>
+       Fix gengetopt building.
 
-       * ChangeLog: [no log message]
+       Add.
 
-2003-05-28  Simon Josefsson <simon@josefsson.org>
+       Use less negations for --quiet, reported by Oden Eriksson <oden.eriksson@kvikkjokk.net>.
 
-       * draft-ietf-ldapbis-strprep-00.txt: Add.
+       Fix gengetopt built source files. Use new automake Emacs Lisp targets.
 
-2003-05-28  Simon Josefsson <simon@josefsson.org>
+       Use current version number in examples.
 
-       * draft-ietf-sasl-saslprep-02.txt: Add.
+       Update so version.
 
-2003-05-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: [no log message]
+       Include parameter names in prototypes, for GTK-DOC.
 
-2003-05-10  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * NEWS: Version 0.1.14.
+       Fix typo.
 
-2003-05-10  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ChangeLog: [no log message]
+       Removed.
 
-2003-05-10  Simon Josefsson <simon@josefsson.org>
+       Make #include's explicit.
 
-       * contrib/README: Add.
+       Make #include's explicit. Fix warnings.
 
-2003-05-10  Simon Josefsson <simon@josefsson.org>
+       Remove internal.h.
 
-       * idna.el, punycode.el: Bind process-environment correctly.
+       Doc fix.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Make #include's explicit.
 
-       * Makefile.am: Copy doxygen docs.
+       Make #include's explicit.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * draft-ietf-ldapbis-dn-10.txt: Unrealted, mistakenly added.
+       Make #include's explicit.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * NEWS: Add.
+       Sync with latest draft, but change return types to 'int' to be backwards compatible.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Sync with latest draft, but change return types to 'int' to be backwards compatible.
 
-       * draft-josefsson-idn-test-vectors.xml: Add UTF-8 tests.
+       Remove DMALLOC stuff.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Fix warnings.
 
-       * punycode.el: Use process-environment instead of utility env.
-       Default values of punycode-program, punycode-to-ascii-parameters,
-       punycode-to-unicode-parameters changed, and punycode-environment
-       added.  Use separate error strings.  Handle when idn is not
-       installed.
+       Typo.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       Simplify debug prints.
 
-       * idna.el: Use process-environment instead of utility env.  Default
-       values of idna-program, idna-to-ascii-parameters,
-       idna-to-unicode-parameters changed, and idna-environment added.  Use
-       separate error strings.
+       Add.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       (idna_to_unicode_internal): Handle reallocating larger utf8in after stringprep error STRINGPREP_TOO_SMALL_BUFFER. (idna_to_unicode_44i): Let new logic in idna_to_unicode_internal() replace BUFSIZ alloc.
 
-       * libidn.texi: Update Emacs Lisp API.  Fix toc.
+       (stringprep_profile): Loop around stringprep return STRINGPREP_TOO_SMALL_BUFFER and increase buffer size.
 
-2003-05-09  Simon Josefsson <simon@josefsson.org>
+       (stringprep): Check return value from stringprep_ucs4_to_utf8.  Don't use goto.
 
-       * THANKS: Add.
+       (stringprep): Loop around stringprep_4i error STRINGPREP_TOO_SMALL_BUFFER and increase buffer size. (stringprep_apply_table_to_string): Don't dereference possibly unallocated memory just to do pointer arithmetic.
 
-2003-05-07  Simon Josefsson <simon@josefsson.org>
+       Check malloc return value.
 
-       * idna.el: Handle when idn is not installed.
+       Check malloc return code.
 
-2003-05-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * draft-ietf-ldapbis-dn-10.txt, draft-ietf-sasl-saslprep-01.txt,
-       draft-zeilenga-ldapbis-strprep-00.txt: Add.
+       Doc fox. Add stringprep_4i and stringprep_4zi.
 
-2003-04-23  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * NEWS: Add.
+       Add stringprep_4i.3, stringprep_4zi.3.
 
-2003-04-23  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * NEWS: Fix NEWS entry of last release (API/ABI compatibility).
+       (stringprep_4i, stringprep_4zi): Add.
 
-2003-04-23  Simon Josefsson <simon@josefsson.org>
+       (stringprep1): Don't zero terminate.  Rename to stringprep_4i and export it. (stringprep_4zi_1): Add.  Calls stringprep_4i, then zero terminate. (stringprep_4zi): Add.  New API. (stringprep): Use stringprep_4zi_1.
 
-       * draft-ietf-xmpp-nodeprep-02.txt,
-       draft-ietf-xmpp-resourceprep-02.txt: Add.
+       Fix typo.
 
-2003-04-20  Simon Josefsson <simon@josefsson.org>
+       (stringprep): Split core part into stringprep1. (stringprep1): New, simplified version of core part.
 
-       * draft-josefsson-idn-test-vectors-00.txt: Add.
+2003-10-15  Simon Josefsson  <simon@josefsson.org>
 
-2003-04-16  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ANNOUNCE: Mention devices it runs on.
+       Remove generic. Add trace.
 
-2003-03-28  Simon Josefsson <simon@josefsson.org>
+       Print UCS-4 instead of UTF-8 in debug output for --stringprep.
 
-       * tst_stringprep.c: Fix bad UTF-8.  Self test for bad UTF-8.
+       Add.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Fix UCS-4 output in --stringprep. Print debug output even with --idna-to-ascii. Fix error message.
 
-       * draft-josefsson-idn-test-vectors.xml: Text fixes.
+2003-10-12  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Clarify alternative approaches.
 
-       * tst_idna.c, tst_stringprep.c: Fix -DDRAFT output.
+       Fix.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+2003-10-11  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Dist contrib/doxygen/.
+       Add.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+2003-10-10  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Mention doxygen.
+       Revert typo.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Fix so version comment (matches libtool manual).
 
-       * configure.ac: Build contrib/doxygen/Doxyfile.
+       Fix.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * contrib/doxygen/Doxyfile.orig: Add unmodified doxygen
-       configuration file, for future "diff"s.
+       Remove 'generic' (should not be exposed). Add 'trace'.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+2003-10-09  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/doxygen/Doxyfile.in: Use PDF hyperlinks.
+       Add.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+2003-10-08  Simon Josefsson  <simon@josefsson.org>
 
-       * gdoc: Add -doxygen.
+       Bump versions.
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Fix doxygen generation.
 
-       * internal.h: Add \mainpage for doxygen.
+2003-10-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       .
 
-       * contrib/README: Mention doxygen.
+       *** empty log message ***
 
-2003-03-26  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.2.
 
-       * contrib/doxygen/.cvsignore, contrib/doxygen/Doxyfile.in,
-       contrib/doxygen/gdoc2doxygen: Add doxygen template.
+       Remove --rsyncable for now, Debian (stable) gzip do not support it.
 
-2003-03-23  Simon Josefsson <simon@josefsson.org>
+       TAR_OPTION crashes tar in Debian, comment out for now.
 
-       * FAQ: Fix.
+       Add.
 
-2003-03-23  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * configure.ac: Bump versions.
+       Add.
 
-2003-03-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Ignore draft.*xml in ChangeLog.
+2003-10-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-23  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * idn.c: Fix debug prints.
+       (stringprep_profile): Mark 'in' as 'const'.
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+2003-10-03  Simon Josefsson  <simon@josefsson.org>
 
-       * draft-josefsson-idn-test-vectors.xml: Fix sec cons.
+       Fix comment.
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+2003-10-02  Simon Josefsson  <simon@josefsson.org>
 
-       * draft-josefsson-idn-test-vectors.xml: Cosmetic fixes.
+       Fix.
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * draft-josefsson-idn-test-vectors.xml: Add IDNA stuff.  Ack
-       punycode.
+       Add trace profile (SASL ANONYMOS).
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * stringprep.c, tst_stringprep.c: Fixes for -DDRAFT.
+       Cosmetic fixes.
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tst_idna.c: Support -DDRAFT.
+       .
 
-2003-03-22  Simon Josefsson <simon@josefsson.org>
+       Perl 5.8.1 fix.
 
-       * draft-josefsson-idn-test-vectors.xml: Editorial fixes.  Sync
-       stringprep table.  Fix references.
+       *** empty log message ***
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Version 0.3.1.
 
-       * ChangeLog: [no log message]
+       Fix NFKC, from Noah Levitt <nlevitt@columbia.edu> via bugzilla.gnome.org bug 123421.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+2003-09-28  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.1.13.
+       Fix.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libidn.texi: Sync ANNOUNCE.
+       Add.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * configure.ac: Bump so version.
+       Fix.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Fix indent target.
 
-       * NEWS: Add.
+       Add indent rule.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * ANNOUNCE: Add lingos.
+       Fix.  Add indent target.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+2003-09-26  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/java/README: Doc fix.
+       Fix Hangul patch.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * Makefile.am: Dist Java stuff.
+       Add.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Sync with GLIB for Unicode stuff.
 
-       * contrib/java/README: Doc fix.
+       Fix typo.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+2003-09-25  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Mention Java API.
+       Update test vectors.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       Fix debug messages.
 
-       * contrib/README: Add java/.
+       Add.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       (DOTP): New. (idna_to_unicode_4z4z): Use it. (idna_to_ascii_4z): Use it. Make root label handling explicit.
 
-       * contrib/java/.cvsignore, contrib/java/ExampleIDNA.java,
-       contrib/java/IDNA.c, contrib/java/IDNA.java,
-       contrib/java/Makefile.am, contrib/java/README,
-       contrib/java/autogen.sh, contrib/java/configure.ac: Add JAVA API
-       proof of concept.
+       Add.
 
-2003-03-13  Simon Josefsson <simon@josefsson.org>
+       (decompose_hangul, combine_hangul): New. (combine, _g_utf8_normalize_wc): Use them. Adds support for algorithmic composition of Hangul Syllables, adapted from a patch written by Noah Levitt <nlevitt@columbia.edu> for GLIB, discussed in <http://bugzilla.gnome.org/show_bug.cgi?id=100456> and available from <http://bugzilla.gnome.org/showattachment.cgi?attach_id=18915>.
 
-       * libidn.texi: Tested on more platforms.
+       Fix.
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * stringprep.c, tst_stringprep.c: Fix mem leak.
+       *** empty log message ***
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       (idna_to_ascii_4z): Output "" instead of "." on input "".  (Some religions claim "" should fail though.)
 
-       * tst_idna.c: Fix mem leak.
+2003-09-23  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Ignore errors instead of using missing for gengetopt.
+       Doc fix.
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       (punycode-shutdown): New.
 
-       * configure.ac: Ignore errors instead of using missing for
-       gengetopt.  Bump version.
+       (idna-to-ascii-parameters, idna-to-unicode-parameters): Add --usestd3asciirules. (idna-shutdown): New.
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * libidn.texi: Add platform.
+       Fix.
 
-2003-03-12  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ANNOUNCE: Spec update.
+       .
 
-2003-03-10  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am: Cvs2cl ignore contrib.
+       Version 0.3.0.
 
-2003-03-10  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * Makefile.am: Use cvs2cl's new --FSF.
+       Add.
 
-2003-03-10  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * contrib/web/idn.php: Text fix.
+2003-09-22  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-10  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * contrib/web/idn.php: Text fixes.  Remove ASCII incompatible
-       encodings.
+       (stringprep_saslprep): Prohibit inappropriate for canonical representation characters.
 
-2003-03-09  Simon Josefsson <simon@josefsson.org>
+2003-09-14  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Use UTF-8 by default.  Text fixes.  Change
-       ascii and sjis charsets.
+       Dist libc/Banner.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Create idna.h without dependency on idn-int.h.
 
-       * contrib/web/idn.php: Don't reset data.  Use iconv charsets.
+       Fix memory leak.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Fix memory leaks.
 
-       * contrib/web/idn.php: Cleanup.
+       Fix greeting message.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Copy Banner.
 
-       * contrib/web/idn.php: Fix text.
+       Add.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+2003-09-13  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Fix charset.
+       Fix.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Cast.
 
-       * contrib/web/idn.php: Fix text.
+       Fix.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Simplify #include mess.
 
-       * contrib/web/idn.php: Make charset selection clearer.
+       Remove cruft.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * contrib/web/idn.php: Fix HTML, based on Martin Duerst's
-       suggestions.
+       Remove dummy.c.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * contrib/web/idn.php: Use valid HTML.
+       Doc fix.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * contrib/web/idn.php: Add.
+       Doc fix.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * example2.c, punycode.c, punycode.h: Sync with RFC.
+       Doc fix.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+2003-09-12  Simon Josefsson  <simon@josefsson.org>
 
-       * draft-zeilenga-ldapbis-strmatch-02.txt: Add.
+       Fix RFC compatibility.
 
-2003-03-08  Simon Josefsson <simon@josefsson.org>
+       Typedef Punycode_status. Use 'int' instead of 'enum' for return codes.
 
-       * draft-ietf-idn-idna-14.txt, draft-ietf-idn-nameprep-11.txt,
-       draft-ietf-idn-punycode-03.txt, rfc3490.txt, rfc3491.txt,
-       rfc3492.txt: Replace drafts with RFCs.
+       Use 'int' instead of 'enum' for return code.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * README-alpha: Mention more prereqs.
+       Rename stringprep_generic_* to stringprep_rfc3454_*.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * idna.c: Remove gtk-doc trigger for obsolete functions.
+       Rename stringprep_generic.c to rfc3454.c. Add to BUILT_SOURCES.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       Write to rfc3454.c. Rename variables to stringprep_rfc3454_* from stringprep_generic_*.
 
-       * libidn.texi: Move appendix last.  Cleanup @copying.
+       Remove, merged into ../lib/*.c.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * Makefile.am: Dist FAQ and contrib/web/idn.php.
+       Fix.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       Fix update-api.
 
-       * README: Add.  Move todo list to TODO.
+       Doc fix.
 
-2003-03-07  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * TODO: Add, taken from README.
+       Use 'int' instead of 'enum's.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Typedef Stringprep_rc, Stringprep_profile_flags, and Stringprep_profile_steps. Use 'int' instead of 'enum's (i.e., revert 0.2.3 changes).
 
-       * libidn.texi: ANNOUNCE sync.
+       Add.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Remove obsolete.c.
 
-       * ANNOUNCE: Cleanup.
+       Remove obsolete headers.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Use int instead of enum's.
 
-       * FAQ: Update questions and answers.
+       Typedef Idna_rc and Idna_flags. Use int instead of enum's.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix path to sources. Fix HIGNORE.
 
-       * FAQ: Moved faq from file README.
+       Workaround -I problem.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Against glibc 2.3.2.
 
-       * README: Move faq to file FAQ.  Add donation info.  Update todo's.
+       Add.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Remove unused m4's.
 
-       * contrib/web/idn.php: Security fix.
+       Add (from gl/).
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Don't use strdup.
 
-       * NEWS: Add forgotten 0.1.12 items.
+       Remove gl/.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * contrib/web/idn.php: Typo.
+       Remove checks for memset and strdup; we assume C89, so memset exists, and we no longer use strdup. Remove gl/.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Ported to Mac OS X / Darwin.
 
-       * contrib/web/idn.php: Add debug.
+       *** empty log message ***
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Use libtool.
 
-       * draft-ietf-ips-iscsi-string-prep-03.txt,
-       draft-ietf-krb-wg-utf8-profile-00.txt: Remove.
+       Make LDADD libtool friendly.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: [no log message]
+       Build man pages.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Move.
 
-       * NEWS: Version 0.1.12.
+       Fix.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libidn.texi: Remove stringprep_*.h.  Document stringprep in idn.
+       Typo.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       [_LIBC]: Define ICONV_CONST.
 
-       * THANKS: Add.
+       Use modern API.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Export modern API.
 
-       * libc/README: Fix ace.
+       Update.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       GLIBC 2.3.2 sync.
 
-       * contrib/web/idn.php: Add errors.
+2003-09-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Revert.
 
-       * contrib/web/idn.php: Support stringprep.
+2003-08-26  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Update key.
 
-       * Makefile.am: Ignore gengetopt errors.
+       Add examples/README.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * draft-ietf-xmpp-nodeprep-00.txt,
-       draft-ietf-xmpp-resourceprep-00.txt: Remove.
+       Fix cvs2cl parameters.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Use $() instead of @@.
 
-       * idn.c, idn.ggo.in: Add -s and -p for stringprep.
+       Do some tests that work.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix URL.
 
-       * NEWS: Mention stringprep API changes.
+       Bump versions.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Fix cvs2cl parameters.
 
-       * profiles.c, stringprep.c, stringprep.h.in, tst_stringprep.c: Add
-       stringprep_profile().
+       Ignore errors on www update.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Update paths.
 
-       * reference/Makefile.am: Cosmetic fix.
+       .
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       Revert.
 
-       * NEWS, example.c, internal.h, profiles.c, reference/Makefile.am,
-       reference/libidn-docs.tmpl, stringprep.h.in, stringprep_generic.h,
-       stringprep_iscsi.h, stringprep_kerberos5.h, stringprep_nameprep.h,
-       stringprep_plain.h, stringprep_xmpp.h: Deprecate stringprep_*.h.
+       Fix.
 
-2003-03-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * draft-ietf-ips-iscsi-string-prep-04.txt,
-       draft-ietf-krb-wg-utf8-profile-01.txt: Add.
+       Version 0.2.3.
 
-2003-03-04  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * README-alpha: Fixup.
+       Add tabs, for Makefile.maint check.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Replace release target with Makefile.maint etc.
 
-       * contrib/web/idn.php: Fix typo.
+       Add.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+2003-08-25  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Reorder.  Add errors.
+       Doc fix.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * contrib/web/idn.php: Fix.
+       Really call ToUnicode instead of ToASCII.  Reported by Trond Haugen <trond.haugen@uninett.no>.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+2003-08-21  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Add examples.
+       Add port.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Dist getopt.h.
 
-       * contrib/web/idn.php: Fix ct.  Add example.
+       Link with gl stuff.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+2003-08-20  Simon Josefsson  <simon@josefsson.org>
 
-       * contrib/web/idn.php: Add example.
+       Fix warning message.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Group portability stuff together.
 
-       * contrib/web/idn.php: Fix.
+       Fix -I paths.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Distcheck fixes.
 
-       * contrib/web/idn.php: Fix.
+       Fix paths.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Fix paths (for distcheck).
 
-       * contrib/web/idn.php: Examples.
+       Fix directory build order, for gtk-doc.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Update paths to source code.
 
-       * contrib/web/idn.php: Fix typos.
+       Move obsolete functions into separate file.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * contrib/web/idn.php: Move examples to bottom.
+       Build doc after src, for help2man on idn.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * contrib/web/idn.php: Add examples.
+       Add EXTRA_DISTs.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Add gl, lib, src, tests and examples to SUBDIRS. Add gl/m4 to ACLOCAL_AMFLAGS. Remove rules that are moved into lib/, src/, tests/ and examples/.
 
-       * contrib/web/idn.php: Bug reporting.
+       Split up files into sub-directories.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Move gdoc to doc/.
 
-       * contrib/web/idn.php: Fixes.
+       *** empty log message ***
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * contrib/web/idn.php: Charset fixes.
+       Move documentation and specifications into doc/ and doc/specifications/.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Move portability utilities into gl/.
 
-       * NEWS: Mention idn.php.
+       Move library into lib/.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Move tests into tests/.
 
-       * contrib/README: Add.
+       Move applications into src/.
 
-2003-03-02  Simon Josefsson <simon@josefsson.org>
+       Move examples into examples/.
 
-       * contrib/web/idn.php: Add.
+2003-08-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-03-01  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Check for gengetopt.
+       Fix doc.
 
-2003-03-01  Simon Josefsson <simon@josefsson.org>
+       Remove unused function.
 
-       * Makefile.am: Use GENGETOPT.
+       Fix warnings.
 
-2003-03-01  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * NEWS: Add glibc 2.3.2.
+       Add.
 
-2003-03-01  Simon Josefsson <simon@josefsson.org>
+       Use enum types where appropriate.
 
-       * configure.ac: Bump version.
+       Doc fixes.
 
-2003-03-01  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * libc/README, libc/Versions, libc/getaddrinfo.c, libc/libc.patch: 
-       Update to libc 2.3.2.
+       Use enum/size_t/ssize_t where appropriate. Doc fix.
 
-2003-02-28  Simon Josefsson <simon@josefsson.org>
+       Replace int with proper enum, where appropriate.
 
-       * NEWS: Add.
+       Typo.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Add FreeBSD 4.8.
 
-       * libidn.texi: Copying conditions.
+       *** empty log message ***
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Version 0.2.2.
 
-       * profiles.c: Add SASLprep.
+       Fix.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Fix release target.
 
-       * stringprep.h.in: Add SASL profile.
+       Fix release target.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_stringprep.c: Test SASL profile.
+       Typo.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * Makefile.am: Don't byte compile elisp.  Cleanup EXTRA_DIST.
+       Revert to RFC code: use punycode_status.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+       Revert to RFC code: use punycode_uint and enum punycode_status. However, we do continue to use size_t to promote use of sizeof() by application writers.  We return punycode_bad_input if a size_t value exceeds the largest punycode_uint, since the code presumably cannot handle that.  If size_t is smaller than punycode_uint, it seems unlikely that an application could be able to pass a string that is longer than SIZE_MAX anyway, but should it happen the worst that occur is that the punycode code will only see the beginning of the string, which isn't unreasonable on a platform with a small SIZE_MAX.
 
-       * idn.ggo.in: Add copyright.
+       Define and use punycode_uint.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+2003-08-08  Simon Josefsson  <simon@josefsson.org>
 
-       * draft-ietf-sasl-saslprep-00.txt: Add.
+       (stringprep_locale_charset): Improve docstring.
 
-2003-02-27  Simon Josefsson <simon@josefsson.org>
+2003-08-01  Simon Josefsson  <simon@josefsson.org>
 
-       * libidn.texi: Don't ack self.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+2003-07-31  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Cleanup extra dist.
+       Replace gnudist with gnuftp.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Make idn.c depend on idn_cmd.*.
+       Encode -u output in locale charset, suggested by Adam M. Costello.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+2003-07-11  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/Makefile.am: Ignore getopt.h.
+       Rewrite to get LGPL code.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Revert, to get LGPL code.
 
-       * idna.el, punycode.el: Doc fix.
+       Install but don't distribute idn-int.h.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * libidn.texi: Reorder acks.  Add function and variable index.
+       Dist m4's.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Replace AC_REPLACE_OBJ with gnulib.
 
-       * fdl.texi, lgpl.texi: Fix TOC.
+       Bump versions.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: [no log message]
+       Use BUILT_SOURCES for idn_cmd.* and idn-int.h, and don't include idn-int.h in the distribution.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+2003-07-08  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS: Version 0.1.11.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Look in sys/types.h too, for cygwin.
 
-       * Makefile.am: Distcheck fixes.
+2003-07-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Don't use () when talking about the name of a function.
 
-       * libidn.texi: Document Emacs API.
+2003-07-04  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * .cvsignore: [no log message]
+       Version 0.2.1.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Create idn_cmd.* in srcdir.
 
-       * configure.ac: Bump versions.  Look for help2man.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * Makefile.am: Build idn.1 man page.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Fix last commit.
 
-       * libidn.texi: Document idn.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Handle empty labels, tiny patch based on suggestion by Marcos Sanz/Denic <sanz@denic.de>.
 
-       * idna.el: Mention todo.
+2003-07-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: Build idna.el.
+       Ignore .cvs*.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add legal information to ChangeLog.
 
-       * idna.el: Elisp interface for IDNA.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * punycode.el: Add keywords.
+       Indent.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       (stringprep_convert): Use ICONV_CONST.  Tiny patch suggested by Robert Norris <rob@cataclysm.cx>.
 
-       * punycode.el: Fix doc.
+       Add.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+2003-06-24  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvsignore: [no log message]
+       Gengetopt 2.10 or later is required.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Don't distclean idn_cmd.*, just maintainer-clean them.
 
-       * configure.ac: Add automake elisp check.
+2003-06-19  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am: Add punycode.el.
+       Version 0.2.0.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Distclean idn-int.h (really!).
 
-       * punycode.el: Elisp interface for punycode.
+       Install and distclean idn-int.h properly.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Distclean idn-int.h.
 
-       * Makefile.am: Fix gengetopt invocation.
+       Remove idn-int.h.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add woody armv4l.
 
-       * idn.c: Print help on usage error.  Minor cleanup.
+       Bump so version.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Tested on debian-sparc64.
 
-       * idn.ggo.in: Fix package/version name.
+       Ignore idn-int.h.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Build e.g. idn before doc/idn.1 is built.
 
-       * idn.ggo.in: Shorten line <80ch.
+       GTK-DOC doesn't like enum return types.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .cvsignore: [no log message]
+       Copy manual from right place.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * getopt.c, getopt.h, getopt1.c: Add.
+       *** empty log message ***
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Remove obsolete test (we break backwards compatibility).
 
-       * configure.ac: Link with getopt if system doesn't have
-       getopt_long().  Build idn.ggo.
+       Fix.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+2003-06-18  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am: Build idn.
+       Indent.
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * idn.ggo.in: Add command line option specification for idn.c.
+       Not needed (new API backwards compatible).
 
-2003-02-26  Simon Josefsson <simon@josefsson.org>
+       Use uint32_t instead of unsigned long.
 
-       * idn.c: Add command line interface to library.
+       Fix.
 
-2003-02-25  Simon Josefsson <simon@josefsson.org>
+       Revert to RFC, but use uint32_t and size_t.
 
-       * draft-ietf-xmpp-nodeprep-01.txt,
-       draft-ietf-xmpp-resourceprep-01.txt: Add.
+       Revert last change.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * profiles.c: NFKC XMPP resourceprep.
+       Remove old interfaces.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Use modern API.
 
-       * profiles.c: NFKC XMPP nodeprep.
+       Fix warnings.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Use uint32_t instead of unsigned long. New functions idna_to_ascii_4i, idna_to_unicode_44i, idna_to_ascii_4z, idna_to_ascii_8z, idna_to_ascii_lz, idna_to_unicode_4z4z, idna_to_unicode_8z4z, idna_to_unicode_8z8z, idna_to_unicode_8zlz, idna_to_unicode_lzlz.
 
-       * ChangeLog: [no log message]
+       Fix.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS: Version 0.1.10.
+       Include stddef.h and idn-int.h. Add IDNA flags. Add new IDNA entry points.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/Makefile.am: Distribute libidn-stringprep-iscsi.html.
+       Bump version.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Change unsigned long to uint32_t.
 
-       * idna.c: Doc fix.
+       Change unsigned long to uint32_t. Fix enum definitions.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Remove inttypes/stdint, idn-int.h is used now.
 
-       * NEWS, idna.c, idna.h: Deprecate idna_*_to_ace() and
-       idna_*ace_to_*().  Add idna_to_ascii_from_*() and
-       idna_to_unicode_*_from_*().
+       Add old API tests.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am: Make release project independent.
+       Fix.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Move manual to doc/.
 
-       * NEWS: Add.
+       Don't use gdoc.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Use uint32_t instead of unsigned long.
 
-       * ANNOUNCE, Makefile.am, README, internal.h, libidn.texi,
-       profiles.c, reference/dummy.c, reference/libidn-docs.tmpl,
-       stringprep_iscsi.h, tst_stringprep.c: Add iSCSI profile.
+       Get m4's from m4/. Add tst_o*'s. Regenerate ChangeLog only for releases.
 
-2003-02-21  Simon Josefsson <simon@josefsson.org>
+       Include internal.h for uint32_t and use it.
 
-       * NEWS: Add.
+       Change unsigned long to uint32_t. Use enum punycode_status return type. Sync with RFC (after indent).
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Include stddef and idn-int.h. Add RFC compatibility enum punycode_status elements. Change return type to enum punycode_status. Use uint32_t instead of unsigned long.
 
-       * configure.ac: Bump versions.
+       *** empty log message ***
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       New idn-int.h for portable fixed size integers. Create m4/ and move iconv.m4 to it.
 
-       * NEWS: Add.
+2003-06-12  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Remove GNU make specific idiom.
 
-       * Makefile.am: Distribute contrib/*.
+2003-06-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * contrib/README: Describe contents of contrib/.
+       Version 0.1.15.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * contrib/idn-python/Makefile, contrib/idn-python/README,
-       contrib/idn-python/idn.c, contrib/idn-python/test.py: Add Stephane
-       Bortzmeyer's python interface.
+       Bump version.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Remove DRAFT stuff (moved to separate branch).
 
-       * Makefile.am: Install punycode.h.
+       Add. Fix.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Handle non-zero terminated inputs.  Tiny patch suggested by Thiago Macieira.
 
-       * Makefile.am: Install idna.h, tiny patch from Stephane Bortzmeyer.
+       Add.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+2003-06-04  Simon Josefsson  <simon@josefsson.org>
 
-       * ChangeLog: [no log message]
+       Add.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Check array bounds, tiny patch from Joe Hildebrand.
 
-       * NEWS: Version 0.1.9.
+2003-06-02  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * reference/libidn-docs.tmpl: Include stringprep_plain.sgml.
+2003-05-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/Makefile.am: Add libidn-stringprep-plain.html.
+       Add.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+2003-05-10  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/.cvsignore: [no log message]
+       *** empty log message ***
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Version 0.1.14.
 
-       * libidn.texi: Fix last commit.
+       *** empty log message ***
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libidn.texi: Mention stringprep_plain.h.
+       Bind process-environment correctly.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+2003-05-09  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/dummy.c: Add stringprep_plain.
+       Copy doxygen docs.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Unrealted, mistakenly added.
 
-       * profiles.c: Don't case fold XMPP resources.
+       Add.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add UTF-8 tests.
 
-       * profiles.c: Really fix XMPP definition.
+       Use process-environment instead of utility env. Default values of punycode-program, punycode-to-ascii-parameters, punycode-to-unicode-parameters changed, and punycode-environment added. Use separate error strings. Handle when idn is not installed.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Use process-environment instead of utility env. Default values of idna-program, idna-to-ascii-parameters, idna-to-unicode-parameters changed, and idna-environment added. Use separate error strings.
 
-       * Makefile.am: Add stringprep_plain.h.
+       Update Emacs Lisp API. Fix toc.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac: Bump versions.
+2003-05-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Handle when idn is not installed.
 
-       * libidn.texi: Sync ANNOUNCE.
+2003-05-06  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ANNOUNCE: Mention SASL "plain".
+2003-04-23  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * NEWS: Add.
+       Fix NEWS entry of last release (API/ABI compatibility).
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_stringprep.c: Remove broken XMPP tests.  Add SASL test.
+2003-04-20  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * draft-ietf-sasl-anon-00.txt: Add.
+2003-04-16  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Mention devices it runs on.
 
-       * internal.h: Include stringprep_plain.h.
+2003-03-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Fix bad UTF-8. Self test for bad UTF-8.
 
-       * profiles.c: Add stringprep_plain for SASL ANONYMOUS plain profile.
+2003-03-27  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+       Text fixes.
 
-       * profiles.c: Fix XMPP definition.
+       Fix -DDRAFT output.
 
-2003-02-20  Simon Josefsson <simon@josefsson.org>
+2003-03-26  Simon Josefsson  <simon@josefsson.org>
 
-       * stringprep_plain.h: New file.
+       Dist contrib/doxygen/.
 
-2003-02-19  Simon Josefsson <simon@josefsson.org>
+       Mention doxygen.
 
-       * NEWS: Add.
+       Build contrib/doxygen/Doxyfile.
 
-2003-02-19  Simon Josefsson <simon@josefsson.org>
+       Add unmodified doxygen configuration file, for future "diff"s.
 
-       * THANKS: Add.
+       Use PDF hyperlinks.
 
-2003-02-19  Simon Josefsson <simon@josefsson.org>
+       Add -doxygen.
 
-       * profiles.c: Don't normalize or map ASCII space for XMPP nodeprep.
-       Tiny patch from Travis Shirk <TShirk@jabber.com>.
+       Add \mainpage for doxygen.
 
-2003-02-18  Simon Josefsson <simon@josefsson.org>
+       Mention doxygen.
 
-       * README: Add.
+       Add doxygen template.
 
-2003-02-15  Simon Josefsson <simon@josefsson.org>
+2003-03-23  Simon Josefsson  <simon@josefsson.org>
 
-       * idna.c: Make sure decoded punycode data is zero terminated.
+       Fix.
 
-2003-02-15  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * tst_idna.c: Fix memory leak.
+       Ignore draft.*xml in ChangeLog.
 
-2003-02-15  Simon Josefsson <simon@josefsson.org>
+       Fix debug prints.
 
-       * idna.c: Fix memory leaks.  Waste less memory.
+2003-03-22  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-15  Simon Josefsson <simon@josefsson.org>
+       Fix sec cons.
 
-       * idna.c: Fix memory leak.
+       Cosmetic fixes.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Add IDNA stuff. Ack punycode.
 
-       * tst_stringprep.c: Fix.
+       Fixes for -DDRAFT.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Support -DDRAFT.
 
-       * nfkc.c: Fix typo.
+       Editorial fixes. Sync stringprep table. Fix references.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+2003-03-13  Simon Josefsson  <simon@josefsson.org>
 
-       * stringprep.c: Fix maplen calculation.
+       *** empty log message ***
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Version 0.1.13.
 
-       * stringprep.c: Fix gcc warnings.
+       Sync ANNOUNCE.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Bump so version.
 
-       * stringprep.c, stringprep.h.in: Change STRINGPREP_MAX_MAP_CHARS to
-       4 to waste less space.
+       Add.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Add lingos.
 
-       * ChangeLog: [no log message]
+       Doc fix.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Dist Java stuff.
 
-       * NEWS: Version 0.1.8.
+       Doc fix.
 
-2003-02-14  Simon Josefsson <simon@josefsson.org>
+       Mention Java API.
 
-       * Makefile.am: GTK-DOC fix.
+       Add java/.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Add JAVA API proof of concept.
 
-       * libidn.texi: Update port status.
+       Tested on more platforms.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+2003-03-12  Simon Josefsson  <simon@josefsson.org>
 
-       * configure.ac: Use = instead of == as test operator.
+       Fix mem leak.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Fix mem leak.
 
-       * example2.c, stringprep.c: Use size_t for string lengths.
+       Ignore errors instead of using missing for gengetopt.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Ignore errors instead of using missing for gengetopt. Bump version.
 
-       * example2.c: Revert missing-noreturn fix.
+       Add platform.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Spec update.
 
-       * idna.c: Use size_t for string lengths.
+2003-03-10  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Cvs2cl ignore contrib.
 
-       * Makefile.am, configure.ac: Condition GTK-DOC and disable by
-       default.
+       Use cvs2cl's new --FSF.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Text fix.
 
-       * reference/.cvsignore: [no log message]
+       Text fixes. Remove ASCII incompatible encodings.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+2003-03-09  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/tmpl/.cvsignore: Remove.
+       Use UTF-8 by default. Text fixes. Change ascii and sjis charsets.
 
-2003-02-13  Simon Josefsson <simon@josefsson.org>
+       Don't reset data. Use iconv charsets.
 
-       * configure.ac, reference/Makefile.am, reference/libidn-docs.sgml,
-       reference/libidn-docs.tmpl, reference/libidn.types,
-       reference/tmpl/idna.sgml, reference/tmpl/punycode.sgml,
-       reference/tmpl/stringprep.sgml,
-       reference/tmpl/stringprep_generic.sgml,
-       reference/tmpl/stringprep_kerberos5.sgml,
-       reference/tmpl/stringprep_nameprep.sgml,
-       reference/tmpl/stringprep_xmpp.sgml: Cleanup gtk-doc build.
+2003-03-08  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Cleanup.
 
-       * profiles.c: Zero terminate XMPP array.
+       Fix text.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Fix charset.
 
-       * configure.ac: Bump version (both shared library and package).
+       Fix text.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Make charset selection clearer.
 
-       * NEWS: Add.
+       Fix HTML, based on Martin Duerst's suggestions.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Use valid HTML.
 
-       * example.c, example2.c, gen-unicode-tables.pl, idna.c, internal.h,
-       nfkc.c, punycode.c, stringprep.c, stringprep.h.in, toutf8.c,
-       tst_idna.c, tst_nfkc.c, tst_punycode.c, tst_stringprep.c: Fix CFLAGS
-       warnings.
+       Add.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Sync with RFC.
 
-       * example3.c, example4.c: Fix CFLAGS warnings.  Use official IDNA
-       ACE prefix.
+       Add.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Replace drafts with RFCs.
 
-       * tst_stringprep.c: Cleanups for including as appendix in draft.
+2003-03-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Mention more prereqs.
 
-       * draft-josefsson-idn-test-vectors.xml: Add preliminary version.
+       Remove gtk-doc trigger for obsolete functions.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Move appendix last. Cleanup @copying.
 
-       * profiles.c: Don't optimize prohibited output tables (better trace
-       logs).
+       Dist FAQ and contrib/web/idn.php.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Add. Move todo list to TODO.
 
-       * tst_stringprep.c: More self tests.  More debug info.
+       Add, taken from README.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+2003-03-06  Simon Josefsson  <simon@josefsson.org>
 
-       * stringprep.c: More debug output.
+       ANNOUNCE sync.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Cleanup.
 
-       * : Official results.
+       Update questions and answers.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Moved faq from file README.
 
-       * ChangeLog: [no log message]
+       Move faq to file FAQ. Add donation info. Update todo's.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Security fix.
 
-       * Makefile.am: Improve release target.
+       Add forgotten 0.1.12 items.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Typo.
 
-       * Makefile.am: Add release target.
+       Add debug.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Remove.
 
-       * ChangeLog: [no log message]
+       *** empty log message ***
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Version 0.1.12.
 
-       * NEWS, configure.ac: Version 0.1.7.
+       Remove stringprep_*.h. Document stringprep in idn.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_idna.c: Fix IDNA ACE prefix.
+       Fix ace.
 
-2003-02-12  Simon Josefsson <simon@josefsson.org>
+       Add errors.
 
-       * idna.h: Use official IDNA prefix.
+       Support stringprep.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+       Ignore gengetopt errors.
 
-       * ChangeLog: [no log message]
+       Remove.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+       Add -s and -p for stringprep.
 
-       * Makefile.am: Add upload target.
+       Mention stringprep API changes.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+       Add stringprep_profile().
 
-       * tst_idna.c: Use new IDNA ACE prefix.
+       Cosmetic fix.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+       Deprecate stringprep_*.h.
 
-       * ChangeLog: Update.
+       Add.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+2003-03-04  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Version 0.1.6.
+       Fixup.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+2003-03-02  Simon Josefsson  <simon@josefsson.org>
 
-       * : Add my computation.
+       Fix typo.
 
-2003-02-11  Simon Josefsson <simon@josefsson.org>
+       Reorder.  Add errors.
 
-       * idna.h: Chose IDNA prefix based on my computation.
+       Fix.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Add examples.
 
-       * internal.h: Fix header.
+       Fix ct. Add example.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Add example.
 
-       * stringprep.h.in: Fix.
+       Fix.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * draft-ietf-ips-iscsi-string-prep-03.txt: Add.
+       Examples.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Fix typos.
 
-       * profiles.c: Indent.
+       Move examples to bottom.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Add examples.
 
-       * autogen.sh: Don't run configure.
+       Bug reporting.
 
-2003-02-09  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * Makefile.am: Fix cvs2cl.
+       Charset fixes.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Mention idn.php.
 
-       * README: Fix.
+       Add.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/libidn-docs.sgml: Reorder.
+2003-03-01  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Check for gengetopt.
 
-       * reference/libidn-docs.sgml: Reorder.
+       Use GENGETOPT.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Add glibc 2.3.2.
 
-       * README-alpha: Add build instructions.
+       Bump version.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Update to libc 2.3.2.
 
-       * autogen.sh: Fix.
+2003-02-28  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/tmpl/stringprep_xmpp.sgml: Generated.
+2003-02-27  Simon Josefsson  <simon@josefsson.org>
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Copying conditions.
 
-       * libidn.texi, reference/dummy.c: Add XMPP.
+       Add SASLprep.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Add SASL profile.
 
-       * reference/libidn-docs.sgml: Include xmpp.
+       Test SASL profile.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Don't byte compile elisp. Cleanup EXTRA_DIST.
 
-       * NEWS, reference/tmpl/stringprep_xmpp.sgml: Add.
+       Add copyright.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * reference/libidn-docs.sgml: Update (from ANNOUNCE).
+       Don't ack self.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+2003-02-26  Simon Josefsson  <simon@josefsson.org>
 
-       * profiles.c: Use table C.8 for bidi prohibited instead of C.9.
+       Cleanup extra dist.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Make idn.c depend on idn_cmd.*.
 
-       * Makefile.am, draft-ietf-xmpp-nodeprep-00.txt,
-       draft-ietf-xmpp-resourceprep-00.txt, internal.h, profiles.c,
-       stringprep_xmpp.h, tst_stringprep.c: Support XMPP.
+       Ignore getopt.h.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * draft-ietf-krb-wg-utf8-profile-00.txt: Add.
+       Reorder acks. Add function and variable index.
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Fix TOC.
 
-       * ANNOUNCE: Fix.
+       *** empty log message ***
 
-2003-02-07  Simon Josefsson <simon@josefsson.org>
+       Version 0.1.11.
 
-       * stringprep_generic.h, stringprep_kerberos5.h,
-       stringprep_nameprep.h: Name fix.
+       Distcheck fixes.
 
-2003-02-05  Simon Josefsson <simon@josefsson.org>
+       Document Emacs API.
 
-       * libc/README: Fix.
+       *** empty log message ***
 
-2003-01-31  Simon Josefsson <simon@josefsson.org>
+       Bump versions. Look for help2man.
 
-       * tst_idna.c, tst_punycode.c: Indent.
+       Build idn.1 man page.
 
-2003-01-31  Simon Josefsson <simon@josefsson.org>
+       Document idn.
 
-       * tst_punycode.c: Indent.
+       Mention todo.
 
-2003-01-31  Simon Josefsson <simon@josefsson.org>
+       Build idna.el.
 
-       * example3.c, example4.c, idna.c, stringprep.c, toutf8.c,
-       tst_idna.c, tst_punycode.c: Indent.
+       Elisp interface for IDNA.
 
-2003-01-30  Simon Josefsson <simon@josefsson.org>
+       Add keywords.
 
-       * ANNOUNCE: Fix.
+       Fix doc.
 
-2003-01-30  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * libidn.texi: Typo.
+       Add automake elisp check.
 
-2003-01-29  Simon Josefsson <simon@josefsson.org>
+       Add punycode.el.
 
-       * ANNOUNCE: Mention libc.
+       Elisp interface for punycode.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Fix gengetopt invocation.
 
-       * libc/README: Typo.
+       Print help on usage error. Minor cleanup.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Fix package/version name.
 
-       * reference/Makefile.am: Really ignore netdb.h.
+       Shorten line <80ch.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * ChangeLog: [no log message]
+       Add.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Link with getopt if system doesn't have getopt_long(). Build idn.ggo.
 
-       * configure.ac: Release 0.1.5.
+       Build idn.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Add command line option specification for idn.c.
 
-       * Makefile.am: Dist libc/*.
+       Add command line interface to library.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+2003-02-25  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/Makefile.am: Ignore netdb.h.
+       Add.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+2003-02-21  Simon Josefsson  <simon@josefsson.org>
 
-       * libc/README: Fix.
+       NFKC XMPP resourceprep.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       NFKC XMPP nodeprep.
 
-       * libc/README: Fix.
+       *** empty log message ***
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Version 0.1.10.
 
-       * libc/README: Add.
+       Distribute libidn-stringprep-iscsi.html.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * NEWS, libc/.cvsignore, libc/Makefile, libc/README, libc/Versions,
-       libc/configure, libc/example.c, libc/getaddrinfo.c,
-       libc/libc.patch, libc/netdb.h: Libidn as libc add-on.
+       Deprecate idna_*_to_ace() and idna_*ace_to_*(). Add idna_to_ascii_from_*() and idna_to_unicode_*_from_*().
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Make release project independent.
 
-       * .cvsignore: [no log message]
+       Add.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Add iSCSI profile.
 
-       * idna.c, idna.h: Return new error code IDNA_ICONV_ERROR instead of
-       crashing when character set conversion fails.
+       Add.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Bump versions.
 
-       * toutf8.c: Fix prototype.  Move unused parameter unless
-       LOCALE_WORKS.
+       Add.
 
-2003-01-28  Simon Josefsson <simon@josefsson.org>
+       Distribute contrib/*.
 
-       * internal.h: Work from within GNU Libc.
+       Describe contents of contrib/.
 
-2003-01-27  Simon Josefsson <simon@josefsson.org>
+       Add Stephane Bortzmeyer's python interface.
 
-       * THANKS: Add ack.
+       Install punycode.h.
 
-2003-01-27  Simon Josefsson <simon@josefsson.org>
+       Install idna.h, tiny patch from Stephane Bortzmeyer.
 
-       * libidn.texi: Point to THANKS for more acks.
+2003-02-20  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-27  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * idna.c: Fix possible memory corruption.  Noncopyrightable patch
-       from Waldo Bastian <bastian@kde.org>.
+       Version 0.1.9.
 
-2003-01-27  Simon Josefsson <simon@josefsson.org>
+       Include stringprep_plain.sgml.
 
-       * ChangeLog: [no log message]
+       Add libidn-stringprep-plain.html.
 
-2003-01-20  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * configure.ac: Change bug email address.
+       Fix last commit.
 
-2003-01-18  Simon Josefsson <simon@josefsson.org>
+       Mention stringprep_plain.h.
 
-       * Makefile.am: Generate ChangeLog with --no-times.
+       Add stringprep_plain.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Don't case fold XMPP resources.
 
-       * ChangeLog: [no log message]
+       Really fix XMPP definition.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add stringprep_plain.h.
 
-       * ChangeLog, NEWS, configure.ac: Release 0.1.4.
+       Bump versions.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Sync ANNOUNCE.
 
-       * toutf8.c: Fix functions on bad platforms.
+       Mention SASL "plain".
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * stringprep.c: Add comment.
+       Remove broken XMPP tests. Add SASL test.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_idna.c: Test step 5 in ToASCII.
+       Include stringprep_plain.h.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add stringprep_plain for SASL ANONYMOUS plain profile.
 
-       * idna.c, idna.h: Fix ToASCII().
+       Fix XMPP definition.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       New file.
 
-       * libidn.texi: Fix copyright.
+2003-02-19  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * libidn.texi: Fix dir entry.
+       Add.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Don't normalize or map ASCII space for XMPP nodeprep.  Tiny patch from Travis Shirk <TShirk@jabber.com>.
 
-       * Makefile.am: Use automake's ps and pdf texinfo targets.  Remove
-       txt texinfo target.
+2003-02-18  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * Makefile.am: EXTRA_DIST lgplg.texi.  Disable GTK-DOC for distcheck
-       builds (doesn't work).
+2003-02-15  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Make sure decoded punycode data is zero terminated.
 
-       * reference/Makefile.am: Add uninstall target.  Fix distcheck
-       builds.
+       Fix memory leak.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix memory leaks. Waste less memory.
 
-       * lgpl.texi, libidn.texi: Add acknowledgements, lgpl.
+       Fix memory leak.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+2003-02-14  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvsignore: [no log message]
+       Fix.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * Makefile.am, configure.ac, example.c, example2.c, idna.c, idna.h,
-       libidn.texi, nfkc.c, profiles.c, punycode.c, punycode.h,
-       stringprep.c, stringprep.h.in, toutf8.c, tst_idna.c, tst_nfkc.c,
-       tst_punycode.c, tst_stringprep.c, version.c: Comment cleanup.
+       Fix maplen calculation.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix gcc warnings.
 
-       * .cvsignore: [no log message]
+       Change STRINGPREP_MAX_MAP_CHARS to 4 to waste less space.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am, reference/dummy.c: Improve texinfo manual.
+       Version 0.1.8.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       GTK-DOC fix.
 
-       * stringprep.c: Add doc.
+       Update port status.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Use = instead of == as test operator.
 
-       * libidn.texi: Add.
+2003-02-13  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Use size_t for string lengths.
 
-       * README: Remove API documentation.
+       Revert missing-noreturn fix.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Use size_t for string lengths.
 
-       * ChangeLog: [no log message]
+       Condition GTK-DOC and disable by default.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * NEWS, configure.ac: Release 0.1.3.
+       Remove.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Cleanup gtk-doc build.
 
-       * .cvsignore, Makefile.am, fdl.texi, gdoc, libidn.texi: Add texinfo
-       manual.
+       Zero terminate XMPP array.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Bump version (both shared library and package).
 
-       * example2.c: Fix for texinfiscation.
+       Add.
 
-2003-01-15  Simon Josefsson <simon@josefsson.org>
+       Fix CFLAGS warnings.
 
-       * nfkc.c: Doc fixes.
+       Fix CFLAGS warnings. Use official IDNA ACE prefix.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+2003-02-12  Simon Josefsson  <simon@josefsson.org>
 
-       * README-alpha: Add.
+       Cleanups for including as appendix in draft.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add preliminary version.
 
-       * ChangeLog: [no log message]
+       Don't optimize prohibited output tables (better trace logs).
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       More self tests. More debug info.
 
-       * NEWS, configure.ac: Release 0.1.2.
+       More debug output.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Official results.
 
-       * example4.c, reference/tmpl/idna.sgml: Fix.
+       *** empty log message ***
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Improve release target.
 
-       * .cvsignore, Makefile.am, example3.c, example4.c, idna.c, idna.h,
-       stringprep.h.in, toutf8.c: IDNA high-level API.
+       Add release target.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * reference/tmpl/idna.sgml, reference/tmpl/stringprep.sgml: Add.
+       Version 0.1.7.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Fix IDNA ACE prefix.
 
-       * ChangeLog: [no log message]
+       Use official IDNA prefix.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+2003-02-11  Simon Josefsson  <simon@josefsson.org>
 
-       * NEWS, configure.ac: Release 0.1.1.
+       *** empty log message ***
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add upload target.
 
-       * reference/Makefile.am: dist dummy.c.
+       Use new IDNA ACE prefix.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Update.
 
-       * autogen.sh: Run configure.
+       Version 0.1.6.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add my computation.
 
-       * reference/tmpl/.cvsignore, reference/tmpl/idna.sgml,
-       reference/tmpl/punycode.sgml, reference/tmpl/stringprep.sgml,
-       reference/tmpl/stringprep_generic.sgml,
-       reference/tmpl/stringprep_kerberos5.sgml,
-       reference/tmpl/stringprep_nameprep.sgml: Fix.
+       Chose IDNA prefix based on my computation.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+2003-02-09  Simon Josefsson  <simon@josefsson.org>
 
-       * reference/Makefile.am, reference/tmpl/idna.sgml,
-       reference/tmpl/punycode.sgml, reference/tmpl/stringprep.sgml,
-       reference/tmpl/stringprep_generic.sgml,
-       reference/tmpl/stringprep_kerberos5.sgml,
-       reference/tmpl/stringprep_nameprep.sgml: Add templates.  Don't parse
-       internal.h
+       Fix header.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * reference/libidn-docs.sgml: Add ANNOUNCE text.
+       Add.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * reference/dummy.c: Add.
+       Don't run configure.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Fix cvs2cl.
 
-       * toutf8.c, version.c: Doc fix.
+2003-02-07  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * idna.c, stringprep.c: Doc fix.
+       Reorder.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Reorder.
 
-       * nfkc.c, stringprep.c, version.c: Add GTK-DOC documentation.
+       Add build instructions.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * reference/Makefile.am, reference/dummy.c: Dummy GTK-DOC C file
-       with documentation for #define macros.
+       Generated.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add XMPP.
 
-       * stringprep.h.in: GTK-DOC fixes.
+       Include xmpp.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * toutf8.c: Add GTK-DOC documentation.
+       Update (from ANNOUNCE).
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Use table C.8 for bidi prohibited instead of C.9.
 
-       * reference/.cvsignore: [no log message]
+       Support XMPP.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * punycode.c: Add GTK-DOC documentation.
+       Fix.
 
-2003-01-08  Simon Josefsson <simon@josefsson.org>
+       Name fix.
 
-       * Makefile.am, configure.ac, reference/Makefile.am,
-       reference/libidn-docs.sgml, reference/libidn.types: Add API
-       Reference Manual.
+2003-02-05  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ChangeLog: [no log message]
+2003-01-31  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * configure.ac: Release 0.1.0.
+       Indent.
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * Makefile.am: Fix ChangeLog in distcheck.
+2003-01-30  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * README, README-alpha: Fix.
+       Typo.
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+2003-01-29  Simon Josefsson  <simon@josefsson.org>
 
-       * Makefile.am, idna.h: Add.
+       Mention libc.
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+2003-01-28  Simon Josefsson  <simon@josefsson.org>
 
-       * tst_idna.c: Check idna_to_unicode().
+       Typo.
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Really ignore netdb.h.
 
-       * idna.c: Fix.
+       *** empty log message ***
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Release 0.1.5.
 
-       * tst_punycode.c: Check decoding.
+       Dist libc/*.
 
-2003-01-05  Simon Josefsson <simon@josefsson.org>
+       Ignore netdb.h.
 
-       * README-alpha: Add.
+       Fix.
 
-2003-01-04  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ANNOUNCE: Fix.
+       Add.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Libidn as libc add-on.
 
-       * README-alpha: Rename.
+       *** empty log message ***
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Return new error code IDNA_ICONV_ERROR instead of crashing when character set conversion fails.
 
-       * NEWS: Fix.
+       Fix prototype.  Move unused parameter unless LOCALE_WORKS.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Work from within GNU Libc.
 
-       * Makefile.am: Build IDNA.
+2003-01-27  Simon Josefsson  <simon@josefsson.org>
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Add ack.
 
-       * AUTHORS: Rename.
+       Point to THANKS for more acks.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Fix possible memory corruption.  Noncopyrightable patch from Waldo Bastian <bastian@kde.org>.
 
-       * ANNOUNCE, NEWS: Fix.
+       *** empty log message ***
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+2003-01-20  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvsignore, README, idna.c, idna.h, internal.h, tst_idna.c: Add
-       unfinished old IDNA stuff.
+       Change bug email address.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+2003-01-18  Simon Josefsson  <simon@josefsson.org>
 
-       * libidn.pc.in: Rename and fix.
+       Generate ChangeLog with --no-times.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+2003-01-15  Simon Josefsson  <simon@josefsson.org>
 
-       * README: Rename.
+       *** empty log message ***
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Release 0.1.4.
 
-       * THANKS, draft-ietf-idn-idna-14.txt,
-       draft-ietf-idn-nameprep-11.txt: Add.
+       Fix functions on bad platforms.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Add comment.
 
-       * Makefile.am, THANKS, configure.ac: Rename.
+       Test step 5 in ToASCII.
 
-2003-01-03  Simon Josefsson <simon@josefsson.org>
+       Fix ToASCII().
 
-       * libidn.pc.in, libstringprep.pc.in: Rename libstringprep.pc.in to
-       libidn.pc.in.
+       Fix copyright.
 
-2003-01-02  Simon Josefsson <simon@josefsson.org>
+       Fix dir entry.
 
-       * Makefile.am, draft-hoffman-stringprep-07.txt,
-       gen-stringprep-tables.pl, rfc3454.txt: Use rfc3454.txt instead of
-       draft-hoffman-stringprep-07.txt.
+       Use automake's ps and pdf texinfo targets. Remove txt texinfo target.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       EXTRA_DIST lgplg.texi. Disable GTK-DOC for distcheck builds (doesn't work).
 
-       * ANNOUNCE: Fix.
+       Add uninstall target. Fix distcheck builds.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Add acknowledgements, lgpl.
 
-       * ANNOUNCE: Cleanup.
+       *** empty log message ***
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Comment cleanup.
 
-       * ANNOUNCE: Initiate name change for savannah project registration.
+       *** empty log message ***
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Improve texinfo manual.
 
-       * tst_punycode.c: Fixes.
+       Add doc.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_stringprep.c: Fix.
+       Remove API documentation.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * README-alpha: Add.
+       Release 0.1.3.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Add texinfo manual.
 
-       * ANNOUNCE: Fix.
+       Fix for texinfiscation.
 
-2002-12-26  Simon Josefsson <simon@josefsson.org>
+       Doc fixes.
 
-       * ANNOUNCE: Fix.
+2003-01-08  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-19  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * .cvsignore, Makefile.am, NEWS, configure.ac,
-       draft-ietf-idn-punycode-03.txt, example.c, example2.c, internal.h,
-       nfkc.c, punycode.c, punycode.h, stringprep.c, stringprep.h.in,
-       tst_punycode.c: Add punycode.  Use "unsigned long" for Unicode code
-       points.  Copying condition fixes.  Fixes.
+       *** empty log message ***
 
-2002-12-14  Simon Josefsson <simon@josefsson.org>
+       Release 0.1.2.
 
-       * Makefile.am: Make sure ChangeLog is regenerated.
+       Fix.
 
-2002-12-13  Simon Josefsson <simon@josefsson.org>
+       IDNA high-level API.
 
-       * ChangeLog: [no log message]
+       Add.
 
-2002-12-13  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * ChangeLog: [no log message]
+       Release 0.1.1.
 
-2002-12-13  Simon Josefsson <simon@josefsson.org>
+       dist dummy.c.
 
-       * NEWS, configure.ac: Release 0.0.8.
+       Run configure.
 
-2002-12-13  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * AUTHORS, Makefile.am, NEWS, README, THANKS, configure.ac,
-       internal.h, libstringprep.pc.in, strdup.c, stringprep.c,
-       stringprep_generic.h, stringprep_kerberos5.h,
-       stringprep_nameprep.h, toutf8.c, tst_nfkc.c, tst_stringprep.c: 
-       Portability fixes.
+       Add templates. Don't parse internal.h
 
-2002-12-13  Simon Josefsson <simon@josefsson.org>
+       Add ANNOUNCE text.
 
-       * Makefile.am: Link with libiconv.
+       Add.
 
-2002-12-10  Simon Josefsson <simon@josefsson.org>
+       Doc fix.
 
-       * stringprep.c: Don't use uint32_t in one odd place.
+       Doc fix.
 
-2002-12-10  Simon Josefsson <simon@josefsson.org>
+       Add GTK-DOC documentation.
 
-       * autogen.sh: [no log message]
+       Dummy GTK-DOC C file with documentation for #define macros.
 
-2002-12-10  Simon Josefsson <simon@josefsson.org>
+       GTK-DOC fixes.
 
-       * stringprep.c: Flawfinder.
+       Add GTK-DOC documentation.
 
-2002-12-10  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * toutf8.c: Fix.
+       Add GTK-DOC documentation.
 
-2002-12-10  Simon Josefsson <simon@josefsson.org>
+       Add API Reference Manual.
 
-       * stringprep.h.in: Remove comma on last enum entry.
+2003-01-05  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * tst_nfkc.c: Fix memory leak.
+       Release 0.1.0.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Fix ChangeLog in distcheck.
 
-       * autogen.sh: Suggest dmalloc.
+       Fix.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * configure.ac, internal.h, stringprep.c: Use dmalloc.  Fix memory
-       leak when bidi fails.
+       Check idna_to_unicode().
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tst_stringprep.c: Check version.
+       Check decoding.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * ChangeLog: [no log message]
+2003-01-04  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * NEWS, configure.ac: Release 0.0.7 (version 0.0.6 was abandoned).
+2003-01-03  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Rename.
 
-       * ChangeLog: [no log message]
+       Fix.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Build IDNA.
 
-       * configure.ac: Release 0.0.6.
+       Rename.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * tst_stringprep.c: Check all upper string case mapping.
+       Add unfinished old IDNA stuff.
 
-2002-12-09  Simon Josefsson <simon@josefsson.org>
+       Rename and fix.
 
-       * stringprep.c: Apply table until it can't be applied any longer.
+       Rename.
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * tst_stringprep.c: Add nameprep vector.
+       Rename.
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Rename libstringprep.pc.in to libidn.pc.in.
 
-       * example.c: Cosmetic fix.
+2003-01-02  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Use rfc3454.txt instead of draft-hoffman-stringprep-07.txt.
 
-       * stringprep.c: Fix printf() format warnings.  Fix bidi table for
-       loop (affected only nameprep).
+2002-12-27  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * ChangeLog: [no log message]
+2002-12-26  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Cleanup.
 
-       * NEWS: Release 0.0.5.
+       Initiate name change for savannah project registration.
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * Makefile.am, configure.ac: Add memset.c, an AC_LIBOBJ.
+       Fix.
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Add.
 
-       * memset.c: An AC_LIBOBJ, from gnulib.
+       Fix.
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Fix.
 
-       * profiles.c, stringprep.c, stringprep.h.in: Indent.
+2002-12-19  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Add punycode. Use "unsigned long" for Unicode code points. Copying condition fixes. Fixes.
 
-       * README: Use new types.
+2002-12-14  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Make sure ChangeLog is regenerated.
 
-       * profiles.c, stringprep.c, stringprep.h.in, tst_stringprep.c: 
-       Fixes.
+2002-12-13  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * profiles.c, stringprep.c, tst_stringprep.c: Fix bidi code and add
-       self tests.
+       *** empty log message ***
 
-2002-12-07  Simon Josefsson <simon@josefsson.org>
+       Release 0.0.8.
 
-       * gen-stringprep-tables.pl, profiles.c, stringprep.c,
-       stringprep.h.in, stringprep_generic.h, stringprep_kerberos5.h,
-       stringprep_nameprep.h, tst_stringprep.c: Clean up internal profiling
-       definitions.
+       Portability fixes.
 
-2002-12-06  Simon Josefsson <simon@josefsson.org>
+       Link with libiconv.
 
-       * example.c: Fix typo.
+2002-12-10  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-06  Simon Josefsson <simon@josefsson.org>
+       Don't use uint32_t in one odd place.
 
-       * ChangeLog: [no log message]
+       *** empty log message ***
 
-2002-12-06  Simon Josefsson <simon@josefsson.org>
+       Flawfinder.
 
-       * configure.ac: Release 0.0.4.
+       Fix.
 
-2002-12-06  Simon Josefsson <simon@josefsson.org>
+       Remove comma on last enum entry.
 
-       * NEWS, README, profiles.c, stringprep.c, stringprep.h.in,
-       stringprep_nameprep.h, tst_stringprep.c: Add unassigned code point
-       handling, and self test.
+2002-12-09  Simon Josefsson  <simon@josefsson.org>
 
-2002-12-06  Simon Josefsson <simon@josefsson.org>
+       Fix memory leak.
 
-       * tst_stringprep.c: Don't modify constant string during debug.
+       Suggest dmalloc.
 
-2002-12-05  Simon Josefsson <simon@josefsson.org>
+       Use dmalloc.  Fix memory leak when bidi fails.
 
-       * ChangeLog: [no log message]
+       Check version.
 
-2002-12-05  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * stringprep.c: Don't use *_fast().
+       Release 0.0.7 (version 0.0.6 was abandoned).
 
-2002-12-05  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * Makefile.am: Don't use $< (GNU specific).
+       Release 0.0.6.
 
-2002-12-03  Simon Josefsson <simon@josefsson.org>
+       Check all upper string case mapping.
 
-       * Makefile.am: Portability fixes.
+       Apply table until it can't be applied any longer.
 
-2002-12-03  Simon Josefsson <simon@josefsson.org>
+2002-12-07  Simon Josefsson  <simon@josefsson.org>
 
-       * internal.h, nfkc.c, stringprep.c, toutf8.c, tst_nfkc.c,
-       tst_stringprep.c, version.c: Simplify the #include-mess. (NULL
-       wasn't found on alpha-unknown-netbsd1.6)
+       Add nameprep vector.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Cosmetic fix.
 
-       * autogen.sh: Add --enable-maintainer-mode.
+       Fix printf() format warnings. Fix bidi table for loop (affected only nameprep).
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * .cvsignore: [no log message]
+       Release 0.0.5.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Add memset.c, an AC_LIBOBJ.
 
-       * ChangeLog, config.rpath: [no log message]
+       An AC_LIBOBJ, from gnulib.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Indent.
 
-       * NEWS, configure.ac: Release 0.0.3.
+       Use new types.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Fixes.
 
-       * Makefile.am, configure.ac, strdup.c: Add replacement strdup.c for
-       system's without it.  Increment shared library version.  Trim
-       autoconf tests.
+       Fix bidi code and add self tests.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Clean up internal profiling definitions.
 
-       * README: Added copying conditions.  Added more API documentation.
+2002-12-06  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Fix typo.
 
-       * THANKS: Add copying conditions.
+       *** empty log message ***
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Release 0.0.4.
 
-       * AUTHORS: Add copying conditions and public key.
+       Add unassigned code point handling, and self test.
 
-2002-11-30  Simon Josefsson <simon@josefsson.org>
+       Don't modify constant string during debug.
 
-       * Makefile.am, example.c, nfkc.c, stringprep.h.in, tst_stringprep.c: 
-       Export stringprep_utf8_to_unichar.  Rename stringprep_utf8_to_ucs4_fast to stringprep_utf8_to_ucs4 to
-       clean up API (old entry maintained for binary backwards
-       compatibility though).  Indent.  Add sign make target.
+2002-12-05  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-29  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * nfkc.c, profiles.c, toutf8.c: indent
+       Don't use *_fast().
 
-2002-11-29  Simon Josefsson <simon@josefsson.org>
+       Don't use $< (GNU specific).
 
-       * stringprep.c: improve debugging output
+2002-12-03  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-29  Simon Josefsson <simon@josefsson.org>
+       Portability fixes.
 
-       * autogen.sh: pass CFLAGS directly
+       Simplify the #include-mess. (NULL wasn't found on alpha-unknown-netbsd1.6)
 
-2002-11-14  Simon Josefsson <simon@josefsson.org>
+2002-11-30  Simon Josefsson  <simon@josefsson.org>
 
-       * .cvsignore: [no log message]
+       Add --enable-maintainer-mode.
 
-2002-11-14  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * configure.ac: AC_PROG_RANLIB obsoleted by libtool.
+       *** empty log message ***
 
-2002-11-14  Simon Josefsson <simon@josefsson.org>
+       Release 0.0.3.
 
-       * autogen.sh: Use autoreconf.
+       Add replacement strdup.c for system's without it. Increment shared library version. Trim autoconf tests.
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       Added copying conditions. Added more API documentation.
 
-       * example.c: improve comment
+       Add copying conditions.
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       Add copying conditions and public key.
 
-       * Makefile.am: add dependency
+2002-11-30  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       Export stringprep_utf8_to_unichar.
+       Rename stringprep_utf8_to_ucs4_fast to stringprep_utf8_to_ucs4 to
+       clean up API (old entry maintained for binary backwards compatibility
+       though).
 
-       * ChangeLog: [no log message]
+       Indent.
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       Add sign make target.
 
-       * NEWS, configure.ac: Release 0.0.2.
+2002-11-29  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       indent
 
-       * toutf8.c: Remove unused variable.
+       improve debugging output
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       pass CFLAGS directly
 
-       * stringprep.c: Fix memory leak.
+2002-11-14  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-07  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * .cvsignore, Makefile.am, tst_nfkc.c, tst_stringprep.c: Add NFKC
-       self test.
+       AC_PROG_RANLIB obsoleted by libtool.
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       Use autoreconf.
 
-       * stringprep.h.in, toutf8.c: Cosmetic fixes.
+2002-11-07  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       improve comment
 
-       * ANNOUNCE: Add.
+       add dependency
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       *** empty log message ***
 
-       * README: Explain why GLIB is not used.
+       Release 0.0.2.
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       Remove unused variable.
 
-       * ChangeLog: [no log message]
+       Fix memory leak.
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       Add NFKC self test.
 
-       * ChangeLog, Makefile.am, README: Build fixes.
+2002-11-06  Simon Josefsson  <simon@josefsson.org>
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       Cosmetic fixes.
 
-       * .cvsignore, Makefile.am, NEWS, README, THANKS, autogen.sh,
-       configure.ac, example.c, iconv.m4, libstringprep.pc.in, profiles.c,
-       stringprep.h.in, stringprep_generic.h, stringprep_kerberos5.h,
-       stringprep_nameprep.h, toutf8.c: Add example.  Add toutf8.c.  Check
-       if OS has locale functions.  Add -R to pkg-config info file.  Moved
-       profile variables to profile.c from header files.
+       Add.
 
-2002-11-06  Simon Josefsson <simon@josefsson.org>
+       Explain why GLIB is not used.
 
-       * ChangeLog: [no log message]
+       *** empty log message ***
 
-2002-11-05  Simon Josefsson <simon@josefsson.org>
+       Build fixes.
 
-       * Initial version.
+       Add example. Add toutf8.c. Check if OS has locale functions. Add -R to pkg-config info file. Moved profile variables to profile.c from header files.
 
-       -----
+       *** empty log message ***
 
-       Copyright (C) 2002-2012 Simon Josefsson
+2002-11-05  Simon Josefsson  <simon@josefsson.org>
 
-       Copying and distribution of this file, with or without
-       modification, are permitted provided the copyright notice
-       and this notice are preserved.
+       Initial version.
diff --git a/FAQ b/FAQ
index e3b1f27..7fc2b22 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -1,5 +1,5 @@
 Libidn FAQ -- Anticipated Frequently Asked Questions.
-Copyright (C) 2002-2012 Simon Josefsson
+Copyright (C) 2002-2024 Simon Josefsson
 See the end for copying conditions.
 
 Q#1: Why doesn't Libidn use a separate library for the Unicode
index 58f2ead..0f469c8 100644 (file)
@@ -5,7 +5,7 @@
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2024 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
@@ -18,7 +18,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # If the user runs GNU make but has not yet run ./configure,
 # give them a diagnostic.
@@ -26,7 +26,7 @@ _gl-Makefile := $(wildcard [M]akefile)
 ifneq ($(_gl-Makefile),)
 
 # Make tar archive easier to reproduce.
-export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --sort=name
 
 # Allow the user to add to this in the Makefile.
 ALL_RECURSIVE_TARGETS =
@@ -104,7 +104,7 @@ endif
 
 abort-due-to-no-makefile:
        @echo There seems to be no Makefile in this directory.   1>&2
-       @echo "You must run ./configure before running 'make'." 1>&2
+       @echo "You must run ./configure before running '$(MAKE)'." 1>&2
        @exit 1
 
 endif
diff --git a/HACKING b/HACKING
deleted file mode 100644 (file)
index 45fe63f..0000000
--- a/HACKING
+++ /dev/null
@@ -1,75 +0,0 @@
-Libidn HACKING -- Information for contributors.                 -*- outline -*-
-Copyright (C) 2009-2012 Simon Josefsson
-See the end for copying conditions.
-
-This file contains instructions for developers and advanced users that
-wants to build from version controlled sources.
-
-We require several tools to build the software, including:
-
-- Make <http://www.gnu.org/software/make/>
-- Automake <http://www.gnu.org/software/automake/>
-- Autoconf <http://www.gnu.org/software/autoconf/>
-- Libtool <http://www.gnu.org/software/libtool/>
-- Gettext <http://www.gnu.org/software/gettext/>
-- Texinfo <http://www.gnu.org/software/texinfo/>
-- Gperf <http://www.gnu.org/software/gperf/>
-- help2man <http://www.gnu.org/software/help2man/>
-- Gengetopt <http://www.gnu.org/software/gengetopt/>
-- Tar <http://www.gnu.org/software/tar/>
-- Gzip <http://www.gnu.org/software/gzip/>
-- Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual)
-- CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint)
-- GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual)
-- Git <http://git.or.cz/>
-- Perl <http://www.cpan.org/>
-- Valgrind <http://valgrind.org/> (optional)
-- Gcj <http://www.gnu.org/software/gcc/java/> (for java port)
-- gjdoc <http://www.gnu.org/software/classpath/cp-tools/> (for java port)
-- Mono mcs <http://www.mono.org/> (for C# port)
-- fig2dev <http://www-epb.lbl.gov/xfig/>
-
-The required software is typically distributed with your operating
-system, and the instructions for installing them differ.  Here are
-some hints:
-
-gNewSense/Debian/Ubuntu:
-apt-get install make git-core autoconf automake libtool gettext cvs
-apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils
-apt-get install help2man gtk-doc-tools valgrind gengetopt
-apt-get install gcj-jdk gjdoc transfig mono-mcs binfmt-support gperf
-
-To download the version controlled sources:
-
-$ git clone git://git.savannah.gnu.org/libidn.git
-$ cd libidn
-
-The next step is to run autoreconf, ./configure, etc:
-
-$ make bootstrap
-
-Then build the project normally:
-
-$ make
-$ make check
-
-When building from version controlled sources, some developer specific
-flags are automatically enabled.  For example, the self-checks are run
-under valgrind if available.  For various reasons, you may run into
-valgrind false positives that will cause self-checks to fail.  We ship
-a Valgrind suppression file to address common issues.  You can use it
-by putting the following in your ~/.valgrindrc:
-
---suppressions=/path/to/libidn/tests/libidn.supp
-
-To prepare releases (see rules in cfg.mk) you need some additional
-tools:
-
-apt-get install pmccabe mingw-w64 wine clang lcov
-
-Happy hacking!
-
-----------------------------------------------------------------------
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
diff --git a/INSTALL b/INSTALL
index a1e89e1..94b917d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
 Basic Installation
 ==================
 
-   Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
+   The following shell commands:
+
+     test -f configure || ./bootstrap
+     ./configure
+     make
+     make install
+
+should configure, build, and install this package.  The first line,
+which bootstraps, is intended for developers; when building from
+distribution tarballs it does nothing and can be skipped.
+
+   The following more-detailed instructions are generic; see the
+‘README’ file for instructions specific to this package.  Some packages
+provide this ‘INSTALL’ file but do not implement all of the features
+documented below.  The lack of an optional feature in a given package is
+not necessarily a bug.  More recommendations for GNU packages can be
+found in the GNU Coding Standards.
+
+   Many packages have scripts meant for developers instead of ordinary
+builders, as they may use developer tools that are less commonly
+installed, or they may access the network, which has privacy
+implications.  If the ‘bootstrap’ shell script exists, it attempts to
+build the ‘configure’ shell script and related files, possibly using
+developer tools or the network.  Because the output of ‘bootstrap’ is
+system-independent, it is normally run by a package developer so that
+its output can be put into the distribution tarball and ordinary
+builders and users need not run ‘bootstrap’.  Some packages have
+commands like ‘./autopull.sh’ and ‘./autogen.sh’ that you can run
+instead of ‘./bootstrap’, for more fine-grained control over
+bootstrapping.
+
+   The ‘configure’ shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
+those values to create a ‘Makefile’ in each directory of the package.
+It may also create one or more ‘.h’ files containing system-dependent
+definitions.  Finally, it creates a shell script ‘config.status’ that
 you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file ‘config.log’ containing output useful for debugging ‘configure’.
 
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+   It can also use an optional file (typically called ‘config.cache’ and
+enabled with ‘--cache-file=config.cache’ or simply ‘-C’) that saves the
+results of its tests to speed up reconfiguring.  Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
 
    If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how ‘configure’ could check whether to do them, and mail
+diffs or instructions to the address given in the ‘README’ so they can
 be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point ‘config.cache’ contains results you don’t want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+   The ‘autoconf’ program generates ‘configure’ from the file
+‘configure.ac’.  Normally you should edit ‘configure.ac’ instead of
+editing ‘configure’ directly.
 
    The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+  1. ‘cd’ to the directory containing the package’s source code.
+
+  2. If this is a developer checkout and file ‘configure’ does not yet
+     exist, type ‘./bootstrap’ to create it.  You may need special
+     developer tools and network access to bootstrap, and the network
+     access may have privacy implications.
 
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
+  3. Type ‘./configure’ to configure the package for your system.  This
+     might take a while.  While running, ‘configure’ prints messages
+     telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+  4. Type ‘make’ to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
+  5. Optionally, type ‘make check’ to run any self-tests that come with
      the package, generally using the just-built uninstalled binaries.
 
-  4. Type `make install' to install the programs and any data files and
+  6. Type ‘make install’ to install the programs and any data files and
      documentation.  When installing into a prefix owned by root, it is
      recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
+     user, and only the ‘make install’ phase executed with root
      privileges.
 
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
+  7. Optionally, type ‘make installcheck’ to repeat any self-tests, but
      this time using the binaries in their final installed location.
      This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
+     regular user, particularly if the prior ‘make install’ required
      root privileges, verifies that the installation completed
      correctly.
 
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
+  8. You can remove the program binaries and object files from the
+     source code directory by typing ‘make clean’.  To also remove the
+     files that ‘configure’ created (so you can compile the package for
+     a different kind of computer), type ‘make distclean’.  There is
+     also a ‘make maintainer-clean’ target, but that is intended mainly
+     for the package’s developers.  If you use it, you may have to
+     bootstrap again.
+
+  9. If the package follows the GNU Coding Standards, you can type ‘make
+     uninstall’ to remove the installed files.
 
 Compilers and Options
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
+the ‘configure’ script does not know about.  Run ‘./configure --help’
 for details on some of the pertinent environment variables.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
+   You can give ‘configure’ initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here is
+an example:
 
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+     ./configure CC=gcc CFLAGS=-g LIBS=-lposix
 
-   *Note Defining Variables::, for more details.
+   See “Defining Variables” for more details.
 
 Compiling For Multiple Architectures
 ====================================
 
    You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
+same time, by placing the object files for each system in their own
+directory.  To do this, you can use GNU ‘make’.  ‘cd’ to the directory
+where you want the object files and executables to go and run the
+‘configure’ script.  ‘configure’ automatically checks for the source
+code in the directory that ‘configure’ is in and in ‘..’.  This is known
+as a “VPATH” build.
+
+   With a non-GNU ‘make’, it is safer to compile the package for one
+system at a time in the source code directory.  After you have installed
+the package for one system, use ‘make distclean’ before reconfiguring
+for another system.
+
+   Some platforms, notably macOS, support “fat” or “universal” binaries,
+where a single binary can execute on different architectures.  On these
+platforms you can configure and compile just once, with options specific
+to that platform.
 
 Installation Names
 ==================
 
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+   By default, ‘make install’ installs the package’s commands under
+‘/usr/local/bin’, include files under ‘/usr/local/include’, etc.  You
+can specify an installation prefix other than ‘/usr/local’ by giving
+‘configure’ the option ‘--prefix=PREFIX’, where PREFIX must be an
 absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option ‘--exec-prefix=PREFIX’ to ‘configure’, the package uses
 PREFIX as the prefix for installing programs and libraries.
 Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like ‘--bindir=DIR’ to specify different values for particular
+kinds of files.  Run ‘configure --help’ for a list of the directories
+you can set and what kinds of files go in them.  In general, the default
+for these options is expressed in terms of ‘${prefix}’, so that
+specifying just ‘--prefix’ will affect all of the other directory
 specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to ‘configure’; however, many packages provide one or
 both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+‘make install’ command line to change installation locations without
 having to reconfigure or recompile.
 
    The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
+affected directory.  For example, make install
+prefix=/alternate/directory will choose an alternate location for all
 directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+‘${prefix}’.  Any directories that were specified during ‘configure’,
+but not in terms of ‘${prefix}’, must each be overridden at install time
+for the entire installation to be relocated.  The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation.  However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the ‘DESTDIR’ variable.  For
+example, ‘make install DESTDIR=/alternate/directory’ will prepend
+‘/alternate/directory’ before all installation names.  The approach of
+‘DESTDIR’ overrides is not required by the GNU Coding Standards, and
 does not work on platforms that have drive letters.  On the other hand,
 it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of ‘${prefix}’
+at ‘configure’ time.
 
 Optional Features
 =================
 
    If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+with an extra prefix or suffix on their names by giving ‘configure’ the
+option ‘--program-prefix=PREFIX’ or ‘--program-suffix=SUFFIX’.
 
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+   Some packages pay attention to ‘--enable-FEATURE’ and
+‘--disable-FEATURE’ options to ‘configure’, where FEATURE indicates an
+optional part of the package.  They may also pay attention to
+‘--with-PACKAGE’ and ‘--without-PACKAGE’ options, where PACKAGE is
+something like ‘gnu-ld’.  ‘./configure --help’ should mention the
+‘--enable-...’ and ‘--with-...’ options that the package recognizes.
 
    Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+execution of ‘make’ will be.  For these packages, running ‘./configure
+--enable-silent-rules’ sets the default to minimal output, which can be
+overridden with ‘make V=1’; while running ‘./configure
+--disable-silent-rules’ sets the default to verbose, which can be
+overridden with ‘make V=0’.
+
+Specifying a System Type
+========================
+
+   By default ‘configure’ builds for the current system.  To create
+binaries that can run on a different system type, specify a
+‘--host=TYPE’ option along with compiler variables that specify how to
+generate object code for TYPE.  For example, to create binaries intended
+to run on a 64-bit ARM processor:
+
+     ./configure --host=aarch64-linux-gnu \
+        CC=aarch64-linux-gnu-gcc \
+        CXX=aarch64-linux-gnu-g++
+
+If done on a machine that can execute these binaries (e.g., via
+‘qemu-aarch64’, ‘$QEMU_LD_PREFIX’, and Linux’s ‘binfmt_misc’
+capability), the build behaves like a native build.  Otherwise it is a
+cross-build: ‘configure’ will make cross-compilation guesses instead of
+running test programs, and ‘make check’ will not work.
+
+   A system type can either be a short name like ‘mingw64’, or a
+canonical name like ‘x86_64-pc-linux-gnu’.  Canonical names have the
+form CPU-COMPANY-SYSTEM where SYSTEM is either OS or KERNEL-OS.  To
+canonicalize and validate a system type, you can run the command
+‘config.sub’, which is often squirreled away in a subdirectory like
+‘build-aux’.  For example:
+
+     $ build-aux/config.sub arm64-linux
+     aarch64-unknown-linux-gnu
+     $ build-aux/config.sub riscv-lnx
+     Invalid configuration 'riscv-lnx': OS 'lnx' not recognized
+
+You can look at the ‘config.sub’ file to see which types are recognized.
+If the file is absent, this package does not need the system type.
+
+   If ‘configure’ fails with the diagnostic “cannot guess build type”.
+‘config.sub’ did not recognize your system’s type.  In this case, first
+fetch the newest versions of these files from the GNU config package
+(https://savannah.gnu.org/projects/config).  If that fixes things,
+please report it to the maintainers of the package containing
+‘configure’.  Otherwise, you can try the configure option ‘--build=TYPE’
+where TYPE comes close to your system type; also, please report the
+problem to <config-patches@gnu.org>.
+
+   For more details about configuring system types, see the Autoconf
+documentation.
 
 Sharing Defaults
 ================
 
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+   If you want to set default values for ‘configure’ scripts to share,
+you can create a site shell script called ‘config.site’ that gives
+default values for variables like ‘CC’, ‘cache_file’, and ‘prefix’.
+‘configure’ looks for ‘PREFIX/share/config.site’ if it exists, then
+‘PREFIX/etc/config.site’ if it exists.  Or, you can set the
+‘CONFIG_SITE’ environment variable to the location of the site script.
+A warning: not all ‘configure’ scripts look for a site script.
 
 Defining Variables
 ==================
 
    Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
+environment passed to ‘configure’.  However, some packages may run
 configure again during the build, and the customized values of these
 variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
+them in the ‘configure’ command line, using ‘VAR=value’.  For example:
 
      ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `gcc' to be used as the C compiler (unless it is
+causes the specified ‘gcc’ to be used as the C compiler (unless it is
 overridden in the site shell script).
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+Unfortunately, this technique does not work for ‘CONFIG_SHELL’ due to an
+Autoconf limitation.  Until the limitation is lifted, you can use this
+workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-`configure' Invocation
+‘configure’ Invocation
 ======================
 
-   `configure' recognizes the following options to control how it
+   ‘configure’ recognizes the following options to control how it
 operates.
 
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
+‘--help’
+‘-h’
+     Print a summary of all of the options to ‘configure’, and exit.
 
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
+‘--help=short’
+‘--help=recursive’
+     Print a summary of the options unique to this packages
+     ‘configure’, and exit.  The ‘short’ variant lists options used only
+     in the top level, while the ‘recursive’ variant lists options also
+     present in any nested packages.
 
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
+‘--version’
+‘-V’
+     Print the version of Autoconf used to generate the ‘configure’
      script, and exit.
 
-`--cache-file=FILE'
+‘--cache-file=FILE’
      Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     traditionally ‘config.cache’.  FILE defaults to ‘/dev/null’ to
      disable caching.
 
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
+‘--config-cache’
+‘-C’
+     Alias for ‘--cache-file=config.cache’.
 
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
+‘--srcdir=DIR’
+     Look for the package’s source code in directory DIR.  Usually
+     ‘configure’ can determine that directory automatically.
+
+‘--prefix=DIR’
+     Use DIR as the installation prefix.  See “Installation Names” for
+     more details, including other options available for fine-tuning the
+     installation locations.
 
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+‘--host=TYPE’
+     Build binaries for system TYPE.  See “Specifying a System Type”.
 
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
+‘--enable-FEATURE’
+‘--disable-FEATURE’
+     Enable or disable the optional FEATURE.  See “Optional Features”.
 
-`--no-create'
-`-n'
+‘--with-PACKAGE’
+‘--without-PACKAGE’
+     Use or omit PACKAGE when building.  See “Optional Features”.
+
+‘--quiet’
+‘--silent’
+‘-q’
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to ‘/dev/null’ (any error
+     messages will still be shown).
+
+‘--no-create’
+‘-n’
      Run the configure checks, but stop before creating any output
      files.
 
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
+‘configure’ also recognizes several environment variables, and accepts
+some other, less widely useful, options.  Run ‘configure --help’ for
+more details.
+
+Copyright notice
+================
 
+   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2023 Free Software
+Foundation, Inc.
+
+   Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without warranty of any kind.
index 522a76f..885645b 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-SUBDIRS = gl lib/gl lib po src doc gltests lib/gltests tests examples  \
-       java csharp
+SUBDIRS = gl lib/gl lib po src
+if ENABLE_DOC
+SUBDIRS += doc
+endif
+SUBDIRS += tests fuzz examples
+if JAVA
+SUBDIRS += java
+endif
+if CSHARP
+SUBDIRS += csharp
+endif
 
-EXTRA_DIST = cfg.mk maint.mk .clcopying
+EXTRA_DIST = cfg.mk maint.mk
+EXTRA_DIST += CONTRIBUTING.md
 EXTRA_DIST += COPYING.LESSERv2 COPYING.LESSERv3 COPYINGv2 COPYINGv3
 
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/gl/m4
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+ACLOCAL_AMFLAGS = -I lib/m4 -I gl/m4 -I lib/gl/m4 -I m4
+AM_DISTCHECK_CONFIGURE_FLAGS = --enable-doc --enable-gtk-doc --disable-valgrind-tests
 
 EXTRA_DIST += FAQ libc/README libc/getaddrinfo-idn.txt libc/example.c  \
        contrib/README contrib/idn-python/README                        \
@@ -36,12 +46,24 @@ EXTRA_DIST += FAQ libc/README libc/getaddrinfo-idn.txt libc/example.c       \
        contrib/doxygen/Doxyfile.orig contrib/doxygen/gdoc2doxygen
 
 # Visual Studio project files.
-EXTRA_DIST += win32/libidn.sln win32/libidn.vcproj                     \
-       win32/include/unistd.h win32/include/idn-int.h                  \
-       win32/include/stdbool.h win32/include/ac-stdint.h               \
-       win32/include/config.h win32/libidn4win.mk
+EXTRA_DIST += windows/libidn.sln windows/libidn.vcproj                 \
+       windows/include/unistd.h windows/include/idn-int.h              \
+       windows/include/stdbool.h windows/include/ac-stdint.h           \
+       windows/include/config.h windows/libidn4win.mk
 
-EXTRA_DIST += HACKING
+# git-version-gen
+EXTRA_DIST += $(top_srcdir)/.version
+BUILT_SOURCES = $(top_srcdir)/.version
+$(top_srcdir)/.version:
+       echo $(VERSION) > $@-t && mv $@-t $@
+dist-hook: gen-ChangeLog
+       echo $(VERSION) > $(distdir)/.tarball-version
 
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libidn.pc
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d .git; then                                \
+               $(top_srcdir)/build-aux/gitlog-to-changelog >           \
+                       $(distdir)/cl-t &&                              \
+               { rm -f $(distdir)/ChangeLog &&                         \
+                 mv $(distdir)/cl-t $(distdir)/ChangeLog; }            \
+       fi
index e073836..71e30ed 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -51,153 +104,178 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+@ENABLE_DOC_TRUE@am__append_1 = doc
+@JAVA_TRUE@am__append_2 = java
+@CSHARP_TRUE@am__append_3 = csharp
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-       $(srcdir)/libidn.pc.in $(srcdir)/pom.xml.in \
-       $(top_srcdir)/build-aux/csharpcomp.sh.in \
-       $(top_srcdir)/build-aux/csharpexec.sh.in \
-       $(top_srcdir)/configure \
-       $(top_srcdir)/contrib/doxygen/Doxyfile.in ABOUT-NLS AUTHORS \
-       COPYING ChangeLog INSTALL NEWS THANKS TODO build-aux/compile \
-       build-aux/config.guess build-aux/config.rpath \
-       build-aux/config.sub build-aux/depcomp build-aux/install-sh \
-       build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \
-       build-aux/texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+       $(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = csharpcomp.sh csharpexec.sh \
-       contrib/doxygen/Doxyfile libidn.pc pom.xml
+       contrib/doxygen/Doxyfile
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
-DATA = $(pkgconfig_DATA)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       cscope distdir distdir-am dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
+       config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = gl lib/gl lib po src doc tests fuzz examples java \
+       csharp
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+       $(top_srcdir)/build-aux/ar-lib $(top_srcdir)/build-aux/compile \
+       $(top_srcdir)/build-aux/config.guess \
+       $(top_srcdir)/build-aux/config.rpath \
+       $(top_srcdir)/build-aux/config.sub \
+       $(top_srcdir)/build-aux/csharpcomp.sh.in \
+       $(top_srcdir)/build-aux/csharpexec.sh.in \
+       $(top_srcdir)/build-aux/install-sh \
+       $(top_srcdir)/build-aux/ltmain.sh \
+       $(top_srcdir)/build-aux/missing \
+       $(top_srcdir)/contrib/doxygen/Doxyfile.in ABOUT-NLS AUTHORS \
+       COPYING ChangeLog INSTALL NEWS README THANKS build-aux/ar-lib \
+       build-aux/compile build-aux/config.guess \
+       build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
+       build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \
+       build-aux/missing build-aux/texinfo.tex
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -207,6 +285,7 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -234,6 +313,9 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
+# Exists only to be overridden by the user if desired.
+AM_DISTCHECK_DVI_TARGET = dvi
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -243,10 +325,12 @@ ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -265,9 +349,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -287,290 +374,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -580,16 +956,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -606,33 +987,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -647,28 +1041,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -678,26 +1080,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -716,6 +1126,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -737,9 +1148,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -757,36 +1167,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -795,12 +1207,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -813,11 +1229,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -850,27 +1268,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -883,71 +1323,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -956,11 +1430,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -973,45 +1457,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1019,7 +1516,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1037,8 +1533,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1051,8 +1549,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1068,6 +1568,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1076,12 +1577,13 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = gl lib/gl lib po src doc gltests lib/gltests tests examples  \
-       java csharp
-
+SUBDIRS = gl lib/gl lib po src $(am__append_1) tests fuzz examples \
+       $(am__append_2) $(am__append_3)
 
 # Visual Studio project files.
-EXTRA_DIST = cfg.mk maint.mk .clcopying COPYING.LESSERv2 \
+
+# git-version-gen
+EXTRA_DIST = cfg.mk maint.mk CONTRIBUTING.md COPYING.LESSERv2 \
        COPYING.LESSERv3 COPYINGv2 COPYINGv3 FAQ libc/README \
        libc/getaddrinfo-idn.txt libc/example.c contrib/README \
        contrib/idn-python/README contrib/idn-python/Makefile \
@@ -1091,16 +1593,15 @@ EXTRA_DIST = cfg.mk maint.mk .clcopying COPYING.LESSERv2 \
        contrib/java/Makefile.am contrib/java/ExampleIDNA.java \
        contrib/java/IDNA.java contrib/java/IDNA.c \
        contrib/doxygen/Doxyfile.in contrib/doxygen/Doxyfile.orig \
-       contrib/doxygen/gdoc2doxygen win32/libidn.sln \
-       win32/libidn.vcproj win32/include/unistd.h \
-       win32/include/idn-int.h win32/include/stdbool.h \
-       win32/include/ac-stdint.h win32/include/config.h \
-       win32/libidn4win.mk HACKING
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/gl/m4
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libidn.pc
-all: config.h
+       contrib/doxygen/gdoc2doxygen windows/libidn.sln \
+       windows/libidn.vcproj windows/include/unistd.h \
+       windows/include/idn-int.h windows/include/stdbool.h \
+       windows/include/ac-stdint.h windows/include/config.h \
+       windows/libidn4win.mk $(top_srcdir)/.version
+ACLOCAL_AMFLAGS = -I lib/m4 -I gl/m4 -I lib/gl/m4 -I m4
+AM_DISTCHECK_CONFIGURE_FLAGS = --enable-doc --enable-gtk-doc --disable-valgrind-tests
+BUILT_SOURCES = $(top_srcdir)/.version
+all: $(BUILT_SOURCES) config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
@@ -1119,15 +1620,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            echo ' $(SHELL) ./config.status'; \
            $(SHELL) ./config.status;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1140,8 +1640,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-       @if test ! -f $@; then rm -f stamp-h1; else :; fi
-       @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+       @test -f $@ || rm -f stamp-h1
+       @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
        @rm -f stamp-h1
@@ -1159,10 +1659,6 @@ csharpexec.sh: $(top_builddir)/config.status $(top_srcdir)/build-aux/csharpexec.
        cd $(top_builddir) && $(SHELL) ./config.status $@
 contrib/doxygen/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/contrib/doxygen/Doxyfile.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
-libidn.pc: $(top_builddir)/config.status $(srcdir)/libidn.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-pom.xml: $(top_builddir)/config.status $(srcdir)/pom.xml.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
 
 mostlyclean-libtool:
        -rm -f *.lo
@@ -1172,42 +1668,27 @@ clean-libtool:
 
 distclean-libtool:
        -rm -f libtool config.lt
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1222,57 +1703,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1288,12 +1724,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1305,15 +1736,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1322,11 +1749,35 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+       test ! -s cscope.files \
+         || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+       -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+       -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        $(am__remove_distdir)
        test -d "$(distdir)" || mkdir "$(distdir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1360,13 +1811,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1386,6 +1834,9 @@ distdir: $(DISTFILES)
              || exit 1; \
          fi; \
        done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-hook
        -test -n "$(am__skip_mode_fix)" \
        || find "$(distdir)" -type d ! -perm -755 \
                -exec chmod u+rwx,go+rx {} \; -o \
@@ -1394,41 +1845,47 @@ distdir: $(DISTFILES)
          ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+       $(am__post_remove_distdir)
 
 dist-bzip2: distdir
        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-lzip: distdir
        tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-xz: distdir
        tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
+
+dist-zstd: distdir
+       tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+       $(am__post_remove_distdir)
 
 dist-tarZ: distdir
+       @echo WARNING: "Support for distribution archives compressed with" \
+                      "legacy program 'compress' is deprecated." >&2
+       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
        tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
+       @echo WARNING: "Support for shar distribution archives is" \
+                      "deprecated." >&2
+       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+       $(am__post_remove_distdir)
 
 dist-zip: distdir
        -rm -f $(distdir).zip
        zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+dist dist-all:
+       $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+       $(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -1436,11 +1893,9 @@ dist dist-all: distdir
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
        *.tar.lz*) \
          lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
@@ -1448,24 +1903,27 @@ distcheck: dist
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
+       *.tar.zst*) \
+         zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
        esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
+       chmod -R a-w $(distdir)
+       chmod u+w $(distdir)
+       mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
        chmod a-w $(distdir)
        test -d $(distdir)/_build || exit 0; \
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
          && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+         && $(am__cd) $(distdir)/_build/sub \
+         && ../../configure \
            $(AM_DISTCHECK_CONFIGURE_FLAGS) \
            $(DISTCHECK_CONFIGURE_FLAGS) \
+           --srcdir=../.. --prefix="$$dc_install_base" \
          && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
          && $(MAKE) $(AM_MAKEFLAGS) check \
          && $(MAKE) $(AM_MAKEFLAGS) install \
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
@@ -1486,7 +1944,7 @@ distcheck: dist
          && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
          && cd "$$am__cwd" \
          || exit 1
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
        @(echo "$(distdir) archives ready for distribution: "; \
          list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -1517,15 +1975,15 @@ distcleancheck: distclean
               $(distcleancheck_listfiles) ; \
               exit 1; } >&2
 check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA) config.h
+check: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile config.h
 installdirs: installdirs-recursive
 installdirs-am:
-       for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
+install: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
 
@@ -1554,6 +2012,7 @@ distclean-generic:
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
+       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-recursive
 
 clean-am: clean-generic clean-libtool mostlyclean-am
@@ -1576,7 +2035,7 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-pkgconfigDATA
+install-data-am:
 
 install-dvi: install-dvi-recursive
 
@@ -1622,28 +2081,43 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-pkgconfigDATA
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-generic \
-       clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-       dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
-       dist-zip distcheck distclean distclean-generic distclean-hdr \
-       distclean-libtool distclean-tags distcleancheck distdir \
-       distuninstallcheck dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-pkgconfigDATA
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-exec install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--refresh check check-am clean clean-cscope clean-generic \
+       clean-libtool cscope cscopelist-am ctags ctags-am dist \
+       dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+       dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
+       distclean-generic distclean-hdr distclean-libtool \
+       distclean-tags distcleancheck distdir distuninstallcheck dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
+$(top_srcdir)/.version:
+       echo $(VERSION) > $@-t && mv $@-t $@
+dist-hook: gen-ChangeLog
+       echo $(VERSION) > $(distdir)/.tarball-version
+
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d .git; then                                \
+               $(top_srcdir)/build-aux/gitlog-to-changelog >           \
+                       $(distdir)/cl-t &&                              \
+               { rm -f $(distdir)/ChangeLog &&                         \
+                 mv $(distdir)/cl-t $(distdir)/ChangeLog; }            \
+       fi
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/NEWS b/NEWS
index 1b4b475..7af6bcd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,308 @@
 Libidn NEWS -- History of user-visible changes.                 -*- outline -*-
-Copyright (C) 2002-2012 Simon Josefsson
-See the end for copying conditions.
 
-* Version 1.25 (released 2012-05-23) [stable]
+* Noteworthy changes in release 1.42 (2024-01-13) [stable]
+
+** Bump required gettext version to 0.19.8 for musl-libc.
+
+** Compiler warning improvements.
+As before, compiler warnings are enabled by default.  You may disable
+them using ./configure --disable-gcc-warnings or turn them into fatal
+errors using ./configure --enable-gcc-warnings=error to add -Werror
+and sensible -Wno-error='s.  Based on gnulib's manywarnings, see
+<https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html>.
+
+** Fix type confusion on LLP64/Windows platforms.
+While libidn has worked using cygwin libc, it has never worked on
+ucrt/msvcrt libc.  Report and tiny patch by Francesco Pretto in
+<https://lists.gnu.org/archive/html/help-libidn/2022-02/msg00000.html>.
+
+** tests: Added script tests/standalone.sh suitable for integrators.
+The main purpose is to test a system-installed libidn, suitable for
+distributor checking (a'la Debian's autopkgtest/debci).  It may also
+be used to test a newly built libidn outside the usual 'make check'
+infrastructure.  To check that your system libidn is working, invoke
+the script with `srcdir` as an environment variable indicating where
+it can be find the source code for libidn's tests/ directory (it will
+use the directory name where the script is by default):
+
+tests/standalone.sh
+
+To check that a newly built static libidn behaves, invoke:
+
+env STANDALONE_CFLAGS="-Ilib lib/.libs/libidn.a" tests/standalone.sh
+
+To check that a newly built shared libidn behaves, invoke:
+
+env srcdir=tests STANDALONE_CFLAGS="-Ilib -Wl,-rpath lib/.libs lib/.libs/libidn.so" tests/standalone.sh
+
+If the libidn under testing is too old and has known bugs, that should
+cause tests to fail, which is intentional.
+
+** Updated translations.
+
+** Update gnulib files and build fixes.
+
+* Noteworthy changes in release 1.41 (2022-06-25) [stable]
+
+** Bump LT_REVISION for new release.
+It was mistakenly left at the same value since 1.38.
+
+** Add version number related self-checks.
+
+* Noteworthy changes in release 1.40 (2022-06-20) [stable]
+
+** lib: Bump STRINGPREP_VERSION to 1.40.
+It was mistakenly left at 1.38 in the 1.39 release.
+
+* Noteworthy changes in release 1.39 (2022-06-20) [stable]
+
+** lib: Code detecting current locale broken since 1.36.
+The code always returned ASCII.  The precise cause is complicated to
+track down but likely boils down to the new autotools/gettext
+bootstrapping sequence introduced in release 1.36.  Reported by Богдан
+Пилипенко <bogdan.pylypenko107@gmail.com>.
+
+** maint: Java JAR archive no longer included in source tarball.
+
+** Minor fixes: typos, makefiles, indentation, gnulib update, etc.
+
+* Noteworthy changes in release 1.38 (2021-07-22) [stable]
+
+** doc: Simplify building of gdoc-generated man/texi outputs.
+Now the targets are rebuilt on version number changes properly.
+
+** doc: Improve GTK-DOC manual.
+
+** build: Fix build errors related to doc/idn--help.texi.
+
+** build: Fix --disable-tld builds.
+Now tld_strerror() is removed when --disable-tld is used.
+
+* Noteworthy changes in release 1.37 (2021-05-15) [stable]
+
+** doc: Minor fixes and codespell typos.
+
+** Updated translations.
+
+** Update gnulib files and build fixes.
+We now use gnulib's ./bootstrap and gnulib's readme-release
+infrastructure for making releases.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.36 (2020-07-22) [stable]
+
+** Fix unlikely memory leak in idna_to_unicode_4z4z().
+Patch from Miroslav Lichvar <mlichvar@redhat.com>.
+
+** Check codepoint validity in punycode_decode() and punycode_decode().
+Reported-by: Mike Schiffman (Farsight Security, Inc.).
+
+** tld: Add U+00EF to .nl TLD table.
+Reported by Trond Haugen <trond.haugen@norid.no>.
+
+** Indent code.
+
+** Translation fixes.
+
+** Update gnulib files.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.35 (2018-05-11) [stable]
+
+** Reflect ABI/API breakage in version 1.34
+   (Stringprep_profile has a new struct member)
+   Reported-by: Miroslav Lichvar
+
+** Added new gnulib files to repository
+
+** Fix build issues introduced in 1.34
+
+* Noteworthy changes in release 1.34 (2018-03-31) [beta]
+
+** libidn: Fix integer overflow in combine_hangul()
+   Found by fuzzing.
+
+** libidn: Fix integer overflow in punycode decoder
+   Found by fuzzing, fix for the fix reported by Christian Weisgerber
+
+** libidn: Fix performance issue in idna_to_unicode_internal()
+   Found by fuzzing.
+
+** libidn: Fix performance issue in stringprep functions.
+   Found by fuzzing.
+
+** libidn: Fix NULL pointer dereference in g_utf8_normalize()
+   Found by fuzzing.
+
+** libidn: Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize()
+   Found by fuzzing.
+
+** libidn: Increase performance of stringprep functions
+   Found by fuzzing.
+
+** testing: Add OSS-fuzz integration and regression testing
+
+** build: Update gnulib files
+
+** build: Modernize GTK-Doc build
+
+** build: Fix parallel builds
+
+** build: Add configure flag --disable-doc
+
+** build: Add configure flag --enable-ubsan (enable UB Sanitizer)
+
+** build: Add configure flag --enable-asan (enable Address Sanitizer)
+
+** build: Fix compiler warnings
+
+** build: Fix build for gcc-7
+
+** i18n: Added Swedish translation.
+   Thanks to Josef Andersson.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.33 (2016-07-20) [beta]
+
+** libidn: Fix out-of-bounds stack read in idna_to_ascii_4i.
+See tests/tst_toascii64oob.c for regression check (and the comment in
+it how to use it).  Reported by Hanno Böck <hanno@hboeck.de>.
+
+** idn: Solve out-of-bounds-read when reading one zero byte as input.
+Also replaced fgets with getline.  Reported by Hanno Böck <hanno@hboeck.de>.
+
+** libidn: stringprep_utf8_nfkc_normalize reject invalid UTF-8.
+It was always documented to only accept UTF-8 data, but now it doesn't
+crash when presented with such data.  Reported by Hanno Böck.
+
+** Dropped valgrind suppressions file, should no longer be needed.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.32 (2015-08-01) [beta]
+
+** libidn: Fix crash in idna_to_unicode_8z8z and idna_to_unicode_8zlz.
+This problem was introduced in 1.31.  Reported by Adam Sampson.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.31 (2015-07-08) [beta]
+
+** libidn: stringprep_utf8_to_ucs4 now rejects invalid UTF-8. CVE-2015-2059
+This function has always been documented to not validate that the
+input UTF-8 string is actually valid UTF-8.  Like the rest of the API,
+when you call a function that works on UTF-8 data, you have to pass it
+valid UTF-8 data.  Application writers appear to have difficulties
+using interfaces designed like that, as bugs triggered by invalid
+UTF-8 has been identified in a number of projects (jabberd2, gnutls,
+wget, and curl).  While we could introduce a new API to perform UTF-8
+validation, so that applications can easily implement the proper
+checks, this appear error prone because there is a risk that the check
+will be forgotten.  Instead, we took the more radical approach of
+modifying the documentation and the implementation of the API.  The
+intention is that all functions that accepts UTF-8 data should
+validate it before use.  This will solve the problem for applications,
+without needing to change them.  This change has the unfortunate
+side-effect that Surrogate codes (see section 5.5 of RFC 3454) no
+longer trigger the STRINGPREP_CONTAINS_PROHIBITED error code but
+instead will trigger the newly introduced STRINGPREP_ICONV_ERROR error
+code, as the gnulib/libunistring-based code that we use to test
+UTF-8-compliance rejects Surrogate codes.  We hope that this is an
+acceptable cost to live with in order to improve application security.
+We welcome feedback on this solution, and we are marking this release
+as beta rather than stable to signal that we may reconsider this
+approach if people disagree.  Reported by several people including
+Thijs Alkemade, Gustavo Grieco, Daniel Stenberg, and Nikos
+Mavrogiannopoulos.
+
+** libidn: Added STRINGPREP_ICONV_ERROR error code.
+
+** libidn: Workaround valgrind/gcc/glibc issue.
+Valgrind reported a 'Invalid read of size 4' that was caused by
+optimized strlen implementation.  Reported and patch by Alessandro
+Ghedini <alessandro@ghedini.me>.
+
+** build: Use LOG_COMPILER instead of TESTS_ENVIRONMENT to fix valgrind use.
+Errors caught by valgrind did not always trigger 'make check' failures
+before.
+
+** i18n: Updated Danish translation.
+Thanks to Joe Hansen.
+
+** API and ABI is backwards compatible with the previous version.
+See discussion above on slight change in semantics of functions.
+
+* Noteworthy changes in release 1.30 (2015-03-02) [stable]
+
+** libidn: The punycode.{c,h} files were re-imported from RFC 3492bis.
+A comment explaining the origin and what was changed was added.
+
+** Bump gettext to 0.19.3.
+
+** Use LT_INIT instead of AC_LIBTOOL_WIN32_DLL.
+
+** i18n: Added Hungarian translation.  Updated some other languages.
+Thanks to Balázs Úr.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.29 (2014-08-10) [stable]
+
+** libidn: Mark internal variable "g_utf8_skip" as static.
+Reported by Thomas Dineen <tdineen@ix.netcom.com>.
+
+** idn: Flush stdout to simplify for tools that buffer too heavily.
+Tiny patch from Hugh Daschbach <hugh@ccss.com>.
+
+** i18n: Added Brazilian Portuguese translation.
+Thanks to Rafael Ferreira.
+
+** Update gnulib files.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.28 (2013-07-10) [stable]
+
+** idn: Don't crash when string conversion from UTF-8 to locale fails.
+Reported by Jeffrey Frey <frey@udel.edu>.
+
+** java: Fix build failures.
+
+** java: TestIDNA -a and -u logic was reversed, now fixed.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.27 (2013-06-05) [stable]
+
+** Java library can be built using Maven.  Speed improvements.
+Thanks to several patches from Stefan Larsson.  Testing indicate 70-90
+times faster node/name/resource-prep.
+
+** Update gnulib files and translations.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.26 (2012-12-11) [stable]
+
+** libidn, idna_to_ascii: Propagate error on malloc failure.
+Reported by Sarat Chandra Addepalli <s.addepalli@samsung.com>.
+
+** libidn, tld_get_4: Fix out of bounds read access violation.
+
+** i18n: Added Croatian translation.  Updated Vietnamese translation.
+Thanks to Tomislav Krznar and Trần Ngọc Quân.
+
+** java: Permit usage by Apache projects.
+Thanks to Oliver Hitz and Angus Turner.
+
+** tests: Improve tld self-tests.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Noteworthy changes in release 1.25 (2012-05-23) [stable]
 
 ** MSVC: Build fixes related to _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
 Reported by Bartosz Brachaczek <b.brachaczek@gmail.com>.
@@ -16,7 +316,7 @@ See tests/libidn.supp and  bottom of HACKING for discussion.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.24 (released 2012-01-10) [stable]
+* Noteworthy changes in release 1.24 (2012-01-10) [stable]
 
 ** Libraries are re-licensed from LGPLv2+ to dual-GPLv2+|LGPLv3+.
 
@@ -35,7 +335,7 @@ Reported by Jon Nelson <jnelson@jamponi.net> in
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.23 (released 2011-11-25) [stable]
+* Noteworthy changes in release 1.23 (2011-11-25) [stable]
 
 ** stringprep.h: Now #include's sys/types.h instead of unistd.h for ssize_t.
 Some systems (e.g., Mingw with MSVC 9) does not have unistd.h.
@@ -52,7 +352,7 @@ The new link is <https://github.com/gnuthor/tldchk>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.22 (released 2011-05-04) [stable]
+* Noteworthy changes in release 1.22 (2011-05-04) [stable]
 
 ** libidn: Add -liconv as static library requirement in libidn.pc, for MinGW.
 Reported by Volker Grabsch <vog@notjusthosting.com>.
@@ -67,7 +367,7 @@ Fixed some dead assignments/initializations.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.21 (released 2011-04-24) [stable]
+* Noteworthy changes in release 1.21 (2011-04-24) [stable]
 
 ** build/gettext: Demand gettext >= 0.18.1 in order to get newer M4 files.
 The old M4 files associated with 0.17 caused problems on Solaris,
@@ -81,7 +381,7 @@ Tiny patch from Waqas Hussain <waqas20@gmail.com>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.20 (released 2011-03-01) [stable]
+* Noteworthy changes in release 1.20 (2011-03-01) [stable]
 
 ** libidn: Fix bug in ToUnicode to compare 'xn--' case-insensitively.
 The problem is typically noticed when an upper ACE case string is
@@ -100,7 +400,7 @@ Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.19 (released 2010-05-22) [stable]
+* Noteworthy changes in release 1.19 (2010-05-22) [stable]
 
 ** doc: Typo fixes.  Added PDF version of API reference manual.
 See doc/reference/libidn.pdf.
@@ -111,7 +411,7 @@ See doc/reference/libidn.pdf.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.18 (released 2010-02-15) [stable]
+* Noteworthy changes in release 1.18 (2010-02-15) [stable]
 
 ** libidn: Put forgotten symbols under old namespace.
 Reverts one unnecessary change introduced in 1.17.  Suggested by Marco
@@ -119,7 +419,7 @@ d'Itri <md@linux.it>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.17 (released 2010-02-05) [alpha]
+* Noteworthy changes in release 1.17 (2010-02-05) [alpha]
 
 ** libidn: Fix symbol export problem for a few variables.
 Applications (that use these rarely used variables) built against
@@ -152,7 +452,7 @@ discovering this problem.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.16 (released 2010-01-12)
+* Noteworthy changes in release 1.16 (2010-01-12) [alpha]
 
 ** java: Add a Maven pom.xml project file.
 Contributed by Guus der Kinderen <guus.der.kinderen@gmail.com>.
@@ -161,7 +461,7 @@ Contributed by Guus der Kinderen <guus.der.kinderen@gmail.com>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.15 (released 2009-06-08)
+* Noteworthy changes in release 1.15 (2009-06-08) [alpha]
 
 ** libidn: Use c_strcasecmp instead of strcasecmp.
 For portability to NetWare CLIB.  The specification requires a ASCII
@@ -184,7 +484,7 @@ details.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.14 (released 2009-04-03)
+* Noteworthy changes in release 1.14 (2009-04-03) [alpha]
 
 ** libidn: Install a libidn-*.def file when building under MinGW.
 The file is useful if you develop programs in Visual Studio that links
@@ -196,7 +496,7 @@ Reported by Dagobert Michelsen <dam@opencsw.org> in
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.13 (released 2009-03-06)
+* Noteworthy changes in release 1.13 (2009-03-06) [alpha]
 
 ** libidn: Use a LD version script on platforms where it is supported.
 Currently only GNU LD and the Solaris linker supports it.  This helps
@@ -220,7 +520,7 @@ Suggested by "Sisyphus" <sisyphus1@optusnet.com.au>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.12 (released 2009-01-23)
+* Noteworthy changes in release 1.12 (2009-01-23) [alpha]
 
 ** idn: New parameter --no-tld to deprecate the old parameter --tld.
 The new parameter --no-tld disable TLD checking of the input string.
@@ -241,7 +541,7 @@ will continue to work as before.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.11 (released 2008-10-28)
+* Noteworthy changes in release 1.11 (2008-10-28) [alpha]
 
 ** libidn: New WARN_CFLAGS configure variable.
 It is used internally to add -Werror and other warnings flags, to
@@ -259,7 +559,7 @@ See doc/cyclo/.
 
 ** tests: New 'make coverage' command to generate code coverage reports.
 The output is created in doc/coverage/.  Requires the LCOV tools.  See
-http://www.gnu.org/software/libidn/coverage/ for a pre-generated copy.
+https://www.gnu.org/software/libidn/coverage/ for a pre-generated copy.
 
 ** Clarify copyright and license for gdoc, man pages, and C# port.
 
@@ -267,7 +567,7 @@ http://www.gnu.org/software/libidn/coverage/ for a pre-generated copy.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.10 (released 2008-08-27)
+* Noteworthy changes in release 1.10 (2008-08-27) [alpha]
 
 ** idn: accept -n as short form for --nfkc.
 Before '-k' was used as the short form, but all documentation has said
@@ -283,7 +583,7 @@ short form.  Reported by John McGowan <jmcgowan@inch.com> in
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.9 (released 2008-07-01)
+* Noteworthy changes in release 1.9 (2008-07-01) [alpha]
 
 ** idn: fix error message when NFKC fails, and some other translation fixes.
 Reported by Benno Schulenberg <coordinator@translationproject.org>.
@@ -300,7 +600,7 @@ The remaining data tables are not copyrightable.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.8 (released 2008-04-23)
+* Noteworthy changes in release 1.8 (2008-04-23) [alpha]
 
 ** Translations files not stored directly in git to avoid merge conflicts.
 This allows us to avoid use of --no-location which makes the
@@ -310,7 +610,7 @@ translation teams happier.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.7 (released 2008-04-10)
+* Noteworthy changes in release 1.7 (2008-04-10) [alpha]
 
 ** idn: new parameter --nfkc to process string with Unicode v3.2 NFKC.
 
@@ -320,7 +620,7 @@ translation teams happier.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.6 (released 2008-03-19)
+* Noteworthy changes in release 1.6 (2008-03-19) [alpha]
 
 ** Add native Windows Visual Studio project files.
 Contributed by Adam Strzelecki <ono@java.pl>.
@@ -335,7 +635,7 @@ Contributed by Adam Strzelecki <ono@java.pl>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.5 (released 2008-02-19)
+* Noteworthy changes in release 1.5 (2008-02-19) [alpha]
 
 ** Don't include wchar.h in idn-int.h.
 Fixes problems on uClibc systems which lack a wchar.h.  Reported by
@@ -360,7 +660,7 @@ UTF-8 instead of a mix of ISO-8859-1 and ISO-8859-15.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.4 (released 2008-01-09)
+* Noteworthy changes in release 1.4 (2008-01-09) [alpha]
 
 ** Fixes to make the C# port compile under Mono.
 
@@ -375,7 +675,7 @@ Vietnamese.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.3 (released 2007-12-11)
+* Noteworthy changes in release 1.3 (2007-12-11) [alpha]
 
 ** Some hints on Windows installation in the manual.
 
@@ -390,7 +690,7 @@ files used by the core library are still under LGPLv2.1+.)
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.2 (released 2007-10-01)
+* Noteworthy changes in release 1.2 (2007-10-01) [alpha]
 
 ** Development git tree moved to savannah.
 See <https://savannah.gnu.org/projects/libidn/>.
@@ -402,7 +702,7 @@ Including mono detection fixes.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.1 (released 2007-09-01)
+* Noteworthy changes in release 1.1 (2007-09-01) [alpha]
 
 ** Fix compilation error in idn-int.h.
 The error would typically be 'error: no include path in which to
@@ -422,7 +722,7 @@ and_DLL is defined (MSVC).
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 1.0 (released 2007-07-31)
+* Noteworthy changes in release 1.0 (2007-07-31) [alpha]
 
 ** Command-line tools, examples, etc are now licensed under GPL version 3.
 The library is still licensed under LGPL v2.1 for compatibility
@@ -436,7 +736,7 @@ reasons (it is included in glibc).
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.14 (released 2007-05-31)
+* Noteworthy changes in release 0.6.14 (2007-05-31) [alpha]
 
 ** Libidn is now developed using Git instead of CVS.
 A public git mirror is available from
@@ -446,7 +746,7 @@ it has been re-generated from scratch.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.13 (released 2007-05-31)
+* Noteworthy changes in release 0.6.13 (2007-05-31) [alpha]
 
 ** Documentation fixes.
 Clarify that the C# and Java libraries are licensed under the LGPL.
@@ -467,7 +767,7 @@ other info manuals.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.12 (released 2007-04-25)
+* Noteworthy changes in release 0.6.12 (2007-04-25) [alpha]
 
 ** Use AM_JAVACFLAGS instead of JAVACFLAGS in java/misc/Makefile.am.
 Reported by Petteri Räty <betelgeuse@gentoo.org>.
@@ -476,7 +776,7 @@ Reported by Petteri Räty <betelgeuse@gentoo.org>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.11 (released 2007-03-13)
+* Noteworthy changes in release 0.6.11 (2007-03-13) [alpha]
 
 ** Update of the C# Libidn port, by Alexander Gnauck.
 The code has been refactored and the namespace has been modified to
@@ -491,7 +791,7 @@ locales where, e.g., "ASCII" and "ascii" are not treated as the same.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.10 (released 2007-01-04)
+* Noteworthy changes in release 0.6.10 (2007-01-04) [alpha]
 
 ** Corrected year in copyright notices.
 
@@ -501,7 +801,7 @@ Including the code to convert strings between different encodings
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.9 (released 2006-11-30)
+* Noteworthy changes in release 0.6.9 (2006-11-30) [alpha]
 
 ** The Java code is fixed to properly translate any non-ASCII dot into '.'.
 Reported and fixed by "Stephane Mikaty" <mikaty@ecircle-ag.com>.
@@ -515,7 +815,7 @@ Modern versions are part of gnulib.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.8 (released 2006-10-18)
+* Noteworthy changes in release 0.6.8 (2006-10-18) [alpha]
 
 ** The gnulib directory is separated into two directories.
 One gnulib directory (lib/gl/) for the LGPL library in lib/, and one
@@ -529,7 +829,7 @@ gnulib files had to be LGPL.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.7 (released 2006-09-13)
+* Noteworthy changes in release 0.6.7 (2006-09-13) [alpha]
 
 ** Fix build failure of idn-int.h on C99 platforms.
 Reported by Paul Howarth <paul@city-fan.org>.
@@ -542,7 +842,7 @@ Reported by Paul Howarth <paul@city-fan.org>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.6 (released 2006-08-23)
+* Noteworthy changes in release 0.6.6 (2006-08-23) [alpha]
 
 ** Instead of AX_CREATE_STDINT_H, use the stdint gnulib module, for idn-int.h.
 This solves building on some HPPA systems.  Note that the generated
@@ -554,7 +854,7 @@ the host.  This was true before too.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.5 (released 2006-06-07)
+* Noteworthy changes in release 0.6.5 (2006-06-07) [alpha]
 
 ** Link the library with external libintl, for gettext.
 This fixes building on FreeBSD, reported by Kirill Ponomarew
@@ -564,7 +864,7 @@ This fixes building on FreeBSD, reported by Kirill Ponomarew
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.4 (released 2006-06-07)
+* Noteworthy changes in release 0.6.4 (2006-06-07) [alpha]
 
 ** Fix translation of error messages.
 Thanks to Joe Orton <jorton@redhat.com>.
@@ -578,13 +878,13 @@ disabled by default for cross compiles.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.3 (released 2006-03-08)
+* Noteworthy changes in release 0.6.3 (2006-03-08) [alpha]
 
 ** Fixes for the build environment.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.2 (released 2006-02-07)
+* Noteworthy changes in release 0.6.2 (2006-02-07) [alpha]
 
 ** Fix objdir != srcdir builds for the Java documentation.
 Thanks to Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
@@ -593,7 +893,7 @@ Thanks to Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.1 (released 2006-01-20)
+* Noteworthy changes in release 0.6.1 (2006-01-20) [alpha]
 
 ** Make it possible to cross-compile to mingw32.
 You can build Libidn for Windows by invoking `./configure
@@ -605,7 +905,7 @@ You can build Libidn for Windows by invoking `./configure
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.6.0 (released 2005-12-03)
+* Noteworthy changes in release 0.6.0 (2005-12-03) [alpha]
 
 ** A C# port of Libidn has been contributed by Alexander Gnauck.
 The port resides in the csharp/ directory.  Configure will build it if
@@ -623,7 +923,7 @@ currently not documented, improvements are gratefully accepted.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.20 (released 2005-10-23)
+* Noteworthy changes in release 0.5.20 (2005-10-23) [alpha]
 
 ** The header file pr29.h is now installed by 'make install'.
 
@@ -633,7 +933,7 @@ currently not documented, improvements are gratefully accepted.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.19 (released 2005-09-19)
+* Noteworthy changes in release 0.5.19 (2005-09-19) [alpha]
 
 ** The test for setlocale and nl_langinfo has now been separated.
 The autoconf script now test for locale.h, setlocale and
@@ -649,7 +949,7 @@ nl_langinfo(CODESET) independently.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.18 (released 2005-07-16)
+* Noteworthy changes in release 0.5.18 (2005-07-16) [alpha]
 
 ** The macro AX_CREATE_STDINT_H that is used to create idn-int.h
 ** has been updated.
@@ -663,7 +963,7 @@ nl_langinfo(CODESET) independently.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.17 (released 2005-05-26)
+* Noteworthy changes in release 0.5.17 (2005-05-26) [alpha]
 
 ** The gnulib portability files were updated.
 
@@ -673,7 +973,7 @@ nl_langinfo(CODESET) independently.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.16 (released 2005-05-06)
+* Noteworthy changes in release 0.5.16 (2005-05-06) [alpha]
 
 ** Mark static PR29 data tables as 'const', thanks to Joe Orton.
 
@@ -681,7 +981,7 @@ nl_langinfo(CODESET) independently.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.15 (released 2005-03-19)
+* Noteworthy changes in release 0.5.15 (2005-03-19) [alpha]
 
 ** Improvements to code to convert data between character sets.
 The license template was changed to the LGPL, from the GPL template
@@ -691,7 +991,7 @@ overflow problems.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.14 (released 2005-03-19)
+* Noteworthy changes in release 0.5.14 (2005-03-19) [alpha]
 
 ** Building for srcdir != objdir from CVS now work, thanks to Linus Nordberg.
 
@@ -701,7 +1001,7 @@ overflow problems.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.13 (released 2005-01-29)
+* Noteworthy changes in release 0.5.13 (2005-01-29) [alpha]
 
 ** The code to convert data between character encodings have been cleaned up.
 The stringprep_convert function has been added to gnulib, under the
@@ -716,7 +1016,7 @@ any user-visible consequences, though.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.12 (released 2004-12-04)
+* Noteworthy changes in release 0.5.12 (2004-12-04) [alpha]
 
 ** Java code now support the XMPP NodePrep and ResourcePrep profiles.
 
@@ -729,7 +1029,7 @@ method with allowUnassigned set to false was added.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.11 (released 2004-11-21)
+* Noteworthy changes in release 0.5.11 (2004-11-21) [alpha]
 
 ** Fix formatting of man pages, based on warnings from Doclifter.
 
@@ -737,7 +1037,7 @@ method with allowUnassigned set to false was added.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.10 (released 2004-11-08)
+* Noteworthy changes in release 0.5.10 (2004-11-08) [alpha]
 
 ** Libtool's -export-symbols-regex is now used to only export official APIs.
 Before, applications might accidentally access internal functions.
@@ -746,7 +1046,7 @@ make sure you are not using undocumented symbols in Libidn.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.9 (released 2004-11-07)
+* Noteworthy changes in release 0.5.9 (2004-11-07) [alpha]
 
 ** Align GTK-DOC build infrastructure with GTK-DOC official recommendations.
 This mean that you can now browse the Libidn API manual using Devhelp.
@@ -757,7 +1057,7 @@ This mean that you can now browse the Libidn API manual using Devhelp.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.8 (released 2004-10-12)
+* Noteworthy changes in release 0.5.8 (2004-10-12) [alpha]
 
 ** BidiMirroring-3.2.0.txt is now included, not only the generated source code.
 This allow builds to succeed after 'make realclean'.
@@ -766,7 +1066,7 @@ This allow builds to succeed after 'make realclean'.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.7 (released 2004-10-12)
+* Noteworthy changes in release 0.5.7 (2004-10-12) [alpha]
 
 ** Shared library version incremented, because new APIs were added.
 This was forgotten in the last release.
@@ -777,12 +1077,12 @@ This was forgotten in the last release.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.6 (released 2004-10-02)
+* Noteworthy changes in release 0.5.6 (2004-10-02) [alpha]
 
 ** Added functions to convert return codes to human readable text.
 
 ** Now using GNULib in command line front end (src/) for portability code.
-See <http://www.gnu.org/software/gnulib/> for more information on
+See <https://www.gnu.org/software/gnulib/> for more information on
 GNULib.  This should make the code easier to read and maintain.
 
 ** API and ABI is backwards compatible with the previous version.
@@ -794,7 +1094,7 @@ tld_strerror: ADD.
 TLD_NO_TLD: ADD.  Replaces TLD_NOTLD.
 TLD_NOTLD: DEPRECATED.  Use TLD_NO_TLD instead.
 
-* Version 0.5.5 (released 2004-09-13)
+* Noteworthy changes in release 0.5.5 (2004-09-13) [alpha]
 
 ** Hide accidentally exported variable g_utf8_skip, by marking it as static.
 
@@ -803,25 +1103,25 @@ TLD_NOTLD: DEPRECATED.  Use TLD_NO_TLD instead.
 ** API and ABI is backwards compatible with the previous version.
 g_utf8_skip: REMOVED.  (But never meant to be used.)
 
-* Version 0.5.4 (released 2004-08-08)
+* Noteworthy changes in release 0.5.4 (2004-08-08) [alpha]
 
 ** Translation updates.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.3 (released 2004-08-05)
+* Noteworthy changes in release 0.5.3 (2004-08-05) [alpha]
 
 ** Fix crash in `idn --tld' command line tool.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.2 (released 2004-07-14)
+* Noteworthy changes in release 0.5.2 (2004-07-14) [alpha]
 
 ** Java "make install" rules are now DESTDIR compatible.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.1 (released 2004-07-09)
+* Noteworthy changes in release 0.5.1 (2004-07-09) [alpha]
 
 ** Cross compile builds should work.
 It should work for any sane cross compile target, but the only tested
@@ -831,7 +1131,7 @@ platform is uClibc/uClinux on Motorola Coldfire.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.5.0 (released 2004-06-26)
+* Noteworthy changes in release 0.5.0 (2004-06-26) [alpha]
 
 ** Functions to detect "normalization problem sequences" as per PR-29 added.
 See the new chapter "PR29 Functions" in the manual
@@ -847,7 +1147,7 @@ pr29.h: ADD.  Prototypes for PR29 types and functions.
 pr29_4, pr29_4z, pr29_8z: ADD.  New API entry points for PR29 functions.
 Pr29_rc: ADD.  New error code enum type for PR29 functions.
 
-* Version 0.4.9 (released 2004-06-11)
+* Noteworthy changes in release 0.4.9 (2004-06-11) [alpha]
 
 ** The Java library (java/libidn-*.jar) is included in the distribution.
 
@@ -855,26 +1155,26 @@ Pr29_rc: ADD.  New error code enum type for PR29 functions.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.8 (released 2004-06-01)
+* Noteworthy changes in release 0.4.8 (2004-06-01) [alpha]
 
 ** The Java source code is actually included in the distribution.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.7 (released 2004-05-31)
+* Noteworthy changes in release 0.4.7 (2004-05-31) [alpha]
 
 ** The Java port should now be functional, contributed by Oliver Hitz.
 See the new section "Java API" in the manual for more information.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.6 (released 2004-05-24)
+* Noteworthy changes in release 0.4.6 (2004-05-24) [alpha]
 
 ** The header file idn-free.h is actually installed by 'make install'.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.5 (released 2004-05-21)
+* Noteworthy changes in release 0.4.5 (2004-05-21) [alpha]
 
 ** In IDNA ToUnicode, a `free' on a stale pointer fixed by Ulrich Drepper.
 
@@ -891,7 +1191,7 @@ idn-free.h: ADD.  Prototype for `idn_free'.
                 currently not documented.  Comments and feedback is
                 appreciated.
 
-* Version 0.4.4 (released 2004-04-29)
+* Noteworthy changes in release 0.4.4 (2004-04-29) [alpha]
 
 ** Fixed two bugs in iSCSI definition, syncing with newly published RFC 3722.
 The first bug was an omission of prohibiting the characters in C.1.1,
@@ -912,7 +1212,7 @@ Added Romanian (by Laurentiu Buzdugan).
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.3 (released 2004-04-22)
+* Noteworthy changes in release 0.4.3 (2004-04-22) [alpha]
 
 ** Fixed a bug in table processing code to prohibit control characters.
 The problem was that the code used a code point of 0 to indicate end
@@ -931,7 +1231,7 @@ Added Dutch (by Elros Cyriatan), and German (by Roland Illig).
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.2 (released 2004-03-20)
+* Noteworthy changes in release 0.4.2 (2004-03-20) [alpha]
 
 ** A Punycode implementation in Java was added, by Oliver Hitz.
 Eventually hopefully a StringPrep, Nameprep and IDNA implementation
@@ -947,7 +1247,7 @@ Polish (by Jakub Bogusz), and Serbian (by Aleksandar Jelenak).
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.4.1 (released 2004-03-08)
+* Noteworthy changes in release 0.4.1 (2004-03-08) [alpha]
 
 ** The user messages from the command line utility are now translated.
 Currently English and Swedish is supported.
@@ -974,7 +1274,7 @@ now include a copy of Libidn.
 ** API and ABI is backwards compatible with the previous version.
 IDNA_DLOPEN_ERROR: ADD.  Only used internally by Libidn in libc.
 
-* Version 0.4.0 (released 2004-02-28)
+* Noteworthy changes in release 0.4.0 (2004-02-28) [alpha]
 
 ** Support for TLD restrictions on IDN strings, contributed by Thomas Jacob.
 Many TLDs restrict the set of characters that can be used, from the
@@ -1010,7 +1310,7 @@ tld_check_4z:
 tld_check_8z:
 tld_check_lz: ADD.  New functions that combine all TLD operations in one call.
 
-* Version 0.3.7 (released 2004-01-22)
+* Noteworthy changes in release 0.3.7 (2004-01-22) [alpha]
 
 ** The command line parameter '--' idiom is documented.
 
@@ -1022,7 +1322,7 @@ compatibility.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.3.6 (released 2004-01-06)
+* Noteworthy changes in release 0.3.6 (2004-01-06) [alpha]
 
 ** The manual now contain a troubleshooting section for the command line tool.
 
@@ -1032,7 +1332,7 @@ compatibility.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.3.5 (released 2003-12-15)
+* Noteworthy changes in release 0.3.5 (2003-12-15) [alpha]
 
 ** The program 'idn' accepts input strings directly on the command line.
 
@@ -1054,11 +1354,11 @@ IDNA_CONTAINS_LDH: DEPRECATED.  LDH (letter-digits-hyphens) characters
                 IDNA_USE_STD3_ASCII_RULES is used.  The logic of the
                 mnemonic name of this error constant was reversed.
 
-* Version 0.3.4 (released 2003-11-09)
+* Noteworthy changes in release 0.3.4 (2003-11-09) [alpha]
 
 ** DocBook manuals in XML, PDF, PostScript, ASCII and HTML formats included.
 
-* Version 0.3.3 (released 2003-10-18)
+* Noteworthy changes in release 0.3.3 (2003-10-18) [alpha]
 
 ** Fixed list of Stringprep profiles in 'idn --help' and 'idn.php'.
 
@@ -1079,7 +1379,7 @@ stringprep: CHANGED. 'profile' is marked as 'const'.
 stringprep_profile: CHANGED. 'profile' is marked as 'const'.
 stringprep_generic: REMOVED. Never meant for public use.
 
-* Version 0.3.2 (released 2003-10-07)
+* Noteworthy changes in release 0.3.2 (2003-10-07) [alpha]
 
 ** SASL ANONYMOUS stringprep profile "trace" added.
 It is equivalent to the already supported "plain" SASL ANONYMOUS
@@ -1089,7 +1389,7 @@ stringprep profile, except for the name.
 The 'in' parameter to stringprep_profile was changed from 'char*' to
 'const char*'.
 
-* Version 0.3.1 (released 2003-10-02)
+* Noteworthy changes in release 0.3.1 (2003-10-02) [alpha]
 
 ** Fixed handling of implicit and explicit zero-length root labels in ToASCII.
 
@@ -1106,7 +1406,7 @@ This is the appropriate setting for mail-related uses of IDNA.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.3.0 (released 2003-09-23)
+* Noteworthy changes in release 0.3.0 (2003-09-23) [alpha]
 
 ** Ported to Mac OS X.
 
@@ -1123,7 +1423,7 @@ All previously labeled (since 0.1.x) obsolete functions have been dropped.
 The use of 'enum' types instead of 'int' added in 0.2.3 reverted, it
 confused documentation generators and wasn't all that common practice.
 
-* Version 0.2.3 (released 2003-08-26)
+* Noteworthy changes in release 0.2.3 (2003-08-26) [alpha]
 
 ** Example 4 was the same as example 3, now changed to demo ToUnicode.
 
@@ -1136,7 +1436,7 @@ handled by (s)size_t instead of int.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.2.2 (released 2003-08-13)
+* Noteworthy changes in release 0.2.2 (2003-08-13) [alpha]
 
 ** Fixed problem with strings longer than 4GB in punycode functions.
 The punycode code cannot handle strings longer than 4GB.  The code now
@@ -1149,7 +1449,7 @@ unknown way.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.2.1 (released 2003-07-04)
+* Noteworthy changes in release 0.2.1 (2003-07-04) [alpha]
 
 ** Don't reject zero-length trailing labels as in, e.g., "www.example.org.".
 The IDNA RFC is not clear on this topic, zero-length labels in general
@@ -1161,7 +1461,7 @@ root label is in fact not considered a label at all in IDNA.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.2.0 (released 2003-06-19)
+* Noteworthy changes in release 0.2.0 (2003-06-19) [alpha]
 
 ** Unicode code point data is now uint32_t, defined in "idn-int.h".
 A header file "idn-int.h" is generated and installed to make sure the
@@ -1185,20 +1485,20 @@ entry points with this modification were added.
 
 ** API and ABI is not backwards compatible.
 In punycode.h and stringprep.h the "unsigned long" data type was
-changed into "uint32_t", which cause a API and ABI missmatch.  For
+changed into "uint32_t", which cause a API and ABI mismatch.  For
 idna.h, the old entry points that used "unsigned long" still exist,
 and new entry points that uses "uint32_t" was added.  To update your
 application, you probably only need to change "unsigned long" to
 "uint32_t".  As a result of these changes, the shared object version
 has been increased.
 
-* Version 0.1.15 (released 2003-06-07)
+* Noteworthy changes in release 0.1.15 (2003-06-07) [alpha]
 
 ** Bugfixes.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.14 (released 2003-05-10)
+* Noteworthy changes in release 0.1.14 (2003-05-10) [alpha]
 
 ** Experimental documentation generation in contrib/doxygen/.
 Simply invoke "doxygen" in that directory and it should build the
@@ -1208,7 +1508,7 @@ documentation.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.13 (released 2003-03-13)
+* Noteworthy changes in release 0.1.13 (2003-03-13) [alpha]
 
 ** Unfinished Java *.class files implementing the libidn API.
 See the contrib/java/ directory.  It is implemented using the Java
@@ -1221,7 +1521,7 @@ between GCJ, IBM's JDK and Sun's JDK.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.12 (released 2003-03-06)
+* Noteworthy changes in release 0.1.12 (2003-03-06) [alpha]
 
 ** Building libidn doesn't require gengetopt.
 Warnings are still printed though.  Gengetopt will be replaced by argp
@@ -1250,7 +1550,7 @@ backwards compatibility.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.11 (released 2003-02-26)
+* Noteworthy changes in release 0.1.11 (2003-02-26) [alpha]
 
 ** Command line application "idn" is included.
 A simple wrapper around the library that allows you to invoke punycode
@@ -1261,7 +1561,7 @@ See punycode.el and idna.el.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.10 (released 2003-02-21)
+* Noteworthy changes in release 0.1.10 (2003-02-21) [alpha]
 
 ** idna_*_to_ace() and idna_*ace_to_*() are deprecated in favor of
 ** idna_to_ascii_from_*() and idna_to_unicode_*_from_*() respectively.
@@ -1279,7 +1579,7 @@ Stephane Bortzmeyer.
 
 ** API and ABI is backwards compatible with the previous version.
 
-* Version 0.1.9 (released 2003-02-20)
+* Noteworthy changes in release 0.1.9 (2003-02-20) [alpha]
 
 ** SASL ANONYMOUS "plain" stringprep profile added.
 
@@ -1289,7 +1589,7 @@ Stephane Bortzmeyer.
 For future releases, the NEWS entry will specifically mention whether
 the C header API or library ABI backwards compatibility is affected.
 
-* Version 0.1.8 (released 2003-02-14)
+* Noteworthy changes in release 0.1.8 (2003-02-14) [alpha]
 
 ** Portability fixes.
 This includes not building the API Reference Manual with GTK-DOC by
@@ -1302,11 +1602,11 @@ compatible is lost.
 
 ** New nameprep test vectors.
 
-* Version 0.1.7 (released 2003-02-12)
+* Noteworthy changes in release 0.1.7 (2003-02-12) [alpha]
 
 ** Uses official IDNA ACE prefix.
 
-* Version 0.1.6 (released 2003-02-11)
+* Noteworthy changes in release 0.1.6 (2003-02-11) [alpha]
 
 ** Uses tentative IDNA ACE prefix.
 
@@ -1314,7 +1614,7 @@ compatible is lost.
 
 ** Fixed prohibited character checks for bidi.
 
-* Version 0.1.5 (released 2003-01-28)
+* Noteworthy changes in release 0.1.5 (2003-01-28) [alpha]
 
 ** The library can now be built as part of GNU Libc.
 This is experimental and only tested against GNU Libc version 2.3.1.
@@ -1322,7 +1622,7 @@ See the libc/ directory, and libc/README in particular.
 
 ** Bug fixes.
 
-* Version 0.1.4 (released 2003-01-15)
+* Noteworthy changes in release 0.1.4 (2003-01-15) [alpha]
 
 ** Documentation fixes.
 
@@ -1330,24 +1630,24 @@ See the libc/ directory, and libc/README in particular.
 
 ** Bug fixes.
 
-* Version 0.1.3 (released 2003-01-15)
+* Noteworthy changes in release 0.1.3 (2003-01-15) [alpha]
 
 ** Added texinfo manual.
 
-* Version 0.1.2 (released 2003-01-08)
+* Noteworthy changes in release 0.1.2 (2003-01-08) [alpha]
 
 ** Added high-level IDNA API.
 
 ** Added example3.c and example4.c demonstrating the high-level IDNA API.
 
-* Version 0.1.1 (released 2003-01-08)
+* Noteworthy changes in release 0.1.1 (2003-01-08) [alpha]
 
 ** Added documentation using GTK-DOC.
 
 ** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed.
 By accident it was never removed in 0.1.0.
 
-* Version 0.1.0 (released 2003-01-05)
+* Noteworthy changes in release 0.1.0 (2003-01-05) [alpha]
 
 ** Official GNU project.
 
@@ -1361,19 +1661,19 @@ always sufficiently large, no need to use uint32_t and the like.
 
 ** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed.
 
-* Version 0.0.8 (released 2002-12-13)
+* Noteworthy changes in release 0.0.8 (2002-12-13) [alpha]
 
 ** Portability fixes (now works under Cygwin on Windows 2000).
 
 ** Bug fixes.
 
-* Version 0.0.7 (released 2002-12-09)
+* Noteworthy changes in release 0.0.7 (2002-12-09) [alpha]
 
 ** Apply all tables to entire strings, not just first hit.
 
 ** Fix bidi infloop.
 
-* Version 0.0.5 (released 2002-12-07)
+* Noteworthy changes in release 0.0.5 (2002-12-07) [alpha]
 
 ** Fix prohibited characters handling.
 
@@ -1387,13 +1687,13 @@ always sufficiently large, no need to use uint32_t and the like.
 
 ** Added more self-tests.
 
-* Version 0.0.4 (released 2002-12-06)
+* Noteworthy changes in release 0.0.4 (2002-12-06) [alpha]
 
 ** Add unassigned code point handling, including self test cases.
 
 ** Portability fixes.
 
-* Version 0.0.3 (released 2002-11-30)
+* Noteworthy changes in release 0.0.3 (2002-11-30) [alpha]
 
 ** Exported utility function `stringprep_utf8_to_unichar', complementary
 to existing `stringprep_unichar_to_utf8'.
@@ -1406,15 +1706,15 @@ compatibility though.
 
 ** Bug fixes.
 
-* Version 0.0.2 (released 2002-11-07)
+* Noteworthy changes in release 0.0.2 (2002-11-07) [alpha]
 
 ** NFKC self test.
 
 ** Bug fixes.
 
-* Version 0.0.1 (released 2002-11-06)
+* Noteworthy changes in release 0.0.1 (2002-11-06) [alpha]
 
-** Add utility functions stringprep_locale_charset(), stringprep_convert() 
+** Add utility functions stringprep_locale_charset(), stringprep_convert()
 and stringprep_locale_to_utf8 () that can be used to convert text from
 system's locale into UTF-8, which should be done before invoking
 stringprep().  The functions requires iconv() in the operating system.
@@ -1424,11 +1724,12 @@ used is included.
 
 ** The pkg-config --libs output should now include necessary -R options.
 
-* Version 0.0.0 (released 2002-11-05)
+* Noteworthy changes in release 0.0.0 (2002-11-05) [alpha]
 
 ** Initial release
 
 ----------------------------------------------------------------------
+Copyright (C) 2002-2024 Simon Josefsson
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
 notice and this notice are preserved.
diff --git a/README b/README
index cf1fc8c..f05bc13 100644 (file)
--- a/README
+++ b/README
@@ -1,25 +1,27 @@
 Libidn README -- Important introductory notes.
-Copyright (C) 2002-2012 Simon Josefsson
+Copyright (C) 2002-2024 Simon Josefsson
 See the end for copying conditions.
 
 Libidn is a package for internationalized string handling based on the
-Stringprep, Punycode, IDNA and TLD specifications.  Libidn is a GNU
-project.  See the file COPYING for licensing information.
+Stringprep, Punycode, IDNA2003 and TLD specifications.  Libidn is a
+GNU project.  See the file COPYING for licensing information.
 
-Read INSTALL for installation instructions, and doc/libidn.* for the
-manual in various formats (including Info, HTML, PostScript, and PDF).
+The IDNA2003 specifications have been superseded by IDNA2008 which is
+implemented by Libidn2 <https://www.gnu.org/software/libidn/#libidn2>,
+and the only reasonable use of the libidn library today is to support
+the historic IDNA2003 behaviour or to use Stringprep profiles.  Please
+try to migrate to libidn2 wherever possible.
 
-Libidn will not be stable without your help.  Report bugs, proof read
-the manual, or make a monetary donation.
+If you obtained this file as part of a "git clone", then see the
+CONTRIBUTING.md file.  If this file came to you as part of a tar
+archive, then see the file INSTALL for compilation and installation
+instructions.
 
 If you need help to use Libidn, or wish to help others, you are
 invited to join our mailing list help-libidn@gnu.org, see
-<http://lists.gnu.org/mailman/listinfo/help-libidn>.
+<https://lists.gnu.org/mailman/listinfo/help-libidn>.
 
-For more information, see <http://www.gnu.org/software/libidn/>.
-
-For any copyright year range specified as YYYY-ZZZZ in this package
-note that the range specifies every single year in that closed interval.
+For more information, see <https://www.gnu.org/software/libidn/>.
 
 ----------------------------------------------------------------------
 Copying and distribution of this file, with or without modification,
diff --git a/THANKS b/THANKS
index e946a45..278ea68 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
 Libidn THANKS -- Acknowledgements.
-Copyright (C) 2002-2012 Simon Josefsson
+Copyright (C) 2002-2024 Simon Josefsson
 See the end for copying conditions.
 
 The punycode code was taken from the IETF IDN Punycode specification,
@@ -93,7 +93,7 @@ Dagobert Michelsen <dam@opencsw.org>
 Guus der Kinderen <guus.der.kinderen@gmail.com>
 Guenter Knauf <gk@gknw.de>
 Stepan Golosunov <stepan@golosunov.pp.ru>
-"Andrew O. Shadoura" <bugzilla@tut.by>
+Andrej Shadura <andrew@shadura.me>
 Roman Mamedov <rm@romanrm.ru>
 Waqas Hussain <waqas20@gmail.com>
 Guido Trentalancia <guido@trentalancia.com>
@@ -103,6 +103,15 @@ Bittner Ede <bittner.ede@euronetrt.hu>
 René Berber <r.berber@computer.org>
 Jon Nelson <jnelson@jamponi.net>
 Bartosz Brachaczek <b.brachaczek@gmail.com>
+Sarat Chandra Addepalli <s.addepalli@samsung.com>
+Jeffrey Frey <frey@udel.edu>
+Thijs Alkemade <me@thijsalkema.de>
+Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Gustavo Grieco <gustavo.grieco@imag.fr>
+Adam Sampson <ats@offog.org>
+Hanno Böck <hanno@hboeck.de>
+Trond Haugen <trond.haugen@norid.no>
+Bruno Haible <bruno@clisp.org>
 
 ----------------------------------------------------------------------
 Copying and distribution of this file, with or without modification,
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 19badba..0000000
--- a/TODO
+++ /dev/null
@@ -1,21 +0,0 @@
-Libidn TODO -- Future directions.
-Copyright (C) 2002-2012 Simon Josefsson
-See the end for copying conditions.
-
-If you like to start working on anything, please let me know so work
-duplication can be avoided.
-
-  - Optimize stringprep for speed, the table searching is slow (but
-    does it matter?).
-  - Optimize for size?  The stringprep tables can be compressed _alot_
-    (most map entries are simply zeroes).
-  - Port applications to use libidn.
-  - Include more stringprep profiles.
-  - Improve IDN tool.
-  - Reimplement punycode without string length restrictions.
-  - Reject invalid Unicode data.
-
-----------------------------------------------------------------------
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
index a5e211d..21d541f 100644 (file)
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
+
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
+[m4_warning([this file was generated for autoconf 2.71.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.3], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +51,82 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
+# Copyright (C) 2011-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed.  If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+  [AC_LANG_PUSH([C])
+   am_cv_ar_interface=ar
+   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+     [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([am_ar_try])
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+        AC_TRY_EVAL([am_ar_try])
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
+     ])
+   AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  m4_default([$1],
+             [AC_MSG_ERROR([could not determine $AR interface])])
+  ;;
+esac
+AC_SUBST([AR])dnl
+])
+
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +145,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -108,30 +163,63 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
-# AM_CONDITIONAL                                            -*- Autoconf -*-
+# AM_COND_IF                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2008-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# _AM_COND_IF
+# _AM_COND_ELSE
+# _AM_COND_ENDIF
+# --------------
+# These macros are only used for tracing.
+m4_define([_AM_COND_IF])
+m4_define([_AM_COND_ELSE])
+m4_define([_AM_COND_ENDIF])
+
+# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
+# ---------------------------------------
+# If the shell condition COND is true, execute IF-TRUE, otherwise execute
+# IF-FALSE.  Allow automake to learn about conditional instantiating macros
+# (the AC_CONFIG_FOOS).
+AC_DEFUN([AM_COND_IF],
+[m4_ifndef([_AM_COND_VALUE_$1],
+          [m4_fatal([$0: no such condition "$1"])])dnl
+_AM_COND_IF([$1])dnl
+if test -z "$$1_TRUE"; then :
+  m4_n([$2])[]dnl
+m4_ifval([$3],
+[_AM_COND_ELSE([$1])dnl
+else
+  $3
+])dnl
+_AM_COND_ENDIF([$1])dnl
+fi[]dnl
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -150,16 +238,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -169,7 +255,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -182,12 +268,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -195,8 +282,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -236,16 +323,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -254,8 +341,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -263,7 +350,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -311,7 +398,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -321,9 +408,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -338,67 +429,56 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
-
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
+  # TODO: see whether this extra hack can be removed once we start
+  # requiring Autoconf 2.70 or later.
+  AS_CASE([$CONFIG_FILES],
+          [*\'*], [eval set x "$CONFIG_FILES"],
+          [*], [set x $CONFIG_FILES])
   shift
-  for mf
+  # Used to flag and report bootstrapping failures.
+  am_rc=0
+  for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
+    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile which includes
+    # dependency-tracking related rules and includes.
+    # Grep'ing the whole file directly is not great: AIX grep has a line
     # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
+    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+      || continue
+    am_dirpart=`AS_DIRNAME(["$am_mf"])`
+    am_filepart=`AS_BASENAME(["$am_mf"])`
+    AM_RUN_LOG([cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles]) || am_rc=$?
   done
+  if test $am_rc -ne 0; then
+    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+    for automatic dependency tracking.  If GNU make was not used, consider
+    re-running the configure script with MAKE="gmake" (or whatever is
+    necessary).  You can also try re-running configure with the
+    '--disable-dependency-tracking' option to at least be able to build
+    the package (albeit without support for automatic dependency tracking).])
+  fi
+  AS_UNSET([am_dirpart])
+  AS_UNSET([am_filepart])
+  AS_UNSET([am_mf])
+  AS_UNSET([am_rc])
+  rm -f conftest-deps.mk
 }
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
@@ -407,51 +487,31 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # -----------------------------
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
      [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Check for Java compiler.                                  -*- Autoconf -*-
-# For now we only handle the GNU compiler.
-
-# Copyright (C) 1999, 2000, 2003, 2005, 2009, 2011 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-AC_DEFUN([AM_PROG_GCJ],[
-AC_CHECK_TOOLS(GCJ, gcj, gcj)
-test -z "$GCJ" && AC_MSG_ERROR([no acceptable gcj found in \$PATH])
-if test "x${GCJFLAGS-unset}" = xunset; then
-   GCJFLAGS="-g -O2"
-fi
-AC_SUBST(GCJFLAGS)
-_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(GCJ)])
-])
+     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -464,7 +524,11 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(GCJ)])
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -493,33 +557,42 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -528,34 +601,96 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
                             [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+                 [_AM_DEPENDENCIES([CC])],
+                 [m4_define([AC_PROG_CC],
+                            m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+                 [_AM_DEPENDENCIES([CXX])],
+                 [m4_define([AC_PROG_CXX],
+                            m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+                 [_AM_DEPENDENCIES([OBJC])],
+                 [m4_define([AC_PROG_OBJC],
+                            m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+                 [_AM_DEPENDENCIES([OBJCXX])],
+                 [m4_define([AC_PROG_OBJCXX],
+                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+  CTAGS=ctags
+fi
+AC_SUBST([CTAGS])
+if test -z "$ETAGS"; then
+  ETAGS=etags
+fi
+AC_SUBST([ETAGS])
+if test -z "$CSCOPE"; then
+  CSCOPE=cscope
+fi
+AC_SUBST([CSCOPE])
+
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -577,21 +712,18 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -599,16 +731,14 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -622,15 +752,12 @@ fi
 rmdir .tst 2>/dev/null
 AC_SUBST([am__leading_dot])])
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006  Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
-
 # AM_PATH_LISPDIR
 # ---------------
 AC_DEFUN([AM_PATH_LISPDIR],
@@ -642,7 +769,8 @@ AC_DEFUN([AM_PATH_LISPDIR],
  AC_ARG_VAR([EMACS], [the Emacs editor command])
  AC_ARG_VAR([EMACSLOADPATH], [the Emacs library search path])
  AC_ARG_WITH([lispdir],
- [  --with-lispdir          override the default lisp directory],
+ [AS_HELP_STRING([--with-lispdir],
+                 [override the default lisp directory])],
  [ lispdir="$withval"
    AC_MSG_CHECKING([where .elc files should go])
    AC_MSG_RESULT([$lispdir])],
@@ -655,7 +783,7 @@ AC_DEFUN([AM_PATH_LISPDIR],
   #  which is non-obvious for non-emacs users.
   # Redirecting /dev/null should help a bit; pity we can't detect "broken"
   #  emacsen earlier and avoid running this altogether.
-  AC_RUN_LOG([$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
+  AC_RUN_LOG([$EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
        am_cv_lispdir=`sed -n \
        -e 's,/$,,' \
        -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
@@ -671,106 +799,57 @@ AC_DEFUN([AM_PATH_LISPDIR],
 AC_SUBST([lispdir])
 ])# AM_PATH_LISPDIR
 
-AU_DEFUN([ud_PATH_LISPDIR], [AM_PATH_LISPDIR])
-
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
-# Check to see how make treats includes.
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
 AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+      ['0:this is the am__doit target'],
+      [AS_CASE([$s],
+          [BSD], [am__include='.include' am__quote='"'],
+          [am__include='include' am__quote=''])])
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -778,71 +857,33 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
 if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
+  MISSING="\${SHELL} '$am_aux_dir/missing'"
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -852,7 +893,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -866,24 +907,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -894,32 +993,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+       && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -929,31 +1036,50 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
+# Copyright (C) 2009-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
 dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
 dnl do not support nested variable expansions.
 dnl See automake bug#9928 and bug#10237.
 am_make=${MAKE-make}
@@ -971,7 +1097,7 @@ else
   am_cv_make_support_nested_variables=no
 fi])
 if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using `$V' instead of `$(V)' breaks IRIX make.
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
   AM_V='$(V)'
   AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
 else
@@ -988,44 +1114,40 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1039,18 +1161,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2021 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -1060,145 +1180,199 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
 [# Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/ax_java_options.m4])
+m4_include([m4/ax_prog_jar.m4])
+m4_include([m4/ax_prog_javac.m4])
+m4_include([m4/ax_prog_javac_works.m4])
+m4_include([m4/ax_prog_javadoc.m4])
+m4_include([m4/pkg.m4])
+m4_include([lib/gl/m4/__inline.m4])
+m4_include([lib/gl/m4/free.m4])
 m4_include([lib/gl/m4/gnulib-comp.m4])
+m4_include([lib/gl/m4/host-cpu-c-abi.m4])
+m4_include([lib/gl/m4/iconv.m4])
 m4_include([lib/gl/m4/iconv_h.m4])
 m4_include([lib/gl/m4/iconv_open.m4])
 m4_include([lib/gl/m4/inline.m4])
-m4_include([lib/gl/m4/ld-output-def.m4])
-m4_include([lib/gl/m4/ld-version-script.m4])
+m4_include([lib/gl/m4/inttypes.m4])
+m4_include([lib/gl/m4/langinfo_h.m4])
+m4_include([lib/gl/m4/lib-ld.m4])
+m4_include([lib/gl/m4/lib-link.m4])
+m4_include([lib/gl/m4/lib-prefix.m4])
 m4_include([lib/gl/m4/libunistring-base.m4])
-m4_include([lib/gl/m4/locale-fr.m4])
-m4_include([lib/gl/m4/locale-ja.m4])
-m4_include([lib/gl/m4/locale-tr.m4])
-m4_include([lib/gl/m4/locale-zh.m4])
-m4_include([lib/gl/m4/locale_h.m4])
-m4_include([lib/gl/m4/localename.m4])
-m4_include([lib/gl/m4/setlocale.m4])
 m4_include([lib/gl/m4/strverscmp.m4])
-m4_include([lib/gl/m4/thread.m4])
-m4_include([lib/gl/m4/yield.m4])
+m4_include([lib/gl/m4/wchar_h.m4])
 m4_include([gl/m4/00gnulib.m4])
+m4_include([gl/m4/absolute-header.m4])
 m4_include([gl/m4/alloca.m4])
+m4_include([gl/m4/assert_h.m4])
 m4_include([gl/m4/autobuild.m4])
+m4_include([gl/m4/c-bool.m4])
 m4_include([gl/m4/close.m4])
+m4_include([gl/m4/codeset.m4])
 m4_include([gl/m4/csharp.m4])
 m4_include([gl/m4/csharpcomp.m4])
 m4_include([gl/m4/csharpexec.m4])
+m4_include([gl/m4/double-slash-root.m4])
 m4_include([gl/m4/dup2.m4])
 m4_include([gl/m4/eealloc.m4])
-m4_include([gl/m4/environ.m4])
 m4_include([gl/m4/errno_h.m4])
 m4_include([gl/m4/error.m4])
+m4_include([gl/m4/error_h.m4])
 m4_include([gl/m4/extensions.m4])
+m4_include([gl/m4/extern-inline.m4])
+m4_include([gl/m4/fcntl-o.m4])
+m4_include([gl/m4/fcntl.m4])
 m4_include([gl/m4/fcntl_h.m4])
-m4_include([gl/m4/fdopen.m4])
 m4_include([gl/m4/fstat.m4])
-m4_include([gl/m4/getcwd.m4])
+m4_include([gl/m4/getdelim.m4])
+m4_include([gl/m4/getdtablesize.m4])
+m4_include([gl/m4/getline.m4])
 m4_include([gl/m4/getopt.m4])
+m4_include([gl/m4/getprogname.m4])
 m4_include([gl/m4/gnulib-common.m4])
 m4_include([gl/m4/gnulib-comp.m4])
 m4_include([gl/m4/include_next.m4])
-m4_include([gl/m4/inttypes.m4])
 m4_include([gl/m4/largefile.m4])
-m4_include([gl/m4/lstat.m4])
-m4_include([gl/m4/malloc.m4])
+m4_include([gl/m4/ld-output-def.m4])
+m4_include([gl/m4/ld-version-script.m4])
+m4_include([gl/m4/limits-h.m4])
+m4_include([gl/m4/locale-fr.m4])
 m4_include([gl/m4/malloca.m4])
 m4_include([gl/m4/manywarnings.m4])
 m4_include([gl/m4/mode_t.m4])
 m4_include([gl/m4/msvc-inval.m4])
 m4_include([gl/m4/msvc-nothrow.m4])
 m4_include([gl/m4/multiarch.m4])
+m4_include([gl/m4/musl.m4])
 m4_include([gl/m4/nocrash.m4])
 m4_include([gl/m4/off_t.m4])
+m4_include([gl/m4/open-cloexec.m4])
+m4_include([gl/m4/open-slash.m4])
 m4_include([gl/m4/open.m4])
 m4_include([gl/m4/pathmax.m4])
-m4_include([gl/m4/putenv.m4])
-m4_include([gl/m4/setenv.m4])
 m4_include([gl/m4/ssize_t.m4])
+m4_include([gl/m4/stat-time.m4])
 m4_include([gl/m4/stat.m4])
 m4_include([gl/m4/stdarg.m4])
-m4_include([gl/m4/stdbool.m4])
 m4_include([gl/m4/stddef_h.m4])
 m4_include([gl/m4/stdint.m4])
 m4_include([gl/m4/stdio_h.m4])
 m4_include([gl/m4/stdlib_h.m4])
 m4_include([gl/m4/strerror.m4])
 m4_include([gl/m4/string_h.m4])
-m4_include([gl/m4/symlink.m4])
 m4_include([gl/m4/sys_socket_h.m4])
 m4_include([gl/m4/sys_stat_h.m4])
 m4_include([gl/m4/sys_types_h.m4])
@@ -1206,34 +1380,20 @@ m4_include([gl/m4/time_h.m4])
 m4_include([gl/m4/unistd_h.m4])
 m4_include([gl/m4/valgrind-tests.m4])
 m4_include([gl/m4/version-etc.m4])
+m4_include([gl/m4/visibility.m4])
 m4_include([gl/m4/warn-on-use.m4])
 m4_include([gl/m4/warnings.m4])
-m4_include([gl/m4/wchar_h.m4])
-m4_include([m4/ac_prog_jar.m4])
-m4_include([m4/codeset.m4])
-m4_include([m4/fcntl-o.m4])
-m4_include([m4/gettext.m4])
-m4_include([m4/gtk-doc.m4])
-m4_include([m4/iconv.m4])
-m4_include([m4/intlmacosx.m4])
-m4_include([m4/inttypes-pri.m4])
-m4_include([m4/lcmessage.m4])
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/lock.m4])
-m4_include([m4/longlong.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([m4/nls.m4])
-m4_include([m4/pkg.m4])
-m4_include([m4/po.m4])
-m4_include([m4/progtest.m4])
-m4_include([m4/threadlib.m4])
-m4_include([m4/update-header-version.m4])
-m4_include([m4/visibility.m4])
-m4_include([m4/wchar_t.m4])
-m4_include([m4/wint_t.m4])
+m4_include([gl/m4/wchar_t.m4])
+m4_include([gl/m4/wint_t.m4])
+m4_include([gl/m4/zzgnulib.m4])
+m4_include([lib/m4/gettext.m4])
+m4_include([lib/m4/gtk-doc.m4])
+m4_include([lib/m4/intlmacosx.m4])
+m4_include([lib/m4/libtool.m4])
+m4_include([lib/m4/ltoptions.m4])
+m4_include([lib/m4/ltsugar.m4])
+m4_include([lib/m4/ltversion.m4])
+m4_include([lib/m4/lt~obsolete.m4])
+m4_include([lib/m4/nls.m4])
+m4_include([lib/m4/po.m4])
+m4_include([lib/m4/progtest.m4])
diff --git a/build-aux/announce-gen b/build-aux/announce-gen
new file mode 100755 (executable)
index 0000000..f9e2012
--- /dev/null
@@ -0,0 +1,704 @@
+#!/bin/sh
+#! -*-perl-*-
+
+# Generate a release announcement message.
+
+# Copyright (C) 2002-2024 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
+# 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 <https://www.gnu.org/licenses/>.
+#
+# Written by Jim Meyering
+
+# This is a prologue that allows to run a perl script as an executable
+# on systems that are compliant to a POSIX version before POSIX:2017.
+# On such systems, the usual invocation of an executable through execlp()
+# or execvp() fails with ENOEXEC if it is a script that does not start
+# with a #! line.  The script interpreter mentioned in the #! line has
+# to be /bin/sh, because on GuixSD systems that is the only program that
+# has a fixed file name.  The second line is essential for perl and is
+# also useful for editing this file in Emacs.  The next two lines below
+# are valid code in both sh and perl.  When executed by sh, they re-execute
+# the script through the perl program found in $PATH.  The '-x' option
+# is essential as well; without it, perl would re-execute the script
+# through /bin/sh.  When executed by perl, the next two lines are a no-op.
+eval 'exec perl -wSx "$0" "$@"'
+     if 0;
+
+my $VERSION = '2023-12-29 18:26'; # UTC
+# The definition above must lie within the first 8 lines in order
+# for the Emacs time-stamp write hook (at end) to update it.
+# If you change this file with Emacs, please let the write hook
+# do its job.  Otherwise, update this string manually.
+
+my $copyright_year = '2022';
+
+use strict;
+use Getopt::Long;
+use POSIX qw(strftime);
+
+(my $ME = $0) =~ s|.*/||;
+
+my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
+my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz);
+my $srcdir = '.';
+
+sub usage ($)
+{
+  my ($exit_code) = @_;
+  my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
+  if ($exit_code != 0)
+    {
+      print $STREAM "Try '$ME --help' for more information.\n";
+    }
+  else
+    {
+      my @types = sort keys %valid_release_types;
+      print $STREAM <<EOF;
+Usage: $ME [OPTIONS]
+Generate an announcement message.  Run this from builddir.
+
+OPTIONS:
+
+These options must be specified:
+
+   --release-type=TYPE          TYPE must be one of @types
+   --package-name=PACKAGE_NAME
+   --previous-version=VER
+   --current-version=VER
+   --gpg-key-id=ID         The GnuPG ID of the key used to sign the tarballs
+   --url-directory=URL_DIR
+
+The following are optional:
+
+   --news=NEWS_FILE             include the NEWS section about this release
+                                from this NEWS_FILE; accumulates.
+   --srcdir=DIR                 where to find the NEWS_FILEs (default: $srcdir)
+   --bootstrap-tools=TOOL_LIST  a comma-separated list of tools, e.g.,
+                                autoconf,automake,bison,gnulib
+   --gnulib-version=VERSION     report VERSION as the gnulib version, where
+                                VERSION is the result of running git describe
+                                in the gnulib source directory.
+                                required if gnulib is in TOOL_LIST.
+   --gpg-key-email=EMAIL        The email address of the key used to
+                                sign the tarballs
+   --gpg-keyring-url=URL        URL pointing to keyring containing the key used
+                                to sign the tarballs
+   --no-print-checksums         do not emit SHA1 or SHA256 checksums
+   --archive-suffix=SUF         add SUF to the list of archive suffixes
+   --mail-headers=HEADERS       a space-separated list of mail headers, e.g.,
+                                To: x\@example.com Cc: y-announce\@example.com,...
+
+   --help             display this help and exit
+   --version          output version information and exit
+
+EOF
+    }
+  exit $exit_code;
+}
+
+
+=item C<%size> = C<sizes (@file)>
+
+Compute the sizes of the C<@file> and return them as a hash.  Return
+C<undef> if one of the computation failed.
+
+=cut
+
+sub sizes (@)
+{
+  my (@file) = @_;
+
+  my $fail = 0;
+  my %res;
+  foreach my $f (@file)
+    {
+      my $cmd = "du -h $f";
+      my $t = `$cmd`;
+      # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
+      $@
+        and (warn "command failed: '$cmd'\n"), $fail = 1;
+      chomp $t;
+      $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/;
+      $res{$f} = $t;
+    }
+  return $fail ? undef : %res;
+}
+
+=item C<print_locations ($title, \@url, \%size, @file)
+
+Print a section C<$title> dedicated to the list of <@file>, which
+sizes are stored in C<%size>, and which are available from the C<@url>.
+
+=cut
+
+sub print_locations ($\@\%@)
+{
+  my ($title, $url, $size, @file) = @_;
+  print "Here are the $title:\n";
+  foreach my $url (@{$url})
+    {
+      for my $file (@file)
+        {
+          print "  $url/$file";
+          print "   (", $$size{$file}, ")"
+            if exists $$size{$file};
+          print "\n";
+        }
+    }
+  print "\n";
+}
+
+=item C<print_checksums (@file)
+
+Print the SHA1 and SHA256 signature section for each C<@file>.
+
+=cut
+
+# This digest function omits the "=" padding that is required by cksum,
+# so add the 0..2 bytes of padding required for each of Digest's algorithms.
+sub digest_file_base64_wrap ($$)
+{
+  my ($file, $alg) = @_;
+  my $h = digest_file_base64($file, $alg);
+  $alg =~ tr{-}{}d;
+  my %pad = (MD5 => 2, SHA1 => 1, SHA256 => 1, SHA384 => 0, SHA512 => 2);
+  return $h . '=' x $pad{$alg};
+}
+
+sub print_checksums (@)
+{
+  my (@file) = @_;
+
+  print "Here are the SHA1 and SHA256 checksums:\n";
+  print "\n";
+
+  use Digest::file qw(digest_file_hex digest_file_base64);
+
+  foreach my $f (@file)
+    {
+      print '  ', digest_file_hex ($f, "SHA-1"), "  $f\n";
+      print '  ', digest_file_base64_wrap ($f, "SHA-256"), "  $f\n";
+    }
+  print "\nVerify the base64 SHA256 checksum with cksum -a sha256 --check\n";
+  print "from coreutils-9.2 or OpenBSD's cksum since 2007.\n\n";
+}
+
+=item C<print_news_deltas ($news_file, $prev_version, $curr_version)
+
+Print the section of the NEWS file C<$news_file> addressing changes
+between versions C<$prev_version> and C<$curr_version>.
+
+=cut
+
+sub print_news_deltas ($$$)
+{
+  my ($news_file, $prev_version, $curr_version) = @_;
+
+  my $news_name = $news_file;
+  $news_name =~ s|^\Q$srcdir\E/||;
+
+  print "\n$news_name\n\n";
+
+  # Print all lines from $news_file, starting with the first one
+  # that mentions $curr_version up to but not including
+  # the first occurrence of $prev_version.
+  my $in_items;
+
+  my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/;
+
+  my $found_news;
+  open NEWS, '<', $news_file
+    or die "$ME: $news_file: cannot open for reading: $!\n";
+  while (defined (my $line = <NEWS>))
+    {
+      if ( ! $in_items)
+        {
+          # Match lines like these:
+          # * Major changes in release 5.0.1:
+          # * Noteworthy changes in release 6.6 (2006-11-22) [stable]
+          $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o
+            or next;
+          $in_items = 1;
+          print $line;
+        }
+      else
+        {
+          # This regexp must not match version numbers in NEWS items.
+          # For example, they might well say "introduced in 4.5.5",
+          # and we don't want that to match.
+          $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
+            and last;
+          print $line;
+          $line =~ /\S/
+            and $found_news = 1;
+        }
+    }
+  close NEWS;
+
+  $in_items
+    or die "$ME: $news_file: no matching lines for '$curr_version'\n";
+  $found_news
+    or die "$ME: $news_file: no news item found for '$curr_version'\n";
+}
+
+sub print_changelog_deltas ($$)
+{
+  my ($package_name, $prev_version) = @_;
+
+  # Print new ChangeLog entries.
+
+  # First find all CVS-controlled ChangeLog files.
+  use File::Find;
+  my @changelog;
+  find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS'
+                          and push @changelog, $File::Find::name}},
+        '.');
+
+  # If there are no ChangeLog files, we're done.
+  @changelog
+    or return;
+  my %changelog = map {$_ => 1} @changelog;
+
+  # Reorder the list of files so that if there are ChangeLog
+  # files in the specified directories, they're listed first,
+  # in this order:
+  my @dir = qw ( . src lib m4 config doc );
+
+  # A typical @changelog array might look like this:
+  # ./ChangeLog
+  # ./po/ChangeLog
+  # ./m4/ChangeLog
+  # ./lib/ChangeLog
+  # ./doc/ChangeLog
+  # ./config/ChangeLog
+  my @reordered;
+  foreach my $d (@dir)
+    {
+      my $dot_slash = $d eq '.' ? $d : "./$d";
+      my $target = "$dot_slash/ChangeLog";
+      delete $changelog{$target}
+        and push @reordered, $target;
+    }
+
+  # Append any remaining ChangeLog files.
+  push @reordered, sort keys %changelog;
+
+  # Remove leading './'.
+  @reordered = map { s!^\./!!; $_ } @reordered;
+
+  print "\nChangeLog entries:\n\n";
+  # print join ("\n", @reordered), "\n";
+
+  $prev_version =~ s/\./_/g;
+  my $prev_cvs_tag = "\U$package_name\E-$prev_version";
+
+  my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
+  open DIFF, '-|', $cmd
+    or die "$ME: cannot run '$cmd': $!\n";
+  # Print two types of lines, making minor changes:
+  # Lines starting with '+++ ', e.g.,
+  # +++ ChangeLog   22 Feb 2003 16:52:51 -0000      1.247
+  # and those starting with '+'.
+  # Don't print the others.
+  my $prev_printed_line_empty = 1;
+  while (defined (my $line = <DIFF>))
+    {
+      if ($line =~ /^\+\+\+ /)
+        {
+          my $separator = "*"x70 ."\n";
+          $line =~ s///;
+          $line =~ s/\s.*//;
+          $prev_printed_line_empty
+            or print "\n";
+          print $separator, $line, $separator;
+        }
+      elsif ($line =~ /^\+/)
+        {
+          $line =~ s///;
+          print $line;
+          $prev_printed_line_empty = ($line =~ /^$/);
+        }
+    }
+  close DIFF;
+
+  # The exit code should be 1.
+  # Allow in case there are no modified ChangeLog entries.
+  $? == 256 || $? == 128
+    or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n";
+}
+
+sub get_tool_versions ($$)
+{
+  my ($tool_list, $gnulib_version) = @_;
+  @$tool_list
+    or return ();
+
+  my $fail;
+  my @tool_version_pair;
+  foreach my $t (@$tool_list)
+    {
+      if ($t eq 'gnulib')
+        {
+          push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version;
+          next;
+        }
+      # Assume that the last "word" on the first line of
+      # 'tool --version' output is the version string.
+      my ($first_line, undef) = split ("\n", `$t --version`);
+      if ($first_line =~ /.* (\d[\w.-]+)$/)
+        {
+          $t = ucfirst $t;
+          push @tool_version_pair, "$t $1";
+        }
+      else
+        {
+          defined $first_line
+            and $first_line = '';
+          warn "$t: unexpected --version output\n:$first_line";
+          $fail = 1;
+        }
+    }
+
+  $fail
+    and exit 1;
+
+  return @tool_version_pair;
+}
+
+# Print a more human-friendly representation of $SEC seconds.
+sub readable_interval0($)
+{
+  my $sec = shift;
+  $sec < 60 and return "$sec seconds";
+
+  my $min = int($sec / 60); $sec %= 60;
+  30 < $sec and $min++;
+  $min < 60 and return "$min minutes";
+
+  my $hr = int($min / 60); $min %= 60;
+  30 < $min and $hr++;
+  $hr < 24 and return "$hr hours";
+
+  my $day = int($hr / 24); $hr %= 24;
+  12 < $hr and $day++;
+  $day < 50 and return "$day days";
+
+  my $wk = int($day / 7); $day %= 7;
+  4 < $day and $wk++;
+  return "$wk weeks";
+}
+
+# Convert e.g., "1 weeks", to "1 week".
+sub readable_interval($)
+{
+  my $interval_str = shift;
+  my $i = readable_interval0 $interval_str;
+  $i =~ m{^1 \w+s$} and chop $i;
+  return $i;
+}
+
+{
+  # Use the C locale so that, for instance, "du" does not
+  # print "1,2" instead of "1.2", which would confuse our regexps.
+  $ENV{LC_ALL} = "C";
+
+  my $mail_headers;
+  my $release_type;
+  my $package_name;
+  my $prev_version;
+  my $curr_version;
+  my $gpg_key_id;
+  my @url_dir_list;
+  my @news_file;
+  my $bootstrap_tools;
+  my $gnulib_version;
+  my $print_checksums_p = 1;
+  my $gpg_key_email;
+  my $gpg_keyring_url;
+
+  # Reformat the warnings before displaying them.
+  local $SIG{__WARN__} = sub
+    {
+      my ($msg) = @_;
+      # Warnings from GetOptions.
+      $msg =~ s/Option (\w)/option --$1/;
+      warn "$ME: $msg";
+    };
+
+  GetOptions
+    (
+     'mail-headers=s'     => \$mail_headers,
+     'release-type=s'     => \$release_type,
+     'package-name=s'     => \$package_name,
+     'previous-version=s' => \$prev_version,
+     'current-version=s'  => \$curr_version,
+     'gpg-key-id=s'       => \$gpg_key_id,
+     'gpg-key-email=s'    => \$gpg_key_email,
+     'gpg-keyring-url=s'  => \$gpg_keyring_url,
+     'url-directory=s'    => \@url_dir_list,
+     'news=s'             => \@news_file,
+     'srcdir=s'           => \$srcdir,
+     'bootstrap-tools=s'  => \$bootstrap_tools,
+     'gnulib-version=s'   => \$gnulib_version,
+     'print-checksums!'   => \$print_checksums_p,
+     'archive-suffix=s'   => \@archive_suffixes,
+
+     help => sub { usage 0 },
+     version =>
+       sub
+       {
+         print "$ME version $VERSION\n";
+         print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n";
+         print "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\n"
+             . "This is free software: you are free to change and redistribute it.\n"
+             . "There is NO WARRANTY, to the extent permitted by law.\n";
+         print "\n";
+         my $author = "Jim Meyering";
+         print "Written by $author.\n";
+         exit
+       },
+    ) or usage 1;
+
+  my $fail = 0;
+  # Ensure that each required option is specified.
+  $release_type
+    or (warn "release type not specified\n"), $fail = 1;
+  $package_name
+    or (warn "package name not specified\n"), $fail = 1;
+  $prev_version
+    or (warn "previous version string not specified\n"), $fail = 1;
+  $curr_version
+    or (warn "current version string not specified\n"), $fail = 1;
+  $gpg_key_id
+    or (warn "GnuPG key ID not specified\n"), $fail = 1;
+  @url_dir_list
+    or (warn "URL directory name(s) not specified\n"), $fail = 1;
+
+  my @tool_list = split ',', $bootstrap_tools
+    if $bootstrap_tools;
+
+  grep (/^gnulib$/, @tool_list) && ! defined $gnulib_version
+    and (warn "when specifying gnulib as a tool, you must also specify\n"
+        . "--gnulib-version=V, where V is the result of running git describe\n"
+        . "in the gnulib source directory.\n"), $fail = 1;
+
+  ! grep (/^gnulib$/, @tool_list) && defined $gnulib_version
+    and (warn "with --gnulib-version=V you must use --bootstrap-tools=...\n"
+         . "including gnulib in that list"), $fail = 1;
+
+  !$release_type || exists $valid_release_types{$release_type}
+    or (warn "'$release_type': invalid release type\n"), $fail = 1;
+
+  @ARGV
+    and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"),
+      $fail = 1;
+  $fail
+    and usage 1;
+
+  my $my_distdir = "$package_name-$curr_version";
+
+  my $xd = "$package_name-$prev_version-$curr_version.xdelta";
+
+  my @candidates = map { "$my_distdir.$_" } @archive_suffixes;
+  my @tarballs = grep {-f $_} @candidates;
+
+  @tarballs
+    or die "$ME: none of " . join(', ', @candidates) . " were found\n";
+  my @sizable = @tarballs;
+  -f $xd
+    and push @sizable, $xd;
+  my %size = sizes (@sizable);
+  %size
+    or exit 1;
+
+  my $headers = '';
+  if (defined $mail_headers)
+    {
+      ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g;
+      $headers .= "\n";
+    }
+
+  # The markup is escaped as <\# so that when this script is sent by
+  # mail (or part of a diff), Gnus is not triggered.
+  print <<EOF;
+
+${headers}Subject: $my_distdir released [$release_type]
+
+<\#secure method=pgpmime mode=sign>
+This is to announce $package_name-$curr_version, a $release_type release.
+
+FIXME: put comments here
+
+EOF
+
+  my $v0 = $prev_version;
+  my $v1 = $curr_version;
+
+  (my $first_name = `git config user.name|cut -d' ' -f1`)
+    =~ m{\S} or die "no name? set user.name in ~/.gitconfig\n";
+
+  chomp (my $n_ci = `git rev-list "v$v0..v$v1" | wc -l`);
+  chomp (my $n_p = `git shortlog "v$v0..v$v1" | grep -c '^[^ ]'`);
+
+  my $prev_release_date = `git log --pretty=%ct -1 "v$v0"`;
+  my $this_release_date = `git log --pretty=%ct -1 "v$v1"`;
+  my $n_seconds = $this_release_date - $prev_release_date;
+  my $time_since_prev = readable_interval $n_seconds;
+  my $names = `git shortlog "v$v0..v$v1"|perl -lne '/^(\\w.*):/ and print "  ".\$1'`;
+
+  print <<EOF;
+There have been $n_ci commits by $n_p people in the $time_since_prev since $v0.
+
+See the NEWS below for a brief summary.
+
+Thanks to everyone who has contributed!
+The following people contributed changes to this release:
+
+$names
+$first_name [on behalf of the $package_name maintainers]
+==================================================================
+
+Here is the GNU $package_name home page:
+    https://gnu.org/s/$package_name/
+
+For a summary of changes and contributors, see:
+  https://git.sv.gnu.org/gitweb/?p=$package_name.git;a=shortlog;h=v$v1
+or run this command from a git-cloned $package_name directory:
+  git shortlog v$v0..v$v1
+
+EOF
+
+  if (@url_dir_list == 1 && @tarballs == 1)
+    {
+      # When there's only one tarball and one URL, use a more concise form.
+      my $m = "$url_dir_list[0]/$tarballs[0]";
+      print "Here are the compressed sources and a GPG detached signature:\n"
+        . "  $m\n"
+        . "  $m.sig\n\n";
+    }
+  else
+    {
+      print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
+      -f $xd
+        and print_locations ("xdelta diffs (useful? if so, "
+                             . "please tell bug-gnulib\@gnu.org)",
+                             @url_dir_list, %size, $xd);
+      my @sig_files = map { "$_.sig" } @tarballs;
+      print_locations ("GPG detached signatures", @url_dir_list, %size,
+                       @sig_files);
+    }
+
+  if ($url_dir_list[0] =~ "gnu\.org")
+    {
+      print "Use a mirror for higher download bandwidth:\n";
+      if (@tarballs == 1 && $url_dir_list[0] =~ m!https://ftp\.gnu\.org/gnu/!)
+        {
+          (my $m = "$url_dir_list[0]/$tarballs[0]")
+            =~ s!https://ftp\.gnu\.org/gnu/!https://ftpmirror\.gnu\.org/!;
+          print "  $m\n"
+              . "  $m.sig\n\n";
+
+        }
+      else
+        {
+          print "  https://www.gnu.org/order/ftp.html\n\n";
+        }
+    }
+
+  $print_checksums_p
+    and print_checksums (@sizable);
+
+  print <<EOF;
+Use a .sig file to verify that the corresponding file (without the
+.sig suffix) is intact.  First, be sure to download both the .sig file
+and the corresponding tarball.  Then, run a command like this:
+
+  gpg --verify $tarballs[0].sig
+
+EOF
+  my $gpg_fingerprint = `LC_ALL=C gpg --fingerprint $gpg_key_id | grep -v ^sub`;
+  if ($gpg_fingerprint =~ /^pub/)
+    {
+      chop $gpg_fingerprint;
+      $gpg_fingerprint =~ s/ \[expires:.*//mg;
+      $gpg_fingerprint =~ s/^uid           \[ultimate\]/uid  /mg;
+      $gpg_fingerprint =~ s/^/  /mg;
+      print<<EOF
+The signature should match the fingerprint of the following key:
+
+$gpg_fingerprint
+EOF
+    }
+  print <<EOF;
+If that command fails because you don't have the required public key,
+or that public key has expired, try the following commands to retrieve
+or refresh it, and then rerun the 'gpg --verify' command.
+EOF
+  if ($gpg_key_email) {
+    print <<EOF;
+
+  gpg --locate-external-key $gpg_key_email
+EOF
+    }
+  print <<EOF;
+
+  gpg --recv-keys $gpg_key_id
+EOF
+    if ($gpg_keyring_url) {
+      print <<EOF;
+
+  wget -q -O- '$gpg_keyring_url' | gpg --import -
+EOF
+      }
+  print <<EOF;
+
+As a last resort to find the key, you can try the official GNU
+keyring:
+
+  wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
+  gpg --keyring gnu-keyring.gpg --verify $tarballs[0].sig
+EOF
+
+  my @tool_versions = get_tool_versions (\@tool_list, $gnulib_version);
+  @tool_versions
+    and print "\nThis release was bootstrapped with the following tools:",
+      join ('', map {"\n  $_"} @tool_versions), "\n";
+
+  print_news_deltas ($_, $prev_version, $curr_version)
+    foreach @news_file;
+
+  $release_type eq 'stable'
+    or print_changelog_deltas ($package_name, $prev_version);
+
+  exit 0;
+}
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## mode: perl
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## perl-extra-newline-before-brace: t
+## perl-merge-trailing-else: nil
+## eval: (add-hook 'before-save-hook 'time-stamp)
+## time-stamp-line-limit: 50
+## time-stamp-start: "my $VERSION = '"
+## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
+## time-stamp-time-zone: "UTC0"
+## time-stamp-end: "'; # UTC"
+## End:
diff --git a/build-aux/ar-lib b/build-aux/ar-lib
new file mode 100755 (executable)
index 0000000..c349042
--- /dev/null
@@ -0,0 +1,271 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2019-07-04.01; # UTC
+
+# Copyright (C) 2010-2021 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda@lysator.liu.se>.
+#
+# 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 2, 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 <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+  echo "$me: $1" 1>&2
+  exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+           file_conv=mingw
+           ;;
+         CYGWIN* | MSYS*)
+           file_conv=cygwin
+           ;;
+         *)
+           file_conv=wine
+           ;;
+       esac
+      fi
+      case $file_conv in
+       mingw)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+       cygwin | msys)
+         file=`cygpath -m "$file" || echo "$file"`
+         ;;
+       wine)
+         file=`winepath -w "$file" || echo "$file"`
+         ;;
+      esac
+      ;;
+  esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+  operation=$2
+  archive=$3
+  at_file_contents=`cat "$1"`
+  eval set x "$at_file_contents"
+  shift
+
+  for member
+  do
+    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+  done
+}
+
+case $1 in
+  '')
+     func_error "no command.  Try '$0 --help' for more information."
+     ;;
+  -h | --h*)
+    cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "$me, version $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test $# -lt 3; then
+  func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+  if test $# -lt 2; then
+    func_error "you must specify a program, an action and an archive"
+  fi
+  case $1 in
+    -lib | -LIB \
+    | -ltcg | -LTCG \
+    | -machine* | -MACHINE* \
+    | -subsystem* | -SUBSYSTEM* \
+    | -verbose | -VERBOSE \
+    | -wx* | -WX* )
+      AR="$AR $1"
+      shift
+      ;;
+    *)
+      action=$1
+      shift
+      break
+      ;;
+  esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+  case $action in
+    d*) delete=yes  ;;
+    x*) extract=yes ;;
+    t*) list=yes    ;;
+    q*) quick=yes   ;;
+    r*) replace=yes ;;
+    s*) index=yes   ;;
+    S*)             ;; # the index is always updated implicitly
+    c*) create=yes  ;;
+    u*)             ;; # TODO: don't ignore the update modifier
+    v*)             ;; # TODO: don't ignore the verbose modifier
+    *)
+      func_error "unknown action specified"
+      ;;
+  esac
+  action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+  yes,* | ,yes)
+    ;;
+  yesyes*)
+    func_error "more than one action specified"
+    ;;
+  *)
+    func_error "no action specified"
+    ;;
+esac
+
+if test -n "$delete"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  for member
+  do
+    case $1 in
+      @*)
+        func_at_file "${1#@}" -REMOVE "$archive"
+        ;;
+      *)
+        func_file_conv "$1"
+        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+        ;;
+    esac
+  done
+
+elif test -n "$extract"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  if test $# -gt 0; then
+    for member
+    do
+      case $1 in
+        @*)
+          func_at_file "${1#@}" -EXTRACT "$archive"
+          ;;
+        *)
+          func_file_conv "$1"
+          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+          ;;
+      esac
+    done
+  else
+    $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
+      | while read member
+        do
+          $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+        done
+  fi
+
+elif test -n "$quick$replace"; then
+  if test ! -f "$orig_archive"; then
+    if test -z "$create"; then
+      echo "$me: creating $orig_archive"
+    fi
+    orig_archive=
+  else
+    orig_archive=$archive
+  fi
+
+  for member
+  do
+    case $1 in
+    @*)
+      func_file_conv "${1#@}"
+      set x "$@" "@$file"
+      ;;
+    *)
+      func_file_conv "$1"
+      set x "$@" "$file"
+      ;;
+    esac
+    shift
+    shift
+  done
+
+  if test -n "$orig_archive"; then
+    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+  else
+    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+  fi
+
+elif test -n "$list"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  $AR -NOLOGO -LIST "$archive" || exit $?
+fi
index b1f4749..df363c8 100755 (executable)
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-01-04.17; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -18,7 +17,7 @@ scriptversion=2012-01-04.17; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -54,7 +53,7 @@ func_file_conv ()
          MINGW*)
            file_conv=mingw
            ;;
-         CYGWIN*)
+         CYGWIN* | MSYS*)
            file_conv=cygwin
            ;;
          *)
@@ -68,7 +67,7 @@ func_file_conv ()
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/*)
+       cygwin/* | msys/*)
          file=`cygpath -m "$file" || echo "$file"`
          ;;
        wine/*)
@@ -79,6 +78,53 @@ func_file_conv ()
   esac
 }
 
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
 # func_cl_wrapper cl arg...
 # Adjust compile command to suit cl
 func_cl_wrapper ()
@@ -109,43 +155,34 @@ func_cl_wrapper ()
              ;;
          esac
          ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
        -I*)
          func_file_conv "${1#-I}" mingw
          set x "$@" -I"$file"
          shift
          ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
        -l*)
-         lib=${1#-l}
-         found=no
-         save_IFS=$IFS
-         IFS=';'
-         for dir in $lib_path $LIB
-         do
-           IFS=$save_IFS
-           if $shared && test -f "$dir/$lib.dll.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.dll.lib"
-             break
-           fi
-           if test -f "$dir/$lib.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.lib"
-             break
-           fi
-         done
-         IFS=$save_IFS
-
-         test "$found" != yes && set x "$@" "$lib.lib"
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
          shift
          ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
        -L*)
-         func_file_conv "${1#-L}"
-         if test -z "$lib_path"; then
-           lib_path=$file
-         else
-           lib_path="$lib_path;$file"
-         fi
-         linker_opts="$linker_opts -LIBPATH:$file"
+         func_cl_dashL "${1#-L}"
          ;;
        -static)
          shared=false
@@ -218,7 +255,8 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -302,9 +340,9 @@ exit $ret
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index d622a44..cdfc439 100755 (executable)
@@ -1,14 +1,14 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2023-08-22'
 
 # This file 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 2 of the License, or
+# 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
@@ -17,33 +17,39 @@ timestamp='2012-02-10'
 # 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/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
 Usage: $0 [OPTION]
 
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -54,15 +60,13 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -90,57 +94,107 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
+# Just in case it came from the environment.
+GUESS=
 
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
 # headache to deal with in a portable fashion.
 
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
 
 # Portable tmp directory creation inspired by the Autoconf team.
 
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+    # prevent multiple calls if $tmp is already set
+    test "$tmp" && return 0
+    : "${TMPDIR=/tmp}"
+    # shellcheck disable=SC2039,SC3028
+    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+       { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+       { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+       { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+    dummy=$tmp/dummy
+    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+       ,,)    echo "int x;" > "$dummy.c"
+              for driver in cc gcc c89 c99 ; do
+                  if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+                      CC_FOR_BUILD=$driver
+                      break
+                  fi
+              done
+              if test x"$CC_FOR_BUILD" = x ; then
+                  CC_FOR_BUILD=no_compiler_found
+              fi
+              ;;
+       ,,*)   CC_FOR_BUILD=$CC ;;
+       ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+    esac
+}
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
        PATH=$PATH:/.attbin ; export PATH
 fi
 
 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case $UNAME_SYSTEM in
+Linux|GNU|GNU/*)
+       LIBC=unknown
+
+       set_cc_for_build
+       cat <<-EOF > "$dummy.c"
+       #if defined(__ANDROID__)
+       LIBC=android
+       #else
+       #include <features.h>
+       #if defined(__UCLIBC__)
+       LIBC=uclibc
+       #elif defined(__dietlibc__)
+       LIBC=dietlibc
+       #elif defined(__GLIBC__)
+       LIBC=gnu
+       #else
+       #include <stdarg.h>
+       /* First heuristic to detect musl libc.  */
+       #ifdef __DEFINED_va_list
+       LIBC=musl
+       #endif
+       #endif
+       #endif
+       EOF
+       cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       eval "$cc_set_libc"
+
+       # Second heuristic to detect musl libc.
+       if [ "$LIBC" = unknown ] &&
+          command -v ldd >/dev/null &&
+          ldd --version 2>&1 | grep -q ^musl; then
+               LIBC=musl
+       fi
+
+       # If the system lacks a compiler, then just pick glibc.
+       # We could probably try harder.
+       if [ "$LIBC" = unknown ]; then
+               LIBC=gnu
+       fi
+       ;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
     *:NetBSD:*:*)
        # NetBSD (nbsd) targets should (where applicable) match one or
        # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -152,22 +206,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        #
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+           /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+           echo unknown)`
+       case $UNAME_MACHINE_ARCH in
+           aarch64eb) machine=aarch64_be-unknown ;;
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+           earmv*)
+               arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine=${arch}${endian}-unknown
+               ;;
+           *) machine=$UNAME_MACHINE_ARCH-unknown ;;
        esac
        # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
+       # to ELF recently (or will in the future) and ABI.
+       case $UNAME_MACHINE_ARCH in
+           earm*)
+               os=netbsdelf
+               ;;
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
+               set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
                then
@@ -182,41 +246,80 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case $UNAME_MACHINE_ARCH in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
        # kernel version information, so it can be replaced with a
        # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
+       case $UNAME_VERSION in
            Debian*)
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit ;;
+       GUESS=$machine-${os}${release}${abi-}
+       ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+       ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+       ;;
+    *:SecBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
+       GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+       ;;
+    *:LibertyBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+       GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+       ;;
+    *:MidnightBSD:*:*)
+       GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+       ;;
     *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+       ;;
     *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+       ;;
+    *:OS108:*:*)
+       GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+       ;;
     macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
+       GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+       ;;
     *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+       ;;
+    *:Sortix:*:*)
+       GUESS=$UNAME_MACHINE-unknown-sortix
+       ;;
+    *:Twizzler:*:*)
+       GUESS=$UNAME_MACHINE-unknown-twizzler
+       ;;
+    *:Redox:*:*)
+       GUESS=$UNAME_MACHINE-unknown-redox
+       ;;
+    mips:OSF1:*.*)
+       GUESS=mips-dec-osf1
+       ;;
     alpha:OSF1:*:*)
+       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+       trap '' 0
        case $UNAME_RELEASE in
        *4.0)
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -230,163 +333,158 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # covers most systems running today.  This code pipes the CPU
        # types through head -n 1, so we only detect the type of CPU 0.
        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
+       case $ALPHA_CPU_TYPE in
            "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
+               UNAME_MACHINE=alphaev5 ;;
            "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
+               UNAME_MACHINE=alphaev56 ;;
            "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
+               UNAME_MACHINE=alphapca56 ;;
            "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
+               UNAME_MACHINE=alphapca57 ;;
            "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
+               UNAME_MACHINE=alphaev6 ;;
            "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
+               UNAME_MACHINE=alphaev67 ;;
            "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
+               UNAME_MACHINE=alphaev69 ;;
            "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
+               UNAME_MACHINE=alphaev7 ;;
            "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
+               UNAME_MACHINE=alphaev79 ;;
        esac
        # A Pn.n version is a patched version.
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-       exitcode=$?
-       trap '' 0
-       exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
+       OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+       ;;
     Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
+       GUESS=m68k-unknown-sysv4
+       ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-amigaos
+       ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-morphos
+       ;;
     *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
+       GUESS=i370-ibm-openedition
+       ;;
     *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
+       GUESS=s390-ibm-zvmoe
+       ;;
     *:OS400:*:*)
-       echo powerpc-ibm-os400
-       exit ;;
+       GUESS=powerpc-ibm-os400
+       ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
+       GUESS=arm-acorn-riscix$UNAME_RELEASE
+       ;;
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
+       GUESS=arm-unknown-riscos
+       ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
+       GUESS=hppa1.1-hitachi-hiuxmpp
+       ;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
+       case `(/bin/universe) 2>/dev/null` in
+           att) GUESS=pyramid-pyramid-sysv3 ;;
+           *)   GUESS=pyramid-pyramid-bsd   ;;
+       esac
+       ;;
     NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
+       GUESS=pyramid-pyramid-svr4
+       ;;
     DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
+       GUESS=sparc-icl-nx6
+       ;;
     DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
+           sparc) GUESS=sparc-icl-nx7 ;;
+       esac
+       ;;
     s390x:SunOS:*:*)
-       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+       ;;
     sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-hal-solaris2$SUN_REL
+       ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-sun-solaris2$SUN_REL
+       ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux${UNAME_RELEASE}
-       exit ;;
+       GUESS=i386-pc-auroraux$UNAME_RELEASE
+       ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval $set_cc_for_build
-       SUN_ARCH="i386"
+       set_cc_for_build
+       SUN_ARCH=i386
        # If there is a compiler, see if it is configured for 64-bit objects.
        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
        # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+       if test "$CC_FOR_BUILD" != no_compiler_found; then
            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
                grep IS_64BIT_ARCH >/dev/null
            then
-               SUN_ARCH="x86_64"
+               SUN_ARCH=x86_64
            fi
        fi
-       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+       ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
        # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=sparc-sun-solaris3$SUN_REL
+       ;;
     sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
+       case `/usr/bin/arch -k` in
            Series*|S4*)
                UNAME_RELEASE=`uname -v`
                ;;
        esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
+       # Japanese Language versions have a version number like '4.1.3-JL'.
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+       GUESS=sparc-sun-sunos$SUN_REL
+       ;;
     sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-sun-sunos$UNAME_RELEASE
+       ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
+       test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+       case `/bin/arch` in
            sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
+               GUESS=m68k-sun-sunos$UNAME_RELEASE
                ;;
            sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
+               GUESS=sparc-sun-sunos$UNAME_RELEASE
                ;;
        esac
-       exit ;;
+       ;;
     aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
+       GUESS=sparc-auspex-sunos$UNAME_RELEASE
+       ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -396,44 +494,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-atari-mint$UNAME_RELEASE
+       ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-milan-mint$UNAME_RELEASE
+       ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-hades-mint$UNAME_RELEASE
+       ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-unknown-mint$UNAME_RELEASE
+       ;;
     m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-apple-machten$UNAME_RELEASE
+       ;;
     powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
+       GUESS=powerpc-apple-machten$UNAME_RELEASE
+       ;;
     RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
+       GUESS=mips-dec-mach_bsd4.3
+       ;;
     RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
+       GUESS=mips-dec-ultrix$UNAME_RELEASE
+       ;;
     VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
+       GUESS=vax-dec-ultrix$UNAME_RELEASE
+       ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
+       GUESS=clipper-intergraph-clix$UNAME_RELEASE
+       ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       set_cc_for_build
+       sed 's/^        //' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
        int main (int argc, char *argv[]) {
@@ -442,95 +540,96 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 #endif
        #if defined (host_mips) && defined (MIPSEB)
        #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
        #endif
        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+         printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
        #endif
        #endif
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+         dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
            { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
+       GUESS=mips-mips-riscos$UNAME_RELEASE
+       ;;
     Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
+       GUESS=powerpc-motorola-powermax
+       ;;
     Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
+       GUESS=powerpc-harris-powermax
+       ;;
     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
+       GUESS=powerpc-harris-powermax
+       ;;
     Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
+       GUESS=powerpc-harris-powerunix
+       ;;
     m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
+       GUESS=m88k-harris-cxux7
+       ;;
     m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
+       GUESS=m88k-motorola-sysv4
+       ;;
     m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
+       GUESS=m88k-motorola-sysv3
+       ;;
     AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
        then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+              test "$TARGET_BINARY_INTERFACE"x = x
            then
-               echo m88k-dg-dgux${UNAME_RELEASE}
+               GUESS=m88k-dg-dgux$UNAME_RELEASE
            else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+               GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
            fi
        else
-           echo i586-dg-dgux${UNAME_RELEASE}
+           GUESS=i586-dg-dgux$UNAME_RELEASE
        fi
-       exit ;;
+       ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
+       GUESS=m88k-dolphin-sysv3
+       ;;
     M88*:*:R3*:*)
        # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
+       GUESS=m88k-motorola-sysv3
+       ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
+       GUESS=m88k-tektronix-sysv3
+       ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
+       GUESS=m68k-tektronix-bsd
+       ;;
     *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
+       IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+       GUESS=mips-sgi-irix$IRIX_REL
+       ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+       GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
+       ;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
+       GUESS=i386-ibm-aix
+       ;;
     ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
+       if test -x /usr/bin/oslevel ; then
                IBM_REV=`/usr/bin/oslevel`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
        fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
+       GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+       ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
+               set_cc_for_build
+               sed 's/^                //' << EOF > "$dummy.c"
                #include <sys/systemcfg.h>
 
                main()
@@ -541,76 +640,77 @@ EOF
                        exit(0);
                        }
 EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
                then
-                       echo "$SYSTEM_NAME"
+                       GUESS=$SYSTEM_NAME
                else
-                       echo rs6000-ibm-aix3.2.5
+                       GUESS=rs6000-ibm-aix3.2.5
                fi
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
+               GUESS=rs6000-ibm-aix3.2.4
        else
-               echo rs6000-ibm-aix3.2
+               GUESS=rs6000-ibm-aix3.2
        fi
-       exit ;;
+       ;;
     *:AIX:*:[4567])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+       if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
                IBM_ARCH=rs6000
        else
                IBM_ARCH=powerpc
        fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
+       if test -x /usr/bin/lslpp ; then
+               IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
+                          awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
        fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
+       GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+       ;;
     *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
+       GUESS=rs6000-ibm-aix
+       ;;
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+       GUESS=romp-ibm-bsd4.4
+       ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
+       GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
+       ;;                                  # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
+       GUESS=rs6000-bull-bosx
+       ;;
     DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
+       GUESS=m68k-bull-sysv3
+       ;;
     9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
+       GUESS=m68k-hp-bsd
+       ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
+       GUESS=m68k-hp-bsd4.4
+       ;;
     9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
+       HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+       case $UNAME_MACHINE in
+           9000/31?)            HP_ARCH=m68000 ;;
+           9000/[34]??)         HP_ARCH=m68k ;;
            9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
+               if test -x /usr/bin/getconf; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "${sc_cpu_version}" in
-                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                   case $sc_cpu_version in
+                     523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+                     528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
-                       case "${sc_kernel_bits}" in
-                         32) HP_ARCH="hppa2.0n" ;;
-                         64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                       case $sc_kernel_bits in
+                         32) HP_ARCH=hppa2.0n ;;
+                         64) HP_ARCH=hppa2.0w ;;
+                         '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
                        esac ;;
                    esac
                fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^            //' << EOF >$dummy.c
+               if test "$HP_ARCH" = ""; then
+                   set_cc_for_build
+                   sed 's/^            //' << EOF > "$dummy.c"
 
                #define _HPUX_SOURCE
                #include <stdlib.h>
@@ -643,13 +743,13 @@ EOF
                    exit (0);
                }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
                fi ;;
        esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
+       if test "$HP_ARCH" = hppa2.0w
        then
-           eval $set_cc_for_build
+           set_cc_for_build
 
            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -660,23 +760,23 @@ EOF
            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
            # => hppa64-hp-hpux11.23
 
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+           if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
                grep -q __LP64__
            then
-               HP_ARCH="hppa2.0w"
+               HP_ARCH=hppa2.0w
            else
-               HP_ARCH="hppa64"
+               HP_ARCH=hppa64
            fi
        fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
+       GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+       ;;
     ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
+       HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+       GUESS=ia64-hp-hpux$HPUX_REV
+       ;;
     3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       set_cc_for_build
+       sed 's/^        //' << EOF > "$dummy.c"
        #include <unistd.h>
        int
        main ()
@@ -701,38 +801,38 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
                { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit ;;
+       GUESS=unknown-hitachi-hiuxwe2
+       ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+       GUESS=hppa1.1-hp-bsd
+       ;;
     9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
+       GUESS=hppa1.0-hp-bsd
+       ;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit ;;
+       GUESS=hppa1.0-hp-mpeix
+       ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+       GUESS=hppa1.1-hp-osf
+       ;;
     hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
+       GUESS=hppa1.0-hp-osf
+       ;;
     i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
+       if test -x /usr/sbin/sysversion ; then
+           GUESS=$UNAME_MACHINE-unknown-osf1mk
        else
-           echo ${UNAME_MACHINE}-unknown-osf1
+           GUESS=$UNAME_MACHINE-unknown-osf1
        fi
-       exit ;;
+       ;;
     parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
+       GUESS=hppa1.1-hp-lites
+       ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-       exit ;;
+       GUESS=c1-convex-bsd
+       ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
@@ -740,136 +840,174 @@ EOF
        fi
        exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-       exit ;;
+       GUESS=c34-convex-bsd
+       ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-       exit ;;
+       GUESS=c38-convex-bsd
+       ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-       exit ;;
+       GUESS=c4-convex-bsd
+       ;;
     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=ymp-cray-unicos$CRAY_REL
+       ;;
     CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
              -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=t90-cray-unicos$CRAY_REL
+       ;;
     CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=alphaev5-cray-unicosmk$CRAY_REL
+       ;;
     CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=sv1-cray-unicos$CRAY_REL
+       ;;
     *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
+       CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+       GUESS=craynv-cray-unicosmp$CRAY_REL
+       ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
+       FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+       GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+       ;;
     5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
+       FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+       GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+       ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+       ;;
     sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
+       GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+       ;;
     *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+       ;;
+    arm:FreeBSD:*:*)
+       UNAME_PROCESSOR=`uname -p`
+       set_cc_for_build
+       if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_PCS_VFP
+       then
+           FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+           GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
+       else
+           FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+           GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
+       fi
+       ;;
     *:FreeBSD:*:*)
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case ${UNAME_PROCESSOR} in
+       UNAME_PROCESSOR=`uname -p`
+       case $UNAME_PROCESSOR in
            amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+               UNAME_PROCESSOR=x86_64 ;;
+           i386)
+               UNAME_PROCESSOR=i586 ;;
        esac
-       exit ;;
+       FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+       ;;
     i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-cygwin
+       ;;
+    *:MINGW64*:*)
+       GUESS=$UNAME_MACHINE-pc-mingw64
+       ;;
     *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-    i*:MSYS*:*)
-       echo ${UNAME_MACHINE}-pc-msys
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-mingw32
+       ;;
+    *:MSYS*:*)
+       GUESS=$UNAME_MACHINE-pc-msys
+       ;;
     i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-pw32
+       ;;
+    *:SerenityOS:*:*)
+        GUESS=$UNAME_MACHINE-pc-serenity
+        ;;
     *:Interix*:*)
-       case ${UNAME_MACHINE} in
+       case $UNAME_MACHINE in
            x86)
-               echo i586-pc-interix${UNAME_RELEASE}
-               exit ;;
+               GUESS=i586-pc-interix$UNAME_RELEASE
+               ;;
            authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
-               exit ;;
+               GUESS=x86_64-unknown-interix$UNAME_RELEASE
+               ;;
            IA64)
-               echo ia64-unknown-interix${UNAME_RELEASE}
-               exit ;;
+               GUESS=ia64-unknown-interix$UNAME_RELEASE
+               ;;
        esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    8664:Windows_NT:*)
-       echo x86_64-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
     i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-uwin
+       ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
+       GUESS=x86_64-pc-cygwin
+       ;;
     prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
+       SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+       GUESS=powerpcle-unknown-solaris2$SUN_REL
+       ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit ;;
+       GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+       GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+       GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+       ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
+       GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+       GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+       ;;
+    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+       GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+       ;;
+    *:[Mm]anagarm:*:*)
+       GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+       ;;
+    *:Minix:*:*)
+       GUESS=$UNAME_MACHINE-unknown-minix
+       ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       set_cc_for_build
+       CPU=$UNAME_MACHINE
+       LIBCABI=$LIBC
+       if test "$CC_FOR_BUILD" != no_compiler_found; then
+           ABI=64
+           sed 's/^        //' << EOF > "$dummy.c"
+           #ifdef __ARM_EABI__
+           #ifdef __ARM_PCS_VFP
+           ABI=eabihf
+           #else
+           ABI=eabi
+           #endif
+           #endif
+EOF
+           cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+           eval "$cc_set_abi"
+           case $ABI in
+               eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
+           esac
+       fi
+       GUESS=$CPU-unknown-linux-$LIBCABI
+       ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
          EV5)   UNAME_MACHINE=alphaev5 ;;
          EV56)  UNAME_MACHINE=alphaev56 ;;
          PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -879,168 +1017,246 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit ;;
+       if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     arm*:Linux:*:*)
-       eval $set_cc_for_build
+       set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
+           GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+               GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+               GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
            fi
        fi
-       exit ;;
+       ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+       ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+       ;;
+    e2k:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+       ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    k1om:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    kvx:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    kvx:cos:*:*)
+       GUESS=$UNAME_MACHINE-unknown-cos
+       ;;
+    kvx:mbr:*:*)
+       GUESS=$UNAME_MACHINE-unknown-mbr
+       ;;
+    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       set_cc_for_build
+       IS_GLIBC=0
+       test x"${LIBC}" = xgnu && IS_GLIBC=1
+       sed 's/^        //' << EOF > "$dummy.c"
        #undef CPU
-       #undef ${UNAME_MACHINE}
-       #undef ${UNAME_MACHINE}el
+       #undef mips
+       #undef mipsel
+       #undef mips64
+       #undef mips64el
+       #if ${IS_GLIBC} && defined(_ABI64)
+       LIBCABI=gnuabi64
+       #else
+       #if ${IS_GLIBC} && defined(_ABIN32)
+       LIBCABI=gnuabin32
+       #else
+       LIBCABI=${LIBC}
+       #endif
+       #endif
+
+       #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+       CPU=mipsisa64r6
+       #else
+       #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+       CPU=mipsisa32r6
+       #else
+       #if defined(__mips64)
+       CPU=mips64
+       #else
+       CPU=mips
+       #endif
+       #endif
+       #endif
+
        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=${UNAME_MACHINE}el
+       MIPS_ENDIAN=el
        #else
        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=${UNAME_MACHINE}
+       MIPS_ENDIAN=
        #else
-       CPU=
+       MIPS_ENDIAN=
        #endif
        #endif
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+       eval "$cc_set_vars"
+       test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
+       ;;
+    mips64el:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
+    openrisc*:Linux:*:*)
+       GUESS=or1k-unknown-linux-$LIBC
+       ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
        ;;
-    or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
-       exit ;;
+       GUESS=sparc-unknown-linux-$LIBC
+       ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
-       exit ;;
+       GUESS=hppa64-unknown-linux-$LIBC
+       ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+         PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+         *)    GUESS=hppa-unknown-linux-$LIBC ;;
        esac
-       exit ;;
+       ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
-       exit ;;
+       GUESS=powerpc64-unknown-linux-$LIBC
+       ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
-       exit ;;
+       GUESS=powerpc-unknown-linux-$LIBC
+       ;;
+    ppc64le:Linux:*:*)
+       GUESS=powerpc64le-unknown-linux-$LIBC
+       ;;
+    ppcle:Linux:*:*)
+       GUESS=powerpcle-unknown-linux-$LIBC
+       ;;
+    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
+       GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+       ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+       ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       set_cc_for_build
+       CPU=$UNAME_MACHINE
+       LIBCABI=$LIBC
+       if test "$CC_FOR_BUILD" != no_compiler_found; then
+           ABI=64
+           sed 's/^        //' << EOF > "$dummy.c"
+           #ifdef __i386__
+           ABI=x86
+           #else
+           #ifdef __ILP32__
+           ABI=x32
+           #endif
+           #endif
+EOF
+           cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+           eval "$cc_set_abi"
+           case $ABI in
+               x86) CPU=i686 ;;
+               x32) LIBCABI=${LIBC}x32 ;;
+           esac
+       fi
+       GUESS=$CPU-pc-linux-$LIBCABI
+       ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+       ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
        # earlier versions are messed up and put the nodename in both
        # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
+       GUESS=i386-sequent-sysv4
+       ;;
     i*86:UNIX_SV:4.2MP:2.*)
        # Unixware is an offshoot of SVR4, but it has its own version
        # number series starting with 2...
        # I am not positive that other SVR4 systems won't match this,
        # I just have to hope.  -- rms.
        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+       ;;
     i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
+       # If we were able to find 'uname', then EMX Unix compatibility
        # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-os2-emx
+       ;;
     i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-stop
+       ;;
     i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-atheos
+       ;;
     i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-syllable
+       ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       GUESS=i386-unknown-lynxos$UNAME_RELEASE
+       ;;
     i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+       ;;
+    i*86:*:4.*:*)
+       UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+               GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
        else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+               GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
        fi
-       exit ;;
+       ;;
     i*86:*:5:[678]*)
        # UnixWare 7.x, OpenUNIX and OpenServer 6.
        case `/bin/uname -X | grep "^Machine"` in
@@ -1048,12 +1264,12 @@ EOF
            *Pentium)        UNAME_MACHINE=i586 ;;
            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
        esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       ;;
     i*86:*:3.2:*)
        if test -f /usr/options/cb.name; then
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+               GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1063,43 +1279,43 @@ EOF
                        && UNAME_MACHINE=i686
                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+               GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
        else
-               echo ${UNAME_MACHINE}-pc-sysv32
+               GUESS=$UNAME_MACHINE-pc-sysv32
        fi
-       exit ;;
+       ;;
     pc:*:*:*)
        # Left here for compatibility:
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
        # the processor, so we play safe by assuming i586.
        # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configury will decide that
+       # prints for the "djgpp" host, or else GDB configure will decide that
        # this is a cross-build.
-       echo i586-pc-msdosdjgpp
-       exit ;;
+       GUESS=i586-pc-msdosdjgpp
+       ;;
     Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
+       GUESS=i386-pc-mach3
+       ;;
     paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
+       GUESS=i860-intel-osf1
+       ;;
     i860:*:4.*:*) # i860-SVR4
        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+         GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
        else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+         GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
        fi
-       exit ;;
+       ;;
     mini*:CTIX:SYS*5:*)
        # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
+       GUESS=m68010-convergent-sysv
+       ;;
     mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
+       GUESS=m68k-convergent-sysv
+       ;;
     M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
+       GUESS=m68k-diab-dnix
+       ;;
     M68*:*:R3V[5678]*:*)
        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
     3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1107,9 +1323,9 @@ EOF
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+         && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+         && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
          && { echo i486-ncr-sysv4; exit; } ;;
@@ -1118,226 +1334,287 @@ EOF
        test -r /etc/.relid \
            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+       ;;
     mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
+       GUESS=m68k-atari-sysv4
+       ;;
     TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+       ;;
     rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+       ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
+       GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+       ;;
     SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
+       GUESS=mips-dde-sysv$UNAME_RELEASE
+       ;;
     RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
+       GUESS=mips-sni-sysv4
+       ;;
     RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
+       GUESS=mips-sni-sysv4
+       ;;
     *:SINIX-*:*:*)
        if uname -p 2>/dev/null >/dev/null ; then
                UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
+               GUESS=$UNAME_MACHINE-sni-sysv4
        else
-               echo ns32k-sni-sysv
+               GUESS=ns32k-sni-sysv
        fi
-       exit ;;
-    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+       ;;
+    PENTIUM:*:4.0*:*)  # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
                        # says <Richard.M.Bartel@ccMail.Census.GOV>
-       echo i586-unisys-sysv4
-       exit ;;
+       GUESS=i586-unisys-sysv4
+       ;;
     *:UNIX_System_V:4*:FTX*)
        # From Gerald Hewes <hewes@openmarket.com>.
        # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
+       GUESS=hppa1.1-stratus-sysv4
+       ;;
     *:*:*:FTX*)
        # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
+       GUESS=i860-stratus-sysv4
+       ;;
     i*86:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
-       exit ;;
+       GUESS=$UNAME_MACHINE-stratus-vos
+       ;;
     *:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
+       GUESS=hppa1.1-stratus-vos
+       ;;
     mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
+       GUESS=m68k-apple-aux$UNAME_RELEASE
+       ;;
     news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
+       GUESS=mips-sony-newsos6
+       ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
+       if test -d /usr/nec; then
+               GUESS=mips-nec-sysv$UNAME_RELEASE
        else
-               echo mips-unknown-sysv${UNAME_RELEASE}
+               GUESS=mips-unknown-sysv$UNAME_RELEASE
        fi
-       exit ;;
+       ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
+       GUESS=powerpc-be-beos
+       ;;
     BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
+       GUESS=powerpc-apple-beos
+       ;;
     BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
+       GUESS=i586-pc-beos
+       ;;
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
-       echo i586-pc-haiku
-       exit ;;
+       GUESS=i586-pc-haiku
+       ;;
+    ppc:Haiku:*:*)     # Haiku running on Apple PowerPC
+       GUESS=powerpc-apple-haiku
+       ;;
+    *:Haiku:*:*)       # Haiku modern gcc (not bound by BeOS compat)
+       GUESS=$UNAME_MACHINE-unknown-haiku
+       ;;
     SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx4-nec-superux$UNAME_RELEASE
+       ;;
     SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx5-nec-superux$UNAME_RELEASE
+       ;;
     SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx6-nec-superux$UNAME_RELEASE
+       ;;
     SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx7-nec-superux$UNAME_RELEASE
+       ;;
     SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx8-nec-superux$UNAME_RELEASE
+       ;;
     SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
-       exit ;;
+       GUESS=sx8r-nec-superux$UNAME_RELEASE
+       ;;
+    SX-ACE:SUPER-UX:*:*)
+       GUESS=sxace-nec-superux$UNAME_RELEASE
+       ;;
     Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
+       GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+       ;;
     *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+       ;;
+    arm64:Darwin:*:*)
+       GUESS=aarch64-apple-darwin$UNAME_RELEASE
+       ;;
     *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       UNAME_PROCESSOR=`uname -p`
        case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
            unknown) UNAME_PROCESSOR=powerpc ;;
        esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
+       if command -v xcode-select > /dev/null 2> /dev/null && \
+               ! xcode-select --print-path > /dev/null 2> /dev/null ; then
+           # Avoid executing cc if there is no toolchain installed as
+           # cc will be a stub that puts up a graphical alert
+           # prompting the user to install developer tools.
+           CC_FOR_BUILD=no_compiler_found
+       else
+           set_cc_for_build
+       fi
+       if test "$CC_FOR_BUILD" != no_compiler_found; then
+           if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+                  (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+                  grep IS_64BIT_ARCH >/dev/null
+           then
+               case $UNAME_PROCESSOR in
+                   i386) UNAME_PROCESSOR=x86_64 ;;
+                   powerpc) UNAME_PROCESSOR=powerpc64 ;;
+               esac
+           fi
+           # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+           if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+                  (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+                  grep IS_PPC >/dev/null
+           then
+               UNAME_PROCESSOR=powerpc
+           fi
+       elif test "$UNAME_PROCESSOR" = i386 ; then
+           # uname -m returns i386 or x86_64
+           UNAME_PROCESSOR=$UNAME_MACHINE
+       fi
+       GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+       ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
+       if test "$UNAME_PROCESSOR" = x86; then
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+       ;;
     *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
+       GUESS=i386-pc-qnx
+       ;;
+    NEO-*:NONSTOP_KERNEL:*:*)
+       GUESS=neo-tandem-nsk$UNAME_RELEASE
+       ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
+       GUESS=nse-tandem-nsk$UNAME_RELEASE
+       ;;
+    NSR-*:NONSTOP_KERNEL:*:*)
+       GUESS=nsr-tandem-nsk$UNAME_RELEASE
+       ;;
+    NSV-*:NONSTOP_KERNEL:*:*)
+       GUESS=nsv-tandem-nsk$UNAME_RELEASE
+       ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+       GUESS=nsx-tandem-nsk$UNAME_RELEASE
+       ;;
     *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
+       GUESS=mips-compaq-nonstopux
+       ;;
     BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
+       GUESS=bs2000-siemens-sysv
+       ;;
     DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
+       GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+       ;;
     *:Plan9:*:*)
        # "uname -m" is not consistent, so use $cputype instead. 386
        # is converted to i386 for consistency with other x86
        # operating systems.
-       if test "$cputype" = "386"; then
+       if test "${cputype-}" = 386; then
            UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
+       elif test "x${cputype-}" != x; then
+           UNAME_MACHINE=$cputype
        fi
-       echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-plan9
+       ;;
     *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
+       GUESS=pdp10-unknown-tops10
+       ;;
     *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
+       GUESS=pdp10-unknown-tenex
+       ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
+       GUESS=pdp10-dec-tops20
+       ;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
+       GUESS=pdp10-xkl-tops20
+       ;;
     *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
+       GUESS=pdp10-unknown-tops20
+       ;;
     *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
+       GUESS=pdp10-unknown-its
+       ;;
     SEI:*:*:SEIUX)
-       echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
+       GUESS=mips-sei-seiux$UNAME_RELEASE
+       ;;
     *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
+       DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+       GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+       ;;
     *:*VMS:*:*)
        UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
+       case $UNAME_MACHINE in
+           A*) GUESS=alpha-dec-vms ;;
+           I*) GUESS=ia64-dec-vms ;;
+           V*) GUESS=vax-dec-vms ;;
        esac ;;
     *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
+       GUESS=i386-pc-xenix
+       ;;
     i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-       exit ;;
+       SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+       GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+       ;;
     i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
-       exit ;;
-    i*86:AROS:*:*)
-       echo ${UNAME_MACHINE}-pc-aros
-       exit ;;
+       GUESS=$UNAME_MACHINE-pc-rdos
+       ;;
+    i*86:Fiwix:*:*)
+       GUESS=$UNAME_MACHINE-pc-fiwix
+       ;;
+    *:AROS:*:*)
+       GUESS=$UNAME_MACHINE-unknown-aros
+       ;;
     x86_64:VMkernel:*:*)
-       echo ${UNAME_MACHINE}-unknown-esx
-       exit ;;
+       GUESS=$UNAME_MACHINE-unknown-esx
+       ;;
+    amd64:Isilon\ OneFS:*:*)
+       GUESS=x86_64-unknown-onefs
+       ;;
+    *:Unleashed:*:*)
+       GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
+       ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+    echo "$GUESS"
+    exit
+fi
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
+# No uname command or uname output not recognized.
+set_cc_for_build
+cat > "$dummy.c" <<EOF
 #ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
+#include <sys/types.h>
+#include <sys/utsname.h>
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#include <signal.h>
+#if defined(_SIZE_T_) || defined(SIGLOST)
+#include <sys/utsname.h>
+#endif
+#endif
 #endif
 main ()
 {
@@ -1350,22 +1627,14 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-       "4"
+  "4"
 #else
-       ""
+  ""
 #endif
-       ); exit (0);
+  ); exit (0);
 #endif
 #endif
 
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
 #if defined (NeXT)
 #if !defined (__ARCHITECTURE__)
 #define __ARCHITECTURE__ "m68k"
@@ -1405,39 +1674,54 @@ main ()
 #endif
 
 #if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
+  struct utsname un;
 
+  uname(&un);
+  if (strncmp(un.version, "V2", 2) == 0) {
+    printf ("i386-sequent-ptx2\n"); exit (0);
+  }
+  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+    printf ("i386-sequent-ptx1\n"); exit (0);
+  }
+  printf ("i386-sequent-ptx\n"); exit (0);
 #endif
 
 #if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
+#if !defined (ultrix)
+#include <sys/param.h>
+#if defined (BSD)
+#if BSD == 43
+  printf ("vax-dec-bsd4.3\n"); exit (0);
+#else
+#if BSD == 199006
+  printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#else
+  printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#endif
+#else
+  printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#else
+#if defined(_SIZE_T_) || defined(SIGLOST)
+  struct utsname un;
+  uname (&un);
+  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
+#else
+  printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#if defined(_SIZE_T_) || defined(SIGLOST)
+  struct utsname *un;
+  uname (&un);
+  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
+#else
+  printf ("mips-dec-ultrix\n"); exit (0);
+#endif
+#endif
 #endif
 
 #if defined (alliant) && defined (i860)
@@ -1448,54 +1732,46 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
        { echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
+test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
 
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+echo "$0: unable to guess system type" >&2
 
-# Convex versions that predate uname can use getsysinfo(1)
+case $UNAME_MACHINE:$UNAME_SYSTEM in
+    mips:Linux | mips64:Linux)
+       # If we got here on MIPS GNU/Linux, output extra information.
+       cat >&2 <<EOF
 
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+       ;;
+esac
 
 cat >&2 <<EOF
-$0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
+# shellcheck disable=SC2003
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
+   cat >&2 <<EOF
+
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
@@ -1514,16 +1790,17 @@ hostinfo               = `(hostinfo) 2>/dev/null`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
+fi
 
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index 1a07018..3893ddd 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2012 Free Software Foundation, Inc.
+#   Copyright 1996-2024 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -367,15 +367,11 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
-    freebsd* | dragonfly*)
+    freebsd* | dragonfly* | midnightbsd*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       ;;
@@ -548,13 +544,11 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
-  freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  freebsd* | dragonfly* | midnightbsd*)
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
index c894da4..defe52c 100755 (executable)
@@ -1,36 +1,33 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file 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 2 of the License, or
+timestamp='2023-09-19'
+
+# This file 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.
+# 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/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -38,7 +35,7 @@ timestamp='2012-02-10'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -55,15 +52,21 @@ timestamp='2012-02-10'
 #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -73,15 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
 
 # Parse command line
 while test $# -gt 0 ; do
@@ -97,12 +98,12 @@ while test $# -gt 0 ; do
     - )        # Use stdin as input.
        break ;;
     -* )
-       echo "$me: invalid option $1$help"
+       echo "$me: invalid option $1$help" >&2
        exit 1 ;;
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -118,1190 +119,1165 @@ case $# in
     exit 1;;
 esac
 
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
+# Split fields of configuration type
+# shellcheck disable=SC2162
+saved_IFS=$IFS
+IFS="-" read field1 field2 field3 field4 <<EOF
+$1
+EOF
+IFS=$saved_IFS
 
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
-               os=
-               basic_machine=$1
-               ;;
-       -bluegene*)
-               os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
+# Separate into logical components for further validation
+case $1 in
+       *-*-*-*-*)
+               echo "Invalid configuration '$1': more than four components" >&2
+               exit 1
                ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+       *-*-*-*)
+               basic_machine=$field1-$field2
+               basic_os=$field3-$field4
                ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+       *-*-*)
+               # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+               # parts
+               maybe_os=$field2-$field3
+               case $maybe_os in
+                       nto-qnx* | linux-* | uclinux-uclibc* \
+                       | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+                       | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+                       | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
+                       | windows-* )
+                               basic_machine=$field1
+                               basic_os=$maybe_os
+                               ;;
+                       android-linux)
+                               basic_machine=$field1-unknown
+                               basic_os=linux-android
+                               ;;
+                       *)
+                               basic_machine=$field1-$field2
+                               basic_os=$field3
+                               ;;
+               esac
                ;;
-       -psos*)
-               os=-psos
+       *-*)
+               # A lone config we happen to match not fitting any pattern
+               case $field1-$field2 in
+                       decstation-3100)
+                               basic_machine=mips-dec
+                               basic_os=
+                               ;;
+                       *-*)
+                               # Second component is usually, but not always the OS
+                               case $field2 in
+                                       # Prevent following clause from handling this valid os
+                                       sun*os*)
+                                               basic_machine=$field1
+                                               basic_os=$field2
+                                               ;;
+                                       zephyr*)
+                                               basic_machine=$field1-unknown
+                                               basic_os=$field2
+                                               ;;
+                                       # Manufacturers
+                                       dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+                                       | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+                                       | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+                                       | convergent* | ncr* | news | 32* | 3600* | 3100* \
+                                       | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+                                       | ultra | tti* | harris | dolphin | highlevel | gould \
+                                       | cbm | ns | masscomp | apple | axis | knuth | cray \
+                                       | microblaze* | sim | cisco \
+                                       | oki | wec | wrs | winbond)
+                                               basic_machine=$field1-$field2
+                                               basic_os=
+                                               ;;
+                                       *)
+                                               basic_machine=$field1
+                                               basic_os=$field2
+                                               ;;
+                               esac
+                       ;;
+               esac
                ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
+       *)
+               # Convert single-component short-hands not valid as part of
+               # multi-component configurations.
+               case $field1 in
+                       386bsd)
+                               basic_machine=i386-pc
+                               basic_os=bsd
+                               ;;
+                       a29khif)
+                               basic_machine=a29k-amd
+                               basic_os=udi
+                               ;;
+                       adobe68k)
+                               basic_machine=m68010-adobe
+                               basic_os=scout
+                               ;;
+                       alliant)
+                               basic_machine=fx80-alliant
+                               basic_os=
+                               ;;
+                       altos | altos3068)
+                               basic_machine=m68k-altos
+                               basic_os=
+                               ;;
+                       am29k)
+                               basic_machine=a29k-none
+                               basic_os=bsd
+                               ;;
+                       amdahl)
+                               basic_machine=580-amdahl
+                               basic_os=sysv
+                               ;;
+                       amiga)
+                               basic_machine=m68k-unknown
+                               basic_os=
+                               ;;
+                       amigaos | amigados)
+                               basic_machine=m68k-unknown
+                               basic_os=amigaos
+                               ;;
+                       amigaunix | amix)
+                               basic_machine=m68k-unknown
+                               basic_os=sysv4
+                               ;;
+                       apollo68)
+                               basic_machine=m68k-apollo
+                               basic_os=sysv
+                               ;;
+                       apollo68bsd)
+                               basic_machine=m68k-apollo
+                               basic_os=bsd
+                               ;;
+                       aros)
+                               basic_machine=i386-pc
+                               basic_os=aros
+                               ;;
+                       aux)
+                               basic_machine=m68k-apple
+                               basic_os=aux
+                               ;;
+                       balance)
+                               basic_machine=ns32k-sequent
+                               basic_os=dynix
+                               ;;
+                       blackfin)
+                               basic_machine=bfin-unknown
+                               basic_os=linux
+                               ;;
+                       cegcc)
+                               basic_machine=arm-unknown
+                               basic_os=cegcc
+                               ;;
+                       convex-c1)
+                               basic_machine=c1-convex
+                               basic_os=bsd
+                               ;;
+                       convex-c2)
+                               basic_machine=c2-convex
+                               basic_os=bsd
+                               ;;
+                       convex-c32)
+                               basic_machine=c32-convex
+                               basic_os=bsd
+                               ;;
+                       convex-c34)
+                               basic_machine=c34-convex
+                               basic_os=bsd
+                               ;;
+                       convex-c38)
+                               basic_machine=c38-convex
+                               basic_os=bsd
+                               ;;
+                       cray)
+                               basic_machine=j90-cray
+                               basic_os=unicos
+                               ;;
+                       crds | unos)
+                               basic_machine=m68k-crds
+                               basic_os=
+                               ;;
+                       da30)
+                               basic_machine=m68k-da30
+                               basic_os=
+                               ;;
+                       decstation | pmax | pmin | dec3100 | decstatn)
+                               basic_machine=mips-dec
+                               basic_os=
+                               ;;
+                       delta88)
+                               basic_machine=m88k-motorola
+                               basic_os=sysv3
+                               ;;
+                       dicos)
+                               basic_machine=i686-pc
+                               basic_os=dicos
+                               ;;
+                       djgpp)
+                               basic_machine=i586-pc
+                               basic_os=msdosdjgpp
+                               ;;
+                       ebmon29k)
+                               basic_machine=a29k-amd
+                               basic_os=ebmon
+                               ;;
+                       es1800 | OSE68k | ose68k | ose | OSE)
+                               basic_machine=m68k-ericsson
+                               basic_os=ose
+                               ;;
+                       gmicro)
+                               basic_machine=tron-gmicro
+                               basic_os=sysv
+                               ;;
+                       go32)
+                               basic_machine=i386-pc
+                               basic_os=go32
+                               ;;
+                       h8300hms)
+                               basic_machine=h8300-hitachi
+                               basic_os=hms
+                               ;;
+                       h8300xray)
+                               basic_machine=h8300-hitachi
+                               basic_os=xray
+                               ;;
+                       h8500hms)
+                               basic_machine=h8500-hitachi
+                               basic_os=hms
+                               ;;
+                       harris)
+                               basic_machine=m88k-harris
+                               basic_os=sysv3
+                               ;;
+                       hp300 | hp300hpux)
+                               basic_machine=m68k-hp
+                               basic_os=hpux
+                               ;;
+                       hp300bsd)
+                               basic_machine=m68k-hp
+                               basic_os=bsd
+                               ;;
+                       hppaosf)
+                               basic_machine=hppa1.1-hp
+                               basic_os=osf
+                               ;;
+                       hppro)
+                               basic_machine=hppa1.1-hp
+                               basic_os=proelf
+                               ;;
+                       i386mach)
+                               basic_machine=i386-mach
+                               basic_os=mach
+                               ;;
+                       isi68 | isi)
+                               basic_machine=m68k-isi
+                               basic_os=sysv
+                               ;;
+                       m68knommu)
+                               basic_machine=m68k-unknown
+                               basic_os=linux
+                               ;;
+                       magnum | m3230)
+                               basic_machine=mips-mips
+                               basic_os=sysv
+                               ;;
+                       merlin)
+                               basic_machine=ns32k-utek
+                               basic_os=sysv
+                               ;;
+                       mingw64)
+                               basic_machine=x86_64-pc
+                               basic_os=mingw64
+                               ;;
+                       mingw32)
+                               basic_machine=i686-pc
+                               basic_os=mingw32
+                               ;;
+                       mingw32ce)
+                               basic_machine=arm-unknown
+                               basic_os=mingw32ce
+                               ;;
+                       monitor)
+                               basic_machine=m68k-rom68k
+                               basic_os=coff
+                               ;;
+                       morphos)
+                               basic_machine=powerpc-unknown
+                               basic_os=morphos
+                               ;;
+                       moxiebox)
+                               basic_machine=moxie-unknown
+                               basic_os=moxiebox
+                               ;;
+                       msdos)
+                               basic_machine=i386-pc
+                               basic_os=msdos
+                               ;;
+                       msys)
+                               basic_machine=i686-pc
+                               basic_os=msys
+                               ;;
+                       mvs)
+                               basic_machine=i370-ibm
+                               basic_os=mvs
+                               ;;
+                       nacl)
+                               basic_machine=le32-unknown
+                               basic_os=nacl
+                               ;;
+                       ncr3000)
+                               basic_machine=i486-ncr
+                               basic_os=sysv4
+                               ;;
+                       netbsd386)
+                               basic_machine=i386-pc
+                               basic_os=netbsd
+                               ;;
+                       netwinder)
+                               basic_machine=armv4l-rebel
+                               basic_os=linux
+                               ;;
+                       news | news700 | news800 | news900)
+                               basic_machine=m68k-sony
+                               basic_os=newsos
+                               ;;
+                       news1000)
+                               basic_machine=m68030-sony
+                               basic_os=newsos
+                               ;;
+                       necv70)
+                               basic_machine=v70-nec
+                               basic_os=sysv
+                               ;;
+                       nh3000)
+                               basic_machine=m68k-harris
+                               basic_os=cxux
+                               ;;
+                       nh[45]000)
+                               basic_machine=m88k-harris
+                               basic_os=cxux
+                               ;;
+                       nindy960)
+                               basic_machine=i960-intel
+                               basic_os=nindy
+                               ;;
+                       mon960)
+                               basic_machine=i960-intel
+                               basic_os=mon960
+                               ;;
+                       nonstopux)
+                               basic_machine=mips-compaq
+                               basic_os=nonstopux
+                               ;;
+                       os400)
+                               basic_machine=powerpc-ibm
+                               basic_os=os400
+                               ;;
+                       OSE68000 | ose68000)
+                               basic_machine=m68000-ericsson
+                               basic_os=ose
+                               ;;
+                       os68k)
+                               basic_machine=m68k-none
+                               basic_os=os68k
+                               ;;
+                       paragon)
+                               basic_machine=i860-intel
+                               basic_os=osf
+                               ;;
+                       parisc)
+                               basic_machine=hppa-unknown
+                               basic_os=linux
+                               ;;
+                       psp)
+                               basic_machine=mipsallegrexel-sony
+                               basic_os=psp
+                               ;;
+                       pw32)
+                               basic_machine=i586-unknown
+                               basic_os=pw32
+                               ;;
+                       rdos | rdos64)
+                               basic_machine=x86_64-pc
+                               basic_os=rdos
+                               ;;
+                       rdos32)
+                               basic_machine=i386-pc
+                               basic_os=rdos
+                               ;;
+                       rom68k)
+                               basic_machine=m68k-rom68k
+                               basic_os=coff
+                               ;;
+                       sa29200)
+                               basic_machine=a29k-amd
+                               basic_os=udi
+                               ;;
+                       sei)
+                               basic_machine=mips-sei
+                               basic_os=seiux
+                               ;;
+                       sequent)
+                               basic_machine=i386-sequent
+                               basic_os=
+                               ;;
+                       sps7)
+                               basic_machine=m68k-bull
+                               basic_os=sysv2
+                               ;;
+                       st2000)
+                               basic_machine=m68k-tandem
+                               basic_os=
+                               ;;
+                       stratus)
+                               basic_machine=i860-stratus
+                               basic_os=sysv4
+                               ;;
+                       sun2)
+                               basic_machine=m68000-sun
+                               basic_os=
+                               ;;
+                       sun2os3)
+                               basic_machine=m68000-sun
+                               basic_os=sunos3
+                               ;;
+                       sun2os4)
+                               basic_machine=m68000-sun
+                               basic_os=sunos4
+                               ;;
+                       sun3)
+                               basic_machine=m68k-sun
+                               basic_os=
+                               ;;
+                       sun3os3)
+                               basic_machine=m68k-sun
+                               basic_os=sunos3
+                               ;;
+                       sun3os4)
+                               basic_machine=m68k-sun
+                               basic_os=sunos4
+                               ;;
+                       sun4)
+                               basic_machine=sparc-sun
+                               basic_os=
+                               ;;
+                       sun4os3)
+                               basic_machine=sparc-sun
+                               basic_os=sunos3
+                               ;;
+                       sun4os4)
+                               basic_machine=sparc-sun
+                               basic_os=sunos4
+                               ;;
+                       sun4sol2)
+                               basic_machine=sparc-sun
+                               basic_os=solaris2
+                               ;;
+                       sun386 | sun386i | roadrunner)
+                               basic_machine=i386-sun
+                               basic_os=
+                               ;;
+                       sv1)
+                               basic_machine=sv1-cray
+                               basic_os=unicos
+                               ;;
+                       symmetry)
+                               basic_machine=i386-sequent
+                               basic_os=dynix
+                               ;;
+                       t3e)
+                               basic_machine=alphaev5-cray
+                               basic_os=unicos
+                               ;;
+                       t90)
+                               basic_machine=t90-cray
+                               basic_os=unicos
+                               ;;
+                       toad1)
+                               basic_machine=pdp10-xkl
+                               basic_os=tops20
+                               ;;
+                       tpf)
+                               basic_machine=s390x-ibm
+                               basic_os=tpf
+                               ;;
+                       udi29k)
+                               basic_machine=a29k-amd
+                               basic_os=udi
+                               ;;
+                       ultra3)
+                               basic_machine=a29k-nyu
+                               basic_os=sym1
+                               ;;
+                       v810 | necv810)
+                               basic_machine=v810-nec
+                               basic_os=none
+                               ;;
+                       vaxv)
+                               basic_machine=vax-dec
+                               basic_os=sysv
+                               ;;
+                       vms)
+                               basic_machine=vax-dec
+                               basic_os=vms
+                               ;;
+                       vsta)
+                               basic_machine=i386-pc
+                               basic_os=vsta
+                               ;;
+                       vxworks960)
+                               basic_machine=i960-wrs
+                               basic_os=vxworks
+                               ;;
+                       vxworks68)
+                               basic_machine=m68k-wrs
+                               basic_os=vxworks
+                               ;;
+                       vxworks29k)
+                               basic_machine=a29k-wrs
+                               basic_os=vxworks
+                               ;;
+                       xbox)
+                               basic_machine=i686-pc
+                               basic_os=mingw32
+                               ;;
+                       ymp)
+                               basic_machine=ymp-cray
+                               basic_os=unicos
+                               ;;
+                       *)
+                               basic_machine=$1
+                               basic_os=
+                               ;;
+               esac
                ;;
 esac
 
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
 case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | aarch64 | aarch64_be \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | hexagon \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64octeon | mips64octeonel \
-       | mips64orion | mips64orionel \
-       | mips64r5900 | mips64r5900el \
-       | mips64vr | mips64vrel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | moxie \
-       | mt \
-       | msp430 \
-       | nds32 | nds32le | nds32be \
-       | nios | nios2 \
-       | ns16k | ns32k \
-       | open8 \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pyramid \
-       | rl78 | rx \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu \
-       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
-       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
-       | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-       c54x)
-               basic_machine=tic54x-unknown
-               ;;
-       c55x)
-               basic_machine=tic55x-unknown
-               ;;
-       c6x)
-               basic_machine=tic6x-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
+       # Here we handle the default manufacturer of certain CPU types.  It is in
+       # some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               cpu=hppa1.1
+               vendor=winbond
                ;;
-
-       strongarm | thumb | xscale)
-               basic_machine=arm-unknown
+       op50n)
+               cpu=hppa1.1
+               vendor=oki
                ;;
-       xgate)
-               basic_machine=$basic_machine-unknown
-               os=-none
+       op60c)
+               cpu=hppa1.1
+               vendor=oki
                ;;
-       xscaleeb)
-               basic_machine=armeb-unknown
+       ibm*)
+               cpu=i370
+               vendor=ibm
                ;;
-
-       xscaleel)
-               basic_machine=armel-unknown
+       orion105)
+               cpu=clipper
+               vendor=highlevel
                ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
+       mac | mpw | mac-mpw)
+               cpu=m68k
+               vendor=apple
                ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | aarch64-* | aarch64_be-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | be32-* | be64-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64octeon-* | mips64octeonel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64r5900-* | mips64r5900el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | open8-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pyramid-* \
-       | rl78-* | romp-* | rs6000-* | rx-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-       | tahoe-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tile*-* \
-       | tron-* \
-       | ubicom32-* \
-       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-       | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-               ;;
-       # Recognize the basic CPU types without company name, with glob match.
-       xtensa*)
-               basic_machine=$basic_machine-unknown
+       pmac | pmac-mpw)
+               cpu=powerpc
+               vendor=apple
                ;;
+
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
+               cpu=m68000
+               vendor=att
                ;;
        3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aros)
-               basic_machine=i386-pc
-               os=-aros
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       blackfin)
-               basic_machine=bfin-unknown
-               os=-linux
-               ;;
-       blackfin-*)
-               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
+               cpu=we32k
+               vendor=att
                ;;
        bluegene*)
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-       c54x-*)
-               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c55x-*)
-               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c6x-*)
-               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
+               cpu=powerpc
+               vendor=ibm
+               basic_os=cnk
                ;;
        decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
+               cpu=pdp10
+               vendor=dec
+               basic_os=tops10
                ;;
        decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
+               cpu=pdp10
+               vendor=dec
+               basic_os=tops20
                ;;
        delta | 3300 | motorola-3300 | motorola-delta \
              | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       dicos)
-               basic_machine=i686-pc
-               os=-dicos
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
+               cpu=m68k
+               vendor=motorola
                ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
+       dpx2*)
+               cpu=m68k
+               vendor=bull
+               basic_os=sysv3
                ;;
        encore | umax | mmax)
-               basic_machine=ns32k-encore
+               cpu=ns32k
+               vendor=encore
                ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
+       elxsi)
+               cpu=elxsi
+               vendor=elxsi
+               basic_os=${basic_os:-bsd}
                ;;
        fx2800)
-               basic_machine=i860-alliant
+               cpu=i860
+               vendor=alliant
                ;;
        genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
+               cpu=ns32k
+               vendor=ns
                ;;
        h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
+               cpu=hppa1.1
+               vendor=hitachi
+               basic_os=hiuxwe2
                ;;
        hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
+               cpu=hppa1.0
+               vendor=hp
                ;;
        hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
+               cpu=m68000
+               vendor=hp
                ;;
        hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
+               cpu=m68k
+               vendor=hp
                ;;
        hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
+               cpu=hppa1.0
+               vendor=hp
                ;;
        hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k78[0-9] | hp78[0-9])
                # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
                # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
+               cpu=hppa1.1
+               vendor=hp
                ;;
        hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
+               cpu=hppa1.0
+               vendor=hp
                ;;
        i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               basic_os=sysv32
                ;;
        i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               basic_os=sysv4
                ;;
        i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               basic_os=sysv
                ;;
        i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
+               cpu=`echo "$1" | sed -e 's/86.*/86/'`
+               vendor=pc
+               basic_os=solaris2
                ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
+       j90 | j90-cray)
+               cpu=j90
+               vendor=cray
+               basic_os=${basic_os:-unicos}
                ;;
        iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
+               cpu=mips
+               vendor=sgi
+               case $basic_os in
+                   irix*)
                        ;;
                    *)
-                       os=-irix4
+                       basic_os=irix4
                        ;;
                esac
                ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m68knommu)
-               basic_machine=m68k-unknown
-               os=-linux
-               ;;
-       m68knommu-*)
-               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       microblaze)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw32)
-               basic_machine=i386-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
        miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-               ;;
-       msys)
-               basic_machine=i386-pc
-               os=-msys
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       nacl)
-               basic_machine=le32-unknown
-               os=-nacl
+               cpu=m68000
+               vendor=convergent
                ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
+       *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               cpu=m68k
+               vendor=atari
+               basic_os=mint
                ;;
        news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
+               cpu=mips
+               vendor=sony
+               basic_os=newsos
+               ;;
+       next | m*-next)
+               cpu=m68k
+               vendor=next
+               case $basic_os in
+                   openstep*)
+                       ;;
+                   nextstep*)
                        ;;
-                   -ns2*)
-                     os=-nextstep2
+                   ns2*)
+                     basic_os=nextstep2
                        ;;
                    *)
-                     os=-nextstep3
+                     basic_os=nextstep3
                        ;;
                esac
                ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
        np1)
-               basic_machine=np1-gould
-               ;;
-       neo-tandem)
-               basic_machine=neo-tandem
-               ;;
-       nse-tandem)
-               basic_machine=nse-tandem
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
+               cpu=np1
+               vendor=gould
                ;;
        op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
+               cpu=hppa1.1
+               vendor=oki
+               basic_os=proelf
                ;;
        pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       parisc)
-               basic_machine=hppa-unknown
-               os=-linux
-               ;;
-       parisc-*)
-               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
+               cpu=hppa1.1
+               vendor=hitachi
+               basic_os=hiuxwe2
                ;;
        pbd)
-               basic_machine=sparc-tti
+               cpu=sparc
+               vendor=tti
                ;;
        pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               cpu=m68k
+               vendor=tti
                ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+       pc532)
+               cpu=ns32k
+               vendor=pc532
                ;;
        pn)
-               basic_machine=pn-gould
+               cpu=pn
+               vendor=gould
                ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
-       ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+       power)
+               cpu=power
+               vendor=ibm
                ;;
        ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
+               cpu=i386
+               vendor=ibm
                ;;
        rm[46]00)
-               basic_machine=mips-siemens
+               cpu=mips
+               vendor=siemens
                ;;
        rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
+               cpu=romp
+               vendor=ibm
                ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
+       sde)
+               cpu=mipsisa32
+               vendor=sde
+               basic_os=${basic_os:-elf}
                ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
+       simso-wrs)
+               cpu=sparclite
+               vendor=wrs
+               basic_os=vxworks
                ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
+       tower | tower-32)
+               cpu=m68k
+               vendor=ncr
                ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
+       vpp*|vx|vx-*)
+               cpu=f301
+               vendor=fujitsu
                ;;
-       sequent)
-               basic_machine=i386-sequent
+       w65)
+               cpu=w65
+               vendor=wdc
                ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
+       w89k-*)
+               cpu=hppa1.1
+               vendor=winbond
+               basic_os=proelf
                ;;
-       sh5el)
-               basic_machine=sh5le-unknown
+       none)
+               cpu=none
+               vendor=none
                ;;
-       sh64)
-               basic_machine=sh64-unknown
+       leon|leon[3-9])
+               cpu=sparc
+               vendor=$basic_machine
                ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
+       leon-*|leon[3-9]-*)
+               cpu=sparc
+               vendor=`echo "$basic_machine" | sed 's/-.*//'`
                ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
+
+       *-*)
+               # shellcheck disable=SC2162
+               saved_IFS=$IFS
+               IFS="-" read cpu vendor <<EOF
+$basic_machine
+EOF
+               IFS=$saved_IFS
+               ;;
+       # We use 'pc' rather than 'unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+               cpu=$basic_machine
+               vendor=pc
                ;;
-       spur)
-               basic_machine=spur-unknown
+       # These rules are duplicated from below for sake of the special case above;
+       # i.e. things that normalized to x86 arches should also default to "pc"
+       pc98)
+               cpu=i386
+               vendor=pc
                ;;
-       st2000)
-               basic_machine=m68k-tandem
+       x64 | amd64)
+               cpu=x86_64
+               vendor=pc
                ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
+       # Recognize the basic CPU types without company name.
+       *)
+               cpu=$basic_machine
+               vendor=unknown
                ;;
-       strongarm-* | thumb-*)
-               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+       # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+       # some cases the only manufacturer, in others, it is the most popular.
+       craynv-unknown)
+               vendor=cray
+               basic_os=${basic_os:-unicosmp}
                ;;
-       sun2)
-               basic_machine=m68000-sun
+       c90-unknown | c90-cray)
+               vendor=cray
+               basic_os=${Basic_os:-unicos}
                ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
+       fx80-unknown)
+               vendor=alliant
                ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
+       romp-unknown)
+               vendor=ibm
                ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
+       mmix-unknown)
+               vendor=knuth
                ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
+       microblaze-unknown | microblazeel-unknown)
+               vendor=xilinx
                ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
+       rs6000-unknown)
+               vendor=ibm
                ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
+       vax-unknown)
+               vendor=dec
                ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
+       pdp11-unknown)
+               vendor=dec
                ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
+       we32k-unknown)
+               vendor=att
                ;;
-       sun4)
-               basic_machine=sparc-sun
+       cydra-unknown)
+               vendor=cydrome
                ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
+       i370-ibm*)
+               vendor=ibm
                ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
+       orion-unknown)
+               vendor=highlevel
                ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
+       xps-unknown | xps100-unknown)
+               cpu=xps100
+               vendor=honeywell
                ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
+
+       # Here we normalize CPU types with a missing or matching vendor
+       armh-unknown | armh-alt)
+               cpu=armv7l
+               vendor=alt
+               basic_os=${basic_os:-linux-gnueabihf}
                ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
+       dpx20-unknown | dpx20-bull)
+               cpu=rs6000
+               vendor=bull
+               basic_os=${basic_os:-bosx}
                ;;
-       tile*)
-               basic_machine=$basic_machine-unknown
-               os=-linux-gnu
+
+       # Here we normalize CPU types irrespective of the vendor
+       amd64-*)
+               cpu=x86_64
                ;;
-       tx39)
-               basic_machine=mipstx39-unknown
+       blackfin-*)
+               cpu=bfin
+               basic_os=linux
                ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
+       c54x-*)
+               cpu=tic54x
                ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
+       c55x-*)
+               cpu=tic55x
                ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
+       c6x-*)
+               cpu=tic6x
                ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
+       e500v[12]-*)
+               cpu=powerpc
+               basic_os=${basic_os}"spe"
                ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
+       mips3*-*)
+               cpu=mips64
                ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
+       ms1-*)
+               cpu=mt
                ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
+       m68knommu-*)
+               cpu=m68k
+               basic_os=linux
                ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
+       m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+               cpu=s12z
                ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
+       openrisc-*)
+               cpu=or32
                ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
+       parisc-*)
+               cpu=hppa
+               basic_os=linux
                ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               cpu=i586
                ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
+       pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
+               cpu=i686
                ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               cpu=i686
                ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
+       pentium4-*)
+               cpu=i786
                ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
+       pc98-*)
+               cpu=i386
                ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
+       ppc-* | ppcbe-*)
+               cpu=powerpc
                ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
+       ppcle-* | powerpclittle-*)
+               cpu=powerpcle
                ;;
-       xscale-* | xscalee[bl]-*)
-               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+       ppc64-*)
+               cpu=powerpc64
                ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
+       ppc64le-* | powerpc64little-*)
+               cpu=powerpc64le
                ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
+       sb1-*)
+               cpu=mipsisa64sb1
                ;;
-       z80-*-coff)
-               basic_machine=z80-unknown
-               os=-sim
+       sb1el-*)
+               cpu=mipsisa64sb1el
                ;;
-       none)
-               basic_machine=none-none
-               os=-none
+       sh5e[lb]-*)
+               cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
                ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
+       spur-*)
+               cpu=spur
                ;;
-       op50n)
-               basic_machine=hppa1.1-oki
+       strongarm-* | thumb-*)
+               cpu=arm
                ;;
-       op60c)
-               basic_machine=hppa1.1-oki
+       tx39-*)
+               cpu=mipstx39
                ;;
-       romp)
-               basic_machine=romp-ibm
+       tx39el-*)
+               cpu=mipstx39el
                ;;
-       mmix)
-               basic_machine=mmix-knuth
+       x64-*)
+               cpu=x86_64
                ;;
-       rs6000)
-               basic_machine=rs6000-ibm
+       xscale-* | xscalee[bl]-*)
+               cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
                ;;
-       vax)
-               basic_machine=vax-dec
+       arm64-* | aarch64le-*)
+               cpu=aarch64
                ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
+
+       # Recognize the canonical CPU Types that limit and/or modify the
+       # company names they are paired with.
+       cr16-*)
+               basic_os=${basic_os:-elf}
                ;;
-       pdp11)
-               basic_machine=pdp11-dec
+       crisv32-* | etraxfs*-*)
+               cpu=crisv32
+               vendor=axis
                ;;
-       we32k)
-               basic_machine=we32k-att
+       cris-* | etrax*-*)
+               cpu=cris
+               vendor=axis
                ;;
-       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
+       crx-*)
+               basic_os=${basic_os:-elf}
                ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
+       neo-tandem)
+               cpu=neo
+               vendor=tandem
                ;;
-       cydra)
-               basic_machine=cydra-cydrome
+       nse-tandem)
+               cpu=nse
+               vendor=tandem
                ;;
-       orion)
-               basic_machine=orion-highlevel
+       nsr-tandem)
+               cpu=nsr
+               vendor=tandem
                ;;
-       orion105)
-               basic_machine=clipper-highlevel
+       nsv-tandem)
+               cpu=nsv
+               vendor=tandem
                ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
+       nsx-tandem)
+               cpu=nsx
+               vendor=tandem
                ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
+       mipsallegrexel-sony)
+               cpu=mipsallegrexel
+               vendor=sony
                ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
+       tile*-*)
+               basic_os=${basic_os:-linux-gnu}
                ;;
+
        *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
+               # Recognize the canonical CPU types that are allowed with any
+               # company name.
+               case $cpu in
+                       1750a | 580 \
+                       | a29k \
+                       | aarch64 | aarch64_be | aarch64c | arm64ec \
+                       | abacus \
+                       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+                       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+                       | alphapca5[67] | alpha64pca5[67] \
+                       | am33_2.0 \
+                       | amdgcn \
+                       | arc | arceb | arc32 | arc64 \
+                       | arm | arm[lb]e | arme[lb] | armv* \
+                       | avr | avr32 \
+                       | asmjs \
+                       | ba \
+                       | be32 | be64 \
+                       | bfin | bpf | bs2000 \
+                       | c[123]* | c30 | [cjt]90 | c4x \
+                       | c8051 | clipper | craynv | csky | cydra \
+                       | d10v | d30v | dlx | dsp16xx \
+                       | e2k | elxsi | epiphany \
+                       | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+                       | javascript \
+                       | h8300 | h8500 \
+                       | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+                       | hexagon \
+                       | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+                       | ip2k | iq2000 \
+                       | k1om \
+                       | kvx \
+                       | le32 | le64 \
+                       | lm32 \
+                       | loongarch32 | loongarch64 \
+                       | m32c | m32r | m32rle \
+                       | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
+                       | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
+                       | m88110 | m88k | maxq | mb | mcore | mep | metag \
+                       | microblaze | microblazeel \
+                       | mips* \
+                       | mmix \
+                       | mn10200 | mn10300 \
+                       | moxie \
+                       | mt \
+                       | msp430 \
+                       | nds32 | nds32le | nds32be \
+                       | nfp \
+                       | nios | nios2 | nios2eb | nios2el \
+                       | none | np1 | ns16k | ns32k | nvptx \
+                       | open8 \
+                       | or1k* \
+                       | or32 \
+                       | orion \
+                       | picochip \
+                       | pdp10 | pdp11 | pj | pjl | pn | power \
+                       | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+                       | pru \
+                       | pyramid \
+                       | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
+                       | rl78 | romp | rs6000 | rx \
+                       | s390 | s390x \
+                       | score \
+                       | sh | shl \
+                       | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+                       | sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+                       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+                       | sparclite \
+                       | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+                       | spu \
+                       | tahoe \
+                       | thumbv7* \
+                       | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+                       | tron \
+                       | ubicom32 \
+                       | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+                       | vax \
+                       | visium \
+                       | w65 \
+                       | wasm32 | wasm64 \
+                       | we32k \
+                       | x86 | x86_64 | xc16x | xgate | xps100 \
+                       | xstormy16 | xtensa* \
+                       | ymp \
+                       | z8k | z80)
+                               ;;
+
+                       *)
+                               echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
+                               exit 1
+                               ;;
+               esac
                ;;
 esac
 
 # Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+case $vendor in
+       digital*)
+               vendor=dec
                ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+       commodore*)
+               vendor=cbm
                ;;
        *)
                ;;
@@ -1309,203 +1285,226 @@ esac
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ x"$os" != x"" ]
+if test x"$basic_os" != x
 then
+
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
+# set os.
+obj=
+case $basic_os in
+       gnu/linux*)
+               kernel=linux
+               os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
+               ;;
+       os2-emx)
+               kernel=os2
+               os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
+               ;;
+       nto-qnx*)
+               kernel=nto
+               os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
+               ;;
+       *-*)
+               # shellcheck disable=SC2162
+               saved_IFS=$IFS
+               IFS="-" read kernel os <<EOF
+$basic_os
+EOF
+               IFS=$saved_IFS
+               ;;
+       # Default OS when just kernel was specified
+       nto*)
+               kernel=nto
+               os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
+               ;;
+       linux*)
+               kernel=linux
+               os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
+               ;;
+       managarm*)
+               kernel=managarm
+               os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+               ;;
+       *)
+               kernel=
+               os=$basic_os
+               ;;
+esac
+
+# Now, normalize the OS (knowing we just have one component, it's not a kernel,
+# etc.)
 case $os in
-       # First match some system type aliases
-       # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -auroraux)
-               os=-auroraux
+       # First match some system type aliases that might get confused
+       # with valid system types.
+       # solaris* is a basic system type, with this one exception.
+       auroraux)
+               os=auroraux
                ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+       bluegene*)
+               os=cnk
                ;;
-       -solaris)
-               os=-solaris2
+       solaris1 | solaris1.*)
+               os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
                ;;
-       -svr4*)
-               os=-sysv4
+       solaris)
+               os=solaris2
                ;;
-       -unixware*)
-               os=-sysv4.2uw
+       unixware*)
+               os=sysv4.2uw
                ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+       # es1800 is here to avoid being matched by es* (a different OS)
+       es1800*)
+               os=ose
                ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
+       # Some version numbers need modification
+       chorusos*)
+               os=chorusos
                ;;
-       -nto-qnx*)
+       isc)
+               os=isc2.2
                ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+       sco6)
+               os=sco5v6
                ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+       sco5)
+               os=sco3.2v5
                ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
+       sco4)
+               os=sco3.2v4
                ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
+       sco3.2.[4-9]*)
+               os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
                ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+       sco*v* | scout)
+               # Don't match below
                ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+       sco*)
+               os=sco3.2v2
                ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+       psos*)
+               os=psos
                ;;
-       -opened*)
-               os=-openedition
+       qnx*)
+               os=qnx
                ;;
-       -os400*)
-               os=-os400
+       hiux*)
+               os=hiuxwe2
                ;;
-       -wince*)
-               os=-wince
+       lynx*178)
+               os=lynxos178
                ;;
-       -osfrose*)
-               os=-osfrose
+       lynx*5)
+               os=lynxos5
                ;;
-       -osf*)
-               os=-osf
+       lynxos*)
+               # don't get caught up in next wildcard
                ;;
-       -utek*)
-               os=-bsd
+       lynx*)
+               os=lynxos
                ;;
-       -dynix*)
-               os=-bsd
+       mac[0-9]*)
+               os=`echo "$os" | sed -e 's|mac|macos|'`
                ;;
-       -acis*)
-               os=-aos
+       opened*)
+               os=openedition
                ;;
-       -atheos*)
-               os=-atheos
+       os400*)
+               os=os400
                ;;
-       -syllable*)
-               os=-syllable
+       sunos5*)
+               os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
                ;;
-       -386bsd)
-               os=-bsd
+       sunos6*)
+               os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
                ;;
-       -ctix* | -uts*)
-               os=-sysv
+       wince*)
+               os=wince
                ;;
-       -nova*)
-               os=-rtmk-nova
+       utek*)
+               os=bsd
                ;;
-       -ns2 )
-               os=-nextstep2
+       dynix*)
+               os=bsd
                ;;
-       -nsk*)
-               os=-nsk
+       acis*)
+               os=aos
                ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
+       atheos*)
+               os=atheos
                ;;
-       -sinix*)
-               os=-sysv4
+       syllable*)
+               os=syllable
                ;;
-       -tpf*)
-               os=-tpf
+       386bsd)
+               os=bsd
                ;;
-       -triton*)
-               os=-sysv3
+       ctix* | uts*)
+               os=sysv
                ;;
-       -oss*)
-               os=-sysv3
+       nova*)
+               os=rtmk-nova
                ;;
-       -svr4)
-               os=-sysv4
+       ns2)
+               os=nextstep2
                ;;
-       -svr3)
-               os=-sysv3
+       # Preserve the version number of sinix5.
+       sinix5.*)
+               os=`echo "$os" | sed -e 's|sinix|sysv|'`
                ;;
-       -sysvr4)
-               os=-sysv4
+       sinix*)
+               os=sysv4
                ;;
-       # This must come after -sysvr4.
-       -sysv*)
+       tpf*)
+               os=tpf
                ;;
-       -ose*)
-               os=-ose
+       triton*)
+               os=sysv3
                ;;
-       -es1800*)
-               os=-ose
+       oss*)
+               os=sysv3
                ;;
-       -xenix)
-               os=-xenix
+       svr4*)
+               os=sysv4
                ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
+       svr3)
+               os=sysv3
                ;;
-       -aros*)
-               os=-aros
+       sysvr4)
+               os=sysv4
                ;;
-       -kaos*)
-               os=-kaos
+       ose*)
+               os=ose
                ;;
-       -zvmoe)
-               os=-zvmoe
+       *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+               os=mint
                ;;
-       -dicos*)
-               os=-dicos
+       dicos*)
+               os=dicos
                ;;
-       -nacl*)
+       pikeos*)
+               # Until real need of OS specific support for
+               # particular features comes up, bare metal
+               # configurations are quite functional.
+               case $cpu in
+                   arm*)
+                       os=eabi
+                       ;;
+                   *)
+                       os=
+                       obj=elf
+                       ;;
+               esac
                ;;
-       -none)
+       aout* | coff* | elf* | pe*)
+               # These are machine code file formats, not OSes
+               obj=$os
+               os=
                ;;
        *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
+               # No normalization, but not necessarily accepted, that comes below.
                ;;
 esac
+
 else
 
 # Here we handle the default operating systems that come with various machines.
@@ -1518,255 +1517,443 @@ else
 # will signal an error saying that MANUFACTURER isn't an operating
 # system, and we'll never get to this point.
 
-case $basic_machine in
+kernel=
+obj=
+case $cpu-$vendor in
        score-*)
-               os=-elf
+               os=
+               obj=elf
                ;;
        spu-*)
-               os=-elf
+               os=
+               obj=elf
                ;;
        *-acorn)
-               os=-riscix1.2
+               os=riscix1.2
                ;;
        arm*-rebel)
-               os=-linux
+               kernel=linux
+               os=gnu
                ;;
        arm*-semi)
-               os=-aout
+               os=
+               obj=aout
                ;;
        c4x-* | tic4x-*)
-               os=-coff
+               os=
+               obj=coff
+               ;;
+       c8051-*)
+               os=
+               obj=elf
+               ;;
+       clipper-intergraph)
+               os=clix
+               ;;
+       hexagon-*)
+               os=
+               obj=elf
                ;;
        tic54x-*)
-               os=-coff
+               os=
+               obj=coff
                ;;
        tic55x-*)
-               os=-coff
+               os=
+               obj=coff
                ;;
        tic6x-*)
-               os=-coff
+               os=
+               obj=coff
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
-               os=-tops20
+               os=tops20
                ;;
        pdp11-*)
-               os=-none
+               os=none
                ;;
        *-dec | vax-*)
-               os=-ultrix4.2
+               os=ultrix4.2
                ;;
        m68*-apollo)
-               os=-domain
+               os=domain
                ;;
        i386-sun)
-               os=-sunos4.0.2
+               os=sunos4.0.2
                ;;
        m68000-sun)
-               os=-sunos3
+               os=sunos3
                ;;
        m68*-cisco)
-               os=-aout
+               os=
+               obj=aout
                ;;
        mep-*)
-               os=-elf
+               os=
+               obj=elf
                ;;
        mips*-cisco)
-               os=-elf
+               os=
+               obj=elf
                ;;
        mips*-*)
-               os=-elf
+               os=
+               obj=elf
                ;;
        or32-*)
-               os=-coff
+               os=
+               obj=coff
                ;;
        *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
+               os=sysv3
                ;;
        sparc-* | *-sun)
-               os=-sunos4.1.1
+               os=sunos4.1.1
                ;;
-       *-be)
-               os=-beos
+       pru-*)
+               os=
+               obj=elf
                ;;
-       *-haiku)
-               os=-haiku
+       *-be)
+               os=beos
                ;;
        *-ibm)
-               os=-aix
+               os=aix
                ;;
        *-knuth)
-               os=-mmixware
+               os=mmixware
                ;;
        *-wec)
-               os=-proelf
+               os=proelf
                ;;
        *-winbond)
-               os=-proelf
+               os=proelf
                ;;
        *-oki)
-               os=-proelf
+               os=proelf
                ;;
        *-hp)
-               os=-hpux
+               os=hpux
                ;;
        *-hitachi)
-               os=-hiux
+               os=hiux
                ;;
        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
+               os=sysv
                ;;
        *-cbm)
-               os=-amigaos
+               os=amigaos
                ;;
        *-dg)
-               os=-dgux
+               os=dgux
                ;;
        *-dolphin)
-               os=-sysv3
+               os=sysv3
                ;;
        m68k-ccur)
-               os=-rtu
+               os=rtu
                ;;
        m88k-omron*)
-               os=-luna
+               os=luna
                ;;
-       *-next )
-               os=-nextstep
+       *-next)
+               os=nextstep
                ;;
        *-sequent)
-               os=-ptx
+               os=ptx
                ;;
        *-crds)
-               os=-unos
+               os=unos
                ;;
        *-ns)
-               os=-genix
+               os=genix
                ;;
        i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
+               os=mvs
                ;;
        *-gould)
-               os=-sysv
+               os=sysv
                ;;
        *-highlevel)
-               os=-bsd
+               os=bsd
                ;;
        *-encore)
-               os=-bsd
+               os=bsd
                ;;
        *-sgi)
-               os=-irix
+               os=irix
                ;;
        *-siemens)
-               os=-sysv4
+               os=sysv4
                ;;
        *-masscomp)
-               os=-rtu
+               os=rtu
                ;;
        f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
+               os=uxpv
                ;;
        *-rom68k)
-               os=-coff
+               os=
+               obj=coff
                ;;
        *-*bug)
-               os=-coff
+               os=
+               obj=coff
                ;;
        *-apple)
-               os=-macos
+               os=macos
                ;;
        *-atari*)
-               os=-mint
+               os=mint
+               ;;
+       *-wrs)
+               os=vxworks
                ;;
        *)
-               os=-none
+               os=none
                ;;
 esac
+
 fi
 
+# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
+
+case $os in
+       # Sometimes we do "kernel-libc", so those need to count as OSes.
+       musl* | newlib* | relibc* | uclibc*)
+               ;;
+       # Likewise for "kernel-abi"
+       eabi* | gnueabi*)
+               ;;
+       # VxWorks passes extra cpu info in the 4th filed.
+       simlinux | simwindows | spe)
+               ;;
+       # See `case $cpu-$os` validation below
+       ghcjs)
+               ;;
+       # Now accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST end in a * to match a version number.
+       gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+            | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
+            | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+            | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \
+            | hiux* | abug | nacl* | netware* | windows* \
+            | os9* | macos* | osx* | ios* | tvos* | watchos* \
+            | mpw* | magic* | mmixware* | mon960* | lnews* \
+            | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+            | aos* | aros* | cloudabi* | sortix* | twizzler* \
+            | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+            | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+            | mirbsd* | netbsd* | dicos* | openedition* | ose* \
+            | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
+            | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
+            | bosx* | nextstep* | cxux* | oabi* \
+            | ptx* | ecoff* | winnt* | domain* | vsta* \
+            | udi* | lites* | ieee* | go32* | aux* | hcos* \
+            | chorusrdb* | cegcc* | glidix* | serenity* \
+            | cygwin* | msys* | moss* | proelf* | rtems* \
+            | midipix* | mingw32* | mingw64* | mint* \
+            | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+            | interix* | uwin* | mks* | rhapsody* | darwin* \
+            | openstep* | oskit* | conix* | pw32* | nonstopux* \
+            | storm-chaos* | tops10* | tenex* | tops20* | its* \
+            | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
+            | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
+            | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+            | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+            | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+            | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+            | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+            | fiwix* | mlibc* | cos* | mbr* )
+               ;;
+       # This one is extra strict with allowed versions
+       sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               ;;
+       none)
+               ;;
+       kernel* | msvc* )
+               # Restricted further below
+               ;;
+       '')
+               if test x"$obj" = x
+               then
+                       echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
+               fi
+               ;;
+       *)
+               echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
+               exit 1
+               ;;
+esac
+
+case $obj in
+       aout* | coff* | elf* | pe*)
+               ;;
+       '')
+               # empty is fine
+               ;;
+       *)
+               echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we handle the constraint that a (synthetic) cpu and os are
+# valid only in combination with each other and nowhere else.
+case $cpu-$os in
+       # The "javascript-unknown-ghcjs" triple is used by GHC; we
+       # accept it here in order to tolerate that, but reject any
+       # variations.
+       javascript-ghcjs)
+               ;;
+       javascript-* | *-ghcjs)
+               echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
+               exit 1
+               ;;
+esac
+
+# As a final step for OS-related things, validate the OS-kernel combination
+# (given a valid OS), if there is a kernel.
+case $kernel-$os-$obj in
+       linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \
+                  | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- )
+               ;;
+       uclinux-uclibc*- )
+               ;;
+       managarm-mlibc*- | managarm-kernel*- )
+               ;;
+       windows*-msvc*-)
+               ;;
+       -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- )
+               # These are just libc implementations, not actual OSes, and thus
+               # require a kernel.
+               echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
+               exit 1
+               ;;
+       -kernel*- )
+               echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
+               exit 1
+               ;;
+       *-kernel*- )
+               echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
+               exit 1
+               ;;
+       *-msvc*- )
+               echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
+               exit 1
+               ;;
+       kfreebsd*-gnu*- | kopensolaris*-gnu*-)
+               ;;
+       vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
+               ;;
+       nto-qnx*-)
+               ;;
+       os2-emx-)
+               ;;
+       *-eabi*- | *-gnueabi*-)
+               ;;
+       none--*)
+               # None (no kernel, i.e. freestanding / bare metal),
+               # can be paired with an machine code file format
+               ;;
+       -*-)
+               # Blank kernel with real OS is always fine.
+               ;;
+       --*)
+               # Blank kernel and OS with real machine code file format is always fine.
+               ;;
+       *-*-*)
+               echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
+               exit 1
+               ;;
+esac
+
 # Here we handle the case where we know the os, and the CPU type, but not the
 # manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
+case $vendor in
+       unknown)
+               case $cpu-$os in
+                       *-riscix*)
                                vendor=acorn
                                ;;
-                       -sunos*)
+                       *-sunos*)
                                vendor=sun
                                ;;
-                       -cnk*|-aix*)
+                       *-cnk* | *-aix*)
                                vendor=ibm
                                ;;
-                       -beos*)
+                       *-beos*)
                                vendor=be
                                ;;
-                       -hpux*)
+                       *-hpux*)
                                vendor=hp
                                ;;
-                       -mpeix*)
+                       *-mpeix*)
                                vendor=hp
                                ;;
-                       -hiux*)
+                       *-hiux*)
                                vendor=hitachi
                                ;;
-                       -unos*)
+                       *-unos*)
                                vendor=crds
                                ;;
-                       -dgux*)
+                       *-dgux*)
                                vendor=dg
                                ;;
-                       -luna*)
+                       *-luna*)
                                vendor=omron
                                ;;
-                       -genix*)
+                       *-genix*)
                                vendor=ns
                                ;;
-                       -mvs* | -opened*)
+                       *-clix*)
+                               vendor=intergraph
+                               ;;
+                       *-mvs* | *-opened*)
+                               vendor=ibm
+                               ;;
+                       *-os400*)
                                vendor=ibm
                                ;;
-                       -os400*)
+                       s390-* | s390x-*)
                                vendor=ibm
                                ;;
-                       -ptx*)
+                       *-ptx*)
                                vendor=sequent
                                ;;
-                       -tpf*)
+                       *-tpf*)
                                vendor=ibm
                                ;;
-                       -vxsim* | -vxworks* | -windiss*)
+                       *-vxsim* | *-vxworks* | *-windiss*)
                                vendor=wrs
                                ;;
-                       -aux*)
+                       *-aux*)
                                vendor=apple
                                ;;
-                       -hms*)
+                       *-hms*)
                                vendor=hitachi
                                ;;
-                       -mpw* | -macos*)
+                       *-mpw* | *-macos*)
                                vendor=apple
                                ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                       *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
                                vendor=atari
                                ;;
-                       -vos*)
+                       *-vos*)
                                vendor=stratus
                                ;;
                esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                ;;
 esac
 
-echo $basic_machine$os
+echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index b51ab30..0ffbb48 100644 (file)
@@ -1,12 +1,12 @@
 #!/bin/sh
 # Compile a C# program.
 
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
 # Written by Bruno Haible <bruno@clisp.org>, 2003.
 #
 # 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
+# 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,
@@ -15,7 +15,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This uses the same choices as csharpcomp.c, but instead of relying on the
 # environment settings at run time, it uses the environment variables
@@ -42,7 +42,7 @@ func_tmpdir ()
   # Use the environment variable TMPDIR, falling back to /tmp. This allows
   # users to specify a different temporary directory, for example, if their
   # /tmp is filled up or too small.
-  : ${TMPDIR=/tmp}
+  : "${TMPDIR=/tmp}"
   {
     # Use the mktemp program if available. If not available, hide the error
     # message.
@@ -65,7 +65,6 @@ func_tmpdir ()
 }
 
 sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=%   \\]\)/\\\1/g'
-options_cscc=
 options_mcs=
 options_csc="-nologo"
 sources=
@@ -74,7 +73,6 @@ while test $# != 0; do
     -o)
       case "$2" in
         *.dll)
-          options_cscc="$options_cscc -shared"
           options_mcs="$options_mcs -target:library"
           options_csc="$options_csc -target:library"
           ;;
@@ -82,29 +80,24 @@ while test $# != 0; do
           options_csc="$options_csc -target:exe"
           ;;
       esac
-      options_cscc="$options_cscc -o "`echo "$2" | sed -e "$sed_quote_subst"`
       options_mcs="$options_mcs -out:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -out:"`echo "$2" | sed -e "$sed_quote_subst"`
       shift
       ;;
     -L)
-      options_cscc="$options_cscc -L "`echo "$2" | sed -e "$sed_quote_subst"`
       options_mcs="$options_mcs -lib:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -lib:"`echo "$2" | sed -e "$sed_quote_subst"`
       shift
       ;;
     -l)
-      options_cscc="$options_cscc -l "`echo "$2" | sed -e "$sed_quote_subst"`
       options_mcs="$options_mcs -reference:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -reference:"`echo "$2" | sed -e "$sed_quote_subst"`".dll"
       shift
       ;;
     -O)
-      options_cscc="$options_cscc -O"
       options_csc="$options_csc -optimize+"
       ;;
     -g)
-      options_cscc="$options_cscc -g"
       options_mcs="$options_mcs -debug"
       options_csc="$options_csc -debug+"
       ;;
@@ -113,7 +106,6 @@ while test $# != 0; do
       exit 1
       ;;
     *.resources)
-      options_cscc="$options_cscc -fresources="`echo "$1" | sed -e "$sed_quote_subst"`
       options_mcs="$options_mcs -resource:"`echo "$1" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -resource:"`echo "$1" | sed -e "$sed_quote_subst"`
       ;;
@@ -128,31 +120,26 @@ while test $# != 0; do
   shift
 done
 
-if test -n "@HAVE_CSCC@"; then
-  test -z "$CSHARP_VERBOSE" || echo cscc $options_cscc $sources
-  exec cscc $options_cscc $sources
-else
-  if test -n "@HAVE_MCS@"; then
-    # mcs prints it errors and warnings to stdout, not stderr. Furthermore it
-    # adds a useless line "Compilation succeeded..." at the end. Correct both.
-    sed_drop_success_line='${
+if test -n "@HAVE_MCS@"; then
+  # mcs prints it errors and warnings to stdout, not stderr. Furthermore it
+  # adds a useless line "Compilation succeeded..." at the end. Correct both.
+  sed_drop_success_line='${
 /^Compilation succeeded/d
 }'
-    func_tmpdir
-    trap 'rm -rf "$tmp"' 1 2 3 15
-    test -z "$CSHARP_VERBOSE" || echo mcs $options_mcs $sources
-    mcs $options_mcs $sources > "$tmp"/mcs.err
-    result=$?
-    sed -e "$sed_drop_success_line" < "$tmp"/mcs.err >&2
-    rm -rf "$tmp"
-    exit $result
+  func_tmpdir
+  trap 'rm -rf "$tmp"' HUP INT QUIT TERM
+  test -z "$CSHARP_VERBOSE" || echo mcs $options_mcs $sources
+  mcs $options_mcs $sources > "$tmp"/mcs.err
+  result=$?
+  sed -e "$sed_drop_success_line" < "$tmp"/mcs.err >&2
+  rm -rf "$tmp"
+  exit $result
+else
+  if test -n "@HAVE_CSC@"; then
+    test -z "$CSHARP_VERBOSE" || echo csc $options_csc $sources
+    exec csc $options_csc $sources
   else
-    if test -n "@HAVE_CSC@"; then
-      test -z "$CSHARP_VERBOSE" || echo csc $options_csc $sources
-      exec csc $options_csc $sources
-    else
-      echo 'C# compiler not found, try installing pnet, then reconfigure' 1>&2
-      exit 1
-    fi
+    echo 'C# compiler not found, try installing mono, then reconfigure' 1>&2
+    exit 1
   fi
 fi
index 98c2537..2ef677c 100644 (file)
@@ -1,12 +1,12 @@
 #!/bin/sh
 # Execute a C# program.
 
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
 # Written by Bruno Haible <bruno@clisp.org>, 2003.
 #
 # 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
+# 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,
@@ -15,7 +15,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This uses the same choices as csharpexec.c, but instead of relying on the
 # environment settings at run time, it uses the environment variables
 #   -L DIRECTORY      search for C# libraries also in DIRECTORY
 
 sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=%   \\]\)/\\\1/g'
-options_ilrun=
 libdirs_mono=
 prog=
 while test $# != 0; do
   case "$1" in
     -L)
-      options_ilrun="$options_ilrun -L "`echo "$2" | sed -e "$sed_quote_subst"`
       libdirs_mono="${libdirs_mono:+$libdirs_mono@MONO_PATH_SEPARATOR@}$2"
       shift
       ;;
@@ -62,34 +60,29 @@ case "$prog" in
     ;;
 esac
 
-if test -n "@HAVE_ILRUN@"; then
-  test -z "$CSHARP_VERBOSE" || echo ilrun $options_ilrun "$@"
-  exec ilrun $options_ilrun "$@"
+if test -n "@HAVE_MONO@"; then
+  CONF_MONO_PATH='@MONO_PATH@'
+  if test -n "$libdirs_mono"; then
+    MONO_PATH="$libdirs_mono${CONF_MONO_PATH:+@MONO_PATH_SEPARATOR@$CONF_MONO_PATH}"
+  else
+    MONO_PATH="$CONF_MONO_PATH"
+  fi
+  export MONO_PATH
+  test -z "$CSHARP_VERBOSE" || echo mono "$@"
+  exec mono "$@"
 else
-  if test -n "@HAVE_MONO@"; then
-    CONF_MONO_PATH='@MONO_PATH@'
+  if test -n "@HAVE_CLIX@"; then
+    CONF_CLIX_PATH='@CLIX_PATH@'
     if test -n "$libdirs_mono"; then
-      MONO_PATH="$libdirs_mono${CONF_MONO_PATH:+@MONO_PATH_SEPARATOR@$CONF_MONO_PATH}"
+      @CLIX_PATH_VAR@="$libdirs_mono${CONF_CLIX_PATH:+@MONO_PATH_SEPARATOR@$CONF_CLIX_PATH}"
     else
-      MONO_PATH="$CONF_MONO_PATH"
+      @CLIX_PATH_VAR@="$CONF_CLIX_PATH"
     fi
-    export MONO_PATH
-    test -z "$CSHARP_VERBOSE" || echo mono "$@"
-    exec mono "$@"
+    export @CLIX_PATH_VAR@
+    test -z "$CSHARP_VERBOSE" || echo clix "$@"
+    exec clix "$@"
   else
-    if test -n "@HAVE_CLIX@"; then
-      CONF_CLIX_PATH='@CLIX_PATH@'
-      if test -n "$libdirs_mono"; then
-        @CLIX_PATH_VAR@="$libdirs_mono${CONF_CLIX_PATH:+@MONO_PATH_SEPARATOR@$CONF_CLIX_PATH}"
-      else
-        @CLIX_PATH_VAR@="$CONF_CLIX_PATH"
-      fi
-      export @CLIX_PATH_VAR@
-      test -z "$CSHARP_VERBOSE" || echo clix "$@"
-      exec clix "$@"
-    else
-      echo 'C# virtual machine not found, try installing pnet, then reconfigure' 1>&2
-      exit 1
-    fi
+    echo 'C# virtual machine not found, try installing mono, then reconfigure' 1>&2
+    exit 1
   fi
 fi
index bd0ac08..0e48ffa 100755 (executable)
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-12-04.11; # UTC
+scriptversion=2023-11-23.18; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2023 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
@@ -17,7 +16,7 @@ scriptversion=2011-12-04.11; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -28,9 +27,9 @@ scriptversion=2011-12-04.11; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -40,14 +39,16 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
   tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
@@ -57,6 +58,65 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+alpha=${upper}${lower}
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -69,6 +129,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -80,26 +143,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -122,8 +191,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -131,13 +199,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsolete pre-3.x GCC compilers.
+## but also to in-use compilers like IBM xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -145,33 +217,31 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -189,8 +259,7 @@ sgi)
     "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -198,43 +267,41 @@ sgi)
 
   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
     echo "$object : \\" > "$depfile"
-
     # Clip off the initial element (the dependent).  Don't try to be
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
-
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
   else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -247,9 +314,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -258,44 +323,100 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
   fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
 
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -307,8 +428,8 @@ icc)
   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   # Some versions of the HPUX 10.20 sed can't process this invocation
   # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -319,9 +440,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -332,8 +452,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -343,77 +462,61 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -424,8 +527,7 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -443,14 +545,15 @@ msvc7)
   p
 }' | $cygpath_u | sort -u | sed -n '
 s/ /\\ /g
-s/\(.*\)/      \1 \\/p
+s/\(.*\)/'"$tab"'\1 \\/p
 s/.\(.*\) \\/\1:/
 H
 $ {
-  s/.*/        /
+  s/.*/'"$tab"'/
   G
   p
 }' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
   rm -f "$tmpdepfile"
   ;;
 
@@ -478,7 +581,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -498,18 +601,18 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -562,11 +665,12 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -583,7 +687,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -602,10 +706,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -637,23 +741,23 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
@@ -680,9 +784,9 @@ exit 0
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/build-aux/do-release-commit-and-tag b/build-aux/do-release-commit-and-tag
new file mode 100755 (executable)
index 0000000..6876fe0
--- /dev/null
@@ -0,0 +1,179 @@
+#!/bin/sh
+# In a git/autoconf/automake-enabled project with a NEWS file and a version-
+# controlled .prev-version file, automate the procedure by which we record
+# the date, release-type and version string in the NEWS file.  That commit
+# will serve to identify the release, so apply a signed tag to it as well.
+VERSION=2018-03-07.03 # UTC
+
+# Note: this is a bash script (could be zsh or dash)
+
+# Copyright (C) 2009-2024 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
+# 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 <https://www.gnu.org/licenses/>.
+
+# Written by Jim Meyering
+
+ME=$(basename "$0")
+warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
+die() { warn "$*"; exit 1; }
+
+help()
+{
+  cat <<EOF
+Usage: $ME [OPTION...] VERSION RELEASE_TYPE
+
+Run this script from top_srcdir to perform the final pre-release NEWS
+update in which the date, release-type and version string are
+recorded.  Commit that result with a log entry marking the release,
+and apply a signed tag.  Run it from your project's top-level
+directory.
+
+Requirements:
+- you use git for version-control
+- a version-controlled .prev-version file
+- a NEWS file, with line 3 identical to this:
+$noteworthy_stub
+
+Options:
+  --branch=BRANCH     set release branch (default: $branch)
+  -C, --builddir=DIR  location of (configured) Makefile (default: $builddir)
+  --help              print this help, then exit
+  --version           print version number, then exit
+
+EXAMPLE:
+To update NEWS and tag the beta 8.1 release of coreutils, I would run this:
+
+  $ME 8.1 beta
+
+Report bugs and patches to <bug-gnulib@gnu.org>.
+EOF
+  exit
+}
+
+version()
+{
+  year=$(echo "$VERSION" | sed 's/[^0-9].*//')
+  cat <<EOF
+$ME $VERSION
+Copyright (C) $year Free Software Foundation, Inc,
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+EOF
+  exit
+}
+
+## ------ ##
+## Main.  ##
+## ------ ##
+
+# Constants.
+noteworthy='* Noteworthy changes in release'
+noteworthy_stub="$noteworthy ?.? (????-??-??) [?]"
+
+# Variables.
+branch=$(git branch | sed -ne '/^\* /{s///;p;q;}')
+builddir=.
+
+while test $# != 0
+do
+  # Handle --option=value by splitting apart and putting back on argv.
+  case $1 in
+    --*=*)
+      opt=$(echo "$1" | sed -e 's/=.*//')
+      val=$(echo "$1" | sed -e 's/[^=]*=//')
+      shift
+      set dummy "$opt" "$val" "$@"; shift
+      ;;
+  esac
+
+  case $1 in
+    --help|--version) ${1#--};;
+    --branch) shift; branch=$1; shift ;;
+    -C|--builddir) shift; builddir=$1; shift ;;
+    --*) die "unrecognized option: $1";;
+    *) break;;
+  esac
+done
+
+test $# = 2 \
+  || die "Usage: $ME [OPTION...] VERSION TYPE"
+
+ver=$1
+type=$2
+
+
+## ---------------------- ##
+## First, sanity checks.  ##
+## ---------------------- ##
+
+# Verify that $ver looks like a version number, and...
+echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \
+  || die "invalid version: $ver"
+prev_ver=$(cat .prev-version) \
+  || die 'failed to determine previous version number from .prev-version'
+
+# Verify that $ver is sensible (> .prev-version).
+case $(printf "%s\n%s\n" "$prev_ver" "$ver"|sort -V -u|tr '\n' ':') in
+  "$prev_ver:$ver:") ;;
+  *) die "invalid version: $ver (<= $prev_ver)";;
+esac
+
+case $type in
+  alpha|beta|stable) ;;
+  *) die "invalid release type: $type";;
+esac
+
+# No local modifications allowed.
+case $(git diff-index --name-only HEAD) in
+  '') ;;
+  *) die 'this tree is dirty; commit your changes first';;
+esac
+
+# Ensure the current branch name is correct:
+curr_br=$(git rev-parse --symbolic-full-name HEAD)
+test "$curr_br" = "refs/heads/$branch" || die not on branch $branch
+
+# Extract package name from Makefile.
+Makefile=$builddir/Makefile
+pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' "$Makefile") \
+  || die "failed to determine package name from $Makefile"
+
+# Check that line 3 of NEWS is the stub line about to be replaced.
+test "$(sed -n 3p NEWS)" = "$noteworthy_stub" \
+  || die "line 3 of NEWS must be exactly '$noteworthy_stub'"
+
+## --------------- ##
+## Then, changes.  ##
+## --------------- ##
+
+# Update NEWS to have today's date, plus desired version number and $type.
+perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \
+ -e 'my ($type, $ver) = qw('"$type $ver"');' \
+ -e 'my $pfx = "'"$noteworthy"'";' \
+ -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \
+     NEWS || die 'failed to update NEWS'
+
+printf "version %s\n\n* NEWS: Record release date.\n" "$ver" \
+    | git commit -F -  -a || die 'git commit failed'
+git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed'
+
+# Local variables:
+# indent-tabs-mode: nil
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "VERSION="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: " # UTC"
+# End:
index c8abd55..b0433c7 100755 (executable)
@@ -2,14 +2,13 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2011-04-08.14
+scriptversion=2024-01-01.00
 
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright 2003-2024 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
-# the Free Software Foundation; either version 3 of the License, or
+# 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,
@@ -18,59 +17,97 @@ scriptversion=2011-04-08.14
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 #
 # Original author: Mohit Agarwal.
-# Send bug reports and any other correspondence to bug-texinfo@gnu.org.
+# Send bug reports and any other correspondence to bug-gnulib@gnu.org.
 #
 # The latest version of this script, and the companion template, is
-# available from Texinfo CVS:
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template
+# available from the Gnulib repository:
 #
-# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template
+
+# TODO:
+# - image importing was only implemented for HTML generated by
+#   makeinfo.  But it should be simple enough to adjust.
+# - images are not imported in the source tarball.  All the needed
+#   formats (PDF, PNG, etc.) should be included.
 
 prog=`basename "$0"`
 srcdir=`pwd`
 
-scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh"
-templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template"
-
-: ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="}
-: ${MAKEINFO="makeinfo"}
-: ${TEXI2DVI="texi2dvi -t @finalout"}
-: ${DVIPS="dvips"}
-: ${DOCBOOK2HTML="docbook2html"}
-: ${DOCBOOK2PDF="docbook2pdf"}
-: ${DOCBOOK2PS="docbook2ps"}
-: ${DOCBOOK2TXT="docbook2txt"}
-: ${GENDOCS_TEMPLATE_DIR="."}
-: ${TEXI2HTML="texi2html"}
+scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh"
+templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template"
+
+: "${SETLANG="env LANG= LC_TIME= LC_MESSAGES= LC_ALL= LANGUAGE="}"
+: "${MAKEINFO="makeinfo"}"
+: "${TEXI2DVI="texi2dvi"}"
+: "${DOCBOOK2HTML="docbook2html"}"
+: "${DOCBOOK2PDF="docbook2pdf"}"
+: "${DOCBOOK2TXT="docbook2txt"}"
+: "${GENDOCS_TEMPLATE_DIR="."}"
+: "${PERL="perl"}"
+: "${TEXI2HTML="texi2html"}"
 unset CDPATH
 unset use_texi2html
 
+MANUAL_TITLE=
+PACKAGE=
+EMAIL=webmasters@gnu.org  # please override with --email
+commonarg= # passed to all makeinfo/texi2html invocations.
+dirargs=   # passed to all tools (-I dir).
+dirs=      # -I directories.
+htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual"
+default_htmlarg=true
+infoarg=--no-split
+generate_ascii=true
+generate_html=true
+generate_info=true
+generate_tex=true
+outdir=manual
+source_extra=
+split=node
+srcfile=
+texarg="-t @finalout"
+
 version="gendocs.sh $scriptversion
 
-Copyright 2010 Free Software Foundation, Inc.
+Copyright 2024 Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
 
 usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE
 
-Generate various output formats from PACKAGE.texinfo (or .texi or .txi) source.
-See the GNU Maintainers document for a more extensive discussion:
-  http://www.gnu.org/prep/maintain_toc.html
+Generate output in various formats from PACKAGE.texinfo (or .texi or
+.txi) source.  See the GNU Maintainers document for a more extensive
+discussion:
+  https://www.gnu.org/prep/maintain_toc.html
 
 Options:
-  -s SRCFILE  read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
-  -o OUTDIR   write files into OUTDIR, instead of manual/.
-  --email ADR use ADR as contact in generated web pages.
-  --docbook   convert to DocBook too (xml, txt, html, pdf and ps).
-  --html ARG  pass indicated ARG to makeinfo or texi2html for HTML targets.
-  --texi2html use texi2html to generate HTML targets.
-  --help      display this help and exit successfully.
-  --version   display version information and exit successfully.
+  --email ADR use ADR as contact in generated web pages; always give this.
+
+  -s SRCFILE   read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
+  -o OUTDIR    write files into OUTDIR, instead of manual/.
+  -I DIR       append DIR to the Texinfo search path.
+  --common ARG pass ARG in all invocations.
+  --html ARG   pass ARG to makeinfo or texi2html for HTML targets,
+                 instead of '$htmlarg'.
+  --info ARG   pass ARG to makeinfo for Info, instead of --no-split.
+  --no-ascii   skip generating the plain text output.
+  --no-html    skip generating the html output.
+  --no-info    skip generating the info output.
+  --no-tex     skip generating the dvi and pdf output.
+  --source ARG include ARG in tar archive of sources.
+  --split HOW  make split HTML by node, section, chapter; default node.
+  --tex ARG    pass ARG to texi2dvi for DVI and PDF, instead of -t @finalout.
+
+  --texi2html  use texi2html to make HTML target, with all split versions.
+  --docbook    convert through DocBook too (xml, txt, html, pdf).
+
+  --help       display this help and exit successfully.
+  --version    display version information and exit successfully.
 
 Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\"
 
@@ -80,12 +117,12 @@ Typical sequence:
   wget \"$templateurl\"
   $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\"
 
-Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR
-to override).  Move all the new files into your web CVS tree, as
-explained in the Web Pages node of maintain.texi.
+Output will be in a new subdirectory \"manual\" (by default;
+use -o OUTDIR to override).  Move all the new files into your web CVS
+tree, as explained in the Web Pages node of maintain.texi.
 
-Please use the --email ADDRESS option to specify your bug-reporting
-address in the generated HTML pages.
+Please use the --email ADDRESS option so your own bug-reporting
+address will be used in the generated HTML pages.
 
 MANUAL-TITLE is included as part of the HTML <title> of the overall
 manual/index.html file.  It should include the name of the package being
@@ -102,43 +139,44 @@ If a manual's Texinfo sources are spread across several directories,
 first copy or symlink all Texinfo sources into a single directory.
 (Part of the script's work is to make a tar.gz of the sources.)
 
-You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and
-DVIPS to control the programs that get executed, and
+As implied above, by default monolithic Info files are generated.
+If you want split Info, or other Info options, use --info to override.
+
+You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML,
+and PERL to control the programs that get executed, and
 GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is
 looked for.  With --docbook, the environment variables DOCBOOK2HTML,
-DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected.
+DOCBOOK2PDF, and DOCBOOK2TXT are also consulted.
 
 By default, makeinfo and texi2dvi are run in the default (English)
 locale, since that's the language of most Texinfo manuals.  If you
 happen to have a non-English manual and non-English web site, see the
 SETLANG setting in the source.
 
-Email bug reports or enhancement requests to bug-texinfo@gnu.org.
+Email bug reports or enhancement requests to bug-gnulib@gnu.org.
 "
 
-calcsize()
-{
-  size=`ls -ksl $1 | awk '{print $1}'`
-  echo $size
-}
-
-MANUAL_TITLE=
-PACKAGE=
-EMAIL=webmasters@gnu.org  # please override with --email
-htmlarg=
-outdir=manual
-srcfile=
-
 while test $# -gt 0; do
   case $1 in
-    --email) shift; EMAIL=$1;;
-    --help) echo "$usage"; exit 0;;
-    --version) echo "$version"; exit 0;;
-    -s) shift; srcfile=$1;;
-    -o) shift; outdir=$1;;
-    --docbook) docbook=yes;;
-    --html) shift; htmlarg=$1;;
+    -s)          shift; srcfile=$1;;
+    -o)          shift; outdir=$1;;
+    -I)          shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";;
+    --common)    shift; commonarg=$1;;
+    --docbook)   docbook=yes;;
+    --email)     shift; EMAIL=$1;;
+    --html)      shift; default_htmlarg=false; htmlarg=$1;;
+    --info)      shift; infoarg=$1;;
+    --no-ascii)  generate_ascii=false;;
+    --no-html)   generate_ascii=false;;
+    --no-info)   generate_info=false;;
+    --no-tex)    generate_tex=false;;
+    --source)    shift; source_extra=$1;;
+    --split)     shift; split=$1;;
+    --tex)       shift; texarg=$1;;
     --texi2html) use_texi2html=1;;
+
+    --help)      echo "$usage"; exit 0;;
+    --version)   echo "$version"; exit 0;;
     -*)
       echo "$0: Unknown option \`$1'." >&2
       echo "$0: Try \`--help' for more information." >&2
@@ -156,9 +194,17 @@ while test $# -gt 0; do
   shift
 done
 
+# makeinfo uses the dirargs, but texi2dvi doesn't.
+commonarg=" $dirargs $commonarg"
+
 # For most of the following, the base name is just $PACKAGE
 base=$PACKAGE
 
+if $default_htmlarg && test -n "$use_texi2html"; then
+  # The legacy texi2html doesn't support TOP_NODE_UP_URL
+  htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css"
+fi
+
 if test -n "$srcfile"; then
   # but here, we use the basename of $srcfile
   base=`basename "$srcfile"`
@@ -183,57 +229,119 @@ if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then
   exit 1
 fi
 
+# Function to return size of $1 in something resembling kilobytes.
+calcsize()
+{
+  size=`ls -ksl $1 | awk '{print $1}'`
+  echo $size
+}
+
+# copy_images OUTDIR HTML-FILE...
+# -------------------------------
+# Copy all the images needed by the HTML-FILEs into OUTDIR.
+# Look for them in . and the -I directories; this is simpler than what
+# makeinfo supports with -I, but hopefully it will suffice.
+copy_images()
+{
+  local odir
+  odir=$1
+  shift
+  $PERL -n -e "
+BEGIN {
+  \$me = '$prog';
+  \$odir = '$odir';
+  @dirs = qw(. $dirs);
+}
+" -e '
+/<img src="(.*?)"/g && ++$need{$1};
+
+END {
+  #print "$me: @{[keys %need]}\n";  # for debugging, show images found.
+  FILE: for my $f (keys %need) {
+    for my $d (@dirs) {
+      if (-f "$d/$f") {
+        use File::Basename;
+        my $dest = dirname ("$odir/$f");
+        #
+        use File::Path;
+        -d $dest || mkpath ($dest)
+          || die "$me: cannot mkdir $dest: $!\n";
+        #
+        use File::Copy;
+        copy ("$d/$f", $dest)
+          || die "$me: cannot copy $d/$f to $dest: $!\n";
+        next FILE;
+      }
+    }
+    die "$me: $ARGV: cannot find image $f\n";
+  }
+}
+' -- "$@" || exit 1
+}
+
 case $outdir in
   /*) abs_outdir=$outdir;;
   *)  abs_outdir=$srcdir/$outdir;;
 esac
 
-echo Generating output formats for $srcfile
-
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.info \"$srcfile\""
-echo "Generating info files... ($cmd)"
-eval "$cmd"
+echo "Making output for $srcfile"
+echo " in `pwd`"
 mkdir -p "$outdir/"
-tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
-info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
-# do not mv the info files, there's no point in having them available
-# separately on the web.
-
-cmd="$SETLANG ${TEXI2DVI} \"$srcfile\""
-echo "Generating dvi ... ($cmd)"
-eval "$cmd"
-
-# now, before we compress dvi:
-echo Generating postscript...
-${DVIPS} $PACKAGE -o
-gzip -f -9 $PACKAGE.ps
-ps_gz_size=`calcsize $PACKAGE.ps.gz`
-mv $PACKAGE.ps.gz "$outdir/"
-
-# compress/finish dvi:
-gzip -f -9 $PACKAGE.dvi
-dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
-mv $PACKAGE.dvi.gz "$outdir/"
-
-cmd="$SETLANG ${TEXI2DVI} --pdf \"$srcfile\""
-echo "Generating pdf ... ($cmd)"
-eval "$cmd"
-pdf_size=`calcsize $PACKAGE.pdf`
-mv $PACKAGE.pdf "$outdir/"
-
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.txt --no-split --no-headers \"$srcfile\""
-echo "Generating ASCII... ($cmd)"
-eval "$cmd"
-ascii_size=`calcsize $PACKAGE.txt`
-gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
-ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
-mv $PACKAGE.txt "$outdir/"
 
+# \f
+if $generate_info; then
+  cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
+  echo "Generating info... ($cmd)"
+  rm -f $PACKAGE.info* # get rid of any strays
+  eval "$cmd"
+  tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
+  ls -l "$outdir/$PACKAGE.info.tar.gz"
+  info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
+  # do not mv the info files, there's no point in having them available
+  # separately on the web.
+fi  # end info
+
+# \f
+if $generate_tex; then
+  cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\""
+  printf "\nGenerating dvi... (%s)\n" "$cmd"
+  eval "$cmd"
+  # compress/finish dvi:
+  gzip -f -9 $PACKAGE.dvi
+  dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
+  mv $PACKAGE.dvi.gz "$outdir/"
+  ls -l "$outdir/$PACKAGE.dvi.gz"
+
+  cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\""
+  printf "\nGenerating pdf... (%s)\n" "$cmd"
+  eval "$cmd"
+  pdf_size=`calcsize $PACKAGE.pdf`
+  mv $PACKAGE.pdf "$outdir/"
+  ls -l "$outdir/$PACKAGE.pdf"
+fi # end tex (dvi + pdf)
+
+# \f
+if $generate_ascii; then
+  opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
+  printf "\nGenerating ascii... (%s)\n" "$cmd"
+  eval "$cmd"
+  ascii_size=`calcsize $PACKAGE.txt`
+  gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
+  ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
+  mv $PACKAGE.txt "$outdir/"
+  ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz"
+fi
+
+# \f
+
+if $generate_html; then
+# Split HTML at level $1.  Used for texi2html.
 html_split()
 {
-  opt="--split=$1 $htmlarg --node-files"
+  opt="--split=$1 --node-files $commonarg $htmlarg"
   cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\""
-  echo "Generating html by $1... ($cmd)"
+  printf "\nGenerating html by %s... (%s)\n" "$1" "$cmd"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
   (
@@ -249,32 +357,48 @@ html_split()
 }
 
 if test -z "$use_texi2html"; then
-  opt="--no-split --html -o $PACKAGE.html $htmlarg"
+  opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
-  echo "Generating monolithic html... ($cmd)"
+  printf "\nGenerating monolithic html... (%s)\n" "$cmd"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
   html_mono_size=`calcsize $PACKAGE.html`
   gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
   html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
+  copy_images "$outdir/" $PACKAGE.html
   mv $PACKAGE.html "$outdir/"
-
-  cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\""
-  echo "Generating html by node... ($cmd)"
+  ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz"
+
+  # Before Texinfo 5.0, makeinfo did not accept a --split=HOW option,
+  # it just always split by node.  So if we're splitting by node anyway,
+  # leave it out.
+  if test "x$split" = xnode; then
+    split_arg=
+  else
+    split_arg=--split=$split
+  fi
+  #
+  opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
+  printf "\nGenerating html by %s... (%s)\n" "$split" "$cmd"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
+  copy_images $split_html_dir/ $split_html_dir/*.html
   (
-   cd ${split_html_dir} || exit 1
-   tar -czf "$abs_outdir/${PACKAGE}.html_node.tar.gz" -- *.html
+    cd $split_html_dir || exit 1
+    tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- *
   )
-  html_node_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node.tar.gz"`
-  rm -f "$outdir"/html_node/*.html
-  mkdir -p "$outdir/html_node/"
-  mv ${split_html_dir}/*.html "$outdir/html_node/"
-  rmdir ${split_html_dir}
-else
-  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\""
-  echo "Generating monolithic html... ($cmd)"
+  eval \
+    html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"`
+  rm -rf "$outdir/html_$split/"
+  mv $split_html_dir "$outdir/html_$split/"
+  du -s "$outdir/html_$split/"
+  ls -l "$outdir/$PACKAGE.html_$split.tar.gz"
+
+else # use texi2html:
+  opt="--output $PACKAGE.html $commonarg $htmlarg"
+  cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\""
+  printf "\nGenerating monolithic html with texi2html... (%s)\n" "$cmd"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
   html_mono_size=`calcsize $PACKAGE.html`
@@ -286,19 +410,25 @@ else
   html_split chapter
   html_split section
 fi
+fi # end html
 
-echo Making .tar.gz for sources...
+# \f
+printf "\nMaking .tar.gz for sources...\n"
 d=`dirname $srcfile`
 (
   cd "$d"
-  srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null` || true
-  tar cvzfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
+  srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true
+  tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
+  ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
 )
 texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
 
+# \f
+# Do everything again through docbook.
 if test -n "$docbook"; then
-  cmd="$SETLANG $MAKEINFO -o - --docbook \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml"
-  echo "Generating docbook XML... ($cmd)"
+  opt="-o - --docbook $commonarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
+  printf "\nGenerating docbook XML... (%s)\n" "$cmd"
   eval "$cmd"
   docbook_xml_size=`calcsize $PACKAGE-db.xml`
   gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz"
@@ -306,8 +436,9 @@ if test -n "$docbook"; then
   mv $PACKAGE-db.xml "$outdir/"
 
   split_html_db_dir=html_node_db
-  cmd="${DOCBOOK2HTML} -o $split_html_db_dir \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook HTML... ($cmd)"
+  opt="$commonarg -o $split_html_db_dir"
+  cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook HTML... (%s)\n" "$cmd"
   eval "$cmd"
   (
     cd ${split_html_db_dir} || exit 1
@@ -319,33 +450,43 @@ if test -n "$docbook"; then
   mv ${split_html_db_dir}/*.html "$outdir/html_node_db/"
   rmdir ${split_html_db_dir}
 
-  cmd="${DOCBOOK2TXT} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook ASCII... ($cmd)"
+  cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook ASCII... (%s)\n" "$cmd"
   eval "$cmd"
   docbook_ascii_size=`calcsize $PACKAGE-db.txt`
   mv $PACKAGE-db.txt "$outdir/"
 
-  cmd="${DOCBOOK2PS} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook PS... ($cmd)"
-  eval "$cmd"
-  gzip -f -9 -c $PACKAGE-db.ps >"$outdir/$PACKAGE-db.ps.gz"
-  docbook_ps_gz_size=`calcsize "$outdir/$PACKAGE-db.ps.gz"`
-  mv $PACKAGE-db.ps "$outdir/"
-
-  cmd="${DOCBOOK2PDF} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook PDF... ($cmd)"
+  cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook PDF... (%s)\n" "$cmd"
   eval "$cmd"
   docbook_pdf_size=`calcsize $PACKAGE-db.pdf`
   mv $PACKAGE-db.pdf "$outdir/"
 fi
 
-echo "Writing index file..."
+# \f
+printf "\nMaking index.html for %s...\n" "$PACKAGE"
 if test -z "$use_texi2html"; then
-   CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
-          /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
+  if test x$split = xnode; then
+    CONDS="/%%IF  *HTML_NODE%%/d;/%%ENDIF  *HTML_NODE%%/d;\
+           /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d;\
+           /%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;"
+  elif test x$split = xchapter; then
+    CONDS="/%%IF  *HTML_CHAPTER%%/d;/%%ENDIF  *HTML_CHAPTER%%/d;\
+           /%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
+           /%%IF  *HTML_NODE%%/,/%%ENDIF  *HTML_NODE%%/d;"
+  elif test x$split = xsection; then
+    CONDS="/%%IF  *HTML_SECTION%%/d;/%%ENDIF  *HTML_SECTION%%/d;\
+           /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d;\
+           /%%IF  *HTML_NODE%%/,/%%ENDIF  *HTML_NODE%%/d;"
+  else
+    CONDS="/%%IF.*%%/d;/%%ENDIF.*%%/d;" # invalid split argument
+  fi
 else
-   CONDS="/%%ENDIF.*%%/d;/%%IF  *HTML_SECTION%%/d;/%%IF  *HTML_CHAPTER%%/d"
+  # for texi2html, we do not take account of --split and simply output
+  # all variants
+  CONDS="/%%IF.*%%/d;/%%ENDIF.*%%/d;"
 fi
+
 curdate=`$SETLANG date '+%B %d, %Y'`
 sed \
    -e "s!%%TITLE%%!$MANUAL_TITLE!g" \
@@ -360,13 +501,11 @@ sed \
    -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \
    -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \
    -e "s!%%PDF_SIZE%%!$pdf_size!g" \
-   -e "s!%%PS_GZ_SIZE%%!$ps_gz_size!g" \
    -e "s!%%ASCII_SIZE%%!$ascii_size!g" \
    -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \
    -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \
    -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \
    -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \
-   -e "s!%%DOCBOOK_PS_GZ_SIZE%%!$docbook_ps_gz_size!g" \
    -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \
    -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \
    -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \
@@ -378,7 +517,7 @@ $GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html"
 echo "Done, see $outdir/ subdirectory for new files."
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-end: "$"
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
new file mode 100755 (executable)
index 0000000..aa168e1
--- /dev/null
@@ -0,0 +1,227 @@
+#!/bin/sh
+# Print a version string.
+scriptversion=2022-07-09.08; # UTC
+
+# Copyright (C) 2007-2024 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
+# 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 <https://www.gnu.org/licenses/>.
+
+# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/.
+# It may be run two ways:
+# - from a git repository in which the "git describe" command below
+#   produces useful output (thus requiring at least one signed tag)
+# - from a non-git-repo directory containing a .tarball-version file, which
+#   presumes this script is invoked like "./git-version-gen .tarball-version".
+
+# In order to use intra-version strings in your project, you will need two
+# separate generated version string files:
+#
+# .tarball-version - present only in a distribution tarball, and not in
+#   a checked-out repository.  Created with contents that were learned at
+#   the last time autoconf was run, and used by git-version-gen.  Must not
+#   be present in either $(srcdir) or $(builddir) for git-version-gen to
+#   give accurate answers during normal development with a checked out tree,
+#   but must be present in a tarball when there is no version control system.
+#   Therefore, it cannot be used in any dependencies.  GNUmakefile has
+#   hooks to force a reconfigure at distribution time to get the value
+#   correct, without penalizing normal development with extra reconfigures.
+#
+# .version - present in a checked-out repository and in a distribution
+#   tarball.  Usable in dependencies, particularly for files that don't
+#   want to depend on config.h but do want to track version changes.
+#   Delete this file prior to any autoconf run where you want to rebuild
+#   files to pick up a version string change; and leave it stale to
+#   minimize rebuild time after unrelated changes to configure sources.
+#
+# As with any generated file in a VC'd directory, you should add
+# /.version to .gitignore, so that you don't accidentally commit it.
+# .tarball-version is never generated in a VC'd directory, so needn't
+# be listed there.
+#
+# Use the following line in your configure.ac, so that $(VERSION) will
+# automatically be up-to-date each time configure is run (and note that
+# since configure.ac no longer includes a version string, Makefile rules
+# should not depend on configure.ac for version updates).
+#
+# AC_INIT([GNU project],
+#         m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+#         [bug-project@example])
+#
+# Then use the following lines in your Makefile.am, so that .version
+# will be present for dependencies, and so that .version and
+# .tarball-version will exist in distribution tarballs.
+#
+# EXTRA_DIST = $(top_srcdir)/.version
+# BUILT_SOURCES = $(top_srcdir)/.version
+# $(top_srcdir)/.version:
+#      echo '$(VERSION)' > $@-t
+#      mv $@-t $@
+# dist-hook:
+#      echo '$(VERSION)' > $(distdir)/.tarball-version
+
+
+me=$0
+
+year=`expr "$scriptversion" : '\([^-]*\)'`
+version="git-version-gen $scriptversion
+
+Copyright (C) ${year} Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law."
+
+usage="\
+Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT]
+Print a version string.
+
+Options:
+
+   --prefix PREFIX    prefix of git tags (default 'v')
+   --fallback VERSION
+                      fallback version to use if \"git --version\" fails
+
+   --help             display this help and exit
+   --version          output version information and exit
+
+Send patches and bug reports to <bug-gnulib@gnu.org>."
+
+prefix=v
+fallback=
+
+while test $# -gt 0; do
+  case $1 in
+    --help) echo "$usage"; exit 0;;
+    --version) echo "$version"; exit 0;;
+    --prefix) shift; prefix=${1?};;
+    --fallback) shift; fallback=${1?};;
+    -*)
+      echo "$0: Unknown option '$1'." >&2
+      echo "$0: Try '--help' for more information." >&2
+      exit 1;;
+    *)
+      if test "x$tarball_version_file" = x; then
+        tarball_version_file="$1"
+      elif test "x$tag_sed_script" = x; then
+        tag_sed_script="$1"
+      else
+        echo "$0: extra non-option argument '$1'." >&2
+        exit 1
+      fi;;
+  esac
+  shift
+done
+
+if test "x$tarball_version_file" = x; then
+    echo "$usage"
+    exit 1
+fi
+
+tag_sed_script="${tag_sed_script:-s/x/x/}"
+
+nl='
+'
+
+# Avoid meddling by environment variable of the same name.
+v=
+v_from_git=
+
+# First see if there is a tarball-only version file.
+# then try "git describe", then default.
+if test -f $tarball_version_file
+then
+    v=`cat $tarball_version_file` || v=
+    case $v in
+        *$nl*) v= ;; # reject multi-line output
+    esac
+    test "x$v" = x \
+        && echo "$0: WARNING: $tarball_version_file is damaged" 1>&2
+fi
+
+if test "x$v" != x
+then
+    : # use $v
+# Otherwise, if there is at least one git commit involving the working
+# directory, and "git describe" output looks sensible, use that to
+# derive a version string.
+elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
+    && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \
+          || git describe --abbrev=4 HEAD 2>/dev/null` \
+    && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
+    && case $v in
+         $prefix[0-9]*) ;;
+         *) (exit 1) ;;
+       esac
+then
+    # Is this a new git that lists number of commits since the last
+    # tag or the previous older version that did not?
+    #   Newer: v6.10-77-g0f8faeb
+    #   Older: v6.10-g0f8faeb
+    vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v
+    case $vprefix in
+        *-*) : git describe is probably okay three part flavor ;;
+        *)
+            : git describe is older two part flavor
+            # Recreate the number of commits and rewrite such that the
+            # result is the same as if we were using the newer version
+            # of git describe.
+            vtag=`echo "$v" | sed 's/-.*//'`
+            commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
+                || { commit_list=failed;
+                     echo "$0: WARNING: git rev-list failed" 1>&2; }
+            numcommits=`echo "$commit_list" | wc -l`
+            v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
+            test "$commit_list" = failed && v=UNKNOWN
+            ;;
+    esac
+
+    # Change the penultimate "-" to ".", for version-comparing tools.
+    # Remove the "g" to save a byte.
+    v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`;
+    v_from_git=1
+elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
+    v=UNKNOWN
+else
+    v=$fallback
+fi
+
+v=`echo "$v" |sed "s/^$prefix//"`
+
+# Test whether to append the "-dirty" suffix only if the version
+# string we're using came from git.  I.e., skip the test if it's "UNKNOWN"
+# or if it came from .tarball-version.
+if test "x$v_from_git" != x; then
+  # Don't declare a version "dirty" merely because a timestamp has changed.
+  git update-index --refresh > /dev/null 2>&1
+
+  dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
+  case "$dirty" in
+      '') ;;
+      *) # Append the suffix only if there isn't one already.
+          case $v in
+            *-dirty) ;;
+            *) v="$v-dirty" ;;
+          esac ;;
+  esac
+fi
+
+# Omit the trailing newline, so that m4_esyscmd can use the result directly.
+printf %s "$v"
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
new file mode 100755 (executable)
index 0000000..90e8173
--- /dev/null
@@ -0,0 +1,516 @@
+#!/bin/sh
+#! -*-perl-*-
+
+# Convert git log output to ChangeLog format.
+
+# Copyright (C) 2008-2024 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
+# 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 <https://www.gnu.org/licenses/>.
+#
+# Written by Jim Meyering
+
+# This is a prologue that allows to run a perl script as an executable
+# on systems that are compliant to a POSIX version before POSIX:2017.
+# On such systems, the usual invocation of an executable through execlp()
+# or execvp() fails with ENOEXEC if it is a script that does not start
+# with a #! line.  The script interpreter mentioned in the #! line has
+# to be /bin/sh, because on GuixSD systems that is the only program that
+# has a fixed file name.  The second line is essential for perl and is
+# also useful for editing this file in Emacs.  The next two lines below
+# are valid code in both sh and perl.  When executed by sh, they re-execute
+# the script through the perl program found in $PATH.  The '-x' option
+# is essential as well; without it, perl would re-execute the script
+# through /bin/sh.  When executed by perl, the next two lines are a no-op.
+eval 'exec perl -wSx "$0" "$@"'
+     if 0;
+
+my $VERSION = '2023-06-24 21:59'; # UTC
+# The definition above must lie within the first 8 lines in order
+# for the Emacs time-stamp write hook (at end) to update it.
+# If you change this file with Emacs, please let the write hook
+# do its job.  Otherwise, update this string manually.
+
+use strict;
+use warnings;
+use Getopt::Long;
+use POSIX qw(strftime);
+
+(my $ME = $0) =~ s|.*/||;
+
+# use File::Coda; # https://meyering.net/code/Coda/
+END {
+  defined fileno STDOUT or return;
+  close STDOUT and return;
+  warn "$ME: failed to close standard output: $!\n";
+  $? ||= 1;
+}
+
+sub usage ($)
+{
+  my ($exit_code) = @_;
+  my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
+  if ($exit_code != 0)
+    {
+      print $STREAM "Try '$ME --help' for more information.\n";
+    }
+  else
+    {
+      print $STREAM <<EOF;
+Usage: $ME [OPTIONS] [ARGS]
+
+Convert git log output to ChangeLog format.  If present, any ARGS
+are passed to "git log".  To avoid ARGS being parsed as options to
+$ME, they may be preceded by '--'.
+
+OPTIONS:
+
+   --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
+                  makes a change to SHA1's commit log text or metadata.
+   --append-dot append a dot to the first line of each commit message if
+                  there is no other punctuation or blank at the end.
+   --no-cluster never cluster commit messages under the same date/author
+                  header; the default is to cluster adjacent commit messages
+                  if their headers are the same and neither commit message
+                  contains multiple paragraphs.
+   --srcdir=DIR the root of the source tree, from which the .git/
+                  directory can be derived.
+   --since=DATE convert only the logs since DATE;
+                  the default is to convert all log entries.
+   --until=DATE convert only the logs older than DATE.
+   --ignore-matching=PAT ignore commit messages whose first lines match PAT.
+   --ignore-line=PAT ignore lines of commit messages that match PAT.
+   --format=FMT set format string for commit subject and body;
+                  see 'man git-log' for the list of format metacharacters;
+                  the default is '%s%n%b%n'
+   --strip-tab  remove one additional leading TAB from commit message lines.
+   --strip-cherry-pick  remove data inserted by "git cherry-pick";
+                  this includes the "cherry picked from commit ..." line,
+                  and the possible final "Conflicts:" paragraph.
+   --help       display this help and exit
+   --version    output version information and exit
+
+EXAMPLE:
+
+  $ME --since=2008-01-01 > ChangeLog
+  $ME -- -n 5 foo > last-5-commits-to-branch-foo
+
+SPECIAL SYNTAX:
+
+The following types of strings are interpreted specially when they appear
+at the beginning of a log message line.  They are not copied to the output.
+
+  Copyright-paperwork-exempt: Yes
+    Append the "(tiny change)" notation to the usual "date name email"
+    ChangeLog header to mark a change that does not require a copyright
+    assignment.
+  Co-authored-by: Joe User <user\@example.com>
+    List the specified name and email address on a second
+    ChangeLog header, denoting a co-author.
+  Signed-off-by: Joe User <user\@example.com>
+    These lines are simply elided.
+
+In a FILE specified via --amend, comment lines (starting with "#") are ignored.
+FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
+a line) referring to a commit in the current project, and CODE refers to one
+or more consecutive lines of Perl code.  Pairs must be separated by one or
+more blank line.
+
+Here is sample input for use with --amend=FILE, from coreutils:
+
+3a169f4c5d9159283548178668d2fae6fced3030
+# fix typo in title:
+s/all tile types/all file types/
+
+1379ed974f1fa39b12e2ffab18b3f7a607082202
+# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
+# Change the author to be Paul.  Note the escaped "@":
+s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
+
+EOF
+    }
+  exit $exit_code;
+}
+
+# If the string $S is a well-behaved file name, simply return it.
+# If it contains white space, quotes, etc., quote it, and return the new string.
+sub shell_quote($)
+{
+  my ($s) = @_;
+  if ($s =~ m![^\w+/.,-]!)
+    {
+      # Convert each single quote to '\''
+      $s =~ s/\'/\'\\\'\'/g;
+      # Then single quote the string.
+      $s = "'$s'";
+    }
+  return $s;
+}
+
+sub quoted_cmd(@)
+{
+  return join (' ', map {shell_quote $_} @_);
+}
+
+# Parse file F.
+# Comment lines (starting with "#") are ignored.
+# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
+# (alone on a line) referring to a commit in the current project, and
+# CODE refers to one or more consecutive lines of Perl code.
+# Pairs must be separated by one or more blank line.
+sub parse_amend_file($)
+{
+  my ($f) = @_;
+
+  open F, '<', $f
+    or die "$ME: $f: failed to open for reading: $!\n";
+
+  my $fail;
+  my $h = {};
+  my $in_code = 0;
+  my $sha;
+  while (defined (my $line = <F>))
+    {
+      $line =~ /^\#/
+        and next;
+      chomp $line;
+      $line eq ''
+        and $in_code = 0, next;
+
+      if (!$in_code)
+        {
+          $line =~ /^([[:xdigit:]]{40})$/
+            or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
+              $fail = 1, next;
+          $sha = lc $1;
+          $in_code = 1;
+          exists $h->{$sha}
+            and (warn "$ME: $f:$.: duplicate SHA1\n"),
+              $fail = 1, next;
+        }
+      else
+        {
+          $h->{$sha} ||= '';
+          $h->{$sha} .= "$line\n";
+        }
+    }
+  close F;
+
+  $fail
+    and exit 1;
+
+  return $h;
+}
+
+# git_dir_option $SRCDIR
+#
+# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
+# is undef).  Return as a list (0 or 1 element).
+sub git_dir_option($)
+{
+  my ($srcdir) = @_;
+  my @res = ();
+  if (defined $srcdir)
+    {
+      my $qdir = shell_quote $srcdir;
+      my $cmd = "cd $qdir && git rev-parse --show-toplevel";
+      my $qcmd = shell_quote $cmd;
+      my $git_dir = qx($cmd);
+      defined $git_dir
+        or die "$ME: cannot run $qcmd: $!\n";
+      $? == 0
+        or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
+      chomp $git_dir;
+      push @res, "--git-dir=$git_dir/.git";
+    }
+  @res;
+}
+
+{
+  my $since_date;
+  my $until_date;
+  my $format_string = '%s%n%b%n';
+  my $amend_file;
+  my $append_dot = 0;
+  my $cluster = 1;
+  my $ignore_matching;
+  my $ignore_line;
+  my $strip_tab = 0;
+  my $strip_cherry_pick = 0;
+  my $srcdir;
+  GetOptions
+    (
+     help => sub { usage 0 },
+     version => sub { print "$ME version $VERSION\n"; exit },
+     'since=s' => \$since_date,
+     'until=s' => \$until_date,
+     'format=s' => \$format_string,
+     'amend=s' => \$amend_file,
+     'append-dot' => \$append_dot,
+     'cluster!' => \$cluster,
+     'ignore-matching=s' => \$ignore_matching,
+     'ignore-line=s' => \$ignore_line,
+     'strip-tab' => \$strip_tab,
+     'strip-cherry-pick' => \$strip_cherry_pick,
+     'srcdir=s' => \$srcdir,
+    ) or usage 1;
+
+  defined $since_date
+    and unshift @ARGV, "--since=$since_date";
+  defined $until_date
+    and unshift @ARGV, "--until=$until_date";
+
+  # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
+  # that makes a correction in the log or attribution of that commit.
+  my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
+
+  my @cmd = ('git',
+             git_dir_option $srcdir,
+             qw(log --log-size),
+             '--pretty=format:%H:%ct  %an  <%ae>%n%n'.$format_string, @ARGV);
+  open PIPE, '-|', @cmd
+    or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
+            . "(Is your Git too old?  Version 1.5.1 or later is required.)\n");
+
+  my $prev_multi_paragraph;
+  my $prev_date_line = '';
+  my @prev_coauthors = ();
+  my @skipshas = ();
+  while (1)
+    {
+      defined (my $in = <PIPE>)
+        or last;
+      $in =~ /^log size (\d+)$/
+        or die "$ME:$.: Invalid line (expected log size):\n$in";
+      my $log_nbytes = $1;
+
+      my $log;
+      my $n_read = read PIPE, $log, $log_nbytes;
+      $n_read == $log_nbytes
+        or die "$ME:$.: unexpected EOF\n";
+
+      # Extract leading hash.
+      my ($sha, $rest) = split ':', $log, 2;
+      defined $sha
+        or die "$ME:$.: malformed log entry\n";
+      $sha =~ /^[[:xdigit:]]{40}$/
+        or die "$ME:$.: invalid SHA1: $sha\n";
+
+      my $skipflag = 0;
+      if (@skipshas)
+        {
+          foreach(@skipshas)
+            {
+              if ($sha =~ /^$_/)
+                {
+                  $skipflag = $_;
+                  last;
+                }
+            }
+        }
+
+      # If this commit's log requires any transformation, do it now.
+      my $code = $amend_code->{$sha};
+      if (defined $code)
+        {
+          eval 'use Safe';
+          my $s = new Safe;
+          # Put the unpreprocessed entry into "$_".
+          $_ = $rest;
+
+          # Let $code operate on it, safely.
+          my $r = $s->reval("$code")
+            or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
+
+          # Note that we've used this entry.
+          delete $amend_code->{$sha};
+
+          # Update $rest upon success.
+          $rest = $_;
+        }
+
+      # Remove lines inserted by "git cherry-pick".
+      if ($strip_cherry_pick)
+        {
+          $rest =~ s/^\s*Conflicts:\n.*//sm;
+          $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
+        }
+
+      my @line = split /[ \t]*\n/, $rest;
+      my $author_line = shift @line;
+      defined $author_line
+        or die "$ME:$.: unexpected EOF\n";
+      $author_line =~ /^(\d+)  (.*>)$/
+        or die "$ME:$.: Invalid line "
+          . "(expected date/author/email):\n$author_line\n";
+
+      # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
+      # '(tiny change)' annotation.
+      my $tiny = (grep (/^(?:Copyright-paperwork-exempt|Tiny-change):\s+[Yy]es$/, @line)
+                  ? '  (tiny change)' : '');
+
+      my $date_line = sprintf "%s  %s$tiny\n",
+        strftime ("%Y-%m-%d", localtime ($1)), $2;
+
+      my @coauthors = grep /^Co-authored-by:.*$/, @line;
+      # Omit meta-data lines we've already interpreted.
+      @line = grep !/^(?:Signed-off-by:[ ].*>$
+                       |Co-authored-by:[ ]
+                       |Copyright-paperwork-exempt:[ ]
+                       |Tiny-change:[ ]
+                       )/x, @line;
+
+      # Remove leading and trailing blank lines.
+      if (@line)
+        {
+          while ($line[0] =~ /^\s*$/) { shift @line; }
+          while ($line[$#line] =~ /^\s*$/) { pop @line; }
+        }
+
+      # Handle Emacs gitmerge.el "skipped" commits.
+      # Yes, this should be controlled by an option.  So sue me.
+      if ( grep /^(; )?Merge from /, @line )
+      {
+          my $found = 0;
+          foreach (@line)
+          {
+              if (grep /^The following commit.*skipped:$/, $_)
+              {
+                  $found = 1;
+                  ## Reset at each merge to reduce chance of false matches.
+                  @skipshas = ();
+                  next;
+              }
+              if ($found && $_ =~ /^([[:xdigit:]]{7,}) [^ ]/)
+              {
+                  push ( @skipshas, $1 );
+              }
+          }
+      }
+
+      # Ignore commits that match the --ignore-matching pattern, if specified.
+      if (defined $ignore_matching && @line && $line[0] =~ /$ignore_matching/)
+        {
+          $skipflag = 1;
+        }
+      elsif ($skipflag)
+        {
+          ## Perhaps only warn if a pattern matches more than once?
+          warn "$ME: warning: skipping $sha due to $skipflag\n";
+        }
+
+      if (! $skipflag)
+        {
+          if (defined $ignore_line && @line)
+            {
+              @line = grep ! /$ignore_line/, @line;
+              while ($line[$#line] =~ /^\s*$/) { pop @line; }
+            }
+
+          # Record whether there are two or more paragraphs.
+          my $multi_paragraph = grep /^\s*$/, @line;
+
+          # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
+          # standard multi-author ChangeLog format.
+          for (@coauthors)
+            {
+              s/^Co-authored-by:\s*/\t    /;
+              s/\s*</  </;
+
+              /<.*?@.*\..*>/
+                or warn "$ME: warning: missing email address for "
+                  . substr ($_, 5) . "\n";
+            }
+
+          # If clustering of commit messages has been disabled, if this header
+          # would be different from the previous date/name/etc. header,
+          # or if this or the previous entry consists of two or more paragraphs,
+          # then print the header.
+          if ( ! $cluster
+              || $date_line ne $prev_date_line
+              || "@coauthors" ne "@prev_coauthors"
+              || $multi_paragraph
+              || $prev_multi_paragraph)
+            {
+              $prev_date_line eq ''
+                or print "\n";
+              print $date_line;
+              @coauthors
+                and print join ("\n", @coauthors), "\n";
+            }
+          $prev_date_line = $date_line;
+          @prev_coauthors = @coauthors;
+          $prev_multi_paragraph = $multi_paragraph;
+
+          # If there were any lines
+          if (@line == 0)
+            {
+              warn "$ME: warning: empty commit message:\n"
+                   . "  commit $sha\n  $date_line\n";
+            }
+          else
+            {
+              if ($append_dot)
+                {
+                  # If the first line of the message has enough room, then
+                  if (length $line[0] < 72)
+                    {
+                      # append a dot if there is no other punctuation or blank
+                      # at the end.
+                      $line[0] =~ /[[:punct:]\s]$/
+                        or $line[0] .= '.';
+                    }
+                }
+
+              # Remove one additional leading TAB from each line.
+              $strip_tab
+                and map { s/^\t// } @line;
+
+              # Prefix each non-empty line with a TAB.
+              @line = map { length $_ ? "\t$_" : '' } @line;
+
+              print "\n", join ("\n", @line), "\n";
+            }
+        }
+
+      defined ($in = <PIPE>)
+        or last;
+      $in ne "\n"
+        and die "$ME:$.: unexpected line:\n$in";
+    }
+
+  close PIPE
+    or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
+  # FIXME-someday: include $PROCESS_STATUS in the diagnostic
+
+  # Complain about any unused entry in the --amend=F specified file.
+  my $fail = 0;
+  foreach my $sha (keys %$amend_code)
+    {
+      warn "$ME:$amend_file: unused entry: $sha\n";
+      $fail = 1;
+    }
+
+  exit $fail;
+}
+
+# Local Variables:
+# mode: perl
+# indent-tabs-mode: nil
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-line-limit: 50
+# time-stamp-start: "my $VERSION = '"
+# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "'; # UTC"
+# End:
diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update
new file mode 100755 (executable)
index 0000000..b51fc10
--- /dev/null
@@ -0,0 +1,216 @@
+#!/bin/sh
+# Run this after each non-alpha release, to update the web documentation at
+# https://www.gnu.org/software/$pkg/manual/
+
+VERSION=2023-09-11.20; # UTC
+
+# Copyright (C) 2009-2024 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
+# 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 <https://www.gnu.org/licenses/>.
+
+ME=$(basename "$0")
+warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
+die() { warn "$*"; exit 1; }
+
+help()
+{
+  cat <<EOF
+Usage: $ME
+
+Run this script from top_srcdir (no arguments) after each non-alpha
+release, to update the web documentation at
+https://www.gnu.org/software/\$pkg/manual/
+
+This script assumes you're using git for revision control, and
+requires a .prev-version file as well as a Makefile, from which it
+extracts the version number and package name, respectively.  Also, it
+assumes all documentation is in the doc/ sub-directory.
+
+Options:
+  -C, --builddir=DIR  location of (configured) Makefile (default: .)
+  -n, --dry-run       don't actually commit anything
+  -m, --mirror        remove out of date files from document server
+  -u, --user          the name of the CVS user on Savannah
+  --help              print this help, then exit
+  --version           print version number, then exit
+
+Report bugs and patches to <bug-gnulib@gnu.org>.
+EOF
+  exit
+}
+
+version()
+{
+  year=$(echo "$VERSION" | sed 's/[^0-9].*//')
+  cat <<EOF
+$ME $VERSION
+Copyright (C) $year Free Software Foundation, Inc,
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+EOF
+  exit
+}
+
+# find_tool ENVVAR NAMES...
+# -------------------------
+# Search for a required program.  Use the value of ENVVAR, if set,
+# otherwise find the first of the NAMES that can be run (i.e.,
+# supports --version).  If found, set ENVVAR to the program name,
+# die otherwise.
+#
+# FIXME: code duplication, see also bootstrap.
+find_tool ()
+{
+  find_tool_envvar=$1
+  shift
+  find_tool_names=$@
+  eval "find_tool_res=\$$find_tool_envvar"
+  if test x"$find_tool_res" = x; then
+    for i
+    do
+      if ($i --version </dev/null) >/dev/null 2>&1; then
+       find_tool_res=$i
+       break
+      fi
+    done
+  else
+    find_tool_error_prefix="\$$find_tool_envvar: "
+  fi
+  test x"$find_tool_res" != x \
+    || die "one of these is required: $find_tool_names"
+  ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
+    || die "${find_tool_error_prefix}cannot run $find_tool_res --version"
+  eval "$find_tool_envvar=\$find_tool_res"
+  eval "export $find_tool_envvar"
+}
+
+## ------ ##
+## Main.  ##
+## ------ ##
+
+# Requirements: everything required to bootstrap your package, plus
+# these.
+find_tool CVS cvs
+find_tool GIT git
+find_tool RSYNC rsync
+find_tool XARGS gxargs xargs
+
+builddir=.
+dryrun=
+rm_stale='echo'
+cvs_user="$USER"
+while test $# != 0
+do
+  # Handle --option=value by splitting apart and putting back on argv.
+  case $1 in
+    --*=*)
+      opt=$(echo "$1" | sed -e 's/=.*//')
+      val=$(echo "$1" | sed -e 's/[^=]*=//')
+      shift
+      set dummy "$opt" "$val" "$@"; shift
+      ;;
+  esac
+
+  case $1 in
+    --help|--version) ${1#--};;
+    -C|--builddir) shift; builddir=$1; shift ;;
+    -n|--dry-run) dryrun=echo; shift;;
+    -m|--mirror) rm_stale=''; shift;;
+    -u|--user) shift; cvs_user=$1; shift ;;
+    --*) die "unrecognized option: $1";;
+    *) break;;
+  esac
+done
+
+test $# = 0 \
+  || die "too many arguments"
+
+prev=.prev-version
+version=$(cat $prev) || die "no $prev file?"
+pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \
+  || die "no Makefile?"
+tmp_branch=web-doc-$version-$$
+current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}')
+
+cleanup()
+{
+  __st=$?
+  $dryrun rm -rf "$tmp"
+  $GIT checkout "$current_branch"
+  $GIT submodule update --recursive
+  $GIT branch -d $tmp_branch
+  exit $__st
+}
+trap cleanup EXIT
+trap 'exit $?' HUP INT PIPE TERM
+
+# We must build using sources for which --version reports the
+# just-released version number, not some string like 7.6.18-20761.
+# That version string propagates into all documentation.
+set -e
+$GIT checkout -b $tmp_branch v$version
+$GIT submodule update --recursive
+./bootstrap
+srcdir=$(pwd)
+cd "$builddir"
+builddir=$(pwd)
+  ./config.status --recheck
+  ./config.status
+  make
+  make web-manual
+cd "$srcdir"
+set +e
+
+tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1
+( cd $tmp \
+    && $CVS -d $cvs_user@cvs.savannah.gnu.org:/webcvs/$pkg co $pkg )
+$RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual
+
+(
+  cd $tmp/$pkg
+  test -d manual/CVS || $dryrun $CVS add -ko manual
+
+  cd manual
+
+  # Add all the files.  This is simpler than trying to add only the
+  # new ones because of new directories
+  # First add non empty dirs individually
+  find . -name CVS -prune -o -type d \! -empty -print             \
+    | $XARGS -n1 --no-run-if-empty -- $dryrun $CVS add -ko
+  # Now add all files
+  find . -name CVS -prune -o -type f -print             \
+    | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko
+
+  # Report/Remove stale files
+  #   excluding doc server specific files like CVS/* and .symlinks
+  if test -n "$rm_stale"; then
+    echo 'Consider the --mirror option if all of the manual is generated,' >&2
+    echo 'which will run `cvs remove` to remove stale files.' >&2
+  fi
+  { find . \( -name CVS -o -type f -name '.*' \) -prune -o -type f -print
+    (cd "$builddir"/doc/manual/ && find . -type f -print | sed p)
+  } | sort | uniq -u \
+    | $XARGS --no-run-if-empty -- ${rm_stale:-$dryrun} $CVS remove -f
+
+  $dryrun $CVS ci -m $version
+)
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "VERSION="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
index 40a59d3..298a676 100755 (executable)
@@ -1,13 +1,13 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2012-01-15.15; # UTC
+scriptversion=2022-01-27.18; # UTC
 
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2024 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
-# the Free Software Foundation; either version 3, or (at your option)
+# the Free Software Foundation; either version 2, or (at your option)
 # any later version.
 #
 # This program is distributed in the hope that it will be useful,
@@ -16,7 +16,7 @@ scriptversion=2012-01-15.15; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
 # The master copy of this file is maintained in the gnulib Git repository.
@@ -24,10 +24,34 @@ scriptversion=2012-01-15.15; # UTC
 
 set -e
 
-GPG='gpg --batch --no-tty'
+GPG=gpg
+# Choose the proper version of gpg, so as to avoid a
+# "gpg-agent is not available in this session" error
+# when gpg-agent is version 2 but gpg is still version 1.
+# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bin/gpg
+gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
+case "$gpg_agent_version" in
+  2.*)
+    gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'`
+    case "$gpg_version" in
+      1.*)
+        if (type gpg2) >/dev/null 2>/dev/null; then
+          # gpg2 is present.
+          GPG=gpg2
+        else
+          # gpg2 is missing. Ubuntu users should install the package 'gnupg2'.
+          echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2
+        fi
+        ;;
+    esac
+    ;;
+esac
+
+GPG="${GPG} --batch --no-tty"
 conffile=.gnuploadrc
 to=
 dry_run=false
+replace=
 symlink_files=
 delete_files=
 delete_symlinks=
@@ -38,9 +62,8 @@ nl='
 
 usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...]
 
-Sign all FILES, and process them at selected destinations according to CMD.
-<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
-explains further.
+Sign all FILES, and process them at the destinations specified with --to.
+If CMD is not given, it defaults to uploading.  See examples below.
 
 Commands:
   --delete                 delete FILES from destination
@@ -49,17 +72,18 @@ Commands:
   --                       treat the remaining arguments as files to upload
 
 Options:
-  --help                   print this help text and exit
-  --to DEST                specify one destination for FILES
+  --to DEST                specify a destination DEST for FILES
                            (multiple --to options are allowed)
   --user NAME              sign with key NAME
+  --replace                allow replacements of existing files
   --symlink-regex[=EXPR]   use sed script EXPR to compute symbolic link names
-  --dry-run                do nothing, show what would have been done
+  -n, --dry-run            do nothing, show what would have been done
+                           (including the constructed directive file)
   --version                output version information and exit
+  -h, --help               print this help text and exit
 
 If --symlink-regex is given without EXPR, then the link target name
 is created by replacing the version information with '-latest', e.g.:
-
   foo-1.3.4.tar.gz -> foo-latest.tar.gz
 
 Recognized destinations are:
@@ -77,6 +101,9 @@ in the current working directory, its contents are prepended to the
 actual command line options.  Use this to keep your defaults.  Comments
 (#) and empty lines in $conffile are allowed.
 
+<https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
+gives some further background.
+
 Examples:
 1. Upload foobar-1.0.tar.gz to ftp.gnu.org:
   gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz
@@ -89,25 +116,41 @@ Examples:
            --symlink-regex \\
            foobar-1.0.tar.gz foobar-1.0.tar.xz
 
-4. Upload foobar-0.9.90.tar.gz to two sites:
+4. Create a symbolic link foobar-latest.tar.gz -> foobar-1.0.tar.gz
+   and likewise for the corresponding .sig file:
+  gnupload --to ftp.gnu.org:foobar \\
+           --symlink foobar-1.0.tar.gz     foobar-latest.tar.gz \\
+                     foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig
+  or (equivalent):
+  gnupload --to ftp.gnu.org:foobar \\
+           --symlink foobar-1.0.tar.gz     foobar-latest.tar.gz \\
+           --symlink foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig
+
+5. Upload foobar-0.9.90.tar.gz to two sites:
   gnupload --to alpha.gnu.org:foobar \\
            --to sources.redhat.com:~ftp/pub/foobar \\
            foobar-0.9.90.tar.gz
 
-5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz
+6. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz
    (the -- terminates the list of files to delete):
   gnupload --to alpha.gnu.org:foobar \\
            --to sources.redhat.com:~ftp/pub/foobar \\
            --delete oopsbar-0.9.91.tar.gz \\
            -- foobar-0.9.91.tar.gz
 
-gnupload uses the ncftpput program to do the transfers; if you don't
+gnupload executes a program ncftpput to do the transfers; if you don't
 happen to have an ncftp package installed, the ncftpput-ftp script in
 the build-aux/ directory of the gnulib package
-(http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
+(https://savannah.gnu.org/projects/gnulib) may serve as a replacement.
 
 Send patches and bug reports to <bug-gnulib@gnu.org>."
 
+copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'`
+copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc.
+License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl.html>.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law."
+
 # Read local configuration file
 if test -r "$conffile"; then
   echo "$0: Reading configuration file $conffile"
@@ -121,7 +164,7 @@ while test -n "$1"; do
   -*)
     collect_var=
     case $1 in
-    --help)
+    -h | --help)
       echo "$usage"
       exit $?
       ;;
@@ -129,6 +172,12 @@ while test -n "$1"; do
       if test -z "$2"; then
         echo "$0: Missing argument for --to" 1>&2
         exit 1
+      elif echo "$2" | grep 'ftp-upload\.gnu\.org' >/dev/null; then
+        echo "$0: Use ftp.gnu.org:PKGNAME or alpha.gnu.org:PKGNAME" >&2
+        echo "$0: for the destination, not ftp-upload.gnu.org (which" >&2
+        echo "$0:  is used for direct ftp uploads, not with gnupload)." >&2
+        echo "$0: See --help and its examples if need be." >&2
+        exit 1
       else
         to="$to $2"
         shift
@@ -146,6 +195,9 @@ while test -n "$1"; do
     --delete)
       collect_var=delete_files
       ;;
+    --replace)
+      replace="replace: true"
+      ;;
     --rmsymlink)
       collect_var=delete_symlinks
       ;;
@@ -158,12 +210,13 @@ while test -n "$1"; do
     --symlink)
       collect_var=symlink_files
       ;;
-    --dry-run|-n)
+    -n | --dry-run)
       dry_run=:
       ;;
     --version)
       echo "gnupload $scriptversion"
-      exit $?
+      echo "$copyright"
+      exit 0
       ;;
     --)
       shift
@@ -236,6 +289,8 @@ fi
 
 # Make sure passphrase is not exported in the environment.
 unset passphrase
+unset passphrase_fd_0
+GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg}
 
 # Reset PATH to be sure that echo is a built-in.  We will later use
 # 'echo $passphrase' to output the passphrase, so it is important that
@@ -243,18 +298,21 @@ unset passphrase
 # listings with their arguments...).
 # Remember this script runs with 'set -e', so if echo is not built-in
 # it will exit now.
-PATH=/empty echo -n "Enter GPG passphrase: "
-stty -echo
-read -r passphrase
-stty echo
-echo
+if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else
+  PATH=/empty echo -n "Enter GPG passphrase: "
+  stty -echo
+  read -r passphrase
+  stty echo
+  echo
+  passphrase_fd_0="--passphrase-fd 0"
+fi
 
 if test $# -ne 0; then
   for file
   do
     echo "Signing $file ..."
     rm -f $file.sig
-    echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file
+    echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file
   done
 fi
 
@@ -270,7 +328,7 @@ filename: $3$stmt"
   fi
 
   cat >${2}.directive<<EOF
-version: 1.1
+version: 1.2
 directory: $1
 comment: gnupload v. $scriptversion$stmt
 EOF
@@ -312,12 +370,12 @@ upload ()
   case $dest in
     alpha.gnu.org:*)
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc
       ;;
     ftp.gnu.org:*)
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc
       ;;
     savannah.gnu.org:*)
@@ -336,16 +394,16 @@ upload ()
       destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'`
       destdir_topdir=`echo "$destdir" | sed 's,/.*,,'`
       mkdirective "$destdir_p1" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       for f in $files $base.directive.asc
       do
         echo put $f
-      done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir
+      done | $dbg sftp -b - download.gnu.org.ua:/incoming/$destdir_topdir
       ;;
     /*)
       dest_host=`echo "$dest" | sed 's,:.*,,'`
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg cp $files $base.directive.asc $dest_host
       ;;
     *)
@@ -393,6 +451,12 @@ do
   do
     echo "Uploading $file to $dest ..."
     stmt=
+    #
+    # allowing file replacement is all or nothing.
+    if test -n "$replace"; then stmt="$stmt
+$replace"
+    fi
+    #
     files="$file $file.sig"
     destdir=`echo $dest | sed 's/[^:]*://'`
     if test -n "$symlink_expr"; then
@@ -408,9 +472,9 @@ done
 exit 0
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 6781b98..7c56c9c 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2023-11-23.18; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,25 +35,21 @@ scriptversion=2009-04-28.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='  '
 nl='
 '
-IFS=" ""       $nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,22 +64,16 @@ mvprog=${MVPROG-mv}
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
 mode=0755
 
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
+
+backupsuffix=
 chgrpcmd=
 chmodcmd=$chmodprog
 chowncmd=
@@ -97,7 +87,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -114,19 +104,29 @@ Options:
      --version  display version info and exit.
 
   -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
+  -C            install only if different (preserve data modification time)
   -d            create directories instead of installing files.
   -g GROUP      $chgrpprog installed files to GROUP.
   -m MODE       $chmodprog installed files to MODE.
   -o USER       $chownprog installed files to USER.
+  -p            pass -p to $cpprog.
   -s            $stripprog installed files.
+  -S SUFFIX     attempt to back up existing files, with suffix SUFFIX.
   -t DIRECTORY  install into DIRECTORY.
   -T            report an error if DSTFILE is a directory.
 
 Environment variables override the default commands:
   CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
   RMPROG STRIPPROG
-"
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Report bugs to <bug-automake@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
 
 while test $# -ne 0; do
   case $1 in
@@ -137,42 +137,62 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-       shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-       case $mode in
-         *' '* | *'    '* | *'
-'*       | *'*'* | *'?'* | *'['*)
-           echo "$0: invalid mode: $mode" >&2
-           exit 1;;
-       esac
-       shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-       shift;;
+        shift;;
+
+    -p) cpprog="$cpprog -p";;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-       shift;;
+    -S) backupsuffix="$2"
+        shift;;
+
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)        shift
-       break;;
+    --) shift
+        break;;
 
-    -*)        echo "$0: invalid option: $1" >&2
-       exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -186,6 +206,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -194,13 +218,26 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -211,16 +248,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-       u_plus_rw=
+        u_plus_rw=
       else
-       u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-       u_plus_rw=
+        u_plus_rw=
       else
-       u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -228,9 +265,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -238,6 +275,10 @@ do
     dstdir=$dst
     test -d "$dstdir"
     dstdir_status=$?
+    # Don't chown directories that already exist.
+    if test $dstdir_status = 0; then
+      chowncmd=""
+    fi
   else
 
     # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@@ -252,185 +293,150 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
+    # If destination is a directory, append the input filename.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-       echo "$0: $dst_arg: Is a directory" >&2
-       exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
-      dst=$dstdir/`basename "$src"`
+      dstbase=`basename "$src"`
+      case $dst in
+       */) dst=$dst$dstbase;;
+       *)  dst=$dst/$dstbase;;
+      esac
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-       (dirname "$dst") 2>/dev/null ||
-       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-            X"$dst" : 'X\(//\)[^/]' \| \
-            X"$dst" : 'X\(//\)$' \| \
-            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-       echo X"$dst" |
-           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)[^/].*/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\).*/{
-                  s//\1/
-                  q
-                }
-                s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
   fi
 
+  case $dstdir in
+    */) dstdirslash=$dstdir;;
+    *)  dstdirslash=$dstdir/;;
+  esac
+
   obsolete_mkdir_used=false
 
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-       # Create intermediate dirs using mode 755 as modified by the umask.
-       # This is like FreeBSD 'install' as of 1997-10-28.
-       umask=`umask`
-       case $stripcmd.$umask in
-         # Optimize common cases.
-         *[2367][2367]) mkdir_umask=$umask;;
-         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-         *[0-7])
-           mkdir_umask=`expr $umask + 22 \
-             - $umask % 100 % 40 + $umask % 20 \
-             - $umask % 10 % 4 + $umask % 2
-           `;;
-         *) mkdir_umask=$umask,go-w;;
-       esac
-
-       # With -d, create the new directory with the user-specified mode.
-       # Otherwise, rely on $mkdir_umask.
-       if test -n "$dir_arg"; then
-         mkdir_mode=-m$mode
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+       # The $RANDOM variable is not portable (e.g., dash).  Use it
+       # here however when possible just to lower collision chance.
+       tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+       trap '
+         ret=$?
+         rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
+         exit $ret
+       ' 0
+
+       # Because "mkdir -p" follows existing symlinks and we likely work
+       # directly in world-writeable /tmp, make sure that the '$tmpdir'
+       # directory is successfully created first before we actually test
+       # 'mkdir -p'.
+       if (umask $mkdir_umask &&
+           $mkdirprog $mkdir_mode "$tmpdir" &&
+           exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+       then
+         if test -z "$dir_arg" || {
+              # Check for POSIX incompatibilities with -m.
+              # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+              # other-writable bit of parent directory when it shouldn't.
+              # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+              test_tmpdir="$tmpdir/a"
+              ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+              case $ls_ld_tmpdir in
+                d????-?r-*) different_mode=700;;
+                d????-?--*) different_mode=755;;
+                *) false;;
+              esac &&
+              $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+              }
+            }
+         then posix_mkdir=:
+         fi
+         rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
        else
-         mkdir_mode=
+         # Remove any dirs left behind by ancient mkdir implementations.
+         rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
        fi
-
-       posix_mkdir=false
-       case $umask in
-         *[123567][0-7][0-7])
-           # POSIX mkdir -p sets u+wx bits regardless of umask, which
-           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-           ;;
-         *)
-           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-           if (umask $mkdir_umask &&
-               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-           then
-             if test -z "$dir_arg" || {
-                  # Check for POSIX incompatibilities with -m.
-                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
-                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                  case $ls_ld_tmpdir in
-                    d????-?r-*) different_mode=700;;
-                    d????-?--*) different_mode=755;;
-                    *) false;;
-                  esac &&
-                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                  }
-                }
-             then posix_mkdir=:
-             fi
-             rmdir "$tmpdir/d" "$tmpdir"
-           else
-             # Remove any dirs left behind by ancient mkdir implementations.
-             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-           fi
-           trap '' 0;;
-       esac;;
+       trap '' 0;;
     esac
 
     if
       $posix_mkdir && (
-       umask $mkdir_umask &&
-       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
 
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # mkdir does not conform to POSIX,
       # or it failed possibly due to a race condition.  Create the
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-       /*) prefix='/';;
-       -*) prefix='./';;
-       *)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-       test -z "$d" && continue
-
-       prefix=$prefix$d
-       if test -d "$prefix"; then
-         prefixes=
-       else
-         if $posix_mkdir; then
-           (umask=$mkdir_umask &&
-            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-           # Don't fail if two instances are running concurrently.
-           test -d "$prefix" || exit 1
-         else
-           case $prefix in
-             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-             *) qprefix=$prefix;;
-           esac
-           prefixes="$prefixes '$qprefix'"
-         fi
-       fi
-       prefix=$prefix/
+        test X"$d" = X && continue
+
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask $mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-       # Don't fail if two instances are running concurrently.
-       (umask $mkdir_umask &&
-        eval "\$doit_exec \$mkdirprog $prefixes") ||
-         test -d "$dstdir" || exit 1
-       obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -443,14 +449,25 @@ do
   else
 
     # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
+    dsttmp=${dstdirslash}_inst.$$_
+    rmtmp=${dstdirslash}_rm.$$_
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 
     # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+    (umask $cp_umask &&
+     { test -z "$stripcmd" || {
+        # Create $dsttmp read-write so that cp doesn't create it read-only,
+        # which would cause strip to fail.
+        if test -z "$doit"; then
+          : >"$dsttmp" # No need to fork-exec 'touch'.
+        else
+          $doit touch "$dsttmp"
+        fi
+       }
+     } &&
+     $doit_exec $cpprog "$src" "$dsttmp") &&
 
     # and set any options; do chmod last to preserve setuid bits.
     #
@@ -465,20 +482,24 @@ do
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
       rm -f "$dsttmp"
     else
+      # If $backupsuffix is set, and the file being installed
+      # already exists, attempt a backup.  Don't worry if it fails,
+      # e.g., if mv doesn't support -f.
+      if test -n "$backupsuffix" && test -f "$dst"; then
+        $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+      fi
+
       # Rename the file to the real destination.
       $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
 
@@ -486,24 +507,24 @@ do
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-       # Now remove or move aside any old file at destination location.
-       # We try this two ways since rm can't unlink itself on some
-       # systems and the destination file might be busy for other
-       # reasons.  In this case, the final cleanup might fail but the new
-       # file should still install successfully.
-       {
-         test ! -f "$dst" ||
-         $doit $rmcmd -f "$dst" 2>/dev/null ||
-         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-         } ||
-         { echo "$0: cannot unlink or rename $dst" >&2
-           (exit 1); exit 1
-         }
-       } &&
-
-       # Now rename the file to the real destination.
-       $doit $mvcmd "$dsttmp" "$dst"
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
+
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
@@ -512,9 +533,9 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
old mode 100644 (file)
new mode 100755 (executable)
index c2852d8..540a92a
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
 
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:        $host
-#         shell:               $SHELL
-#         compiler:            $LTCC
-#         compiler flags:              $LTCFLAGS
-#         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
-#         automake:    $automake_version
-#         autoconf:    $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1ubuntu1"
-TIMESTAMP=""
-package_revision=1.3337
+VERSION="2.4.6 Debian-2.4.6-15build2"
+package_revision=2.4.6
 
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES 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/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+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
+  # Pre-4.2 versions of Zsh do 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
+  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
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
 
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-         export $lt_var
-         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+         export $_G_var
+         _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+         _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
        fi"
 done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
 
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp       $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
 
 
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+    _G_progs_list=$1
+    _G_check_func=$2
+    _G_PATH=${3-"$PATH"}
+
+    _G_path_prog_max=0
+    _G_path_prog_found=false
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+    for _G_dir in $_G_PATH; do
+      IFS=$_G_save_IFS
+      test -z "$_G_dir" && _G_dir=.
+      for _G_prog_name in $_G_progs_list; do
+        for _exeext in '' .EXE; do
+          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+          func_executable_p "$_G_path_prog" || continue
+          case `"$_G_path_prog" --version 2>&1` in
+            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+            *)     $_G_check_func $_G_path_prog
+                  func_path_progs_result=$func_check_prog_result
+                  ;;
+          esac
+          $_G_path_prog_found && break 3
+        done
+      done
+    done
+    IFS=$_G_save_IFS
+    test -z "$func_path_progs_result" && {
+      echo "no acceptable sed could be found in \$PATH" >&2
+      exit 1
+    }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+  for _G_i in 1 2 3 4 5 6 7; do
+    _G_sed_script=$_G_sed_script$nl$_G_sed_script
+  done
+  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+  _G_sed_script=
+
+  func_check_prog_sed ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo '' >> conftest.nl
+      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+  rm -f conftest.sed
+  SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+  func_check_prog_grep ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    _G_path_prog_max=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo 'GREP' >> conftest.nl
+      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+  GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables.  These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
 
 : ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS="  $lt_nl"
 
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
 
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-} # func_dirname may be replaced by extended shell implementation
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
 
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
 
-# func_basename file
-func_basename ()
-{
-    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
+# 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'
 
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-    # Extract subdirectory from the argument.
-    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same.  If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion.  Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+  s/$_G_bs4/&\\
+/g
+  s/^$_G_bs2$_G_dollar/$_G_bs&/
+  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+  s/\n//g"
 
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-    case ${2} in
-      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-    esac
-} # func_stripname may be replaced by extended shell implementation
 
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
 
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-               s@/\./@/@g
-               t dotsl
-               s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
 
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
 
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+#    debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
 
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
+# By convention, finish your script with:
+#
+#    exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
 
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
 
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
 
-# Make sure we have an absolute path for reexecution:
+# Make sure we have an absolute progpath for reexecution:
 case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)
-     progdir=$func_dirname_result
+     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
   *)
-     save_IFS="$IFS"
+     _G_IFS=$IFS
      IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
-       IFS="$save_IFS"
+       IFS=$_G_IFS
        test -x "$progdir/$progname" && break
      done
-     IFS="$save_IFS"
+     IFS=$_G_IFS
      test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
 
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
 
-# Standard options:
 opt_dry_run=false
-opt_help=false
 opt_quiet=false
 opt_verbose=false
-opt_warning=:
 
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
+# Categories 'all' and 'none' are always available.  Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
 
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
+# By default, display warnings according to 'opt_warning_types'.  Set
+# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
 
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
 
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
 
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
 
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
 
-    # bash bug again:
-    :
-}
 
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
 {
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
+    $debug_cmd
+
+    test -t 1 && {
+      # COLORTERM and USE_ANSI_COLORS environment variables take
+      # precedence, because most terminfo databases neglect to describe
+      # whether color sequences are supported.
+      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+      if test 1 = "$USE_ANSI_COLORS"; then
+        # Standard ANSI escape sequences
+        tc_reset='\e[0m'
+        tc_bold='\e[1m';   tc_standout='\e[7m'
+        tc_red='\e[31m';   tc_green='\e[32m'
+        tc_blue='\e[34m';  tc_cyan='\e[36m'
+      else
+        # Otherwise trust the terminfo database after all.
+        test -n "`tput sgr0 2>/dev/null`" && {
+          tc_reset=`tput sgr0`
+          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+          tc_standout=$tc_bold
+          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+        }
+      fi
+    }
 
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
+    require_term_colors=:
 }
-help="Try \`$progname --help' for more information."  ## default
 
 
-# func_grep expression filename
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+  # We should try to minimise forks, especially on Windows where they are
+  # unreasonably slow, so skip the feature probes when bash or zsh are
+  # being used:
+  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+    : ${_G_HAVE_ARITH_OP="yes"}
+    : ${_G_HAVE_XSI_OPS="yes"}
+    # The += operator was introduced in bash 3.1
+    case $BASH_VERSION in
+      [12].* | 3.0 | 3.0*) ;;
+      *)
+        : ${_G_HAVE_PLUSEQ_OP="yes"}
+        ;;
+    esac
+  fi
+
+  # _G_HAVE_PLUSEQ_OP
+  # Can be empty, in which case the shell is probed, "yes" if += is
+  # useable or anything else if it does not work.
+  test -z "$_G_HAVE_PLUSEQ_OP" \
+    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+    && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+  eval 'func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1+=\\ \$func_quote_for_eval_result"
+  }'
+else
+  func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+  }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
+#
+#   func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+    $debug_cmd
+
+    eval _G_current_value='`$ECHO $'$1'`'
+    _G_delim=`expr "$2" : '\(.\)'`
+
+    case $_G_delim$_G_current_value$_G_delim in
+      *"$2$_G_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+  test -z "$_G_HAVE_ARITH_OP" \
+    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+    && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+  eval 'func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=$(( $* ))
+  }'
+else
+  func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=`expr "$@"`
+  }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  # If this shell supports suffix pattern removal, then use it to avoid
+  # forking. Hide the definitions single quotes in case the shell chokes
+  # on unsupported syntax...
+  _b='func_basename_result=${1##*/}'
+  _d='case $1 in
+        */*) func_dirname_result=${1%/*}$2 ;;
+        *  ) func_dirname_result=$3        ;;
+      esac'
+
+else
+  # ...otherwise fall back to using sed.
+  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
+      if test "X$func_dirname_result" = "X$1"; then
+        func_dirname_result=$3
+      else
+        func_append func_dirname_result "$2"
+      fi'
+fi
+
+eval 'func_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+    $debug_cmd
+
+    '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+    '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    _G_infix=$1; shift
+    _G_indent=$_G_infix
+    _G_prefix="$progname: $_G_infix: "
+    _G_message=$*
+
+    # Strip color escape sequences before counting printable length
+    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+    do
+      test -n "$_G_tc" && {
+        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+      }
+    done
+    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
+
+    func_echo_infix_1_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_infix_1_IFS
+      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      _G_prefix=$_G_indent
+    done
+    IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    $debug_cmd
+
+    func_error "$*"
+    exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
 # Check whether EXPRESSION matches any line of FILENAME, without output.
 func_grep ()
 {
+    $debug_cmd
+
     $GREP "$1" "$2" >/dev/null 2>&1
 }
 
 
-# func_mkdir_p directory-path
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+  test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+  }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
 # Make sure the entire path to DIRECTORY-PATH is available.
 func_mkdir_p ()
 {
-    my_directory_path="$1"
-    my_dir_list=
+    $debug_cmd
+
+    _G_directory_path=$1
+    _G_dir_list=
 
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
 
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
+      # Protect directory names starting with '-'
+      case $_G_directory_path in
+        -*) _G_directory_path=./$_G_directory_path ;;
       esac
 
       # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
+      while test ! -d "$_G_directory_path"; do
         # ...make a list in topmost first order.  Use a colon delimited
        # list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
+        _G_dir_list=$_G_directory_path:$_G_dir_list
 
         # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
+        case $_G_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
       done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
 
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-       IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
+      func_mkdir_p_IFS=$IFS; IFS=:
+      for _G_dir in $_G_dir_list; do
+       IFS=$func_mkdir_p_IFS
+        # mkdir can fail with a 'File exist' error if two processes
         # try to create one of the directories concurrently.  Don't
         # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
+        $MKDIR "$_G_dir" 2>/dev/null || :
       done
-      IFS="$save_mkdir_p_IFS"
+      IFS=$func_mkdir_p_IFS
 
       # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
+      test -d "$_G_directory_path" || \
+        func_fatal_error "Failed to create '$1'"
     fi
 }
 
 
-# func_mktempdir [string]
+# func_mktempdir [BASENAME]
+# -------------------------
 # Make a temporary directory that won't clash with other running
 # libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
+# given, BASENAME is the basename for that directory.
 func_mktempdir ()
 {
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
+    $debug_cmd
 
-    if test "$opt_dry_run" = ":"; then
+    _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+    if test : = "$opt_dry_run"; then
       # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
+      _G_tmpdir=$_G_template-$$
     else
 
       # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
 
-      if test ! -d "$my_tmpdir"; then
+      if test ! -d "$_G_tmpdir"; then
         # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
+        _G_tmpdir=$_G_template-${RANDOM-0}$$
 
-        save_mktempdir_umask=`umask`
+        func_mktempdir_umask=`umask`
         umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
+        $MKDIR "$_G_tmpdir"
+        umask $func_mktempdir_umask
       fi
 
       # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+      test -d "$_G_tmpdir" || \
+        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
     fi
 
-    $ECHO "$my_tmpdir"
+    $ECHO "$_G_tmpdir"
 }
 
 
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
 {
-    case $1 in
-      *[\\\`\"\$]*)
-       func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
+    $debug_cmd
 
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+    # These SED scripts presuppose an absolute path with a trailing slash.
+    _G_pathcar='s|^/\([^/]*\).*$|\1|'
+    _G_pathcdr='s|^/[^/]*||'
+    _G_removedotparts=':dotsl
+               s|/\./|/|g
+               t dotsl
+               s|/\.$|/|'
+    _G_collapseslashes='s|/\{1,\}|/|g'
+    _G_finalslash='s|/*$|/|'
+
+    # Start from root dir and reassemble the path.
+    func_normal_abspath_result=
+    func_normal_abspath_tpath=$1
+    func_normal_abspath_altnamespace=
+    case $func_normal_abspath_tpath in
+      "")
+        # Empty path, that just means $cwd.
+        func_stripname '' '/' "`pwd`"
+        func_normal_abspath_result=$func_stripname_result
+        return
+        ;;
+      # The next three entries are used to spot a run of precisely
+      # two leading slashes without using negated character classes;
+      # we take advantage of case's first-match behaviour.
+      ///*)
+        # Unusual form of absolute path, do nothing.
+        ;;
+      //*)
+        # Not necessarily an ordinary path; POSIX reserves leading '//'
+        # and for example Cygwin uses it to access remote file shares
+        # over CIFS/SMB, so we conserve a leading double slash if found.
+        func_normal_abspath_altnamespace=/
+        ;;
+      /*)
+        # Absolute path, do nothing.
         ;;
       *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+        # Relative path, prepend $cwd.
+        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+        ;;
     esac
+
+    # Cancel out all the simple stuff to save iterations.  We also want
+    # the path to end with a slash for ease of parsing, so make sure
+    # there is one (and only one) here.
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+    while :; do
+      # Processed it all yet?
+      if test / = "$func_normal_abspath_tpath"; then
+        # If we ascended to the root using ".." the result may be empty now.
+        if test -z "$func_normal_abspath_result"; then
+          func_normal_abspath_result=/
+        fi
+        break
+      fi
+      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcar"`
+      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcdr"`
+      # Figure out what to do with it
+      case $func_normal_abspath_tcomponent in
+        "")
+          # Trailing empty path component, ignore it.
+          ;;
+        ..)
+          # Parent dir; strip last assembled component from result.
+          func_dirname "$func_normal_abspath_result"
+          func_normal_abspath_result=$func_dirname_result
+          ;;
+        *)
+          # Actual path component, append it.
+          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+          ;;
+      esac
+    done
+    # Restore leading double-slash if one was found on entry.
+    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+    $debug_cmd
+
+    $opt_quiet || func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+    $debug_cmd
+
+    func_relative_path_result=
+    func_normal_abspath "$1"
+    func_relative_path_tlibdir=$func_normal_abspath_result
+    func_normal_abspath "$2"
+    func_relative_path_tbindir=$func_normal_abspath_result
+
+    # Ascend the tree starting from libdir
+    while :; do
+      # check if we have found a prefix of bindir
+      case $func_relative_path_tbindir in
+        $func_relative_path_tlibdir)
+          # found an exact match
+          func_relative_path_tcancelled=
+          break
+          ;;
+        $func_relative_path_tlibdir*)
+          # found a matching prefix
+          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+          func_relative_path_tcancelled=$func_stripname_result
+          if test -z "$func_relative_path_result"; then
+            func_relative_path_result=.
+          fi
+          break
+          ;;
+        *)
+          func_dirname $func_relative_path_tlibdir
+          func_relative_path_tlibdir=$func_dirname_result
+          if test -z "$func_relative_path_tlibdir"; then
+            # Have to descend all the way to the root!
+            func_relative_path_result=../$func_relative_path_result
+            func_relative_path_tcancelled=$func_relative_path_tbindir
+            break
+          fi
+          func_relative_path_result=../$func_relative_path_result
+          ;;
+      esac
+    done
+
+    # Now calculate path; take care to avoid doubling-up slashes.
+    func_stripname '' '/' "$func_relative_path_result"
+    func_relative_path_result=$func_stripname_result
+    func_stripname '/' '/' "$func_relative_path_tcancelled"
+    if test -n "$func_stripname_result"; then
+      func_append func_relative_path_result "/$func_stripname_result"
+    fi
+
+    # Normalisation. If bindir is libdir, return '.' else relative path.
+    if test -n "$func_relative_path_result"; then
+      func_stripname './' '' "$func_relative_path_result"
+      func_relative_path_result=$func_stripname_result
+    fi
+
+    test -n "$func_relative_path_result" || func_relative_path_result=.
+
+    :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+#   i) func_quote_for_eval_result
+#      double-quoted, suitable for a subsequent eval
+#  ii) func_quote_for_eval_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.
+func_quote_for_eval ()
+{
+    $debug_cmd
+
+    func_quote_for_eval_unquoted_result=
+    func_quote_for_eval_result=
+    while test 0 -lt $#; do
+      case $1 in
+        *[\\\`\"\$]*)
+         _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+        *)
+          _G_unquoted_arg=$1 ;;
+      esac
+      if test -n "$func_quote_for_eval_unquoted_result"; then
+       func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+      else
+        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+      fi
+
+      case $_G_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \  ]*|*]*|"")
+          _G_quoted_arg=\"$_G_unquoted_arg\"
+          ;;
+        *)
+          _G_quoted_arg=$_G_unquoted_arg
+         ;;
+      esac
+
+      if test -n "$func_quote_for_eval_result"; then
+       func_append func_quote_for_eval_result " $_G_quoted_arg"
+      else
+        func_append func_quote_for_eval_result "$_G_quoted_arg"
+      fi
+      shift
+    done
 }
 
 
-# func_quote_for_expand arg
+# func_quote_for_expand ARG
+# -------------------------
 # Aesthetically quote ARG to be evaled later; same as above,
 # but do not quote variable references.
 func_quote_for_expand ()
 {
+    $debug_cmd
+
     case $1 in
       *[\\\`\"]*)
-       my_arg=`$ECHO "$1" | $SED \
-           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+       _G_arg=`$ECHO "$1" | $SED \
+           -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
-        my_arg="$1" ;;
+        _G_arg=$1 ;;
     esac
 
-    case $my_arg in
+    case $_G_arg in
       # Double-quote args containing shell metacharacters to delay
       # word splitting and command substitution for a subsequent eval.
       # Many Bourne shells cannot handle close brackets correctly
       # in scan sets, so we specify it separately.
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        my_arg="\"$my_arg\""
+        _G_arg=\"$_G_arg\"
         ;;
     esac
 
-    func_quote_for_expand_result="$my_arg"
+    func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_stripname ()
+  {
+    $debug_cmd
+
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary variable first.
+    func_stripname_result=$3
+    func_stripname_result=${func_stripname_result#"$1"}
+    func_stripname_result=${func_stripname_result%"$2"}
+  }'
+else
+  func_stripname ()
+  {
+    $debug_cmd
+
+    case $2 in
+      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+    esac
+  }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    func_quote_for_expand "$_G_cmd"
+    eval "func_notquiet $func_quote_for_expand_result"
+
+    $opt_dry_run || {
+      eval "$_G_cmd"
+      _G_status=$?
+      if test 0 -ne "$_G_status"; then
+       eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    $opt_quiet || {
+      func_quote_for_expand "$_G_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    $opt_dry_run || {
+      eval "$_G_user_locale
+           $_G_cmd"
+      _G_status=$?
+      eval "$_G_safe_locale"
+      if test 0 -ne "$_G_status"; then
+       eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+    $debug_cmd
+
+    case $1 in
+    [0-9]* | *[!a-zA-Z0-9_]*)
+      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+      ;;
+    * )
+      func_tr_sh_result=$1
+      ;;
+    esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $debug_cmd
+
+    $opt_verbose && func_echo "$*"
+
+    :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+    $debug_cmd
+
+    # CATEGORY must be in the warning_categories list!
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category '$1'" ;;
+    esac
+
+    _G_category=$1
+    shift
+
+    case " $opt_warning_types " in
+      *" $_G_category "*) $warning_func ${1+"$@"} ;;
+    esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+    $debug_cmd
+
+    printf '%s\n%s\n' "$1" "$2" \
+      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false.  Use it like this:
+#
+#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+    $debug_cmd
+
+    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2015-10-07.11; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+#   #!/bin/sh
+#   . relative/path/to/funclib.sh
+#   . relative/path/to/options-parser
+#   scriptversion=1.0
+#   func_options ${1+"$@"}
+#   eval set dummy "$func_options_result"; shift
+#   ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'.  Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+       --debug        enable verbose shell tracing
+   -W, --warnings=CATEGORY
+                      report the warnings falling in CATEGORY [all]
+   -v, --verbose      verbosely report processing
+       --version      print version information and exit
+   -h, --help         print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+       'all'          show all warnings
+       'none'         turn off all the warnings
+       'error'        warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    _G_rc_run_hooks=false
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+    esac
+
+    eval _G_hook_fns=\$$1_hooks; shift
+
+    for _G_hook in $_G_hook_fns; do
+      if eval $_G_hook '"$@"'; then
+        # store returned options list back into positional
+        # parameters for next 'cmd' execution.
+        eval _G_hook_result=\$${_G_hook}_result
+        eval set dummy "$_G_hook_result"; shift
+        _G_rc_run_hooks=:
+      fi
+    done
+
+    $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, you may remove/edit
+# any options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'.  In this case you also must return $EXIT_SUCCESS to let the
+# hook's caller know that it should pay attention to
+# '<hooked_function_name>_result'.  Returning $EXIT_FAILURE signalizes that
+# arguments are left untouched by the hook and therefore caller will ignore the
+# result variable.
+#
+# Like this:
+#
+#    my_options_prep ()
+#    {
+#        $debug_cmd
+#
+#        # Extend the existing usage message.
+#        usage_message=$usage_message'
+#      -s, --silent       don'\''t print informational messages
+#    '
+#        # No change in '$@' (ignored completely by this hook).  There is
+#        # no need to do the equivalent (but slower) action:
+#        # func_quote_for_eval ${1+"$@"}
+#        # my_options_prep_result=$func_quote_for_eval_result
+#        false
+#    }
+#    func_add_hook func_options_prep my_options_prep
+#
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        args_changed=false
+#
+#        # Note that for efficiency, we parse as many options as we can
+#        # recognise in a loop before passing the remainder back to the
+#        # caller on the first unrecognised argument we encounter.
+#        while test $# -gt 0; do
+#          opt=$1; shift
+#          case $opt in
+#            --silent|-s) opt_silent=:
+#                         args_changed=:
+#                         ;;
+#            # Separate non-argument short options:
+#            -s*)         func_split_short_opt "$_G_opt"
+#                         set dummy "$func_split_short_opt_name" \
+#                             "-$func_split_short_opt_arg" ${1+"$@"}
+#                         shift
+#                         args_changed=:
+#                         ;;
+#            *)           # Make sure the first unrecognised option "$_G_opt"
+#                         # is added back to "$@", we could need that later
+#                         # if $args_changed is true.
+#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+#          esac
+#        done
+#
+#        if $args_changed; then
+#          func_quote_for_eval ${1+"$@"}
+#          my_silent_option_result=$func_quote_for_eval_result
+#        fi
+#
+#        $args_changed
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+#
+#    my_option_validation ()
+#    {
+#        $debug_cmd
+#
+#        $opt_silent && $opt_verbose && func_fatal_help "\
+#    '--silent' and '--verbose' options are mutually exclusive."
+#
+#        false
+#    }
+#    func_add_hook func_validate_options my_option_validation
+#
+# You'll also need to manually amend $usage_message to reflect the extra
+# options you parse.  It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+    $debug_cmd
+
+    _G_func_options_finish_exit=false
+    if func_run_hooks func_options ${1+"$@"}; then
+      func_options_finish_result=$func_run_hooks_result
+      _G_func_options_finish_exit=:
+    fi
+
+    $_G_func_options_finish_exit
 }
 
 
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    _G_rc_options=false
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
+    for my_func in options_prep parse_options validate_options options_finish
+    do
+      if eval func_$my_func '${1+"$@"}'; then
+        eval _G_res_var='$'"func_${my_func}_result"
+        eval set dummy "$_G_res_var" ; shift
+        _G_rc_options=:
       fi
+    done
+
+    # Save modified positional parameters for caller.  As a top-level
+    # options-parser function we always need to set the 'func_options_result'
+    # variable (regardless the $_G_rc_options value).
+    if $_G_rc_options; then
+      func_options_result=$_G_res_var
+    else
+      func_quote_for_eval ${1+"$@"}
+      func_options_result=$func_quote_for_eval_result
     fi
+
+    $_G_rc_options
 }
 
 
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propagate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
+func_hookable func_options_prep
+func_options_prep ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    # Option defaults:
+    opt_verbose=false
+    opt_warning_types=
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-           $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
-      fi
+    _G_rc_options_prep=false
+    if func_run_hooks func_options_prep ${1+"$@"}; then
+      _G_rc_options_prep=:
+      # save modified positional parameters for caller
+      func_options_prep_result=$func_run_hooks_result
     fi
+
+    $_G_rc_options_prep
 }
 
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
 {
-  case $1 in
-  [0-9]* | *[!a-zA-Z0-9_]*)
-    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-    ;;
-  * )
-    func_tr_sh_result=$1
-    ;;
-  esac
+    $debug_cmd
+
+    func_parse_options_result=
+
+    _G_rc_parse_options=false
+    # this just eases exit handling
+    while test $# -gt 0; do
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      if func_run_hooks func_parse_options ${1+"$@"}; then
+        eval set dummy "$func_run_hooks_result"; shift
+        _G_rc_parse_options=:
+      fi
+
+      # Break out of the loop if we already parsed every option.
+      test $# -gt 0 || break
+
+      _G_match_parse_options=:
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                      set dummy --warnings none ${1+"$@"}
+                      shift
+                     ;;
+
+        --warnings|--warning|-W)
+                      if test $# = 0 && func_missing_arg $_G_opt; then
+                        _G_rc_parse_options=:
+                        break
+                      fi
+                      case " $warning_categories $1" in
+                        *" $1 "*)
+                          # trailing space prevents matching last $1 above
+                          func_append_uniq opt_warning_types " $1"
+                          ;;
+                        *all)
+                          opt_warning_types=$warning_categories
+                          ;;
+                        *none)
+                          opt_warning_types=none
+                          warning_func=:
+                          ;;
+                        *error)
+                          opt_warning_types=$warning_categories
+                          warning_func=func_fatal_error
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "unsupported warning category: '$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --verbose|-v) opt_verbose=: ;;
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+       # Separate optargs to long options (plugins may need this):
+       --*=*)        func_split_equals "$_G_opt"
+                     set dummy "$func_split_equals_lhs" \
+                          "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+       # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-v*|-x*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           _G_rc_parse_options=: ; break ;;
+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift
+                      _G_match_parse_options=false
+                      break
+                      ;;
+      esac
+
+      $_G_match_parse_options && _G_rc_parse_options=:
+    done
+
+
+    if $_G_rc_parse_options; then
+      # save modified positional parameters for caller
+      func_quote_for_eval ${1+"$@"}
+      func_parse_options_result=$func_quote_for_eval_result
+    fi
+
+    $_G_rc_parse_options
 }
 
 
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/(C)/!b go
-       :more
-       /\./!{
-         N
-         s/\n# / /
-         b more
-       }
-       :go
-       /^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-       s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
+    _G_rc_validate_options=false
+
+    # Display all warnings if -W was not given.
+    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+    if func_run_hooks func_validate_options ${1+"$@"}; then
+      # save modified positional parameters for caller
+      func_validate_options_result=$func_run_hooks_result
+      _G_rc_validate_options=:
+    fi
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    $_G_rc_validate_options
 }
 
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-       s/^# *$//
-       s/\$progname/'$progname'/
-       p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
+    eval \$ECHO \""Usage: $usage"\"
+    eval \$ECHO \""$fatal_help"\"
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
 }
 
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
 func_help ()
 {
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-       :print
-        s/^# //
-       s/^# *$//
-       s*\$progname*'$progname'*
-       s*\$host*'"$host"'*
-       s*\$SHELL*'"$SHELL"'*
-       s*\$LTCC*'"$LTCC"'*
-       s*\$LTCFLAGS*'"$LTCFLAGS"'*
-       s*\$LD*'"$LD"'*
-       s/\$with_gnu_ld/'"$with_gnu_ld"'/
-       s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
-       s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
-       p
-       d
-     }
-     /^# .* home page:/b print
-     /^# General help using/b print
-     ' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message"
+    exit 0
 }
 
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
 # Echo program name prefixed message to standard error and set global
 # exit_cmd.
 func_missing_arg ()
 {
-    $opt_debug
+    $debug_cmd
 
-    func_error "missing argument for $1."
+    func_error "Missing argument for '$1'."
     exit_cmd=exit
 }
 
 
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+      func_split_equals_rhs=
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
 # Set func_split_short_opt_name and func_split_short_opt_arg shell
 # variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
 {
-    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+    $debug_cmd
 
-    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+    func_usage_message
+    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    exit 0
+}
 
 
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
 {
-    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-    my_sed_long_arg='1s/^--[^=]*=//'
+    $debug_cmd
 
-    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
+    eval \$ECHO \""Usage: $usage"\"
+    echo
+    $SED -n 's|^# ||
+        /^Written by/{
+          x;p;x
+        }
+       h
+       /^Written by/q' < "$progpath"
+    echo
+    eval \$ECHO \""$usage_message"\"
+}
 
-exit_cmd=:
 
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
 
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '
+        /(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }
+        /^warranty; /q' < "$progpath"
 
+    exit $?
+}
 
 
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
 
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
 
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
 
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
 {
-    eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+    $debug_cmd
 
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
-    func_quote_for_eval "${2}"
-    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
 
 
-# func_arith arithmetic-term...
-func_arith ()
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
 {
-    func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+    $debug_cmd
 
+    $warning_func ${1+"$@"}
+}
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
 
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+       --config             show all configuration variables
+       --debug              enable verbose shell tracing
+   -n, --dry-run            display commands without modifying any files
+       --features           display basic configuration information and exit
+       --mode=MODE          use operation mode MODE
+       --no-warnings        equivalent to '-Wnone'
+       --preserve-dup-deps  don't remove duplicate dependency libraries
+       --quiet, --silent    don't print informational messages
+       --tag=TAG            use configuration variables from tag TAG
+   -v, --verbose            print more informational messages than default
+       --version            print version information
+   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
+   -h, --help, --help-all   print short, long, or detailed help message
+"
 
-# func_lo2o object
-func_lo2o ()
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
 {
-    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+       host-triplet:   $host
+       shell:          $SHELL
+       compiler:       $LTCC
+       compiler flags: $LTCFLAGS
+       linker:         $LD (gnu? $with_gnu_ld)
+       version:        $progname $scriptversion Debian-2.4.6-15build2
+       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+    exit 0
+}
 
 
-# func_xform libobj-or-source
-func_xform ()
-{
-    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_lo2o ()
+  {
+    case $1 in
+      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+      *   ) func_lo2o_result=$1               ;;
+    esac
+  }'
+
+  # func_xform LIBOBJ-OR-SOURCE
+  # ---------------------------
+  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+  # suffix to a '.lo' libtool-object suffix.
+  eval 'func_xform ()
+  {
+    func_xform_result=${1%.*}.lo
+  }'
+else
+  # ...otherwise fall back to using sed.
+  func_lo2o ()
+  {
+    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+  }
+
+  func_xform ()
+  {
+    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+  }
+fi
 
 
-# func_fatal_configuration arg...
+# func_fatal_configuration ARG...
+# -------------------------------
 # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.
 func_fatal_configuration ()
 {
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
+    func__fatal_error ${1+"$@"} \
+      "See the $PACKAGE documentation for more information." \
+      "Fatal configuration error."
 }
 
 
 # func_config
+# -----------
 # Display the configuration for all the tags in this script.
 func_config ()
 {
@@ -915,17 +2222,19 @@ func_config ()
     exit $?
 }
 
+
 # func_features
+# -------------
 # Display the features supported by this script.
 func_features ()
 {
     echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       echo "enable shared libraries"
     else
       echo "disable shared libraries"
     fi
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       echo "enable static libraries"
     else
       echo "disable static libraries"
@@ -934,314 +2243,369 @@ func_features ()
     exit $?
 }
 
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
 # Verify that TAGNAME is valid, and either flag an error and exit, or
 # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
 # variable here.
 func_enable_tag ()
 {
-  # Global variable:
-  tagname="$1"
+    # Global variable:
+    tagname=$1
 
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+    sed_extractcf=/$re_begincf/,/$re_endcf/p
 
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
+    # Validate tagname.
+    case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+        func_fatal_error "invalid tag name: $tagname"
+        ;;
+    esac
 
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
+    # Don't test for the "default" C tag, as we know it's
+    # there but not specially marked.
+    case $tagname in
+        CC) ;;
     *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-       taglist="$taglist $tagname"
-
-       # Evaluate the configuration.  Be careful to quote the path
-       # and the sed script, to avoid splitting on whitespace, but
-       # also don't use non-portable quotes within backquotes within
-       # quotes we have to do it in 2 steps:
-       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-       eval "$extractedcf"
-      else
-       func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
+        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+         taglist="$taglist $tagname"
+
+         # Evaluate the configuration.  Be careful to quote the path
+         # and the sed script, to avoid splitting on whitespace, but
+         # also don't use non-portable quotes within backquotes within
+         # quotes we have to do it in 2 steps:
+         extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+         eval "$extractedcf"
+        else
+         func_error "ignoring unknown tag $tagname"
+        fi
+        ;;
+    esac
 }
 
+
 # func_check_version_match
+# ------------------------
 # Ensure that we are using m4 macros, and libtool script from the same
 # release of libtool.
 func_check_version_match ()
 {
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
+    if test "$package_revision" != "$macro_revision"; then
+      if test "$VERSION" != "$macro_version"; then
+        if test -z "$macro_version"; then
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from an older release.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      else
-        cat >&2 <<_LT_EOF
+        else
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
+        fi
+      else
+        cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
 $progname: of $PACKAGE $VERSION and run autoconf again.
 _LT_EOF
-    fi
+      fi
 
-    exit $EXIT_MISMATCH
-  fi
+      exit $EXIT_MISMATCH
+    fi
 }
 
 
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
-  shift; set dummy --mode clean ${1+"$@"}; shift
-  ;;
-compile|compil|compi|comp|com|co|c)
-  shift; set dummy --mode compile ${1+"$@"}; shift
-  ;;
-execute|execut|execu|exec|exe|ex|e)
-  shift; set dummy --mode execute ${1+"$@"}; shift
-  ;;
-finish|finis|fini|fin|fi|f)
-  shift; set dummy --mode finish ${1+"$@"}; shift
-  ;;
-install|instal|insta|inst|ins|in|i)
-  shift; set dummy --mode install ${1+"$@"}; shift
-  ;;
-link|lin|li|l)
-  shift; set dummy --mode link ${1+"$@"}; shift
-  ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-  shift; set dummy --mode uninstall ${1+"$@"}; shift
-  ;;
-esac
-
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+    $debug_mode
 
+    # Option defaults:
+    opt_config=false
+    opt_dlopen=
+    opt_dry_run=false
+    opt_help=false
+    opt_mode=
+    opt_preserve_dup_deps=false
+    opt_quiet=false
 
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
+    nonopt=
+    preserve_args=
 
+    _G_rc_lt_options_prep=:
 
-# Parse options once, thoroughly.  This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
-{
-  # this just eases exit handling
-  while test $# -gt 0; do
-    opt="$1"
-    shift
-    case $opt in
-      --debug|-x)      opt_debug='set -x'
-                       func_echo "enabling shell trace mode"
-                       $opt_debug
-                       ;;
-      --dry-run|--dryrun|-n)
-                       opt_dry_run=:
-                       ;;
-      --config)
-                       opt_config=:
-func_config
-                       ;;
-      --dlopen|-dlopen)
-                       optarg="$1"
-                       opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
-                       shift
-                       ;;
-      --preserve-dup-deps)
-                       opt_preserve_dup_deps=:
-                       ;;
-      --features)
-                       opt_features=:
-func_features
-                       ;;
-      --finish)
-                       opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
-                       ;;
-      --help)
-                       opt_help=:
-                       ;;
-      --help-all)
-                       opt_help_all=:
-opt_help=': help-all'
-                       ;;
-      --mode)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_mode="$optarg"
-case $optarg in
-  # Valid mode arguments:
-  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-  # Catch anything else as an error
-  *) func_error "invalid argument for $opt"
-     exit_cmd=exit
-     break
-     ;;
-esac
-                       shift
-                       ;;
-      --no-silent|--no-quiet)
-                       opt_silent=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-warning|--no-warn)
-                       opt_warning=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-verbose)
-                       opt_verbose=false
-func_append preserve_args " $opt"
-                       ;;
-      --silent|--quiet)
-                       opt_silent=:
-func_append preserve_args " $opt"
-        opt_verbose=false
-                       ;;
-      --verbose|-v)
-                       opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
-                       ;;
-      --tag)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
-                       shift
-                       ;;
-
-      -\?|-h)          func_usage                              ;;
-      --help)          func_help                               ;;
-      --version)       func_version                            ;;
-
-      # Separate optargs to long options:
-      --*=*)
-                       func_split_long_opt "$opt"
-                       set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      # Separate non-argument short options:
-      -\?*|-h*|-n*|-v*)
-                       func_split_short_opt "$opt"
-                       set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      --)              break                                   ;;
-      -*)              func_fatal_help "unrecognized option \`$opt'" ;;
-      *)               set dummy "$opt" ${1+"$@"};     shift; break  ;;
+    # Shorthand for --mode=foo, only valid as the first argument
+    case $1 in
+    clean|clea|cle|cl)
+      shift; set dummy --mode clean ${1+"$@"}; shift
+      ;;
+    compile|compil|compi|comp|com|co|c)
+      shift; set dummy --mode compile ${1+"$@"}; shift
+      ;;
+    execute|execut|execu|exec|exe|ex|e)
+      shift; set dummy --mode execute ${1+"$@"}; shift
+      ;;
+    finish|finis|fini|fin|fi|f)
+      shift; set dummy --mode finish ${1+"$@"}; shift
+      ;;
+    install|instal|insta|inst|ins|in|i)
+      shift; set dummy --mode install ${1+"$@"}; shift
+      ;;
+    link|lin|li|l)
+      shift; set dummy --mode link ${1+"$@"}; shift
+      ;;
+    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+      shift; set dummy --mode uninstall ${1+"$@"}; shift
+      ;;
+    *)
+      _G_rc_lt_options_prep=false
+      ;;
     esac
-  done
 
-  # Validate options:
+    if $_G_rc_lt_options_prep; then
+      # Pass back the list of options.
+      func_quote_for_eval ${1+"$@"}
+      libtool_options_prep_result=$func_quote_for_eval_result
+    fi
 
-  # save first non-option argument
-  if test "$#" -gt 0; then
-    nonopt="$opt"
-    shift
-  fi
+    $_G_rc_lt_options_prep
+}
+func_add_hook func_options_prep libtool_options_prep
 
-  # preserve --debug
-  test "$opt_debug" = : || func_append preserve_args " --debug"
 
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-      ;;
-  esac
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+    $debug_cmd
 
-  $opt_help || {
-    # Sanity checks first:
-    func_check_version_match
+    _G_rc_lt_parse_options=false
 
-    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-      func_fatal_configuration "not configured to build any kind of library"
+    # Perform our own loop to consume as many options as possible in
+    # each iteration.
+    while test $# -gt 0; do
+      _G_match_lt_parse_options=:
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --dry-run|--dryrun|-n)
+                        opt_dry_run=:
+                        ;;
+
+        --config)       func_config ;;
+
+        --dlopen|-dlopen)
+                        opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+                        shift
+                        ;;
+
+        --preserve-dup-deps)
+                        opt_preserve_dup_deps=: ;;
+
+        --features)     func_features ;;
+
+        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
+
+        --help)         opt_help=: ;;
+
+        --help-all)     opt_help=': help-all' ;;
+
+        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_mode=$1
+                        case $1 in
+                          # Valid mode arguments:
+                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+                          # Catch anything else as an error
+                          *) func_error "invalid argument for $_G_opt"
+                             exit_cmd=exit
+                             break
+                             ;;
+                        esac
+                        shift
+                        ;;
+
+        --no-silent|--no-quiet)
+                        opt_quiet=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                        opt_warning=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-verbose)
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --silent|--quiet)
+                        opt_quiet=:
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_tag=$1
+                        func_append preserve_args " $_G_opt $1"
+                        func_enable_tag "$1"
+                        shift
+                        ;;
+
+        --verbose|-v)   opt_quiet=false
+                        opt_verbose=:
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        # An option not handled by this hook function:
+        *)              set dummy "$_G_opt" ${1+"$@"} ; shift
+                        _G_match_lt_parse_options=false
+                        break
+                        ;;
+      esac
+      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
+    done
+
+    if $_G_rc_lt_parse_options; then
+      # save modified positional parameters for caller
+      func_quote_for_eval ${1+"$@"}
+      libtool_parse_options_result=$func_quote_for_eval_result
     fi
 
-    # Darwin sucks
-    eval std_shrext=\"$shrext_cmds\"
+    $_G_rc_lt_parse_options
+}
+func_add_hook func_parse_options libtool_parse_options
+
 
-    # Only execute mode is allowed to have -dlopen flags.
-    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-      func_error "unrecognized option \`-dlopen'"
-      $ECHO "$help" 1>&2
-      exit $EXIT_FAILURE
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+    # save first non-option argument
+    if test 0 -lt $#; then
+      nonopt=$1
+      shift
     fi
 
-    # Change the help message to a mode-specific one.
-    generic_help="$help"
-    help="Try \`$progname --help --mode=$opt_mode' for more information."
-  }
+    # preserve --debug
+    test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+    case $host in
+      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+        # don't eliminate duplications in $postdeps and $predeps
+        opt_duplicate_compiler_generated_deps=:
+        ;;
+      *)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
+    esac
 
+    $opt_help || {
+      # Sanity checks first:
+      func_check_version_match
 
-  # Bail if the options were screwed
-  $exit_cmd $EXIT_FAILURE
+      test yes != "$build_libtool_libs" \
+        && test yes != "$build_old_libs" \
+        && func_fatal_configuration "not configured to build any kind of library"
+
+      # Darwin sucks
+      eval std_shrext=\"$shrext_cmds\"
+
+      # Only execute mode is allowed to have -dlopen flags.
+      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+        func_error "unrecognized option '-dlopen'"
+        $ECHO "$help" 1>&2
+        exit $EXIT_FAILURE
+      fi
+
+      # Change the help message to a mode-specific one.
+      generic_help=$help
+      help="Try '$progname --help --mode=$opt_mode' for more information."
+    }
+
+    # Pass back the unparsed argument list
+    func_quote_for_eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_for_eval_result
 }
+func_add_hook func_validate_options libtool_validate_options
 
 
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
 
 
 ## ----------- ##
 ##    Main.    ##
 ## ----------- ##
 
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
 # func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function is only a basic sanity check; it will hardly flush out
 # determined imposters.
 func_lalib_p ()
 {
     test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function implements the same check as func_lalib_p without
 # resorting to external programs.  To this end, it redirects stdin and
 # closes it afterwards, without saving the original file descriptor.
 # As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
+# fatal anyway.  Works if 'file' does not exist.
 func_lalib_unsafe_p ()
 {
     lalib_p=no
@@ -1249,13 +2613,13 @@ func_lalib_unsafe_p ()
        for lalib_p_l in 1 2 3 4
        do
            read lalib_p_line
-           case "$lalib_p_line" in
+           case $lalib_p_line in
                \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
            esac
        done
        exec 0<&5 5<&-
     fi
-    test "$lalib_p" = yes
+    test yes = "$lalib_p"
 }
 
 # func_ltwrapper_script_p file
@@ -1264,7 +2628,8 @@ func_lalib_unsafe_p ()
 # determined imposters.
 func_ltwrapper_script_p ()
 {
-    func_lalib_p "$1"
+    test -f "$1" &&
+      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_ltwrapper_executable_p file
@@ -1289,7 +2654,7 @@ func_ltwrapper_scriptname ()
 {
     func_dirname_and_basename "$1" "" "."
     func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
 }
 
 # func_ltwrapper_p file
@@ -1308,11 +2673,13 @@ func_ltwrapper_p ()
 # FAIL_CMD may read-access the current command in variable CMD!
 func_execute_cmds ()
 {
-    $opt_debug
+    $debug_cmd
+
     save_ifs=$IFS; IFS='~'
     for cmd in $1; do
-      IFS=$save_ifs
+      IFS=$sp$nl
       eval cmd=\"$cmd\"
+      IFS=$save_ifs
       func_show_eval "$cmd" "${2-:}"
     done
     IFS=$save_ifs
@@ -1324,10 +2691,11 @@ func_execute_cmds ()
 # Note that it is not necessary on cygwin/mingw to append a dot to
 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
 # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
 func_source ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $1 in
     */* | *\\*)        . "$1" ;;
     *)         . "./$1" ;;
@@ -1354,10 +2722,10 @@ func_resolve_sysroot ()
 # store the result into func_replace_sysroot_result.
 func_replace_sysroot ()
 {
-  case "$lt_sysroot:$1" in
+  case $lt_sysroot:$1 in
   ?*:"$lt_sysroot"*)
     func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result="=$func_stripname_result"
+    func_replace_sysroot_result='='$func_stripname_result
     ;;
   *)
     # Including no sysroot.
@@ -1374,7 +2742,8 @@ func_replace_sysroot ()
 # arg is usually of the form 'gcc ...'
 func_infer_tag ()
 {
-    $opt_debug
+    $debug_cmd
+
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
@@ -1393,7 +2762,7 @@ func_infer_tag ()
        for z in $available_tags; do
          if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
            # Evaluate the configuration.
-           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+           eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
            CC_quoted=
            for arg in $CC; do
              # Double-quote args containing other shell metacharacters.
@@ -1418,7 +2787,7 @@ func_infer_tag ()
        # line option must be used.
        if test -z "$tagname"; then
          func_echo "unable to infer tagged configuration"
-         func_fatal_error "specify a tag with \`--tag'"
+         func_fatal_error "specify a tag with '--tag'"
 #      else
 #        func_verbose "using $tagname tagged configuration"
        fi
@@ -1434,15 +2803,15 @@ func_infer_tag ()
 # but don't create it if we're doing a dry run.
 func_write_libtool_object ()
 {
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
+    write_libobj=$1
+    if test yes = "$build_libtool_libs"; then
+      write_lobj=\'$2\'
     else
       write_lobj=none
     fi
 
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
+    if test yes = "$build_old_libs"; then
+      write_oldobj=\'$3\'
     else
       write_oldobj=none
     fi
@@ -1450,7 +2819,7 @@ func_write_libtool_object ()
     $opt_dry_run || {
       cat >${write_libobj}T <<EOF
 # $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -1462,7 +2831,7 @@ pic_object=$write_lobj
 non_pic_object=$write_oldobj
 
 EOF
-      $MV "${write_libobj}T" "${write_libobj}"
+      $MV "${write_libobj}T" "$write_libobj"
     }
 }
 
@@ -1482,8 +2851,9 @@ EOF
 # be empty on error (or when ARG is empty)
 func_convert_core_file_wine_to_w32 ()
 {
-  $opt_debug
-  func_convert_core_file_wine_to_w32_result="$1"
+  $debug_cmd
+
+  func_convert_core_file_wine_to_w32_result=$1
   if test -n "$1"; then
     # Unfortunately, winepath does not exit with a non-zero error code, so we
     # are forced to check the contents of stdout. On the other hand, if the
@@ -1491,9 +2861,9 @@ func_convert_core_file_wine_to_w32 ()
     # *an error message* to stdout. So we must check for both error code of
     # zero AND non-empty stdout, which explains the odd construction:
     func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
       func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$lt_sed_naive_backslashify"`
+        $SED -e "$sed_naive_backslashify"`
     else
       func_convert_core_file_wine_to_w32_result=
     fi
@@ -1514,18 +2884,19 @@ func_convert_core_file_wine_to_w32 ()
 # are convertible, then the result may be empty.
 func_convert_core_path_wine_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=""
+  func_convert_core_path_wine_to_w32_result=
   if test -n "$1"; then
     oldIFS=$IFS
     IFS=:
     for func_convert_core_path_wine_to_w32_f in $1; do
       IFS=$oldIFS
       func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+      if test -n "$func_convert_core_file_wine_to_w32_result"; then
         if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
         else
           func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
         fi
@@ -1554,7 +2925,8 @@ func_convert_core_path_wine_to_w32 ()
 # environment variable; do not put it in $PATH.
 func_cygpath ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
     func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
     if test "$?" -ne 0; then
@@ -1563,7 +2935,7 @@ func_cygpath ()
     fi
   else
     func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
   fi
 }
 #end: func_cygpath
@@ -1574,10 +2946,11 @@ func_cygpath ()
 # result in func_convert_core_msys_to_w32_result.
 func_convert_core_msys_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # awkward: cmd appends spaces to result
   func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
 }
 #end: func_convert_core_msys_to_w32
 
@@ -1588,13 +2961,14 @@ func_convert_core_msys_to_w32 ()
 # func_to_host_file_result to ARG1).
 func_convert_file_check ()
 {
-  $opt_debug
-  if test -z "$2" && test -n "$1" ; then
+  $debug_cmd
+
+  if test -z "$2" && test -n "$1"; then
     func_error "Could not determine host file name corresponding to"
-    func_error "  \`$1'"
+    func_error "  '$1'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback:
-    func_to_host_file_result="$1"
+    func_to_host_file_result=$1
   fi
 }
 # end func_convert_file_check
@@ -1606,10 +2980,11 @@ func_convert_file_check ()
 # func_to_host_file_result to a simplistic fallback value (see below).
 func_convert_path_check ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$4" && test -n "$3"; then
     func_error "Could not determine the host path corresponding to"
-    func_error "  \`$3'"
+    func_error "  '$3'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback.  This is a deliberately simplistic "conversion" and
     # should not be "improved".  See libtool.info.
@@ -1618,7 +2993,7 @@ func_convert_path_check ()
       func_to_host_path_result=`echo "$3" |
         $SED -e "$lt_replace_pathsep_chars"`
     else
-      func_to_host_path_result="$3"
+      func_to_host_path_result=$3
     fi
   fi
 }
@@ -1630,9 +3005,10 @@ func_convert_path_check ()
 # and appending REPL if ORIG matches BACKPAT.
 func_convert_path_front_back_pathsep ()
 {
-  $opt_debug
+  $debug_cmd
+
   case $4 in
-  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+  $1 ) func_to_host_path_result=$3$func_to_host_path_result
     ;;
   esac
   case $4 in
@@ -1646,7 +3022,7 @@ func_convert_path_front_back_pathsep ()
 ##################################################
 # $build to $host FILE NAME CONVERSION FUNCTIONS #
 ##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # Result will be available in $func_to_host_file_result.
@@ -1657,7 +3033,8 @@ func_convert_path_front_back_pathsep ()
 # in func_to_host_file_result.
 func_to_host_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   $to_host_file_cmd "$1"
 }
 # end func_to_host_file
@@ -1669,7 +3046,8 @@ func_to_host_file ()
 # in (the comma separated) LAZY, no conversion takes place.
 func_to_tool_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   case ,$2, in
     *,"$to_tool_file_cmd",*)
       func_to_tool_file_result=$1
@@ -1687,7 +3065,7 @@ func_to_tool_file ()
 # Copy ARG to func_to_host_file_result.
 func_convert_file_noop ()
 {
-  func_to_host_file_result="$1"
+  func_to_host_file_result=$1
 }
 # end func_convert_file_noop
 
@@ -1698,11 +3076,12 @@ func_convert_file_noop ()
 # func_to_host_file_result.
 func_convert_file_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result=$func_convert_core_msys_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1714,8 +3093,9 @@ func_convert_file_msys_to_w32 ()
 # func_to_host_file_result.
 func_convert_file_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
     # LT_CYGPATH in this case.
@@ -1731,11 +3111,12 @@ func_convert_file_cygwin_to_w32 ()
 # and a working winepath. Returns result in func_to_host_file_result.
 func_convert_file_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1747,12 +3128,13 @@ func_convert_file_nix_to_w32 ()
 # Returns result in func_to_host_file_result.
 func_convert_file_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
     func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1765,13 +3147,14 @@ func_convert_file_msys_to_cygwin ()
 # in func_to_host_file_result.
 func_convert_file_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
     func_convert_core_file_wine_to_w32 "$1"
     func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1781,7 +3164,7 @@ func_convert_file_nix_to_cygwin ()
 #############################################
 # $build to $host PATH CONVERSION FUNCTIONS #
 #############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # The result will be available in $func_to_host_path_result.
@@ -1805,10 +3188,11 @@ func_convert_file_nix_to_cygwin ()
 to_host_path_cmd=
 func_init_to_host_path_cmd ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$to_host_path_cmd"; then
     func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+    to_host_path_cmd=func_convert_path_$func_stripname_result
   fi
 }
 
@@ -1818,7 +3202,8 @@ func_init_to_host_path_cmd ()
 # in func_to_host_path_result.
 func_to_host_path ()
 {
-  $opt_debug
+  $debug_cmd
+
   func_init_to_host_path_cmd
   $to_host_path_cmd "$1"
 }
@@ -1829,7 +3214,7 @@ func_to_host_path ()
 # Copy ARG to func_to_host_path_result.
 func_convert_path_noop ()
 {
-  func_to_host_path_result="$1"
+  func_to_host_path_result=$1
 }
 # end func_convert_path_noop
 
@@ -1840,8 +3225,9 @@ func_convert_path_noop ()
 # func_to_host_path_result.
 func_convert_path_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from ARG.  MSYS
     # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3235,7 @@ func_convert_path_msys_to_w32 ()
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result=$func_convert_core_msys_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3249,9 @@ func_convert_path_msys_to_w32 ()
 # func_to_host_file_result.
 func_convert_path_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
@@ -1883,14 +3270,15 @@ func_convert_path_cygwin_to_w32 ()
 # a working winepath.  Returns result in func_to_host_file_result.
 func_convert_path_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3292,16 @@ func_convert_path_nix_to_w32 ()
 # Returns result in func_to_host_file_result.
 func_convert_path_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3316,9 @@ func_convert_path_msys_to_cygwin ()
 # func_to_host_file_result.
 func_convert_path_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from
     # ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3327,7 @@ func_convert_path_nix_to_cygwin ()
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3336,31 @@ func_convert_path_nix_to_cygwin ()
 # end func_convert_path_nix_to_cygwin
 
 
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+  $debug_cmd
+
+  func_dll_def_p_tmp=`$SED -n \
+    -e 's/^[    ]*//' \
+    -e '/^\(;.*\)*$/d' \
+    -e 's/^\(EXPORTS\|LIBRARY\)\([      ].*\)*$/DEF/p' \
+    -e q \
+    "$1"`
+  test DEF = "$func_dll_def_p_tmp"
+}
+
+
 # func_mode_compile arg...
 func_mode_compile ()
 {
-    $opt_debug
+    $debug_cmd
+
     # Get the compilation command and the source file.
     base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
     suppress_opt=yes
     suppress_output=
     arg_mode=normal
@@ -1965,12 +3373,12 @@ func_mode_compile ()
       case $arg_mode in
       arg  )
        # do not "continue".  Instead, add this to base_compile
-       lastarg="$arg"
+       lastarg=$arg
        arg_mode=normal
        ;;
 
       target )
-       libobj="$arg"
+       libobj=$arg
        arg_mode=normal
        continue
        ;;
@@ -1980,7 +3388,7 @@ func_mode_compile ()
        case $arg in
        -o)
          test -n "$libobj" && \
-           func_fatal_error "you cannot specify \`-o' more than once"
+           func_fatal_error "you cannot specify '-o' more than once"
          arg_mode=target
          continue
          ;;
@@ -2009,12 +3417,12 @@ func_mode_compile ()
          func_stripname '-Wc,' '' "$arg"
          args=$func_stripname_result
          lastarg=
-         save_ifs="$IFS"; IFS=','
+         save_ifs=$IFS; IFS=,
          for arg in $args; do
-           IFS="$save_ifs"
+           IFS=$save_ifs
            func_append_quoted lastarg "$arg"
          done
-         IFS="$save_ifs"
+         IFS=$save_ifs
          func_stripname ' ' '' "$lastarg"
          lastarg=$func_stripname_result
 
@@ -2027,8 +3435,8 @@ func_mode_compile ()
          # Accept the current argument as the source file.
          # The previous "srcfile" becomes the current argument.
          #
-         lastarg="$srcfile"
-         srcfile="$arg"
+         lastarg=$srcfile
+         srcfile=$arg
          ;;
        esac  #  case $arg
        ;;
@@ -2043,13 +3451,13 @@ func_mode_compile ()
       func_fatal_error "you must specify an argument for -Xcompile"
       ;;
     target)
-      func_fatal_error "you must specify a target with \`-o'"
+      func_fatal_error "you must specify a target with '-o'"
       ;;
     *)
       # Get the name of the library object.
       test -z "$libobj" && {
        func_basename "$srcfile"
-       libobj="$func_basename_result"
+       libobj=$func_basename_result
       }
       ;;
     esac
@@ -2069,7 +3477,7 @@ func_mode_compile ()
     case $libobj in
     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
     *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      func_fatal_error "cannot determine name of library object from '$libobj'"
       ;;
     esac
 
@@ -2078,8 +3486,8 @@ func_mode_compile ()
     for arg in $later; do
       case $arg in
       -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
+       test yes = "$build_libtool_libs" \
+         || func_fatal_configuration "cannot build a shared library"
        build_old_libs=no
        continue
        ;;
@@ -2105,17 +3513,17 @@ func_mode_compile ()
     func_quote_for_eval "$libobj"
     test "X$libobj" != "X$func_quote_for_eval_result" \
       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+      && func_warning "libobj name '$libobj' may not contain shell special characters."
     func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
+    objname=$func_basename_result
+    xdir=$func_dirname_result
+    lobj=$xdir$objdir/$objname
 
     test -z "$base_compile" && \
       func_fatal_help "you must specify a compilation command"
 
     # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       removelist="$obj $lobj $libobj ${libobj}T"
     else
       removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3535,16 @@ func_mode_compile ()
       pic_mode=default
       ;;
     esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
       # non-PIC code in shared libraries is not supported
       pic_mode=default
     fi
 
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
+    if test no = "$compiler_c_o"; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+      lockfile=$output_obj.lock
     else
       output_obj=
       need_locks=no
@@ -2145,12 +3553,12 @@ func_mode_compile ()
 
     # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
+    if test yes = "$need_locks"; then
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
        func_echo "Waiting for $lockfile to be removed"
        sleep 2
       done
-    elif test "$need_locks" = warn; then
+    elif test warn = "$need_locks"; then
       if test -f "$lockfile"; then
        $ECHO "\
 *** ERROR, $lockfile exists and contains:
@@ -2158,7 +3566,7 @@ func_mode_compile ()
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2180,11 +3588,11 @@ compiler."
     qsrcfile=$func_quote_for_eval_result
 
     # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       # Without this assignment, base_compile gets emptied.
       fbsd_hideous_sh_bug=$base_compile
 
-      if test "$pic_mode" != no; then
+      if test no != "$pic_mode"; then
        command="$base_compile $qsrcfile $pic_flag"
       else
        # Don't build PIC code
@@ -2201,7 +3609,7 @@ compiler."
       func_show_eval_locale "$command" \
           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        $ECHO "\
 *** ERROR, $lockfile contains:
@@ -2212,7 +3620,7 @@ $srcfile
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2228,20 +3636,20 @@ compiler."
       fi
 
       # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
+      if test yes = "$suppress_opt"; then
        suppress_output=' >/dev/null 2>&1'
       fi
     fi
 
     # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
+    if test yes = "$build_old_libs"; then
+      if test yes != "$pic_mode"; then
        # Don't build PIC code
        command="$base_compile $qsrcfile$pie_flag"
       else
        command="$base_compile $qsrcfile $pic_flag"
       fi
-      if test "$compiler_c_o" = yes; then
+      if test yes = "$compiler_c_o"; then
        func_append command " -o $obj"
       fi
 
@@ -2250,7 +3658,7 @@ compiler."
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
        $ECHO "\
 *** ERROR, $lockfile contains:
@@ -2261,7 +3669,7 @@ $srcfile
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2281,7 +3689,7 @@ compiler."
       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
 
       # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
+      if test no != "$need_locks"; then
        removelist=$lockfile
         $RM "$lockfile"
       fi
@@ -2291,7 +3699,7 @@ compiler."
 }
 
 $opt_help || {
-  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
@@ -2311,7 +3719,7 @@ func_mode_help ()
 Remove files from the build directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3738,16 @@ This mode accepts the following additional options:
   -no-suppress      do not suppress compiler output for multiple passes
   -prefer-pic       try to build PIC objects only
   -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
+  -shared           do not build a '.o' file suitable for static linking
+  -static           only build a '.o' file suitable for static linking
   -Wc,FLAG          pass FLAG directly to the compiler
 
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
 from the given SOURCEFILE.
 
 The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
         ;;
 
       execute)
@@ -2352,7 +3760,7 @@ This mode accepts the following additional options:
 
   -dlopen FILE      add the directory containing FILE to the library path
 
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
 flags.
 
 If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3779,7 @@ Complete the installation of libtool libraries.
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
         ;;
 
       install)
@@ -2381,7 +3789,7 @@ the \`--dry-run' option if you just want to see what would be executed."
 Install executables or libraries.
 
 INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
@@ -2407,7 +3815,7 @@ The following components of LINK-COMMAND are treated specially:
   -avoid-version    do not add a version suffix if possible
   -bindir BINDIR    specify path to binaries directory (for systems where
                     libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
@@ -2421,7 +3829,8 @@ The following components of LINK-COMMAND are treated specially:
   -no-install       link a not-installable executable
   -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
   -precious-files-regex REGEX
                     don't remove output files matching REGEX
   -release RELEASE  specify package release information
@@ -2441,20 +3850,20 @@ The following components of LINK-COMMAND are treated specially:
   -Xlinker FLAG     pass linker-specific FLAG directly to the linker
   -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
 
-Every other argument is treated as a filename.  Files ending in \`.la' are
+Every other argument is treated as a filename.  Files ending in '.la' are
 treated as uninstalled libtool libraries, other files are standard or library
 object files.
 
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
 required, except when creating a convenience library.
 
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
 
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
 is created, otherwise an executable program is created."
         ;;
 
@@ -2465,7 +3874,7 @@ is created, otherwise an executable program is created."
 Remove libraries from an installation directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3882,17 @@ Otherwise, only FILE itself is deleted using RM."
         ;;
 
       *)
-        func_fatal_help "invalid operation mode \`$opt_mode'"
+        func_fatal_help "invalid operation mode '$opt_mode'"
         ;;
     esac
 
     echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
+    $ECHO "Try '$progname --help' for more information about other modes."
 }
 
 # Now that we've collected a possible --mode arg, show help if necessary
 if $opt_help; then
-  if test "$opt_help" = :; then
+  if test : = "$opt_help"; then
     func_mode_help
   else
     {
@@ -2491,7 +3900,7 @@ if $opt_help; then
       for opt_mode in compile link execute install finish uninstall clean; do
        func_mode_help
       done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
     {
       func_help noexit
       for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3908,7 @@ if $opt_help; then
        func_mode_help
       done
     } |
-    sed '1d
+    $SED '1d
       /^When reporting/,/^Report/{
        H
        d
@@ -2516,16 +3925,17 @@ fi
 # func_mode_execute arg...
 func_mode_execute ()
 {
-    $opt_debug
+    $debug_cmd
+
     # The first argument is the command name.
-    cmd="$nonopt"
+    cmd=$nonopt
     test -z "$cmd" && \
       func_fatal_help "you must specify a COMMAND"
 
     # Handle -dlopen flags immediately.
     for file in $opt_dlopen; do
       test -f "$file" \
-       || func_fatal_help "\`$file' is not a file"
+       || func_fatal_help "'$file' is not a file"
 
       dir=
       case $file in
@@ -2535,7 +3945,7 @@ func_mode_execute ()
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$lib' is not a valid libtool archive"
+         || func_fatal_help "'$lib' is not a valid libtool archive"
 
        # Read the libtool library.
        dlname=
@@ -2546,18 +3956,18 @@ func_mode_execute ()
        if test -z "$dlname"; then
          # Warn if it was a shared library.
          test -n "$library_names" && \
-           func_warning "\`$file' was not linked with \`-export-dynamic'"
+           func_warning "'$file' was not linked with '-export-dynamic'"
          continue
        fi
 
        func_dirname "$file" "" "."
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
 
        if test -f "$dir/$objdir/$dlname"; then
          func_append dir "/$objdir"
        else
          if test ! -f "$dir/$dlname"; then
-           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+           func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
          fi
        fi
        ;;
@@ -2565,18 +3975,18 @@ func_mode_execute ()
       *.lo)
        # Just add the directory containing the .lo file.
        func_dirname "$file" "" "."
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
        ;;
 
       *)
-       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+       func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
        continue
        ;;
       esac
 
       # Get the absolute pathname.
       absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
+      test -n "$absdir" && dir=$absdir
 
       # Now add the directory to shlibpath_var.
       if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3998,7 @@ func_mode_execute ()
 
     # This variable tells wrapper scripts just to set shlibpath_var
     # rather than running their programs.
-    libtool_execute_magic="$magic"
+    libtool_execute_magic=$magic
 
     # Check if any of the arguments is a wrapper script.
     args=
@@ -2601,12 +4011,12 @@ func_mode_execute ()
        if func_ltwrapper_script_p "$file"; then
          func_source "$file"
          # Transform arg to wrapped name.
-         file="$progdir/$program"
+         file=$progdir/$program
        elif func_ltwrapper_executable_p "$file"; then
          func_ltwrapper_scriptname "$file"
          func_source "$func_ltwrapper_scriptname_result"
          # Transform arg to wrapped name.
-         file="$progdir/$program"
+         file=$progdir/$program
        fi
        ;;
       esac
@@ -2614,7 +4024,15 @@ func_mode_execute ()
       func_append_quoted args "$file"
     done
 
-    if test "X$opt_dry_run" = Xfalse; then
+    if $opt_dry_run; then
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+       echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    else
       if test -n "$shlibpath_var"; then
        # Export the shlibpath_var.
        eval "export $shlibpath_var"
@@ -2631,25 +4049,18 @@ func_mode_execute ()
       done
 
       # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-       echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
+      exec_cmd=\$cmd$args
     fi
 }
 
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
 
 
 # func_mode_finish arg...
 func_mode_finish ()
 {
-    $opt_debug
+    $debug_cmd
+
     libs=
     libdirs=
     admincmds=
@@ -2663,11 +4074,11 @@ func_mode_finish ()
        if func_lalib_unsafe_p "$opt"; then
          func_append libs " $opt"
        else
-         func_warning "\`$opt' is not a valid libtool archive"
+         func_warning "'$opt' is not a valid libtool archive"
        fi
 
       else
-       func_fatal_error "invalid argument \`$opt'"
+       func_fatal_error "invalid argument '$opt'"
       fi
     done
 
@@ -2682,12 +4093,12 @@ func_mode_finish ()
       # Remove sysroot references
       if $opt_dry_run; then
         for lib in $libs; do
-          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
         done
       else
         tmpdir=`func_mktempdir`
         for lib in $libs; do
-         sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+         $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
            > $tmpdir/tmp-la
          mv -f $tmpdir/tmp-la $lib
        done
@@ -2712,7 +4123,7 @@ func_mode_finish ()
     fi
 
     # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
+    $opt_quiet && exit $EXIT_SUCCESS
 
     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       echo "----------------------------------------------------------------------"
@@ -2723,27 +4134,27 @@ func_mode_finish ()
       echo
       echo "If you ever happen to want to link against installed libraries"
       echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
       echo "flag during linking and do at least one of the following:"
       if test -n "$shlibpath_var"; then
-       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+       echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
        echo "     during execution"
       fi
       if test -n "$runpath_var"; then
-       echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+       echo "   - add LIBDIR to the '$runpath_var' environment variable"
        echo "     during linking"
       fi
       if test -n "$hardcode_libdir_flag_spec"; then
        libdir=LIBDIR
        eval flag=\"$hardcode_libdir_flag_spec\"
 
-       $ECHO "   - use the \`$flag' linker flag"
+       $ECHO "   - use the '$flag' linker flag"
       fi
       if test -n "$admincmds"; then
        $ECHO "   - have your system administrator run these commands:$admincmds"
       fi
       if test -f /etc/ld.so.conf; then
-       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+       echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
       fi
       echo
 
@@ -2762,18 +4173,20 @@ func_mode_finish ()
     exit $EXIT_SUCCESS
 }
 
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
 
 
 # func_mode_install arg...
 func_mode_install ()
 {
-    $opt_debug
+    $debug_cmd
+
     # There may be an optional sh(1) argument at the beginning of
     # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
        # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
+       case $nonopt in *shtool*) :;; *) false;; esac
+    then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4213,7 @@ func_mode_install ()
     opts=
     prev=
     install_type=
-    isdir=no
+    isdir=false
     stripme=
     no_mode=:
     for arg
@@ -2813,7 +4226,7 @@ func_mode_install ()
       fi
 
       case $arg in
-      -d) isdir=yes ;;
+      -d) isdir=: ;;
       -f)
        if $install_cp; then :; else
          prev=$arg
@@ -2831,7 +4244,7 @@ func_mode_install ()
       *)
        # If the previous option needed an argument, then skip it.
        if test -n "$prev"; then
-         if test "x$prev" = x-m && test -n "$install_override_mode"; then
+         if test X-m = "X$prev" && test -n "$install_override_mode"; then
            arg2=$install_override_mode
            no_mode=false
          fi
@@ -2856,7 +4269,7 @@ func_mode_install ()
       func_fatal_help "you must specify an install program"
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
+      func_fatal_help "the '$prev' option requires an argument"
 
     if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else
@@ -2878,19 +4291,19 @@ func_mode_install ()
     dest=$func_stripname_result
 
     # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
+    test -d "$dest" && isdir=:
+    if $isdir; then
+      destdir=$dest
       destname=
     else
       func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
+      destdir=$func_dirname_result
+      destname=$func_basename_result
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files; shift
       test "$#" -gt 1 && \
-       func_fatal_help "\`$dest' is not a directory"
+       func_fatal_help "'$dest' is not a directory"
     fi
     case $destdir in
     [\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4312,7 @@ func_mode_install ()
        case $file in
        *.lo) ;;
        *)
-         func_fatal_help "\`$destdir' must be an absolute directory name"
+         func_fatal_help "'$destdir' must be an absolute directory name"
          ;;
        esac
       done
@@ -2908,7 +4321,7 @@ func_mode_install ()
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     staticlibs=
     future_libdirs=
@@ -2928,7 +4341,7 @@ func_mode_install ()
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$file' is not a valid libtool archive"
+         || func_fatal_help "'$file' is not a valid libtool archive"
 
        library_names=
        old_library=
@@ -2950,7 +4363,7 @@ func_mode_install ()
        fi
 
        func_dirname "$file" "/" ""
-       dir="$func_dirname_result"
+       dir=$func_dirname_result
        func_append dir "$objdir"
 
        if test -n "$relink_command"; then
@@ -2964,7 +4377,7 @@ func_mode_install ()
          # are installed into $libdir/../bin (currently, that works fine)
          # but it's something to keep an eye on.
          test "$inst_prefix_dir" = "$destdir" && \
-           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+           func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
 
          if test -n "$inst_prefix_dir"; then
            # Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4386,36 @@ func_mode_install ()
            relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
          fi
 
-         func_warning "relinking \`$file'"
+         func_warning "relinking '$file'"
          func_show_eval "$relink_command" \
-           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+           'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
        fi
 
        # See the names of the shared library.
        set dummy $library_names; shift
        if test -n "$1"; then
-         realname="$1"
+         realname=$1
          shift
 
-         srcname="$realname"
-         test -n "$relink_command" && srcname="$realname"T
+         srcname=$realname
+         test -n "$relink_command" && srcname=${realname}T
 
          # Install the shared library and build the symlinks.
          func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
              'exit $?'
-         tstripme="$stripme"
+         tstripme=$stripme
          case $host_os in
          cygwin* | mingw* | pw32* | cegcc*)
            case $realname in
            *.dll.a)
-             tstripme=""
+             tstripme=
+             ;;
+           esac
+           ;;
+         os2*)
+           case $realname in
+           *_dll.a)
+             tstripme=
              ;;
            esac
            ;;
@@ -3006,7 +4426,7 @@ func_mode_install ()
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
-           # Try `ln -sf' first, because the `ln' binary might depend on
+           # Try 'ln -sf' first, because the 'ln' binary might depend on
            # the symlink we replace!  Solaris /bin/ln does not understand -f,
            # so we also need to try rm && ln -s.
            for linkname
@@ -3017,14 +4437,14 @@ func_mode_install ()
          fi
 
          # Do each command in the postinstall commands.
-         lib="$destdir/$realname"
+         lib=$destdir/$realname
          func_execute_cmds "$postinstall_cmds" 'exit $?'
        fi
 
        # Install the pseudo-library for information purposes.
        func_basename "$file"
-       name="$func_basename_result"
-       instname="$dir/$name"i
+       name=$func_basename_result
+       instname=$dir/${name}i
        func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 
        # Maybe install the static library, too.
@@ -3036,11 +4456,11 @@ func_mode_install ()
 
        # Figure out destination file name, if it wasn't already specified.
        if test -n "$destname"; then
-         destfile="$destdir/$destname"
+         destfile=$destdir/$destname
        else
          func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
+         destfile=$func_basename_result
+         destfile=$destdir/$destfile
        fi
 
        # Deduce the name of the destination old-style object file.
@@ -3050,11 +4470,11 @@ func_mode_install ()
          staticdest=$func_lo2o_result
          ;;
        *.$objext)
-         staticdest="$destfile"
+         staticdest=$destfile
          destfile=
          ;;
        *)
-         func_fatal_help "cannot copy a libtool object to \`$destfile'"
+         func_fatal_help "cannot copy a libtool object to '$destfile'"
          ;;
        esac
 
@@ -3063,7 +4483,7 @@ func_mode_install ()
          func_show_eval "$install_prog $file $destfile" 'exit $?'
 
        # Install the old object if enabled.
-       if test "$build_old_libs" = yes; then
+       if test yes = "$build_old_libs"; then
          # Deduce the name of the old-style object file.
          func_lo2o "$file"
          staticobj=$func_lo2o_result
@@ -3075,23 +4495,23 @@ func_mode_install ()
       *)
        # Figure out destination file name, if it wasn't already specified.
        if test -n "$destname"; then
-         destfile="$destdir/$destname"
+         destfile=$destdir/$destname
        else
          func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
+         destfile=$func_basename_result
+         destfile=$destdir/$destfile
        fi
 
        # If the file is missing, and there is a .exe on the end, strip it
        # because it is most likely a libtool script we actually want to
        # install
-       stripped_ext=""
+       stripped_ext=
        case $file in
          *.exe)
            if test ! -f "$file"; then
              func_stripname '' '.exe' "$file"
              file=$func_stripname_result
-             stripped_ext=".exe"
+             stripped_ext=.exe
            fi
            ;;
        esac
@@ -3119,19 +4539,19 @@ func_mode_install ()
 
          # Check the variables that should have been set.
          test -z "$generated_by_libtool_version" && \
-           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+           func_fatal_error "invalid libtool wrapper script '$wrapper'"
 
-         finalize=yes
+         finalize=:
          for lib in $notinst_deplibs; do
            # Check to see that each library is installed.
            libdir=
            if test -f "$lib"; then
              func_source "$lib"
            fi
-           libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+           libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
            if test -n "$libdir" && test ! -f "$libfile"; then
-             func_warning "\`$lib' has not been installed in \`$libdir'"
-             finalize=no
+             func_warning "'$lib' has not been installed in '$libdir'"
+             finalize=false
            fi
          done
 
@@ -3139,29 +4559,29 @@ func_mode_install ()
          func_source "$wrapper"
 
          outputname=
-         if test "$fast_install" = no && test -n "$relink_command"; then
+         if test no = "$fast_install" && test -n "$relink_command"; then
            $opt_dry_run || {
-             if test "$finalize" = yes; then
+             if $finalize; then
                tmpdir=`func_mktempdir`
                func_basename "$file$stripped_ext"
-               file="$func_basename_result"
-               outputname="$tmpdir/$file"
+               file=$func_basename_result
+               outputname=$tmpdir/$file
                # Replace the output file specification.
                relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
-               $opt_silent || {
+               $opt_quiet || {
                  func_quote_for_expand "$relink_command"
                  eval "func_echo $func_quote_for_expand_result"
                }
                if eval "$relink_command"; then :
                  else
-                 func_error "error: relink \`$file' with the above command before installing it"
+                 func_error "error: relink '$file' with the above command before installing it"
                  $opt_dry_run || ${RM}r "$tmpdir"
                  continue
                fi
-               file="$outputname"
+               file=$outputname
              else
-               func_warning "cannot relink \`$file'"
+               func_warning "cannot relink '$file'"
              fi
            }
          else
@@ -3198,10 +4618,10 @@ func_mode_install ()
 
     for file in $staticlibs; do
       func_basename "$file"
-      name="$func_basename_result"
+      name=$func_basename_result
 
       # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
+      oldlib=$destdir/$name
       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
       tool_oldlib=$func_to_tool_file_result
 
@@ -3216,18 +4636,18 @@ func_mode_install ()
     done
 
     test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
+      func_warning "remember to run '$progname --finish$future_libdirs'"
 
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
     else
       exit $EXIT_SUCCESS
     fi
 }
 
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
 
 
 # func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4655,17 @@ test "$opt_mode" = install && func_mode_install ${1+"$@"}
 # a dlpreopen symbol table.
 func_generate_dlsyms ()
 {
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    $debug_cmd
+
+    my_outputname=$1
+    my_originator=$2
+    my_pic_p=${3-false}
+    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
     my_dlsyms=
 
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
       if test -n "$NM" && test -n "$global_symbol_pipe"; then
-       my_dlsyms="${my_outputname}S.c"
+       my_dlsyms=${my_outputname}S.c
       else
        func_error "not configured to extract global symbols from dlpreopened files"
       fi
@@ -3255,7 +4676,7 @@ func_generate_dlsyms ()
       "") ;;
       *.c)
        # Discover the nlist of each of the dlfiles.
-       nlist="$output_objdir/${my_outputname}.nm"
+       nlist=$output_objdir/$my_outputname.nm
 
        func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
 
@@ -3263,34 +4684,36 @@ func_generate_dlsyms ()
        func_verbose "creating $output_objdir/$my_dlsyms"
 
        $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
 
 #ifdef __cplusplus
 extern \"C\" {
 #endif
 
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
 #endif
 
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT_DLSYM_CONST
 #else
 # define LT_DLSYM_CONST const
 #endif
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* External symbol declarations for the compiler. */\
 "
 
-       if test "$dlself" = yes; then
-         func_verbose "generating symbol list for \`$output'"
+       if test yes = "$dlself"; then
+         func_verbose "generating symbol list for '$output'"
 
          $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
@@ -3298,7 +4721,7 @@ extern \"C\" {
          progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
          for progfile in $progfiles; do
            func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-           func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+           func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
            $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
          done
 
@@ -3318,10 +4741,10 @@ extern \"C\" {
 
          # Prepare the list of exported symbols
          if test -z "$export_symbols"; then
-           export_symbols="$output_objdir/$outputname.exp"
+           export_symbols=$output_objdir/$outputname.exp
            $opt_dry_run || {
              $RM $export_symbols
-             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
              case $host in
              *cygwin* | *mingw* | *cegcc* )
                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4754,7 @@ extern \"C\" {
            }
          else
            $opt_dry_run || {
-             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
              eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
              eval '$MV "$nlist"T "$nlist"'
              case $host in
@@ -3345,22 +4768,22 @@ extern \"C\" {
        fi
 
        for dlprefile in $dlprefiles; do
-         func_verbose "extracting global C symbols from \`$dlprefile'"
+         func_verbose "extracting global C symbols from '$dlprefile'"
          func_basename "$dlprefile"
-         name="$func_basename_result"
+         name=$func_basename_result
           case $host in
            *cygwin* | *mingw* | *cegcc* )
              # if an import library, we need to obtain dlname
              if func_win32_import_lib_p "$dlprefile"; then
                func_tr_sh "$dlprefile"
                eval "curr_lafile=\$libfile_$func_tr_sh_result"
-               dlprefile_dlbasename=""
+               dlprefile_dlbasename=
                if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
                  # Use subshell, to avoid clobbering current variable values
                  dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-                 if test -n "$dlprefile_dlname" ; then
+                 if test -n "$dlprefile_dlname"; then
                    func_basename "$dlprefile_dlname"
-                   dlprefile_dlbasename="$func_basename_result"
+                   dlprefile_dlbasename=$func_basename_result
                  else
                    # no lafile. user explicitly requested -dlpreopen <import library>.
                    $sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4791,7 @@ extern \"C\" {
                  fi
                fi
                $opt_dry_run || {
-                 if test -n "$dlprefile_dlbasename" ; then
+                 if test -n "$dlprefile_dlbasename"; then
                    eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
                  else
                    func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4847,11 @@ extern \"C\" {
            echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
          fi
 
+         func_show_eval '$RM "${nlist}I"'
+         if test -n "$global_symbol_to_import"; then
+           eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+         fi
+
          echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
@@ -3432,11 +4860,30 @@ typedef struct {
   void *address;
 } lt_dlsymlist;
 extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+         if test -s "$nlist"I; then
+           echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+  for (; symbol->name; ++symbol)
+    {"
+           $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+           echo >> "$output_objdir/$my_dlsyms" "\
+    }
+}"
+         fi
+         echo >> "$output_objdir/$my_dlsyms" "\
 LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+         if test -s "$nlist"I; then
+           echo >> "$output_objdir/$my_dlsyms" "\
+  {\"@INIT@\", (void *) &lt_syminit},"
+         fi
 
          case $need_lib_prefix in
          no)
@@ -3478,9 +4925,7 @@ static const void *lt_preloaded_setup() {
          *-*-hpux*)
            pic_flag_for_symtable=" $pic_flag"  ;;
          *)
-           if test "X$my_pic_p" != Xno; then
-             pic_flag_for_symtable=" $pic_flag"
-           fi
+           $my_pic_p && pic_flag_for_symtable=" $pic_flag"
            ;;
          esac
          ;;
@@ -3497,10 +4942,10 @@ static const void *lt_preloaded_setup() {
        func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
 
        # Clean up the generated files.
-       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
 
        # Transform the symbol file into the correct name.
-       symfileobj="$output_objdir/${my_outputname}S.$objext"
+       symfileobj=$output_objdir/${my_outputname}S.$objext
        case $host in
        *cygwin* | *mingw* | *cegcc* )
          if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4963,7 @@ static const void *lt_preloaded_setup() {
        esac
        ;;
       *)
-       func_fatal_error "unknown suffix for \`$my_dlsyms'"
+       func_fatal_error "unknown suffix for '$my_dlsyms'"
        ;;
       esac
     else
@@ -3532,6 +4977,32 @@ static const void *lt_preloaded_setup() {
     fi
 }
 
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
 # func_win32_libid arg
 # return the library type of file 'arg'
 #
@@ -3541,8 +5012,9 @@ static const void *lt_preloaded_setup() {
 # Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
-  $opt_debug
-  win32_libid_type="unknown"
+  $debug_cmd
+
+  win32_libid_type=unknown
   win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in
   *ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +5024,29 @@ func_win32_libid ()
     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      func_to_tool_file "$1" func_convert_file_msys_to_w32
-      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-       $SED -n -e '
+      case $nm_interface in
+      "MS dumpbin")
+       if func_cygming_ms_implib_p "$1" ||
+          func_cygming_gnu_implib_p "$1"
+       then
+         win32_nmres=import
+       else
+         win32_nmres=
+       fi
+       ;;
+      *)
+       func_to_tool_file "$1" func_convert_file_msys_to_w32
+       win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+         $SED -n -e '
            1,100{
                / I /{
-                   s,.*,import,
+                   s|.*|import|
                    p
                    q
                }
            }'`
+       ;;
+      esac
       case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;
@@ -3593,7 +5078,8 @@ func_win32_libid ()
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib ()
 {
-  $opt_debug
+  $debug_cmd
+
   sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
 }
 
@@ -3610,7 +5096,8 @@ func_cygming_dll_for_implib ()
 # specified import library.
 func_cygming_dll_for_implib_fallback_core ()
 {
-  $opt_debug
+  $debug_cmd
+
   match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
   $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
     $SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5133,8 @@ func_cygming_dll_for_implib_fallback_core ()
       /./p' |
     # we now have a list, one entry per line, of the stringified
     # contents of the appropriate section of all members of the
-    # archive which possess that section. Heuristic: eliminate
-    # all those which have a first or second character that is
+    # archive that possess that section. Heuristic: eliminate
+    # all those that have a first or second character that is
     # a '.' (that is, objdump's representation of an unprintable
     # character.) This should work for all archives with less than
     # 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5145,6 @@ func_cygming_dll_for_implib_fallback_core ()
     $SED -e '/^\./d;/^.\./d;q'
 }
 
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
 # func_cygming_dll_for_implib_fallback ARG
 # Platform-specific function to extract the
 # name of the DLL associated with the specified
@@ -3695,16 +5158,17 @@ func_cygming_ms_implib_p ()
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib_fallback ()
 {
-  $opt_debug
-  if func_cygming_gnu_implib_p "$1" ; then
+  $debug_cmd
+
+  if func_cygming_gnu_implib_p "$1"; then
     # binutils import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1" ; then
+  elif func_cygming_ms_implib_p "$1"; then
     # ms-generated import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
   else
     # unknown
-    sharedlib_from_linklib_result=""
+    sharedlib_from_linklib_result=
   fi
 }
 
@@ -3712,10 +5176,11 @@ func_cygming_dll_for_implib_fallback ()
 # func_extract_an_archive dir oldlib
 func_extract_an_archive ()
 {
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
+    $debug_cmd
+
+    f_ex_an_ar_dir=$1; shift
+    f_ex_an_ar_oldlib=$1
+    if test yes = "$lock_old_archive_extraction"; then
       lockfile=$f_ex_an_ar_oldlib.lock
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
        func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5189,7 @@ func_extract_an_archive ()
     fi
     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
                   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
+    if test yes = "$lock_old_archive_extraction"; then
       $opt_dry_run || rm -f "$lockfile"
     fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5203,23 @@ func_extract_an_archive ()
 # func_extract_archives gentop oldlib ...
 func_extract_archives ()
 {
-    $opt_debug
-    my_gentop="$1"; shift
+    $debug_cmd
+
+    my_gentop=$1; shift
     my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
+    my_oldobjs=
+    my_xlib=
+    my_xabs=
+    my_xdir=
 
     for my_xlib in $my_oldlibs; do
       # Extract the objects.
       case $my_xlib in
-       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
        *) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
+      my_xlib=$func_basename_result
       my_xlib_u=$my_xlib
       while :; do
         case " $extracted_archives " in
@@ -3765,7 +5231,7 @@ func_extract_archives ()
        esac
       done
       extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
+      my_xdir=$my_gentop/$my_xlib_u
 
       func_mkdir_p "$my_xdir"
 
@@ -3778,22 +5244,23 @@ func_extract_archives ()
          cd $my_xdir || exit $?
          darwin_archive=$my_xabs
          darwin_curdir=`pwd`
-         darwin_base_archive=`basename "$darwin_archive"`
+         func_basename "$darwin_archive"
+         darwin_base_archive=$func_basename_result
          darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
          if test -n "$darwin_arches"; then
            darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
            darwin_arch=
            func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-           for darwin_arch in  $darwin_arches ; do
-             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+           for darwin_arch in  $darwin_arches; do
+             func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+             $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+             cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+             func_extract_an_archive "`pwd`" "$darwin_base_archive"
              cd "$darwin_curdir"
-             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+             $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
            done # $darwin_arches
             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
            darwin_file=
            darwin_files=
            for darwin_file in $darwin_filelist; do
@@ -3815,7 +5282,7 @@ func_extract_archives ()
       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
-    func_extract_archives_result="$my_oldobjs"
+    func_extract_archives_result=$my_oldobjs
 }
 
 
@@ -3830,7 +5297,7 @@ func_extract_archives ()
 #
 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
 # variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
 # the $objdir directory.  This is a cygwin/mingw-specific
 # behavior.
 func_emit_wrapper ()
@@ -3841,7 +5308,7 @@ func_emit_wrapper ()
 #! $SHELL
 
 # $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # The $output program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.
@@ -3898,9 +5365,9 @@ _LTECHO_EOF'
 
 # Very basic option parsing. These options are (a) specific to
 # the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /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 which match
+# (application programs are unlikely to have options that match
 # this pattern).
 #
 # There are only two supported options: --lt-debug and
@@ -3933,7 +5400,7 @@ func_parse_lt_options ()
 
   # Print the debug banner immediately:
   if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
   fi
 }
 
@@ -3944,7 +5411,7 @@ func_lt_dump_args ()
   lt_dump_args_N=1;
   for lt_arg
   do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
     lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
   done
 }
@@ -3958,7 +5425,7 @@ func_exec_program_core ()
   *-*-mingw | *-*-os2* | *-cegcc*)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5435,7 @@ func_exec_program_core ()
   *)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5510,13 @@ func_exec_program ()
   test -n \"\$absdir\" && thisdir=\"\$absdir\"
 "
 
-       if test "$fast_install" = yes; then
+       if test yes = "$fast_install"; then
          $ECHO "\
   program=lt-'$outputname'$exeext
   progdir=\"\$thisdir/$objdir\"
 
   if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 
     file=\"\$\$-\$program\"
@@ -4066,7 +5533,7 @@ func_exec_program ()
     if test -n \"\$relink_command\"; then
       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
       else
-       $ECHO \"\$relink_command_output\" >&2
+       \$ECHO \"\$relink_command_output\" >&2
        $RM \"\$progdir/\$file\"
        exit 1
       fi
@@ -4101,7 +5568,7 @@ func_exec_program ()
        fi
 
        # Export our shlibpath_var if we have one.
-       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+       if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
          $ECHO "\
     # Add our own library path to $shlibpath_var
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5588,7 @@ func_exec_program ()
     fi
   else
     # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
     \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
@@ -4140,7 +5607,7 @@ func_emit_cwrapperexe_src ()
        cat <<EOF
 
 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 
    The $output program cannot be directly executed until all the libtool
    libraries that it depends on are installed.
@@ -4175,47 +5642,45 @@ EOF
 #include <fcntl.h>
 #include <sys/stat.h>
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
 # ifdef __STRICT_ANSI__
 int _putenv (const char *);
 # endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # ifdef __STRICT_ANSI__
 char *realpath (const char *, char *);
 int putenv (char *);
 int setenv (const char *, const char *, int);
 # endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
 #endif
 
 /* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
 # define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # define HAVE_SETENV
 # define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
 #endif
 
-#if defined(PATH_MAX)
+#if defined PATH_MAX
 # define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
 # define LT_PATHMAX MAXPATHLEN
 #else
 # define LT_PATHMAX 1024
@@ -4234,8 +5699,8 @@ int setenv (const char *, const char *, int);
 # define PATH_SEPARATOR ':'
 #endif
 
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+  defined __OS2__
 # define HAVE_DOS_BASED_FILE_SYSTEM
 # define FOPEN_WB "wb"
 # ifndef DIR_SEPARATOR_2
@@ -4268,10 +5733,10 @@ int setenv (const char *, const char *, int);
 
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
+  if (stale) { free (stale); stale = 0; } \
 } while (0)
 
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
 static int lt_debug = 1;
 #else
 static int lt_debug = 0;
@@ -4300,11 +5765,16 @@ void lt_dump_script (FILE *f);
 EOF
 
            cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
 const char * LIB_PATH_VARNAME = "$shlibpath_var";
 EOF
 
-           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+           if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
               func_to_host_path "$temp_rpath"
              cat <<EOF
 const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
@@ -4328,7 +5798,7 @@ const char * EXE_PATH_VALUE   = "";
 EOF
            fi
 
-           if test "$fast_install" = yes; then
+           if test yes = "$fast_install"; then
              cat <<EOF
 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
 EOF
@@ -4357,12 +5827,12 @@ main (int argc, char *argv[])
   char *actual_cwrapper_name;
   char *target_name;
   char *lt_argv_zero;
-  intptr_t rval = 127;
+  int rval = 127;
 
   int i;
 
   program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, argc + 1);
+  newargz = XMALLOC (char *, (size_t) argc + 1);
 
   /* very simple arg parsing; don't want to rely on getopt
    * also, copy all non cwrapper options to newargz, except
@@ -4371,10 +5841,10 @@ main (int argc, char *argv[])
   newargc=0;
   for (i = 1; i < argc; i++)
     {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
+      if (STREQ (argv[i], dumpscript_opt))
        {
 EOF
-           case "$host" in
+           case $host in
              *mingw* | *cygwin* )
                # make stdout use "unix" line endings
                echo "          setmode(1,_O_BINARY);"
@@ -4385,12 +5855,12 @@ EOF
          lt_dump_script (stdout);
          return 0;
        }
-      if (strcmp (argv[i], debug_opt) == 0)
+      if (STREQ (argv[i], debug_opt))
        {
           lt_debug = 1;
           continue;
        }
-      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+      if (STREQ (argv[i], ltwrapper_option_prefix))
         {
           /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
              namespace, but it is not one of the ones we know about and
@@ -4413,7 +5883,7 @@ EOF
 EOF
            cat <<EOF
   /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
 EOF
            cat <<"EOF"
   lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
@@ -4524,7 +5994,7 @@ EOF
                cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */
   newargz = prepare_spawn (newargz);
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)
     {
       /* failed to start process */
@@ -4569,7 +6039,7 @@ base_name (const char *name)
 {
   const char *base;
 
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
   /* Skip over the disk name in MSDOS pathnames. */
   if (isalpha ((unsigned char) name[0]) && name[1] == ':')
     name += 2;
@@ -4628,7 +6098,7 @@ find_executable (const char *wrapper)
   const char *p_next;
   /* static buffer for getcwd */
   char tmp[LT_PATHMAX + 1];
-  int tmp_len;
+  size_t tmp_len;
   char *concat_name;
 
   lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
@@ -4638,7 +6108,7 @@ find_executable (const char *wrapper)
     return NULL;
 
   /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
   if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
     {
       concat_name = xstrdup (wrapper);
@@ -4656,7 +6126,7 @@ find_executable (const char *wrapper)
            return concat_name;
          XFREE (concat_name);
        }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
     }
 #endif
 
@@ -4679,7 +6149,7 @@ find_executable (const char *wrapper)
              for (q = p; *q; q++)
                if (IS_PATH_SEPARATOR (*q))
                  break;
-             p_len = q - p;
+             p_len = (size_t) (q - p);
              p_next = (*q == '\0' ? q : q + 1);
              if (p_len == 0)
                {
@@ -4798,7 +6268,7 @@ strendzap (char *str, const char *pat)
   if (patlen <= len)
     {
       str += len - patlen;
-      if (strcmp (str, pat) == 0)
+      if (STREQ (str, pat))
        *str = '\0';
     }
   return str;
@@ -4863,7 +6333,7 @@ lt_setenv (const char *name, const char *value)
     char *str = xstrdup (value);
     setenv (name, str, 1);
 #else
-    int len = strlen (name) + 1 + strlen (value) + 1;
+    size_t len = strlen (name) + 1 + strlen (value) + 1;
     char *str = XMALLOC (char, len);
     sprintf (str, "%s=%s", name, value);
     if (putenv (str) != EXIT_SUCCESS)
@@ -4880,8 +6350,8 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
   char *new_value;
   if (orig_value && *orig_value)
     {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
+      size_t orig_value_len = strlen (orig_value);
+      size_t add_len = strlen (add);
       new_value = XMALLOC (char, add_len + orig_value_len + 1);
       if (to_end)
         {
@@ -4912,10 +6382,10 @@ lt_update_exe_path (const char *name, const char *value)
     {
       char *new_value = lt_extend_str (getenv (name), value, 0);
       /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+      size_t len = strlen (new_value);
+      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
         {
-          new_value[len-1] = '\0';
+          new_value[--len] = '\0';
         }
       lt_setenv (name, new_value);
       XFREE (new_value);
@@ -5082,27 +6552,47 @@ EOF
 # True if ARG is an import lib, as indicated by $file_magic_cmd
 func_win32_import_lib_p ()
 {
-    $opt_debug
+    $debug_cmd
+
     case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
     *import*) : ;;
     *) false ;;
     esac
 }
 
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $host in
     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
       # It is impossible to link a dll without this setting, and
       # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
+      # what system we are compiling for in order to pass an extra
       # flag for every libtool invocation.
       # allow_undefined=no
 
       # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
+      # to make a dll that has undefined symbols, in which case not
       # even a static library is built.  For now, we need to specify
       # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6636,11 @@ func_mode_link ()
     module=no
     no_install=no
     objs=
+    os2dllname=
     non_pic_objects=
     precious_files_regex=
     prefer_static_libs=no
-    preload=no
+    preload=false
     prev=
     prevarg=
     release=
@@ -5161,7 +6652,7 @@ func_mode_link ()
     vinfo=
     vinfo_number=no
     weak_libs=
-    single_module="${wl}-single_module"
+    single_module=$wl-single_module
     func_infer_tag $base_compile
 
     # We need to know -static, to get the right output filenames.
@@ -5169,15 +6660,15 @@ func_mode_link ()
     do
       case $arg in
       -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
+       test yes != "$build_libtool_libs" \
+         && func_fatal_configuration "cannot build a shared library"
        build_old_libs=no
        break
        ;;
       -all-static | -static | -static-libtool-libs)
        case $arg in
        -all-static)
-         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+         if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
            func_warning "complete static linking is impossible in this configuration"
          fi
          if test -n "$link_static_flag"; then
@@ -5210,7 +6701,7 @@ func_mode_link ()
 
     # Go through the arguments, transforming them on the way.
     while test "$#" -gt 0; do
-      arg="$1"
+      arg=$1
       shift
       func_quote_for_eval "$arg"
       qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6718,21 @@ func_mode_link ()
 
        case $prev in
        bindir)
-         bindir="$arg"
+         bindir=$arg
          prev=
          continue
          ;;
        dlfiles|dlprefiles)
-         if test "$preload" = no; then
+         $preload || {
            # Add the symbol object into the linking commands.
            func_append compile_command " @SYMFILE@"
            func_append finalize_command " @SYMFILE@"
-           preload=yes
-         fi
+           preload=:
+         }
          case $arg in
          *.la | *.lo) ;;  # We handle these cases below.
          force)
-           if test "$dlself" = no; then
+           if test no = "$dlself"; then
              dlself=needless
              export_dynamic=yes
            fi
@@ -5249,9 +6740,9 @@ func_mode_link ()
            continue
            ;;
          self)
-           if test "$prev" = dlprefiles; then
+           if test dlprefiles = "$prev"; then
              dlself=yes
-           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+           elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
              dlself=yes
            else
              dlself=needless
@@ -5261,7 +6752,7 @@ func_mode_link ()
            continue
            ;;
          *)
-           if test "$prev" = dlfiles; then
+           if test dlfiles = "$prev"; then
              func_append dlfiles " $arg"
            else
              func_append dlprefiles " $arg"
@@ -5272,14 +6763,14 @@ func_mode_link ()
          esac
          ;;
        expsyms)
-         export_symbols="$arg"
+         export_symbols=$arg
          test -f "$arg" \
-           || func_fatal_error "symbol file \`$arg' does not exist"
+           || func_fatal_error "symbol file '$arg' does not exist"
          prev=
          continue
          ;;
        expsyms_regex)
-         export_symbols_regex="$arg"
+         export_symbols_regex=$arg
          prev=
          continue
          ;;
@@ -5297,7 +6788,13 @@ func_mode_link ()
          continue
          ;;
        inst_prefix)
-         inst_prefix_dir="$arg"
+         inst_prefix_dir=$arg
+         prev=
+         continue
+         ;;
+       mllvm)
+         # Clang does not use LLVM to link, so we can simply discard any
+         # '-mllvm $arg' options when doing the link step.
          prev=
          continue
          ;;
@@ -5321,21 +6818,21 @@ func_mode_link ()
 
                if test -z "$pic_object" ||
                   test -z "$non_pic_object" ||
-                  test "$pic_object" = none &&
-                  test "$non_pic_object" = none; then
-                 func_fatal_error "cannot find name of object for \`$arg'"
+                  test none = "$pic_object" &&
+                  test none = "$non_pic_object"; then
+                 func_fatal_error "cannot find name of object for '$arg'"
                fi
 
                # Extract subdirectory from the argument.
                func_dirname "$arg" "/" ""
-               xdir="$func_dirname_result"
+               xdir=$func_dirname_result
 
-               if test "$pic_object" != none; then
+               if test none != "$pic_object"; then
                  # Prepend the subdirectory the object is found in.
-                 pic_object="$xdir$pic_object"
+                 pic_object=$xdir$pic_object
 
-                 if test "$prev" = dlfiles; then
-                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+                 if test dlfiles = "$prev"; then
+                   if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                      func_append dlfiles " $pic_object"
                      prev=
                      continue
@@ -5346,7 +6843,7 @@ func_mode_link ()
                  fi
 
                  # CHECK ME:  I think I busted this.  -Ossama
-                 if test "$prev" = dlprefiles; then
+                 if test dlprefiles = "$prev"; then
                    # Preload the old-style object.
                    func_append dlprefiles " $pic_object"
                    prev=
@@ -5354,23 +6851,23 @@ func_mode_link ()
 
                  # A PIC object.
                  func_append libobjs " $pic_object"
-                 arg="$pic_object"
+                 arg=$pic_object
                fi
 
                # Non-PIC object.
-               if test "$non_pic_object" != none; then
+               if test none != "$non_pic_object"; then
                  # Prepend the subdirectory the object is found in.
-                 non_pic_object="$xdir$non_pic_object"
+                 non_pic_object=$xdir$non_pic_object
 
                  # A standard non-PIC object
                  func_append non_pic_objects " $non_pic_object"
-                 if test -z "$pic_object" || test "$pic_object" = none ; then
-                   arg="$non_pic_object"
+                 if test -z "$pic_object" || test none = "$pic_object"; then
+                   arg=$non_pic_object
                  fi
                else
                  # If the PIC object exists, use it instead.
                  # $xdir was prepended to $pic_object above.
-                 non_pic_object="$pic_object"
+                 non_pic_object=$pic_object
                  func_append non_pic_objects " $non_pic_object"
                fi
              else
@@ -5378,7 +6875,7 @@ func_mode_link ()
                if $opt_dry_run; then
                  # Extract subdirectory from the argument.
                  func_dirname "$arg" "/" ""
-                 xdir="$func_dirname_result"
+                 xdir=$func_dirname_result
 
                  func_lo2o "$arg"
                  pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6883,29 @@ func_mode_link ()
                  func_append libobjs " $pic_object"
                  func_append non_pic_objects " $non_pic_object"
                else
-                 func_fatal_error "\`$arg' is not a valid libtool object"
+                 func_fatal_error "'$arg' is not a valid libtool object"
                fi
              fi
            done
          else
-           func_fatal_error "link input file \`$arg' does not exist"
+           func_fatal_error "link input file '$arg' does not exist"
          fi
          arg=$save_arg
          prev=
          continue
          ;;
+       os2dllname)
+         os2dllname=$arg
+         prev=
+         continue
+         ;;
        precious_regex)
-         precious_files_regex="$arg"
+         precious_files_regex=$arg
          prev=
          continue
          ;;
        release)
-         release="-$arg"
+         release=-$arg
          prev=
          continue
          ;;
@@ -5415,7 +6917,7 @@ func_mode_link ()
            func_fatal_error "only absolute run-paths are allowed"
            ;;
          esac
-         if test "$prev" = rpath; then
+         if test rpath = "$prev"; then
            case "$rpath " in
            *" $arg "*) ;;
            *) func_append rpath " $arg" ;;
@@ -5430,7 +6932,7 @@ func_mode_link ()
          continue
          ;;
        shrext)
-         shrext_cmds="$arg"
+         shrext_cmds=$arg
          prev=
          continue
          ;;
@@ -5470,7 +6972,7 @@ func_mode_link ()
        esac
       fi # test -n "$prev"
 
-      prevarg="$arg"
+      prevarg=$arg
 
       case $arg in
       -all-static)
@@ -5484,7 +6986,7 @@ func_mode_link ()
 
       -allow-undefined)
        # FIXME: remove this flag sometime in the future.
-       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+       func_fatal_error "'-allow-undefined' must not be used because it is the default"
        ;;
 
       -avoid-version)
@@ -5516,7 +7018,7 @@ func_mode_link ()
        if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
          func_fatal_error "more than one -exported-symbols argument is not allowed"
        fi
-       if test "X$arg" = "X-export-symbols"; then
+       if test X-export-symbols = "X$arg"; then
          prev=expsyms
        else
          prev=expsyms_regex
@@ -5550,9 +7052,9 @@ func_mode_link ()
        func_stripname "-L" '' "$arg"
        if test -z "$func_stripname_result"; then
          if test "$#" -gt 0; then
-           func_fatal_error "require no space between \`-L' and \`$1'"
+           func_fatal_error "require no space between '-L' and '$1'"
          else
-           func_fatal_error "need path for \`-L' option"
+           func_fatal_error "need path for '-L' option"
          fi
        fi
        func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +7065,8 @@ func_mode_link ()
        *)
          absdir=`cd "$dir" && pwd`
          test -z "$absdir" && \
-           func_fatal_error "cannot determine absolute directory name of \`$dir'"
-         dir="$absdir"
+           func_fatal_error "cannot determine absolute directory name of '$dir'"
+         dir=$absdir
          ;;
        esac
        case "$deplibs " in
@@ -5599,7 +7101,7 @@ func_mode_link ()
        ;;
 
       -l*)
-       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+       if test X-lc = "X$arg" || test X-lm = "X$arg"; then
          case $host in
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
            # These systems don't actually have a C or math library (as such)
@@ -5607,11 +7109,11 @@ func_mode_link ()
            ;;
          *-*-os2*)
            # These systems don't actually have a C library (as such)
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
            # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          *-*-rhapsody* | *-*-darwin1.[012])
            # Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7122,16 @@ func_mode_link ()
            ;;
          *-*-sco3.2v5* | *-*-sco5v6*)
            # Causes problems with __ctype
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
            # Compiler inserts libc in the correct place for threads to work
-           test "X$arg" = "X-lc" && continue
+           test X-lc = "X$arg" && continue
            ;;
          esac
-       elif test "X$arg" = "X-lc_r"; then
+       elif test X-lc_r = "X$arg"; then
         case $host in
-        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
           # Do not include libc_r directly, use -pthread flag.
           continue
           ;;
@@ -5639,6 +7141,11 @@ func_mode_link ()
        continue
        ;;
 
+      -mllvm)
+       prev=mllvm
+       continue
+       ;;
+
       -module)
        module=yes
        continue
@@ -5668,7 +7175,7 @@ func_mode_link ()
        ;;
 
       -multi_module)
-       single_module="${wl}-multi_module"
+       single_module=$wl-multi_module
        continue
        ;;
 
@@ -5682,8 +7189,8 @@ func_mode_link ()
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
          # The PATH hackery in wrapper scripts is required on Windows
          # and Darwin in order for the loader to find any dlls it needs.
-         func_warning "\`-no-install' is ignored for $host"
-         func_warning "assuming \`-no-fast-install' instead"
+         func_warning "'-no-install' is ignored for $host"
+         func_warning "assuming '-no-fast-install' instead"
          fast_install=no
          ;;
        *) no_install=yes ;;
@@ -5701,6 +7208,11 @@ func_mode_link ()
        continue
        ;;
 
+      -os2dllname)
+       prev=os2dllname
+       continue
+       ;;
+
       -o) prev=output ;;
 
       -precious-files-regex)
@@ -5788,14 +7300,14 @@ func_mode_link ()
        func_stripname '-Wc,' '' "$arg"
        args=$func_stripname_result
        arg=
-       save_ifs="$IFS"; IFS=','
+       save_ifs=$IFS; IFS=,
        for flag in $args; do
-         IFS="$save_ifs"
+         IFS=$save_ifs
           func_quote_for_eval "$flag"
          func_append arg " $func_quote_for_eval_result"
          func_append compiler_flags " $func_quote_for_eval_result"
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
        func_stripname ' ' '' "$arg"
        arg=$func_stripname_result
        ;;
@@ -5804,15 +7316,15 @@ func_mode_link ()
        func_stripname '-Wl,' '' "$arg"
        args=$func_stripname_result
        arg=
-       save_ifs="$IFS"; IFS=','
+       save_ifs=$IFS; IFS=,
        for flag in $args; do
-         IFS="$save_ifs"
+         IFS=$save_ifs
           func_quote_for_eval "$flag"
          func_append arg " $wl$func_quote_for_eval_result"
          func_append compiler_flags " $wl$func_quote_for_eval_result"
          func_append linker_flags " $func_quote_for_eval_result"
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
        func_stripname ' ' '' "$arg"
        arg=$func_stripname_result
        ;;
@@ -5835,7 +7347,7 @@ func_mode_link ()
       # -msg_* for osf cc
       -msg_*)
        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
 
       # Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7359,52 @@ func_mode_link ()
       # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
       # -F/path              path to uninstalled frameworks, gcc on darwin
       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # -fstack-protector*   stack protector flags for GCC
       # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
-      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -specs=*             GCC specs files
+      # -stdlib=*            select c++ std lib with clang
+      # -fsanitize=*         Clang/GCC memory and address sanitizer
+      # -fuse-ld=*           Linker select flags for GCC
+      # -static-*            direct GCC to link specific libraries statically
+      # -fcilkplus           Cilk Plus language extension features for C/C++
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
         func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
         func_append compiler_flags " $arg"
         continue
         ;;
 
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+         compiler_flags="$compiler_flags $arg"
+         func_append compile_command " $arg"
+         func_append finalize_command " $arg"
+         case $arg in
+         -Zlinker | -Zstack)
+           prev=xcompiler
+           ;;
+         esac
+         continue
+        else
+         # Otherwise treat like 'Some other compiler flag' below
+         func_quote_for_eval "$arg"
+         arg=$func_quote_for_eval_result
+        fi
+       ;;
+
       # Some other compiler flag.
       -* | +*)
         func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
 
       *.$objext)
@@ -5886,21 +7425,21 @@ func_mode_link ()
 
          if test -z "$pic_object" ||
             test -z "$non_pic_object" ||
-            test "$pic_object" = none &&
-            test "$non_pic_object" = none; then
-           func_fatal_error "cannot find name of object for \`$arg'"
+            test none = "$pic_object" &&
+            test none = "$non_pic_object"; then
+           func_fatal_error "cannot find name of object for '$arg'"
          fi
 
          # Extract subdirectory from the argument.
          func_dirname "$arg" "/" ""
-         xdir="$func_dirname_result"
+         xdir=$func_dirname_result
 
-         if test "$pic_object" != none; then
+         test none = "$pic_object" || {
            # Prepend the subdirectory the object is found in.
-           pic_object="$xdir$pic_object"
+           pic_object=$xdir$pic_object
 
-           if test "$prev" = dlfiles; then
-             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+           if test dlfiles = "$prev"; then
+             if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                func_append dlfiles " $pic_object"
                prev=
                continue
@@ -5911,7 +7450,7 @@ func_mode_link ()
            fi
 
            # CHECK ME:  I think I busted this.  -Ossama
-           if test "$prev" = dlprefiles; then
+           if test dlprefiles = "$prev"; then
              # Preload the old-style object.
              func_append dlprefiles " $pic_object"
              prev=
@@ -5919,23 +7458,23 @@ func_mode_link ()
 
            # A PIC object.
            func_append libobjs " $pic_object"
-           arg="$pic_object"
-         fi
+           arg=$pic_object
+         }
 
          # Non-PIC object.
-         if test "$non_pic_object" != none; then
+         if test none != "$non_pic_object"; then
            # Prepend the subdirectory the object is found in.
-           non_pic_object="$xdir$non_pic_object"
+           non_pic_object=$xdir$non_pic_object
 
            # A standard non-PIC object
            func_append non_pic_objects " $non_pic_object"
-           if test -z "$pic_object" || test "$pic_object" = none ; then
-             arg="$non_pic_object"
+           if test -z "$pic_object" || test none = "$pic_object"; then
+             arg=$non_pic_object
            fi
          else
            # If the PIC object exists, use it instead.
            # $xdir was prepended to $pic_object above.
-           non_pic_object="$pic_object"
+           non_pic_object=$pic_object
            func_append non_pic_objects " $non_pic_object"
          fi
        else
@@ -5943,7 +7482,7 @@ func_mode_link ()
          if $opt_dry_run; then
            # Extract subdirectory from the argument.
            func_dirname "$arg" "/" ""
-           xdir="$func_dirname_result"
+           xdir=$func_dirname_result
 
            func_lo2o "$arg"
            pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7490,7 @@ func_mode_link ()
            func_append libobjs " $pic_object"
            func_append non_pic_objects " $non_pic_object"
          else
-           func_fatal_error "\`$arg' is not a valid libtool object"
+           func_fatal_error "'$arg' is not a valid libtool object"
          fi
        fi
        ;;
@@ -5967,11 +7506,11 @@ func_mode_link ()
        # A libtool-controlled library.
 
        func_resolve_sysroot "$arg"
-       if test "$prev" = dlfiles; then
+       if test dlfiles = "$prev"; then
          # This library was specified with -dlopen.
          func_append dlfiles " $func_resolve_sysroot_result"
          prev=
-       elif test "$prev" = dlprefiles; then
+       elif test dlprefiles = "$prev"; then
          # The library was specified with -dlpreopen.
          func_append dlprefiles " $func_resolve_sysroot_result"
          prev=
@@ -5986,7 +7525,7 @@ func_mode_link ()
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
+       arg=$func_quote_for_eval_result
        ;;
       esac # arg
 
@@ -5998,9 +7537,9 @@ func_mode_link ()
     done # argument parsing loop
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
+      func_fatal_help "the '$prevarg' option requires an argument"
 
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
       eval arg=\"$export_dynamic_flag_spec\"
       func_append compile_command " $arg"
       func_append finalize_command " $arg"
@@ -6009,20 +7548,23 @@ func_mode_link ()
     oldlibs=
     # calculate the name of the file, without its directory
     func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
+    outputname=$func_basename_result
+    libobjs_save=$libobjs
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
     func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
+    output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"
     tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.
@@ -6045,7 +7587,7 @@ func_mode_link ()
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if $opt_preserve_dup_deps ; then
+      if $opt_preserve_dup_deps; then
        case "$libs " in
        *" $deplib "*) func_append specialdeplibs " $deplib" ;;
        esac
@@ -6053,7 +7595,7 @@ func_mode_link ()
       func_append libs " $deplib"
     done
 
-    if test "$linkmode" = lib; then
+    if test lib = "$linkmode"; then
       libs="$predeps $libs $compiler_lib_search_path $postdeps"
 
       # Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7627,7 @@ func_mode_link ()
          case $file in
          *.la) ;;
          *)
-           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+           func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
            ;;
          esac
        done
@@ -6093,7 +7635,7 @@ func_mode_link ()
     prog)
        compile_deplibs=
        finalize_deplibs=
-       alldeplibs=no
+       alldeplibs=false
        newdlfiles=
        newdlprefiles=
        passes="conv scan dlopen dlpreopen link"
@@ -6105,32 +7647,32 @@ func_mode_link ()
     for pass in $passes; do
       # The preopen pass in lib mode reverses $deplibs; put it back here
       # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
+      if test lib,link = "$linkmode,$pass"; then
        ## FIXME: Find the place where the list is rebuilt in the wrong
        ##        order, and fix it there properly
         tmp_deplibs=
        for deplib in $deplibs; do
          tmp_deplibs="$deplib $tmp_deplibs"
        done
-       deplibs="$tmp_deplibs"
+       deplibs=$tmp_deplibs
       fi
 
-      if test "$linkmode,$pass" = "lib,link" ||
-        test "$linkmode,$pass" = "prog,scan"; then
-       libs="$deplibs"
+      if test lib,link = "$linkmode,$pass" ||
+        test prog,scan = "$linkmode,$pass"; then
+       libs=$deplibs
        deplibs=
       fi
-      if test "$linkmode" = prog; then
+      if test prog = "$linkmode"; then
        case $pass in
-       dlopen) libs="$dlfiles" ;;
-       dlpreopen) libs="$dlprefiles" ;;
+       dlopen) libs=$dlfiles ;;
+       dlpreopen) libs=$dlprefiles ;;
        link)
          libs="$deplibs %DEPLIBS%"
          test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
          ;;
        esac
       fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+      if test lib,dlpreopen = "$linkmode,$pass"; then
        # Collect and forward deplibs of preopened libtool libs
        for lib in $dlprefiles; do
          # Ignore non-libtool-libs
@@ -6151,26 +7693,26 @@ func_mode_link ()
            esac
          done
        done
-       libs="$dlprefiles"
+       libs=$dlprefiles
       fi
-      if test "$pass" = dlopen; then
+      if test dlopen = "$pass"; then
        # Collect dlpreopened libraries
-       save_deplibs="$deplibs"
+       save_deplibs=$deplibs
        deplibs=
       fi
 
       for deplib in $libs; do
        lib=
-       found=no
+       found=false
        case $deplib in
        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
         |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-         if test "$linkmode,$pass" = "prog,link"; then
+         if test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
            func_append compiler_flags " $deplib"
-           if test "$linkmode" = lib ; then
+           if test lib = "$linkmode"; then
                case "$new_inherited_linker_flags " in
                    *" $deplib "*) ;;
                    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6180,13 +7722,13 @@ func_mode_link ()
          continue
          ;;
        -l*)
-         if test "$linkmode" != lib && test "$linkmode" != prog; then
-           func_warning "\`-l' is ignored for archives/objects"
+         if test lib != "$linkmode" && test prog != "$linkmode"; then
+           func_warning "'-l' is ignored for archives/objects"
            continue
          fi
          func_stripname '-l' '' "$deplib"
          name=$func_stripname_result
-         if test "$linkmode" = lib; then
+         if test lib = "$linkmode"; then
            searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
          else
            searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6194,31 +7736,22 @@ func_mode_link ()
          for searchdir in $searchdirs; do
            for search_ext in .la $std_shrext .so .a; do
              # Search the libtool library
-             lib="$searchdir/lib${name}${search_ext}"
+             lib=$searchdir/lib$name$search_ext
              if test -f "$lib"; then
-               if test "$search_ext" = ".la"; then
-                 found=yes
+               if test .la = "$search_ext"; then
+                 found=:
                else
-                 found=no
+                 found=false
                fi
                break 2
              fi
            done
          done
-         if test "$found" != yes; then
-           # deplib doesn't seem to be a libtool library
-           if test "$linkmode,$pass" = "prog,link"; then
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             deplibs="$deplib $deplibs"
-             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-           fi
-           continue
-         else # deplib is a libtool library
+         if $found; then
+           # deplib is a libtool library
            # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
            # We need to do some special things here, and not later.
-           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+           if test yes = "$allow_libtool_libs_with_static_runtimes"; then
              case " $predeps $postdeps " in
              *" $deplib "*)
                if func_lalib_p "$lib"; then
@@ -6226,19 +7759,19 @@ func_mode_link ()
                  old_library=
                  func_source "$lib"
                  for l in $old_library $library_names; do
-                   ll="$l"
+                   ll=$l
                  done
-                 if test "X$ll" = "X$old_library" ; then # only static version available
-                   found=no
+                 if test "X$ll" = "X$old_library"; then # only static version available
+                   found=false
                    func_dirname "$lib" "" "."
-                   ladir="$func_dirname_result"
+                   ladir=$func_dirname_result
                    lib=$ladir/$old_library
-                   if test "$linkmode,$pass" = "prog,link"; then
+                   if test prog,link = "$linkmode,$pass"; then
                      compile_deplibs="$deplib $compile_deplibs"
                      finalize_deplibs="$deplib $finalize_deplibs"
                    else
                      deplibs="$deplib $deplibs"
-                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+                     test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
                    fi
                    continue
                  fi
@@ -6247,15 +7780,25 @@ func_mode_link ()
              *) ;;
              esac
            fi
+         else
+           # deplib doesn't seem to be a libtool library
+           if test prog,link = "$linkmode,$pass"; then
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             deplibs="$deplib $deplibs"
+             test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+           fi
+           continue
          fi
          ;; # -l
        *.ltframework)
-         if test "$linkmode,$pass" = "prog,link"; then
+         if test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$deplib $compile_deplibs"
            finalize_deplibs="$deplib $finalize_deplibs"
          else
            deplibs="$deplib $deplibs"
-           if test "$linkmode" = lib ; then
+           if test lib = "$linkmode"; then
                case "$new_inherited_linker_flags " in
                    *" $deplib "*) ;;
                    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6268,18 +7811,18 @@ func_mode_link ()
          case $linkmode in
          lib)
            deplibs="$deplib $deplibs"
-           test "$pass" = conv && continue
+           test conv = "$pass" && continue
            newdependency_libs="$deplib $newdependency_libs"
            func_stripname '-L' '' "$deplib"
            func_resolve_sysroot "$func_stripname_result"
            func_append newlib_search_path " $func_resolve_sysroot_result"
            ;;
          prog)
-           if test "$pass" = conv; then
+           if test conv = "$pass"; then
              deplibs="$deplib $deplibs"
              continue
            fi
-           if test "$pass" = scan; then
+           if test scan = "$pass"; then
              deplibs="$deplib $deplibs"
            else
              compile_deplibs="$deplib $compile_deplibs"
@@ -6290,13 +7833,13 @@ func_mode_link ()
            func_append newlib_search_path " $func_resolve_sysroot_result"
            ;;
          *)
-           func_warning "\`-L' is ignored for archives/objects"
+           func_warning "'-L' is ignored for archives/objects"
            ;;
          esac # linkmode
          continue
          ;; # -L
        -R*)
-         if test "$pass" = link; then
+         if test link = "$pass"; then
            func_stripname '-R' '' "$deplib"
            func_resolve_sysroot "$func_stripname_result"
            dir=$func_resolve_sysroot_result
@@ -6314,7 +7857,7 @@ func_mode_link ()
          lib=$func_resolve_sysroot_result
          ;;
        *.$libext)
-         if test "$pass" = conv; then
+         if test conv = "$pass"; then
            deplibs="$deplib $deplibs"
            continue
          fi
@@ -6325,21 +7868,26 @@ func_mode_link ()
            case " $dlpreconveniencelibs " in
            *" $deplib "*) ;;
            *)
-             valid_a_lib=no
+             valid_a_lib=false
              case $deplibs_check_method in
                match_pattern*)
                  set dummy $deplibs_check_method; shift
                  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
                  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
                    | $EGREP "$match_pattern_regex" > /dev/null; then
-                   valid_a_lib=yes
+                   valid_a_lib=:
                  fi
                ;;
                pass_all)
-                 valid_a_lib=yes
+                 valid_a_lib=:
                ;;
              esac
-             if test "$valid_a_lib" != yes; then
+             if $valid_a_lib; then
+               echo
+               $ECHO "*** Warning: Linking the shared library $output against the"
+               $ECHO "*** static library $deplib is not portable!"
+               deplibs="$deplib $deplibs"
+             else
                echo
                $ECHO "*** Warning: Trying to link with static lib archive $deplib."
                echo "*** I have the capability to make that library automatically link in when"
@@ -6347,18 +7895,13 @@ func_mode_link ()
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because the file extensions .$libext of this argument makes me believe"
                echo "*** that it is just a static archive that I should not use here."
-             else
-               echo
-               $ECHO "*** Warning: Linking the shared library $output against the"
-               $ECHO "*** static library $deplib is not portable!"
-               deplibs="$deplib $deplibs"
              fi
              ;;
            esac
            continue
            ;;
          prog)
-           if test "$pass" != link; then
+           if test link != "$pass"; then
              deplibs="$deplib $deplibs"
            else
              compile_deplibs="$deplib $compile_deplibs"
@@ -6369,10 +7912,10 @@ func_mode_link ()
          esac # linkmode
          ;; # *.$libext
        *.lo | *.$objext)
-         if test "$pass" = conv; then
+         if test conv = "$pass"; then
            deplibs="$deplib $deplibs"
-         elif test "$linkmode" = prog; then
-           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+         elif test prog = "$linkmode"; then
+           if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
              # If there is no dlopen support or we're linking statically,
              # we need to preload.
              func_append newdlprefiles " $deplib"
@@ -6385,22 +7928,20 @@ func_mode_link ()
          continue
          ;;
        %DEPLIBS%)
-         alldeplibs=yes
+         alldeplibs=:
          continue
          ;;
        esac # case $deplib
 
-       if test "$found" = yes || test -f "$lib"; then :
-       else
-         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-       fi
+       $found || test -f "$lib" \
+         || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
 
        # Check to see that this really is a libtool archive.
        func_lalib_unsafe_p "$lib" \
-         || func_fatal_error "\`$lib' is not a valid libtool archive"
+         || func_fatal_error "'$lib' is not a valid libtool archive"
 
        func_dirname "$lib" "" "."
-       ladir="$func_dirname_result"
+       ladir=$func_dirname_result
 
        dlname=
        dlopen=
@@ -6430,19 +7971,19 @@ func_mode_link ()
          done
        fi
        dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       if test "$linkmode,$pass" = "lib,link" ||
-          test "$linkmode,$pass" = "prog,scan" ||
-          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+       if test lib,link = "$linkmode,$pass" ||
+          test prog,scan = "$linkmode,$pass" ||
+          { test prog != "$linkmode" && test lib != "$linkmode"; }; then
          test -n "$dlopen" && func_append dlfiles " $dlopen"
          test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
        fi
 
-       if test "$pass" = conv; then
+       if test conv = "$pass"; then
          # Only check for convenience libraries
          deplibs="$lib $deplibs"
          if test -z "$libdir"; then
            if test -z "$old_library"; then
-             func_fatal_error "cannot find name of link library for \`$lib'"
+             func_fatal_error "cannot find name of link library for '$lib'"
            fi
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
@@ -6450,15 +7991,15 @@ func_mode_link ()
            tmp_libs=
            for deplib in $dependency_libs; do
              deplibs="$deplib $deplibs"
-             if $opt_preserve_dup_deps ; then
+             if $opt_preserve_dup_deps; then
                case "$tmp_libs " in
                *" $deplib "*) func_append specialdeplibs " $deplib" ;;
                esac
              fi
              func_append tmp_libs " $deplib"
            done
-         elif test "$linkmode" != prog && test "$linkmode" != lib; then
-           func_fatal_error "\`$lib' is not a convenience library"
+         elif test prog != "$linkmode" && test lib != "$linkmode"; then
+           func_fatal_error "'$lib' is not a convenience library"
          fi
          continue
        fi # $pass = conv
@@ -6467,26 +8008,26 @@ func_mode_link ()
        # Get the name of the library we link against.
        linklib=
        if test -n "$old_library" &&
-          { test "$prefer_static_libs" = yes ||
-            test "$prefer_static_libs,$installed" = "built,no"; }; then
+          { test yes = "$prefer_static_libs" ||
+            test built,no = "$prefer_static_libs,$installed"; }; then
          linklib=$old_library
        else
          for l in $old_library $library_names; do
-           linklib="$l"
+           linklib=$l
          done
        fi
        if test -z "$linklib"; then
-         func_fatal_error "cannot find name of link library for \`$lib'"
+         func_fatal_error "cannot find name of link library for '$lib'"
        fi
 
        # This library was specified with -dlopen.
-       if test "$pass" = dlopen; then
-         if test -z "$libdir"; then
-           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-         fi
+       if test dlopen = "$pass"; then
+         test -z "$libdir" \
+           && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
          if test -z "$dlname" ||
-            test "$dlopen_support" != yes ||
-            test "$build_libtool_libs" = no; then
+            test yes != "$dlopen_support" ||
+            test no = "$build_libtool_libs"
+         then
            # If there is no dlname, no dlopen support or we're linking
            # statically, we need to preload.  We also need to preload any
            # dependent libraries so libltdl's deplib preloader doesn't
@@ -6500,40 +8041,40 @@ func_mode_link ()
 
        # We need an absolute path.
        case $ladir in
-       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
        *)
          abs_ladir=`cd "$ladir" && pwd`
          if test -z "$abs_ladir"; then
-           func_warning "cannot determine absolute directory name of \`$ladir'"
+           func_warning "cannot determine absolute directory name of '$ladir'"
            func_warning "passing it literally to the linker, although it might fail"
-           abs_ladir="$ladir"
+           abs_ladir=$ladir
          fi
          ;;
        esac
        func_basename "$lib"
-       laname="$func_basename_result"
+       laname=$func_basename_result
 
        # Find the relevant object directory and library name.
-       if test "X$installed" = Xyes; then
+       if test yes = "$installed"; then
          if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           func_warning "library \`$lib' was moved."
-           dir="$ladir"
-           absdir="$abs_ladir"
-           libdir="$abs_ladir"
+           func_warning "library '$lib' was moved."
+           dir=$ladir
+           absdir=$abs_ladir
+           libdir=$abs_ladir
          else
-           dir="$lt_sysroot$libdir"
-           absdir="$lt_sysroot$libdir"
+           dir=$lt_sysroot$libdir
+           absdir=$lt_sysroot$libdir
          fi
-         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+         test yes = "$hardcode_automatic" && avoidtemprpath=yes
        else
          if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           dir="$ladir"
-           absdir="$abs_ladir"
+           dir=$ladir
+           absdir=$abs_ladir
            # Remove this search path later
            func_append notinst_path " $abs_ladir"
          else
-           dir="$ladir/$objdir"
-           absdir="$abs_ladir/$objdir"
+           dir=$ladir/$objdir
+           absdir=$abs_ladir/$objdir
            # Remove this search path later
            func_append notinst_path " $abs_ladir"
          fi
@@ -6542,11 +8083,11 @@ func_mode_link ()
        name=$func_stripname_result
 
        # This library was specified with -dlpreopen.
-       if test "$pass" = dlpreopen; then
-         if test -z "$libdir" && test "$linkmode" = prog; then
-           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+       if test dlpreopen = "$pass"; then
+         if test -z "$libdir" && test prog = "$linkmode"; then
+           func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
          fi
-         case "$host" in
+         case $host in
            # special handling for platforms with PE-DLLs.
            *cygwin* | *mingw* | *cegcc* )
              # Linker will automatically link against shared library if both
@@ -6590,9 +8131,9 @@ func_mode_link ()
 
        if test -z "$libdir"; then
          # Link the convenience library
-         if test "$linkmode" = lib; then
+         if test lib = "$linkmode"; then
            deplibs="$dir/$old_library $deplibs"
-         elif test "$linkmode,$pass" = "prog,link"; then
+         elif test prog,link = "$linkmode,$pass"; then
            compile_deplibs="$dir/$old_library $compile_deplibs"
            finalize_deplibs="$dir/$old_library $finalize_deplibs"
          else
@@ -6602,14 +8143,14 @@ func_mode_link ()
        fi
 
 
-       if test "$linkmode" = prog && test "$pass" != link; then
+       if test prog = "$linkmode" && test link != "$pass"; then
          func_append newlib_search_path " $ladir"
          deplibs="$lib $deplibs"
 
-         linkalldeplibs=no
-         if test "$link_all_deplibs" != no || test -z "$library_names" ||
-            test "$build_libtool_libs" = no; then
-           linkalldeplibs=yes
+         linkalldeplibs=false
+         if test no != "$link_all_deplibs" || test -z "$library_names" ||
+            test no = "$build_libtool_libs"; then
+           linkalldeplibs=:
          fi
 
          tmp_libs=
@@ -6621,14 +8162,14 @@ func_mode_link ()
                 ;;
            esac
            # Need to link against all dependency_libs?
-           if test "$linkalldeplibs" = yes; then
+           if $linkalldeplibs; then
              deplibs="$deplib $deplibs"
            else
              # Need to hardcode shared library paths
              # or/and link against static libraries
              newdependency_libs="$deplib $newdependency_libs"
            fi
-           if $opt_preserve_dup_deps ; then
+           if $opt_preserve_dup_deps; then
              case "$tmp_libs " in
              *" $deplib "*) func_append specialdeplibs " $deplib" ;;
              esac
@@ -6638,15 +8179,15 @@ func_mode_link ()
          continue
        fi # $linkmode = prog...
 
-       if test "$linkmode,$pass" = "prog,link"; then
+       if test prog,link = "$linkmode,$pass"; then
          if test -n "$library_names" &&
-            { { test "$prefer_static_libs" = no ||
-                test "$prefer_static_libs,$installed" = "built,yes"; } ||
+            { { test no = "$prefer_static_libs" ||
+                test built,yes = "$prefer_static_libs,$installed"; } ||
               test -z "$old_library"; }; then
            # We need to hardcode the library path
-           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
              # Make sure the rpath contains only unique directories.
-             case "$temp_rpath:" in
+             case $temp_rpath: in
              *"$absdir:"*) ;;
              *) func_append temp_rpath "$absdir:" ;;
              esac
@@ -6675,9 +8216,9 @@ func_mode_link ()
            esac
          fi # $linkmode,$pass = prog,link...
 
-         if test "$alldeplibs" = yes &&
-            { test "$deplibs_check_method" = pass_all ||
-              { test "$build_libtool_libs" = yes &&
+         if $alldeplibs &&
+            { test pass_all = "$deplibs_check_method" ||
+              { test yes = "$build_libtool_libs" &&
                 test -n "$library_names"; }; }; then
            # We only need to search for static libraries
            continue
@@ -6686,19 +8227,19 @@ func_mode_link ()
 
        link_static=no # Whether the deplib will be linked statically
        use_static_libs=$prefer_static_libs
-       if test "$use_static_libs" = built && test "$installed" = yes; then
+       if test built = "$use_static_libs" && test yes = "$installed"; then
          use_static_libs=no
        fi
        if test -n "$library_names" &&
-          { test "$use_static_libs" = no || test -z "$old_library"; }; then
+          { test no = "$use_static_libs" || test -z "$old_library"; }; then
          case $host in
-         *cygwin* | *mingw* | *cegcc*)
+         *cygwin* | *mingw* | *cegcc* | *os2*)
              # No point in relinking DLLs because paths are not encoded
              func_append notinst_deplibs " $lib"
              need_relink=no
            ;;
          *)
-           if test "$installed" = no; then
+           if test no = "$installed"; then
              func_append notinst_deplibs " $lib"
              need_relink=yes
            fi
@@ -6708,24 +8249,24 @@ func_mode_link ()
 
          # Warn about portability, can't link against -module's on some
          # systems (darwin).  Don't bleat about dlopened modules though!
-         dlopenmodule=""
+         dlopenmodule=
          for dlpremoduletest in $dlprefiles; do
            if test "X$dlpremoduletest" = "X$lib"; then
-             dlopenmodule="$dlpremoduletest"
+             dlopenmodule=$dlpremoduletest
              break
            fi
          done
-         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+         if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
            echo
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              $ECHO "*** Warning: Linking the executable $output against the loadable module"
            else
              $ECHO "*** Warning: Linking the shared library $output against the loadable module"
            fi
            $ECHO "*** $linklib is not portable!"
          fi
-         if test "$linkmode" = lib &&
-            test "$hardcode_into_libs" = yes; then
+         if test lib = "$linkmode" &&
+            test yes = "$hardcode_into_libs"; then
            # Hardcode the library path.
            # Skip directories that are in the system default run-time
            # search path.
@@ -6753,43 +8294,43 @@ func_mode_link ()
            # figure out the soname
            set dummy $library_names
            shift
-           realname="$1"
+           realname=$1
            shift
            libname=`eval "\\$ECHO \"$libname_spec\""`
            # use dlname if we got it. it's perfectly good, no?
            if test -n "$dlname"; then
-             soname="$dlname"
+             soname=$dlname
            elif test -n "$soname_spec"; then
              # bleh windows
              case $host in
-             *cygwin* | mingw* | *cegcc*)
+             *cygwin* | mingw* | *cegcc* | *os2*)
                func_arith $current - $age
                major=$func_arith_result
-               versuffix="-$major"
+               versuffix=-$major
                ;;
              esac
              eval soname=\"$soname_spec\"
            else
-             soname="$realname"
+             soname=$realname
            fi
 
            # Make a new name for the extract_expsyms_cmds to use
-           soroot="$soname"
+           soroot=$soname
            func_basename "$soroot"
-           soname="$func_basename_result"
+           soname=$func_basename_result
            func_stripname 'lib' '.dll' "$soname"
            newlib=libimp-$func_stripname_result.a
 
            # If the library has no export list, then create one now
            if test -f "$output_objdir/$soname-def"; then :
            else
-             func_verbose "extracting exported symbol list from \`$soname'"
+             func_verbose "extracting exported symbol list from '$soname'"
              func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
            fi
 
            # Create $newlib
            if test -f "$output_objdir/$newlib"; then :; else
-             func_verbose "generating import library for \`$soname'"
+             func_verbose "generating import library for '$soname'"
              func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
            fi
            # make sure the library variables are pointing to the new library
@@ -6797,58 +8338,58 @@ func_mode_link ()
            linklib=$newlib
          fi # test -n "$old_archive_from_expsyms_cmds"
 
-         if test "$linkmode" = prog || test "$opt_mode" != relink; then
+         if test prog = "$linkmode" || test relink != "$opt_mode"; then
            add_shlibpath=
            add_dir=
            add=
            lib_linked=yes
            case $hardcode_action in
            immediate | unsupported)
-             if test "$hardcode_direct" = no; then
-               add="$dir/$linklib"
+             if test no = "$hardcode_direct"; then
+               add=$dir/$linklib
                case $host in
-                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+                 *-*-sysv4*uw2*) add_dir=-L$dir ;;
                  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-                   *-*-unixware7*) add_dir="-L$dir" ;;
+                   *-*-unixware7*) add_dir=-L$dir ;;
                  *-*-darwin* )
-                   # if the lib is a (non-dlopened) module then we can not
+                   # if the lib is a (non-dlopened) module then we cannot
                    # link against it, someone is ignoring the earlier warnings
                    if /usr/bin/file -L $add 2> /dev/null |
-                        $GREP ": [^:]* bundle" >/dev/null ; then
+                        $GREP ": [^:]* bundle" >/dev/null; then
                      if test "X$dlopenmodule" != "X$lib"; then
                        $ECHO "*** Warning: lib $linklib is a module, not a shared library"
-                       if test -z "$old_library" ; then
+                       if test -z "$old_library"; then
                          echo
                          echo "*** And there doesn't seem to be a static archive available"
                          echo "*** The link will probably fail, sorry"
                        else
-                         add="$dir/$old_library"
+                         add=$dir/$old_library
                        fi
                      elif test -n "$old_library"; then
-                       add="$dir/$old_library"
+                       add=$dir/$old_library
                      fi
                    fi
                esac
-             elif test "$hardcode_minus_L" = no; then
+             elif test no = "$hardcode_minus_L"; then
                case $host in
-               *-*-sunos*) add_shlibpath="$dir" ;;
+               *-*-sunos*) add_shlibpath=$dir ;;
                esac
-               add_dir="-L$dir"
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = no; then
-               add_shlibpath="$dir"
-               add="-l$name"
+               add_dir=-L$dir
+               add=-l$name
+             elif test no = "$hardcode_shlibpath_var"; then
+               add_shlibpath=$dir
+               add=-l$name
              else
                lib_linked=no
              fi
              ;;
            relink)
-             if test "$hardcode_direct" = yes &&
-                test "$hardcode_direct_absolute" = no; then
-               add="$dir/$linklib"
-             elif test "$hardcode_minus_L" = yes; then
-               add_dir="-L$absdir"
+             if test yes = "$hardcode_direct" &&
+                test no = "$hardcode_direct_absolute"; then
+               add=$dir/$linklib
+             elif test yes = "$hardcode_minus_L"; then
+               add_dir=-L$absdir
                # Try looking first in the location we're being installed to.
                if test -n "$inst_prefix_dir"; then
                  case $libdir in
@@ -6857,10 +8398,10 @@ func_mode_link ()
                      ;;
                  esac
                fi
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = yes; then
-               add_shlibpath="$dir"
-               add="-l$name"
+               add=-l$name
+             elif test yes = "$hardcode_shlibpath_var"; then
+               add_shlibpath=$dir
+               add=-l$name
              else
                lib_linked=no
              fi
@@ -6868,7 +8409,7 @@ func_mode_link ()
            *) lib_linked=no ;;
            esac
 
-           if test "$lib_linked" != yes; then
+           if test yes != "$lib_linked"; then
              func_fatal_configuration "unsupported hardcode properties"
            fi
 
@@ -6878,15 +8419,15 @@ func_mode_link ()
              *) func_append compile_shlibpath "$add_shlibpath:" ;;
              esac
            fi
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
              test -n "$add" && compile_deplibs="$add $compile_deplibs"
            else
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
              test -n "$add" && deplibs="$add $deplibs"
-             if test "$hardcode_direct" != yes &&
-                test "$hardcode_minus_L" != yes &&
-                test "$hardcode_shlibpath_var" = yes; then
+             if test yes != "$hardcode_direct" &&
+                test yes != "$hardcode_minus_L" &&
+                test yes = "$hardcode_shlibpath_var"; then
                case :$finalize_shlibpath: in
                *":$libdir:"*) ;;
                *) func_append finalize_shlibpath "$libdir:" ;;
@@ -6895,33 +8436,33 @@ func_mode_link ()
            fi
          fi
 
-         if test "$linkmode" = prog || test "$opt_mode" = relink; then
+         if test prog = "$linkmode" || test relink = "$opt_mode"; then
            add_shlibpath=
            add_dir=
            add=
            # Finalize command for both is simple: just hardcode it.
-           if test "$hardcode_direct" = yes &&
-              test "$hardcode_direct_absolute" = no; then
-             add="$libdir/$linklib"
-           elif test "$hardcode_minus_L" = yes; then
-             add_dir="-L$libdir"
-             add="-l$name"
-           elif test "$hardcode_shlibpath_var" = yes; then
+           if test yes = "$hardcode_direct" &&
+              test no = "$hardcode_direct_absolute"; then
+             add=$libdir/$linklib
+           elif test yes = "$hardcode_minus_L"; then
+             add_dir=-L$libdir
+             add=-l$name
+           elif test yes = "$hardcode_shlibpath_var"; then
              case :$finalize_shlibpath: in
              *":$libdir:"*) ;;
              *) func_append finalize_shlibpath "$libdir:" ;;
              esac
-             add="-l$name"
-           elif test "$hardcode_automatic" = yes; then
+             add=-l$name
+           elif test yes = "$hardcode_automatic"; then
              if test -n "$inst_prefix_dir" &&
-                test -f "$inst_prefix_dir$libdir/$linklib" ; then
-               add="$inst_prefix_dir$libdir/$linklib"
+                test -f "$inst_prefix_dir$libdir/$linklib"; then
+               add=$inst_prefix_dir$libdir/$linklib
              else
-               add="$libdir/$linklib"
+               add=$libdir/$linklib
              fi
            else
              # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir="-L$libdir"
+             add_dir=-L$libdir
              # Try looking first in the location we're being installed to.
              if test -n "$inst_prefix_dir"; then
                case $libdir in
@@ -6930,10 +8471,10 @@ func_mode_link ()
                    ;;
                esac
              fi
-             add="-l$name"
+             add=-l$name
            fi
 
-           if test "$linkmode" = prog; then
+           if test prog = "$linkmode"; then
              test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
              test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
            else
@@ -6941,43 +8482,43 @@ func_mode_link ()
              test -n "$add" && deplibs="$add $deplibs"
            fi
          fi
-       elif test "$linkmode" = prog; then
+       elif test prog = "$linkmode"; then
          # Here we assume that one of hardcode_direct or hardcode_minus_L
          # is not unsupported.  This is valid on all known static and
          # shared platforms.
-         if test "$hardcode_direct" != unsupported; then
-           test -n "$old_library" && linklib="$old_library"
+         if test unsupported != "$hardcode_direct"; then
+           test -n "$old_library" && linklib=$old_library
            compile_deplibs="$dir/$linklib $compile_deplibs"
            finalize_deplibs="$dir/$linklib $finalize_deplibs"
          else
            compile_deplibs="-l$name -L$dir $compile_deplibs"
            finalize_deplibs="-l$name -L$dir $finalize_deplibs"
          fi
-       elif test "$build_libtool_libs" = yes; then
+       elif test yes = "$build_libtool_libs"; then
          # Not a shared library
-         if test "$deplibs_check_method" != pass_all; then
+         if test pass_all != "$deplibs_check_method"; then
            # We're trying link a shared library against a static one
            # but the system doesn't support it.
 
            # Just print a warning and add the library to dependency_libs so
            # that the program can be linked against the static library.
            echo
-           $ECHO "*** Warning: This system can not link to static lib archive $lib."
+           $ECHO "*** Warning: This system cannot link to static lib archive $lib."
            echo "*** I have the capability to make that library automatically link in when"
            echo "*** you link to this library.  But I can only do this if you have a"
            echo "*** shared version of the library, which you do not appear to have."
-           if test "$module" = yes; then
+           if test yes = "$module"; then
              echo "*** But as you try to build a module library, libtool will still create "
              echo "*** a static module, that should work as long as the dlopening application"
              echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
              if test -z "$global_symbol_pipe"; then
                echo
                echo "*** However, this would only work if libtool was able to extract symbol"
-               echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+               echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
                echo "*** not find such a program.  So, this module is probably useless."
-               echo "*** \`nm' from GNU binutils and a full rebuild may help."
+               echo "*** 'nm' from GNU binutils and a full rebuild may help."
              fi
-             if test "$build_old_libs" = no; then
+             if test no = "$build_old_libs"; then
                build_libtool_libs=module
                build_old_libs=yes
              else
@@ -6990,11 +8531,11 @@ func_mode_link ()
          fi
        fi # link shared/static library?
 
-       if test "$linkmode" = lib; then
+       if test lib = "$linkmode"; then
          if test -n "$dependency_libs" &&
-            { test "$hardcode_into_libs" != yes ||
-              test "$build_old_libs" = yes ||
-              test "$link_static" = yes; }; then
+            { test yes != "$hardcode_into_libs" ||
+              test yes = "$build_old_libs" ||
+              test yes = "$link_static"; }; then
            # Extract -R from dependency_libs
            temp_deplibs=
            for libdir in $dependency_libs; do
@@ -7008,12 +8549,12 @@ func_mode_link ()
              *) func_append temp_deplibs " $libdir";;
              esac
            done
-           dependency_libs="$temp_deplibs"
+           dependency_libs=$temp_deplibs
          fi
 
          func_append newlib_search_path " $absdir"
          # Link against this library
-         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+         test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
          # ... and its dependency_libs
          tmp_libs=
          for deplib in $dependency_libs; do
@@ -7023,7 +8564,7 @@ func_mode_link ()
                    func_resolve_sysroot "$func_stripname_result";;
               *) func_resolve_sysroot "$deplib" ;;
             esac
-           if $opt_preserve_dup_deps ; then
+           if $opt_preserve_dup_deps; then
              case "$tmp_libs " in
              *" $func_resolve_sysroot_result "*)
                 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7032,12 +8573,12 @@ func_mode_link ()
            func_append tmp_libs " $func_resolve_sysroot_result"
          done
 
-         if test "$link_all_deplibs" != no; then
+         if test no != "$link_all_deplibs"; then
            # Add the search paths of all dependency libraries
            for deplib in $dependency_libs; do
              path=
              case $deplib in
-             -L*) path="$deplib" ;;
+             -L*) path=$deplib ;;
              *.la)
                func_resolve_sysroot "$deplib"
                deplib=$func_resolve_sysroot_result
@@ -7045,12 +8586,12 @@ func_mode_link ()
                dir=$func_dirname_result
                # We need an absolute path.
                case $dir in
-               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
                *)
                  absdir=`cd "$dir" && pwd`
                  if test -z "$absdir"; then
-                   func_warning "cannot determine absolute directory name of \`$dir'"
-                   absdir="$dir"
+                   func_warning "cannot determine absolute directory name of '$dir'"
+                   absdir=$dir
                  fi
                  ;;
                esac
@@ -7058,35 +8599,35 @@ func_mode_link ()
                case $host in
                *-*-darwin*)
                  depdepl=
-                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-                 if test -n "$deplibrary_names" ; then
-                   for tmp in $deplibrary_names ; do
+                 eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names"; then
+                   for tmp in $deplibrary_names; do
                      depdepl=$tmp
                    done
-                   if test -f "$absdir/$objdir/$depdepl" ; then
-                     depdepl="$absdir/$objdir/$depdepl"
-                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                   if test -f "$absdir/$objdir/$depdepl"; then
+                     depdepl=$absdir/$objdir/$depdepl
+                     darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                       if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi
-                     func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-                     func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+                     func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+                     func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
                      path=
                    fi
                  fi
                  ;;
                *)
-                 path="-L$absdir/$objdir"
+                 path=-L$absdir/$objdir
                  ;;
                esac
                else
-                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
                  test -z "$libdir" && \
-                   func_fatal_error "\`$deplib' is not a valid libtool archive"
+                   func_fatal_error "'$deplib' is not a valid libtool archive"
                  test "$absdir" != "$libdir" && \
-                   func_warning "\`$deplib' seems to be moved"
+                   func_warning "'$deplib' seems to be moved"
 
-                 path="-L$absdir"
+                 path=-L$absdir
                fi
                ;;
              esac
@@ -7098,23 +8639,23 @@ func_mode_link ()
          fi # link_all_deplibs != no
        fi # linkmode = lib
       done # for deplib in $libs
-      if test "$pass" = link; then
-       if test "$linkmode" = "prog"; then
+      if test link = "$pass"; then
+       if test prog = "$linkmode"; then
          compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
          finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
        else
          compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
        fi
       fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
+      dependency_libs=$newdependency_libs
+      if test dlpreopen = "$pass"; then
        # Link the dlpreopened libraries before other libraries
        for deplib in $save_deplibs; do
          deplibs="$deplib $deplibs"
        done
       fi
-      if test "$pass" != dlopen; then
-       if test "$pass" != conv; then
+      if test dlopen != "$pass"; then
+       test conv = "$pass" || {
          # Make sure lib_search_path contains only unique directories.
          lib_search_path=
          for dir in $newlib_search_path; do
@@ -7124,12 +8665,12 @@ func_mode_link ()
            esac
          done
          newlib_search_path=
-       fi
+       }
 
-       if test "$linkmode,$pass" != "prog,link"; then
-         vars="deplibs"
-       else
+       if test prog,link = "$linkmode,$pass"; then
          vars="compile_deplibs finalize_deplibs"
+       else
+         vars=deplibs
        fi
        for var in $vars dependency_libs; do
          # Add libraries to $var in reverse order
@@ -7187,62 +8728,93 @@ func_mode_link ()
          eval $var=\"$tmp_libs\"
        done # for var
       fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
       # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)
       tmp_libs=
-      for i in $dependency_libs ; do
+      for i in $dependency_libs; do
        case " $predeps $postdeps $compiler_lib_search_path " in
        *" $i "*)
-         i=""
+         i=
          ;;
        esac
-       if test -n "$i" ; then
+       if test -n "$i"; then
          func_append tmp_libs " $i"
        fi
       done
       dependency_libs=$tmp_libs
     done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
+    if test prog = "$linkmode"; then
+      dlfiles=$newdlfiles
     fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
+    if test prog = "$linkmode" || test lib = "$linkmode"; then
+      dlprefiles=$newdlprefiles
     fi
 
     case $linkmode in
     oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for archives"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+       func_warning "'-dlopen' is ignored for archives"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for archives" ;;
+       func_warning "'-l' and '-L' are ignored for archives" ;;
       esac
 
       test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for archives"
+       func_warning "'-rpath' is ignored for archives"
 
       test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for archives"
+       func_warning "'-R' is ignored for archives"
 
       test -n "$vinfo" && \
-       func_warning "\`-version-info/-version-number' is ignored for archives"
+       func_warning "'-version-info/-version-number' is ignored for archives"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for archives"
+       func_warning "'-release' is ignored for archives"
 
       test -n "$export_symbols$export_symbols_regex" && \
-       func_warning "\`-export-symbols' is ignored for archives"
+       func_warning "'-export-symbols' is ignored for archives"
 
       # Now set the variables for building old libraries.
       build_libtool_libs=no
-      oldlibs="$output"
+      oldlibs=$output
       func_append objs "$old_deplibs"
       ;;
 
     lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
+      # Make sure we only generate libraries of the form 'libNAME.la'.
       case $outputname in
       lib*)
        func_stripname 'lib' '.la' "$outputname"
@@ -7251,10 +8823,10 @@ func_mode_link ()
        eval libname=\"$libname_spec\"
        ;;
       *)
-       test "$module" = no && \
-         func_fatal_help "libtool library \`$output' must begin with \`lib'"
+       test no = "$module" \
+         && func_fatal_help "libtool library '$output' must begin with 'lib'"
 
-       if test "$need_lib_prefix" != no; then
+       if test no != "$need_lib_prefix"; then
          # Add the "lib" prefix for modules if required
          func_stripname '' '.la' "$outputname"
          name=$func_stripname_result
@@ -7268,8 +8840,8 @@ func_mode_link ()
       esac
 
       if test -n "$objs"; then
-       if test "$deplibs_check_method" != pass_all; then
-         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+       if test pass_all != "$deplibs_check_method"; then
+         func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
        else
          echo
          $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7278,21 +8850,21 @@ func_mode_link ()
        fi
       fi
 
-      test "$dlself" != no && \
-       func_warning "\`-dlopen self' is ignored for libtool libraries"
+      test no = "$dlself" \
+       || func_warning "'-dlopen self' is ignored for libtool libraries"
 
       set dummy $rpath
       shift
-      test "$#" -gt 1 && \
-       func_warning "ignoring multiple \`-rpath's for a libtool library"
+      test 1 -lt "$#" \
+       && func_warning "ignoring multiple '-rpath's for a libtool library"
 
-      install_libdir="$1"
+      install_libdir=$1
 
       oldlibs=
       if test -z "$rpath"; then
-       if test "$build_libtool_libs" = yes; then
+       if test yes = "$build_libtool_libs"; then
          # Building a libtool convenience library.
-         # Some compilers have problems with a `.al' extension so
+         # Some compilers have problems with a '.al' extension so
          # convenience libraries should have the same extension an
          # archive normally would.
          oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7301,20 +8873,20 @@ func_mode_link ()
        fi
 
        test -n "$vinfo" && \
-         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+         func_warning "'-version-info/-version-number' is ignored for convenience libraries"
 
        test -n "$release" && \
-         func_warning "\`-release' is ignored for convenience libraries"
+         func_warning "'-release' is ignored for convenience libraries"
       else
 
        # Parse the version information argument.
-       save_ifs="$IFS"; IFS=':'
+       save_ifs=$IFS; IFS=:
        set dummy $vinfo 0 0 0
        shift
-       IFS="$save_ifs"
+       IFS=$save_ifs
 
        test -n "$7" && \
-         func_fatal_help "too many parameters to \`-version-info'"
+         func_fatal_help "too many parameters to '-version-info'"
 
        # convert absolute version numbers to libtool ages
        # this retains compatibility with .la files and attempts
@@ -7322,45 +8894,45 @@ func_mode_link ()
 
        case $vinfo_number in
        yes)
-         number_major="$1"
-         number_minor="$2"
-         number_revision="$3"
+         number_major=$1
+         number_minor=$2
+         number_revision=$3
          #
          # There are really only two kinds -- those that
          # use the current revision as the major version
          # and those that subtract age and use age as
          # a minor version.  But, then there is irix
-         # which has an extra 1 added just for fun
+         # that has an extra 1 added just for fun
          #
          case $version_type in
          # correct linux to gnu/linux during the next big refactor
-         darwin|linux|osf|windows|none)
+         darwin|freebsd-elf|linux|osf|windows|none)
            func_arith $number_major + $number_minor
            current=$func_arith_result
-           age="$number_minor"
-           revision="$number_revision"
+           age=$number_minor
+           revision=$number_revision
            ;;
-         freebsd-aout|freebsd-elf|qnx|sunos)
-           current="$number_major"
-           revision="$number_minor"
-           age="0"
+         freebsd-aout|qnx|sunos)
+           current=$number_major
+           revision=$number_minor
+           age=0
            ;;
          irix|nonstopux)
            func_arith $number_major + $number_minor
            current=$func_arith_result
-           age="$number_minor"
-           revision="$number_minor"
+           age=$number_minor
+           revision=$number_minor
            lt_irix_increment=no
            ;;
          *)
-           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+           func_fatal_configuration "$modename: unknown library version type '$version_type'"
            ;;
          esac
          ;;
        no)
-         current="$1"
-         revision="$2"
-         age="$3"
+         current=$1
+         revision=$2
+         age=$3
          ;;
        esac
 
@@ -7368,30 +8940,30 @@ func_mode_link ()
        case $current in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "CURRENT \`$current' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "CURRENT '$current' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        case $revision in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "REVISION \`$revision' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "REVISION '$revision' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        case $age in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
        *)
-         func_error "AGE \`$age' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "AGE '$age' must be a nonnegative integer"
+         func_fatal_error "'$vinfo' is not valid version information"
          ;;
        esac
 
        if test "$age" -gt "$current"; then
-         func_error "AGE \`$age' is greater than the current interface number \`$current'"
-         func_fatal_error "\`$vinfo' is not valid version information"
+         func_error "AGE '$age' is greater than the current interface number '$current'"
+         func_fatal_error "'$vinfo' is not valid version information"
        fi
 
        # Calculate the version variables.
@@ -7406,26 +8978,36 @@ func_mode_link ()
          # verstring for coding it into the library header
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix="$major.$age.$revision"
+         versuffix=$major.$age.$revision
          # Darwin ld doesn't like 0 for these options...
          func_arith $current + 1
          minor_current=$func_arith_result
-         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+         xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
          verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+          # On Darwin other compilers
+          case $CC in
+              nagfor*)
+                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+                  ;;
+              *)
+                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+                  ;;
+          esac
          ;;
 
        freebsd-aout)
-         major=".$current"
-         versuffix=".$current.$revision";
+         major=.$current
+         versuffix=.$current.$revision
          ;;
 
        freebsd-elf)
-         major=".$current"
-         versuffix=".$current"
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix=$major.$age.$revision
          ;;
 
        irix | nonstopux)
-         if test "X$lt_irix_increment" = "Xno"; then
+         if test no = "$lt_irix_increment"; then
            func_arith $current - $age
          else
            func_arith $current - $age + 1
@@ -7436,69 +9018,74 @@ func_mode_link ()
            nonstopux) verstring_prefix=nonstopux ;;
            *)         verstring_prefix=sgi ;;
          esac
-         verstring="$verstring_prefix$major.$revision"
+         verstring=$verstring_prefix$major.$revision
 
          # Add in all the interfaces that we are compatible with.
          loop=$revision
-         while test "$loop" -ne 0; do
+         while test 0 -ne "$loop"; do
            func_arith $revision - $loop
            iface=$func_arith_result
            func_arith $loop - 1
            loop=$func_arith_result
-           verstring="$verstring_prefix$major.$iface:$verstring"
+           verstring=$verstring_prefix$major.$iface:$verstring
          done
 
-         # Before this point, $major must not contain `.'.
+         # Before this point, $major must not contain '.'.
          major=.$major
-         versuffix="$major.$revision"
+         versuffix=$major.$revision
          ;;
 
        linux) # correct to gnu/linux during the next big refactor
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix="$major.$age.$revision"
+         versuffix=$major.$age.$revision
          ;;
 
        osf)
          func_arith $current - $age
          major=.$func_arith_result
-         versuffix=".$current.$age.$revision"
-         verstring="$current.$age.$revision"
+         versuffix=.$current.$age.$revision
+         verstring=$current.$age.$revision
 
          # Add in all the interfaces that we are compatible with.
          loop=$age
-         while test "$loop" -ne 0; do
+         while test 0 -ne "$loop"; do
            func_arith $current - $loop
            iface=$func_arith_result
            func_arith $loop - 1
            loop=$func_arith_result
-           verstring="$verstring:${iface}.0"
+           verstring=$verstring:$iface.0
          done
 
          # Make executables depend on our current version.
-         func_append verstring ":${current}.0"
+         func_append verstring ":$current.0"
          ;;
 
        qnx)
-         major=".$current"
-         versuffix=".$current"
+         major=.$current
+         versuffix=.$current
+         ;;
+
+       sco)
+         major=.$current
+         versuffix=.$current
          ;;
 
        sunos)
-         major=".$current"
-         versuffix=".$current.$revision"
+         major=.$current
+         versuffix=.$current.$revision
          ;;
 
        windows)
          # Use '-' rather than '.', since we only want one
-         # extension on DOS 8.3 filesystems.
+         # extension on DOS 8.3 file systems.
          func_arith $current - $age
          major=$func_arith_result
-         versuffix="-$major"
+         versuffix=-$major
          ;;
 
        *)
-         func_fatal_configuration "unknown library version type \`$version_type'"
+         func_fatal_configuration "unknown library version type '$version_type'"
          ;;
        esac
 
@@ -7512,42 +9099,45 @@ func_mode_link ()
            verstring=
            ;;
          *)
-           verstring="0.0"
+           verstring=0.0
            ;;
          esac
-         if test "$need_version" = no; then
+         if test no = "$need_version"; then
            versuffix=
          else
-           versuffix=".0.0"
+           versuffix=.0.0
          fi
        fi
 
        # Remove version info from name if versioning should be avoided
-       if test "$avoid_version" = yes && test "$need_version" = no; then
+       if test yes,no = "$avoid_version,$need_version"; then
          major=
          versuffix=
-         verstring=""
+         verstring=
        fi
 
        # Check to see if the archive will have undefined symbols.
-       if test "$allow_undefined" = yes; then
-         if test "$allow_undefined_flag" = unsupported; then
-           func_warning "undefined symbols not allowed in $host shared libraries"
-           build_libtool_libs=no
-           build_old_libs=yes
+       if test yes = "$allow_undefined"; then
+         if test unsupported = "$allow_undefined_flag"; then
+           if test yes = "$build_old_libs"; then
+             func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+             build_libtool_libs=no
+           else
+             func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+           fi
          fi
        else
          # Don't allow undefined symbols.
-         allow_undefined_flag="$no_undefined_flag"
+         allow_undefined_flag=$no_undefined_flag
        fi
 
       fi
 
-      func_generate_dlsyms "$libname" "$libname" "yes"
+      func_generate_dlsyms "$libname" "$libname" :
       func_append libobjs " $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
+      test " " = "$libobjs" && libobjs=
 
-      if test "$opt_mode" != relink; then
+      if test relink != "$opt_mode"; then
        # Remove our outputs, but don't remove object files since they
        # may have been created when compiling PIC objects.
        removelist=
@@ -7556,8 +9146,8 @@ func_mode_link ()
          case $p in
            *.$objext | *.gcno)
               ;;
-           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-              if test "X$precious_files_regex" != "X"; then
+           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+              if test -n "$precious_files_regex"; then
                 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
                 then
                   continue
@@ -7573,11 +9163,11 @@ func_mode_link ()
       fi
 
       # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
        func_append oldlibs " $output_objdir/$libname.$libext"
 
        # Transform .lo files to .o files.
-       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
@@ -7598,13 +9188,13 @@ func_mode_link ()
          *) func_append finalize_rpath " $libdir" ;;
          esac
        done
-       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+       if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
          dependency_libs="$temp_xrpath $dependency_libs"
        fi
       fi
 
       # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
+      old_dlfiles=$dlfiles
       dlfiles=
       for lib in $old_dlfiles; do
        case " $dlprefiles $dlfiles " in
@@ -7614,7 +9204,7 @@ func_mode_link ()
       done
 
       # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
+      old_dlprefiles=$dlprefiles
       dlprefiles=
       for lib in $old_dlprefiles; do
        case "$dlprefiles " in
@@ -7623,7 +9213,7 @@ func_mode_link ()
        esac
       done
 
-      if test "$build_libtool_libs" = yes; then
+      if test yes = "$build_libtool_libs"; then
        if test -n "$rpath"; then
          case $host in
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7647,7 +9237,7 @@ func_mode_link ()
            ;;
          *)
            # Add libc to deplibs on all other systems if necessary.
-           if test "$build_libtool_need_lc" = "yes"; then
+           if test yes = "$build_libtool_need_lc"; then
              func_append deplibs " -lc"
            fi
            ;;
@@ -7663,9 +9253,9 @@ func_mode_link ()
        # I'm not sure if I'm treating the release correctly.  I think
        # release should show up in the -l (ie -lgmp5) so we don't want to
        # add it in twice.  Is that correct?
-       release=""
-       versuffix=""
-       major=""
+       release=
+       versuffix=
+       major=
        newdeplibs=
        droppeddeps=no
        case $deplibs_check_method in
@@ -7694,20 +9284,20 @@ EOF
              -l*)
                func_stripname -l '' "$i"
                name=$func_stripname_result
-               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                  case " $predeps $postdeps " in
                  *" $i "*)
                    func_append newdeplibs " $i"
-                   i=""
+                   i=
                    ;;
                  esac
                fi
-               if test -n "$i" ; then
+               if test -n "$i"; then
                  libname=`eval "\\$ECHO \"$libname_spec\""`
                  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                  set dummy $deplib_matches; shift
                  deplib_match=$1
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                    func_append newdeplibs " $i"
                  else
                    droppeddeps=yes
@@ -7737,20 +9327,20 @@ EOF
                $opt_dry_run || $RM conftest
                if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
                  ldd_output=`ldd conftest`
-                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                    case " $predeps $postdeps " in
                    *" $i "*)
                      func_append newdeplibs " $i"
-                     i=""
+                     i=
                      ;;
                    esac
                  fi
-                 if test -n "$i" ; then
+                 if test -n "$i"; then
                    libname=`eval "\\$ECHO \"$libname_spec\""`
                    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                    set dummy $deplib_matches; shift
                    deplib_match=$1
-                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                      func_append newdeplibs " $i"
                    else
                      droppeddeps=yes
@@ -7787,24 +9377,24 @@ EOF
            -l*)
              func_stripname -l '' "$a_deplib"
              name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                case " $predeps $postdeps " in
                *" $a_deplib "*)
                  func_append newdeplibs " $a_deplib"
-                 a_deplib=""
+                 a_deplib=
                  ;;
                esac
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                libname=`eval "\\$ECHO \"$libname_spec\""`
                if test -n "$file_magic_glob"; then
                  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
                else
                  libnameglob=$libname
                fi
-               test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+               test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 if test "$want_nocaseglob" = yes; then
+                 if test yes = "$want_nocaseglob"; then
                    shopt -s nocaseglob
                    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
                    $nocaseglob
@@ -7822,25 +9412,25 @@ EOF
                      # We might still enter an endless loop, since a link
                      # loop can be closed while we follow links,
                      # but so what?
-                     potlib="$potent_lib"
+                     potlib=$potent_lib
                      while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+                       potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
                        case $potliblink in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-                       *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+                       *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
                        esac
                      done
                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
                         $SED -e 10q |
                         $EGREP "$file_magic_regex" > /dev/null; then
                        func_append newdeplibs " $a_deplib"
-                       a_deplib=""
+                       a_deplib=
                        break 2
                      fi
                  done
                done
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                droppeddeps=yes
                echo
                $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7848,7 +9438,7 @@ EOF
                echo "*** you link to this library.  But I can only do this if you have a"
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
+               if test -z "$potlib"; then
                  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
                else
                  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7871,30 +9461,30 @@ EOF
            -l*)
              func_stripname -l '' "$a_deplib"
              name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                case " $predeps $postdeps " in
                *" $a_deplib "*)
                  func_append newdeplibs " $a_deplib"
-                 a_deplib=""
+                 a_deplib=
                  ;;
                esac
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                libname=`eval "\\$ECHO \"$libname_spec\""`
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
                  for potent_lib in $potential_libs; do
-                   potlib="$potent_lib" # see symlink-check above in file_magic test
+                   potlib=$potent_lib # see symlink-check above in file_magic test
                    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
                       $EGREP "$match_pattern_regex" > /dev/null; then
                      func_append newdeplibs " $a_deplib"
-                     a_deplib=""
+                     a_deplib=
                      break 2
                    fi
                  done
                done
              fi
-             if test -n "$a_deplib" ; then
+             if test -n "$a_deplib"; then
                droppeddeps=yes
                echo
                $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7902,7 +9492,7 @@ EOF
                echo "*** you link to this library.  But I can only do this if you have a"
                echo "*** shared version of the library, which you do not appear to have"
                echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
+               if test -z "$potlib"; then
                  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
                else
                  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7918,18 +9508,18 @@ EOF
          done # Gone through all deplibs.
          ;;
        none | unknown | *)
-         newdeplibs=""
+         newdeplibs=
          tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-           for i in $predeps $postdeps ; do
+         if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+           for i in $predeps $postdeps; do
              # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
            done
          fi
          case $tmp_deplibs in
          *[!\  \ ]*)
            echo
-           if test "X$deplibs_check_method" = "Xnone"; then
+           if test none = "$deplibs_check_method"; then
              echo "*** Warning: inter-library dependencies are not supported in this platform."
            else
              echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7953,8 +9543,8 @@ EOF
          ;;
        esac
 
-       if test "$droppeddeps" = yes; then
-         if test "$module" = yes; then
+       if test yes = "$droppeddeps"; then
+         if test yes = "$module"; then
            echo
            echo "*** Warning: libtool could not satisfy all declared inter-library"
            $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
@@ -7963,12 +9553,12 @@ EOF
            if test -z "$global_symbol_pipe"; then
              echo
              echo "*** However, this would only work if libtool was able to extract symbol"
-             echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
              echo "*** not find such a program.  So, this module is probably useless."
-             echo "*** \`nm' from GNU binutils and a full rebuild may help."
+             echo "*** 'nm' from GNU binutils and a full rebuild may help."
            fi
-           if test "$build_old_libs" = no; then
-             oldlibs="$output_objdir/$libname.$libext"
+           if test no = "$build_old_libs"; then
+             oldlibs=$output_objdir/$libname.$libext
              build_libtool_libs=module
              build_old_libs=yes
            else
@@ -7979,14 +9569,14 @@ EOF
            echo "*** automatically added whenever a program is linked with this library"
            echo "*** or is declared to -dlopen it."
 
-           if test "$allow_undefined" = no; then
+           if test no = "$allow_undefined"; then
              echo
              echo "*** Since this library must not contain undefined symbols,"
              echo "*** because either the platform does not support them or"
              echo "*** it was explicitly requested with -no-undefined,"
              echo "*** libtool will only create a static version of it."
-             if test "$build_old_libs" = no; then
-               oldlibs="$output_objdir/$libname.$libext"
+             if test no = "$build_old_libs"; then
+               oldlibs=$output_objdir/$libname.$libext
                build_libtool_libs=module
                build_old_libs=yes
              else
@@ -8032,7 +9622,7 @@ EOF
        *) func_append new_libs " $deplib" ;;
        esac
       done
-      deplibs="$new_libs"
+      deplibs=$new_libs
 
       # All the library-specific variables (install_libdir is set above).
       library_names=
@@ -8040,25 +9630,25 @@ EOF
       dlname=
 
       # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-       # Remove ${wl} instances when linking with ld.
+      if test yes = "$build_libtool_libs"; then
+       # Remove $wl instances when linking with ld.
        # FIXME: should test the right _cmds variable.
        case $archive_cmds in
          *\$LD\ *) wl= ;;
         esac
-       if test "$hardcode_into_libs" = yes; then
+       if test yes = "$hardcode_into_libs"; then
          # Hardcode the library paths
          hardcode_libdirs=
          dep_rpath=
-         rpath="$finalize_rpath"
-         test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+         rpath=$finalize_rpath
+         test relink = "$opt_mode" || rpath=$compile_rpath$rpath
          for libdir in $rpath; do
            if test -n "$hardcode_libdir_flag_spec"; then
              if test -n "$hardcode_libdir_separator"; then
                func_replace_sysroot "$libdir"
                libdir=$func_replace_sysroot_result
                if test -z "$hardcode_libdirs"; then
-                 hardcode_libdirs="$libdir"
+                 hardcode_libdirs=$libdir
                else
                  # Just accumulate the unique libdirs.
                  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8083,7 +9673,7 @@ EOF
          # Substitute the hardcoded libdirs into the rpath.
          if test -n "$hardcode_libdir_separator" &&
             test -n "$hardcode_libdirs"; then
-           libdir="$hardcode_libdirs"
+           libdir=$hardcode_libdirs
            eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
          fi
          if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8097,8 +9687,8 @@ EOF
          test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
        fi
 
-       shlibpath="$finalize_shlibpath"
-       test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+       shlibpath=$finalize_shlibpath
+       test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
        if test -n "$shlibpath"; then
          eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
        fi
@@ -8108,19 +9698,19 @@ EOF
        eval library_names=\"$library_names_spec\"
        set dummy $library_names
        shift
-       realname="$1"
+       realname=$1
        shift
 
        if test -n "$soname_spec"; then
          eval soname=\"$soname_spec\"
        else
-         soname="$realname"
+         soname=$realname
        fi
        if test -z "$dlname"; then
          dlname=$soname
        fi
 
-       lib="$output_objdir/$realname"
+       lib=$output_objdir/$realname
        linknames=
        for link
        do
@@ -8134,7 +9724,7 @@ EOF
        delfiles=
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
          $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-         export_symbols="$output_objdir/$libname.uexp"
+         export_symbols=$output_objdir/$libname.uexp
          func_append delfiles " $export_symbols"
        fi
 
@@ -8143,31 +9733,31 @@ EOF
        cygwin* | mingw* | cegcc*)
          if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
            # exporting using user supplied symfile
-           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+           func_dll_def_p "$export_symbols" || {
              # and it's NOT already a .def file. Must figure out
              # which of the given symbols are data symbols and tag
              # them as such. So, trigger use of export_symbols_cmds.
              # export_symbols gets reassigned inside the "prepare
              # the list of exported symbols" if statement, so the
              # include_expsyms logic still works.
-             orig_export_symbols="$export_symbols"
+             orig_export_symbols=$export_symbols
              export_symbols=
              always_export_symbols=yes
-           fi
+           }
          fi
          ;;
        esac
 
        # Prepare the list of exported symbols
        if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           func_verbose "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
+         if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+           func_verbose "generating symbol list for '$libname.la'"
+           export_symbols=$output_objdir/$libname.exp
            $opt_dry_run || $RM $export_symbols
            cmds=$export_symbols_cmds
-           save_ifs="$IFS"; IFS='~'
+           save_ifs=$IFS; IFS='~'
            for cmd1 in $cmds; do
-             IFS="$save_ifs"
+             IFS=$save_ifs
              # Take the normal branch if the nm_file_list_spec branch
              # doesn't work or if tool conversion is not needed.
              case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8181,7 +9771,7 @@ EOF
                  try_normal_branch=no
                  ;;
              esac
-             if test "$try_normal_branch" = yes \
+             if test yes = "$try_normal_branch" \
                 && { test "$len" -lt "$max_cmd_len" \
                      || test "$max_cmd_len" -le -1; }
              then
@@ -8192,7 +9782,7 @@ EOF
                output_la=$func_basename_result
                save_libobjs=$libobjs
                save_output=$output
-               output=${output_objdir}/${output_la}.nm
+               output=$output_objdir/$output_la.nm
                func_to_tool_file "$output"
                libobjs=$nm_file_list_spec$func_to_tool_file_result
                func_append delfiles " $output"
@@ -8215,8 +9805,8 @@ EOF
                break
              fi
            done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+           IFS=$save_ifs
+           if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
              func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
              func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
            fi
@@ -8224,16 +9814,16 @@ EOF
        fi
 
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         tmp_export_symbols="$export_symbols"
-         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+         tmp_export_symbols=$export_symbols
+         test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
          $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
        fi
 
-       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+       if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
          # The given exports_symbols file has to be filtered, so filter it.
-         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+         func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
          # FIXME: $output_objdir/$libname.filter potentially contains lots of
-         # 's' commands which not all seds can handle. GNU sed should be fine
+         # 's' commands, which not all seds can handle. GNU sed should be fine
          # though. Also, the filter scales superlinearly with the number of
          # global variables. join(1) would be nice here, but unfortunately
          # isn't a blessed tool.
@@ -8252,11 +9842,11 @@ EOF
            ;;
          esac
        done
-       deplibs="$tmp_deplibs"
+       deplibs=$tmp_deplibs
 
        if test -n "$convenience"; then
          if test -n "$whole_archive_flag_spec" &&
-           test "$compiler_needs_object" = yes &&
+           test yes = "$compiler_needs_object" &&
            test -z "$libobjs"; then
            # extract the archives, so we have objects to list.
            # TODO: could optimize this to just extract one archive.
@@ -8267,7 +9857,7 @@ EOF
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
            test "X$libobjs" = "X " && libobjs=
          else
-           gentop="$output_objdir/${outputname}x"
+           gentop=$output_objdir/${outputname}x
            func_append generated " $gentop"
 
            func_extract_archives $gentop $convenience
@@ -8276,18 +9866,18 @@ EOF
          fi
        fi
 
-       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+       if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
          eval flag=\"$thread_safe_flag_spec\"
          func_append linker_flags " $flag"
        fi
 
        # Make a backup of the uninstalled library when relinking
-       if test "$opt_mode" = relink; then
+       if test relink = "$opt_mode"; then
          $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
        fi
 
        # Do each of the archive commands.
-       if test "$module" = yes && test -n "$module_cmds" ; then
+       if test yes = "$module" && test -n "$module_cmds"; then
          if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
            eval test_cmds=\"$module_expsym_cmds\"
            cmds=$module_expsym_cmds
@@ -8305,7 +9895,7 @@ EOF
          fi
        fi
 
-       if test "X$skipped_export" != "X:" &&
+       if test : != "$skipped_export" &&
           func_len " $test_cmds" &&
           len=$func_len_result &&
           test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8338,8 +9928,8 @@ EOF
          last_robj=
          k=1
 
-         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-           output=${output_objdir}/${output_la}.lnkscript
+         if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+           output=$output_objdir/$output_la.lnkscript
            func_verbose "creating GNU ld script: $output"
            echo 'INPUT (' > $output
            for obj in $save_libobjs
@@ -8351,14 +9941,14 @@ EOF
            func_append delfiles " $output"
            func_to_tool_file "$output"
            output=$func_to_tool_file_result
-         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-           output=${output_objdir}/${output_la}.lnk
+         elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+           output=$output_objdir/$output_la.lnk
            func_verbose "creating linker input file list: $output"
            : > $output
            set x $save_libobjs
            shift
            firstobj=
-           if test "$compiler_needs_object" = yes; then
+           if test yes = "$compiler_needs_object"; then
              firstobj="$1 "
              shift
            fi
@@ -8373,7 +9963,7 @@ EOF
          else
            if test -n "$save_libobjs"; then
              func_verbose "creating reloadable object files..."
-             output=$output_objdir/$output_la-${k}.$objext
+             output=$output_objdir/$output_la-$k.$objext
              eval test_cmds=\"$reload_cmds\"
              func_len " $test_cmds"
              len0=$func_len_result
@@ -8385,13 +9975,13 @@ EOF
                func_len " $obj"
                func_arith $len + $func_len_result
                len=$func_arith_result
-               if test "X$objlist" = X ||
+               if test -z "$objlist" ||
                   test "$len" -lt "$max_cmd_len"; then
                  func_append objlist " $obj"
                else
                  # The command $test_cmds is almost too long, add a
                  # command to the queue.
-                 if test "$k" -eq 1 ; then
+                 if test 1 -eq "$k"; then
                    # The first file doesn't have a previous command to add.
                    reload_objs=$objlist
                    eval concat_cmds=\"$reload_cmds\"
@@ -8401,10 +9991,10 @@ EOF
                    reload_objs="$objlist $last_robj"
                    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
                  fi
-                 last_robj=$output_objdir/$output_la-${k}.$objext
+                 last_robj=$output_objdir/$output_la-$k.$objext
                  func_arith $k + 1
                  k=$func_arith_result
-                 output=$output_objdir/$output_la-${k}.$objext
+                 output=$output_objdir/$output_la-$k.$objext
                  objlist=" $obj"
                  func_len " $last_robj"
                  func_arith $len0 + $func_len_result
@@ -8416,9 +10006,9 @@ EOF
              # files will link in the last one created.
              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
              reload_objs="$objlist $last_robj"
-             eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+             eval concat_cmds=\"\$concat_cmds$reload_cmds\"
              if test -n "$last_robj"; then
-               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
              fi
              func_append delfiles " $output"
 
@@ -8426,9 +10016,9 @@ EOF
              output=
            fi
 
-           if ${skipped_export-false}; then
-             func_verbose "generating symbol list for \`$libname.la'"
-             export_symbols="$output_objdir/$libname.exp"
+           ${skipped_export-false} && {
+             func_verbose "generating symbol list for '$libname.la'"
+             export_symbols=$output_objdir/$libname.exp
              $opt_dry_run || $RM $export_symbols
              libobjs=$output
              # Append the command to create the export file.
@@ -8437,16 +10027,16 @@ EOF
              if test -n "$last_robj"; then
                eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
              fi
-           fi
+           }
 
            test -n "$save_libobjs" &&
              func_verbose "creating a temporary reloadable object file: $output"
 
            # Loop through the commands generated above and execute them.
-           save_ifs="$IFS"; IFS='~'
+           save_ifs=$IFS; IFS='~'
            for cmd in $concat_cmds; do
-             IFS="$save_ifs"
-             $opt_silent || {
+             IFS=$save_ifs
+             $opt_quiet || {
                  func_quote_for_expand "$cmd"
                  eval "func_echo $func_quote_for_expand_result"
              }
@@ -8454,7 +10044,7 @@ EOF
                lt_exit=$?
 
                # Restore the uninstalled library and exit
-               if test "$opt_mode" = relink; then
+               if test relink = "$opt_mode"; then
                  ( cd "$output_objdir" && \
                    $RM "${realname}T" && \
                    $MV "${realname}U" "$realname" )
@@ -8463,7 +10053,7 @@ EOF
                exit $lt_exit
              }
            done
-           IFS="$save_ifs"
+           IFS=$save_ifs
 
            if test -n "$export_symbols_regex" && ${skipped_export-false}; then
              func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8471,18 +10061,18 @@ EOF
            fi
          fi
 
-          if ${skipped_export-false}; then
+          ${skipped_export-false} && {
            if test -n "$export_symbols" && test -n "$include_expsyms"; then
-             tmp_export_symbols="$export_symbols"
-             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+             tmp_export_symbols=$export_symbols
+             test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
              $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
            fi
 
            if test -n "$orig_export_symbols"; then
              # The given exports_symbols file has to be filtered, so filter it.
-             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+             func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
              # FIXME: $output_objdir/$libname.filter potentially contains lots of
-             # 's' commands which not all seds can handle. GNU sed should be fine
+             # 's' commands, which not all seds can handle. GNU sed should be fine
              # though. Also, the filter scales superlinearly with the number of
              # global variables. join(1) would be nice here, but unfortunately
              # isn't a blessed tool.
@@ -8491,7 +10081,7 @@ EOF
              export_symbols=$output_objdir/$libname.def
              $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
            fi
-         fi
+         }
 
          libobjs=$output
          # Restore the value of output.
@@ -8505,7 +10095,7 @@ EOF
          # value of $libobjs for piecewise linking.
 
          # Do each of the archive commands.
-         if test "$module" = yes && test -n "$module_cmds" ; then
+         if test yes = "$module" && test -n "$module_cmds"; then
            if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
              cmds=$module_expsym_cmds
            else
@@ -8527,7 +10117,7 @@ EOF
 
        # Add any objects from preloaded convenience libraries
        if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $dlprefiles
@@ -8535,11 +10125,12 @@ EOF
          test "X$libobjs" = "X " && libobjs=
        fi
 
-       save_ifs="$IFS"; IFS='~'
+       save_ifs=$IFS; IFS='~'
        for cmd in $cmds; do
-         IFS="$save_ifs"
+         IFS=$sp$nl
          eval cmd=\"$cmd\"
-         $opt_silent || {
+         IFS=$save_ifs
+         $opt_quiet || {
            func_quote_for_expand "$cmd"
            eval "func_echo $func_quote_for_expand_result"
          }
@@ -8547,7 +10138,7 @@ EOF
            lt_exit=$?
 
            # Restore the uninstalled library and exit
-           if test "$opt_mode" = relink; then
+           if test relink = "$opt_mode"; then
              ( cd "$output_objdir" && \
                $RM "${realname}T" && \
                $MV "${realname}U" "$realname" )
@@ -8556,10 +10147,10 @@ EOF
            exit $lt_exit
          }
        done
-       IFS="$save_ifs"
+       IFS=$save_ifs
 
        # Restore the uninstalled library and exit
-       if test "$opt_mode" = relink; then
+       if test relink = "$opt_mode"; then
          $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
          if test -n "$convenience"; then
@@ -8579,39 +10170,39 @@ EOF
        done
 
        # If -module or -export-dynamic was specified, set the dlname.
-       if test "$module" = yes || test "$export_dynamic" = yes; then
+       if test yes = "$module" || test yes = "$export_dynamic"; then
          # On all known operating systems, these are identical.
-         dlname="$soname"
+         dlname=$soname
        fi
       fi
       ;;
 
     obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for objects"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+       func_warning "'-dlopen' is ignored for objects"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for objects" ;;
+       func_warning "'-l' and '-L' are ignored for objects" ;;
       esac
 
       test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for objects"
+       func_warning "'-rpath' is ignored for objects"
 
       test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for objects"
+       func_warning "'-R' is ignored for objects"
 
       test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for objects"
+       func_warning "'-version-info' is ignored for objects"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for objects"
+       func_warning "'-release' is ignored for objects"
 
       case $output in
       *.lo)
        test -n "$objs$old_deplibs" && \
-         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+         func_fatal_error "cannot build library object '$output' from non-libtool objects"
 
        libobj=$output
        func_lo2o "$libobj"
@@ -8619,7 +10210,7 @@ EOF
        ;;
       *)
        libobj=
-       obj="$output"
+       obj=$output
        ;;
       esac
 
@@ -8632,17 +10223,19 @@ EOF
       # the extraction.
       reload_conv_objs=
       gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
+      # if reload_cmds runs $LD directly, get rid of -Wl from
+      # whole_archive_flag_spec and hope we can get by with turning comma
+      # into space.
+      case $reload_cmds in
+        *\$LD[\ \$]*) wl= ;;
+      esac
       if test -n "$convenience"; then
        if test -n "$whole_archive_flag_spec"; then
          eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-         reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+         test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+         reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
        else
-         gentop="$output_objdir/${obj}x"
+         gentop=$output_objdir/${obj}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $convenience
@@ -8651,12 +10244,12 @@ EOF
       fi
 
       # If we're not building shared, we need to use non_pic_objs
-      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
 
-      output="$obj"
+      output=$obj
       func_execute_cmds "$reload_cmds" 'exit $?'
 
       # Exit if we aren't doing a library object file.
@@ -8668,7 +10261,7 @@ EOF
        exit $EXIT_SUCCESS
       fi
 
-      if test "$build_libtool_libs" != yes; then
+      test yes = "$build_libtool_libs" || {
        if test -n "$gentop"; then
          func_show_eval '${RM}r "$gentop"'
        fi
@@ -8678,12 +10271,12 @@ EOF
        # $show "echo timestamp > $libobj"
        # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
        exit $EXIT_SUCCESS
-      fi
+      }
 
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
+      if test -n "$pic_flag" || test default != "$pic_mode"; then
        # Only do commands if we really have different PIC objects.
        reload_objs="$libobjs $reload_conv_objs"
-       output="$libobj"
+       output=$libobj
        func_execute_cmds "$reload_cmds" 'exit $?'
       fi
 
@@ -8700,16 +10293,14 @@ EOF
                  output=$func_stripname_result.exe;;
       esac
       test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for programs"
+       func_warning "'-version-info' is ignored for programs"
 
       test -n "$release" && \
-       func_warning "\`-release' is ignored for programs"
+       func_warning "'-release' is ignored for programs"
 
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-       && test "$dlopen_self" = unknown \
-       && test "$dlopen_self_static" = unknown && \
-         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+      $preload \
+       && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+       && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
 
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
@@ -8723,11 +10314,11 @@ EOF
       *-*-darwin*)
        # Don't allow lazy linking, it breaks C++ global constructors
        # But is supposedly fixed on 10.4 or later (yay!).
-       if test "$tagname" = CXX ; then
+       if test CXX = "$tagname"; then
          case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
            10.[0123])
-             func_append compile_command " ${wl}-bind_at_load"
-             func_append finalize_command " ${wl}-bind_at_load"
+             func_append compile_command " $wl-bind_at_load"
+             func_append finalize_command " $wl-bind_at_load"
            ;;
          esac
        fi
@@ -8763,7 +10354,7 @@ EOF
        *) func_append new_libs " $deplib" ;;
        esac
       done
-      compile_deplibs="$new_libs"
+      compile_deplibs=$new_libs
 
 
       func_append compile_command " $compile_deplibs"
@@ -8787,7 +10378,7 @@ EOF
        if test -n "$hardcode_libdir_flag_spec"; then
          if test -n "$hardcode_libdir_separator"; then
            if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
+             hardcode_libdirs=$libdir
            else
              # Just accumulate the unique libdirs.
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8810,7 +10401,7 @@ EOF
        fi
        case $host in
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+         testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
          case :$dllsearchpath: in
          *":$libdir:"*) ;;
          ::) dllsearchpath=$libdir;;
@@ -8827,10 +10418,10 @@ EOF
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
         test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
+       libdir=$hardcode_libdirs
        eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      compile_rpath="$rpath"
+      compile_rpath=$rpath
 
       rpath=
       hardcode_libdirs=
@@ -8838,7 +10429,7 @@ EOF
        if test -n "$hardcode_libdir_flag_spec"; then
          if test -n "$hardcode_libdir_separator"; then
            if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
+             hardcode_libdirs=$libdir
            else
              # Just accumulate the unique libdirs.
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8863,45 +10454,43 @@ EOF
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
         test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
+       libdir=$hardcode_libdirs
        eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      finalize_rpath="$rpath"
+      finalize_rpath=$rpath
 
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+      if test -n "$libobjs" && test yes = "$build_old_libs"; then
        # Transform all the library objects into standard objects.
        compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
        finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+      func_generate_dlsyms "$outputname" "@PROGRAM@" false
 
       # template prelinking step
       if test -n "$prelink_cmds"; then
        func_execute_cmds "$prelink_cmds" 'exit $?'
       fi
 
-      wrappers_required=yes
+      wrappers_required=:
       case $host in
       *cegcc* | *mingw32ce*)
         # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=no
+        wrappers_required=false
         ;;
       *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
+        test yes = "$build_libtool_libs" || wrappers_required=false
         ;;
       *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
+        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+          wrappers_required=false
         fi
         ;;
       esac
-      if test "$wrappers_required" = no; then
+      $wrappers_required || {
        # Replace the output file specification.
        compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       link_command="$compile_command$compile_rpath"
+       link_command=$compile_command$compile_rpath
 
        # We have no uninstalled library dependencies, so finalize right now.
        exit_status=0
@@ -8914,12 +10503,12 @@ EOF
        fi
 
        # Delete the generated files.
-       if test -f "$output_objdir/${outputname}S.${objext}"; then
-         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+       if test -f "$output_objdir/${outputname}S.$objext"; then
+         func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
        fi
 
        exit $exit_status
-      fi
+      }
 
       if test -n "$compile_shlibpath$finalize_shlibpath"; then
        compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8949,9 +10538,9 @@ EOF
        fi
       fi
 
-      if test "$no_install" = yes; then
+      if test yes = "$no_install"; then
        # We don't need to create a wrapper script.
-       link_command="$compile_var$compile_command$compile_rpath"
+       link_command=$compile_var$compile_command$compile_rpath
        # Replace the output file specification.
        link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
        # Delete the old output file.
@@ -8968,27 +10557,28 @@ EOF
        exit $EXIT_SUCCESS
       fi
 
-      if test "$hardcode_action" = relink; then
-       # Fast installation is not supported
-       link_command="$compile_var$compile_command$compile_rpath"
-       relink_command="$finalize_var$finalize_command$finalize_rpath"
+      case $hardcode_action,$fast_install in
+        relink,*)
+         # Fast installation is not supported
+         link_command=$compile_var$compile_command$compile_rpath
+         relink_command=$finalize_var$finalize_command$finalize_rpath
 
-       func_warning "this platform does not like uninstalled shared libraries"
-       func_warning "\`$output' will be relinked during installation"
-      else
-       if test "$fast_install" != no; then
-         link_command="$finalize_var$compile_command$finalize_rpath"
-         if test "$fast_install" = yes; then
-           relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-         else
-           # fast_install is set to needless
-           relink_command=
-         fi
-       else
-         link_command="$compile_var$compile_command$compile_rpath"
-         relink_command="$finalize_var$finalize_command$finalize_rpath"
-       fi
-      fi
+         func_warning "this platform does not like uninstalled shared libraries"
+         func_warning "'$output' will be relinked during installation"
+         ;;
+        *,yes)
+         link_command=$finalize_var$compile_command$finalize_rpath
+         relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+          ;;
+       *,no)
+         link_command=$compile_var$compile_command$compile_rpath
+         relink_command=$finalize_var$finalize_command$finalize_rpath
+          ;;
+       *,needless)
+         link_command=$finalize_var$compile_command$finalize_rpath
+         relink_command=
+          ;;
+      esac
 
       # Replace the output file specification.
       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9045,8 +10635,8 @@ EOF
            func_dirname_and_basename "$output" "" "."
            output_name=$func_basename_result
            output_path=$func_dirname_result
-           cwrappersource="$output_path/$objdir/lt-$output_name.c"
-           cwrapper="$output_path/$output_name.exe"
+           cwrappersource=$output_path/$objdir/lt-$output_name.c
+           cwrapper=$output_path/$output_name.exe
            $RM $cwrappersource $cwrapper
            trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 
@@ -9067,7 +10657,7 @@ EOF
            trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
            $opt_dry_run || {
              # note: this script will not be executed, so do not chmod.
-             if test "x$build" = "x$host" ; then
+             if test "x$build" = "x$host"; then
                $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
              else
                func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9090,25 +10680,27 @@ EOF
     # See if we need to build an old-fashioned archive.
     for oldlib in $oldlibs; do
 
-      if test "$build_libtool_libs" = convenience; then
-       oldobjs="$libobjs_save $symfileobj"
-       addlibs="$convenience"
-       build_libtool_libs=no
-      else
-       if test "$build_libtool_libs" = module; then
-         oldobjs="$libobjs_save"
+      case $build_libtool_libs in
+        convenience)
+         oldobjs="$libobjs_save $symfileobj"
+         addlibs=$convenience
          build_libtool_libs=no
-       else
+         ;;
+       module)
+         oldobjs=$libobjs_save
+         addlibs=$old_convenience
+         build_libtool_libs=no
+          ;;
+       *)
          oldobjs="$old_deplibs $non_pic_objects"
-         if test "$preload" = yes && test -f "$symfileobj"; then
-           func_append oldobjs " $symfileobj"
-         fi
-       fi
-       addlibs="$old_convenience"
-      fi
+         $preload && test -f "$symfileobj" \
+           && func_append oldobjs " $symfileobj"
+         addlibs=$old_convenience
+         ;;
+      esac
 
       if test -n "$addlibs"; then
-       gentop="$output_objdir/${outputname}x"
+       gentop=$output_objdir/${outputname}x
        func_append generated " $gentop"
 
        func_extract_archives $gentop $addlibs
@@ -9116,13 +10708,13 @@ EOF
       fi
 
       # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
        cmds=$old_archive_from_new_cmds
       else
 
        # Add any objects from preloaded convenience libraries
        if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
 
          func_extract_archives $gentop $dlprefiles
@@ -9143,7 +10735,7 @@ EOF
          :
        else
          echo "copying selected object files to avoid basename conflicts..."
-         gentop="$output_objdir/${outputname}x"
+         gentop=$output_objdir/${outputname}x
          func_append generated " $gentop"
          func_mkdir_p "$gentop"
          save_oldobjs=$oldobjs
@@ -9152,7 +10744,7 @@ EOF
          for obj in $save_oldobjs
          do
            func_basename "$obj"
-           objbase="$func_basename_result"
+           objbase=$func_basename_result
            case " $oldobjs " in
            " ") oldobjs=$obj ;;
            *[\ /]"$objbase "*)
@@ -9221,18 +10813,18 @@ EOF
            else
              # the above command should be used before it gets too long
              oldobjs=$objlist
-             if test "$obj" = "$last_oldobj" ; then
+             if test "$obj" = "$last_oldobj"; then
                RANLIB=$save_RANLIB
              fi
              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+             eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
              objlist=
              len=$len0
            fi
          done
          RANLIB=$save_RANLIB
          oldobjs=$objlist
-         if test "X$oldobjs" = "X" ; then
+         if test -z "$oldobjs"; then
            eval cmds=\"\$concat_cmds\"
          else
            eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9249,7 +10841,7 @@ EOF
     case $output in
     *.la)
       old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      test yes = "$build_old_libs" && old_library=$libname.$libext
       func_verbose "creating $output"
 
       # Preserve any variables that may affect compiler behavior
@@ -9264,31 +10856,31 @@ EOF
        fi
       done
       # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
+      if test yes = "$hardcode_automatic"; then
        relink_command=
       fi
 
       # Only create the output if not a dry run.
       $opt_dry_run || {
        for installed in no yes; do
-         if test "$installed" = yes; then
+         if test yes = "$installed"; then
            if test -z "$install_libdir"; then
              break
            fi
-           output="$output_objdir/$outputname"i
+           output=$output_objdir/${outputname}i
            # Replace all uninstalled libtool libraries with the installed ones
            newdependency_libs=
            for deplib in $dependency_libs; do
              case $deplib in
              *.la)
                func_basename "$deplib"
-               name="$func_basename_result"
+               name=$func_basename_result
                func_resolve_sysroot "$deplib"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
                test -z "$libdir" && \
-                 func_fatal_error "\`$deplib' is not a valid libtool archive"
+                 func_fatal_error "'$deplib' is not a valid libtool archive"
                func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
                ;;
              -L*)
@@ -9304,23 +10896,23 @@ EOF
              *) func_append newdependency_libs " $deplib" ;;
              esac
            done
-           dependency_libs="$newdependency_libs"
+           dependency_libs=$newdependency_libs
            newdlfiles=
 
            for lib in $dlfiles; do
              case $lib in
              *.la)
                func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               name=$func_basename_result
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
+                 func_fatal_error "'$lib' is not a valid libtool archive"
                func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
                ;;
              *) func_append newdlfiles " $lib" ;;
              esac
            done
-           dlfiles="$newdlfiles"
+           dlfiles=$newdlfiles
            newdlprefiles=
            for lib in $dlprefiles; do
              case $lib in
@@ -9330,34 +10922,34 @@ EOF
                # didn't already link the preopened objects directly into
                # the library:
                func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               name=$func_basename_result
+               eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
+                 func_fatal_error "'$lib' is not a valid libtool archive"
                func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
                ;;
              esac
            done
-           dlprefiles="$newdlprefiles"
+           dlprefiles=$newdlprefiles
          else
            newdlfiles=
            for lib in $dlfiles; do
              case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                *) abs=`pwd`"/$lib" ;;
              esac
              func_append newdlfiles " $abs"
            done
-           dlfiles="$newdlfiles"
+           dlfiles=$newdlfiles
            newdlprefiles=
            for lib in $dlprefiles; do
              case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                *) abs=`pwd`"/$lib" ;;
              esac
              func_append newdlprefiles " $abs"
            done
-           dlprefiles="$newdlprefiles"
+           dlprefiles=$newdlprefiles
          fi
          $RM $output
          # place dlname in correct position for cygwin
@@ -9373,10 +10965,9 @@ EOF
          case $host,$output,$installed,$module,$dlname in
            *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
              # If a -bindir argument was supplied, place the dll there.
-             if test "x$bindir" != x ;
-             then
+             if test -n "$bindir"; then
                func_relative_path "$install_libdir" "$bindir"
-               tdlname=$func_relative_path_result$dlname
+               tdlname=$func_relative_path_result/$dlname
              else
                # Otherwise fall back on heuristic.
                tdlname=../bin/$dlname
@@ -9385,7 +10976,7 @@ EOF
          esac
          $ECHO > $output "\
 # $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -9399,7 +10990,7 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
 inherited_linker_flags='$new_inherited_linker_flags'
 
 # Libraries that this one depends upon.
@@ -9425,7 +11016,7 @@ dlpreopen='$dlprefiles'
 
 # Directory that this library needs to be installed in:
 libdir='$install_libdir'"
-         if test "$installed" = no && test "$need_relink" = yes; then
+         if test no,yes = "$installed,$need_relink"; then
            $ECHO >> $output "\
 relink_command=\"$relink_command\""
          fi
@@ -9440,27 +11031,29 @@ relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS
 }
 
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
-    func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+  func_mode_link ${1+"$@"}
+fi
 
 
 # func_mode_uninstall arg...
 func_mode_uninstall ()
 {
-    $opt_debug
-    RM="$nonopt"
+    $debug_cmd
+
+    RM=$nonopt
     files=
-    rmforce=
+    rmforce=false
     exit_status=0
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     for arg
     do
       case $arg in
-      -f) func_append RM " $arg"; rmforce=yes ;;
+      -f) func_append RM " $arg"; rmforce=: ;;
       -*) func_append RM " $arg" ;;
       *) func_append files " $arg" ;;
       esac
@@ -9473,18 +11066,18 @@ func_mode_uninstall ()
 
     for file in $files; do
       func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-       odir="$objdir"
+      dir=$func_dirname_result
+      if test . = "$dir"; then
+       odir=$objdir
       else
-       odir="$dir/$objdir"
+       odir=$dir/$objdir
       fi
       func_basename "$file"
-      name="$func_basename_result"
-      test "$opt_mode" = uninstall && odir="$dir"
+      name=$func_basename_result
+      test uninstall = "$opt_mode" && odir=$dir
 
       # Remember odir for removal later, being careful to avoid duplicates
-      if test "$opt_mode" = clean; then
+      if test clean = "$opt_mode"; then
        case " $rmdirs " in
          *" $odir "*) ;;
          *) func_append rmdirs " $odir" ;;
@@ -9499,11 +11092,11 @@ func_mode_uninstall ()
       elif test -d "$file"; then
        exit_status=1
        continue
-      elif test "$rmforce" = yes; then
+      elif $rmforce; then
        continue
       fi
 
-      rmfiles="$file"
+      rmfiles=$file
 
       case $name in
       *.la)
@@ -9517,7 +11110,7 @@ func_mode_uninstall ()
          done
          test -n "$old_library" && func_append rmfiles " $odir/$old_library"
 
-         case "$opt_mode" in
+         case $opt_mode in
          clean)
            case " $library_names " in
            *" $dlname "*) ;;
@@ -9528,12 +11121,12 @@ func_mode_uninstall ()
          uninstall)
            if test -n "$library_names"; then
              # Do each command in the postuninstall commands.
-             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+             func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
            fi
 
            if test -n "$old_library"; then
              # Do each command in the old_postuninstall commands.
-             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+             func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
            fi
            # FIXME: should reinstall the best remaining shared library.
            ;;
@@ -9549,21 +11142,19 @@ func_mode_uninstall ()
          func_source $dir/$name
 
          # Add PIC object to the list of files to remove.
-         if test -n "$pic_object" &&
-            test "$pic_object" != none; then
+         if test -n "$pic_object" && test none != "$pic_object"; then
            func_append rmfiles " $dir/$pic_object"
          fi
 
          # Add non-PIC object to the list of files to remove.
-         if test -n "$non_pic_object" &&
-            test "$non_pic_object" != none; then
+         if test -n "$non_pic_object" && test none != "$non_pic_object"; then
            func_append rmfiles " $dir/$non_pic_object"
          fi
        fi
        ;;
 
       *)
-       if test "$opt_mode" = clean ; then
+       if test clean = "$opt_mode"; then
          noexename=$name
          case $file in
          *.exe)
@@ -9590,12 +11181,12 @@ func_mode_uninstall ()
 
            # note $name still contains .exe if it was in $file originally
            # as does the version of $file that was added into $rmfiles
-           func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
-           if test "$fast_install" = yes && test -n "$relink_command"; then
+           func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+           if test yes = "$fast_install" && test -n "$relink_command"; then
              func_append rmfiles " $odir/lt-$name"
            fi
-           if test "X$noexename" != "X$name" ; then
-             func_append rmfiles " $odir/lt-${noexename}.c"
+           if test "X$noexename" != "X$name"; then
+             func_append rmfiles " $odir/lt-$noexename.c"
            fi
          fi
        fi
@@ -9604,7 +11195,7 @@ func_mode_uninstall ()
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
 
-    # Try to remove the ${objdir}s in the directories where we deleted files
+    # Try to remove the $objdir's in the directories where we deleted files
     for dir in $rmdirs; do
       if test -d "$dir"; then
        func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9614,16 +11205,17 @@ func_mode_uninstall ()
     exit $exit_status
 }
 
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+  func_mode_uninstall ${1+"$@"}
+fi
 
 test -z "$opt_mode" && {
-  help="$generic_help"
+  help=$generic_help
   func_fatal_help "you must specify a MODE"
 }
 
 test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$opt_mode'"
+  func_fatal_help "invalid operation mode '$opt_mode'"
 
 if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"
@@ -9634,7 +11226,7 @@ exit $exit_status
 
 
 # The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
+# where we disable both kinds of libraries.  Given conflicting
 # choices, we go for a static library, that is the most portable,
 # since we can't tell whether shared libraries were disabled because
 # the user asked for that or because the platform doesn't support
@@ -9657,5 +11249,3 @@ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
 # mode:shell-script
 # sh-indentation:2
 # End:
-# vi:sw=2
-
index 60dc485..875c81a 100755 (executable)
@@ -1,10 +1,9 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2010-08-21.06; # UTC
+scriptversion=2023-11-23.18; # UTC
 
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1995-2023 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
@@ -18,7 +17,7 @@ scriptversion=2010-08-21.06; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -40,7 +39,7 @@ fi
 
 case $1 in
   '')
-     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No file.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -51,6 +50,8 @@ Pretty-print the modification day of FILE, in the format:
 1 January 1970
 
 Report bugs to <bug-automake@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
@@ -75,8 +76,12 @@ export LC_ALL
 LC_TIME=C
 export LC_TIME
 
+# Use UTC to get reproducible result.
+TZ=UTC0
+export TZ
+
 # GNU ls changes its time format in response to the TIME_STYLE
-# variable.  Since we cannot assume `unset' works, revert this
+# variable.  Since we cannot assume 'unset' works, revert this
 # variable to its documented default.
 if test "${TIME_STYLE+set}" = set; then
   TIME_STYLE=posix-long-iso
@@ -96,14 +101,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
   ls_command="$ls_command -n"
 fi
 
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
 #  drwxrwx---        0 Aug 11  2001 foo
 # This differs from Unix, which adds ownership information.
 #  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
 #
 # To find the date, we split the line on spaces and iterate on words
 # until we find a month.  This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc.  However, it's unlikely that '/'
 # will be owned by a user whose name is a month.  So we first look at
 # the extended ls output of the root directory to decide how many
 # words should be skipped to get the date.
@@ -116,7 +121,7 @@ month=
 command=
 until test $month
 do
-  test $# -gt 0 || error "failed parsing \`$ls_command /' output"
+  test $# -gt 0 || error "failed parsing '$ls_command /' output"
   shift
   # Add another shift to the command.
   command="$command shift;"
@@ -136,7 +141,7 @@ do
   esac
 done
 
-test -n "$month" || error "failed parsing \`$ls_command /' output"
+test -n "$month" || error "failed parsing '$ls_command /' output"
 
 # Get the extended ls output of the file or directory.
 set dummy x`eval "$ls_command \"\\\$save_arg1\""`
@@ -217,9 +222,9 @@ echo $day $month $year
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 86a8fc3..1fe1611 100755 (executable)
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # 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
@@ -18,7 +17,7 @@ scriptversion=2012-01-06.13; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake@gnu.org>."
     exit $?
@@ -99,233 +70,146 @@ Send bug reports to <bug-automake@gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
     ;;
-esac
-
-exit 0
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index a10ee35..f577e9e 100644 (file)
@@ -1,3 +1,20 @@
+/* Styling for cyclomatic code complexity charts.
+
+   Copyright (C) 2008-2024 Free Software Foundation, Inc.
+
+   This file 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 file 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 <https://www.gnu.org/licenses/>.  */
+
 body {
     font-family: Helvetica, sans-serif;
 }
index 7cf8df7..e167d47 100644 (file)
@@ -1,6 +1,6 @@
 # pmccabe2html - AWK script to convert pmccabe output to html       -*- awk -*-
 
-# Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-2024 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
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Written by Jose E. Marchesi <jemarch@gnu.org>.
 # Adapted for gnulib by Simon Josefsson <simon@josefsson.org>.
 
 # Typical Invocation is from a Makefile.am:
 #
-# CYCLO_SOURCES = ${top_srcdir}/src/*.[ch]
+# CYCLO_SRCS = ${top_srcdir}/src/*.[ch]
 #
-# cyclo-$(PACKAGE).html: $(CYCLO_SOURCES)
-#      $(PMCCABE) $(CYCLO_SOURCES) \
-#              | sort -nr \
-#              | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
+# cyclo-$(PACKAGE).html: $(CYCLO_SRCS)
+#      $(AM_V_GEN)$(PMCCABE) $(CYCLO_SRCS) \
+#              | LC_ALL=C sort -nr \
+#              | LC_ALL=C $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
 #                      -v lang=html -v name="$(PACKAGE_NAME)" \
-#                      -v vcurl="http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=%FILENAME%;hb=HEAD" \
-#                      -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+#                      -v vcurl="https://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=%FILENAME%;hb=HEAD" \
+#                      -v url="https://www.gnu.org/software/$(PACKAGE)/" \
 #                      -v css=${top_srcdir}/build-aux/pmccabe.css \
 #                      -v cut_dir=${top_srcdir}/ \
 #                      > $@-tmp
 
 # Prologue & configuration
 BEGIN {
+    # Portable lookup of present time.
+    "date +%s" | getline epoch_time
+    "date" | getline chronos_time
+
     section_global_stats_p = 1
     section_function_cyclo_p = 1
 
@@ -69,7 +73,7 @@ BEGIN {
 Copyright (c) 2007, 2008 Free Software Foundation, Inc."
     html_doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \
 \"http://www.w3.org/TR/html401/loose.dtd\">"
-    html_comment = "<!-- Generated by gnulib's pmccabe2html at " systime() " -->"
+    html_comment = "<!-- Generated by gnulib's pmccabe2html at " epoch_time " -->"
     html_title = "Cyclomatic Complexity report for " package_name
 
     # Wiki options
@@ -211,7 +215,7 @@ function html_header ()
            print cssline
        }
         print "-->"
-       print "</style />"
+       print "</style>"
        close(css)
     }
     print "</head>"
@@ -418,9 +422,9 @@ function html_fnc (nfun,
 
             while ((getline codeline < (fname nfun "_fn.txt")) > 0)
             {
-                sub(/\\</, "&lt;", codeline)
-                sub(/\\>/, "&gt;", codeline)
-                sub(/&/, "&amp;", codeline)
+                gsub(/&/, "\\&amp;", codeline) # Must come first.
+                gsub(/</, "\\&lt;", codeline)
+                gsub(/>/, "\\&gt;", codeline)
 
                 print codeline
             }
@@ -852,12 +856,12 @@ END {
     if (output_lang == "html")
     {
         print "<div class=\"page_title\">" package_name " Cyclomatic Complexity Report</div>"
-        print "<p>Report generated at: <span class=\"report_timestamp\">" strftime() "</div></p>"
+        print "<p>Report generated at: <span class=\"report_timestamp\">" chronos_time "</span></p>"
     }
     if (output_lang == "wiki")
     {
         print "==" package_name " Cyclomatic Complexity Report=="
-        print "Report generated at: '''" strftime() "'''"
+        print "Report generated at: '''" chronos_time "'''"
     }
 
     if (section_global_stats_p)
diff --git a/build-aux/snippet/_Noreturn.h b/build-aux/snippet/_Noreturn.h
deleted file mode 100644 (file)
index c44ad89..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#if !defined _Noreturn && __STDC_VERSION__ < 201112
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
-#  define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn
-# endif
-#endif
diff --git a/build-aux/snippet/unused-parameter.h b/build-aux/snippet/unused-parameter.h
deleted file mode 100644 (file)
index 1c8d61f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2012 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 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/>.  */
-
-/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
-   declarations for parameters that are not used.  This helps to reduce
-   warnings, such as from GCC -Wunused-parameter.  The syntax is as follows:
-       type param _GL_UNUSED_PARAMETER
-   or more generally
-       param_decl _GL_UNUSED_PARAMETER
-   For example:
-       int param _GL_UNUSED_PARAMETER
-       int *(*param)(void) _GL_UNUSED_PARAMETER
-   Other possible, but obscure and discouraged syntaxes:
-       int _GL_UNUSED_PARAMETER *(*param)(void)
-       _GL_UNUSED_PARAMETER int *(*param)(void)
- */
-#ifndef _GL_UNUSED_PARAMETER
-# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-#  define _GL_UNUSED_PARAMETER __attribute__ ((__unused__))
-# else
-#  define _GL_UNUSED_PARAMETER
-# endif
-#endif
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
deleted file mode 100644 (file)
index d4cb94f..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2012 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 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/>.  */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
-   for FUNCTION which will then trigger a compiler warning containing
-   the text of "literal string" anywhere that function is called, if
-   supported by the compiler.  If the compiler does not support this
-   feature, the macro expands to an unused extern declaration.
-
-   This macro is useful for marking a function as a potential
-   portability trap, with the intent that "literal string" include
-   instructions on the replacement function that should be used
-   instead.  However, one of the reasons that a function is a
-   portability trap is if it has the wrong signature.  Declaring
-   FUNCTION with a different signature in C is a compilation error, so
-   this macro must use the same type as any existing declaration so
-   that programs that avoid the problematic FUNCTION do not fail to
-   compile merely because they included a header that poisoned the
-   function.  But this implies that _GL_WARN_ON_USE is only safe to
-   use if FUNCTION is known to already have a declaration.  Use of
-   this macro implies that there must not be any other macro hiding
-   the declaration of FUNCTION; but undefining FUNCTION first is part
-   of the poisoning process anyway (although for symbols that are
-   provided only via a macro, the result is a compilation error rather
-   than a warning containing "literal string").  Also note that in
-   C++, it is only safe to use if FUNCTION has no overloads.
-
-   For an example, it is possible to poison 'getline' by:
-   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
-     [getline]) in configure.ac, which potentially defines
-     HAVE_RAW_DECL_GETLINE
-   - adding this code to a header that wraps the system <stdio.h>:
-     #undef getline
-     #if HAVE_RAW_DECL_GETLINE
-     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
-       "not universally present; use the gnulib module getline");
-     #endif
-
-   It is not possible to directly poison global variables.  But it is
-   possible to write a wrapper accessor function, and poison that
-   (less common usage, like &environ, will cause a compilation error
-   rather than issue the nice warning, but the end result of informing
-   the developer about their portability problem is still achieved):
-   #if HAVE_RAW_DECL_ENVIRON
-   static inline char ***rpl_environ (void) { return &environ; }
-   _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
-   # undef environ
-   # define environ (*rpl_environ ())
-   #endif
-   */
-#ifndef _GL_WARN_ON_USE
-
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
-#  define _GL_WARN_ON_USE(function, message) \
-extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function.  */
-#  define _GL_WARN_ON_USE(function, message) \
-extern __typeof__ (function) function
-# else /* Unsupported.  */
-#  define _GL_WARN_ON_USE(function, message) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-#endif
-
-/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
-   is like _GL_WARN_ON_USE (function, "string"), except that the function is
-   declared with the given prototype, consisting of return type, parameters,
-   and attributes.
-   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
-   not work in this case.  */
-#ifndef _GL_WARN_ON_USE_CXX
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-extern rettype function parameters_and_attributes \
-     __attribute__ ((__warning__ (msg)))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-/* Verify the existence of the function.  */
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-extern rettype function parameters_and_attributes
-# else /* Unsupported.  */
-#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
-#endif
-
-/* _GL_WARN_EXTERN_C declaration;
-   performs the declaration with C linkage.  */
-#ifndef _GL_WARN_EXTERN_C
-# if defined __cplusplus
-#  define _GL_WARN_EXTERN_C extern "C"
-# else
-#  define _GL_WARN_EXTERN_C extern
-# endif
-#endif
diff --git a/build-aux/test-driver b/build-aux/test-driver
new file mode 100755 (executable)
index 0000000..be73b80
--- /dev/null
@@ -0,0 +1,153 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 2011-2021 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
+# the Free Software Foundation; either version 2, 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 <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name NAME --log-file PATH --trs-file PATH
+              [--expect-failure {yes|no}] [--color-tests {yes|no}]
+              [--enable-hard-errors {yes|no}] [--]
+              TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+See the GNU Automake documentation for information.
+END
+}
+
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+   *) break;;
+  esac
+  shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+  usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+  usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='\e[0;31m' # Red.
+  grn='\e[0;32m' # Green.
+  lgn='\e[1;32m' # Light green.
+  blu='\e[1;34m' # Blue.
+  mgn='\e[0;35m' # Magenta.
+  std='\e[m'     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here. We create the file first, then append to it,
+# to ameliorate tests themselves also writing to the log file. Our tests
+# don't, but others can (automake bug#35762).
+: >"$log_file"
+"$@" >>"$log_file" 2>&1
+estatus=$?
+
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
+fi
+
+case $tweaked_estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>"$log_file"
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
index 2abda0f..e8c382f 100644 (file)
@@ -1,13 +1,11 @@
 % texinfo.tex -- TeX macros to handle Texinfo files.
-% 
+%
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2012-01-03.09}
+\def\texinfoversion{2023-09-19.19}
 %
-% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software: you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
 % 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/>.
+% along with this program.  If not, see <https://www.gnu.org/licenses/>.
 %
 % As a special exception, when this file is read by TeX when processing
 % a Texinfo source document, you may use the result without
-% restriction.  (This has been our intent since Texinfo was invented.)
+% restriction. This Exception is an additional permission under section 7
+% of the GNU General Public License, version 3 ("GPLv3").
 %
 % Please try the latest version of texinfo.tex before submitting bug
 % reports; you can get the latest version from:
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-%   ftp://tug.org/tex/texinfo.tex
-%     (and all CTAN mirrors, see http://www.ctan.org).
+%   https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+%   https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+%   https://www.gnu.org/software/texinfo/ (the Texinfo home page)
 % The texinfo.tex in any given distribution could well be out
 % of date, so if that's what you're using, please check.
 %
-% Send bug reports to bug-texinfo@gnu.org.  Please include including a
+% Send bug reports to bug-texinfo@gnu.org.  Please include a
 % complete document in each bug report with which we can reproduce the
 % problem.  Patches are, of course, greatly appreciated.
 %
 % extent.  You can get the existing language-specific files from the
 % full Texinfo distribution.
 %
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+% The GNU Texinfo home page is https://www.gnu.org/software/texinfo.
 
 
 \message{Loading texinfo [version \texinfoversion]:}
 
-% If in a .fmt file, print the version number
-% and turn on active characters that we couldn't do earlier because
-% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
-  \catcode`+=\active \catcode`\_=\active}
+% LaTeX's \typeout.  This ensures that the messages it is used for
+% are identical in format to the corresponding ones from latex/pdflatex.
+\def\typeout{\immediate\write17}%
 
 \chardef\other=12
 
@@ -95,7 +92,9 @@
 \let\ptexraggedright=\raggedright
 \let\ptexrbrace=\}
 \let\ptexslash=\/
+\let\ptexsp=\sp
 \let\ptexstar=\*
+\let\ptexsup=\sup
 \let\ptext=\t
 \let\ptextop=\top
 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
 \ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
 \ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
 
-% Since the category of space is not known, we have to be careful.
-\chardef\spacecat = 10
-\def\spaceisspace{\catcode`\ =\spacecat}
+% Give the space character the catcode for a space.
+\def\spaceisspace{\catcode`\ =10\relax}
+
+% Likewise for ^^M, the end of line character.
+\def\endlineisspace{\catcode13=10\relax}
 
-% sometimes characters are active, so we need control sequences.
-\chardef\ampChar   = `\&
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
 \chardef\dashChar  = `\-
-\chardef\dotChar   = `\.
-\chardef\exclamChar= `\!
-\chardef\hashChar  = `\#
-\chardef\lquoteChar= `\`
-\chardef\questChar = `\?
-\chardef\rquoteChar= `\'
-\chardef\semiChar  = `\;
 \chardef\slashChar = `\/
 \chardef\underChar = `\_
 
   wide-spread wrap-around
 }
 
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen\bindingoffset
-\newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt }
-
 % Sometimes it is convenient to have everything in the transcript file
 % and nothing on the terminal.  We don't just call \tracingall here,
 % since that produces some useless output on the terminal.  We also make
 % @errormsg{MSG}.  Do the index-like expansions on MSG, but if things
 % aren't perfect, it's not the end of the world, being an error message,
 % after all.
-% 
+%
 \def\errormsg{\begingroup \indexnofonts \doerrormsg}
 \def\doerrormsg#1{\errmessage{#1}}
 
 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
   \removelastskip\penalty-200\bigskip\fi\fi}
 
-% Do @cropmarks to get crop marks.
+%\f Output routine
 %
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
 %
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong  \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
+\def\finalout{\overfullrule=0pt }
 
 % Output a mark which sets \thischapter, \thissection and \thiscolor.
 % We dump everything together because we only have one kind of mark.
 %
 % Another complication is to let the user choose whether \thischapter
 % (\thissection) refers to the chapter (section) in effect at the top
-% of a page, or that at the bottom of a page.  The solution is
-% described on page 260 of The TeXbook.  It involves outputting two
-% marks for the sectioning macros, one before the section break, and
-% one after.  I won't pretend I can describe this better than DEK...
+% of a page, or that at the bottom of a page.
+
+% \domark is called twice inside \chapmacro, to add one
+% mark before the section break, and one after.
+%   In the second call \prevchapterdefs is the same as \currentchapterdefs,
+% and \prevsectiondefs is the same as \currentsectiondefs.
+%   Then if the page is not broken at the mark, some of the previous
+% section appears on the page, and we can get the name of this section
+% from \firstmark for @everyheadingmarks top.
+%   @everyheadingmarks bottom uses \botmark.
+%
+% See page 260 of The TeXbook.
 \def\domark{%
-  \toks0=\expandafter{\lastchapterdefs}%
-  \toks2=\expandafter{\lastsectiondefs}%
+  \toks0=\expandafter{\currentchapterdefs}%
+  \toks2=\expandafter{\currentsectiondefs}%
   \toks4=\expandafter{\prevchapterdefs}%
   \toks6=\expandafter{\prevsectiondefs}%
-  \toks8=\expandafter{\lastcolordefs}%
+  \toks8=\expandafter{\currentcolordefs}%
   \mark{%
-                   \the\toks0 \the\toks2
-      \noexpand\or \the\toks4 \the\toks6
-    \noexpand\else \the\toks8
+                   \the\toks0 \the\toks2  % 0: marks for @everyheadingmarks top
+      \noexpand\or \the\toks4 \the\toks6  % 1: for @everyheadingmarks bottom
+    \noexpand\else \the\toks8             % 2: color marks
   }%
 }
+
+% \gettopheadingmarks, \getbottomheadingmarks,
+% \getcolormarks - extract needed part of mark.
+%
 % \topmark doesn't work for the very first chapter (after the title
 % page or the contents), so we use \firstmark there -- this gets us
 % the mark with the chapter defs, unless the user sneaks in, e.g.,
-% @setcolor (or @url, or @link, etc.) between @contents and the very
-% first @chapter.
+% @setcolor (or @url etc.) between @contents and the very first @chapter.
 \def\gettopheadingmarks{%
-  \ifcase0\topmark\fi
+  \ifcase0\the\savedtopmark\fi
   \ifx\thischapter\empty \ifcase0\firstmark\fi \fi
 }
 \def\getbottomheadingmarks{\ifcase1\botmark\fi}
-\def\getcolormarks{\ifcase2\topmark\fi}
+\def\getcolormarks{\ifcase2\the\savedtopmark\fi}
 
 % Avoid "undefined control sequence" errors.
-\def\lastchapterdefs{}
-\def\lastsectiondefs{}
+\def\currentchapterdefs{}
+\def\currentsectiondefs{}
+\def\currentsection{}
 \def\prevchapterdefs{}
 \def\prevsectiondefs{}
-\def\lastcolordefs{}
+\def\currentcolordefs{}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen\bindingoffset
+\newdimen\normaloffset
+\newdimen\txipagewidth \newdimen\txipageheight
 
 % Main output routine.
+%
 \chardef\PAGE = 255
-\output = {\onepageout{\pagecontents\PAGE}}
+\newtoks\defaultoutput
+\defaultoutput = {\savetopmark\onepageout{\pagecontents\PAGE}}
+\output=\expandafter{\the\defaultoutput}
 
 \newbox\headlinebox
 \newbox\footlinebox
 
-% \onepageout takes a vbox as an argument.  Note that \pagecontents
-% does insertions, but you have to call it yourself.
+% When outputting the double column layout for indices, an output routine
+% is run several times, hiding the original value of \topmark.  Hence, save
+% \topmark at the beginning.
+%
+\newtoks\savedtopmark
+\newif\iftopmarksaved
+\topmarksavedtrue
+\def\savetopmark{%
+  \iftopmarksaved\else
+    \global\savedtopmark=\expandafter{\topmark}%
+    \global\topmarksavedtrue
+  \fi
+}
+
+% \onepageout takes a vbox as an argument.
+% \shipout a vbox for a single page, adding an optional header, footer
+% and footnote.  This also causes index entries for this page to be written
+% to the auxiliary files.
+%
 \def\onepageout#1{%
-  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  \hoffset=\normaloffset
   %
   \ifodd\pageno  \advance\hoffset by \bindingoffset
   \else \advance\hoffset by -\bindingoffset\fi
   %
-  % Do this outside of the \shipout so @code etc. will be expanded in
-  % the headline as they should be, not taken literally (outputting ''code).
+  \checkchapterpage
+  %
+  % Make the heading and footing.  \makeheadline and \makefootline
+  % use the contents of \headline and \footline.
+  \def\commonheadfootline{\let\hsize=\txipagewidth \texinfochars}
   \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
-  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+  \global\setbox\headlinebox = \vbox{\commonheadfootline \makeheadline}%
   \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
-  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+  \global\setbox\footlinebox = \vbox{\commonheadfootline \makefootline}%
   %
   {%
+    % Set context for writing to auxiliary files like index files.
     % Have to do this stuff outside the \shipout because we want it to
     % take effect in \write's, yet the group defined by the \vbox ends
     % before the \shipout runs.
     %
-    \indexdummies         % don't expand commands in the output.
-    \normalturnoffactive  % \ in index entries must not stay \, e.g., if
-               % the page break happens to be in the middle of an example.
-               % We don't want .vr (or whatever) entries like this:
-               % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
-               % "\acronym" won't work when it's read back in;
-               % it needs to be
-               % {\code {{\tt \backslashcurfont }acronym}
+    \atdummies         % don't expand commands in the output.
+    \turnoffactive
     \shipout\vbox{%
       % Do this early so pdf references go to the beginning of the page.
       \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
       %
-      \ifcropmarks \vbox to \outervsize\bgroup
-        \hsize = \outerhsize
-        \vskip-\topandbottommargin
-        \vtop to0pt{%
-          \line{\ewtop\hfil\ewtop}%
-          \nointerlineskip
-          \line{%
-            \vbox{\moveleft\cornerthick\nstop}%
-            \hfill
-            \vbox{\moveright\cornerthick\nstop}%
-          }%
-          \vss}%
-        \vskip\topandbottommargin
-        \line\bgroup
-          \hfil % center the page within the outer (page) hsize.
-          \ifodd\pageno\hskip\bindingoffset\fi
-          \vbox\bgroup
-      \fi
-      %
       \unvbox\headlinebox
       \pagebody{#1}%
       \ifdim\ht\footlinebox > 0pt
         \unvbox\footlinebox
       \fi
       %
-      \ifcropmarks
-          \egroup % end of \vbox\bgroup
-        \hfil\egroup % end of (centering) \line\bgroup
-        \vskip\topandbottommargin plus1fill minus1fill
-        \boxmaxdepth = \cornerthick
-        \vbox to0pt{\vss
-          \line{%
-            \vbox{\moveleft\cornerthick\nsbot}%
-            \hfill
-            \vbox{\moveright\cornerthick\nsbot}%
-          }%
-          \nointerlineskip
-          \line{\ewbot\hfil\ewbot}%
-        }%
-      \egroup % \vbox from first cropmarks clause
-      \fi
-    }% end of \shipout\vbox
-  }% end of group with \indexdummies
+    }%
+  }%
+  \global\topmarksavedfalse
   \advancepageno
   \ifnum\outputpenalty>-20000 \else\dosupereject\fi
 }
 
 \newinsert\margin \dimen\margin=\maxdimen
 
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+% Main part of page, including any footnotes
+\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}}
 {\catcode`\@ =11
 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
 % marginal hacks, juha@viisa.uucp (Juha Takala)
 \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
 }
 
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+% Check if we are on the first page of a chapter.  Used for printing headings.
+\newif\ifchapterpage
+\def\checkchapterpage{%
+  % Get the chapter that was current at the end of the last page
+  \ifcase1\the\savedtopmark\fi
+  \let\prevchaptername\thischaptername
+  %
+  \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
+  \let\curchaptername\thischaptername
+  %
+  \ifx\curchaptername\prevchaptername
+    \chapterpagefalse
+  \else
+    \chapterpagetrue
+  \fi
+}
+
+% Argument parsing
 
 % Parse an argument, then pass it to #1.  The argument is the rest of
 % the input line (except we remove a trailing comment).  #1 should be a
 % macro which expects an ordinary undelimited TeX argument.
+% For example, \def\foo{\parsearg\fooxxx}.
 %
 \def\parsearg{\parseargusing{}}
 \def\parseargusing#1#2{%
   }%
 }
 
-% First remove any @comment, then any @c comment.
+% First remove any @comment, then any @c comment.  Pass the result on to
+% \argremovespace.
 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-
-% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
-%
-% \argremovec might leave us with trailing space, e.g.,
+\def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm}
+% \argremovec might leave us with trailing space, though; e.g.,
 %    @end itemize  @c foo
-% This space token undergoes the same procedure and is eventually removed
-% by \finishparsearg.
-%
-\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
-\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
-\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
-  \def\temp{#3}%
-  \ifx\temp\empty
-    % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
-    \let\temp\finishparsearg
-  \else
-    \let\temp\argcheckspaces
-  \fi
-  % Put the space token in:
-  \temp#1 #3\ArgTerm
-}
+% Note that the argument cannot contain the TeX $, as its catcode is
+% changed to \other when Texinfo source is read.
+\def\argremovespace#1 $#2\ArgTerm{\finishparsearg#1$\ArgTerm}
 
 % If a _delimited_ argument is enclosed in braces, they get stripped; so
 % to get _exactly_ the rest of the line, we had to prevent such situation.
-% We prepended an \empty token at the very beginning and we expand it now,
-% just before passing the control to \argtorun.
-% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
-% either the null string, or it ends with \^^M---thus there is no danger
-% that a pair of braces would be stripped.
-%
-% But first, we have to remove the trailing space token.
-%
-\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
+% We prepended an \empty token at the very beginning and we expand it
+% just before passing the control to \next.
+% (But first, we have to remove the remaining $ or two.)
+\def\finishparsearg#1$#2\ArgTerm{\expandafter\argtorun\expandafter{#1}}
+
 
+% \parseargdef - define a command taking an argument on the line
+%
 % \parseargdef\foo{...}
 %      is roughly equivalent to
 % \def\foo{\parsearg\Xfoo}
 % \def\Xfoo#1{...}
-%
-% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-% favourite TeX trick.  --kasal, 16nov03
-
 \def\parseargdef#1{%
   \expandafter \doparseargdef \csname\string#1\endcsname #1%
 }
 
 % ... but they get defined via ``\envdef\foo{...}'':
 \long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
-\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
+\long\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
 
 % Check whether we're in the right environment:
 \def\checkenv#1{%
   \fi
 }
 
-% @end foo executes the definition of \Efoo.
-% But first, it executes a specialized version of \checkenv
-%
+
+% @end foo calls \checkenv and executes the definition of \Efoo.
 \parseargdef\end{%
   \if 1\csname iscond.#1\endcsname
   \else
 \def\:{\spacefactor=1000 }
 
 % @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
+\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
 
 % @/ allows a line break.
 \let\/=\allowbreak
 
+% @- allows explicit insertion of hyphenation points
+\def\-{\discretionary{\normaldash}{}{}}%
+
 % @. is an end-of-sentence period.
 \def\.{.\spacefactor=\endofsentencespacefactor\space}
 
 % @? is an end-of-sentence query.
 \def\?{?\spacefactor=\endofsentencespacefactor\space}
 
-% @frenchspacing on|off  says whether to put extra space after punctuation.
-%
-\def\onword{on}
-\def\offword{off}
-%
-\parseargdef\frenchspacing{%
-  \def\temp{#1}%
-  \ifx\temp\onword \plainfrenchspacing
-  \else\ifx\temp\offword \plainnonfrenchspacing
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
-  \fi\fi
-}
-
 % @w prevents a word break.  Without the \leavevmode, @w at the
 % beginning of a paragraph, when TeX is still in vertical mode, would
 % produce a whole line of output instead of starting the paragraph.
     \endgraf % Not \par, as it may have been set to \lisppar.
     \global\dimen1 = \prevdepth
   \egroup           % End the \vtop.
+  \addgroupbox
+  \prevdepth = \dimen1
+  \checkinserts
+}
+
+\def\addgroupbox{
   % \dimen0 is the vertical size of the group's box.
   \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
   % \dimen2 is how much space is left on the page (more or less).
-  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  \dimen2 = \txipageheight   \advance\dimen2 by -\pagetotal
   % if the group doesn't fit on the current page, and it's a big big
   % group, force a page break.
   \ifdim \dimen0 > \dimen2
-    \ifdim \pagetotal < \vfilllimit\pageheight
+    \ifdim \pagetotal < \vfilllimit\txipageheight
       \page
     \fi
   \fi
   \box\groupbox
-  \prevdepth = \dimen1
-  \checkinserts
 }
+
 %
 % TeX puts in an \escapechar (i.e., `@') at the beginning of the help
 % message, so this ends up printing `@group can only ...'.
@@ -711,32 +668,22 @@ where each line of input produces a line of output.}
   \dimen2 = \ht\strutbox
   \advance\dimen2 by \dp\strutbox
   \ifdim\dimen0 > \dimen2
+    % This is similar to the 'needspace' module in LaTeX.
+    % The first penalty allows a break if the end of the page is
+    % not too far away.  Following penalties and skips are discarded.
+    % Otherwise, require at least \dimen0 of vertical space.
     %
-    % Do a \strut just to make the height of this box be normal, so the
-    % normal leading is inserted relative to the preceding line.
-    % And a page break here is fine.
-    \vtop to #1\mil{\strut\vfil}%
-    %
-    % TeX does not even consider page breaks if a penalty added to the
-    % main vertical list is 10000 or more.  But in order to see if the
-    % empty box we just added fits on the page, we must make it consider
-    % page breaks.  On the other hand, we don't want to actually break the
-    % page after the empty box.  So we use a penalty of 9999.
-    %
-    % There is an extremely small chance that TeX will actually break the
-    % page at this \penalty, if there are no other feasible breakpoints in
-    % sight.  (If the user is using lots of big @group commands, which
-    % almost-but-not-quite fill up a page, TeX will have a hard time doing
-    % good page breaking, for example.)  However, I could not construct an
-    % example where a page broke at this \penalty; if it happens in a real
-    % document, then we can reconsider our strategy.
+    % (We used to use a \vtop to reserve space, but this had spacing issues
+    % when followed by a section heading, as it was not a "discardable item".
+    % This also has the benefit of providing glue before the page break if
+    % there isn't enough space.)
+    \vskip0pt plus \dimen0
+    \penalty-100
+    \vskip0pt plus -\dimen0
+    \vskip \dimen0
     \penalty9999
-    %
-    % Back up by the size of the box, whether we did a page break or not.
-    \kern -#1\mil
-    %
-    % Do not allow a page break right after this kern.
-    \nobreak
+    \vskip -\dimen0
+    \penalty0\relax % this hides the above glue from \safewhatsit and \dobreak
   \fi
 }
 
@@ -811,36 +758,6 @@ where each line of input produces a line of output.}
   \temp
 }
 
-% @| inserts a changebar to the left of the current line.  It should
-% surround any changed text.  This approach does *not* work if the
-% change spans more than two lines of output.  To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).  This command
-% is not documented, not supported, and doesn't work.
-%
-\def\|{%
-  % \vadjust can only be used in horizontal mode.
-  \leavevmode
-  %
-  % Append this vertical mode material after the current line in the output.
-  \vadjust{%
-    % We want to insert a rule with the height and depth of the current
-    % leading; that is exactly what \strutbox is supposed to record.
-    \vskip-\baselineskip
-    %
-    % \vadjust-items are inserted at the left edge of the type.  So
-    % the \llap here moves out into the left-hand margin.
-    \llap{%
-      %
-      % For a thicker or thinner bar, change the `1pt'.
-      \vrule height\baselineskip width1pt
-      %
-      % This is the space between the bar and the text.
-      \hskip 12pt
-    }%
-  }%
-}
-
 % @include FILE -- \input text of FILE.
 %
 \def\include{\parseargusing\filenamecatcodes\includezzz}
@@ -887,7 +804,7 @@ where each line of input produces a line of output.}
 \def\popthisfilestack{\errthisfilestackempty}
 \def\errthisfilestackempty{\errmessage{Internal error:
   the stack of filenames is empty.}}
-
+%
 \def\thisfile{}
 
 % @center line
@@ -895,37 +812,48 @@ where each line of input produces a line of output.}
 %
 \parseargdef\center{%
   \ifhmode
-    \let\next\centerH
+    \let\centersub\centerH
   \else
-    \let\next\centerV
+    \let\centersub\centerV
   \fi
-  \next{\hfil \ignorespaces#1\unskip \hfil}%
+  \centersub{\hfil \ignorespaces#1\unskip \hfil}%
+  \let\centersub\relax % don't let the definition persist, just in case
 }
-\def\centerH#1{%
-  {%
-    \hfil\break
-    \advance\hsize by -\leftskip
-    \advance\hsize by -\rightskip
-    \line{#1}%
-    \break
-  }%
+\def\centerH#1{{%
+  \hfil\break
+  \advance\hsize by -\leftskip
+  \advance\hsize by -\rightskip
+  \line{#1}%
+  \break
+}}
+%
+\newcount\centerpenalty
+\def\centerV#1{%
+  % The idea here is the same as in \startdefun, \cartouche, etc.: if
+  % @center is the first thing after a section heading, we need to wipe
+  % out the negative parskip inserted by \sectionheading, but still
+  % prevent a page break here.
+  \centerpenalty = \lastpenalty
+  \ifnum\centerpenalty>10000 \vskip\parskip \fi
+  \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
+  \line{\kern\leftskip #1\kern\rightskip}%
 }
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
 
 % @sp n   outputs n lines of vertical space
-
+%
 \parseargdef\sp{\vskip #1\baselineskip}
 
 % @comment ...line which is ignored...
 % @c is the same as @comment
 % @ignore ... @end ignore  is another way to write a comment
 
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
 
-\let\c=\comment
+\def\c{\begingroup \catcode`\^^M=\active%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
+\cxxx}
+{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}}
+%
+\let\comment\c
 
 % @paragraphindent NCHARS
 % We'll use ems for NCHARS, close enough.
@@ -996,72 +924,34 @@ where each line of input produces a line of output.}
 % paragraph.
 %
 \gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
+  \gdef\indent  {\restorefirstparagraphindent \indent}%
+  \gdef\noindent{\restorefirstparagraphindent \noindent}%
+  \global\everypar = {\kern -\parindent \restorefirstparagraphindent}%
 }
-
+%
 \gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
+  \global\let\indent = \ptexindent
+  \global\let\noindent = \ptexnoindent
+  \global\everypar = {}%
+}
+
+% leave vertical mode without cancelling any first paragraph indent
+\gdef\imageindent{%
+  \toks0=\everypar
+  \everypar={}%
+  \ptexnoindent
+  \global\everypar=\toks0
 }
 
 
 % @refill is a no-op.
 \let\refill=\relax
 
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
-   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-   \iflinks
-     \tryauxfile
-     % Open the new aux file.  TeX will close it automatically at exit.
-     \immediate\openout\auxfile=\jobname.aux
-   \fi % \openindices needs to do some work in any case.
-   \openindices
-   \let\setfilename=\comment % Ignore extra @setfilename cmds.
-   %
-   % If texinfo.cnf is present on the system, read it.
-   % Useful for site-wide @afourpaper, etc.
-   \openin 1 texinfo.cnf
-   \ifeof 1 \else \input texinfo.cnf \fi
-   \closein 1
-   %
-   \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
-  \newindex{cp}%
-  \newcodeindex{fn}%
-  \newcodeindex{vr}%
-  \newcodeindex{tp}%
-  \newcodeindex{ky}%
-  \newcodeindex{pg}%
-}
+% @setfilename INFO-FILENAME - ignored
+\let\setfilename=\comment
 
 % @bye.
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend}
 
 
 \message{pdf,}
@@ -1076,10 +966,95 @@ where each line of input produces a line of output.}
 \newtoks\toksC
 \newtoks\toksD
 \newbox\boxA
+\newbox\boxB
 \newcount\countA
 \newif\ifpdf
 \newif\ifpdfmakepagedest
 
+%
+% For LuaTeX
+%
+
+\newif\iftxiuseunicodedestname
+\txiuseunicodedestnamefalse % For pdfTeX etc.
+
+\ifx\luatexversion\thisisundefined
+\else
+  % Use Unicode destination names
+  \txiuseunicodedestnametrue
+  % Escape PDF strings with converting UTF-16 from UTF-8
+  \begingroup
+    \catcode`\%=12
+    \directlua{
+      function UTF16oct(str)
+        tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377')
+        for c in string.utfvalues(str) do
+          if c < 0x10000 then
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            math.floor(c / 256), math.floor(c % 256)))
+          else
+            c = c - 0x10000
+            local c_hi = c / 1024 + 0xd800
+            local c_lo = c % 1024 + 0xdc00
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            math.floor(c_hi / 256), math.floor(c_hi % 256),
+                            math.floor(c_lo / 256), math.floor(c_lo % 256)))
+          end
+        end
+      end
+    }
+  \endgroup
+  \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}}
+  % Escape PDF strings without converting
+  \begingroup
+    \directlua{
+      function PDFescstr(str)
+        for c in string.bytes(str) do
+          if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then
+            tex.sprint(-2,
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o',
+                            c))
+          else
+            tex.sprint(-2, string.char(c))
+          end
+        end
+      end
+    }
+    % The -2 in the arguments here gives all the input to TeX catcode 12
+    % (other) or 10 (space), preventing undefined control sequence errors. See
+    % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
+    %
+  \endgroup
+  \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
+  \ifnum\luatexversion>84
+    % For LuaTeX >= 0.85
+    \def\pdfdest{\pdfextension dest}
+    \let\pdfoutput\outputmode
+    \def\pdfliteral{\pdfextension literal}
+    \def\pdfcatalog{\pdfextension catalog}
+    \def\pdftexversion{\numexpr\pdffeedback version\relax}
+    \let\pdfximage\saveimageresource
+    \let\pdfrefximage\useimageresource
+    \let\pdflastximage\lastsavedimageresourceindex
+    \def\pdfendlink{\pdfextension endlink\relax}
+    \def\pdfoutline{\pdfextension outline}
+    \def\pdfstartlink{\pdfextension startlink}
+    \def\pdffontattr{\pdfextension fontattr}
+    \def\pdfobj{\pdfextension obj}
+    \def\pdflastobj{\numexpr\pdffeedback lastobj\relax}
+    \let\pdfpagewidth\pagewidth
+    \let\pdfpageheight\pageheight
+    \edef\pdfhorigin{\pdfvariable horigin}
+    \edef\pdfvorigin{\pdfvariable vorigin}
+  \fi
+\fi
+
 % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
 % can be set).  So we test for \relax and 0 as well as being undefined.
 \ifx\pdfoutput\thisisundefined
@@ -1093,11 +1068,68 @@ where each line of input produces a line of output.}
   \fi
 \fi
 
+\newif\ifpdforxetex
+\pdforxetexfalse
+\ifpdf
+  \pdforxetextrue
+\fi
+\ifx\XeTeXrevision\thisisundefined\else
+  \pdforxetextrue
+\fi
+
+
+% Output page labels information.
+% See PDF reference v.1.7 p.594, section 8.3.1.
+% Page label ranges must be increasing.
+\ifpdf
+\def\pagelabels{%
+  \def\title{0 << /P (T-) /S /D >>}%
+  %
+  % support @contents at very end of document
+  \ifnum\contentsendcount=\pagecount
+    \ifnum\arabiccount<\romancount
+      \pdfcatalog{/PageLabels << /Nums
+                  [\title
+                   \the\arabiccount << /S /D >>
+                   \the\romancount << /S /r >>
+                  ] >> }\relax
+    \fi
+  % no contents in document
+  \else\ifnum\contentsendcount=0
+    \pdfcatalog{/PageLabels << /Nums
+                [\title
+                 \the\arabiccount << /S /D >>
+                ] >> }\relax
+  \else
+    \pdfcatalog{/PageLabels << /Nums
+                [\title
+                 \the\romancount << /S /r >>
+                 \the\contentsendcount << /S /D >>
+                ] >> }\relax
+  \fi\fi
+}
+\else
+  \let\pagelabels\relax
+\fi
+
+\newcount\pagecount \pagecount=0
+\newcount\romancount \romancount=0
+\newcount\arabiccount \arabiccount=0
+\newcount\contentsendcount \contentsendcount=0
+
+\ifpdf
+  \let\ptxadvancepageno\advancepageno
+  \def\advancepageno{%
+    \ptxadvancepageno\global\advance\pagecount by 1
+  }
+\fi
+
+
 % PDF uses PostScript string constants for the names of xref targets,
 % for display in the outlines, and in other places.  Thus, we have to
 % double any backslashes.  Otherwise, a name like "\node" will be
 % interpreted as a newline (\n), followed by o, d, e.  Not good.
-% 
+%
 % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
 % related messages.  The final outcome is that it is up to the TeX user
 % to double the backslashes and otherwise make the string valid, so
@@ -1107,15 +1139,24 @@ where each line of input produces a line of output.}
 % #1 is a control sequence in which to do the replacements,
 % which we \xdef.
 \def\txiescapepdf#1{%
-  \ifx\pdfescapestring\relax
+  \ifx\pdfescapestring\thisisundefined
     % No primitive available; should we give a warning or log?
     % Many times it won't matter.
+    \xdef#1{#1}%
   \else
     % The expandable \pdfescapestring primitive escapes parentheses,
     % backslashes, and other special chars.
     \xdef#1{\pdfescapestring{#1}}%
   \fi
 }
+\def\txiescapepdfutfsixteen#1{%
+  \ifx\pdfescapestrutfsixteen\thisisundefined
+    % No UTF-16 converting macro available.
+    \txiescapepdf{#1}%
+  \else
+    \xdef#1{\pdfescapestrutfsixteen{#1}}%
+  \fi
+}
 
 \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
 with PDF output, and none of those formats could be found.  (.eps cannot
@@ -1124,29 +1165,35 @@ output) for that.)}
 
 \ifpdf
   %
-  % Color manipulation macros based on pdfcolor.tex,
+  % Color manipulation macros using ideas from pdfcolor.tex,
   % except using rgb instead of cmyk; the latter is said to render as a
   % very dark gray on-screen and a very dark halftone in print, instead
-  % of actual black.
+  % of actual black. The dark red here is dark enough to print on paper as
+  % nearly black, but still distinguishable for online viewing.  We use
+  % black by default, though.
   \def\rgbDarkRed{0.50 0.09 0.12}
   \def\rgbBlack{0 0 0}
   %
-  % k sets the color for filling (usual text, etc.);
-  % K sets the color for stroking (thin rules, e.g., normal _'s).
+  % rg sets the color for filling (usual text, etc.);
+  % RG sets the color for stroking (thin rules, e.g., normal _'s).
   \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
   %
   % Set color, and create a mark which defines \thiscolor accordingly,
   % so that \makeheadline knows which color to restore.
+  \def\curcolor{0 0 0}%
   \def\setcolor#1{%
-    \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
-    \domark
-    \pdfsetcolor{#1}%
+    \ifx#1\curcolor\else
+      \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+      \domark
+      \pdfsetcolor{#1}%
+      \xdef\curcolor{#1}%
+    \fi
   }
   %
-  \def\maincolor{\rgbBlack}
+  \let\maincolor\rgbBlack
   \pdfsetcolor{\maincolor}
   \edef\thiscolor{\maincolor}
-  \def\lastcolordefs{}
+  \def\currentcolordefs{}
   %
   \def\makefootline{%
     \baselineskip24pt
@@ -1173,8 +1220,8 @@ output) for that.)}
   %
   % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
   \def\dopdfimage#1#2#3{%
-    \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
-    \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
     %
     % pdftex (and the PDF format) support .pdf, .png, .jpg (among
     % others).  Let's try in that order, PDF first since if
@@ -1212,8 +1259,8 @@ output) for that.)}
     \else
       \immediate\pdfximage
     \fi
-      \ifdim \wd0 >0pt width \imagewidth \fi
-      \ifdim \wd2 >0pt height \imageheight \fi
+      \ifdim \wd0 >0pt width \pdfimagewidth \fi
+      \ifdim \wd2 >0pt height \pdfimageheight \fi
       \ifnum\pdftexversion<13
          #1.\pdfimgext
        \else
@@ -1223,24 +1270,83 @@ output) for that.)}
       \pdfrefximage \pdflastximage
     \fi}
   %
-  \def\pdfmkdest#1{{%
+  \def\setpdfdestname#1{{%
     % We have to set dummies so commands such as @code, and characters
     % such as \, aren't expanded when present in a section title.
     \indexnofonts
-    \turnoffactive
     \makevalueexpandable
+    \turnoffactive
+    \iftxiuseunicodedestname
+      \ifx \declaredencoding \latone
+        % Pass through Latin-1 characters.
+        % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode.
+      \else
+        \ifx \declaredencoding \utfeight
+          % Pass through Unicode characters.
+        \else
+          % Use ASCII approximations in destination names.
+          \passthroughcharsfalse
+        \fi
+      \fi
+    \else
+      % Use ASCII approximations in destination names.
+      \passthroughcharsfalse
+    \fi
     \def\pdfdestname{#1}%
     \txiescapepdf\pdfdestname
-    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
   }}
   %
+  \def\setpdfoutlinetext#1{{%
+    \indexnofonts
+    \makevalueexpandable
+    \turnoffactive
+    \ifx \declaredencoding \latone
+      % The PDF format can use an extended form of Latin-1 in bookmark
+      % strings.  See Appendix D of the PDF Reference, Sixth Edition, for
+      % the "PDFDocEncoding".
+      \passthroughcharstrue
+      % Pass through Latin-1 characters.
+      %   LuaTeX: Convert to Unicode
+      %   pdfTeX: Use Latin-1 as PDFDocEncoding
+      \def\pdfoutlinetext{#1}%
+    \else
+      \ifx \declaredencoding \utfeight
+        \ifx\luatexversion\thisisundefined
+          % For pdfTeX  with UTF-8.
+          % TODO: the PDF format can use UTF-16 in bookmark strings,
+          % but the code for this isn't done yet.
+          % Use ASCII approximations.
+          \passthroughcharsfalse
+          \def\pdfoutlinetext{#1}%
+        \else
+          % For LuaTeX with UTF-8.
+          % Pass through Unicode characters for title texts.
+          \passthroughcharstrue
+          \def\pdfoutlinetext{#1}%
+        \fi
+      \else
+        % For non-Latin-1 or non-UTF-8 encodings.
+        % Use ASCII approximations.
+        \passthroughcharsfalse
+        \def\pdfoutlinetext{#1}%
+      \fi
+    \fi
+    % LuaTeX: Convert to UTF-16
+    % pdfTeX: Use Latin-1 as PDFDocEncoding
+    \txiescapepdfutfsixteen\pdfoutlinetext
+  }}
+  %
+  \def\pdfmkdest#1{%
+    \setpdfdestname{#1}%
+    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+  }
+  %
   % used to mark target names; must be expandable.
   \def\pdfmkpgn#1{#1}
   %
-  % by default, use a color that is dark enough to print on paper as
-  % nearly black, but still distinguishable for online viewing.
-  \def\urlcolor{\rgbDarkRed}
-  \def\linkcolor{\rgbDarkRed}
+  % by default, use black for everything.
+  \def\urlcolor{\rgbBlack}
+  \let\linkcolor\rgbBlack
   \def\endlink{\setcolor{\maincolor}\pdfendlink}
   %
   % Adding outlines to PDF; macros for calculating structure of outlines
@@ -1262,18 +1368,13 @@ output) for that.)}
     % page number.  We could generate a destination for the section
     % text in the case where a section has no node, but it doesn't
     % seem worth the trouble, since most documents are normally structured.
-    \edef\pdfoutlinedest{#3}%
-    \ifx\pdfoutlinedest\empty
-      \def\pdfoutlinedest{#4}%
-    \else
-      \txiescapepdf\pdfoutlinedest
+    \setpdfoutlinetext{#1}
+    \setpdfdestname{#3}
+    \ifx\pdfdestname\empty
+      \def\pdfdestname{#4}%
     \fi
     %
-    % Also escape PDF chars in the display string.
-    \edef\pdfoutlinetext{#1}%
-    \txiescapepdf\pdfoutlinetext
-    %
-    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+    \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
   }
   %
   \def\pdfmakeoutlines{%
@@ -1318,7 +1419,13 @@ output) for that.)}
       % subentries, which we calculated on our first read of the .toc above.
       %
       % We use the node names as the destinations.
+      %
+      % Currently we prefix the section name with the section number
+      % for chapter and appendix headings only in order to avoid too much
+      % horizontal space being required in the PDF viewer.
       \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+      \def\unnchapentry##1##2##3##4{%
         \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
       \def\numsecentry##1##2##3##4{%
         \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
@@ -1337,7 +1444,7 @@ output) for that.)}
       % their "best" equivalent, based on the @documentencoding.  Too
       % much work for too little return.  Just use the ASCII equivalents
       % we use for the index sort strings.
-      % 
+      %
       \indexnofonts
       \setupdatafile
       % We can have normal brace characters in the PDF outlines, unlike
@@ -1357,12 +1464,17 @@ output) for that.)}
   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
     \ifx\PP\D\let\nextsp\relax
     \else\let\nextsp\skipspaces
-      \ifx\p\space\else\addtokens{\filename}{\PP}%
-        \advance\filenamelength by 1
-      \fi
+      \addtokens{\filename}{\PP}%
+      \advance\filenamelength by 1
     \fi
     \nextsp}
-  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+  \def\getfilename#1{%
+    \filenamelength=0
+    % If we don't expand the argument now, \skipspaces will get
+    % snagged on things like "@value{foo}".
+    \edef\temp{#1}%
+    \expandafter\skipspaces\temp|\relax
+  }
   \ifnum\pdftexversion < 14
     \let \startlink \pdfannotlink
   \else
@@ -1388,6 +1500,9 @@ output) for that.)}
       \startlink attr{/Border [0 0 0]}%
         user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
     \endgroup}
+  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
+  % be a simple number, or a list of numbers in the case of an index
+  % entry.
   \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
   \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
   \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
@@ -1409,9 +1524,10 @@ output) for that.)}
     \next}
   \def\makelink{\addtokens{\toksB}%
     {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
-  \def\pdflink#1{%
+  \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+  \def\pdflinkpage#1#2{%
     \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
-    \setcolor{\linkcolor}#1\endlink}
+    \setcolor{\linkcolor}#2\endlink}
   \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
 \else
   % non-pdf mode
@@ -1423,71 +1539,335 @@ output) for that.)}
   \let\pdfmakeoutlines = \relax
 \fi  % \ifx\pdfoutput
 
-
-\message{fonts,}
-
-% Change the current font style to #1, remembering it in \curfontstyle.
-% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-% italics, not bold italics.
-%
-\def\setfontstyle#1{%
-  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-  \csname ten#1\endcsname  % change the current font
-}
-
-% Select #1 fonts with the current style.
-%
-\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-
-\def\rm{\fam=0 \setfontstyle{rm}}
-\def\it{\fam=\itfam \setfontstyle{it}}
-\def\sl{\fam=\slfam \setfontstyle{sl}}
-\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
-
-% Unfortunately, we have to override this for titles and the like, since
-% in those cases "rm" is bold.  Sigh.
-\def\rmisbold{\rm\def\curfontstyle{bf}}
-
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf.
-\newfam\sffam
-\def\sf{\fam=\sffam \setfontstyle{sf}}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-% We don't need math for this font style.
-\def\ttsl{\setfontstyle{ttsl}}
-
-
-% Default leading.
-\newdimen\textleading  \textleading = 13.2pt
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly.  There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-% can get a sort of poor man's double spacing by redefining this.
-\def\baselinefactor{1}
 %
-\def\setleading#1{%
-  \dimen0 = #1\relax
-  \normalbaselineskip = \baselinefactor\dimen0
-  \normallineskip = \lineskipfactor\normalbaselineskip
-  \normalbaselines
-  \setbox\strutbox =\hbox{%
-    \vrule width0pt height\strutheightpercent\baselineskip
-                    depth \strutdepthpercent \baselineskip
-  }%
-}
-
-% PDF CMaps.  See also LaTeX's t1.cmap.
+% For XeTeX
 %
-% do nothing with this by default.
-\expandafter\let\csname cmapOT1\endcsname\gobble
+\ifx\XeTeXrevision\thisisundefined
+\else
+  %
+  % XeTeX version check
+  %
+  \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1
+    % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307.
+    % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941).
+    % For avoiding PDF destination name replacement, we use this special
+    % instead of xdvipdfmx's command line option `-C 0x0010'.
+    \special{dvipdfmx:config C 0x0010}
+    % XeTeX 0.99995+ comes with xdvipdfmx 20160307+.
+    % It can handle Unicode destination names for PDF.
+    \txiuseunicodedestnametrue
+  \else
+    % XeTeX < 0.99996 (TeX Live < 2016) cannot use the
+    % `dvipdfmx:config' special.
+    % So for avoiding PDF destination name replacement,
+    % xdvipdfmx's command line option `-C 0x0010' is necessary.
+    %
+    % XeTeX < 0.99995 can not handle Unicode destination names for PDF
+    % because xdvipdfmx 20150315 has a UTF-16 conversion issue.
+    % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+    \txiuseunicodedestnamefalse
+  \fi
+  %
+  % Color support
+  %
+  \def\rgbDarkRed{0.50 0.09 0.12}
+  \def\rgbBlack{0 0 0}
+  %
+  \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
+  %
+  % Set color, and create a mark which defines \thiscolor accordingly,
+  % so that \makeheadline knows which color to restore.
+  \def\setcolor#1{%
+    \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+    \domark
+    \pdfsetcolor{#1}%
+  }
+  %
+  \def\maincolor{\rgbBlack}
+  \pdfsetcolor{\maincolor}
+  \edef\thiscolor{\maincolor}
+  \def\currentcolordefs{}
+  %
+  \def\makefootline{%
+    \baselineskip24pt
+    \line{\pdfsetcolor{\maincolor}\the\footline}%
+  }
+  %
+  \def\makeheadline{%
+    \vbox to 0pt{%
+      \vskip-22.5pt
+      \line{%
+        \vbox to8.5pt{}%
+        % Extract \thiscolor definition from the marks.
+        \getcolormarks
+        % Typeset the headline with \maincolor, then restore the color.
+        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+      }%
+      \vss
+    }%
+    \nointerlineskip
+  }
+  %
+  % PDF outline support
+  %
+  % Emulate pdfTeX primitive
+  \def\pdfdest name#1 xyz{%
+    \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}%
+  }
+  %
+  \def\setpdfdestname#1{{%
+    % We have to set dummies so commands such as @code, and characters
+    % such as \, aren't expanded when present in a section title.
+    \indexnofonts
+    \makevalueexpandable
+    \turnoffactive
+    \iftxiuseunicodedestname
+      % Pass through Unicode characters.
+    \else
+      % Use ASCII approximations in destination names.
+      \passthroughcharsfalse
+    \fi
+    \def\pdfdestname{#1}%
+    \txiescapepdf\pdfdestname
+  }}
+  %
+  \def\setpdfoutlinetext#1{{%
+    \turnoffactive
+    % Always use Unicode characters in title texts.
+    \def\pdfoutlinetext{#1}%
+    % For XeTeX, xdvipdfmx converts to UTF-16.
+    % So we do not convert.
+    \txiescapepdf\pdfoutlinetext
+  }}
+  %
+  \def\pdfmkdest#1{%
+    \setpdfdestname{#1}%
+    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+  }
+  %
+  % by default, use black for everything.
+  \def\urlcolor{\rgbBlack}
+  \def\linkcolor{\rgbBlack}
+  \def\endlink{\setcolor{\maincolor}\pdfendlink}
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    \setpdfoutlinetext{#1}
+    \setpdfdestname{#3}
+    \ifx\pdfdestname\empty
+      \def\pdfdestname{#4}%
+    \fi
+    %
+    \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A
+      << /S /GoTo /D (\pdfdestname) >> >> }%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      %
+      % For XeTeX, counts of subentries are not necessary.
+      % Therefore, we read toc only once.
+      %
+      % We use node names as destinations.
+      %
+      % Currently we prefix the section name with the section number
+      % for chapter and appendix headings only in order to avoid too much
+      % horizontal space being required in the PDF viewer.
+      \def\partentry##1##2##3##4{}% ignore parts in the outlines
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##2 ##1}{1}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{2}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{3}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{4}{##3}{##4}}%
+      %
+      \let\appentry\numchapentry%
+      \let\appsecentry\numsecentry%
+      \let\appsubsecentry\numsubsecentry%
+      \let\appsubsubsecentry\numsubsubsecentry%
+      \def\unnchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{1}{##3}{##4}}%
+      \let\unnsecentry\numsecentry%
+      \let\unnsubsecentry\numsubsecentry%
+      \let\unnsubsubsecentry\numsubsubsecentry%
+      %
+      % For XeTeX, xdvipdfmx converts strings to UTF-16.
+      % Therefore, the encoding and the language may not be considered.
+      %
+      \indexnofonts
+      \setupdatafile
+      % We can have normal brace characters in the PDF outlines, unlike
+      % Texinfo index files.  So set that up.
+      \def\{{\lbracecharliteral}%
+      \def\}{\rbracecharliteral}%
+      \catcode`\\=\active \otherbackslash
+      \input \tocreadfilename
+    \endgroup
+  }
+  {\catcode`[=1 \catcode`]=2
+   \catcode`{=\other \catcode`}=\other
+   \gdef\lbracecharliteral[{]%
+   \gdef\rbracecharliteral[}]%
+  ]
+
+  \special{pdf:docview << /PageMode /UseOutlines >> }
+  % ``\special{pdf:tounicode ...}'' is not necessary
+  % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it.
+  % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
+  % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
+  % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+%
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \addtokens{\filename}{\PP}%
+      \advance\filenamelength by 1
+    \fi
+    \nextsp}
+  \def\getfilename#1{%
+    \filenamelength=0
+    % If we don't expand the argument now, \skipspaces will get
+    % snagged on things like "@value{foo}".
+    \edef\temp{#1}%
+    \expandafter\skipspaces\temp|\relax
+  }
+  % make a live url in pdf output.
+  \def\pdfurl#1{%
+    \begingroup
+      % it seems we really need yet another set of dummies; have not
+      % tried to figure out what each command should do in the context
+      % of @url.  for now, just make @/ a no-op, that's the only one
+      % people have actually reported a problem with.
+      %
+      \normalturnoffactive
+      \def\@{@}%
+      \let\/=\empty
+      \makevalueexpandable
+      % do we want to go so far as to use \indexnofonts instead of just
+      % special-casing \var here?
+      \def\var##1{##1}%
+      %
+      \leavevmode\setcolor{\urlcolor}%
+      \special{pdf:bann << /Border [0 0 0]
+        /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+    \endgroup}
+  \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+  \def\pdflinkpage#1#2{%
+    \special{pdf:bann << /Border [0 0 0]
+      /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
+    \setcolor{\linkcolor}#2\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+%
+  %
+  % @image support
+  %
+  % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
+  \def\doxeteximage#1#2#3{%
+    \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    %
+    % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among
+    % others).  Let's try in that order, PDF first since if
+    % someone has a scalable image, presumably better to use that than a
+    % bitmap.
+    \let\xeteximgext=\empty
+    \begingroup
+      \openin 1 #1.pdf \ifeof 1
+        \openin 1 #1.PDF \ifeof 1
+          \openin 1 #1.png \ifeof 1
+            \openin 1 #1.jpg \ifeof 1
+              \openin 1 #1.jpeg \ifeof 1
+                \openin 1 #1.JPG \ifeof 1
+                  \errmessage{Could not find image file #1 for XeTeX}%
+                \else \gdef\xeteximgext{JPG}%
+                \fi
+              \else \gdef\xeteximgext{jpeg}%
+              \fi
+            \else \gdef\xeteximgext{jpg}%
+            \fi
+          \else \gdef\xeteximgext{png}%
+          \fi
+        \else \gdef\xeteximgext{PDF}%
+        \fi
+      \else \gdef\xeteximgext{pdf}%
+      \fi
+      \closein 1
+    \endgroup
+    %
+    % Putting an \hbox around the image can prevent an over-long line
+    % after the image.
+    \hbox\bgroup
+      \def\xetexpdfext{pdf}%
+      \ifx\xeteximgext\xetexpdfext
+        \XeTeXpdffile "#1".\xeteximgext ""
+      \else
+        \def\xetexpdfext{PDF}%
+        \ifx\xeteximgext\xetexpdfext
+          \XeTeXpdffile "#1".\xeteximgext ""
+        \else
+          \XeTeXpicfile "#1".\xeteximgext ""
+        \fi
+      \fi
+      \ifdim \wd0 >0pt width \xeteximagewidth \fi
+      \ifdim \wd2 >0pt height \xeteximageheight \fi \relax
+    \egroup
+  }
+\fi
+
+
+%
+\message{fonts,}
+
+% Set the baselineskip to #1, and the lineskip and strut size
+% correspondingly.  There is no deep meaning behind these magic numbers
+% used as factors; they just match (closely enough) what Knuth defined.
+%
+\def\lineskipfactor{.08333}
+\def\strutheightpercent{.70833}
+\def\strutdepthpercent {.29167}
+%
+% can get a sort of poor man's double spacing by redefining this.
+\def\baselinefactor{1}
+%
+\newdimen\textleading
+\def\setleading#1{%
+  \dimen0 = #1\relax
+  \normalbaselineskip = \baselinefactor\dimen0
+  \normallineskip = \lineskipfactor\normalbaselineskip
+  \normalbaselines
+  \setbox\strutbox =\hbox{%
+    \vrule width0pt height\strutheightpercent\baselineskip
+                    depth \strutdepthpercent \baselineskip
+  }%
+}
+
+% PDF CMaps.  See also LaTeX's t1.cmap.
+%
+% do nothing with this by default.
+\expandafter\let\csname cmapOT1\endcsname\gobble
 \expandafter\let\csname cmapOT1IT\endcsname\gobble
 \expandafter\let\csname cmapOT1TT\endcsname\gobble
 
@@ -1743,20 +2123,30 @@ end
     \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
   }%
 \fi\fi
+%
+% This is what gets called when #5 of \setfont is empty.
+\let\cmap\gobble
+%
+% (end of cmaps)
 
 
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
+% Set the font macro #1 to the font named \fontprefix#2.
 % #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
+% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
+% Example:
+% #1 = \textrm
+% #2 = \rmshape
+% #3 = 10
+% #4 = \mainmagstep
+% #5 = OT1
+%
 \def\setfont#1#2#3#4#5{%
   \font#1=\fontprefix#2#3 scaled #4
   \csname cmap#5\endcsname#1%
+  \ifx#2\ttshape\hyphenchar#1=-1 \fi
+  \ifx#2\ttbshape\hyphenchar#1=-1 \fi
+  \ifx#2\ttslshape\hyphenchar#1=-1 \fi
 }
-% This is what gets called when #5 of \setfont is empty.
-\let\cmap\gobble
-% emacs-page end of cmaps
 
 % Use cm as the default font prefix.
 % To specify the font prefix, you must define \fontprefix
@@ -1766,7 +2156,7 @@ end
 \fi
 % Support font families that don't use the same naming scheme as CM.
 \def\rmshape{r}
-\def\rmbshape{bx}               %where the normal face is bold
+\def\rmbshape{bx}               % where the normal face is bold
 \def\bfshape{b}
 \def\bxshape{bx}
 \def\ttshape{tt}
@@ -1781,8 +2171,7 @@ end
 \def\scshape{csc}
 \def\scbshape{csc}
 
-% Definitions for a main text size of 11pt.  This is the default in
-% Texinfo.
+% Definitions for a main text size of 11pt.  (The default in Texinfo.)
 %
 \def\definetextfontsizexi{%
 % Text fonts (11.2pt, magstep1).
@@ -1803,8 +2192,10 @@ end
 % A few fonts for @defun names and args.
 \setfont\defbf\bfshape{10}{\magstep1}{OT1}
 \setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
+\setfont\defsl\slshape{10}{\magstep1}{OT1}
 \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
+\let\ttslfont=\defttsl \let\slfont=\defsl \bf}
 
 % Fonts for indices, footnotes, small examples (9pt).
 \def\smallnominalsize{9pt}
@@ -1834,6 +2225,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -1865,6 +2270,7 @@ end
 % Section fonts (14.4pt).
 \def\secnominalsize{14pt}
 \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
+\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1}
 \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
 \setfont\secsl\slbshape{10}{\magstep2}{OT1}
 \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
@@ -1890,7 +2296,7 @@ end
 \font\ssecsy=cmsy10 scaled 1315
 \def\ssececsize{1200}
 
-% Reduced fonts for @acro in text (10pt).
+% Reduced fonts for @acronym in text (10pt).
 \def\reducednominalsize{10pt}
 \setfont\reducedrm\rmshape{10}{1000}{OT1}
 \setfont\reducedtt\ttshape{10}{1000}{OT1TT}
@@ -1907,7 +2313,7 @@ end
 \textleading = 13.2pt % line spacing for 11pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 11pt text font size definitions
+} % end of 11pt text font size definitions, \definetextfontsizexi
 
 
 % Definitions to make the main text be 10pt Computer Modern, with
@@ -1934,8 +2340,10 @@ end
 % A few fonts for @defun names and args.
 \setfont\defbf\bfshape{10}{\magstephalf}{OT1}
 \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
+\setfont\defsl\slshape{10}{\magstephalf}{OT1}
 \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
+\let\slfont=\defsl \let\ttslfont=\defttsl \bf}
 
 % Fonts for indices, footnotes, small examples (9pt).
 \def\smallnominalsize{9pt}
@@ -1965,6 +2373,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -2021,7 +2443,7 @@ end
 \font\ssecsy=cmsy10
 \def\ssececsize{1000}
 
-% Reduced fonts for @acro in text (9pt).
+% Reduced fonts for @acronym in text (9pt).
 \def\reducednominalsize{9pt}
 \setfont\reducedrm\rmshape{9}{1000}{OT1}
 \setfont\reducedtt\ttshape{9}{1000}{OT1TT}
@@ -2039,7 +2461,13 @@ end
 \textleading = 12pt   % line spacing for 10pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 10pt text font size definitions
+} % end of 10pt text font size definitions, \definetextfontsizex
+
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1}  % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}{OT1}
+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
 
 
 % We provide the user-level command
@@ -2067,102 +2495,126 @@ end
  \endgroup
 }
 
+%
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+  \csname #1font\endcsname  % change the current font
+}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf.
+\newfam\sffam
+\def\sf{\fam=\sffam \setfontstyle{sf}}
+
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
 
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families.
+% We don't bother to reset \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
-  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-  \textfont\ttfam=\tentt \textfont\sffam=\tensf
+  \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont
+  \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont
+  \textfont\ttfam=\ttfont \textfont\sffam=\sffont
+  %
+  % Fonts for superscript.  Note that the 7pt fonts are used regardless
+  % of the current font size.
+  \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy
+  \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl
+  \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt
+  \scriptfont\sffam=\sevensf
+}
+
+
+
+% \defineassignfonts{SIZE} -
+%   Define sequence \assignfontsSIZE, which switches between font sizes
+% by redefining the meanings of \STYLEfont.  (Just \STYLE additionally sets
+% the current \fam for math mode.)
+%
+\def\defineassignfonts#1{%
+  \expandafter\edef\csname assignfonts#1\endcsname{%
+    \let\noexpand\rmfont\csname #1rm\endcsname
+    \let\noexpand\itfont\csname #1it\endcsname
+    \let\noexpand\slfont\csname #1sl\endcsname
+    \let\noexpand\bffont\csname #1bf\endcsname
+    \let\noexpand\ttfont\csname #1tt\endcsname
+    \let\noexpand\smallcaps\csname #1sc\endcsname
+    \let\noexpand\sffont  \csname #1sf\endcsname
+    \let\noexpand\ifont   \csname #1i\endcsname
+    \let\noexpand\syfont  \csname #1sy\endcsname
+    \let\noexpand\ttslfont\csname #1ttsl\endcsname
+  }
 }
 
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE.  We do this because \STYLE needs to also set the
-% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
-% \tenSTYLE to set the current font.
-%
+\def\assignfonts#1{%
+  \csname assignfonts#1\endcsname
+}
+
+\newif\ifrmisbold
+
+% Select smaller font size with the current style.  Used to change font size
+% in, e.g., the LaTeX logo and acronyms.  If we are using bold fonts for
+% normal roman text, also use bold fonts for roman text in the smaller size.
+\def\switchtolllsize{%
+   \expandafter\assignfonts\expandafter{\lllsize}%
+   \ifrmisbold
+     \let\rmfont\bffont
+   \fi
+   \csname\curfontstyle\endcsname
+}%
+
+\def\switchtolsize{%
+   \expandafter\assignfonts\expandafter{\lsize}%
+   \ifrmisbold
+     \let\rmfont\bffont
+   \fi
+   \csname\curfontstyle\endcsname
+}%
+
+% Define the font-changing commands (all called \...fonts).
 % Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
-%
-% This all needs generalizing, badly.
-%
-\def\textfonts{%
-  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-  \let\tenttsl=\textttsl
-  \def\curfontsize{text}%
-  \def\lsize{reduced}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{\textleading}}
-\def\titlefonts{%
-  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-  \let\tenttsl=\titlettsl
-  \def\curfontsize{title}%
-  \def\lsize{chap}\def\lllsize{subsec}%
-  \resetmathfonts \setleading{27pt}}
-\def\titlefont#1{{\titlefonts\rmisbold #1}}
-\def\chapfonts{%
-  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-  \let\tenttsl=\chapttsl
-  \def\curfontsize{chap}%
-  \def\lsize{sec}\def\lllsize{text}%
-  \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
-  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-  \let\tenttsl=\secttsl
-  \def\curfontsize{sec}%
-  \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{16pt}}
-\def\subsecfonts{%
-  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-  \let\tenttsl=\ssecttsl
-  \def\curfontsize{ssec}%
-  \def\lsize{text}\def\lllsize{small}%
-  \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts
-\def\reducedfonts{%
-  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-  \let\tenttsl=\reducedttsl
-  \def\curfontsize{reduced}%
-  \def\lsize{small}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallfonts{%
-  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-  \let\tenttsl=\smallttsl
-  \def\curfontsize{small}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallerfonts{%
-  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-  \let\tenttsl=\smallerttsl
-  \def\curfontsize{smaller}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{9.5pt}}
+% and \lllsize (three sizes lower).  These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
+%
+% Note: The fonts used for \ifont are for "math italics"  (\itfont is for
+% italics in regular text).  \syfont is also used in math mode only.
+%
+\def\definefontsetatsize#1#2#3#4#5{%
+  \defineassignfonts{#1}%
+\expandafter\def\csname #1fonts\endcsname{%
+  \def\curfontsize{#1}%
+  \def\lsize{#2}\def\lllsize{#3}%
+  \csname rmisbold#5\endcsname
+  \csname assignfonts#1\endcsname
+  \resetmathfonts
+  \setleading{#4}%
+}}
 
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1}  % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}{OT1}
-\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+\definefontsetatsize{text}   {reduced}{smaller}{\textleading}{false}
+\definefontsetatsize{title}  {chap}   {subsec} {27pt}  {true}
+\definefontsetatsize{chap}   {sec}    {text}   {19pt}  {true}
+\definefontsetatsize{sec}    {subsec} {reduced}{17pt}  {true}
+\definefontsetatsize{ssec}   {text}   {small}  {15pt}  {true}
+\definefontsetatsize{reduced}{small}  {smaller}{10.5pt}{false}
+\definefontsetatsize{small}  {smaller}{smaller}{10.5pt}{false}
+\definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false}
+
+\def\titlefont#1{{\titlefonts\rm #1}}
+\let\subsecfonts = \ssecfonts
+\let\subsubsecfonts = \ssecfonts
 
 % Define these just so they can be easily changed for other fonts.
 \def\angleleft{$\langle$}
@@ -2188,123 +2640,64 @@ end
 \definetextfontsizexi
 
 
-\message{markup,}
-
 % Check if we are currently using a typewriter font.  Since all the
 % Computer Modern typewriter fonts have zero interword stretch (and
 % shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
-% Markup style infrastructure.  \defmarkupstylesetup\INITMACRO will
-% define and register \INITMACRO to be called on markup style changes.
-% \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
-
-\let\currentmarkupstyle\empty
-
-\def\setupmarkupstyle#1{%
-  \csname markup#1true\endcsname
-  \def\currentmarkupstyle{#1}%
-  \markupstylesetup
-}
-
-\let\markupstylesetup\empty
+% this property, we can check that font parameter. #1 is what to
+% print if we are indeed using \tt; #2 is what to print otherwise.
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
 
-\def\defmarkupstylesetup#1{%
-  \expandafter\def\expandafter\markupstylesetup
-    \expandafter{\markupstylesetup #1}%
-  \def#1%
-}
+% Same as above, but check for italic font.  Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts.  But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
 
-% Markup style setup for left and right quotes.
-\defmarkupstylesetup\markupsetuplq{%
-  \expandafter\let\expandafter \temp
-    \csname markupsetuplq\currentmarkupstyle\endcsname
-  \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
-}
 
-\defmarkupstylesetup\markupsetuprq{%
-  \expandafter\let\expandafter \temp
-    \csname markupsetuprq\currentmarkupstyle\endcsname
-  \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
+% Check if internal flag is clear, i.e. has not been @set.
+\def\ifflagclear#1#2#3{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+  #2\else#3\fi
 }
 
 {
 \catcode`\'=\active
 \catcode`\`=\active
 
-\gdef\markupsetuplqdefault{\let`\lq}
-\gdef\markupsetuprqdefault{\let'\rq}
-
-\gdef\markupsetcodequoteleft{\let`\codequoteleft}
-\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
+\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright}
+\gdef\setregularquotes{\let`\lq \let'\rq}
 }
+\setregularquotes
 
-\let\markupsetuplqcode \markupsetcodequoteleft
-\let\markupsetuprqcode \markupsetcodequoteright
-%
-\let\markupsetuplqexample \markupsetcodequoteleft
-\let\markupsetuprqexample \markupsetcodequoteright
-%
-\let\markupsetuplqsamp \markupsetcodequoteleft
-\let\markupsetuprqsamp \markupsetcodequoteright
-%
-\let\markupsetuplqverb \markupsetcodequoteleft
-\let\markupsetuprqverb \markupsetcodequoteright
-%
-\let\markupsetuplqverbatim \markupsetcodequoteleft
-\let\markupsetuprqverbatim \markupsetcodequoteright
-
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
-% Allow an option to not use regular directed right quote/apostrophe
-% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
-% The undirected quote is ugly, so don't make it the default, but it
-% works for pasting with more pdf viewers (at least evince), the
-% lilypond developers report.  xpdf does work with the regular 0x27.
+% output for ' in @code
+% in tt font hex 0D (undirected) or 27 (curly right quote)
 %
 \def\codequoteright{%
-  \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
-    \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
-      '%
-    \else \char'15 \fi
-  \else \char'15 \fi
+  \ifusingtt
+      {\ifflagclear{txicodequoteundirected}%
+          {\ifflagclear{codequoteundirected}%
+              {'}%
+              {\char"0D }}%
+          {\char"0D }}%
+      {'}%
 }
-%
-% and a similar option for the left quote char vs. a grave accent.
-% Modern fonts display ASCII 0x60 as a grave accent, so some people like
-% the code environments to do likewise.
+
+% output for ` in @code
+% in tt font hex 12 (grave accent) or 60 (curly left quote)
+% \relax disables Spanish ligatures ?` and !` of \tt font.
 %
 \def\codequoteleft{%
-  \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
-    \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
-      % [Knuth] pp. 380,381,391
-      % \relax disables Spanish ligatures ?` and !` of \tt font.
-      \relax`%
-    \else \char'22 \fi
-  \else \char'22 \fi
+  \ifusingtt
+      {\ifflagclear{txicodequotebacktick}%
+          {\ifflagclear{codequotebacktick}%
+              {\relax`}%
+              {\char"12 }}%
+          {\char"12 }}%
+      {\relax`}%
 }
 
 % Commands to set the quote options.
-% 
+%
 \parseargdef\codequoteundirected{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -2318,7 +2711,7 @@ end
     \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
   \fi\fi
 }
-%
+
 \parseargdef\codequotebacktick{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -2333,6 +2726,11 @@ end
   \fi\fi
 }
 
+% Turn them on by default
+\let\SETtxicodequoteundirected = t
+\let\SETtxicodequotebacktick = t
+
+
 % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
 \def\noligaturesquoteleft{\relax\lq}
 
@@ -2345,47 +2743,63 @@ end
 % If we are in a monospaced environment, however, 1) always use \ttsl,
 % and 2) do not add an italic correction.
 \def\dosmartslant#1#2{%
-  \ifusingtt 
+  \ifusingtt
     {{\ttsl #2}\let\next=\relax}%
-    {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
+    {\def\next{{#1#2}\smartitaliccorrection}}%
   \next
 }
 \def\smartslanted{\dosmartslant\sl}
 \def\smartitalic{\dosmartslant\it}
 
-% Output an italic correction unless \next (presumed to be the following
-% character) is such as not to need one.
-\def\smartitaliccorrection{%
+% Output an italic correction unless the following character is such as
+% not to need one.
+\def\smartitaliccorrection{\futurelet\next\smartitaliccorrectionx}
+\def\smartitaliccorrectionx{%
   \ifx\next,%
   \else\ifx\next-%
   \else\ifx\next.%
+  \else\ifx\next\.%
+  \else\ifx\next\comma%
   \else\ptexslash
-  \fi\fi\fi
+  \fi\fi\fi\fi\fi
   \aftersmartic
 }
 
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}}
-
-% @cite is like \smartslanted except unconditionally use \sl.  We never want
-% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+% @cite unconditionally uses \sl with \smartitaliccorrection.
+\def\cite#1{{\sl #1}\smartitaliccorrection}
 
+% @var unconditionally uses \sl.  This gives consistency for
+% parameter names whether they are in @def, @table @code or a
+% regular paragraph.
+%  To get ttsl font for @var when used in code context, @set txicodevaristt.
+% The \null is to reset \spacefactor.
 \def\aftersmartic{}
 \def\var#1{%
   \let\saveaftersmartic = \aftersmartic
   \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
-  \smartslanted{#1}%
+  %
+  \ifflagclear{txicodevaristt}%
+    {\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
+    {\def\varnext{\smartslanted{#1}}}%
+  \varnext
 }
 
+% To be removed after next release
+\def\SETtxicodevaristt{}% @set txicodevaristt
+
 \let\i=\smartitalic
 \let\slanted=\smartslanted
 \let\dfn=\smartslanted
 \let\emph=\smartitalic
 
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}}              % roman font
+% @r for roman font, used for code comment
+\def\r#1{{%
+  \usenormaldash % get --, --- ligatures even if in @code
+  \defcharsdefault  % in case on def line
+  \rm #1}}
+{\catcode`-=\active \gdef\usenormaldash{\let-\normaldash}}
+
+% @sc, undocumented @ii.
 \def\sc#1{{\smallcaps#1}}       % smallcaps font
 \def\ii#1{{\it #1}}             % italic font
 
@@ -2396,12 +2810,8 @@ end
 % @sansserif, explicit sans.
 \def\sansserif#1{{\sf #1}}
 
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph.  Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
+\newif\iffrenchspacing
+\frenchspacingfalse
 
 % Set sfcode to normal for the chars that usually have another value.
 % Can't use plain's \frenchspacing because it uses the `\x notation, and
@@ -2409,55 +2819,57 @@ end
 %
 \catcode`@=11
   \def\plainfrenchspacing{%
-    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
-    \def\endofsentencespacefactor{1000}% for @. and friends
+    \iffrenchspacing\else
+      \frenchspacingtrue
+      \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
+      \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
+      \def\endofsentencespacefactor{1000}% for @. and friends
+    \fi
   }
   \def\plainnonfrenchspacing{%
-    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
-    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
-    \def\endofsentencespacefactor{3000}% for @. and friends
+    \iffrenchspacing
+      \frenchspacingfalse
+       \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+       \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+       \def\endofsentencespacefactor{3000}% for @. and friends
+    \fi
   }
 \catcode`@=\other
 \def\endofsentencespacefactor{3000}% default
 
+% @frenchspacing on|off  says whether to put extra space after punctuation.
+%
+\def\onword{on}
+\def\offword{off}
+%
+\let\frenchspacingsetting\plainnonfrenchspacing % used in output routine
+\parseargdef\frenchspacing{%
+  \def\temp{#1}%
+  \ifx\temp\onword \let\frenchspacingsetting\plainfrenchspacing
+  \else\ifx\temp\offword \let\frenchspacingsetting\plainnonfrenchspacing
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
+  \fi\fi
+  \frenchspacingsetting
+}
+
+
 % @t, explicit typewriter.
 \def\t#1{%
-  {\tt \rawbackslash \plainfrenchspacing #1}%
+  {\tt \defcharsdefault \plainfrenchspacing #1}%
   \null
 }
 
 % @samp.
-\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
+\def\samp#1{{\setcodequotes\lq\tclose{#1}\rq\null}}
 
-% definition of @key that produces a lozenge.  Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-%    \vbox{\hrule\kern-0.4pt
-%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-%    \kern-0.4pt\hrule}%
-%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-
-% definition of @key with no lozenge.  If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle.  But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
-  \nohyphenation
-  \ifmonospace\else\tt\fi
-  #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+% @indicateurl is \samp, that is, with quotes.
+\let\indicateurl=\samp
 
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
+% @code (and similar) prints in typewriter, but with spaces the same
+% size as normal in the surrounding text, without hyphenation, etc.
+% This is a subroutine for that.
 \def\tclose#1{%
   {%
     % Change normal interword space to be same as for the current font.
@@ -2466,52 +2878,78 @@ end
     % Switch to typewriter.
     \tt
     %
-    % But `\ ' produces the large typewriter interword space.
+    % `\ ' produces the large typewriter interword space.
     \def\ {{\spaceskip = 0pt{} }}%
     %
-    % Turn off hyphenation.
-    \nohyphenation
-    %
-    \rawbackslash
     \plainfrenchspacing
     #1%
   }%
   \null % reset spacefactor to 1000
 }
 
-% We *must* turn on hyphenation at `-' and `_' in @code.
+% This is for LuaTeX: It is not sufficient to disable hyphenation at
+% explicit dashes by setting `\hyphenchar` to -1.
+\def\dashnobreak{%
+  \normaldash
+  \penalty 10000 }
+
+% We must turn on hyphenation at `-' and `_' in @code.
 % Otherwise, it is too hard to avoid overfull hboxes
 % in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-%  -- rms.
+% We explicitly allow hyphenation at these characters
+% using \discretionary.
+%
+% Hyphenation at - and hyphenation within words was turned off
+% by default for the tt fonts using the \hyphenchar parameter of TeX.
 {
   \catcode`\-=\active \catcode`\_=\active
   \catcode`\'=\active \catcode`\`=\active
   \global\let'=\rq \global\let`=\lq  % default definitions
   %
   \global\def\code{\begingroup
-    \setupmarkupstyle{code}%
-    % The following should really be moved into \setupmarkupstyle handlers.
+    \setcodequotes
     \catcode\dashChar=\active  \catcode\underChar=\active
     \ifallowcodebreaks
      \let-\codedash
      \let_\codeunder
     \else
-     \let-\realdash
+     \let-\dashnobreak
      \let_\realunder
     \fi
     \codex
   }
+  %
+  \gdef\codedash{\futurelet\next\codedashfinish}
+  \gdef\codedashfinish{%
+    \normaldash % always output the dash character itself.
+    %
+    % Now, output a discretionary to allow a line break, unless
+    % (a) the next character is a -, or
+    % (b) the preceding character is a -, or
+    % (c) we are at the start of the string.
+    % In both cases (b) and (c), \codedashnobreak should be set to \codedash.
+    %
+    % E.g., given --posix, we do not want to allow a break after either -.
+    % Given --foo-bar, we do want to allow a break between the - and the b.
+    \ifx\next\codedash \else
+      \ifx\codedashnobreak\codedash
+      \else \discretionary{}{}{}\fi
+    \fi
+    % we need the space after the = for the case when \next itself is a
+    % space token; it would get swallowed otherwise.  As in @code{- a}.
+    \global\let\codedashnobreak= \next
+  }
 }
+\def\normaldash{-}
+%
+\def\codex #1{\tclose{%
+  % Given -foo (with a single dash), we do not want to allow a break
+  % after the -.  \codedashnobreak is set to the first character in
+  % @code.
+  \futurelet\codedashnobreak\relax
+  #1%
+}\endgroup}
 
-\def\codex #1{\tclose{#1}\endgroup}
-
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
 \def\codeunder{%
   % this is all so @math{@code{var_name}+1} can work.  In math mode, _
   % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
@@ -2525,9 +2963,9 @@ end
 }
 
 % An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__.  This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general.  @allowcodebreaks provides a way to control this.
+% each of the four underscores in __typeof__.  This is bad.
+% @allowcodebreaks provides a document-level way to turn breaking at -
+% and _ on and off.
 %
 \newif\ifallowcodebreaks  \allowcodebreakstrue
 
@@ -2536,47 +2974,46 @@ end
 
 \parseargdef\allowcodebreaks{%
   \def\txiarg{#1}%
-  \ifx\txiarg\keywordtrue
-    \allowcodebreakstrue
-  \else\ifx\txiarg\keywordfalse
-    \allowcodebreaksfalse
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
-  \fi\fi
-}
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself.  First (mandatory) arg is the url.
-% (This \urefnobreak definition isn't used now, leaving it for a while
-% for comparison.)
-\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
-\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
-  \unsepspaces
-  \pdfurl{#1}%
-  \setbox0 = \hbox{\ignorespaces #3}%
-  \ifdim\wd0 > 0pt
-    \unhbox0 % third arg given, show only that
-  \else
-    \setbox0 = \hbox{\ignorespaces #2}%
-    \ifdim\wd0 > 0pt
-      \ifpdf
-        \unhbox0             % PDF: 2nd arg given, show only it
-      \else
-        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
-      \fi
-    \else
-      \code{#1}% only url given, so show it
-    \fi
-  \fi
-  \endlink
-\endgroup}
+  \ifx\txiarg\keywordtrue
+    \allowcodebreakstrue
+  \else\ifx\txiarg\keywordfalse
+    \allowcodebreaksfalse
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
+  \fi\fi
+}
 
-% This \urefbreak definition is the active one.
-\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
+% For @command, @env, @file, @option quotes seem unnecessary,
+% so use \code rather than \samp.
+\let\command=\code
+\let\env=\code
+\let\file=\code
+\let\option=\code
+
+% @uref (abbreviation for `urlref') aka @url takes an optional
+% (comma-separated) second argument specifying the text to display and
+% an optional third arg as text to display instead of (rather than in
+% addition to) the url itself.  First (mandatory) arg is the url.
+
+% TeX-only option to allow changing PDF output to show only the second
+% arg (if given), and not the url (which is then just the link target).
+\newif\ifurefurlonlylink
+
+% The default \pretolerance setting stops the penalty inserted in
+% \urefallowbreak being a discouragement to line breaking.  Set it to
+% a negative value for this paragraph only.  Hopefully this does not
+% conflict with redefinitions of \par done elsewhere.
+\def\nopretolerance{%
+\pretolerance=-1
+\def\par{\endgraf\pretolerance=100 \let\par\endgraf}%
+}
+
+% The main macro is \urefbreak, which allows breaking at expected
+% places within the url.
+\def\urefbreak{\nopretolerance \begingroup \urefcatcodes \dourefbreak}
 \let\uref=\urefbreak
+%
 \def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
 \def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
   \unsepspaces
@@ -2585,12 +3022,32 @@ end
   \ifdim\wd0 > 0pt
     \unhbox0 % third arg given, show only that
   \else
-    \setbox0 = \hbox{\ignorespaces #2}%
+    \setbox0 = \hbox{\ignorespaces #2}% look for second arg
     \ifdim\wd0 > 0pt
       \ifpdf
-        \unhbox0             % PDF: 2nd arg given, show only it
+        % For pdfTeX and LuaTeX
+        \ifurefurlonlylink
+          % PDF plus option to not display url, show just arg
+          \unhbox0
+        \else
+          % PDF, normally display both arg and url for consistency,
+          % visibility, if the pdf is eventually used to print, etc.
+          \unhbox0\ (\urefcode{#1})%
+        \fi
       \else
-        \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+        \ifx\XeTeXrevision\thisisundefined
+          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+        \else
+          % For XeTeX
+          \ifurefurlonlylink
+            % PDF plus option to not display url, show just arg
+            \unhbox0
+          \else
+            % PDF, normally display both arg and url for consistency,
+            % visibility, if the pdf is eventually used to print, etc.
+            \unhbox0\ (\urefcode{#1})%
+          \fi
+        \fi
       \fi
     \else
       \urefcode{#1}% only url given, so show it
@@ -2601,15 +3058,15 @@ end
 
 % Allow line breaks around only a few characters (only).
 \def\urefcatcodes{%
-  \catcode\ampChar=\active   \catcode\dotChar=\active
-  \catcode\hashChar=\active  \catcode\questChar=\active
-  \catcode\slashChar=\active
+  \catcode`\&=\active \catcode`\.=\active
+  \catcode`\#=\active \catcode`\?=\active
+  \catcode`\/=\active
 }
 {
   \urefcatcodes
   %
   \global\def\urefcode{\begingroup
-    \setupmarkupstyle{code}%
+    \setcodequotes
     \urefcatcodes
     \let&\urefcodeamp
     \let.\urefcodedot
@@ -2627,39 +3084,33 @@ end
   \global\def/{\normalslash}
 }
 
-% we put a little stretch before and after the breakable chars, to help
-% line breaking of long url's.  The unequal skips make look better in
-% cmtt at least, especially for dots.
-\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
-\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
-%
-\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
-\def\urefcodedot{\urefprestretch .\urefpoststretch}
-\def\urefcodehash{\urefprestretch \#\urefpoststretch}
-\def\urefcodequest{\urefprestretch ?\urefpoststretch}
+\def\urefcodeamp{\urefprebreak \&\urefpostbreak}
+\def\urefcodedot{\urefprebreak .\urefpostbreak}
+\def\urefcodehash{\urefprebreak \#\urefpostbreak}
+\def\urefcodequest{\urefprebreak ?\urefpostbreak}
 \def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
 {
   \catcode`\/=\active
   \global\def\urefcodeslashfinish{%
-    \urefprestretch \slashChar
+    \urefprebreak \slashChar
     % Allow line break only after the final / in a sequence of
     % slashes, to avoid line break between the slashes in http://.
-    \ifx\next/\else \urefpoststretch \fi
+    \ifx\next/\else \urefpostbreak \fi
   }
 }
 
-% One more complication: by default we'll break after the special
-% characters, but some people like to break before the special chars, so
-% allow that.  Also allow no breaking at all, for manual control.
-% 
+% By default we'll break after the special characters, but some people like to
+% break before the special chars, so allow that.  Also allow no breaking at
+% all, for manual control.
+%
 \parseargdef\urefbreakstyle{%
   \def\txiarg{#1}%
   \ifx\txiarg\wordnone
     \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
   \else\ifx\txiarg\wordbefore
-    \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
+    \def\urefprebreak{\urefallowbreak}\def\urefpostbreak{\nobreak}
   \else\ifx\txiarg\wordafter
-    \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
+    \def\urefprebreak{\nobreak}\def\urefpostbreak{\urefallowbreak}
   \else
     \errhelp = \EMsimple
     \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
@@ -2669,6 +3120,19 @@ end
 \def\wordbefore{before}
 \def\wordnone{none}
 
+% Allow a ragged right output to aid breaking long URL's.  There can
+% be a break at the \allowbreak with no extra glue (if the existing stretch in
+% the line is sufficient), a break at the \penalty with extra glue added
+% at the end of the line, or no break at all here.
+%   Changing the value of the penalty and/or the amount of stretch affects how
+% preferable one choice is over the other.
+\def\urefallowbreak{%
+  \penalty0\relax
+  \hskip 0pt plus 2 em\relax
+  \penalty1000\relax
+  \hskip 0pt plus -2 em\relax
+}
+
 \urefbreakstyle after
 
 % @url synonym for @uref, since that's how everyone uses it.
@@ -2679,7 +3143,7 @@ end
 % So now @email is just like @uref, unless we are pdf.
 %
 %\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
+\ifpdforxetex
   \def\email#1{\doemail#1,,\finish}
   \def\doemail#1,#2,#3\finish{\begingroup
     \unsepspaces
@@ -2692,10 +3156,6 @@ end
   \let\email=\uref
 \fi
 
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
 %   `example' (@kbd uses ttsl only inside of @example and friends),
 %   or `code' (@kbd uses normal tty font always).
@@ -2719,16 +3179,23 @@ end
 % Default is `distinct'.
 \kbdinputstyle distinct
 
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+\def\kbd#1{%
+  \tclose{\kbdfont\setcodequotes#1}%
+}
 
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
+% definition of @key that produces a lozenge.  Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+%    \vbox{\hrule\kern-0.4pt
+%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+%    \kern-0.4pt\hrule}%
+%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge.
+%
+\def\key#1{{\setregularquotes \tt #1}\null}
 
 % @clicksequence{File @click{} Open ...}
 \def\clicksequence#1{\begingroup #1\endgroup}
@@ -2742,18 +3209,13 @@ end
 %
 \def\dmn#1{\thinspace #1}
 
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find.  We need it for
-% Polish suppressed-l.  --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
 % @acronym for "FBI", "NATO", and the like.
 % We print this one point size smaller, since it's intended for
 % all-uppercase.
 %
 \def\acronym#1{\doacronym #1,,\finish}
 \def\doacronym#1,#2,#3\finish{%
-  {\selectfonts\lsize #1}%
+  {\switchtolsize #1}%
   \def\temp{#2}%
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
@@ -2799,21 +3261,24 @@ end
 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
 %
 \def\math{%
-  \tex
-  \mathunderscore
-  \let\\ = \mathbackslash
-  \mathactive
-  % make the texinfo accent commands work in math mode
-  \let\"=\ddot
-  \let\'=\acute
-  \let\==\bar
-  \let\^=\hat
-  \let\`=\grave
-  \let\u=\breve
-  \let\v=\check
-  \let\~=\tilde
-  \let\dotaccent=\dot
-  $\finishmath
+  \ifmmode\else % only go into math if not in math mode already
+    \tex
+    \mathunderscore
+    \let\\ = \mathbackslash
+    \mathactive
+    % make the texinfo accent commands work in math mode
+    \let\"=\ddot
+    \let\'=\acute
+    \let\==\bar
+    \let\^=\hat
+    \let\`=\grave
+    \let\u=\breve
+    \let\v=\check
+    \let\~=\tilde
+    \let\dotaccent=\dot
+    % have to provide another name for sup operator
+    \let\mathopsup=\sup
+  $\expandafter\finishmath\fi
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
 
@@ -2836,17 +3301,61 @@ end
   }
 }
 
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts.  This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}%
+
+% provide this command from LaTeX as it is very common
+\def\frac#1#2{{{#1}\over{#2}}}
+
+% @displaymath.
+% \globaldefs is needed to recognize the end lines in \tex and
+% \end tex.  Set \thisenv as @end displaymath is seen before @end tex.
+{\obeylines
+\globaldefs=1
+\envdef\displaymath{%
+\tex%
+\def\thisenv{\displaymath}%
+\begingroup\let\end\displaymathend%
+$$%
+}
+
+\def\displaymathend{$$\endgroup\end}%
+
+\def\Edisplaymath{%
+\def\thisenv{\tex}%
+\end tex
+}}
+
+
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
 % except specified as a normal braced arg, so no newlines to worry about.
-% 
+%
 \def\outfmtnametex{tex}
 %
-\def\inlinefmt#1{\doinlinefmt #1,\finish}
-\def\doinlinefmt#1,#2,\finish{%
+\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\long\def\doinlinefmt#1,#2,\finish{%
   \def\inlinefmtname{#1}%
   \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
 }
+%
+% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+% FMTNAME is tex, else ELSE-TEXT.
+\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{%
+  \def\inlinefmtname{#1}%
+  \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi
+}
+%
 % For raw, must switch into @tex before parsing the argument, to avoid
 % setting catcodes prematurely.  Doing it this way means that, for
 % example, @inlineraw{html, foo{bar} gets a parse error instead of being
@@ -2854,15 +3363,32 @@ end
 % *right* brace they would have to use a command anyway, so they may as
 % well use a command to get a left brace too.  We could re-use the
 % delimiter character idea from \verb, but it seems like overkill.
-% 
-\def\inlineraw{\tex \doinlineraw}
-\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+%
+\long\def\inlineraw{\tex \doinlineraw}
+\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
 \def\doinlinerawtwo#1,#2,\finish{%
   \def\inlinerawname{#1}%
   \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
   \endgroup % close group opened by \tex.
 }
 
+% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set.
+%
+\long\def\inlineifset#1{\doinlineifset #1,\finish}
+\long\def\doinlineifset#1,#2,\finish{%
+  \def\inlinevarname{#1}%
+  \expandafter\ifx\csname SET\inlinevarname\endcsname\relax
+  \else\ignorespaces#2\fi
+}
+
+% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set.
+%
+\long\def\inlineifclear#1{\doinlineifclear #1,\finish}
+\long\def\doinlineifclear#1,#2,\finish{%
+  \def\inlinevarname{#1}%
+  \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi
+}
+
 
 \message{glyphs,}
 % and logos.
@@ -2872,23 +3398,10 @@ end
 \let\atchar=\@
 
 % @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
-% Unless we're in typewriter, use \ecfont because the CM text fonts do
-% not have braces, and we don't want to switch into math.
-\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
-\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace \let\lbracechar=\{
-\let\}=\myrbrace \let\rbracechar=\}
-\begingroup
-  % Definitions to produce \{ and \} commands for indices,
-  % and @{ and @} for the aux/toc files.
-  \catcode`\{ = \other \catcode`\} = \other
-  \catcode`\[ = 1 \catcode`\] = 2
-  \catcode`\! = 0 \catcode`\\ = \other
-  !gdef!lbracecmd[\{]%
-  !gdef!rbracecmd[\}]%
-  !gdef!lbraceatcmd[@{]%
-  !gdef!rbraceatcmd[@}]%
-!endgroup
+\def\lbracechar{{\ifusingtt{\char123}{\ensuremath\lbrace}}}
+\def\rbracechar{{\ifusingtt{\char125}{\ensuremath\rbrace}}}
+\let\{=\lbracechar
+\let\}=\rbracechar
 
 % @comma{} to avoid , parsing problems.
 \let\comma = ,
@@ -2906,8 +3419,8 @@ end
 % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
 \def\questiondown{?`}
 \def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+\def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}}
 
 % Dotless i and dotless j, used for accents.
 \def\imacro{i}
@@ -2936,12 +3449,17 @@ end
   {\setbox0=\hbox{T}%
    \vbox to \ht0{\hbox{%
      \ifx\textnominalsize\xwordpt
-       % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
+       % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX.
        % Revert to plain's \scriptsize, which is 7pt.
        \count255=\the\fam $\fam\count255 \scriptstyle A$%
      \else
-       % For 11pt, we can use our lllsize.
-       \selectfonts\lllsize A%
+       \ifx\curfontsize\smallword
+         % For footnotes and indices
+         \count255=\the\fam $\fam\count255 \scriptstyle A$%
+       \else
+         % For 11pt, we can use our lllsize.
+         \switchtolllsize A%
+       \fi
      \fi
      }%
      \vss
@@ -2949,12 +3467,18 @@ end
   \kern-.15em
   \TeX
 }
+\def\smallword{small}
 
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
+% Some math mode symbols.  Define \ensuremath to switch into math mode
+% unless we are already there.  Expansion tricks may not be needed here,
+% but safer, and can't hurt.
+\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi}
+\def\ensuredmath#1{$\relax#1$}
+%
+\def\bullet{\ensuremath\ptexbullet}
+\def\geq{\ensuremath\ge}
+\def\leq{\ensuremath\le}
+\def\minus{\ensuremath-}
 
 % @dots{} outputs an ellipsis using the current font.
 % We do .5em per period so that it has the same spacing in the cm
@@ -3002,7 +3526,7 @@ end
 %
 \newbox\errorbox
 %
-{\tentt \global\dimen0 = 3em}% Width of the box.
+{\ttfont \global\dimen0 = 3em}% Width of the box.
 \dimen2 = .55pt % Thickness of rules
 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
 \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
@@ -3022,7 +3546,7 @@ end
 
 % @pounds{} is a sterling sign, which Knuth put in the CM italic font.
 %
-\def\pounds{{\it\$}}
+\def\pounds{{\ifusingtt{\ecfont\char"BF}{\it\$}}}
 
 % @euro{} comes from a separate font, depending on the current style.
 % We use the free feym* fonts from the eurosym package by Henrik
@@ -3091,6 +3615,9 @@ end
 \def\quotedblbase{{\ecfont \char"12}}
 \def\quotesinglbase{{\ecfont \char"0D}}
 %
+\def\L{{\ecfont \char"8A}} % L with stroke
+\def\l{{\ecfont \char"AA}} % l with stroke
+%
 % This positioning is not perfect (see the ogonek LaTeX package), but
 % we have the precomposed glyphs for the most common cases.  We put the
 % tests to use those glyphs in the single \ogonek macro so we have fewer
@@ -3118,21 +3645,32 @@ end
 \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
 \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
 %
-% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
-\def\ecfont{%
+% Use the European Computer Modern fonts (cm-super in outline format)
+% for non-CM glyphs.  That is ec* for regular text and tc* for the text
+% companion symbols (LaTeX TS1 encoding).  Both are part of the ec
+% package and follow the same conventions.
+%
+\def\ecfont{\etcfont{e}}
+\def\tcfont{\etcfont{t}}
+%
+\def\etcfont#1{%
   % We can't distinguish serif/sans and italic/slanted, but this
   % is used for crude hacks anyway (like adding French and German
   % quotes to documents typeset with CM, where we lose kerning), so
   % hopefully nobody will notice/care.
   \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
-  \ifx\curfontstyle\bfstylename
-    % bold:
-    \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
-  \else
-    % regular:
-    \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
-  \fi
+  \ifusingtt
+      % typewriter:
+     {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
+  % else
+     {\ifx\curfontstyle\bfstylename
+        % bold:
+        \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+      \else
+        % regular:
+        \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+      \fi}%
   \thisecfont
 }
 
@@ -3141,14 +3679,17 @@ end
 % Adapted from the plain.tex definition of \copyright.
 %
 \def\registeredsymbol{%
-  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+  $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}%
                \hfil\crcr\Orb}}%
     }$%
 }
 
 % @textdegree - the normal degrees sign.
 %
-\def\textdegree{$^\circ$}
+\def\textdegree{%
+   \ifmmode ^\circ
+   \else {\tcfont \char 176}%
+   \fi}
 
 % Laurent Siebenmann reports \Orb undefined with:
 %  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
@@ -3159,11 +3700,19 @@ end
 \fi
 
 % Quotes.
-\chardef\quotedblleft="5C
-\chardef\quotedblright=`\"
 \chardef\quoteleft=`\`
 \chardef\quoteright=`\'
 
+% only change font for tt for correct kerning and to avoid using
+% \ecfont unless necessary.
+\def\quotedblleft{%
+  \ifusingtt{{\ecfont\char"10}}{{\char"5C}}%
+}
+
+\def\quotedblright{%
+  \ifusingtt{{\ecfont\char"11}}{{\char`\"}}%
+}
+
 
 \message{page headings,}
 
@@ -3174,22 +3723,26 @@ end
 \newif\ifseenauthor
 \newif\iffinishedtitlepage
 
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+% @setcontentsaftertitlepage used to do an implicit @contents or
+% @shortcontents after @end titlepage, but it is now obsolete.
+\def\setcontentsaftertitlepage{%
+  \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @contents command if you want the contents
+              after the title page.}}%
+\def\setshortcontentsaftertitlepage{%
+  \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @shortcontents and @contents commands if you
+              want the contents after the title page.}}%
 
 \parseargdef\shorttitlepage{%
-  \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
-  \endgroup\page\hbox{}\page}
+  {\headingsoff \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+  \endgroup\page\hbox{}\page}\pageone}
 
 \envdef\titlepage{%
   % Open one extra group, as we want to close it in the middle of \Etitlepage.
   \begingroup
     \parindent=0pt \textfonts
+    \headingsoff
     % Leave some space at the very top of the page.
     \vglue\titlepagetopglue
     % No rule at page bottom unless we print one at the top with @title.
@@ -3217,25 +3770,9 @@ end
     % If we use the new definition of \page, we always get a blank page
     % after the title page, which we certainly don't want.
     \oldpage
+    \pageone
   \endgroup
   %
-  % Need this before the \...aftertitlepage checks so that if they are
-  % in effect the toc pages will come out with page numbers.
-  \HEADINGSon
-  %
-  % If they want short, they certainly want long too.
-  \ifsetshortcontentsaftertitlepage
-    \shortcontents
-    \contents
-    \global\let\shortcontents = \relax
-    \global\let\contents = \relax
-  \fi
-  %
-  \ifsetcontentsaftertitlepage
-    \contents
-    \global\let\contents = \relax
-    \global\let\shortcontents = \relax
-  \fi
 }
 
 \def\finishtitlepage{%
@@ -3244,14 +3781,27 @@ end
   \finishedtitlepagetrue
 }
 
+% Settings used for typesetting titles: no hyphenation, no indentation,
+% don't worry much about spacing, ragged right.  This should be used
+% inside a \vbox, and fonts need to be set appropriately first. \par should
+% be specified before the end of the \vbox, since a vbox is a group.
+%
+\def\raggedtitlesettings{%
+  \rm
+  \hyphenpenalty=10000
+  \parindent=0pt
+  \tolerance=5000
+  \ptexraggedright
+}
+
 % Macros to be used within @titlepage:
 
-\let\subtitlerm=\tenrm
+\let\subtitlerm=\rmfont
 \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \leftline{\titlefonts\rmisbold #1}
+  \vbox{\titlefonts \raggedtitlesettings #1\par}%
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -3272,7 +3822,7 @@ end
   \else
     \checkenv\titlepage
     \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-    {\secfonts\rmisbold \leftline{#1}}%
+    {\secfonts\rm \leftline{#1}}%
   \fi
 }
 
@@ -3283,14 +3833,22 @@ end
 
 \newtoks\evenheadline    % headline on even pages
 \newtoks\oddheadline     % headline on odd pages
+\newtoks\evenchapheadline% headline on even pages with a new chapter
+\newtoks\oddchapheadline % headline on odd pages with a new chapter
 \newtoks\evenfootline    % footline on even pages
 \newtoks\oddfootline     % footline on odd pages
 
-% Now make TeX use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
-                            \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-                            \else \the\evenfootline \fi}\HEADINGShook}
+% Now make \makeheadline and \makefootline in Plain TeX use those variables
+\headline={{\textfonts\rm\frenchspacingsetting
+            \ifchapterpage
+              \ifodd\pageno\the\oddchapheadline\else\the\evenchapheadline\fi
+            \else
+              \ifodd\pageno\the\oddheadline\else\the\evenheadline\fi
+            \fi}}
+
+\footline={{\textfonts\rm\frenchspacingsetting
+            \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}%
+           \HEADINGShook}
 \let\HEADINGShook=\relax
 
 % Commands to set those variables.
@@ -3304,12 +3862,14 @@ end
 \def\evenheading{\parsearg\evenheadingxxx}
 \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
 \def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+  \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
+  \global\evenchapheadline=\evenheadline}
 
 \def\oddheading{\parsearg\oddheadingxxx}
 \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
 \def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+  \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}%
+  \global\oddchapheadline=\oddheadline}
 
 \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
 
@@ -3325,7 +3885,7 @@ end
   %
   % Leave some space for the footline.  Hopefully ok to assume
   % @evenfooting will not be used by itself.
-  \global\advance\pageheight by -12pt
+  \global\advance\txipageheight by -12pt
   \global\advance\vsize by -12pt
 }
 
@@ -3342,13 +3902,17 @@ end
 % @everyheadingmarks
 % @everyfootingmarks
 
+% These define \getoddheadingmarks, \getevenheadingmarks,
+% \getoddfootingmarks, and \getevenfootingmarks, each to one of
+% \gettopheadingmarks, \getbottomheadingmarks.
+%
 \def\evenheadingmarks{\headingmarks{even}{heading}}
 \def\oddheadingmarks{\headingmarks{odd}{heading}}
 \def\evenfootingmarks{\headingmarks{even}{footing}}
 \def\oddfootingmarks{\headingmarks{odd}{footing}}
-\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
+\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1}
                           \headingmarks{odd}{heading}{#1} }
-\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
+\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1}
                           \headingmarks{odd}{footing}{#1} }
 % #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
 \def\headingmarks#1#2#3 {%
@@ -3369,59 +3933,62 @@ end
 % By default, they are off at the start of a document,
 % and turned `on' after @end titlepage.
 
-\def\headings #1 {\csname HEADINGS#1\endcsname}
+\parseargdef\headings{\csname HEADINGS#1\endcsname}
 
 \def\headingsoff{% non-global headings elimination
-  \evenheadline={\hfil}\evenfootline={\hfil}%
-   \oddheadline={\hfil}\oddfootline={\hfil}%
+  \evenheadline={\hfil}\evenfootline={\hfil}\evenchapheadline={\hfil}%
+   \oddheadline={\hfil}\oddfootline={\hfil}\oddchapheadline={\hfil}%
 }
 
 \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
-\HEADINGSoff  % it's the default
 
-% When we turn headings on, set the page number to 1.
+% Set the page number to 1.
+\def\pageone{
+  \global\pageno=1
+  \global\arabiccount = \pagecount
+}
+
+\let\contentsalignmacro = \chappager
+
+% \def\HEADINGSon{\HEADINGSdouble} % defined by \CHAPPAGon
+
 % For double-sided printing, put current file name in lower left corner,
 % chapter name on inside top of right hand pages, document
 % title on inside top of left hand pages, and page numbers on outside top
 % edge of all pages.
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdouble}
+\let\HEADINGSdoubleafter=\HEADINGSafter
 \def\HEADINGSdouble{%
-\global\pageno=1
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
 \global\evenheadline={\line{\folio\hfil\thistitle}}
 \global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\evenchapheadline={\line{\folio\hfil\thistitle}}
+\global\oddchapheadline={\line{\hfil\folio}}
 \global\let\contentsalignmacro = \chapoddpage
 }
-\let\contentsalignmacro = \chappager
 
 % For single-sided printing, chapter title goes across top left of page,
 % page number on top right.
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsingle}
 \def\HEADINGSsingle{%
-\global\pageno=1
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
 \global\evenheadline={\line{\thischapter\hfil\folio}}
 \global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\evenchapheadline={\line{\hfil\folio}}
+\global\oddchapheadline={\line{\hfil\folio}}
 \global\let\contentsalignmacro = \chappager
 }
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
 
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
+% for @setchapternewpage off
+\def\HEADINGSsinglechapoff{%
 \global\evenfootline={\hfil}
 \global\oddfootline={\hfil}
 \global\evenheadline={\line{\thischapter\hfil\folio}}
 \global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\evenchapheadline=\evenheadline
+\global\oddchapheadline=\oddheadline
 \global\let\contentsalignmacro = \chappager
 }
 
@@ -3599,7 +4166,7 @@ end
   \parskip=\smallskipamount
   \ifdim\parskip=0pt \parskip=2pt \fi
   %
-  % Try typesetting the item mark that if the document erroneously says
+  % Try typesetting the item mark so that if the document erroneously says
   % something like @itemize @samp (intending @table), there's an error
   % right away at the @itemize.  It's not the best error message in the
   % world, but it's better than leaving it to the @item.  This means if
@@ -3631,7 +4198,12 @@ end
    \noindent
    \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
    %
-   \vadjust{\penalty 1200}}% not good to break after first line of item.
+   \ifinner\else
+     \vadjust{\penalty 1200}% not good to break after first line of item.
+   \fi
+   % We can be in inner vertical mode in a footnote, although an
+   % @itemize looks awful there.
+  }%
   \flushcr
 }
 
@@ -3725,82 +4297,8 @@ end
   \doitemize{#1.}\flushcr
 }
 
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
 
 % @multitable macros
-% Amy Hendrickson, 8/18/94, 3/6/96
-%
-% @multitable ... @end multitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble.  Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-%   @multitable @columnfractions .25 .3 .45
-%   @item ...
-%
-%   Numbers following @columnfractions are the percent of the total
-%   current hsize to be used for each column. You may use as many
-%   columns as desired.
-
-
-% Or use a template:
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item ...
-%   using the widest term desired in each column.
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab do not need to be on their own lines, but it will not hurt
-% if they are.
-
-% Sample multitable:
-
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item first col stuff @tab second col stuff @tab third col
-%   @item
-%   first col stuff
-%   @tab
-%   second col stuff
-%   @tab
-%   third col
-%   @item first col stuff @tab second col stuff
-%   @tab Many paragraphs of text may be used in any column.
-%
-%         They will wrap at the width determined by the template.
-%   @item@tab@tab This will be in third column.
-%   @end multitable
-
-% Default dimensions may be reset by user.
-% @multitableparskip is vertical space between paragraphs in table.
-% @multitableparindent is paragraph indent in table.
-% @multitablecolmargin is horizontal space to be left between columns.
-% @multitablelinespace is space to leave between table items, baseline
-%                                                            to baseline.
-%   0pt means it depends on current normal line spacing.
-%
-\newskip\multitableparskip
-\newskip\multitableparindent
-\newdimen\multitablecolspace
-\newskip\multitablelinespace
-\multitableparskip=0pt
-\multitableparindent=6pt
-\multitablecolspace=12pt
-\multitablelinespace=0pt
 
 % Macros used to set up halign preamble:
 %
@@ -3848,28 +4346,23 @@ end
   \go
 }
 
-% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry.  \everycr resets \everytab so we don't have to
+% @headitem starts a heading row, which we typeset in bold.  Assignments
+% have to be global since we are inside the implicit group of an
+% alignment entry.  \everycr below resets \everytab so we don't have to
 % undo it ourselves.
 \def\headitemfont{\b}% for people to use in the template row; not changeable
 \def\headitem{%
-  \checkenv\multitable
-  \crcr
+  \crcr % must appear first
+  \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
   \global\everytab={\bf}% can't use \headitemfont since the parsing differs
   \the\everytab % for the first item
 }%
 %
-% A \tab used to include \hskip1sp.  But then the space in a template
-% line is not enough.  That is bad.  So let's go back to just `&' until
-% we again encounter the problem the 1sp was intended to solve.
-%                                      --karl, nathan@acm.org, 20apr99.
+% default for tables with no headings.
+\let\headitemcrhook=\relax
+%
 \def\tab{\checkenv\multitable &\the\everytab}%
 
-% @multitable ... @end multitable definitions:
-%
 \newtoks\everytab  % insert after every tab.
 %
 \envdef\multitable{%
@@ -3884,23 +4377,22 @@ end
   %
   \tolerance=9500
   \hbadness=9500
-  \setmultitablespacing
-  \parskip=\multitableparskip
-  \parindent=\multitableparindent
+  \parskip=0pt
+  \parindent=6pt
   \overfullrule=0pt
   \global\colcount=0
   %
   \everycr = {%
     \noalign{%
-      \global\everytab={}%
+      \global\everytab={}% Reset from possible headitem.
       \global\colcount=0 % Reset the column counter.
-      % Check for saved footnotes, etc.
+      %
+      % Check for saved footnotes, etc.:
       \checkinserts
-      % Keeps underfull box messages off when table breaks over pages.
-      %\filbreak
-       % Maybe so, but it also creates really weird page breaks when the
-       % table breaks over pages. Wouldn't \vfil be better?  Wait until the
-       % problem manifests itself, so it can be fixed for real --karl.
+      %
+      % Perhaps a \nobreak, then reset:
+      \headitemcrhook
+      \global\let\headitemcrhook=\relax
     }%
   }%
   %
@@ -3916,47 +4408,24 @@ end
   % continue for many paragraphs if desired.
   \halign\bgroup &%
     \global\advance\colcount by 1
-    \multistrut
+    \strut
     \vtop{%
-      % Use the current \colcount to find the correct column width:
+      \advance\hsize by -1\leftskip
+      % Find the correct column width
       \hsize=\expandafter\csname col\the\colcount\endcsname
       %
-      % In order to keep entries from bumping into each other
-      % we will add a \leftskip of \multitablecolspace to all columns after
-      % the first one.
-      %
-      % If a template has been used, we will add \multitablecolspace
-      % to the width of each template entry.
-      %
-      % If the user has set preamble in terms of percent of \hsize we will
-      % use that dimension as the width of the column, and the \leftskip
-      % will keep entries from bumping into each other.  Table will start at
-      % left margin and final column will justify at right margin.
-      %
-      % Make sure we don't inherit \rightskip from the outer environment.
-      \rightskip=0pt
+      \advance\rightskip by -1\rightskip % Zero leaving only any stretch
       \ifnum\colcount=1
-       % The first column will be indented with the surrounding text.
-       \advance\hsize by\leftskip
+        \advance\hsize by\leftskip % Add indent of surrounding text
       \else
-       \ifsetpercent \else
-         % If user has not set preamble in terms of percent of \hsize
-         % we will advance \hsize by \multitablecolspace.
-         \advance\hsize by \multitablecolspace
-       \fi
-       % In either case we will make \leftskip=\multitablecolspace:
-      \leftskip=\multitablecolspace
+        % In order to keep entries from bumping into each other.
+        \leftskip=12pt
+        \ifsetpercent \else
+          % If a template has been used
+          \advance\hsize by \leftskip
+        \fi
       \fi
-      % Ignoring space at the beginning and end avoids an occasional spurious
-      % blank line, when TeX decides to break the line at the space before the
-      % box from the multistrut, so the strut ends up on a line by itself.
-      % For example:
-      % @multitable @columnfractions .11 .89
-      % @item @code{#}
-      % @tab Legal holiday which is valid in major parts of the whole country.
-      % Is automatically provided with highlighting sequences respectively
-      % marking characters.
-      \noindent\ignorespaces##\unskip\multistrut
+      \noindent\ignorespaces##\unskip\strut
     }\cr
 }
 \def\Emultitable{%
@@ -3965,35 +4434,10 @@ end
   \global\setpercentfalse
 }
 
-\def\setmultitablespacing{%
-  \def\multistrut{\strut}% just use the standard line spacing
-  %
-  % Compute \multitablelinespace (if not defined by user) for use in
-  % \multitableparskip calculation.  We used define \multistrut based on
-  % this, but (ironically) that caused the spacing to be off.
-  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
-\ifdim\multitablelinespace=0pt
-\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
-\global\advance\multitablelinespace by-\ht0
-\fi
-% Test to see if parskip is larger than space between lines of
-% table. If not, do nothing.
-%        If so, set to same dimension as multitablelinespace.
-\ifdim\multitableparskip>\multitablelinespace
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
-                                      % than skip between lines in the table.
-\fi%
-\ifdim\multitableparskip=0pt
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
-                                      % than skip between lines in the table.
-\fi}
-
 
 \message{conditionals,}
 
-% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotlatex, @ifnotplaintext,
 % @ifnotxml always succeed.  They currently do nothing; we don't
 % attempt to check whether the conditionals are properly nested.  But we
 % have to remember that they are conditionals, so that @end doesn't
@@ -4007,6 +4451,7 @@ end
 \makecond{ifnotdocbook}
 \makecond{ifnothtml}
 \makecond{ifnotinfo}
+\makecond{ifnotlatex}
 \makecond{ifnotplaintext}
 \makecond{ifnotxml}
 
@@ -4019,10 +4464,12 @@ end
 \def\ifdocbook{\doignore{ifdocbook}}
 \def\ifhtml{\doignore{ifhtml}}
 \def\ifinfo{\doignore{ifinfo}}
+\def\iflatex{\doignore{iflatex}}
 \def\ifnottex{\doignore{ifnottex}}
 \def\ifplaintext{\doignore{ifplaintext}}
 \def\ifxml{\doignore{ifxml}}
 \def\ignore{\doignore{ignore}}
+\def\latex{\doignore{latex}}
 \def\menu{\doignore{menu}}
 \def\xml{\doignore{xml}}
 
@@ -4139,7 +4586,7 @@ end
 \def\value{\begingroup\makevalueexpandable\valuexxx}
 \def\valuexxx#1{\expandablevalue{#1}\endgroup}
 {
-  \catcode`\- = \active \catcode`\_ = \active
+  \catcode`\-=\active \catcode`\_=\active
   %
   \gdef\makevalueexpandable{%
     \let\value = \expandablevalue
@@ -4148,18 +4595,10 @@ end
     % ..., but we might end up with active ones in the argument if
     % we're called from @code, as @code{@value{foo-bar_}}, though.
     % So \let them to their normal equivalents.
-    \let-\realdash \let_\normalunderscore
+    \let-\normaldash \let_\normalunderscore
   }
 }
 
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we call \makevalueexpandable in \indexdummies).
-% The command has to be fully expandable (if the variable is set), since
-% the result winds up in the index file.  This means that if the
-% variable's value contains other Texinfo commands, it's almost certain
-% it will fail (although perhaps we could fix that with sufficient work
-% to do a one-level expansion on the result, instead of complete).
-%
 \def\expandablevalue#1{%
   \expandafter\ifx\csname SET#1\endcsname\relax
     {[No value for ``#1'']}%
@@ -4169,10 +4608,36 @@ end
   \fi
 }
 
+% Like \expandablevalue, but completely expandable (the \message in the
+% definition above operates at the execution level of TeX).  Used when
+% writing to auxiliary files, due to the expansion that \write does.
+% If flag is undefined, pass through an unexpanded @value command: maybe it
+% will be set by the time it is read back in.
+%
+% NB flag names containing - or _ may not work here.
+\def\dummyvalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    \string\value{#1}%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
+% Used for @value's in index entries to form the sort key: expand the @value
+% if possible, otherwise sort late.
+\def\indexnofontsvalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    ZZZZZZZ%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
 % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
 % with @set.
 %
-% To get special treatment of `@end ifset,' call \makeond and the redefine.
+% To get the special treatment we need for `@end ifset,' we call
+% \makecond and then redefine.
 %
 \makecond{ifset}
 \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
@@ -4188,7 +4653,7 @@ end
 }
 \def\ifsetfail{\doignore{ifset}}
 
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% @ifclear VAR ... @end executes the `...' iff VAR has never been
 % defined with @set, or has been undefined with @clear.
 %
 % The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4199,6 +4664,35 @@ end
 \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
 \def\ifclearfail{\doignore{ifclear}}
 
+% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
+% without the @) is in fact defined.  We can only feasibly check at the
+% TeX level, so something like `mathcode' is going to considered
+% defined even though it is not a Texinfo command.
+%
+\makecond{ifcommanddefined}
+\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+%
+\def\doifcmddefined#1#2{{%
+    \makevalueexpandable
+    \let\next=\empty
+    \expandafter\ifx\csname #2\endcsname\relax
+      #1% If not defined, \let\next as above.
+    \fi
+    \expandafter
+  }\next
+}
+\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
+
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
+\makecond{ifcommandnotdefined}
+\def\ifcommandnotdefined{%
+  \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
+\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
+
+% Set the `txicommandconditionals' variable, so documents have a way to
+% test if the @ifcommand...defined conditionals are available.
+\set txicommandconditionals
+
 % @dircategory CATEGORY  -- specify a category of the dir file
 % which this file should belong to.  Ignore this in TeX.
 \let\dircategory=\comment
@@ -4214,19 +4708,14 @@ end
 % except not \outer, so it can be used within macros and \if's.
 \edef\newwrite{\makecsname{ptexnewwrite}}
 
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index.  The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
+% \newindex {IX} defines an index named IX.
+% It automatically defines \IXindex such that
+% \IXindex ...rest of line... puts an entry in the index IX.
+% It also defines \IXindfile to be the number of the output channel for
+% the file that accumulates this index.  The file's extension is IX.
 %
 \def\newindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-  \fi
+  \expandafter\chardef\csname#1indfile\endcsname=0
   \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
     \noexpand\doindex{#1}}
 }
@@ -4240,14 +4729,19 @@ end
 \def\defcodeindex{\parsearg\newcodeindex}
 %
 \def\newcodeindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1
-  \fi
+  \expandafter\chardef\csname#1indfile\endcsname=0
   \expandafter\xdef\csname#1index\endcsname{%
     \noexpand\docodeindex{#1}}%
 }
 
+% The default indices:
+\newindex{cp}%      concepts,
+\newcodeindex{fn}%  functions,
+\newcodeindex{vr}%  variables,
+\newcodeindex{tp}%  types,
+\newcodeindex{ky}%  keys
+\newcodeindex{pg}%  and programs.
+
 
 % @synindex foo bar    makes index foo feed into index bar.
 % Do this instead of @defindex foo if you don't want it as a separate index.
@@ -4261,14 +4755,7 @@ end
 % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
 % #3 the target index (bar).
 \def\dosynindex#1#2#3{%
-  % Only do \closeout if we haven't already done it, else we'll end up
-  % closing the target index.
-  \expandafter \ifx\csname donesynindex#2\endcsname \relax
-    % The \closeout helps reduce unnecessary open files; the limit on the
-    % Acorn RISC OS is a mere 16 files.
-    \expandafter\closeout\csname#2indfile\endcsname
-    \expandafter\let\csname donesynindex#2\endcsname = 1
-  \fi
+  \requireopenindexfile{#3}%
   % redefine \fooindfile:
   \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
   \expandafter\let\csname#2indfile\endcsname=\temp
@@ -4276,427 +4763,537 @@ end
   \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
 }
 
-% Define \doindex, the driver for all \fooindex macros.
+% Define \doindex, the driver for all index macros.
 % Argument #1 is generated by the calling \fooindex macro,
-%  and it is "foo", the name of the index.
+% and it is the two-letter name of the index.
 
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
+\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
+\def\doindexxxx #1{\doind{\indexname}{#1}}
 
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
+\def\docodeindexxxx #1{\docind{\indexname}{#1}}
 
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
 
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-% Take care of Texinfo commands that can appear in an index entry.
-% Since there are some commands we want to expand, and others we don't,
-% we have to laboriously prevent expansion for those that we don't.
-%
-\def\indexdummies{%
-  \escapechar = `\\     % use backslash in output files.
-  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-  \def\ {\realbackslash\space }%
-  %
-  % Need these unexpandable (because we define \tt as a dummy)
-  % definitions when @{ or @} appear in index entry text.  Also, more
-  % complicated, when \tex is in effect and \{ is a \delimiter again.
-  % We can't use \lbracecmd and \rbracecmd because texindex assumes
-  % braces and backslashes are used only as delimiters.  Perhaps we
-  % should define @lbrace and @rbrace commands a la @comma.
-  \def\{{{\tt\char123}}%
-  \def\}{{\tt\char125}}%
-  %
-  % I don't entirely understand this, but when an index entry is
-  % generated from a macro call, the \endinput which \scanmacro inserts
-  % causes processing to be prematurely terminated.  This is,
-  % apparently, because \indexsorttmp is fully expanded, and \endinput
-  % is an expandable command.  The redefinition below makes \endinput
-  % disappear altogether for that purpose -- although logging shows that
-  % processing continues to some further point.  On the other hand, it
-  % seems \endinput does not hurt in the printed index arg, since that
-  % is still getting written without apparent harm.
-  %
-  % Sample source (mac-idx3.tex, reported by Graham Percival to
-  % help-texinfo, 22may06):
-  % @macro funindex {WORD}
-  % @findex xyz
-  % @end macro
-  % ...
-  % @funindex commtest
-  %
-  % The above is not enough to reproduce the bug, but it gives the flavor.
-  %
-  % Sample whatsit resulting:
-  % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
-  %
-  % So:
-  \let\endinput = \empty
-  %
-  % Do the redefinitions.
-  \commondummies
-}
-
-% For the aux and toc files, @ is the escape character.  So we want to
-% redefine everything using @ as the escape character (instead of
-% \realbackslash, still used for index files).  When everything uses @,
-% this will be simpler.
+% \definedummyword defines \#1 as \string\#1\space, thus effectively
+% preventing its expansion.  This is used only for control words,
+% not control letters, because the \space would be incorrect for
+% control characters, but is needed to separate the control word
+% from whatever follows.
 %
-\def\atdummies{%
-  \def\@{@@}%
-  \def\ {@ }%
-  \let\{ = \lbraceatcmd
-  \let\} = \rbraceatcmd
-  %
-  % Do the redefinitions.
-  \commondummies
-  \otherbackslash
-}
+% These can be used both for control words that take an argument and
+% those that do not.  If it is followed by {arg} in the input, then
+% that will dutifully get written to the index (or wherever).
+%
+% For control letters, we have \definedummyletter, which omits the
+% space.
+%
+\def\definedummyword  #1{\def#1{\string#1\space}}%
+\def\definedummyletter#1{\def#1{\string#1}}%
 
-% Called from \indexdummies and \atdummies.
+% Used for the aux, toc and index files to prevent expansion of Texinfo
+% commands.  Most of the commands are controlled through the
+% \ifdummies conditional.
 %
-\def\commondummies{%
-  %
-  % \definedummyword defines \#1 as \string\#1\space, thus effectively
-  % preventing its expansion.  This is used only for control words,
-  % not control letters, because the \space would be incorrect for
-  % control characters, but is needed to separate the control word
-  % from whatever follows.
-  %
-  % For control letters, we have \definedummyletter, which omits the
-  % space.
-  %
-  % These can be used both for control words that take an argument and
-  % those that do not.  If it is followed by {arg} in the input, then
-  % that will dutifully get written to the index (or wherever).
-  %
-  \def\definedummyword  ##1{\def##1{\string##1\space}}%
-  \def\definedummyletter##1{\def##1{\string##1}}%
-  \let\definedummyaccent\definedummyletter
+\def\atdummies{%
+  \dummiestrue
   %
-  \commondummiesnofonts
+  \definedummyletter\@%
+  \definedummyletter\ %
+  \definedummyletter\{%
+  \definedummyletter\}%
+  \definedummyletter\&%
   %
   \definedummyletter\_%
   \definedummyletter\-%
   %
-  % Non-English letters.
-  \definedummyword\AA
-  \definedummyword\AE
-  \definedummyword\DH
-  \definedummyword\L
-  \definedummyword\O
-  \definedummyword\OE
-  \definedummyword\TH
-  \definedummyword\aa
-  \definedummyword\ae
-  \definedummyword\dh
-  \definedummyword\exclamdown
-  \definedummyword\l
-  \definedummyword\o
-  \definedummyword\oe
-  \definedummyword\ordf
-  \definedummyword\ordm
-  \definedummyword\questiondown
-  \definedummyword\ss
-  \definedummyword\th
-  %
-  % Although these internal commands shouldn't show up, sometimes they do.
-  \definedummyword\bf
-  \definedummyword\gtr
-  \definedummyword\hat
-  \definedummyword\less
-  \definedummyword\sf
-  \definedummyword\sl
-  \definedummyword\tclose
-  \definedummyword\tt
-  %
-  \definedummyword\LaTeX
-  \definedummyword\TeX
-  %
-  % Assorted special characters.
-  \definedummyword\arrow
-  \definedummyword\bullet
-  \definedummyword\comma
-  \definedummyword\copyright
-  \definedummyword\registeredsymbol
-  \definedummyword\dots
-  \definedummyword\enddots
-  \definedummyword\entrybreak
-  \definedummyword\equiv
-  \definedummyword\error
-  \definedummyword\euro
-  \definedummyword\expansion
-  \definedummyword\geq
-  \definedummyword\guillemetleft
-  \definedummyword\guillemetright
-  \definedummyword\guilsinglleft
-  \definedummyword\guilsinglright
-  \definedummyword\leq
-  \definedummyword\minus
-  \definedummyword\ogonek
-  \definedummyword\pounds
-  \definedummyword\point
-  \definedummyword\print
-  \definedummyword\quotedblbase
-  \definedummyword\quotedblleft
-  \definedummyword\quotedblright
-  \definedummyword\quoteleft
-  \definedummyword\quoteright
-  \definedummyword\quotesinglbase
-  \definedummyword\result
-  \definedummyword\textdegree
+  \definedummyword\subentry
   %
   % We want to disable all macros so that they are not expanded by \write.
+  \let\commondummyword\definedummyword
   \macrolist
+  \let\value\dummyvalue
+  %
+  \turnoffactive
+}
+
+\newif\ifdummies
+\newif\ifindexnofonts
+
+\def\commondummyletter#1{%
+  \expandafter\let\csname\string#1:impl\endcsname#1%
+  \edef#1{%
+    \noexpand\ifindexnofonts
+      % empty expansion
+    \noexpand\else
+      \noexpand\ifdummies\string#1%
+      \noexpand\else
+        \noexpand\jumptwofi % dispose of the \fi
+        \expandafter\noexpand\csname\string#1:impl\endcsname
+      \noexpand\fi
+    \noexpand\fi}%
+}
+
+\def\commondummyaccent#1{%
+  \expandafter\let\csname\string#1:impl\endcsname#1%
+  \edef#1{%
+    \noexpand\ifindexnofonts
+      \noexpand\expandafter % dispose of \else ... \fi
+      \noexpand\asis
+    \noexpand\else
+      \noexpand\ifdummies\string#1%
+      \noexpand\else
+        \noexpand\jumptwofi % dispose of the \fi
+        \expandafter\noexpand\csname\string#1:impl\endcsname
+      \noexpand\fi
+    \noexpand\fi}%
+}
+
+% Like \commondummyaccent but add a \space at the end of the dummy expansion
+% #2 is the expansion used for \indexnofonts.  #2 is always followed by
+% \asis to remove a pair of following braces.
+\def\commondummyword#1#2{%
+  \expandafter\let\csname\string#1:impl\endcsname#1%
+  \expandafter\def\csname\string#1:ixnf\endcsname{#2\asis}%
+  \edef#1{%
+    \noexpand\ifindexnofonts
+      \noexpand\expandafter % dispose of \else ... \fi
+      \expandafter\noexpand\csname\string#1:ixnf\endcsname
+    \noexpand\else
+      \noexpand\ifdummies\string#1\space
+      \noexpand\else
+        \noexpand\jumptwofi % dispose of the \fi \fi
+        \expandafter\noexpand\csname\string#1:impl\endcsname
+      \noexpand\fi
+    \noexpand\fi}%
+}
+\def\jumptwofi#1\fi\fi{\fi\fi#1}
+
+% For \atdummies and \indexnofonts.  \atdummies sets
+% \dummiestrue and \indexnofonts sets \indexnofontstrue.
+\def\definedummies{
+  % @-sign is always an escape character when reading auxiliary files
+  \escapechar = `\@
+  %
+  \commondummyletter\!%
+  \commondummyaccent\"%
+  \commondummyaccent\'%
+  \commondummyletter\*%
+  \commondummyaccent\,%
+  \commondummyletter\.%
+  \commondummyletter\/%
+  \commondummyletter\:%
+  \commondummyaccent\=%
+  \commondummyletter\?%
+  \commondummyaccent\^%
+  \commondummyaccent\`%
+  \commondummyaccent\~%
   %
-  \normalturnoffactive
-  %
-  % Handle some cases of @value -- where it does not contain any
-  % (non-fully-expandable) commands.
-  \makevalueexpandable
-}
-
-% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-%
-\def\commondummiesnofonts{%
   % Control letters and accents.
-  \definedummyletter\!%
-  \definedummyaccent\"%
-  \definedummyaccent\'%
-  \definedummyletter\*%
-  \definedummyaccent\,%
-  \definedummyletter\.%
-  \definedummyletter\/%
-  \definedummyletter\:%
-  \definedummyaccent\=%
-  \definedummyletter\?%
-  \definedummyaccent\^%
-  \definedummyaccent\`%
-  \definedummyaccent\~%
-  \definedummyword\u
-  \definedummyword\v
-  \definedummyword\H
-  \definedummyword\dotaccent
-  \definedummyword\ogonek
-  \definedummyword\ringaccent
-  \definedummyword\tieaccent
-  \definedummyword\ubaraccent
-  \definedummyword\udotaccent
-  \definedummyword\dotless
+  \commondummyword\u          {}%
+  \commondummyword\v          {}%
+  \commondummyword\H          {}%
+  \commondummyword\dotaccent  {}%
+  \commondummyword\ogonek     {}%
+  \commondummyword\ringaccent {}%
+  \commondummyword\tieaccent  {}%
+  \commondummyword\ubaraccent {}%
+  \commondummyword\udotaccent {}%
+  \commondummyword\dotless    {}%
   %
   % Texinfo font commands.
-  \definedummyword\b
-  \definedummyword\i
-  \definedummyword\r
-  \definedummyword\sansserif
-  \definedummyword\sc
-  \definedummyword\slanted
-  \definedummyword\t
+  \commondummyword\b          {}%
+  \commondummyword\i          {}%
+  \commondummyword\r          {}%
+  \commondummyword\sansserif  {}%
+  \commondummyword\sc         {}%
+  \commondummyword\slanted    {}%
+  \commondummyword\t          {}%
   %
   % Commands that take arguments.
-  \definedummyword\acronym
-  \definedummyword\anchor
-  \definedummyword\cite
-  \definedummyword\code
-  \definedummyword\command
-  \definedummyword\dfn
-  \definedummyword\dmn
-  \definedummyword\email
-  \definedummyword\emph
-  \definedummyword\env
-  \definedummyword\file
-  \definedummyword\indicateurl
-  \definedummyword\kbd
-  \definedummyword\key
-  \definedummyword\math
-  \definedummyword\option
-  \definedummyword\pxref
-  \definedummyword\ref
-  \definedummyword\samp
-  \definedummyword\strong
-  \definedummyword\tie
-  \definedummyword\uref
-  \definedummyword\url
-  \definedummyword\var
-  \definedummyword\verb
-  \definedummyword\w
-  \definedummyword\xref
+  \commondummyword\abbr       {}%
+  \commondummyword\acronym    {}%
+  \commondummyword\anchor     {}%
+  \commondummyword\cite       {}%
+  \commondummyword\code       {}%
+  \commondummyword\command    {}%
+  \commondummyword\dfn        {}%
+  \commondummyword\dmn        {}%
+  \commondummyword\email      {}%
+  \commondummyword\emph       {}%
+  \commondummyword\env        {}%
+  \commondummyword\file       {}%
+  \commondummyword\image      {}%
+  \commondummyword\indicateurl{}%
+  \commondummyword\inforef    {}%
+  \commondummyword\kbd        {}%
+  \commondummyword\key        {}%
+  \commondummyword\link       {}%
+  \commondummyword\math       {}%
+  \commondummyword\option     {}%
+  \commondummyword\pxref      {}%
+  \commondummyword\ref        {}%
+  \commondummyword\samp       {}%
+  \commondummyword\strong     {}%
+  \commondummyword\tie        {}%
+  \commondummyword\U          {}%
+  \commondummyword\uref       {}%
+  \commondummyword\url        {}%
+  \commondummyword\var        {}%
+  \commondummyword\verb       {}%
+  \commondummyword\w          {}%
+  \commondummyword\xref       {}%
+  %
+  \commondummyword\AA               {AA}%
+  \commondummyword\AE               {AE}%
+  \commondummyword\DH               {DZZ}%
+  \commondummyword\L                {L}%
+  \commondummyword\O                {O}%
+  \commondummyword\OE               {OE}%
+  \commondummyword\TH               {TH}%
+  \commondummyword\aa               {aa}%
+  \commondummyword\ae               {ae}%
+  \commondummyword\dh               {dzz}%
+  \commondummyword\exclamdown       {!}%
+  \commondummyword\l                {l}%
+  \commondummyword\o                {o}%
+  \commondummyword\oe               {oe}%
+  \commondummyword\ordf             {a}%
+  \commondummyword\ordm             {o}%
+  \commondummyword\questiondown     {?}%
+  \commondummyword\ss               {ss}%
+  \commondummyword\th               {th}%
+  %
+  \commondummyword\LaTeX            {LaTeX}%
+  \commondummyword\TeX              {TeX}%
+  %
+  % Assorted special characters.
+  \commondummyword\ampchar          {\normalamp}%
+  \commondummyword\atchar           {\@}%
+  \commondummyword\arrow            {->}%
+  \commondummyword\backslashchar    {\realbackslash}%
+  \commondummyword\bullet           {bullet}%
+  \commondummyword\comma            {,}%
+  \commondummyword\copyright        {copyright}%
+  \commondummyword\dots             {...}%
+  \commondummyword\enddots          {...}%
+  \commondummyword\entrybreak       {}%
+  \commondummyword\equiv            {===}%
+  \commondummyword\error            {error}%
+  \commondummyword\euro             {euro}%
+  \commondummyword\expansion        {==>}%
+  \commondummyword\geq              {>=}%
+  \commondummyword\guillemetleft    {<<}%
+  \commondummyword\guillemetright   {>>}%
+  \commondummyword\guilsinglleft    {<}%
+  \commondummyword\guilsinglright   {>}%
+  \commondummyword\lbracechar       {\{}%
+  \commondummyword\leq              {<=}%
+  \commondummyword\mathopsup        {sup}%
+  \commondummyword\minus            {-}%
+  \commondummyword\pounds           {pounds}%
+  \commondummyword\point            {.}%
+  \commondummyword\print            {-|}%
+  \commondummyword\quotedblbase     {"}%
+  \commondummyword\quotedblleft     {"}%
+  \commondummyword\quotedblright    {"}%
+  \commondummyword\quoteleft        {`}%
+  \commondummyword\quoteright       {'}%
+  \commondummyword\quotesinglbase   {,}%
+  \commondummyword\rbracechar       {\}}%
+  \commondummyword\registeredsymbol {R}%
+  \commondummyword\result           {=>}%
+  \commondummyword\sub              {}%
+  \commondummyword\sup              {}%
+  \commondummyword\textdegree       {o}%
+}
+
+\let\indexlbrace\relax
+\let\indexrbrace\relax
+\let\indexatchar\relax
+\let\indexbackslash\relax
+
+{\catcode`\@=0
+\catcode`\\=13
+  @gdef@backslashdisappear{@def\{}}
+}
+
+{
+\catcode`\<=13
+\catcode`\-=13
+\catcode`\`=13
+  \gdef\indexnonalnumdisappear{%
+    \ifflagclear{txiindexlquoteignore}{}{%
+      % @set txiindexlquoteignore makes us ignore left quotes in the sort term.
+      % (Introduced for FSFS 2nd ed.)
+      \let`=\empty
+    }%
+    %
+    \ifflagclear{txiindexbackslashignore}{}{%
+      \backslashdisappear
+    }%
+    \ifflagclear{txiindexhyphenignore}{}{%
+      \def-{}%
+    }%
+    \ifflagclear{txiindexlessthanignore}{}{%
+      \def<{}%
+    }%
+    \ifflagclear{txiindexatsignignore}{}{%
+      \def\@{}%
+    }%
+  }
+
+  \gdef\indexnonalnumreappear{%
+    \let-\normaldash
+    \let<\normalless
+  }
 }
 
+
 % \indexnofonts is used when outputting the strings to sort the index
 % by, and when constructing control sequence names.  It eliminates all
 % control sequences and just writes whatever the best ASCII sort string
 % would be for a given command (usually its argument).
 %
 \def\indexnofonts{%
-  % Accent commands should become @asis.
-  \def\definedummyaccent##1{\let##1\asis}%
-  % We can just ignore other control letters.
-  \def\definedummyletter##1{\let##1\empty}%
-  % All control words become @asis by default; overrides below.
-  \let\definedummyword\definedummyaccent
-  %
-  \commondummiesnofonts
-  %
-  % Don't no-op \tt, since it isn't a user-level command
-  % and is used in the definitions of the active chars like <, >, |, etc.
-  % Likewise with the other plain tex font commands.
-  %\let\tt=\asis
+  \indexnofontstrue
   %
   \def\ { }%
   \def\@{@}%
   \def\_{\normalunderscore}%
   \def\-{}% @- shouldn't affect sorting
   %
-  % Unfortunately, texindex is not prepared to handle braces in the
-  % content at all.  So for index sorting, we map @{ and @} to strings
-  % starting with |, since that ASCII character is between ASCII { and }.
-  \def\{{|a}%
-  \def\}{|b}%
-  %
-  % Non-English letters.
-  \def\AA{AA}%
-  \def\AE{AE}%
-  \def\DH{DZZ}%
-  \def\L{L}%
-  \def\OE{OE}%
-  \def\O{O}%
-  \def\TH{ZZZ}%
-  \def\aa{aa}%
-  \def\ae{ae}%
-  \def\dh{dzz}%
-  \def\exclamdown{!}%
-  \def\l{l}%
-  \def\oe{oe}%
-  \def\ordf{a}%
-  \def\ordm{o}%
-  \def\o{o}%
-  \def\questiondown{?}%
-  \def\ss{ss}%
-  \def\th{zzz}%
-  %
-  \def\LaTeX{LaTeX}%
-  \def\TeX{TeX}%
+  \uccode`\1=`\{ \uppercase{\def\{{1}}%
+  \uccode`\1=`\} \uppercase{\def\}{1}}%
+  \let\lbracechar\{%
+  \let\rbracechar\}%
   %
-  % Assorted special characters.
-  % (The following {} will end up in the sort string, but that's ok.)
-  \def\arrow{->}%
-  \def\bullet{bullet}%
-  \def\comma{,}%
-  \def\copyright{copyright}%
-  \def\dots{...}%
-  \def\enddots{...}%
-  \def\equiv{==}%
-  \def\error{error}%
-  \def\euro{euro}%
-  \def\expansion{==>}%
-  \def\geq{>=}%
-  \def\guillemetleft{<<}%
-  \def\guillemetright{>>}%
-  \def\guilsinglleft{<}%
-  \def\guilsinglright{>}%
-  \def\leq{<=}%
-  \def\minus{-}%
-  \def\point{.}%
-  \def\pounds{pounds}%
-  \def\print{-|}%
-  \def\quotedblbase{"}%
-  \def\quotedblleft{"}%
-  \def\quotedblright{"}%
-  \def\quoteleft{`}%
-  \def\quoteright{'}%
-  \def\quotesinglbase{,}%
-  \def\registeredsymbol{R}%
-  \def\result{=>}%
-  \def\textdegree{o}%
-  %
-  \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
-  \else \indexlquoteignore \fi
   %
   % We need to get rid of all macros, leaving only the arguments (if present).
   % Of course this is not nearly correct, but it is the best we can do for now.
-  % makeinfo does not expand macros in the argument to @deffn, which ends up
-  % writing an index entry, and texindex isn't prepared for an index sort entry
-  % that starts with \.
   %
   % Since macro invocations are followed by braces, we can just redefine them
   % to take a single TeX argument.  The case of a macro invocation that
   % goes to end-of-line is not handled.
   %
+  \def\commondummyword##1{\let##1\asis}%
   \macrolist
+  \let\value\indexnofontsvalue
 }
 
-% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
-% ignore left quotes in the sort term.
-{\catcode`\`=\active
- \gdef\indexlquoteignore{\let`=\empty}}
 
-\let\indexbackslash=0  %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
 
-% Most index entries go through here, but \dosubind is the general case.
+
 % #1 is the index name, #2 is the entry text.
-\def\doind#1#2{\dosubind{#1}{#2}{}}
+\def\doind#1#2{%
+  \iflinks
+  {%
+    %
+    \requireopenindexfile{#1}%
+    \edef\writeto{\csname#1indfile\endcsname}%
+    %
+    \def\indextext{#2}%
+    \safewhatsit\doindwrite
+  }%
+  \fi
+}
 
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% empty if called from \doind, as we usually are (the main exception
-% is with most defuns, which call us directly).
-%
-\def\dosubind#1#2#3{%
+% Same as \doind, but for code indices
+\def\docind#1#2{%
   \iflinks
   {%
-    % Store the main index entry text (including the third arg).
-    \toks0 = {#2}%
-    % If third arg is present, precede it with a space.
-    \def\thirdarg{#3}%
-    \ifx\thirdarg\empty \else
-      \toks0 = \expandafter{\the\toks0 \space #3}%
-    \fi
     %
+    \requireopenindexfile{#1}%
     \edef\writeto{\csname#1indfile\endcsname}%
     %
-    \safewhatsit\dosubindwrite
+    \def\indextext{#2}%
+    \safewhatsit\docindwrite
   }%
   \fi
 }
 
-% Write the entry in \toks0 to the index file:
+% Check if an index file has been opened, and if not, open it.
+\def\requireopenindexfile#1{%
+\ifnum\csname #1indfile\endcsname=0
+  \expandafter\newwrite \csname#1indfile\endcsname
+  \edef\suffix{#1}%
+  % A .fls suffix would conflict with the file extension for the output
+  % of -recorder, so use .f1s instead.
+  \ifx\suffix\indexisfl\def\suffix{f1}\fi
+  % Open the file
+  \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
+  % Using \immediate above here prevents an object entering into the current
+  % box, which could confound checks such as those in \safewhatsit for
+  % preceding skips.
+  \typeout{Writing index file \jobname.\suffix}%
+\fi}
+\def\indexisfl{fl}
+
+% Definition for writing index entry sort key.
+{
+\catcode`\-=13
+\gdef\indexwritesortas{%
+  \begingroup
+  \indexnonalnumreappear
+  \indexwritesortasxxx}
+\gdef\indexwritesortasxxx#1{%
+  \xdef\indexsortkey{#1}\endgroup}
+}
+
+\def\indexwriteseealso#1{
+  \gdef\pagenumbertext{\string\seealso{#1}}%
+}
+\def\indexwriteseeentry#1{
+  \gdef\pagenumbertext{\string\seeentry{#1}}%
+}
+
+% The default definitions
+\def\sortas#1{}%
+\def\seealso#1{\i{\putwordSeeAlso}\ #1}% for sorted index file only
+\def\putwordSeeAlso{See also}
+\def\seeentry#1{\i{\putwordSee}\ #1}% for sorted index file only
+
+
+% Given index entry text like "aaa @subentry bbb @sortas{ZZZ}":
+%   * Set \bracedtext to "{aaa}{bbb}"
+%   * Set \fullindexsortkey to "aaa @subentry ZZZ"
+%   * If @seealso occurs, set \pagenumbertext
 %
-\def\dosubindwrite{%
-  % Put the index entry in the margin if desired.
-  \ifx\SETmarginindex\relax\else
-    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
+\def\splitindexentry#1{%
+  \gdef\fullindexsortkey{}%
+  \xdef\bracedtext{}%
+  \def\sep{}%
+  \def\seealso##1{}%
+  \def\seeentry##1{}%
+  \expandafter\doindexsegment#1\subentry\finish\subentry
+}
+
+% append the results from the next segment
+\def\doindexsegment#1\subentry{%
+  \def\segment{#1}%
+  \ifx\segment\isfinish
+  \else
+    %
+    % Fully expand the segment, throwing away any @sortas directives, and
+    % trim spaces.
+    \edef\trimmed{\segment}%
+    \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
+    \ifincodeindex
+      \edef\trimmed{\noexpand\code{\trimmed}}%
+    \fi
+    %
+    \xdef\bracedtext{\bracedtext{\trimmed}}%
+    %
+    % Get the string to sort by.  Process the segment with all
+    % font commands turned off.
+    \bgroup
+      \let\sortas\indexwritesortas
+      \let\seealso\indexwriteseealso
+      \let\seeentry\indexwriteseeentry
+      \indexnofonts
+      % The braces around the commands are recognized by texindex.
+      \def\lbracechar{{\string\indexlbrace}}%
+      \def\rbracechar{{\string\indexrbrace}}%
+      \let\{=\lbracechar
+      \let\}=\rbracechar
+      \def\@{{\string\indexatchar}}%
+      \def\atchar##1{\@}%
+      \def\backslashchar{{\string\indexbackslash}}%
+      \uccode`\~=`\\ \uppercase{\let~\backslashchar}%
+      %
+      \let\indexsortkey\empty
+      \global\let\pagenumbertext\empty
+      % Execute the segment and throw away the typeset output.  This executes
+      % any @sortas or @seealso commands in this segment.
+      \setbox\dummybox = \hbox{\segment}%
+      \ifx\indexsortkey\empty{%
+        \indexnonalnumdisappear
+        \xdef\trimmed{\segment}%
+        \xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
+        \xdef\indexsortkey{\trimmed}%
+        \ifx\indexsortkey\empty
+          \message{Empty index sort key near line \the\inputlineno}%
+          \xdef\indexsortkey{ }%
+        \fi
+      }\fi
+      %
+      % Append to \fullindexsortkey.
+      \edef\tmp{\gdef\noexpand\fullindexsortkey{%
+                  \fullindexsortkey\sep\indexsortkey}}%
+      \tmp
+    \egroup
+    \def\sep{\subentry}%
+    %
+    \expandafter\doindexsegment
   \fi
+}
+\def\isfinish{\finish}%
+\newbox\dummybox % used above
+
+\let\subentry\relax
+
+% Use \ instead of @ in index files.  To support old texi2dvi and texindex.
+% This works without changing the escape character used in the toc or aux
+% files because the index entries are fully expanded here, and \string uses
+% the current value of \escapechar.
+\def\escapeisbackslash{\escapechar=`\\}
+
+% Use \ in index files by default.  texi2dvi didn't support @ as the escape
+% character (as it checked for "\entry" in the files, and not "@entry").  When
+% the new version of texi2dvi has had a chance to become more prevalent, then
+% the escape character can change back to @ again.  This should be an easy
+% change to make now because both @ and \ are only used as escape characters in
+% index files, never standing for themselves.
+%
+\set txiindexescapeisbackslash
+
+% Write the entry in \indextext to the index file.
+%
+
+\newif\ifincodeindex
+\def\doindwrite{\incodeindexfalse\doindwritex}
+\def\docindwrite{\incodeindextrue\doindwritex}
+
+\def\doindwritex{%
+  \maybemarginindex
   %
-  % Remember, we are within a group.
-  \indexdummies % Must do this here, since \bf, etc expand at this stage
-  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-      % so it will be output as is; and it will print as backslash.
+  \atdummies
   %
-  % Process the index entry with all font commands turned off, to
-  % get the string to sort by.
-  {\indexnofonts
-   \edef\temp{\the\toks0}% need full expansion
-   \xdef\indexsorttmp{\temp}%
-  }%
+  \ifflagclear{txiindexescapeisbackslash}{}{\escapeisbackslash}%
+  %
+  % For texindex which always views { and } as separators.
+  \def\{{\lbracechar{}}%
+  \def\}{\rbracechar{}}%
+  \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
+  %
+  % Split the entry into primary entry and any subentries, and get the index
+  % sort key.
+  \splitindexentry\indextext
   %
   % Set up the complete index entry, with both the sort key and
   % the original text, including any font commands.  We write
   % three arguments to \entry to the .?? file (four in the
   % subentry case), texindex reduces to two when writing the .??s
   % sorted result.
+  %
   \edef\temp{%
     \write\writeto{%
-      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
+      \string\entry{\fullindexsortkey}%
+        {\ifx\pagenumbertext\empty\noexpand\folio\else\pagenumbertext\fi}%
+        \bracedtext}%
   }%
   \temp
 }
 
+% Put the index entry in the margin if desired (undocumented).
+\def\maybemarginindex{%
+  \ifx\SETmarginindex\relax\else
+    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \relax\indextext}}%
+  \fi
+}
+\let\SETmarginindex=\relax
+
+
 % Take care of unwanted page breaks/skips around a whatsit:
 %
 % If a skip is the last thing on the list now, preserve it
@@ -4732,10 +5329,9 @@ end
 %
 % ..., ready, GO:
 %
-\def\safewhatsit#1{%
-\ifhmode
+\def\safewhatsit#1{\ifhmode
   #1%
-\else
+ \else
   % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
   \whatsitskip = \lastskip
   \edef\lastskipmacro{\the\lastskip}%
@@ -4759,7 +5355,6 @@ end
     % to re-insert the same penalty (values >10000 are used for various
     % signals); since we just inserted a non-discardable item, any
     % following glue (such as a \parskip) would be a breakpoint.  For example:
-    %
     %   @deffn deffn-whatever
     %   @vindex index-whatever
     %   Description.
@@ -4772,8 +5367,7 @@ end
     % (the whatsit from the \write), so we must insert a \nobreak.
     \nobreak\vskip\whatsitskip
   \fi
-\fi
-}
+\fi}
 
 % The index entry written in the file actually looks like
 %  \entry {sortstring}{page}{topic}
@@ -4786,9 +5380,14 @@ end
 %  \entry {topic}{pagelist}
 %     for a topic that is used without subtopics
 %  \primary {topic}
+%  \entry {topic}{}
 %     for the beginning of a topic that is used with subtopics
 %  \secondary {subtopic}{pagelist}
 %     for each subtopic.
+%  \secondary {subtopic}{}
+%     for a subtopic with sub-subtopics
+%  \tertiary {subtopic}{subsubtopic}{pagelist}
+%     for each sub-subtopic.
 
 % Define the user-accessible indexing commands
 % @findex, @vindex, @kindex, @cindex.
@@ -4800,11 +5399,6 @@ end
 \def\tindex {\tpindex}
 \def\pindex {\pgindex}
 
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
 % Define the macros used in formatting output of the sorted index material.
 
 % @printindex causes a particular index (the ??s file) to get printed.
@@ -4818,57 +5412,127 @@ end
   \plainfrenchspacing
   \everypar = {}% don't want the \kern\-parindent from indentation suppression.
   %
+  % See comment in \requireopenindexfile.
+  \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
+  %
   % See if the index file exists and is nonempty.
-  % Change catcode of @ here so that if the index file contains
-  % \initial {@}
-  % as its first line, TeX doesn't complain about mismatched braces
-  % (because it thinks @} is a control sequence).
-  \catcode`\@ = 11
-  \openin 1 \jobname.#1s
+  \openin 1 \jobname.\indexname s
   \ifeof 1
     % \enddoublecolumns gets confused if there is no text in the index,
     % and it loses the chapter title and the aux file entries for the
     % index.  The easiest way to prevent this problem is to make sure
     % there is some text.
     \putwordIndexNonexistent
+    \typeout{No file \jobname.\indexname s.}%
   \else
-    %
     % If the index file exists but is empty, then \openin leaves \ifeof
     % false.  We have to make TeX try to read something from the file, so
     % it can discover if there is anything in it.
-    \read 1 to \temp
+    \read 1 to \thisline
     \ifeof 1
       \putwordIndexIsEmpty
     \else
-      % Index files are almost Texinfo source, but we use \ as the escape
-      % character.  It would be better to use @, but that's too big a change
-      % to make right now.
-      \def\indexbackslash{\backslashcurfont}%
-      \catcode`\\ = 0
-      \escapechar = `\\
-      \begindoublecolumns
-      \input \jobname.#1s
-      \enddoublecolumns
+      \expandafter\printindexzz\thisline\relax\relax\finish%
     \fi
   \fi
   \closein 1
 \endgroup}
 
+% If the index file starts with a backslash, forgo reading the index
+% file altogether.  If somebody upgrades texinfo.tex they may still have
+% old index files using \ as the escape character.  Reading this would
+% at best lead to typesetting garbage, at worst a TeX syntax error.
+\def\printindexzz#1#2\finish{%
+  \ifflagclear{txiindexescapeisbackslash}{%
+    \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
+      \ifflagclear{txiskipindexfileswithbackslash}{%
+\errmessage{%
+ERROR: A sorted index file in an obsolete format was skipped.
+To fix this problem, please upgrade your version of 'texi2dvi'
+or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
+If you are using an old version of 'texindex' (part of the Texinfo
+distribution), you may also need to upgrade to a newer version (at least 6.0).
+You may be able to typeset the index if you run
+'texindex \jobname.\indexname' yourself.
+You could also try setting the 'txiindexescapeisbackslash' flag by
+running a command like
+'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do
+this, Texinfo will try to use index files in the old format.
+If you continue to have problems, deleting the index files and starting again
+might help (with 'rm \jobname.?? \jobname.??s')%
+}%
+      }{%
+        (Skipped sorted index file in obsolete format)
+      }%
+    \else
+      \begindoublecolumns
+      \input \jobname.\indexname s
+      \enddoublecolumns
+    \fi
+  }{%
+    \begindoublecolumns
+    \catcode`\\=0\relax
+    %
+    % Make @ an escape character to give macros a chance to work.  This
+    % should work because we (hopefully) don't otherwise use @ in index files.
+    %\catcode`\@=12\relax
+    \catcode`\@=0\relax
+    \input \jobname.\indexname s
+    \enddoublecolumns
+  }%
+}
+
 % These macros are used by the sorted index file itself.
 % Change them to control the appearance of the index.
 
-\def\initial#1{{%
-  % Some minor font changes for the special characters.
-  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-  %
+{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
+\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13
+\catcode`\$=3
+\gdef\initialglyphs{%
+  % special control sequences used in the index sort key
+  \let\indexlbrace\{%
+  \let\indexrbrace\}%
+  \let\indexatchar\@%
+  \def\indexbackslash{\math{\backslash}}%
+  %
+  % Some changes for non-alphabetic characters.  Using the glyphs from the
+  % math fonts looks more consistent than the typewriter font used elsewhere
+  % for these characters.
+  \uccode`\~=`\\ \uppercase{\def~{\math{\backslash}}}
+  %
+  % In case @\ is used for backslash
+  \uppercase{\let\\=~}
+  % Can't get bold backslash so don't use bold forward slash
+  \catcode`\/=13
+  \def/{{\secrmnotbold \normalslash}}%
+  \def-{{\normaldash\normaldash}}% en dash `--'
+  \def^{{\chapbf \normalcaret}}%
+  \def~{{\chapbf \normaltilde}}%
+  \def\_{%
+     \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }%
+  \def|{$\vert$}%
+  \def<{$\less$}%
+  \def>{$\gtr$}%
+  \def+{$\normalplus$}%
+}}
+
+\def\initial{%
+  \bgroup
+  \initialglyphs
+  \initialx
+}
+
+\def\initialx#1{%
   % Remove any glue we may have, we'll be inserting our own.
   \removelastskip
   %
   % We like breaks before the index initials, so insert a bonus.
+  % The glue before the bonus allows a little bit of space at the
+  % bottom of a column to reduce an increase in inter-line spacing.
   \nobreak
-  \vskip 0pt plus 3\baselineskip
-  \penalty 0
-  \vskip 0pt plus -3\baselineskip
+  \vskip 0pt plus 5\baselineskip
+  \penalty -300
+  \vskip 0pt plus -5\baselineskip
   %
   % Typeset the initial.  Making this add up to a whole number of
   % baselineskips increases the chance of the dots lining up from column
@@ -4876,24 +5540,34 @@ end
   % we need before each entry, but it's better.
   %
   % No shrink because it confuses \balancecolumns.
-  \vskip 1.67\baselineskip plus .5\baselineskip
-  \leftline{\secbf #1}%
+  \vskip 1.67\baselineskip plus 1\baselineskip
+  \leftline{\secfonts \kern-0.05em \secbf #1}%
+  % \secfonts is inside the argument of \leftline so that the change of
+  % \baselineskip will not affect any glue inserted before the vbox that
+  % \leftline creates.
   % Do our best not to break after the initial.
   \nobreak
   \vskip .33\baselineskip plus .1\baselineskip
-}}
+  \egroup % \initialglyphs
+}
+
+\newdimen\entryrightmargin
+\entryrightmargin=0pt
+
+% amount to indent subsequent lines in an entry when it spans more than
+% one line.
+\newdimen\entrycontskip
+\entrycontskip=1em
+
+% for PDF output, whether to make the text of the entry a link to the page
+% number.  set for @contents and @shortcontents where there is only one
+% page number.
+\newif\iflinkentrytext
 
 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
 % then page number (#2) flushed to the right margin.  It is used for index
 % and table of contents entries.  The paragraph is indented by \leftskip.
 %
-% A straightforward implementation would start like this:
-%      \def\entry#1#2{...
-% But this freezes the catcodes in the argument, and can cause problems to
-% @code, which sets - active.  This problem was fixed by a kludge---
-% ``-'' was active throughout whole index, but this isn't really right.
-% The right solution is to prevent \entry from swallowing the whole text.
-%                                 --kasal, 21nov03
 \def\entry{%
   \begingroup
     %
@@ -4901,38 +5575,14 @@ end
     % affect previous text.
     \par
     %
-    % Do not fill out the last line with white space.
-    \parfillskip = 0in
-    %
     % No extra space above this paragraph.
     \parskip = 0in
     %
-    % Do not prefer a separate line ending with a hyphen to fewer lines.
-    \finalhyphendemerits = 0
-    %
-    % \hangindent is only relevant when the entry text and page number
-    % don't both fit on one line.  In that case, bob suggests starting the
-    % dots pretty far over on the line.  Unfortunately, a large
-    % indentation looks wrong when the entry text itself is broken across
-    % lines.  So we use a small indentation and put up with long leaders.
-    %
-    % \hangafter is reset to 1 (which is the value we want) at the start
-    % of each paragraph, so we need not do anything with that.
-    \hangindent = 2em
-    %
-    % When the entry text needs to be broken, just fill out the first line
-    % with blank space.
-    \rightskip = 0pt plus1fil
-    %
-    % A bit of stretch before each entry for the benefit of balancing
-    % columns.
-    \vskip 0pt plus1pt
-    %
     % When reading the text of entry, convert explicit line breaks
     % from @* into spaces.  The user might give these in long section
     % titles, for instance.
     \def\*{\unskip\space\ignorespaces}%
-    \def\entrybreak{\hfil\break}%
+    \def\entrybreak{\hfil\break}% An undocumented command
     %
     % Swallow the left brace of the text (first parameter):
     \afterassignment\doentry
@@ -4940,85 +5590,134 @@ end
 }
 \def\entrybreak{\unskip\space\ignorespaces}%
 \def\doentry{%
+    % Save the text of the entry in \boxA
+    \global\setbox\boxA=\hbox\bgroup
     \bgroup % Instead of the swallowed brace.
       \noindent
       \aftergroup\finishentry
       % And now comes the text of the entry.
+      % Not absorbing as a macro argument reduces the chance of problems
+      % with catcodes occurring.
 }
-\def\finishentry#1{%
-    % #1 is the page number.
-    %
-    % The following is kludged to not output a line of dots in the index if
-    % there are no page numbers.  The next person who breaks this will be
-    % cursed by a Unix daemon.
-    \setbox\boxA = \hbox{#1}%
-    \ifdim\wd\boxA = 0pt
-      \ %
-    \else
-      %
-      % If we must, put the page number on a line of its own, and fill out
-      % this line with blank space.  (The \hfil is overwhelmed with the
-      % fill leaders glue in \indexdotfill if the page number does fit.)
-      \hfil\penalty50
-      \null\nobreak\indexdotfill % Have leaders before the page number.
+{\catcode`\@=11
+% #1 is the page number
+\gdef\finishentry#1{%
+    \egroup % end \boxA
+    \dimen@ = \wd\boxA % Length of text of entry
+    % add any leaders and page number to \boxA.
+    \global\setbox\boxA=\hbox\bgroup
+      \ifpdforxetex
+        \iflinkentrytext
+          \pdflinkpage{#1}{\unhbox\boxA}%
+        \else
+          \unhbox\boxA
+        \fi
+      \else
+        \unhbox\boxA
+      \fi
       %
-      % The `\ ' here is removed by the implicit \unskip that TeX does as
-      % part of (the primitive) \par.  Without it, a spurious underfull
-      % \hbox ensues.
-      \ifpdf
-       \pdfgettoks#1.%
-       \ \the\toksA
+      % Get the width of the page numbers, and only use
+      % leaders if they are present.
+      \global\setbox\boxB = \hbox{#1}%
+      \ifdim\wd\boxB = 0pt
+        \null\nobreak\hfill\ %
       \else
-       \ #1%
+        %
+        \null\nobreak\indexdotfill % Have leaders before the page number.
+        %
+        \ifpdforxetex
+          \pdfgettoks#1.%
+          \hskip\skip\thinshrinkable\the\toksA
+        \else
+          \hskip\skip\thinshrinkable #1%
+        \fi
       \fi
+    \egroup % end \boxA
+    %
+    % now output
+    \ifdim\wd\boxB = 0pt
+      \noindent\unhbox\boxA\par
+      \nobreak
+    \else\bgroup
+      % We want the text of the entries to be aligned to the left, and the
+      % page numbers to be aligned to the right.
+      %
+      \parindent = 0pt
+      \advance\leftskip by 0pt plus 1fil
+      \advance\leftskip by 0pt plus -1fill
+      \rightskip = 0pt plus -1fil
+      \advance\rightskip by 0pt plus 1fill
+      % Cause last line, which could consist of page numbers on their own
+      % if the list of page numbers is long, to be aligned to the right.
+      \parfillskip=0pt plus -1fill
+      %
+      \advance\rightskip by \entryrightmargin
+      %
+      \dimen@ii = \hsize
+      \advance\dimen@ii by -1\leftskip
+      \advance\dimen@ii by -1\entryrightmargin
+      \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line
+      \ifdim\dimen@ > 0.8\dimen@ii   % due to long index text
+        \advance\leftskip by 0pt plus 1fill % ragged right
+        %
+        % Indent all lines but the first one.
+        \advance\leftskip by \entrycontskip
+        \advance\parindent by -\entrycontskip
+      \fi\fi
+      \indent % start paragraph
+      \unhbox\boxA
+      %
+      % Do not prefer a separate line ending with a hyphen to fewer lines.
+      \finalhyphendemerits = 0
+      %
+      % Word spacing - no stretch
+      \spaceskip=\fontdimen2\font minus \fontdimen4\font
+      %
+      \linepenalty=1000  % Discourage line breaks.
+      \hyphenpenalty=5000  % Discourage hyphenation.
+      %
+      \par % format the paragraph
+    \egroup % The \vbox
     \fi
-    \par
   \endgroup
-}
+}}
+
+\newskip\thinshrinkable
+\skip\thinshrinkable=.15em minus .15em
 
-% Like plain.tex's \dotfill, except uses up at least 1 em.
+% Like plain.tex's \dotfill, except uses up at least 0.5 em.
+% The filll stretch here overpowers both the fil and fill stretch to push
+% the page number to the right.
 \def\indexdotfill{\cleaders
-  \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
+  \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 0.5em plus 1filll}
 
 \def\primary #1{\line{#1\hfil}}
 
-\newskip\secondaryindent \secondaryindent=0.5cm
-\def\secondary#1#2{{%
-  \parfillskip=0in
-  \parskip=0in
-  \hangindent=1in
-  \hangafter=1
-  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
-  \ifpdf
-    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
-  \else
-    #2
-  \fi
-  \par
-}}
+\def\secondary{\indententry{0.5cm}}
+\def\tertiary{\indententry{1cm}}
+
+\def\indententry#1#2#3{%
+  \bgroup
+  \leftskip=#1
+  \entry{#2}{#3}%
+  \egroup
+}
 
 % Define two-column mode, which we use to typeset indexes.
 % Adapted from the TeXbook, page 416, which is to say,
 % the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
+\catcode`\@=11  % private names
 
 \newbox\partialpage
 \newdimen\doublecolumnhsize
 
 \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
+  % If not much space left on page, start a new page.
+  \ifdim\pagetotal>0.8\vsize\vfill\eject\fi
+  %
   % Grab any single-column material above us.
   \output = {%
-    %
-    % Here is a possibility not foreseen in manmac: if we accumulate a
-    % whole lot of material, we might end up calling this \output
-    % routine twice in a row (see the doublecol-lose test, which is
-    % essentially a couple of indexes with @setchapternewpage off).  In
-    % that case we just ship out what is in \partialpage with the normal
-    % output routine.  Generally, \partialpage will be empty when this
-    % runs and this will be a no-op.  See the indexspread.tex test case.
-    \ifvoid\partialpage \else
-      \onepageout{\pagecontents\partialpage}%
-    \fi
+    \savetopmark
     %
     \global\setbox\partialpage = \vbox{%
       % Unvbox the main output page.
@@ -5043,7 +5742,7 @@ end
   % below is chosen so that the gutter has the same value (well, +-<1pt)
   % as it did when we hard-coded it.
   %
-  % We put the result in a separate register, \doublecolumhsize, so we
+  % We put the result in a separate register, \doublecolumnhsize, so we
   % can restore it in \pagesofar, after \hsize itself has (potentially)
   % been clobbered.
   %
@@ -5052,27 +5751,31 @@ end
     \divide\doublecolumnhsize by 2
   \hsize = \doublecolumnhsize
   %
-  % Double the \vsize as well.  (We don't need a separate register here,
-  % since nobody clobbers \vsize.)
+  % Get the available space for the double columns -- the normal
+  % (undoubled) page height minus any material left over from the
+  % previous page.
+  \advance\vsize by -\ht\partialpage
   \vsize = 2\vsize
+  %
+  % For the benefit of balancing columns
+  \advance\baselineskip by 0pt plus 0.5pt
 }
 
 % The double-column output routine for all double-column pages except
-% the last.
+% the last, which is done by \balancecolumns.
 %
 \def\doublecolumnout{%
+  %
+  \savetopmark
   \splittopskip=\topskip \splitmaxdepth=\maxdepth
-  % Get the available space for the double columns -- the normal
-  % (undoubled) page height minus any material left over from the
-  % previous page.
   \dimen@ = \vsize
   \divide\dimen@ by 2
-  \advance\dimen@ by -\ht\partialpage
   %
   % box0 will be the left-hand column, box2 the right.
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-  \onepageout\pagesofar
-  \unvbox255
+  \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@
+  \global\advance\vsize by 2\ht\partialpage
+  \onepageout\pagesofar % empty except for the first time we are called
+  \unvbox\PAGE
   \penalty\outputpenalty
 }
 %
@@ -5083,10 +5786,11 @@ end
   %
   \hsize = \doublecolumnhsize
   \wd0=\hsize \wd2=\hsize
-  \hbox to\pagewidth{\box0\hfil\box2}%
+  \hbox to\txipagewidth{\box0\hfil\box2}%
 }
-%
-% All done with double columns.
+
+
+% Finished with double columns.
 \def\enddoublecolumns{%
   % The following penalty ensures that the page builder is exercised
   % _before_ we change the output routine.  This is necessary in the
@@ -5109,7 +5813,7 @@ end
   % goal.  When TeX sees \eject from below which follows the final
   % section, it invokes the new output routine that we've set after
   % \balancecolumns below; \onepageout will try to fit the two columns
-  % and the final section into the vbox of \pageheight (see
+  % and the final section into the vbox of \txipageheight (see
   % \pagebody), causing an overfull box.
   %
   % Note that glue won't work here, because glue does not exercise the
@@ -5117,53 +5821,88 @@ end
   \penalty0
   %
   \output = {%
-    % Split the last of the double-column material.  Leave it on the
-    % current page, no automatic page break.
+    % Split the last of the double-column material.
+    \savetopmark
     \balancecolumns
-    %
-    % If we end up splitting too much material for the current page,
-    % though, there will be another page break right after this \output
-    % invocation ends.  Having called \balancecolumns once, we do not
-    % want to call it again.  Therefore, reset \output to its normal
-    % definition right away.  (We hope \balancecolumns will never be
-    % called on to balance too much material, but if it is, this makes
-    % the output somewhat more palatable.)
-    \global\output = {\onepageout{\pagecontents\PAGE}}%
   }%
-  \eject
-  \endgroup % started in \begindoublecolumns
-  %
-  % \pagegoal was set to the doubled \vsize above, since we restarted
-  % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize (after the
-  % \endgroup where \vsize got restored).
-  \pagegoal = \vsize
+  \eject % call the \output just set
+  \ifdim\pagetotal=0pt
+    % Having called \balancecolumns once, we do not
+    % want to call it again.  Therefore, reset \output to its normal
+    % definition right away.
+    \global\output=\expandafter{\the\defaultoutput}
+    %
+    \endgroup % started in \begindoublecolumns
+    % Leave the double-column material on the current page, no automatic
+    % page break.
+    \box\balancedcolumns
+    %
+    % \pagegoal was set to the doubled \vsize above, since we restarted
+    % the current page.  We're now back to normal single-column
+    % typesetting, so reset \pagegoal to the normal \vsize.
+    \global\vsize = \txipageheight %
+    \pagegoal = \txipageheight %
+  \else
+    % We had some left-over material.  This might happen when \doublecolumnout
+    % is called in \balancecolumns.  Try again.
+    \expandafter\enddoublecolumns
+  \fi
 }
+\newbox\balancedcolumns
+\setbox\balancedcolumns=\vbox{shouldnt see this}%
 %
-% Called at the end of the double column material.
+% Only called for the last of the double column material.  \doublecolumnout
+% does the others.
 \def\balancecolumns{%
-  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
   \dimen@ = \ht0
-  \advance\dimen@ by \topskip
-  \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by 2 % target to split to
-  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-  \splittopskip = \topskip
-  % Loop until we get a decent breakpoint.
-  {%
-    \vbadness = 10000
-    \loop
-      \global\setbox3 = \copy0
-      \global\setbox1 = \vsplit3 to \dimen@
-    \ifdim\ht3>\dimen@
-      \global\advance\dimen@ by 1pt
-    \repeat
-  }%
-  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-  \setbox0=\vbox to\dimen@{\unvbox1}%
-  \setbox2=\vbox to\dimen@{\unvbox3}%
+  \ifdim\dimen@<7\baselineskip
+    % Don't split a short final column in two.
+    \setbox2=\vbox{}%
+    \global\setbox\balancedcolumns=\vbox{\pagesofar}%
+  \else
+    % double the leading vertical space
+    \advance\dimen@ by \topskip
+    \advance\dimen@ by-\baselineskip
+    \divide\dimen@ by 2 % target to split to
+    \dimen@ii = \dimen@
+    \splittopskip = \topskip
+    % Loop until left column is at least as high as the right column.
+    {%
+      \vbadness = 10000
+      \loop
+        \global\setbox3 = \copy0
+        \global\setbox1 = \vsplit3 to \dimen@
+      \ifdim\ht1<\ht3
+        \global\advance\dimen@ by 1pt
+      \repeat
+    }%
+    % Now the left column is in box 1, and the right column in box 3.
+    %
+    % Check whether the left column has come out higher than the page itself.
+    % (Note that we have doubled \vsize for the double columns, so
+    % the actual height of the page is 0.5\vsize).
+    \ifdim2\ht1>\vsize
+      % It appears that we have been called upon to balance too much material.
+      % Output some of it with \doublecolumnout, leaving the rest on the page.
+      \setbox\PAGE=\box0
+      \doublecolumnout
+    \else
+      % Compare the heights of the two columns.
+      \ifdim4\ht1>5\ht3
+        % Column heights are too different, so don't make their bottoms
+        % flush with each other.
+        \setbox2=\vbox to \ht1 {\unvbox3\vfill}%
+        \setbox0=\vbox to \ht1 {\unvbox1\vfill}%
+      \else
+        % Make column bottoms flush with each other.
+        \setbox2=\vbox to\ht1{\unvbox3\unskip}%
+        \setbox0=\vbox to\ht1{\unvbox1\unskip}%
+      \fi
+      \global\setbox\balancedcolumns=\vbox{\pagesofar}%
+    \fi
+  \fi
   %
-  \pagesofar
 }
 \catcode`\@ = \other
 
@@ -5172,16 +5911,20 @@ end
 % Chapters, sections, etc.
 
 % Let's start with @part.
-\outer\parseargdef\part{\partzzz{#1}}
+\parseargdef\part{\partzzz{#1}}
 \def\partzzz#1{%
   \chapoddpage
   \null
   \vskip.3\vsize  % move it down on the page a bit
   \begingroup
-    \noindent \titlefonts\rmisbold #1\par % the text
+    \noindent \titlefonts\rm #1\par % the text
     \let\lastnode=\empty      % no node to associate with
     \writetocentry{part}{#1}{}% but put it in the toc
     \headingsoff              % no headline or footline on the part page
+    % This outputs a mark at the end of the page that clears \thischapter
+    % and \thissection, as is done in \startcontents.
+    \let\pchapsepmacro\relax
+    \chapmacro{}{Yomitfromtoc}{}%
     \chapoddpage
   \endgroup
 }
@@ -5255,11 +5998,9 @@ end
 
 % @raisesections: treat @section as chapter, @subsection as section, etc.
 \def\raisesections{\global\advance\secbase by -1}
-\let\up=\raisesections % original BFox name
 
 % @lowersections: treat @chapter as section, @section as subsection, etc.
 \def\lowersections{\global\advance\secbase by 1}
-\let\down=\lowersections % original BFox name
 
 % we only have subsub.
 \chardef\maxseclevel = 3
@@ -5426,9 +6167,6 @@ end
 
 % @centerchap is like @unnumbered, but the heading is centered.
 \outer\parseargdef\centerchap{%
-  % Well, we could do the following in a group, but that would break
-  % an assumption that \chapmacro is called at the outermost level.
-  % Thus we are safer this way:                --kasal, 24feb04
   \let\centerparametersmaybe = \centerparameters
   \unnmhead0{#1}%
   \let\centerparametersmaybe = \relax
@@ -5438,7 +6176,7 @@ end
 \let\top\unnumbered
 
 % Sections.
-% 
+%
 \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
 \def\seczzz#1{%
   \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
@@ -5461,7 +6199,7 @@ end
 }
 
 % Subsections.
-% 
+%
 % normally calls numberedsubseczzz:
 \outer\parseargdef\numberedsubsec{\numhead2{#1}}
 \def\numberedsubseczzz#1{%
@@ -5486,7 +6224,7 @@ end
 }
 
 % Subsubsections.
-% 
+%
 % normally numberedsubsubseczzz:
 \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
 \def\numberedsubsubseczzz#1{%
@@ -5520,14 +6258,6 @@ end
 
 % Define @majorheading, @heading and @subheading
 
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-%       1) We use \vbox rather than the earlier \line to permit
-%          overlong headings to fold.
-%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-%          heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5535,10 +6265,8 @@ end
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\ptexraggedright
-                    \rmisbold #1\hfill}}%
-  \bigskip \par\penalty 200\relax
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip \nobreak
   \suppressfirstparagraphindent
 }
 
@@ -5562,7 +6290,11 @@ end
 
 % Define plain chapter starts, and page on/off switching for it.
 \def\chapbreak{\dobreak \chapheadingskip {-4000}}
+
+% Start a new page
 \def\chappager{\par\vfill\supereject}
+
+% \chapoddpage - start on an odd page for a new chapter
 % Because \domark is called before \chapoddpage, the filler page will
 % get the headings for the next chapter, which is wrong.  But we don't
 % care -- we just disable all headings on the filler page.
@@ -5577,72 +6309,76 @@ end
   \fi
 }
 
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname\HEADINGSon}
 
 \def\CHAPPAGoff{%
 \global\let\contentsalignmacro = \chappager
 \global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
+\global\def\HEADINGSon{\HEADINGSsinglechapoff}}
 
 \def\CHAPPAGon{%
 \global\let\contentsalignmacro = \chappager
 \global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
 \global\def\HEADINGSon{\HEADINGSsingle}}
 
 \def\CHAPPAGodd{%
 \global\let\contentsalignmacro = \chapoddpage
 \global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
 \global\def\HEADINGSon{\HEADINGSdouble}}
 
-\CHAPPAGon
+\setchapternewpage on
 
-% Chapter opening.
+% \chapmacro - Chapter opening.
 %
 % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
 % Yappendix, Yomitfromtoc), #3 the chapter number.
+% Not used for @heading series.
 %
 % To test against our argument.
 \def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
 \def\Yappendixkeyword{Yappendix}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+%
+%
+% Definitions for @thischapter. These can be overridden in translation
+% files.
+\def\thischapterAppendix{%
+  \putwordAppendix{} \thischapternum: \thischaptername}
+
+\def\thischapterChapter{%
+  \putwordChapter{} \thischapternum: \thischaptername}
+%
 %
 \def\chapmacro#1#2#3{%
+  \expandafter\ifx\thisenv\titlepage\else
+    \checkenv{}% chapters, etc., should not start inside an environment.
+  \fi
   % Insert the first mark before the heading break (see notes for \domark).
-  \let\prevchapterdefs=\lastchapterdefs
-  \let\prevsectiondefs=\lastsectiondefs
-  \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
+  \let\prevchapterdefs=\currentchapterdefs
+  \let\prevsectiondefs=\currentsectiondefs
+  \gdef\currentsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
                         \gdef\thissection{}}%
   %
   \def\temptype{#2}%
   \ifx\temptype\Ynothingkeyword
-    \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
+    \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
                           \gdef\thischapter{\thischaptername}}%
   \else\ifx\temptype\Yomitfromtockeyword
-    \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
+    \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
                           \gdef\thischapter{}}%
   \else\ifx\temptype\Yappendixkeyword
     \toks0={#1}%
-    \xdef\lastchapterdefs{%
+    \xdef\currentchapterdefs{%
       \gdef\noexpand\thischaptername{\the\toks0}%
       \gdef\noexpand\thischapternum{\appendixletter}%
-      % \noexpand\putwordAppendix avoids expanding indigestible
-      % commands in some of the translations.
-      \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
-                                 \noexpand\thischapternum:
-                                 \noexpand\thischaptername}%
+      \let\noexpand\thischapter\noexpand\thischapterAppendix
     }%
   \else
     \toks0={#1}%
-    \xdef\lastchapterdefs{%
+    \xdef\currentchapterdefs{%
       \gdef\noexpand\thischaptername{\the\toks0}%
       \gdef\noexpand\thischapternum{\the\chapno}%
-      % \noexpand\putwordChapter avoids expanding indigestible
-      % commands in some of the translations.
-      \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
-                                 \noexpand\thischapternum:
-                                 \noexpand\thischaptername}%
+      \let\noexpand\thischapter\noexpand\thischapterChapter
     }%
   \fi\fi\fi
   %
@@ -5655,17 +6391,18 @@ end
   %
   % Now the second mark, after the heading break.  No break points
   % between here and the heading.
-  \let\prevchapterdefs=\lastchapterdefs
-  \let\prevsectiondefs=\lastsectiondefs
+  \let\prevchapterdefs=\currentchapterdefs
+  \let\prevsectiondefs=\currentsectiondefs
   \domark
   %
   {%
-    \chapfonts \rmisbold
+    \chapfonts \rm
+    \let\footnote=\errfootnoteheading % give better error message
     %
-    % Have to define \lastsection before calling \donoderef, because the
+    % Have to define \currentsection before calling \donoderef, because the
     % xref code eventually uses it.  On the other hand, it has to be called
     % after \pchapsepmacro, or the headline will change too soon.
-    \gdef\lastsection{#1}%
+    \gdef\currentsection{#1}%
     %
     % Only insert the separating space if we have a chapter/appendix
     % number, and don't print the unnumbered ``number''.
@@ -5697,8 +6434,7 @@ end
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
-          \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5714,30 +6450,6 @@ end
 }
 
 
-% I don't think this chapter style is supported any more, so I'm not
-% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
-%
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-%
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\ptexraggedright
-                       \rmisbold #1\hfill}}\bigskip \par\nobreak
-}
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt
-                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
-}
-\def\CHAPFopen{%
-  \global\let\chapmacro=\chfopen
-  \global\let\centerchapmacro=\centerchfopen}
-
-
 % Section titles.  These macros combine the section number parts and
 % call the generic \sectionheading to do the printing.
 %
@@ -5752,30 +6464,43 @@ end
 \def\subsubsecheadingskip{\subsecheadingskip}
 \def\subsubsecheadingbreak{\subsecheadingbreak}
 
+% Definition for @thissection. This can be overridden in translation
+% files.
+\def\thissectionDef{%
+  \putwordSection{} \thissectionnum: \thissectionname}
+%
+
 
 % Print any size, any type, section title.
 %
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
+% #1 is the text of the title,
+% #2 is the section level (sec/subsec/subsubsec),
+% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc),
+% #4 is the section number.
 %
 \def\seckeyword{sec}
 %
 \def\sectionheading#1#2#3#4{%
   {%
-    \checkenv{}% should not be in an environment.
-    %
-    % Switch to the right set of fonts.
-    \csname #2fonts\endcsname \rmisbold
-    %
     \def\sectionlevel{#2}%
     \def\temptype{#3}%
     %
+    % It is ok for the @heading series commands to appear inside an
+    % environment (it's been historically allowed, though the logic is
+    % dubious), but not the others.
+    \ifx\temptype\Yomitfromtockeyword\else
+      \checkenv{}% non-@*heading should not be in an environment.
+    \fi
+    \let\footnote=\errfootnoteheading
+    %
+    % Switch to the right set of fonts.
+    \csname #2fonts\endcsname \rm
+    %
     % Insert first mark before the heading break (see notes for \domark).
-    \let\prevsectiondefs=\lastsectiondefs
+    \let\prevsectiondefs=\currentsectiondefs
     \ifx\temptype\Ynothingkeyword
       \ifx\sectionlevel\seckeyword
-        \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
+        \gdef\currentsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
                               \gdef\thissection{\thissectionname}}%
       \fi
     \else\ifx\temptype\Yomitfromtockeyword
@@ -5783,27 +6508,19 @@ end
     \else\ifx\temptype\Yappendixkeyword
       \ifx\sectionlevel\seckeyword
         \toks0={#1}%
-        \xdef\lastsectiondefs{%
+        \xdef\currentsectiondefs{%
           \gdef\noexpand\thissectionname{\the\toks0}%
           \gdef\noexpand\thissectionnum{#4}%
-          % \noexpand\putwordSection avoids expanding indigestible
-          % commands in some of the translations.
-          \gdef\noexpand\thissection{\noexpand\putwordSection{}
-                                     \noexpand\thissectionnum:
-                                     \noexpand\thissectionname}%
+          \let\noexpand\thissection\noexpand\thissectionDef
         }%
       \fi
     \else
       \ifx\sectionlevel\seckeyword
         \toks0={#1}%
-        \xdef\lastsectiondefs{%
+        \xdef\currentsectiondefs{%
           \gdef\noexpand\thissectionname{\the\toks0}%
           \gdef\noexpand\thissectionnum{#4}%
-          % \noexpand\putwordSection avoids expanding indigestible
-          % commands in some of the translations.
-          \gdef\noexpand\thissection{\noexpand\putwordSection{}
-                                     \noexpand\thissectionnum:
-                                     \noexpand\thissectionname}%
+          \let\noexpand\thissection\noexpand\thissectionDef
         }%
       \fi
     \fi\fi\fi
@@ -5822,28 +6539,28 @@ end
     %
     % Now the second mark, after the heading break.  No break points
     % between here and the heading.
-    \let\prevsectiondefs=\lastsectiondefs
+    \global\let\prevsectiondefs=\currentsectiondefs
     \domark
     %
     % Only insert the space after the number if we have a section number.
     \ifx\temptype\Ynothingkeyword
       \setbox0 = \hbox{}%
       \def\toctype{unn}%
-      \gdef\lastsection{#1}%
+      \gdef\currentsection{#1}%
     \else\ifx\temptype\Yomitfromtockeyword
       % for @headings -- no section number, don't include in toc,
-      % and don't redefine \lastsection.
+      % and don't redefine \currentsection.
       \setbox0 = \hbox{}%
       \def\toctype{omit}%
       \let\sectionlevel=\empty
     \else\ifx\temptype\Yappendixkeyword
       \setbox0 = \hbox{#4\enspace}%
       \def\toctype{app}%
-      \gdef\lastsection{#1}%
+      \gdef\currentsection{#1}%
     \else
       \setbox0 = \hbox{#4\enspace}%
       \def\toctype{num}%
-      \gdef\lastsection{#1}%
+      \gdef\currentsection{#1}%
     \fi\fi\fi
     %
     % Write the toc entry (before \donoderef).  See comments in \chapmacro.
@@ -5876,14 +6593,15 @@ end
   %
   % We'll almost certainly start a paragraph next, so don't let that
   % glue accumulate.  (Not a breakpoint because it's preceded by a
-  % discardable item.)
+  % discardable item.)  However, when a paragraph is not started next
+  % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
+  % or the negative glue will cause weirdly wrong output, typically
+  % obscuring the section heading with something else.
   \vskip-\parskip
   %
-  % This is purely so the last item on the list is a known \penalty >
-  % 10000.  This is so \startdefun can avoid allowing breakpoints after
-  % section headings.  Otherwise, it would insert a valid breakpoint between:
-  %   @section sec-whatever
-  %   @deffn def-whatever
+  % This is so the last item on the main vertical list is a known
+  % \penalty > 10000, so \startdefun, etc., can recognize the situation
+  % and do the needful.
   \penalty 10001
 }
 
@@ -5932,7 +6650,9 @@ end
   % 1 and 2 (the page numbers aren't printed), and so are the first
   % two pages of the document.  Thus, we'd have two destinations named
   % `1', and two named `2'.
-  \ifpdf \global\pdfmakepagedesttrue \fi
+  \ifpdforxetex
+    \global\pdfmakepagedesttrue
+  \fi
 }
 
 
@@ -5960,6 +6680,82 @@ end
   \input \tocreadfilename
 }
 
+% process toc file to find the maximum width of the section numbers for
+% each chapter
+\def\findsecnowidths{%
+  \begingroup
+  \setupdatafile
+  \activecatcodes
+  \secentryfonts
+  % Redefinitions
+  \def\numchapentry##1##2##3##4{%
+    \def\curchapname{secnowidth-##2}%
+    \curchapmax=0pt
+  }%
+  \let\appentry\numchapentry
+  %
+  \def\numsecentry##1##2##3##4{%
+    \def\cursecname{secnowidth-##2}%
+    \cursecmax=0pt
+    %
+    \setbox0=\hbox{##2}%
+    \ifdim\wd0>\curchapmax
+      \curchapmax=\wd0
+      \expandafter\xdef\csname\curchapname\endcsname{\the\wd0}%
+    \fi
+  }%
+  \let\appsecentry\numsecentry
+  %
+  \def\numsubsecentry##1##2##3##4{%
+    \def\curssecname{secnowidth-##2}%
+    \curssecmax=0pt
+    %
+    \setbox0=\hbox{##2}%
+    \ifdim\wd0>\cursecmax
+      \cursecmax=\wd0
+      \expandafter\xdef\csname\cursecname\endcsname{\the\wd0}%
+    \fi
+  }%
+  \let\appsubsecentry\numsubsecentry
+  %
+  \def\numsubsubsecentry##1##2##3##4{%
+    \setbox0=\hbox{##2}%
+    \ifdim\wd0>\curssecmax
+      \curssecmax=\wd0
+      \expandafter\xdef\csname\curssecname\endcsname{\the\wd0}%
+    \fi
+  }%
+  \let\appsubsubsecentry\numsubsubsecentry
+  %
+  % Discard any output by outputting to dummy vbox, in case the toc file
+  % contains macros that we have not redefined above.
+  \setbox\dummybox\vbox\bgroup
+    \input \tocreadfilename\relax
+  \egroup
+  \endgroup
+}
+\newdimen\curchapmax
+\newdimen\cursecmax
+\newdimen\curssecmax
+
+
+% set #1 to the maximum section width for #2
+\def\retrievesecnowidth#1#2{%
+  \expandafter\let\expandafter\savedsecnowidth \csname secnowidth-#2\endcsname
+  \ifx\savedsecnowidth\relax
+    #1=0pt
+  \else
+    #1=\savedsecnowidth
+  \fi
+}
+\newdimen\secnowidthchap
+\secnowidthchap=0pt
+\newdimen\secnowidthsec
+\secnowidthsec=0pt
+\newdimen\secnowidthssec
+\secnowidthssec=0pt
+
+
 \newskip\contentsrightmargin \contentsrightmargin=1in
 \newcount\savepageno
 \newcount\lastnegativepageno \lastnegativepageno = -1
@@ -5968,9 +6764,7 @@ end
 %
 \def\startcontents#1{%
   % If @setchapternewpage on, and @headings double, the contents should
-  % start on an odd page, unlike chapters.  Thus, we maintain
-  % \contentsalignmacro in parallel with \pagealignmacro.
-  % From: Torbjorn Granlund <tege@matematik.su.se>
+  % start on an odd page, unlike chapters.
   \contentsalignmacro
   \immediate\closeout\tocfile
   %
@@ -5981,12 +6775,21 @@ end
   \savepageno = \pageno
   \begingroup                  % Set up to handle contents files properly.
     \raggedbottom              % Worry more about breakpoints than the bottom.
-    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+    \entryrightmargin=\contentsrightmargin % Don't use the full line length.
     %
     % Roman numerals for page numbers.
     \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+    \def\thistitle{}% no title in double-sided headings
+    % Record where the Roman numerals started.
+    \ifnum\romancount=0 \global\romancount=\pagecount \fi
+    \linkentrytexttrue
 }
 
+% \raggedbottom in plain.tex hardcodes \topskip so override it
+\catcode`\@=11
+\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
+\catcode`\@=\other
+
 % redefined for the two-volume lispref.  We always output on
 % \jobname.toc even if this is redefined.
 %
@@ -5998,6 +6801,7 @@ end
   \startcontents{\putwordTOC}%
     \openin 1 \tocreadfilename\space
     \ifeof 1 \else
+      \findsecnowidths
       \readtocfile
     \fi
     \vfill \eject
@@ -6007,8 +6811,7 @@ end
     \fi
     \closein 1
   \endgroup
-  \lastnegativepageno = \pageno
-  \global\pageno = \savepageno
+  \contentsendroman
 }
 
 % And just the chapters.
@@ -6026,6 +6829,7 @@ end
     \rm
     \hyphenpenalty = 10000
     \advance\baselineskip by 1pt % Open it up a little.
+    \extrasecnoskip=0.4pt
     \def\numsecentry##1##2##3##4{}
     \let\appsecentry = \numsecentry
     \let\unnsecentry = \numsecentry
@@ -6043,11 +6847,17 @@ end
     \vfill \eject
     \contentsalignmacro % in case @setchapternewpage odd is in effect
   \endgroup
-  \lastnegativepageno = \pageno
-  \global\pageno = \savepageno
+  \contentsendroman
 }
 \let\shortcontents = \summarycontents
 
+% Get ready to use Arabic numerals again
+\def\contentsendroman{%
+  \lastnegativepageno = \pageno
+  \global\pageno=1
+  \contentsendcount = \pagecount
+}
+
 % Typeset the label for a chapter or appendix for the short contents.
 % The arg is, e.g., `A' for an appendix, or `3' for a chapter.
 %
@@ -6055,8 +6865,6 @@ end
   % This space should be enough, since a single number is .5em, and the
   % widest letter (M) is 1em, at least in the Computer Modern fonts.
   % But use \hss just in case.
-  % (This space doesn't include the extra space that gets added after
-  % the label; that gets put in by \shortchapentry above.)
   %
   % We'd like to right-justify chapter numbers, but that looks strange
   % with appendix letters.  And right-justifying numbers and
@@ -6066,16 +6874,29 @@ end
   \hbox to 1em{#1\hss}%
 }
 
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
+% These macros generate individual entries in the table of contents,
+% and are read in from the *.toc file.
+%
+% The arguments are like:
+% \def\numchapentry#1#2#3#4
+%   #1 - the chapter or section name.
+%   #2 - section number
+%   #3 - level of section (e.g "chap", "sec")
+%   #4 - page number
 
 % Parts, in the main contents.  Replace the part number, which doesn't
 % exist, with an empty box.  Let's hope all the numbers have the same width.
 % Also ignore the page number, which is conventionally not printed.
 \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
-\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
+\def\partentry#1#2#3#4{%
+  % Add stretch and a bonus for breaking the page before the part heading.
+  % This reduces the chance of the page being broken immediately after the
+  % part heading, before a following chapter heading.
+  \vskip 0pt plus 5\baselineskip
+  \penalty-300
+  \vskip 0pt plus -5\baselineskip
+  \dochapentry{#1}{\numeralbox}{}%
+}
 %
 % Parts, in the short toc.
 \def\shortpartentry#1#2#3#4{%
@@ -6085,12 +6906,14 @@ end
 }
 
 % Chapters, in the main contents.
-\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
-%
+\def\numchapentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthchap{#2}%
+  \dochapentry{#1}{#2}{#4}%
+}
+
 % Chapters, in the short toc.
-% See comments in \dochapentry re vbox and related settings.
 \def\shortchapentry#1#2#3#4{%
-  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
+  \tocentry{#1}{\shortchaplabel{#2}}{#4}%
 }
 
 % Appendices, in the main contents.
@@ -6101,68 +6924,111 @@ end
   \setbox0 = \hbox{\putwordAppendix{} M}%
   \hbox to \wd0{\putwordAppendix{} #1\hss}}
 %
-\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
+\def\appentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthchap{#2}%
+  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}%
+}
 
 % Unnumbered chapters.
-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}}
 
 % Sections.
-\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}}
+
+\def\numsecentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthsec{#2}%
+  \dosecentry{#1}{#2}{#4}%
+}
 \let\appsecentry=\numsecentry
-\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+\def\unnsecentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthsec{#2}%
+  \dosecentry{#1}{}{#4}%
+}
 
 % Subsections.
-\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\def\numsubsecentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthssec{#2}%
+  \dosubsecentry{#1}{#2}{#4}%
+}
 \let\appsubsecentry=\numsubsecentry
-\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
+\def\unnsubsecentry#1#2#3#4{%
+  \retrievesecnowidth\secnowidthssec{#2}%
+  \dosubsecentry{#1}{}{#4}%
+}
 
 % And subsubsections.
-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}}
 \let\appsubsubsecentry=\numsubsubsecentry
-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}}
 
 % This parameter controls the indentation of the various levels.
 % Same as \defaultparindent.
 \newdimen\tocindent \tocindent = 15pt
 
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-% page number.
+% Now for the actual typesetting. In all these, #1 is the text, #2 is
+% a section number if present, and #3 is the page number.
 %
 % If the toc has to be broken over pages, we want it to be at chapters
 % if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
+\def\dochapentry#1#2#3{%
    \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
    \begingroup
+     % Move the page numbers slightly to the right
+     \advance\entryrightmargin by -0.05em
      \chapentryfonts
-     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+     \extrasecnoskip=0.4em % separate chapter number more
+     \tocentry{#1}{#2}{#3}%
    \endgroup
    \nobreak\vskip .25\baselineskip plus.1\baselineskip
 }
 
-\def\dosecentry#1#2{\begingroup
+\def\dosecentry#1#2#3{\begingroup
+  \secnowidth=\secnowidthchap
   \secentryfonts \leftskip=\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+  \tocentry{#1}{#2}{#3}%
 \endgroup}
 
-\def\dosubsecentry#1#2{\begingroup
+\def\dosubsecentry#1#2#3{\begingroup
+  \secnowidth=\secnowidthsec
   \subsecentryfonts \leftskip=2\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+  \tocentry{#1}{#2}{#3}%
 \endgroup}
 
-\def\dosubsubsecentry#1#2{\begingroup
+\def\dosubsubsecentry#1#2#3{\begingroup
+  \secnowidth=\secnowidthssec
   \subsubsecentryfonts \leftskip=3\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+  \tocentry{#1}{#2}{#3}%
 \endgroup}
 
-% We use the same \entry macro as for the index entries.
-\let\tocentry = \entry
+% Used for the maximum width of a section number so we can align
+% section titles.
+\newdimen\secnowidth
+\secnowidth=0pt
+\newdimen\extrasecnoskip
+\extrasecnoskip=0pt
 
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
+% \tocentry{TITLE}{SEC NO}{PAGE}
+%
+\def\tocentry#1#2#3{%
+  \def\secno{#2}%
+  \ifx\empty\secno
+    \entry{#1}{#3}%
+  \else
+    \ifdim 0pt=\secnowidth
+      \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}%
+    \else
+      \advance\secnowidth by \labelspace
+      \advance\secnowidth by \extrasecnoskip
+      \setbox0=\hbox to \secnowidth{%
+        #2\hskip\labelspace\hskip\extrasecnoskip\hfill}%
+    \fi
+    \entrycontskip=\wd0
+    \entry{\box0 #1}{#3}%
+  \fi
+}
+\newdimen\labelspace
+\labelspace=0.6em
 
 \def\chapentryfonts{\secfonts \rm}
 \def\secentryfonts{\textfonts}
@@ -6178,7 +7044,7 @@ end
 % But \@ or @@ will get a plain @ character.
 
 \envdef\tex{%
-  \setupmarkupstyle{tex}%
+  \setregularquotes
   \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
   \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
   \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
@@ -6188,14 +7054,14 @@ end
   \catcode `\|=\other
   \catcode `\<=\other
   \catcode `\>=\other
-  \catcode`\`=\other
-  \catcode`\'=\other
-  \escapechar=`\\
+  \catcode `\`=\other
+  \catcode `\'=\other
   %
   % ' is active in math mode (mathcode"8000).  So reset it, and all our
   % other math active characters (just in case), to plain's definitions.
   \mathactive
   %
+  % Inverse of the list at the beginning of the file.
   \let\b=\ptexb
   \let\bullet=\ptexbullet
   \let\c=\ptexc
@@ -6211,9 +7077,11 @@ end
   \let\+=\tabalign
   \let\}=\ptexrbrace
   \let\/=\ptexslash
+  \let\sp=\ptexsp
   \let\*=\ptexstar
+  %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
   \let\t=\ptext
-  \expandafter \let\csname top\endcsname=\ptextop  % outer
+  \expandafter \let\csname top\endcsname=\ptextop  % we've made it outer
   \let\frenchspacing=\plainfrenchspacing
   %
   \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
@@ -6250,6 +7118,24 @@ end
     \endgraf
     \ifdim\lastskip<\envskipamount
       \removelastskip
+      \ifnum\lastpenalty<10000
+        % Penalize breaking before the environment, because preceding text
+        % often leads into it.
+        \penalty100
+      \fi
+      \vskip\envskipamount
+    \fi
+  \fi
+}}
+
+\def\afterenvbreak{{%
+  % =10000 instead of <10000 because of a special case in \itemzzz and
+  % \sectionheading, q.v.
+  \ifnum \lastpenalty=10000 \else
+    \advance\envskipamount by \parskip
+    \endgraf
+    \ifdim\lastskip<\envskipamount
+      \removelastskip
       % it's not a good place to break if the last penalty was \nobreak
       % or better ...
       \ifnum\lastpenalty<10000 \penalty-50 \fi
@@ -6258,19 +7144,13 @@ end
   \fi
 }}
 
-\let\afterenvbreak = \aboveenvbreak
-
 % \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
 % also clear it, so that its embedded environments do the narrowing again.
 \let\nonarrowing=\relax
 
 % @cartouche ... @end cartouche: draw rectangle w/rounded corners around
 % environment contents.
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
+
 %
 \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
 \def\ctr{{\hskip 6pt\circle\char'010}}
@@ -6285,40 +7165,58 @@ end
 %
 \newskip\lskip\newskip\rskip
 
-\envdef\cartouche{%
+% only require the font if @cartouche is actually used
+\def\cartouchefontdefs{%
+  \font\circle=lcircle10\relax
+  \circthick=\fontdimen8\circle
+}
+\newdimen\circthick
+\newdimen\cartouter\newdimen\cartinner
+\newskip\normbskip\newskip\normpskip\newskip\normlskip
+
+\envparseargdef\cartouche{%
+  \cartouchefontdefs
   \ifhmode\par\fi  % can't be in the midst of a paragraph.
   \startsavinginserts
   \lskip=\leftskip \rskip=\rightskip
   \leftskip=0pt\rightskip=0pt % we want these *outside*.
+  %
+  % Set paragraph width for text inside cartouche.  There are
+  % left and right margins of 3pt each plus two vrules 0.4pt each.
   \cartinner=\hsize \advance\cartinner by-\lskip
   \advance\cartinner by-\rskip
+  \advance\cartinner by -6.8pt
+  %
+  % For drawing top and bottom of cartouche.  Each corner char
+  % adds 6pt and we take off the width of a rule to line up with the
+  % right boundary perfectly.
   \cartouter=\hsize
-  \advance\cartouter by 18.4pt % allow for 3pt kerns on either
-                               % side, and for 6pt waste from
-                               % each corner char, and rule thickness
+  \advance\cartouter by 11.6pt
+  %
   \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
-  % Flag to tell @lisp, etc., not to narrow margin.
-  \let\nonarrowing = t%
   %
   % If this cartouche directly follows a sectioning command, we need the
   % \parskip glue (backspaced over by default) or the cartouche can
   % collide with the section heading.
-  \ifnum\lastpenalty>10000 \vskip\parskip \fi
+  \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
   %
-  \vbox\bgroup
+  \setbox\groupbox=\vtop\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
       \carttop
       \hbox\bgroup
-         \hskip\lskip
-         \vrule\kern3pt
-         \vbox\bgroup
-             \kern3pt
-             \hsize=\cartinner
-             \baselineskip=\normbskip
-             \lineskip=\normlskip
-             \parskip=\normpskip
-             \vskip -\parskip
-             \comment % For explanation, see the end of def\group.
+          \hskip\lskip
+          \vrule\kern3pt
+          \vbox\bgroup
+              \hsize=\cartinner
+              \baselineskip=\normbskip
+              \lineskip=\normlskip
+              \parskip=\normpskip
+              \def\arg{#1}%
+              \ifx\arg\empty\else
+                \centerV{\hfil \bf #1 \hfil}%
+              \fi
+              \kern3pt
+              \vskip -\parskip
 }
 \def\Ecartouche{%
               \ifhmode\par\fi
@@ -6329,6 +7227,7 @@ end
       \egroup
       \cartbot
   \egroup
+  \addgroupbox
   \checkinserts
 }
 
@@ -6338,7 +7237,7 @@ end
 \newdimen\nonfillparindent
 \def\nonfillstart{%
   \aboveenvbreak
-  \hfuzz = 12pt % Don't be fussy
+  \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy
   \sepspaces % Make spaces be word-separators rather than space tokens.
   \let\par = \lisppar % don't ignore blank lines
   \obeylines % each line of input is a line of output
@@ -6380,7 +7279,7 @@ end
 % If you want all examples etc. small: @set dispenvsize small.
 % If you want even small examples the full size: @set dispenvsize nosmall.
 % This affects the following displayed environments:
-%    @example, @display, @format, @lisp
+%    @example, @display, @format, @lisp, @verbatim
 %
 \def\smallword{small}
 \def\nosmallword{nosmall}
@@ -6426,9 +7325,9 @@ end
 %
 \maketwodispenvdef{lisp}{example}{%
   \nonfillstart
-  \tt\setupmarkupstyle{example}%
+  \tt\setcodequotes
   \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
-  \gobble % eat return
+  \parsearg\gobble
 }
 % @display/@smalldisplay: same as @lisp except keep current font.
 %
@@ -6467,26 +7366,10 @@ end
 % @raggedright does more-or-less normal line breaking but no right
 % justification.  From plain.tex.
 \envdef\raggedright{%
-  \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+  \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax
 }
 \let\Eraggedright\par
 
-\envdef\raggedleft{%
-  \parindent=0pt \leftskip0pt plus2em
-  \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
-  \hbadness=10000 % Last line will usually be underfull, so turn off
-                  % badness reporting.
-}
-\let\Eraggedleft\par
-
-\envdef\raggedcenter{%
-  \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
-  \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
-  \hbadness=10000 % Last line will usually be underfull, so turn off
-                  % badness reporting.
-}
-\let\Eraggedcenter\par
-
 
 % @quotation does normal linebreaking (hence we can't use \nonfillstart)
 % and narrows the margins.  We keep \parskip nonzero in general, since
@@ -6496,16 +7379,9 @@ end
 \makedispenvdef{quotation}{\quotationstart}
 %
 \def\quotationstart{%
-  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \parindent=0pt
-  %
-  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \indentedblockstart % same as \indentedblock, but increase right margin too.
   \ifx\nonarrowing\relax
-    \advance\leftskip by \lispnarrowing
     \advance\rightskip by \lispnarrowing
-    \exdentamount = \lispnarrowing
-  \else
-    \let\nonarrowing = \relax
   \fi
   \parsearg\quotationlabel
 }
@@ -6531,6 +7407,32 @@ end
   \fi
 }
 
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+%
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+  \par
+  {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
 
 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
 % If we want to allow any <char> as delimiter,
@@ -6565,9 +7467,10 @@ end
 \endgroup
 %
 \def\setupverb{%
-  \tt  % easiest (and conventionally used) font for verbatim
+  \tt
   \def\par{\leavevmode\endgraf}%
-  \setupmarkupstyle{verb}%
+  \parindent = 0pt
+  \setcodequotes
   \tabeightspaces
   % Respect line breaks,
   % print special symbols as themselves, and
@@ -6582,13 +7485,9 @@ end
 \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
 %
 % We typeset each line of the verbatim in an \hbox, so we can handle
-% tabs.  The \global is in case the verbatim line starts with an accent,
-% or some other command that starts with a begin-group.  Otherwise, the
-% entire \verbbox would disappear at the corresponding end-group, before
-% it is typeset.  Meanwhile, we can't have nested verbatim commands
-% (can we?), so the \global won't be overwriting itself.
+% tabs.
 \newbox\verbbox
-\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
+\def\starttabbox{\setbox\verbbox=\hbox\bgroup}
 %
 \begingroup
   \catcode`\^^I=\active
@@ -6599,7 +7498,8 @@ end
       \divide\dimen\verbbox by\tabw
       \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
       \advance\dimen\verbbox by\tabw  % advance to next multiple of \tabw
-      \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox
+      \wd\verbbox=\dimen\verbbox
+      \leavevmode\box\verbbox \starttabbox
     }%
   }
 \endgroup
@@ -6609,17 +7509,14 @@ end
   \let\nonarrowing = t%
   \nonfillstart
   \tt % easiest (and conventionally used) font for verbatim
-  % The \leavevmode here is for blank lines.  Otherwise, we would
-  % never \starttabox and the \egroup would end verbatim mode.
-  \def\par{\leavevmode\egroup\box\verbbox\endgraf}%
+  \def\par{\egroup\leavevmode\box\verbbox\endgraf\starttabbox}%
   \tabexpand
-  \setupmarkupstyle{verbatim}%
+  \setcodequotes
   % Respect line breaks,
   % print special symbols as themselves, and
   % make each space count.
   % Must do in this order:
   \obeylines \uncatcodespecials \sepspaces
-  \everypar{\starttabbox}%
 }
 
 % Do the @verb magic: verbatim text is quoted by unique
@@ -6654,13 +7551,16 @@ end
   % ignore everything up to the first ^^M, that's the newline at the end
   % of the @verbatim input line itself.  Otherwise we get an extra blank
   % line in the output.
-  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+  \xdef\doverbatim#1^^M#2@end verbatim{%
+    \starttabbox#2\egroup\noexpand\end\gobble verbatim}%
   % We really want {...\end verbatim} in the body of the macro, but
   % without the active space; thus we have to use \xdef and \gobble.
+  % The \egroup ends the \verbbox started at the end of the last line in
+  % the block.
 \endgroup
 %
 \envdef\verbatim{%
-    \setupverbatim\doverbatim
+    \setnormaldispenv\setupverbatim\doverbatim
 }
 \let\Everbatim = \afterenvbreak
 
@@ -6673,9 +7573,12 @@ end
   {%
     \makevalueexpandable
     \setupverbatim
-    \indexnofonts       % Allow `@@' and other weird things in file names.
-    \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
-    \input #1
+    {%
+      \indexnofonts       % Allow `@@' and other weird things in file names.
+      \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
+      \edef\tmp{\noexpand\input #1 }
+      \expandafter
+    }\expandafter\starttabbox\tmp\egroup
     \afterenvbreak
   }%
 }
@@ -6688,11 +7591,13 @@ end
 % typesetting commands (@smallbook, font changes, etc.) have to be done
 % beforehand -- and a) we want @copying to be done first in the source
 % file; b) letting users define the frontmatter in as flexible order as
-% possible is very desirable.
-%
-\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
-\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+% possible is desirable.
 %
+\def\copying{\checkenv{}\begingroup\macrobodyctxt\docopying}
+{\catcode`\ =\other
+\gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+}
+
 \def\insertcopying{%
   \begingroup
     \parindent = 0pt  % paragraph indentation looks wrong on title page
@@ -6737,34 +7642,22 @@ end
   %
   \parindent=0in
   \advance\leftskip by \defbodyindent
-  \exdentamount=\defbodyindent
-}
-
-\def\dodefunx#1{%
-  % First, check whether we are in the right environment:
-  \checkenv#1%
-  %
-  % As above, allow line break if we have multiple x headers in a row.
-  % It's not a great place, though.
-  \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
-  %
-  % And now, it's time to reuse the body of the original defun:
-  \expandafter\gobbledefun#1%
+  \exdentamount=\defbodyindent
 }
-\def\gobbledefun#1\startdefun{}
 
-% \printdefunline \deffnheader{text}
+% Called as \printdefunline \deffooheader{text}
 %
 \def\printdefunline#1#2{%
   \begingroup
-    % call \deffnheader:
+    \plainfrenchspacing
+    % call \deffooheader:
     #1#2 \endheader
     % common ending:
     \interlinepenalty = 10000
     \advance\rightskip by 0pt plus 1fil\relax
     \endgraf
     \nobreak\vskip -\parskip
-    \penalty\defunpenalty  % signal to \startdefun and \dodefunx
+    \penalty\defunpenalty  % signal to \startdefun and \deffoox
     % Some of the @defun-type tags do not enable magic parentheses,
     % rendering the following check redundant.  But we don't optimize.
     \checkparencounts
@@ -6773,29 +7666,55 @@ end
 
 \def\Edefun{\endgraf\medbreak}
 
-% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
-% the only thing remaining is to define \deffnheader.
+% @defblock, @defline do not automatically create index entries
+\envdef\defblock{%
+  \startdefun
+}
+\let\Edefblock\Edefun
+
+\def\defline{%
+  \doingtypefnfalse
+  \parseargusing\activeparens{\printdefunline\deflineheader}%
+}
+\def\deflineheader#1 #2 #3\endheader{%
+  \printdefname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
+}
+
+\def\deftypeline{%
+  \doingtypefntrue
+  \parseargusing\activeparens{\printdefunline\deftypelineheader}%
+}
+\def\deftypelineheader#1 #2 #3 #4\endheader{%
+  \printdefname{#1}{#2}{#3}\magicamp\defunargs{#4\unskip}%
+}
+
+% \makedefun{deffoo} (\deffooheader parameters) { (\deffooheader expansion) }
 %
+% Define \deffoo, \deffoox  \Edeffoo and \deffooheader.
 \def\makedefun#1{%
   \expandafter\let\csname E#1\endcsname = \Edefun
   \edef\temp{\noexpand\domakedefun
     \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
   \temp
 }
-
-% \domakedefun \deffn \deffnx \deffnheader
-%
-% Define \deffn and \deffnx, without parameters.
-% \deffnheader has to be defined explicitly.
-%
 \def\domakedefun#1#2#3{%
   \envdef#1{%
     \startdefun
     \doingtypefnfalse    % distinguish typed functions from all else
     \parseargusing\activeparens{\printdefunline#3}%
   }%
-  \def#2{\dodefunx#1}%
-  \def#3%
+  \def#2{%
+    % First, check whether we are in the right environment:
+    \checkenv#1%
+    %
+    % As in \startdefun, allow line break if we have multiple x headers
+    % in a row.  It's not a great place, though.
+    \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
+    %
+    \doingtypefnfalse    % distinguish typed functions from all else
+    \parseargusing\activeparens{\printdefunline#3}%
+  }%
+  \def#3% definition of \deffooheader follows
 }
 
 \newif\ifdoingtypefn       % doing typed function?
@@ -6804,7 +7723,7 @@ end
 % @deftypefnnewline on|off says whether the return type of typed functions
 % are printed on their own line.  This affects @deftypefn, @deftypefun,
 % @deftypeop, and @deftypemethod.
-% 
+%
 \parseargdef\deftypefnnewline{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -6823,57 +7742,48 @@ end
 % Untyped functions:
 
 % @deffn category name args
-\makedefun{deffn}{\deffngeneral{}}
-
-% @deffn category class name args
-\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-
-% \defopon {category on}class name args
-\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+\makedefun{deffn}#1 #2 #3\endheader{%
+  \doind{fn}{\code{#2}}%
+  \printdefname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
+}
 
-% \deffngeneral {subind}category name args
-%
-\def\deffngeneral#1#2 #3 #4\endheader{%
-  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
-  \dosubind{fn}{\code{#3}}{#1}%
-  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
+% @defop category class name args
+\makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}}
+\def\defopheaderx#1#2 #3 #4\endheader{%
+  \doind{fn}{\code{#3}\space\putwordon\ \code{#2}}%
+  \printdefname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}%
 }
 
 % Typed functions:
 
 % @deftypefn category type name args
-\makedefun{deftypefn}{\deftypefngeneral{}}
+\makedefun{deftypefn}#1 #2 #3 #4\endheader{%
+  \doind{fn}{\code{#3}}%
+  \doingtypefntrue
+  \printdefname{#1}{#2}{#3}\defunargs{#4\unskip}%
+}
 
 % @deftypeop category class type name args
-\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-
-% \deftypeopon {category on}class type name args
-\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypefngeneral {subind}category type name args
-%
-\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
-  \dosubind{fn}{\code{#4}}{#1}%
+\makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}}
+\def\deftypeopheaderx#1#2 #3 #4 #5\endheader{%
+  \doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}%
   \doingtypefntrue
-  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+  \printdefname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
 }
 
 % Typed variables:
 
 % @deftypevr category type var args
-\makedefun{deftypevr}{\deftypecvgeneral{}}
+\makedefun{deftypevr}#1 #2 #3 #4\endheader{%
+  \doind{vr}{\code{#3}}%
+  \printdefname{#1}{#2}{#3}\defunargs{#4\unskip}%
+}
 
 % @deftypecv category class type var args
-\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-
-% \deftypecvof {category of}class type var args
-\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypecvgeneral {subind}category type var args
-%
-\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
-  \dosubind{vr}{\code{#4}}{#1}%
-  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+\makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}}
+\def\deftypecvheaderx#1#2 #3 #4 #5\endheader{%
+  \doind{vr}{\code{#4}\space\putwordof\ \code{#2}}%
+  \printdefname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
 }
 
 % Untyped variables:
@@ -6882,17 +7792,15 @@ end
 \makedefun{defvr}#1 {\deftypevrheader{#1} {} }
 
 % @defcv category class var args
-\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-
-% \defcvof {category of}class var args
-\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
+\makedefun{defcv}#1 {\defcvheaderx{#1\ \putwordof}}
+\def\defcvheaderx#1#2 {\deftypecvheaderx{#1}#2 {} }
 
 % Types:
 
 % @deftp category name args
 \makedefun{deftp}#1 #2 #3\endheader{%
   \doind{tp}{\code{#2}}%
-  \defname{#1}{}{#2}\defunargs{#3\unskip}%
+  \printdefname{#1}{}{#2}\defunargs{#3\unskip}%
 }
 
 % Remaining @defun-like shortcuts:
@@ -6903,19 +7811,19 @@ end
 \makedefun{defvar}{\defvrheader{\putwordDefvar} }
 \makedefun{defopt}{\defvrheader{\putwordDefopt} }
 \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
-\makedefun{defmethod}{\defopon\putwordMethodon}
-\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
-\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
-\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
+\makedefun{defmethod}{\defopheaderx\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopheaderx\putwordMethodon}
+\makedefun{defivar}{\defcvheaderx\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvheaderx\putwordInstanceVariableof}
 
-% \defname, which formats the name of the @def (not the args).
+% \printdefname, which formats the name of the @def (not the args).
 % #1 is the category, such as "Function".
 % #2 is the return type, if any.
 % #3 is the function name.
 %
 % We are followed by (but not passed) the arguments, if any.
 %
-\def\defname#1#2#3{%
+\def\printdefname#1#2#3{%
   \par
   % Get the values of \leftskip and \rightskip as they were outside the @def...
   \advance\leftskip by -\defbodyindent
@@ -6925,9 +7833,7 @@ end
   \rettypeownlinefalse
   \ifdoingtypefn  % doing a typed function specifically?
     % then check user option for putting return type on its own line:
-    \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
-      \rettypeownlinetrue
-    \fi
+    \ifflagclear{txideftypefnnl}{}{\rettypeownlinetrue}%
   \fi
   %
   % How we'll format the category name.  Putting it in brackets helps
@@ -6971,6 +7877,8 @@ end
   \tolerance=10000 \hbadness=10000
   \exdentamount=\defbodyindent
   {%
+    \def\^^M{}% for line continuation
+    %
     % defun fonts. We use typewriter by default (used to be bold) because:
     % . we're printing identifiers, they should be in tt in principle.
     % . in languages with many accents, such as Czech or French, it's
@@ -6985,34 +7893,30 @@ end
       \tclose{\temp}% typeset the return type
       \ifrettypeownline
         % put return type on its own line; prohibit line break following:
-        \hfil\vadjust{\nobreak}\break  
+        \hfil\vadjust{\nobreak}\break
       \else
         \space  % type on same line, so just followed by a space
       \fi
     \fi           % no return type
     #3% output function name
   }%
-  {\rm\enskip}% hskip 0.5 em of \tenrm
+  \ifflagclear{txidefnamenospace}{%
+    {\rm\enskip}% hskip 0.5 em of \rmfont
+  }{}%
   %
   \boldbrax
   % arguments will be output next, if any.
 }
 
-% Print arguments in slanted roman (not ttsl), inconsistently with using
-% tt for the name.  This is because literal text is sometimes needed in
-% the argument list (groff manual), and ttsl and tt are not very
-% distinguishable.  Prevent hyphenation at `-' chars.
-%
+% Print arguments.  Use slanted for @def*, typewriter for @deftype*.
 \def\defunargs#1{%
-  % use sl by default (not ttsl),
-  % tt for the names.
-  \df \sl \hyphenchar\font=0
-  %
-  % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  Let's try @var for that.
-  \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
-  #1%
-  \sl\hyphenchar\font=45
+  \bgroup
+    \def\^^M{}% for line continuation
+    \df \ifdoingtypefn \tt \else \sl \fi
+    \ifflagclear{txicodevaristt}{}%
+       {\def\var##1{{\setregularquotes \ttsl ##1}}}%
+    #1%
+  \egroup
 }
 
 % We want ()&[] to print specially on the defun line.
@@ -7031,19 +7935,23 @@ end
 % so TeX would otherwise complain about undefined control sequence.
 {
   \activeparens
-  \global\let(=\lparen \global\let)=\rparen
-  \global\let[=\lbrack \global\let]=\rbrack
-  \global\let& = \&
+  \gdef\defcharsdefault{%
+    \let(=\lparen \let)=\rparen
+    \let[=\lbrack \let]=\rbrack
+    \let& = \&%
+  }
+  \globaldefs=1 \defcharsdefault
 
   \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
   \gdef\magicamp{\let&=\amprm}
 }
+\let\ampchar\&
 
 \newcount\parencount
 
 % If we encounter &foo, then turn on ()-hacking afterwards
 \newif\ifampseen
-\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+\def\amprm#1 {\ampseentrue{\rm\&#1 }}
 
 \def\parenfont{%
   \ifampseen
@@ -7118,34 +8026,30 @@ end
   }
 \fi
 
-\def\scanmacro#1{\begingroup
+\let\E=\expandafter
+
+% Used at the time of macro expansion.
+% Argument is macro body with arguments substituted
+\def\scanmacro#1{%
   \newlinechar`\^^M
-  \let\xeatspaces\eatspaces
-  %
-  % Undo catcode changes of \startcontents and \doprintindex
-  % When called from @insertcopying or (short)caption, we need active
-  % backslash to get it printed correctly.  Previously, we had
-  % \catcode`\\=\other instead.  We'll see whether a problem appears
-  % with macro expansion.                              --kasal, 19aug04
-  \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+  % expand the expansion of \eatleadingcr twice to maybe remove a leading
+  % newline (and \else and \fi tokens), then call \eatspaces on the result.
+  \def\xeatspaces##1{%
+    \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1%
+  }}%
+  \def\xempty##1{}%
   %
-  % ... and for \example:
-  \spaceisspace
+  % Process the macro body under the current catcode regime.
+  \scantokens{#1@comment}%
   %
-  % The \empty here causes a following catcode 5 newline to be eaten as
-  % part of reading whitespace after a control sequence.  It does not
-  % eat a catcode 13 newline.  There's no good way to handle the two
-  % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
-  % would then have different behavior).  See the Macro Details node in
-  % the manual for the workaround we recommend for macros and
-  % line-oriented commands.
-  % 
-  \scantokens{#1\empty}%
-\endgroup}
+  % The \comment is to remove the \newlinechar added by \scantokens, and
+  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla
+  % in math mode.
+}
 
+% Used for copying and captions
 \def\scanexp#1{%
-  \edef\temp{\noexpand\scanmacro{#1}}%
-  \temp
+  \expandafter\scanmacro\expandafter{#1}%
 }
 
 \newcount\paramno   % Count of parameters
@@ -7153,7 +8057,7 @@ end
 \newif\ifrecursive  % Is it recursive?
 
 % List of all defined macros in the form
-%    \definedummyword\macro1\definedummyword\macro2...
+%    \commondummyword\macro1\commondummyword\macro2...
 % Currently is also contains all @aliases; the list can be split
 % if there is a need.
 \def\macrolist{}
@@ -7161,7 +8065,7 @@ end
 % Add the macro to \macrolist
 \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
 \def\addtomacrolistxxx#1{%
-     \toks0 = \expandafter{\macrolist\definedummyword#1}%
+     \toks0 = \expandafter{\macrolist\commondummyword#1}%
      \xdef\macrolist{\the\toks0}%
 }
 
@@ -7186,6 +8090,11 @@ end
 \unbrace{\gdef\trim@@@ #1 } #2@{#1}
 }
 
+{\catcode`\^^M=\other%
+\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}%
+% Warning: this won't work for a delimited argument
+% or for an empty argument
+
 % Trim a single trailing ^^M off a string.
 {\catcode`\^^M=\other \catcode`\Q=3%
 \gdef\eatcr #1{\eatcra #1Q^^MQ}%
@@ -7211,48 +8120,36 @@ end
   \catcode`\+=\other
   \catcode`\<=\other
   \catcode`\>=\other
-  \catcode`\@=\other
   \catcode`\^=\other
   \catcode`\_=\other
   \catcode`\|=\other
   \catcode`\~=\other
-  \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
-}
-
-\def\scanargctxt{% used for copying and captions, not macros.
-  \scanctxt
-  \catcode`\\=\other
+  \catcode`\@=\other
   \catcode`\^^M=\other
+  \catcode`\\=\active
+  \passthroughcharstrue
 }
 
-\def\macrobodyctxt{% used for @macro definitions
+\def\macrobodyctxt{% used for @macro definitions and @copying
   \scanctxt
+  \catcode`\ =\other
   \catcode`\{=\other
   \catcode`\}=\other
-  \catcode`\^^M=\other
-  \usembodybackslash
 }
 
-\def\macroargctxt{% used when scanning invocations
+% Used when scanning braced macro arguments.  Note, however, that catcode
+% changes here are ineffectual if the macro invocation was nested inside
+% an argument to another Texinfo command.
+\def\macroargctxt{%
   \scanctxt
-  \catcode`\\=0
+  \catcode`\ =\active
 }
-% why catcode 0 for \ in the above?  To recognize \\ \{ \} as "escapes"
-% for the single characters \ { }.  Thus, we end up with the "commands"
-% that would be written @\ @{ @} in a Texinfo document.
-% 
-% We already have @{ and @}.  For @\, we define it here, and only for
-% this purpose, to produce a typewriter backslash (so, the @\ that we
-% define for @math can't be used with @macro calls):
-%
-\def\\{\normalbackslash}%
-% 
-% We would like to do this for \, too, since that is what makeinfo does.
-% But it is not possible, because Texinfo already has a command @, for a
-% cedilla accent.  Documents must use @comma{} instead.
-%
-% \anythingelse will almost certainly be an error of some kind.
 
+\def\macrolineargctxt{% used for whole-line arguments without braces
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+}
 
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
@@ -7293,7 +8190,7 @@ end
      \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
      \addtomacrolist{\the\macname}%
   \fi
-  \begingroup \macrobodyctxt
+  \begingroup \macrobodyctxt \usembodybackslash
   \ifrecursive \expandafter\parsermacbody
   \else \expandafter\parsemacbody
   \fi}
@@ -7305,7 +8202,7 @@ end
     % Remove the macro name from \macrolist:
     \begingroup
       \expandafter\let\csname#1\endcsname \relax
-      \let\definedummyword\unmacrodo
+      \let\commondummyword\unmacrodo
       \xdef\macrolist{\macrolist}%
     \endgroup
   \else
@@ -7320,61 +8217,41 @@ end
   \ifx #1\relax
     % remove this
   \else
-    \noexpand\definedummyword \noexpand#1%
+    \noexpand\commondummyword \noexpand#1%
   \fi
 }
 
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
+% \getargs -- Parse the arguments to a @macro line.  Set \macname to
+% the name of the macro, and \argl to the braced argument list.
 \def\getargs#1{\getargsxxx#1{}}
 \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
+% This made use of the feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
 
-% For macro processing make @ a letter so that we can make Texinfo private macro names.
-\edef\texiatcatcode{\the\catcode`\@}
-\catcode `@=11\relax
-
-% Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
-% in the params list to some hook where the argument si to be expanded.  If
-% there are less than 10 arguments that hook is to be replaced by ##N where N
+% Parse the optional {params} list to @macro or @rmacro.
+% Set \paramno to the number of arguments,
+% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
+% three-param macro.)  Define \macarg.BLAH for each BLAH in the params
+% list to some hook where the argument is to be expanded.  If there are
+% less than 10 arguments that hook is to be replaced by ##N where N
 % is the position in that list, that is to say the macro arguments are to be
-% defined `a la TeX in the macro body.  
+% defined `a la TeX in the macro body.
 %
 % That gets used by \mbodybackslash (above).
 %
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
+% If there are 10 or more arguments, a different technique is used: see
+% \parsemmanyargdef.
 %
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-%
-% If there are 10 or more arguments, a different technique is used, where the
-% hook remains in the body, and when macro is to be expanded the body is
-% processed again to replace the arguments.
-%
-% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
-% argument N value and then \edef  the body (nothing else will expand because of
-% the catcode regime underwhich the body was input).
-%
-% If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
+  % \hash is redefined to `#' later to get it into definitions
   \let\xeatspaces\relax
+  \let\xempty\relax
   \parsemargdefxxx#1,;,%
-  % In case that there are 10 or more arguments we parse again the arguments
-  % list to set new definitions for the \macarg.BLAH macros corresponding to
-  % each BLAH argument. It was anyhow needed to parse already once this list
-  % in order to count the arguments, and as macros with at most 9 arguments
-  % are by far more frequent than macro with 10 or more arguments, defining
-  % twice the \macarg.BLAH macros does not cost too much processing power.
   \ifnum\paramno<10\relax\else
     \paramno0\relax
     \parsemmanyargdef@@#1,;,% 10 or more arguments
@@ -7385,13 +8262,52 @@ end
   \else \let\next=\parsemargdefxxx
     \advance\paramno by 1
     \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
-        {\xeatspaces{\hash\the\paramno}}%
+        {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}%
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
+% the \xempty{} is to give \eatleadingcr an argument in the case of an
+% empty macro argument.
 
+% \parsemacbody, \parsermacbody
+%
+% Read recursive and nonrecursive macro bodies. (They're different since
+% rec and nonrec macros end differently.)
+%
+% We are in \macrobodyctxt, and the \xdef causes backslashes in the macro
+% body to be transformed.
+% Set \macrobody to the body of the macro, and call \macrodef.
+%
+{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
+\xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
+\xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+
+% Make @ a letter, so that we can make private-to-Texinfo macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
+%%%%%%%%%%%%%% Code for > 10 arguments only   %%%%%%%%%%%%%%%%%%
+
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef the body (nothing else will expand because of
+% the catcode regime under which the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, no macro can have more than 256 arguments (else error).
+%
+% In case that there are 10 or more arguments we parse again the arguments
+% list to set new definitions for the \macarg.BLAH macros corresponding to
+% each BLAH argument. It was anyhow needed to parse already once this list
+% in order to count the arguments, and as macros with at most 9 arguments
+% are by far more frequent than macro with 10 or more arguments, defining
+% twice the \macarg.BLAH macros does not cost too much processing power.
 \def\parsemmanyargdef@@#1,{%
   \if#1;\let\next=\relax
-  \else 
+  \else
     \let\next=\parsemmanyargdef@@
     \edef\tempb{\eatspaces{#1}}%
     \expandafter\def\expandafter\tempa
@@ -7404,16 +8320,6 @@ end
     \advance\paramno by 1\relax
   \fi\next}
 
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-%
-
-\catcode `\@\texiatcatcode
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\catcode `\@=11\relax
 
 \let\endargs@\relax
 \let\nil@\relax
@@ -7421,7 +8327,7 @@ end
 \long\def\nillm@{\nil@}%
 
 % This macro is expanded during the Texinfo macro expansion, not during its
-% definition.  It gets all the arguments values and assigns them to macros
+% definition.  It gets all the arguments' values and assigns them to macros
 % macarg.ARGNAME
 %
 % #1 is the macro name
@@ -7442,8 +8348,6 @@ end
     \getargvals@@
   \fi
 }
-
-% 
 \def\getargvals@@{%
   \ifx\paramlist\nilm@
       % Some sanity check needed here that \argvaluelist is also empty.
@@ -7487,7 +8391,8 @@ end
 }
 
 % Replace arguments by their values in the macro body, and place the result
-% in macro \@tempa
+% in macro \@tempa.
+%
 \def\macvalstoargs@{%
   %  To do this we use the property that token registers that are \the'ed
   % within an \edef  expand only once. So we are going to place all argument
@@ -7511,8 +8416,9 @@ end
   \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
   }
 
-\def\macargexpandinbody@{% 
-  %% Define the named-macro outside of this group and then close this group. 
+% Define the named-macro outside of this group and then close this group.
+%
+\def\macargexpandinbody@{%
   \expandafter
   \endgroup
   \macargdeflist@
@@ -7549,14 +8455,8 @@ end
   \next
 }
 
-% Save the token stack pointer into macro #1
-\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
-% Restore the token stack pointer from number in macro #1
-\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
-% newtoks that can be used non \outer .
-\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
-
-% Tailing missing arguments are set to empty
+% Trailing missing arguments are set to empty.
+%
 \def\setemptyargvalues@{%
   \ifx\paramlist\nilm@
     \let\next\macargexpandinbody@
@@ -7586,102 +8486,264 @@ end
    \long\def#2{#4}%
 }
 
-% This defines a Texinfo @macro. There are eight cases: recursive and
-% nonrecursive macros of zero, one, up to nine, and many arguments.
-% Much magic with \expandafter here.
+
+%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%%
+
+
+% This defines a Texinfo @macro or @rmacro, called by \parsemacbody.
+%    \macrobody has the body of the macro in it, with placeholders for
+% its parameters, looking like "\xeatspaces{\hash 1}".
+%    \paramno is the number of parameters
+%    \paramlist is a TeX parameter text, e.g. "#1,#2,#3,"
+% There are four cases: macros of zero, one, up to nine, and many arguments.
 % \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
+% they're defined in: @include reads the file inside a group.
 %
-\def\defmacro{%
+\def\macrodef{%
   \let\hash=##% convert placeholders to macro parameter chars
-  \ifrecursive
-    \ifcase\paramno
-    % 0
-      \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\scanmacro{\temp}}%
-    \or % 1
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-         \egroup\noexpand\scanmacro{\temp}}%
-    \else
-      \ifnum\paramno<10\relax % at most 9
-        \expandafter\xdef\csname\the\macname\endcsname{%
-           \bgroup\noexpand\macroargctxt
-           \noexpand\csname\the\macname xx\endcsname}%
-        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-        \expandafter\expandafter
-        \expandafter\xdef
-        \expandafter\expandafter
-          \csname\the\macname xxx\endcsname
-            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
-      \else % 10 or more
-        \expandafter\xdef\csname\the\macname\endcsname{%
-          \noexpand\getargvals@{\the\macname}{\argl}%
-        }%    
-        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
-      \fi
-    \fi
+  \ifnum\paramno=1
+    \long\def\xeatspaces##1{##1}%
+    % We don't use \xeatspaces for single-argument macros, because we
+    % want to keep ends of lines.  This definition removes \xeatspaces
+    % when \macrobody is expanded below.
   \else
-    \ifcase\paramno
-    % 0
+    \def\xeatspaces{\string\xeatspaces}%
+    % This expands \xeatspaces as a sequence of character tokens, which
+    % stops \scantokens inserting an extra space after the control sequence.
+  \fi
+  \ifcase\paramno
+  % 0
+    \expandafter\xdef\csname\the\macname\endcsname{%
+      \begingroup
+        \noexpand\spaceisspace
+        \noexpand\endlineisspace
+        \noexpand\expandafter % skip any whitespace after the macro name.
+        \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+    \expandafter\xdef\csname\the\macname @@@\endcsname{%
+      \endgroup
+      \noexpand\scanmacro{\macrobody}}%
+  \or % 1
+    \expandafter\xdef\csname\the\macname\endcsname{%
+       \begingroup
+       \noexpand\braceorline
+       \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+    \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+      \endgroup
+      \noexpand\scanmacro{\macrobody}%
+      }%
+  \else % at most 9
+    \ifnum\paramno<10\relax
+      % @MACNAME sets the context for reading the macro argument
+      % @MACNAME@@ gets the argument, processes backslashes and appends a
+      % comma.
+      % @MACNAME@@@ removes braces surrounding the argument list.
+      % @MACNAME@@@@ scans the macro body with arguments substituted.
       \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \or % 1
+        \begingroup
+        \noexpand\expandafter  % This \expandafter skip any spaces after the
+        \noexpand\macroargctxt % macro before we change the catcode of space.
+        \noexpand\expandafter
+        \expandafter\noexpand\csname\the\macname @@\endcsname}%
+      \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+          \noexpand\passargtomacro
+          \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
+      \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+        \csname\the\macname @@@@\endcsname\paramlist{%
+          \endgroup\noexpand\scanmacro{\macrobody}}%
+    \else % 10 or more:
       \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-        \egroup
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \else % at most 9
-      \ifnum\paramno<10\relax
-        \expandafter\xdef\csname\the\macname\endcsname{%
-           \bgroup\noexpand\macroargctxt
-           \expandafter\noexpand\csname\the\macname xx\endcsname}%
-        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-        \expandafter\expandafter
-        \expandafter\xdef
-        \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-        \paramlist{%
-            \egroup
-            \noexpand\norecurse{\the\macname}%
-            \noexpand\scanmacro{\temp}\egroup}%
-      \else % 10 or more:
-        \expandafter\xdef\csname\the\macname\endcsname{%
-          \noexpand\getargvals@{\the\macname}{\argl}%
-        }%
-        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
-      \fi
+        \noexpand\getargvals@{\the\macname}{\argl}%
+      }%
+      \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody
+      \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
     \fi
   \fi}
 
-\catcode `\@\texiatcatcode\relax
+\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
 
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
-% \braceorline decides whether the next nonwhitespace character is a
-% {.  If so it reads up to the closing }, if not, it reads the whole
-% line.  Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg).
-% 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+{\catcode`\@=0 \catcode`\\=13  % We need to manipulate \ so use @ as escape
+@catcode`@_=11  % private names
+@catcode`@!=11  % used as argument separator
+
+% \passargtomacro#1#2 -
+% Call #1 with a list of tokens #2, with any doubled backslashes in #2
+% compressed to one.
+%
+% This implementation works by expansion, and not execution (so we cannot use
+% \def or similar).  This reduces the risk of this failing in contexts where
+% complete expansion is done with no execution (for example, in writing out to
+% an auxiliary file for an index entry).
+%
+% State is kept in the input stream: the argument passed to
+% @look_ahead, @gobble_and_check_finish and @add_segment is
+%
+% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN  (... rest of input)
+%
+% where:
+% THE_MACRO - name of the macro we want to call
+% ARG_RESULT - argument list we build to pass to that macro
+% PENDING_BS - either a backslash or nothing
+% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next
+
+@gdef@passargtomacro#1#2{%
+  @add_segment #1!{}@relax#2\@_finish\%
+}
+@gdef@_finish{@_finishx} @global@let@_finishx@relax
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #3 - NEXT_TOKEN
+% #4 used to look ahead
+%
+% If the next token is not a backslash, process the rest of the argument;
+% otherwise, remove the next token.
+@gdef@look_ahead#1!#2#3#4{%
+  @ifx#4\%
+   @expandafter@gobble_and_check_finish
+  @else
+   @expandafter@add_segment
+  @fi#1!{#2}#4#4%
+}
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #3 - NEXT_TOKEN
+% #4 should be a backslash, which is gobbled.
+% #5 looks ahead
+%
+% Double backslash found.  Add a single backslash, and look ahead.
+@gdef@gobble_and_check_finish#1!#2#3#4#5{%
+  @add_segment#1\!{}#5#5%
+}
+
+@gdef@is_fi{@fi}
+
+% #1 - THE_MACRO ARG_RESULT
+% #2 - PENDING_BS
+% #3 - NEXT_TOKEN
+% #4 is input stream until next backslash
+%
+% Input stream is either at the start of the argument, or just after a
+% backslash sequence, either a lone backslash, or a doubled backslash.
+% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
+% finish; otherwise, append to ARG_RESULT the segment of the argument up until
+% the next backslash.  PENDING_BACKSLASH contains a backslash to represent
+% a backslash just before the start of the input stream that has not been
+% added to ARG_RESULT.
+@gdef@add_segment#1!#2#3#4\{%
+@ifx#3@_finish
+  @call_the_macro#1!%
+@else
+  % append the pending backslash to the result, followed by the next segment
+  @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
+  % this @fi is discarded by @look_ahead.
+  % we can't get rid of it with \expandafter because we don't know how
+  % long #4 is.
+}
+
+% #1 - THE_MACRO
+% #2 - ARG_RESULT
+% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
+% conditional.
+@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \braceorline MAC is used for a one-argument macro MAC.  It checks
+% whether the next non-whitespace character is a {.  It sets the context
+% for reading the argument (slightly different in the two cases).  Then,
+% to read the argument, in the whole-line case, it then calls the regular
+% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
+%
 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
 \def\braceorlinexxx{%
-  \ifx\nchar\bgroup\else
-    \expandafter\parsearg
+  \ifx\nchar\bgroup
+    \macroargctxt
+    \expandafter\passargtomacro
+  \else
+    \macrolineargctxt\expandafter\parsearg
   \fi \macnamexxx}
 
 
+% @linemacro
+
+\parseargdef\linemacro{%
+  \getargs{#1}% now \macname is the macname and \argl the arglist
+  \ifx\argl\empty
+    \paramno=0
+    \let\hash\relax
+    \def\paramlist{\hash 1\endlinemacro}%
+  \else
+    \expandafter\linegetparamlist\argl;%
+  \fi
+  \begingroup \macrobodyctxt \usembodybackslash
+  \parselinemacrobody
+}
+
+% Build up \paramlist which will be used as the parameter text for the macro.
+% At the end it will be like "#1 #2 #3\endlinemacro".
+\def\linegetparamlist#1;{%
+  \paramno=0\def\paramlist{}%
+  \let\hash\relax
+  \linegetparamlistxxx#1,;,%
+}
+\def\linegetparamlistxxx#1,{%
+  \if#1;\let\next=\linegetparamlistxxxx
+  \else \let\next=\linegetparamlistxxx
+    \advance\paramno by 1
+    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+        {\hash\the\paramno}%
+    \edef\paramlist{\paramlist\hash\the\paramno\space}%
+  \fi\next}
+\def\linegetparamlistxxxx{%
+  \expandafter\fixparamlist\paramlist\fixparamlist
+}
+% Replace final space token
+\def\fixparamlist#1 \fixparamlist{%
+  \def\paramlist{#1\endlinemacro}%
+}
+
+% Read the body of the macro, replacing backslash-surrounded variables
+%
+{\catcode`\ =\other\long\gdef\parselinemacrobody#1@end linemacro{%
+\xdef\macrobody{#1}%
+\endgroup
+\linemacrodef
+}}
+
+% Make the definition
+\def\linemacrodef{%
+  \let\hash=##%
+  \expandafter\xdef\csname\the\macname\endcsname{%
+    \bgroup
+    \noexpand\parsearg
+    \expandafter\noexpand\csname\the\macname @@\endcsname
+  }
+  \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+    \egroup
+    \expandafter\noexpand
+    \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro
+  }
+  \expandafter\expandafter
+  \expandafter\xdef
+  \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
+    \newlinechar=13 % split \macrobody into lines
+    \noexpand\scantokens{\macrobody}%
+  }
+}
+
+
+
 % @alias.
 % We need some trickery to remove the optional spaces around the equal
 % sign.  Make them active and then expand them all to nothing.
@@ -7721,9 +8783,31 @@ end
 % also remove a trailing comma, in case of something like this:
 % @node Help-Cross,  ,  , Cross-refs
 \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
-\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}\omittopnode}
+
+% Used so that the @top node doesn't have to be wrapped in an @ifnottex
+% conditional.
+% \doignore goes to more effort to skip nested conditionals but we don't need
+% that here.
+\def\omittopnode{%
+   \ifx\lastnode\wordTop
+   \expandafter\ignorenode\fi
+}
+\def\wordTop{Top}
+
+% Until the next @node, @part or @bye command, divert output to a box that
+% is not output.
+\def\ignorenode{\setbox\dummybox\vbox\bgroup
+\def\part{\egroup\part}%
+\def\node{\egroup\node}%
+\ignorenodebye
+}
+
+{\let\bye\relax
+\gdef\ignorenodebye{\let\bye\ignorenodebyedef}
+\gdef\ignorenodebyedef{\egroup(`Top' node ignored)\bye}}
+% The redefinition of \bye here is because it is declared \outer
 
-\let\nwnode=\node
 \let\lastnode=\empty
 
 % Write a cross-reference definition for the current node.  #1 is the
@@ -7736,6 +8820,11 @@ end
   \fi
 }
 
+% @nodedescription, @nodedescriptionblock - do nothing for TeX
+\parseargdef\nodedescription{}
+\def\nodedescriptionblock{\doignore{nodedescriptionblock}}
+
+
 % @anchor{NAME} -- define xref target at arbitrary point.
 %
 \newcount\savesfregister
@@ -7746,7 +8835,7 @@ end
 
 % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
 % anchor), which consists of three parts:
-% 1) NAME-title - the current sectioning name taken from \lastsection,
+% 1) NAME-title - the current sectioning name taken from \currentsection,
 %                 or the anchor name.
 % 2) NAME-snt   - section number and type, passed as the SNT arg, or
 %                 empty for anchors.
@@ -7760,12 +8849,15 @@ end
   \pdfmkdest{#1}%
   \iflinks
     {%
+      \requireauxfile
       \atdummies  % preserve commands, but don't expand them
+      % match definition in \xrdef, \refx, \xrefX.
+      \def\value##1{##1}%
       \edef\writexrdef##1##2{%
        \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
          ##1}{##2}}% these are parameters of \writexrdef
       }%
-      \toks0 = \expandafter{\lastsection}%
+      \toks0 = \expandafter{\currentsection}%
       \immediate \writexrdef{title}{\the\toks0 }%
       \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
       \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
@@ -7777,7 +8869,7 @@ end
 % automatically in xrefs, if the third arg is not explicitly specified.
 % This was provided as a "secret" @set xref-automatic-section-title
 % variable, now it's official.
-% 
+%
 \parseargdef\xrefautomaticsectiontitle{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -7793,126 +8885,228 @@ end
   \fi\fi
 }
 
-
+%
 % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
 % the node name, #2 the name of the Info cross-reference, #3 the printed
 % node name, #4 the name of the Info file, #5 the name of the printed
 % manual.  All but the node name can be omitted.
 %
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\pxref{\putwordsee{} \xrefXX}
+\def\xref{\putwordSee{} \xrefXX}
+\def\ref{\xrefXX}
+
+\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX}
+\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]}
+%
+\newbox\toprefbox
+\newbox\printedrefnamebox
+\newbox\infofilenamebox
+\newbox\printedmanualbox
+%
 \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
   \unsepspaces
-  \def\printedmanual{\ignorespaces #5}%
-  \def\printedrefname{\ignorespaces #3}%
-  \setbox1=\hbox{\printedmanual\unskip}%
-  \setbox0=\hbox{\printedrefname\unskip}%
-  \ifdim \wd0 = 0pt
-    % No printed node name was explicitly given.
-    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
-      % Use the node name inside the square brackets.
-      \def\printedrefname{\ignorespaces #1}%
-    \else
-      % Use the actual chapter/section title appear inside
-      % the square brackets.  Use the real section title if we have it.
-      \ifdim \wd1 > 0pt
-        % It is in another manual, so we don't have it.
-        \def\printedrefname{\ignorespaces #1}%
-      \else
-        \ifhavexrefs
-          % We know the real title if we have the xref values.
-          \def\printedrefname{\refx{#1-title}{}}%
-        \else
-          % Otherwise just copy the Info node name.
-          \def\printedrefname{\ignorespaces #1}%
-        \fi%
-      \fi
-    \fi
-  \fi
   %
-  % Make link in pdf output.
-  \ifpdf
-    {\indexnofonts
-     \turnoffactive
-     % This expands tokens, so do it after making catcode changes, so _
-     % etc. don't get their TeX definitions.
-     \getfilename{#4}%
-     %
-     \edef\pdfxrefdest{#1}%
-     \txiescapepdf\pdfxrefdest
-     %
-     \leavevmode
-     \startlink attr{/Border [0 0 0]}%
-     \ifnum\filenamelength>0
-       goto file{\the\filename.pdf} name{\pdfxrefdest}%
-     \else
-       goto name{\pdfmkpgn{\pdfxrefdest}}%
-     \fi
-    }%
-    \setcolor{\linkcolor}%
-  \fi
+  \getprintedrefname{#1}{#3}{#5}%
+  \def\infofilename{\ignorespaces #4}%
+  \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
   %
-  % Float references are printed completely differently: "Figure 1.2"
-  % instead of "[somenode], p.3".  We distinguish them by the
-  % LABEL-title being set to a magic string.
+  \startxreflink{#1}{#4}%
   {%
     % Have to otherify everything special to allow the \csname to
     % include an _ in the xref name, etc.
     \indexnofonts
     \turnoffactive
+    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\Xthisreftitle
       \csname XR#1-title\endcsname
   }%
+  %
+  % Float references are printed completely differently: "Figure 1.2"
+  % instead of "[somenode], p.3".  \iffloat distinguishes them by
+  % \Xthisreftitle being set to a magic string.
   \iffloat\Xthisreftitle
     % If the user specified the print name (third arg) to the ref,
     % print it instead of our usual "Figure 1.2".
-    \ifdim\wd0 = 0pt
-      \refx{#1-snt}{}%
+    \ifdim\wd\printedrefnamebox = 0pt
+      \refx{#1-snt}%
     \else
       \printedrefname
     \fi
     %
-    % if the user also gave the printed manual name (fifth arg), append
+    % If the user also gave the printed manual name (fifth arg), append
     % "in MANUALNAME".
-    \ifdim \wd1 > 0pt
+    \ifdim \wd\printedmanualbox > 0pt
       \space \putwordin{} \cite{\printedmanual}%
     \fi
   \else
     % node/anchor (non-float) references.
     %
-    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
-    % insert empty discretionaries after hyphens, which means that it will
-    % not find a line break at a hyphen in a node names.  Since some manuals
-    % are best written with fairly long node names, containing hyphens, this
-    % is a loss.  Therefore, we give the text of the node name again, so it
-    % is as if TeX is seeing it for the first time.
-    \ifdim \wd1 > 0pt
-      \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+    % If we use \unhbox to print the node names, TeX does not insert
+    % empty discretionaries after hyphens, which means that it will not
+    % find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens,
+    % this is a loss.  Therefore, we give the text of the node name
+    % again, so it is as if TeX is seeing it for the first time.
+    %
+    \ifdim \wd\printedmanualbox > 0pt
+      % Cross-manual reference with a printed manual name.
+      %
+      \crossmanualxref{\cite{\printedmanual\unskip}}%
+    %
+    \else\ifdim \wd\infofilenamebox > 0pt
+      % Cross-manual reference with only an info filename (arg 4), no
+      % printed manual name (arg 5).  This is essentially the same as
+      % the case above; we output the filename, since we have nothing else.
+      %
+      \crossmanualxref{\code{\infofilename\unskip}}%
+    %
     \else
-      % _ (for example) has to be the character _ for the purposes of the
-      % control sequence corresponding to the node, but it has to expand
-      % into the usual \leavevmode...\vrule stuff for purposes of
-      % printing. So we \turnoffactive for the \refx-snt, back on for the
-      % printing, back off for the \refx-pg.
-      {\turnoffactive
-       % Only output a following space if the -snt ref is nonempty; for
-       % @unnumbered and @anchor, it won't be.
-       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
-       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
-      }%
-      % output the `[mynode]' via a macro so it can be overridden.
-      \xrefprintnodename\printedrefname
+      % Reference within this manual.
       %
-      % But we always want a comma and a space:
-      ,\space
+      % Only output a following space if the -snt ref is nonempty, as the ref
+      % will be empty for @unnumbered and @anchor.
+      \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}%
+      \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
       %
-      % output the `page 3'.
-      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+      % output the `[mynode]' via the macro below so it can be overridden.
+      \xrefprintnodename\printedrefname
+      %
+      \ifflagclear{txiomitxrefpg}{%
+        % We always want a comma
+        ,%
+        % output the `page 3'.
+        \turnoffactive \putpageref{#1}%
+        % Add a , if xref followed by a space
+        \if\space\noexpand\tokenafterxref ,%
+        \else\ifx\     \tokenafterxref ,% @TAB
+        \else\ifx\*\tokenafterxref ,%   @*
+        \else\ifx\ \tokenafterxref ,%   @SPACE
+        \else\ifx\
+                  \tokenafterxref ,%    @NL
+        \else\ifx\tie\tokenafterxref ,% @tie
+        \fi\fi\fi\fi\fi\fi
+      }{}%
+    \fi\fi
+  \fi
+  \endlink
+\endgroup}
+
+% \getprintedrefname{NODE}{LABEL}{MANUAL}
+% - set \printedrefname and \printedmanual
+%
+\def\getprintedrefname#1#2#3{%
+  % Get args without leading/trailing spaces.
+  \def\printedrefname{\ignorespaces #2}%
+  \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
+  %
+  \def\printedmanual{\ignorespaces #3}%
+  \setbox\printedmanualbox  = \hbox{\printedmanual\unskip}%
+  %
+  % If the printed reference name (arg #2) was not explicitly given in
+  % the @xref, figure out what we want to use.
+  \ifdim \wd\printedrefnamebox = 0pt
+    % No printed node name was explicitly given.
+    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
+      % Not auto section-title: use node name inside the square brackets.
+      \def\printedrefname{\ignorespaces #1}%
+    \else
+      % Auto section-title: use chapter/section title inside
+      % the square brackets if we have it.
+      \ifdim \wd\printedmanualbox > 0pt
+        % It is in another manual, so we don't have it; use node name.
+        \def\printedrefname{\ignorespaces #1}%
+      \else
+        \ifhavexrefs
+          % We (should) know the real title if we have the xref values.
+          \def\printedrefname{\refx{#1-title}}%
+        \else
+          % Otherwise just copy the Info node name.
+          \def\printedrefname{\ignorespaces #1}%
+        \fi%
+      \fi
+    \fi
+  \fi
+}
+
+% \startxreflink{NODE}{FILE} - start link in pdf output.
+\def\startxreflink#1#2{%
+  \ifpdforxetex
+    % For pdfTeX and LuaTeX
+    {\indexnofonts
+     \makevalueexpandable
+     \turnoffactive
+     % This expands tokens, so do it after making catcode changes, so _
+     % etc. don't get their TeX definitions.  This ignores all spaces in
+     % #2, including (wrongly) those in the middle of the filename.
+     \getfilename{#2}%
+     %
+     % This (wrongly) does not take account of leading or trailing
+     % spaces in #1, which should be ignored.
+     \setpdfdestname{#1}%
+     %
+     \ifx\pdfdestname\empty
+       \def\pdfdestname{Top}% no empty targets
+     \fi
+     %
+     \leavevmode
+     \ifpdf
+       \startlink attr{/Border [0 0 0]}%
+       \ifnum\filenamelength>0
+         goto file{\the\filename.pdf} name{\pdfdestname}%
+       \else
+         goto name{\pdfmkpgn{\pdfdestname}}%
+       \fi
+     \else % XeTeX
+       \ifnum\filenamelength>0
+         % With default settings,
+         % XeTeX (xdvipdfmx) replaces link destination names with integers.
+         % In this case, the replaced destination names of
+         % remote PDFs are no longer known.  In order to avoid a replacement,
+         % you can use xdvipdfmx's command line option `-C 0x0010'.
+         % If you use XeTeX 0.99996+ (TeX Live 2016+),
+         % this command line option is no longer necessary
+         % because we can use the `dvipdfmx:config' special.
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}%
+       \else
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoTo /D (\pdfdestname) >> >>}%
+       \fi
+     \fi
+    }%
+    \setcolor{\linkcolor}%
+  \fi
+}
+
+% can be overridden in translation files
+\def\putpageref#1{%
+  \space\putwordpage\tie\refx{#1-pg}}
+
+% Output a cross-manual xref to #1.  Used just above (twice).
+%
+% Only include the text "Section ``foo'' in" if the foo is neither
+% missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
+% "see The Foo Manual", the idea being to refer to the whole manual.
+%
+% But, this being TeX, we can't easily compare our node name against the
+% string "Top" while ignoring the possible spaces before and after in
+% the input.  By adding the arbitrary 7sp below, we make it much less
+% likely that a real node name would have the same width as "Top" (e.g.,
+% in a monospaced font).  Hopefully it will never happen in practice.
+%
+% For the same basic reason, we retypeset the "Top" at every
+% reference, since the current font is indeterminate.
+%
+\def\crossmanualxref#1{%
+  \setbox\toprefbox = \hbox{Top\kern7sp}%
+  \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+  \ifdim \wd2 > 7sp  % nonempty?
+    \ifdim \wd2 = \wd\toprefbox \else  % same as Top?
+      \putwordSection{} ``\printedrefname'' \putwordin{}\space
     \fi
   \fi
-  \endlink
-\endgroup}
+  #1%
+}
 
 % This macro is called from \xrefX for the `[nodename]' part of xref
 % output.  It's a separate macro only so it can be changed more easily,
@@ -7921,6 +9115,21 @@ end
 %
 \def\xrefprintnodename#1{[#1]}
 
+% @link{NODENAME, LABEL, MANUAL} - create a "plain" link, with no
+% page number.  Not useful if printed on paper.
+%
+\def\link#1{\linkX[#1,,,]}
+\def\linkX[#1,#2,#3,#4]{%
+  \begingroup
+  \unsepspaces
+  \getprintedrefname{#1}{#2}{#3}%
+  \startxreflink{#1}{#3}%
+  \printedrefname
+  \endlink
+  \endgroup
+}
+
+
 % Things referred to by \setref.
 %
 \def\Ynothing{}
@@ -7949,13 +9158,13 @@ end
   \fi\fi\fi
 }
 
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-%
-\def\refx#1#2{%
+% \refx{NAME} - reference a cross-reference string named NAME.
+\def\refx#1{%
+  \requireauxfile
   {%
     \indexnofonts
-    \otherbackslash
+    \turnoffactive
+    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\thisrefX
       \csname XR#1\endcsname
   }%
@@ -7977,23 +9186,30 @@ end
     % It's defined, so just use it.
     \thisrefX
   \fi
-  #2% Output the suffix in any case.
 }
 
-% This is the macro invoked by entries in the aux file.  Usually it's
-% just a \def (we prepend XR to the control sequence name to avoid
-% collisions).  But if this is a float type, we have more work to do.
+% This is the macro invoked by entries in the aux file.  Define a control
+% sequence for a cross-reference target (we prepend XR to the control sequence
+% name to avoid collisions).  The value is the page number.  If this is a float
+% type, we have more work to do.
 %
 \def\xrdef#1#2{%
-  {% The node name might contain 8-bit characters, which in our current
-   % implementation are changed to commands like @'e.  Don't let these
-   % mess up the control sequence name.
+  {% Expand the node or anchor name to remove control sequences.
+   % \turnoffactive stops 8-bit characters being changed to commands
+   % like @'e.  \refx does the same to retrieve the value in the definition.
     \indexnofonts
     \turnoffactive
+    \def\value##1{##1}%
     \xdef\safexrefname{#1}%
   }%
   %
-  \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
+  \bgroup
+    \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
+  \egroup
+  % We put the \gdef inside a group to avoid the definitions building up on
+  % TeX's save stack, which can cause it to run out of space for aux files with
+  % thousands of lines.  \gdef doesn't use the save stack, but \csname does
+  % when it defines an unknown control sequence as \relax.
   %
   % Was that xref control sequence that we just defined for a float?
   \expandafter\iffloat\csname XR\safexrefname\endcsname
@@ -8016,6 +9232,23 @@ end
   \fi
 }
 
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate at the beginning of the file.
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% Used when writing to the aux file, or when using data from it.
+\def\requireauxfile{%
+  \iflinks
+    \tryauxfile
+    % Open the new aux file.  TeX will close it automatically at exit.
+    \immediate\openout\auxfile=\jobname.aux
+  \fi
+  \global\let\requireauxfile=\relax   % Only do this once.
+}
+
 % Read the last existing aux file, if any.  No error if none exists.
 %
 \def\tryauxfile{%
@@ -8055,19 +9288,6 @@ end
   \catcode`\^^]=\other
   \catcode`\^^^=\other
   \catcode`\^^_=\other
-  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
-  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
-  % supported in the main text, it doesn't seem desirable.  Furthermore,
-  % that is not enough: for node names that actually contain a ^
-  % character, we would end up writing a line like this: 'xrdef {'hat
-  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
-  % argument, and \hat is not an expandable control sequence.  It could
-  % all be worked out, but why?  Either we support ^^ or we don't.
-  %
-  % The other change necessary for this was to define \auxhat:
-  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
-  % and then to call \auxhat in \setq.
-  %
   \catcode`\^=\other
   %
   % Special characters.  Should be turned off anyway, but...
@@ -8075,34 +9295,17 @@ end
   \catcode`\[=\other
   \catcode`\]=\other
   \catcode`\"=\other
-  \catcode`\_=\other
-  \catcode`\|=\other
-  \catcode`\<=\other
-  \catcode`\>=\other
+  \catcode`\_=\active
+  \catcode`\|=\active
+  \catcode`\<=\active
+  \catcode`\>=\active
   \catcode`\$=\other
   \catcode`\#=\other
   \catcode`\&=\other
   \catcode`\%=\other
   \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
   %
-  % This is to support \ in node names and titles, since the \
-  % characters end up in a \csname.  It's easier than
-  % leaving it active and making its active definition an actual \
-  % character.  What I don't understand is why it works in the *value*
-  % of the xrdef.  Seems like it should be a catcode12 \, and that
-  % should not typeset properly.  But it works, so I'm moving on for
-  % now.  --karl, 15jan04.
-  \catcode`\\=\other
-  %
-  % Make the characters 128-255 be printing characters.
-  {%
-    \count1=128
-    \def\loop{%
-      \catcode\count1=\other
-      \advance\count1 by 1
-      \ifnum \count1<256 \loop \fi
-    }%
-  }%
+  \catcode`\\=\active
   %
   % @ is our escape character in .aux files, and we need braces.
   \catcode`\{=1
@@ -8136,8 +9339,6 @@ end
 %
 % Auto-number footnotes.  Otherwise like plain.
 \gdef\footnote{%
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
   \global\advance\footnoteno by \@ne
   \edef\thisfootno{$^{\the\footnoteno}$}%
   %
@@ -8161,10 +9362,15 @@ end
 %
 \gdef\dofootnote{%
   \insert\footins\bgroup
+  %
+  % Nested footnotes are not supported in TeX, that would take a lot
+  % more work.  (\startsavinginserts does not suffice.)
+  \let\footnote=\errfootnotenest
+  %
   % We want to typeset this text as a normal paragraph, even if the
   % footnote reference occurs in (for example) a display environment.
   % So reset some parameters.
-  \hsize=\pagewidth
+  \hsize=\txipagewidth
   \interlinepenalty\interfootnotelinepenalty
   \splittopskip\ht\strutbox % top baseline for broken footnotes
   \splitmaxdepth\dp\strutbox
@@ -8198,13 +9404,24 @@ end
 }
 }%end \catcode `\@=11
 
+\def\errfootnotenest{%
+  \errhelp=\EMsimple
+  \errmessage{Nested footnotes not supported in texinfo.tex,
+    even though they work in makeinfo; sorry}
+}
+
+\def\errfootnoteheading{%
+  \errhelp=\EMsimple
+  \errmessage{Footnotes in chapters, sections, etc., are not supported}
+}
+
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
 % Similarly, if a @footnote appears inside an alignment, save the footnote
 % text to a box and make the \insert when a row of the table is finished.
 % And the same can be done for other insert classes.  --kasal, 16nov03.
-
+%
 % Replace the \insert primitive by a cheating macro.
 % Deeper inside, just make sure that the saved insertions are not spilled
 % out prematurely.
@@ -8278,10 +9495,10 @@ end
 \newif\ifwarnednoepsf
 \newhelp\noepsfhelp{epsf.tex must be installed for images to
   work.  It is also included in the Texinfo distribution, or you can get
-  it from ftp://tug.org/tex/epsf.tex.}
+  it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.}
 %
 \def\image#1{%
-  \ifx\epsfbox\thisiundefined
+  \ifx\epsfbox\thisisundefined
     \ifwarnednoepsf \else
       \errhelp = \noepsfhelp
       \errmessage{epsf.tex not found, images will be ignored}%
@@ -8291,6 +9508,12 @@ end
     \imagexxx #1,,,,,\finish
   \fi
 }
+
+% Approximate height of a line in the standard text font.
+\newdimen\capheight
+\setbox0=\vbox{\tenrm H}
+\capheight=\ht0
+
 %
 % Arguments to @image:
 % #1 is (mandatory) image filename; we tack on .eps extension.
@@ -8302,33 +9525,59 @@ end
 \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
   \catcode`\^^M = 5     % in case we're inside an example
   \normalturnoffactive  % allow _ et al. in names
-  % If the image is by itself, center it.
+  \makevalueexpandable
   \ifvmode
     \imagevmodetrue
-    \nobreak\medskip
+    \medskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
     % above and below.
-    \nobreak\vskip\parskip
-    \nobreak
+    \vskip\parskip
+    %
+    % Place image in a \vtop for a top page margin that is (close to) correct,
+    % as \topskip glue is relative to the first baseline.
+    \vtop\bgroup \kern -\capheight \vskip-\parskip
   \fi
   %
-  % Leave vertical mode so that indentation from an enclosing
-  % environment such as @quotation is respected.  On the other hand, if
-  % it's at the top level, we don't want the normal paragraph indentation.
-  \noindent
+  \ifx\centersub\centerV
+    % For @center @image, enter vertical mode and add vertical space
+    % Enter an extra \parskip because @center doesn't add space itself.
+    \vbox\bgroup\vskip\parskip\medskip\vskip\parskip
+  \else
+    % Enter horizontal mode so that indentation from an enclosing
+    %  environment such as @quotation is respected.
+    % However, if we're at the top level, we don't want the
+    %  normal paragraph indentation.
+    \imageindent
+  \fi
   %
   % Output the image.
   \ifpdf
+    % For pdfTeX and LuaTeX <= 0.80
     \dopdfimage{#1}{#2}{#3}%
   \else
-    % \epsfbox itself resets \epsf?size at each figure.
-    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-    \epsfbox{#1.eps}%
+    \ifx\XeTeXrevision\thisisundefined
+      % For epsf.tex
+      % \epsfbox itself resets \epsf?size at each figure.
+      \setbox0 = \hbox{\ignorespaces #2}%
+        \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+      \setbox0 = \hbox{\ignorespaces #3}%
+        \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+      \epsfbox{#1.eps}%
+    \else
+      % For XeTeX
+      \doxeteximage{#1}{#2}{#3}%
+    \fi
   \fi
   %
-  \ifimagevmode \medskip \fi  % space after the standalone image
+  \ifimagevmode
+    \egroup
+    \medskip  % space after a standalone image
+  \fi
+  \ifx\centersub\centerV % @center @image
+    \medskip
+    \egroup % close \vbox
+  \fi
 \endgroup}
 
 
@@ -8395,13 +9644,13 @@ end
       \global\advance\floatno by 1
       %
       {%
-        % This magic value for \lastsection is output by \setref as the
+        % This magic value for \currentsection is output by \setref as the
         % XREFLABEL-title value.  \xrefX uses it to distinguish float
         % labels (which have a completely different output format) from
         % node and anchor labels.  And \xrdef uses it to construct the
         % lists of floats.
         %
-        \edef\lastsection{\floatmagic=\safefloattype}%
+        \edef\currentsection{\floatmagic=\safefloattype}%
         \setref{\floatlabel}{Yfloat}%
       }%
     \fi
@@ -8444,7 +9693,7 @@ end
     %
     \ifx\thiscaption\empty \else
       \ifx\floatident\empty \else
-       \appendtomacro\captionline{: }% had ident, so need a colon between
+        \appendtomacro\captionline{: }% had ident, so need a colon between
       \fi
       %
       % caption text.
@@ -8468,32 +9717,20 @@ end
       % \floatlabel-lof.  Besides \floatident, we include the short
       % caption if specified, else the full caption if specified, else nothing.
       {%
+        \requireauxfile
         \atdummies
         %
-        % since we read the caption text in the macro world, where ^^M
-        % is turned into a normal character, we have to scan it back, so
-        % we don't write the literal three characters "^^M" into the aux file.
-       \scanexp{%
-         \xdef\noexpand\gtemp{%
-           \ifx\thisshortcaption\empty
-             \thiscaption
-           \else
-             \thisshortcaption
-           \fi
-         }%
-       }%
+        \ifx\thisshortcaption\empty
+          \def\gtemp{\thiscaption}%
+        \else
+          \def\gtemp{\thisshortcaption}%
+        \fi
         \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-         \ifx\gtemp\empty \else : \gtemp \fi}}%
+          \ifx\gtemp\empty \else : \gtemp \fi}}%
       }%
     \fi
   \egroup  % end of \vtop
   %
-  % place the captured inserts
-  %
-  % BEWARE: when the floats start floating, we have to issue warning
-  % whenever an insert appears inside a float which could possibly
-  % float. --kasal, 26may04
-  %
   \checkinserts
 }
 
@@ -8507,8 +9744,8 @@ end
 %
 \def\caption{\docaption\thiscaption}
 \def\shortcaption{\docaption\thisshortcaption}
-\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
-\def\defcaption#1#2{\egroup \def#1{#2}}
+\def\docaption{\checkenv\float \bgroup\scanctxt\docaptionz}
+\def\docaptionz#1#2{\egroup \def#1{#2}}
 
 % The parameter is the control sequence identifying the counter we are
 % going to use.  Create it if it doesn't exist and assign it to \floatno.
@@ -8536,7 +9773,7 @@ end
 
 % #1 is the control sequence we are passed; we expand into a conditional
 % which is true if #1 represents a float ref.  That is, the magic
-% \lastsection value which we \setref above.
+% \currentsection value which we \setref above.
 %
 \def\iffloat#1{\expandafter\doiffloat#1==\finish}
 %
@@ -8607,20 +9844,20 @@ end
 {
   \catcode`\_ = \active
   \globaldefs=1
-\parseargdef\documentlanguage{\begingroup
-  \let_=\normalunderscore  % normal _ character for filenames
+\parseargdef\documentlanguage{%
   \tex % read txi-??.tex file in plain TeX.
     % Read the file by the name they passed if it exists.
+    \let_ = \normalunderscore  % normal _ character for filename test
     \openin 1 txi-#1.tex
     \ifeof 1
-      \documentlanguagetrywithoutunderscore{#1_\finish}%
+      \documentlanguagetrywithoutunderscore #1_\finish
     \else
       \globaldefs = 1  % everything in the txi-LL files needs to persist
       \input txi-#1.tex
     \fi
     \closein 1
   \endgroup % end raw TeX
-\endgroup}
+}
 %
 % If they passed de_DE, and txi-de_DE.tex doesn't exist,
 % try txi-de.tex.
@@ -8668,6 +9905,70 @@ directory should work if nowhere else does.}
   \global\righthyphenmin = #3\relax
 }
 
+% XeTeX and LuaTeX can handle Unicode natively.
+% Their default I/O uses UTF-8 sequences instead of a byte-wise operation.
+% Other TeX engines' I/O (pdfTeX, etc.) is byte-wise.
+%
+\newif\iftxinativeunicodecapable
+\newif\iftxiusebytewiseio
+
+\ifx\XeTeXrevision\thisisundefined
+  \ifx\luatexversion\thisisundefined
+    \txinativeunicodecapablefalse
+    \txiusebytewiseiotrue
+  \else
+    \txinativeunicodecapabletrue
+    \txiusebytewiseiofalse
+  \fi
+\else
+  \txinativeunicodecapabletrue
+  \txiusebytewiseiofalse
+\fi
+
+% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
+% for non-UTF-8 (byte-wise) encodings.
+%
+\def\setbytewiseio{%
+  \ifx\XeTeXrevision\thisisundefined
+  \else
+    \XeTeXdefaultencoding "bytes"  % For subsequent files to be read
+    \XeTeXinputencoding "bytes"  % For document root file
+    % Unfortunately, there seems to be no corresponding XeTeX command for
+    % output encoding.  This is a problem for auxiliary index and TOC files.
+    % The only solution would be perhaps to write out @U{...} sequences in
+    % place of non-ASCII characters.
+  \fi
+
+  \ifx\luatexversion\thisisundefined
+  \else
+    \directlua{
+    local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
+    local function convert_char (char)
+      return utf8_char(byte(char))
+    end
+
+    local function convert_line (line)
+      return gsub(line, ".", convert_char)
+    end
+
+    callback.register("process_input_buffer", convert_line)
+
+    local function convert_line_out (line)
+      local line_out = ""
+      for c in string.utfvalues(line) do
+         line_out = line_out .. string.char(c)
+      end
+      return line_out
+    end
+
+    callback.register("process_output_buffer", convert_line_out)
+    }
+  \fi
+
+  \txiusebytewiseiotrue
+}
+
+
 % Helpers for encodings.
 % Set the catcode of characters 128 through 255 to the specified number.
 %
@@ -8690,7 +9991,9 @@ directory should work if nowhere else does.}
 % @documentencoding sets the definition of non-ASCII characters
 % according to the specified encoding.
 %
-\parseargdef\documentencoding{%
+\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz}
+\def\documentencodingzzz#1{%
+  %
   % Encoding being declared for the document.
   \def\declaredencoding{\csname #1.enc\endcsname}%
   %
@@ -8706,270 +10009,308 @@ directory should work if nowhere else does.}
      \asciichardefs
   %
   \else \ifx \declaredencoding \lattwo
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \lattwochardefs
   %
   \else \ifx \declaredencoding \latone
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \latonechardefs
   %
   \else \ifx \declaredencoding \latnine
+     \iftxinativeunicodecapable
+       \setbytewiseio
+     \fi
      \setnonasciicharscatcode\active
      \latninechardefs
   %
   \else \ifx \declaredencoding \utfeight
-     \setnonasciicharscatcode\active
-     \utfeightchardefs
+     \iftxinativeunicodecapable
+       % For native Unicode handling (XeTeX and LuaTeX)
+       \nativeunicodechardefs
+     \else
+       % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX).
+       % Since we already invoke \utfeightchardefs at the top level,
+       % making non-ascii chars active is sufficient.
+       \setnonasciicharscatcode\active
+     \fi
   %
   \else
-    \message{Unknown document encoding #1, ignoring.}%
+    \message{Ignoring unknown document encoding: #1.}%
   %
   \fi % utfeight
   \fi % latnine
   \fi % latone
   \fi % lattwo
   \fi % ascii
+  %
+  \ifx\XeTeXrevision\thisisundefined
+  \else
+    \ifx \declaredencoding \utfeight
+    \else
+      \ifx \declaredencoding \ascii
+      \else
+        \message{Warning: XeTeX with non-UTF-8 encodings cannot handle %
+        non-ASCII characters in auxiliary files.}%
+      \fi
+    \fi
+  \fi
 }
 
 % A message to be logged when using a character that isn't available
 % the default font encoding (OT1).
 %
-\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
+\def\missingcharmsg#1{\message{Character missing, sorry: #1.}}
 
 % Take account of \c (plain) vs. \, (Texinfo) difference.
 \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
 
-% First, make active non-ASCII characters in order for them to be
-% correctly categorized when TeX reads the replacement text of
-% macros containing the character definitions.
+\def\gdefchar#1#2{%
+\gdef#1{%
+   \ifpassthroughchars
+     \string#1%
+   \else
+     #2%
+   \fi
+}}
+
+\begingroup
+
+% Make non-ASCII characters active for defining the character definition
+% macros.
 \setnonasciicharscatcode\active
-%
+
 % Latin1 (ISO-8859-1) character definitions.
-\def\latonechardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\exclamdown}
-  \gdef^^a2{\missingcharmsg{CENT SIGN}}
-  \gdef^^a3{{\pounds}}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\missingcharmsg{YEN SIGN}}
-  \gdef^^a6{\missingcharmsg{BROKEN BAR}}
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\copyright}
-  \gdef^^aa{\ordf}
-  \gdef^^ab{\guillemetleft}
-  \gdef^^ac{$\lnot$}
-  \gdef^^ad{\-}
-  \gdef^^ae{\registeredsymbol}
-  \gdef^^af{\={}}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{$\pm$}
-  \gdef^^b2{$^2$}
-  \gdef^^b3{$^3$}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{$\mu$}
-  \gdef^^b6{\P}
-  %
-  \gdef^^b7{$^.$}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{$^1$}
-  \gdef^^ba{\ordm}
-  %
-  \gdef^^bb{\guillemetright}
-  \gdef^^bc{$1\over4$}
-  \gdef^^bd{$1\over2$}
-  \gdef^^be{$3\over4$}
-  \gdef^^bf{\questiondown}
-  %
-  \gdef^^c0{\`A}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\~A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\ringaccent A}
-  \gdef^^c6{\AE}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\`E}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\^E}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\`I}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\"I}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\~N}
-  \gdef^^d2{\`O}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\~O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\O}
-  \gdef^^d9{\`U}
-  \gdef^^da{\'U}
-  \gdef^^db{\^U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\TH}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\`a}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\~a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\ringaccent a}
-  \gdef^^e6{\ae}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\`e}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\^e}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\`{\dotless i}}
-  \gdef^^ed{\'{\dotless i}}
-  \gdef^^ee{\^{\dotless i}}
-  \gdef^^ef{\"{\dotless i}}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\~n}
-  \gdef^^f2{\`o}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\~o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\o}
-  \gdef^^f9{\`u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\^u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\th}
-  \gdef^^ff{\"y}
+\gdef\latonechardefs{%
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\exclamdown}
+  \gdefchar^^a2{{\tcfont \char162}} % cent
+  \gdefchar^^a3{\pounds{}}
+  \gdefchar^^a4{{\tcfont \char164}} % currency
+  \gdefchar^^a5{{\tcfont \char165}} % yen
+  \gdefchar^^a6{{\tcfont \char166}} % broken bar
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\copyright{}}
+  \gdefchar^^aa{\ordf}
+  \gdefchar^^ab{\guillemetleft{}}
+  \gdefchar^^ac{\ensuremath\lnot}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\registeredsymbol{}}
+  \gdefchar^^af{\={}}
+  %
+  \gdefchar^^b0{\textdegree}
+  \gdefchar^^b1{$\pm$}
+  \gdefchar^^b2{$^2$}
+  \gdefchar^^b3{$^3$}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{$\mu$}
+  \gdefchar^^b6{\P}
+  \gdefchar^^b7{\ensuremath\cdot}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{$^1$}
+  \gdefchar^^ba{\ordm}
+  \gdefchar^^bb{\guillemetright{}}
+  \gdefchar^^bc{$1\over4$}
+  \gdefchar^^bd{$1\over2$}
+  \gdefchar^^be{$3\over4$}
+  \gdefchar^^bf{\questiondown}
+  %
+  \gdefchar^^c0{\`A}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\~A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\ringaccent A}
+  \gdefchar^^c6{\AE}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\`E}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\^E}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\`I}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\"I}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\~N}
+  \gdefchar^^d2{\`O}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\~O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\O}
+  \gdefchar^^d9{\`U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\^U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\TH}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\`a}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\~a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\ringaccent a}
+  \gdefchar^^e6{\ae}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\`e}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\^e}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\`{\dotless i}}
+  \gdefchar^^ed{\'{\dotless i}}
+  \gdefchar^^ee{\^{\dotless i}}
+  \gdefchar^^ef{\"{\dotless i}}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\~n}
+  \gdefchar^^f2{\`o}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\~o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\o}
+  \gdefchar^^f9{\`u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\^u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\th}
+  \gdefchar^^ff{\"y}
 }
 
 % Latin9 (ISO-8859-15) encoding character definitions.
-\def\latninechardefs{%
+\gdef\latninechardefs{%
   % Encoding is almost identical to Latin1.
   \latonechardefs
   %
-  \gdef^^a4{\euro}
-  \gdef^^a6{\v S}
-  \gdef^^a8{\v s}
-  \gdef^^b4{\v Z}
-  \gdef^^b8{\v z}
-  \gdef^^bc{\OE}
-  \gdef^^bd{\oe}
-  \gdef^^be{\"Y}
+  \gdefchar^^a4{\euro{}}
+  \gdefchar^^a6{\v S}
+  \gdefchar^^a8{\v s}
+  \gdefchar^^b4{\v Z}
+  \gdefchar^^b8{\v z}
+  \gdefchar^^bc{\OE}
+  \gdefchar^^bd{\oe}
+  \gdefchar^^be{\"Y}
 }
 
 % Latin2 (ISO-8859-2) character definitions.
-\def\lattwochardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\ogonek{A}}
-  \gdef^^a2{\u{}}
-  \gdef^^a3{\L}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\v L}
-  \gdef^^a6{\'S}
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\v S}
-  \gdef^^aa{\cedilla S}
-  \gdef^^ab{\v T}
-  \gdef^^ac{\'Z}
-  \gdef^^ad{\-}
-  \gdef^^ae{\v Z}
-  \gdef^^af{\dotaccent Z}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{\ogonek{a}}
-  \gdef^^b2{\ogonek{ }}
-  \gdef^^b3{\l}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{\v l}
-  \gdef^^b6{\'s}
-  \gdef^^b7{\v{}}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{\v s}
-  \gdef^^ba{\cedilla s}
-  \gdef^^bb{\v t}
-  \gdef^^bc{\'z}
-  \gdef^^bd{\H{}}
-  \gdef^^be{\v z}
-  \gdef^^bf{\dotaccent z}
-  %
-  \gdef^^c0{\'R}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\u A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\'L}
-  \gdef^^c6{\'C}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\v C}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\ogonek{E}}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\v E}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\v D}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\'N}
-  \gdef^^d2{\v N}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\H O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\v R}
-  \gdef^^d9{\ringaccent U}
-  \gdef^^da{\'U}
-  \gdef^^db{\H U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\cedilla T}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\'r}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\u a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\'l}
-  \gdef^^e6{\'c}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\v c}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\ogonek{e}}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\v e}
-  \gdef^^ed{\'{\dotless{i}}}
-  \gdef^^ee{\^{\dotless{i}}}
-  \gdef^^ef{\v d}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\'n}
-  \gdef^^f2{\v n}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\H o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\v r}
-  \gdef^^f9{\ringaccent u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\H u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\cedilla t}
-  \gdef^^ff{\dotaccent{}}
-}
+\gdef\lattwochardefs{%
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\ogonek{A}}
+  \gdefchar^^a2{\u{}}
+  \gdefchar^^a3{\L}
+  \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}}
+  \gdefchar^^a5{\v L}
+  \gdefchar^^a6{\'S}
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\v S}
+  \gdefchar^^aa{\cedilla S}
+  \gdefchar^^ab{\v T}
+  \gdefchar^^ac{\'Z}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\v Z}
+  \gdefchar^^af{\dotaccent Z}
+  %
+  \gdefchar^^b0{\textdegree}
+  \gdefchar^^b1{\ogonek{a}}
+  \gdefchar^^b2{\ogonek{ }}
+  \gdefchar^^b3{\l}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{\v l}
+  \gdefchar^^b6{\'s}
+  \gdefchar^^b7{\v{}}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{\v s}
+  \gdefchar^^ba{\cedilla s}
+  \gdefchar^^bb{\v t}
+  \gdefchar^^bc{\'z}
+  \gdefchar^^bd{\H{}}
+  \gdefchar^^be{\v z}
+  \gdefchar^^bf{\dotaccent z}
+  %
+  \gdefchar^^c0{\'R}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\u A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\'L}
+  \gdefchar^^c6{\'C}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\v C}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\ogonek{E}}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\v E}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\v D}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\'N}
+  \gdefchar^^d2{\v N}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\H O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\v R}
+  \gdefchar^^d9{\ringaccent U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\H U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\cedilla T}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\'r}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\u a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\'l}
+  \gdefchar^^e6{\'c}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\v c}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\ogonek{e}}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\v e}
+  \gdefchar^^ed{\'{\dotless{i}}}
+  \gdefchar^^ee{\^{\dotless{i}}}
+  \gdefchar^^ef{\v d}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\'n}
+  \gdefchar^^f2{\v n}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\H o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\v r}
+  \gdefchar^^f9{\ringaccent u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\H u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\cedilla t}
+  \gdefchar^^ff{\dotaccent{}}
+}
+
+\endgroup % active chars
 
 % UTF-8 character definitions.
 %
@@ -8998,38 +10339,94 @@ directory should work if nowhere else does.}
   \fi
 }
 
+% Give non-ASCII bytes the active definitions for processing UTF-8 sequences
 \begingroup
   \catcode`\~13
+  \catcode`\$12
   \catcode`\"12
 
+  % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
+  % substituting ~ and $ with a character token of that value.
   \def\UTFviiiLoop{%
     \global\catcode\countUTFx\active
     \uccode`\~\countUTFx
+    \uccode`\$\countUTFx
     \uppercase\expandafter{\UTFviiiTmp}%
     \advance\countUTFx by 1
     \ifnum\countUTFx < \countUTFy
       \expandafter\UTFviiiLoop
     \fi}
 
+  % For bytes other than the first in a UTF-8 sequence.  Not expected to
+  % be expanded except when writing to auxiliary files.
+  \countUTFx = "80
+  \countUTFy = "C2
+  \def\UTFviiiTmp{%
+    \gdef~{%
+        \ifpassthroughchars $\fi}}%
+  \UTFviiiLoop
+
   \countUTFx = "C2
   \countUTFy = "E0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "E0
   \countUTFy = "F0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "F0
   \countUTFy = "F4
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiFourOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiFourOctets\expandafter$\fi
+        }}%
   \UTFviiiLoop
 \endgroup
 
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+  \expandafter\ifx\csname uni:#1\endcsname \relax
+    \iftxinativeunicodecapable
+      % All Unicode characters can be used if native Unicode handling is
+      % active.  However, if the font does not have the glyph,
+      % letters are missing.
+      \begingroup
+        \uccode`\.="#1\relax
+        \uppercase{.}
+      \endgroup
+    \else
+      \errhelp = \EMsimple
+      \errmessage{Unicode character U+#1 not supported, sorry}%
+    \fi
+  \else
+    \csname uni:#1\endcsname
+  \fi
+}
+
+% These macros are used here to construct the name of a control
+% sequence to be defined.
+\def\UTFviiiTwoOctetsName#1#2{%
+  \csname u8:#1\string #2\endcsname}%
+\def\UTFviiiThreeOctetsName#1#2#3{%
+  \csname u8:#1\string #2\string #3\endcsname}%
+\def\UTFviiiFourOctetsName#1#2#3#4{%
+  \csname u8:#1\string #2\string #3\string #4\endcsname}%
+
+% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
+% provide a definition macro to replace a Unicode character;
+% this gets used by the @U command
+%
 \begingroup
   \catcode`\"=12
   \catcode`\<=12
@@ -9038,464 +10435,941 @@ directory should work if nowhere else does.}
   \catcode`\;=12
   \catcode`\!=12
   \catcode`\~=13
-
-  \gdef\DeclareUnicodeCharacter#1#2{%
+  \gdef\DeclareUnicodeCharacterUTFviii#1#2{%
     \countUTFz = "#1\relax
-    %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
     \begingroup
       \parseXMLCharref
-      \def\UTFviiiTwoOctets##1##2{%
-        \csname u8:##1\string ##2\endcsname}%
-      \def\UTFviiiThreeOctets##1##2##3{%
-        \csname u8:##1\string ##2\string ##3\endcsname}%
-      \def\UTFviiiFourOctets##1##2##3##4{%
-        \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
-      \expandafter\expandafter\expandafter\expandafter
-       \expandafter\expandafter\expandafter
-       \gdef\UTFviiiTmp{#2}%
-    \endgroup}
 
+      % Give \u8:... its definition.  The sequence of seven \expandafter's
+      % expands after the \gdef three times, e.g.
+      %
+      % 1.  \UTFviiTwoOctetsName B1 B2
+      % 2.  \csname u8:B1 \string B2 \endcsname
+      % 3.  \u8: B1 B2  (a single control sequence token)
+      %
+      \expandafter\expandafter
+      \expandafter\expandafter
+      \expandafter\expandafter
+      \expandafter\gdef       \UTFviiiTmp{#2}%
+      %
+      \expandafter\ifx\csname uni:#1\endcsname \relax \else
+       \message{Internal error, already defined: #1}%
+      \fi
+      %
+      % define an additional control sequence for this code point.
+      \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
+    \endgroup}
+  %
+  % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
+  % to the corresponding UTF-8 sequence.
   \gdef\parseXMLCharref{%
-    \ifnum\countUTFz < "A0\relax
+    \ifnum\countUTFz < "20\relax
       \errhelp = \EMsimple
-      \errmessage{Cannot define Unicode char value < 00A0}%
+      \errmessage{Cannot define Unicode char value < 0020}%
     \else\ifnum\countUTFz < "800\relax
       \parseUTFviiiA,%
-      \parseUTFviiiB C\UTFviiiTwoOctets.,%
+      \parseUTFviiiB C\UTFviiiTwoOctetsName.,%
     \else\ifnum\countUTFz < "10000\relax
       \parseUTFviiiA;%
       \parseUTFviiiA,%
-      \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
+      \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}%
     \else
       \parseUTFviiiA;%
       \parseUTFviiiA,%
       \parseUTFviiiA!%
-      \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
+      \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}%
     \fi\fi\fi
   }
 
+  % Extract a byte from the end of the UTF-8 representation of \countUTFx.
+  % It must be a non-initial byte in the sequence.
+  % Change \uccode of #1 for it to be used in \parseUTFviiiB as one
+  % of the bytes.
   \gdef\parseUTFviiiA#1{%
     \countUTFx = \countUTFz
     \divide\countUTFz by 64
-    \countUTFy = \countUTFz
+    \countUTFy = \countUTFz  % Save to be the future value of \countUTFz.
     \multiply\countUTFz by 64
+
+    % \countUTFz is now \countUTFx with the last 5 bits cleared.  Subtract
+    % in order to get the last five bits.
     \advance\countUTFx by -\countUTFz
+
+    % Convert this to the byte in the UTF-8 sequence.
     \advance\countUTFx by 128
     \uccode `#1\countUTFx
     \countUTFz = \countUTFy}
 
+  % Used to put a UTF-8 byte sequence into \UTFviiiTmp
+  % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8
+  %    sequence.
+  % #2 is one of the \UTFviii*OctetsName macros.
+  % #3 is always a full stop (.)
+  % #4 is a template for the other bytes in the sequence.  The values for these
+  %    bytes is substituted in here with \uppercase using the \uccode's.
   \gdef\parseUTFviiiB#1#2#3#4{%
     \advance\countUTFz by "#10\relax
     \uccode `#3\countUTFz
     \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
 \endgroup
 
+% For native Unicode handling (XeTeX and LuaTeX),
+% provide a definition macro that sets a catcode to `other' non-globally
+%
+\def\DeclareUnicodeCharacterNativeOther#1#2{%
+  \catcode"#1=\other
+}
+
+% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
+% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
+% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
+% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
+% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
+%
+% Many of our renditions are less than wonderful, and all the missing
+% characters are available somewhere.  Loading the necessary fonts
+% awaits user request.  We can't truly support Unicode without
+% reimplementing everything that's been done in LaTeX for many years,
+% plus probably using luatex or xetex, and who knows what else.
+% We won't be doing that here in this simple file.  But we can try to at
+% least make most of the characters not bomb out.
+%
+\def\unicodechardefs{%
+  \DeclareUnicodeCharacter{0020}{ } % space
+  \DeclareUnicodeCharacter{0021}{\char"21 }% % space to terminate number
+  \DeclareUnicodeCharacter{0022}{\char"22 }%
+  \DeclareUnicodeCharacter{0023}{\char"23 }%
+  \DeclareUnicodeCharacter{0024}{\char"24 }%
+  \DeclareUnicodeCharacter{0025}{\char"25 }%
+  \DeclareUnicodeCharacter{0026}{\char"26 }%
+  \DeclareUnicodeCharacter{0027}{\char"27 }%
+  \DeclareUnicodeCharacter{0028}{\char"28 }%
+  \DeclareUnicodeCharacter{0029}{\char"29 }%
+  \DeclareUnicodeCharacter{002A}{\char"2A }%
+  \DeclareUnicodeCharacter{002B}{\char"2B }%
+  \DeclareUnicodeCharacter{002C}{\char"2C }%
+  \DeclareUnicodeCharacter{002D}{\char"2D }%
+  \DeclareUnicodeCharacter{002E}{\char"2E }%
+  \DeclareUnicodeCharacter{002F}{\char"2F }%
+  \DeclareUnicodeCharacter{0030}{0}%
+  \DeclareUnicodeCharacter{0031}{1}%
+  \DeclareUnicodeCharacter{0032}{2}%
+  \DeclareUnicodeCharacter{0033}{3}%
+  \DeclareUnicodeCharacter{0034}{4}%
+  \DeclareUnicodeCharacter{0035}{5}%
+  \DeclareUnicodeCharacter{0036}{6}%
+  \DeclareUnicodeCharacter{0037}{7}%
+  \DeclareUnicodeCharacter{0038}{8}%
+  \DeclareUnicodeCharacter{0039}{9}%
+  \DeclareUnicodeCharacter{003A}{\char"3A }%
+  \DeclareUnicodeCharacter{003B}{\char"3B }%
+  \DeclareUnicodeCharacter{003C}{\char"3C }%
+  \DeclareUnicodeCharacter{003D}{\char"3D }%
+  \DeclareUnicodeCharacter{003E}{\char"3E }%
+  \DeclareUnicodeCharacter{003F}{\char"3F }%
+  \DeclareUnicodeCharacter{0040}{\char"40 }%
+  \DeclareUnicodeCharacter{0041}{A}%
+  \DeclareUnicodeCharacter{0042}{B}%
+  \DeclareUnicodeCharacter{0043}{C}%
+  \DeclareUnicodeCharacter{0044}{D}%
+  \DeclareUnicodeCharacter{0045}{E}%
+  \DeclareUnicodeCharacter{0046}{F}%
+  \DeclareUnicodeCharacter{0047}{G}%
+  \DeclareUnicodeCharacter{0048}{H}%
+  \DeclareUnicodeCharacter{0049}{I}%
+  \DeclareUnicodeCharacter{004A}{J}%
+  \DeclareUnicodeCharacter{004B}{K}%
+  \DeclareUnicodeCharacter{004C}{L}%
+  \DeclareUnicodeCharacter{004D}{M}%
+  \DeclareUnicodeCharacter{004E}{N}%
+  \DeclareUnicodeCharacter{004F}{O}%
+  \DeclareUnicodeCharacter{0050}{P}%
+  \DeclareUnicodeCharacter{0051}{Q}%
+  \DeclareUnicodeCharacter{0052}{R}%
+  \DeclareUnicodeCharacter{0053}{S}%
+  \DeclareUnicodeCharacter{0054}{T}%
+  \DeclareUnicodeCharacter{0055}{U}%
+  \DeclareUnicodeCharacter{0056}{V}%
+  \DeclareUnicodeCharacter{0057}{W}%
+  \DeclareUnicodeCharacter{0058}{X}%
+  \DeclareUnicodeCharacter{0059}{Y}%
+  \DeclareUnicodeCharacter{005A}{Z}%
+  \DeclareUnicodeCharacter{005B}{\char"5B }%
+  \DeclareUnicodeCharacter{005C}{\char"5C }%
+  \DeclareUnicodeCharacter{005D}{\char"5D }%
+  \DeclareUnicodeCharacter{005E}{\char"5E }%
+  \DeclareUnicodeCharacter{005F}{\char"5F }%
+  \DeclareUnicodeCharacter{0060}{\char"60 }%
+  \DeclareUnicodeCharacter{0061}{a}%
+  \DeclareUnicodeCharacter{0062}{b}%
+  \DeclareUnicodeCharacter{0063}{c}%
+  \DeclareUnicodeCharacter{0064}{d}%
+  \DeclareUnicodeCharacter{0065}{e}%
+  \DeclareUnicodeCharacter{0066}{f}%
+  \DeclareUnicodeCharacter{0067}{g}%
+  \DeclareUnicodeCharacter{0068}{h}%
+  \DeclareUnicodeCharacter{0069}{i}%
+  \DeclareUnicodeCharacter{006A}{j}%
+  \DeclareUnicodeCharacter{006B}{k}%
+  \DeclareUnicodeCharacter{006C}{l}%
+  \DeclareUnicodeCharacter{006D}{m}%
+  \DeclareUnicodeCharacter{006E}{n}%
+  \DeclareUnicodeCharacter{006F}{o}%
+  \DeclareUnicodeCharacter{0070}{p}%
+  \DeclareUnicodeCharacter{0071}{q}%
+  \DeclareUnicodeCharacter{0072}{r}%
+  \DeclareUnicodeCharacter{0073}{s}%
+  \DeclareUnicodeCharacter{0074}{t}%
+  \DeclareUnicodeCharacter{0075}{u}%
+  \DeclareUnicodeCharacter{0076}{v}%
+  \DeclareUnicodeCharacter{0077}{w}%
+  \DeclareUnicodeCharacter{0078}{x}%
+  \DeclareUnicodeCharacter{0079}{y}%
+  \DeclareUnicodeCharacter{007A}{z}%
+  \DeclareUnicodeCharacter{007B}{\char"7B }%
+  \DeclareUnicodeCharacter{007C}{\char"7C }%
+  \DeclareUnicodeCharacter{007D}{\char"7D }%
+  \DeclareUnicodeCharacter{007E}{\char"7E }%
+  % \DeclareUnicodeCharacter{007F}{} % DEL
+  %
+  \DeclareUnicodeCharacter{00A0}{\tie}%
+  \DeclareUnicodeCharacter{00A1}{\exclamdown}%
+  \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent
+  \DeclareUnicodeCharacter{00A3}{\pounds{}}%
+  \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency
+  \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen
+  \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar
+  \DeclareUnicodeCharacter{00A7}{\S}%
+  \DeclareUnicodeCharacter{00A8}{\"{ }}%
+  \DeclareUnicodeCharacter{00A9}{\copyright{}}%
+  \DeclareUnicodeCharacter{00AA}{\ordf}%
+  \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}%
+  \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}%
+  \DeclareUnicodeCharacter{00AD}{\-}%
+  \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
+  \DeclareUnicodeCharacter{00AF}{\={ }}%
+  %
+  \DeclareUnicodeCharacter{00B0}{\textdegree}%
+  \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
+  \DeclareUnicodeCharacter{00B2}{$^2$}%
+  \DeclareUnicodeCharacter{00B3}{$^3$}%
+  \DeclareUnicodeCharacter{00B4}{\'{ }}%
+  \DeclareUnicodeCharacter{00B5}{$\mu$}%
+  \DeclareUnicodeCharacter{00B6}{\P}%
+  \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}%
+  \DeclareUnicodeCharacter{00B8}{\cedilla{ }}%
+  \DeclareUnicodeCharacter{00B9}{$^1$}%
+  \DeclareUnicodeCharacter{00BA}{\ordm}%
+  \DeclareUnicodeCharacter{00BB}{\guillemetright{}}%
+  \DeclareUnicodeCharacter{00BC}{$1\over4$}%
+  \DeclareUnicodeCharacter{00BD}{$1\over2$}%
+  \DeclareUnicodeCharacter{00BE}{$3\over4$}%
+  \DeclareUnicodeCharacter{00BF}{\questiondown}%
+  %
+  \DeclareUnicodeCharacter{00C0}{\`A}%
+  \DeclareUnicodeCharacter{00C1}{\'A}%
+  \DeclareUnicodeCharacter{00C2}{\^A}%
+  \DeclareUnicodeCharacter{00C3}{\~A}%
+  \DeclareUnicodeCharacter{00C4}{\"A}%
+  \DeclareUnicodeCharacter{00C5}{\AA}%
+  \DeclareUnicodeCharacter{00C6}{\AE}%
+  \DeclareUnicodeCharacter{00C7}{\cedilla{C}}%
+  \DeclareUnicodeCharacter{00C8}{\`E}%
+  \DeclareUnicodeCharacter{00C9}{\'E}%
+  \DeclareUnicodeCharacter{00CA}{\^E}%
+  \DeclareUnicodeCharacter{00CB}{\"E}%
+  \DeclareUnicodeCharacter{00CC}{\`I}%
+  \DeclareUnicodeCharacter{00CD}{\'I}%
+  \DeclareUnicodeCharacter{00CE}{\^I}%
+  \DeclareUnicodeCharacter{00CF}{\"I}%
+  %
+  \DeclareUnicodeCharacter{00D0}{\DH}%
+  \DeclareUnicodeCharacter{00D1}{\~N}%
+  \DeclareUnicodeCharacter{00D2}{\`O}%
+  \DeclareUnicodeCharacter{00D3}{\'O}%
+  \DeclareUnicodeCharacter{00D4}{\^O}%
+  \DeclareUnicodeCharacter{00D5}{\~O}%
+  \DeclareUnicodeCharacter{00D6}{\"O}%
+  \DeclareUnicodeCharacter{00D7}{\ensuremath\times}%
+  \DeclareUnicodeCharacter{00D8}{\O}%
+  \DeclareUnicodeCharacter{00D9}{\`U}%
+  \DeclareUnicodeCharacter{00DA}{\'U}%
+  \DeclareUnicodeCharacter{00DB}{\^U}%
+  \DeclareUnicodeCharacter{00DC}{\"U}%
+  \DeclareUnicodeCharacter{00DD}{\'Y}%
+  \DeclareUnicodeCharacter{00DE}{\TH}%
+  \DeclareUnicodeCharacter{00DF}{\ss}%
+  %
+  \DeclareUnicodeCharacter{00E0}{\`a}%
+  \DeclareUnicodeCharacter{00E1}{\'a}%
+  \DeclareUnicodeCharacter{00E2}{\^a}%
+  \DeclareUnicodeCharacter{00E3}{\~a}%
+  \DeclareUnicodeCharacter{00E4}{\"a}%
+  \DeclareUnicodeCharacter{00E5}{\aa}%
+  \DeclareUnicodeCharacter{00E6}{\ae}%
+  \DeclareUnicodeCharacter{00E7}{\cedilla{c}}%
+  \DeclareUnicodeCharacter{00E8}{\`e}%
+  \DeclareUnicodeCharacter{00E9}{\'e}%
+  \DeclareUnicodeCharacter{00EA}{\^e}%
+  \DeclareUnicodeCharacter{00EB}{\"e}%
+  \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}%
+  \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}%
+  %
+  \DeclareUnicodeCharacter{00F0}{\dh}%
+  \DeclareUnicodeCharacter{00F1}{\~n}%
+  \DeclareUnicodeCharacter{00F2}{\`o}%
+  \DeclareUnicodeCharacter{00F3}{\'o}%
+  \DeclareUnicodeCharacter{00F4}{\^o}%
+  \DeclareUnicodeCharacter{00F5}{\~o}%
+  \DeclareUnicodeCharacter{00F6}{\"o}%
+  \DeclareUnicodeCharacter{00F7}{\ensuremath\div}%
+  \DeclareUnicodeCharacter{00F8}{\o}%
+  \DeclareUnicodeCharacter{00F9}{\`u}%
+  \DeclareUnicodeCharacter{00FA}{\'u}%
+  \DeclareUnicodeCharacter{00FB}{\^u}%
+  \DeclareUnicodeCharacter{00FC}{\"u}%
+  \DeclareUnicodeCharacter{00FD}{\'y}%
+  \DeclareUnicodeCharacter{00FE}{\th}%
+  \DeclareUnicodeCharacter{00FF}{\"y}%
+  %
+  \DeclareUnicodeCharacter{0100}{\=A}%
+  \DeclareUnicodeCharacter{0101}{\=a}%
+  \DeclareUnicodeCharacter{0102}{\u{A}}%
+  \DeclareUnicodeCharacter{0103}{\u{a}}%
+  \DeclareUnicodeCharacter{0104}{\ogonek{A}}%
+  \DeclareUnicodeCharacter{0105}{\ogonek{a}}%
+  \DeclareUnicodeCharacter{0106}{\'C}%
+  \DeclareUnicodeCharacter{0107}{\'c}%
+  \DeclareUnicodeCharacter{0108}{\^C}%
+  \DeclareUnicodeCharacter{0109}{\^c}%
+  \DeclareUnicodeCharacter{010A}{\dotaccent{C}}%
+  \DeclareUnicodeCharacter{010B}{\dotaccent{c}}%
+  \DeclareUnicodeCharacter{010C}{\v{C}}%
+  \DeclareUnicodeCharacter{010D}{\v{c}}%
+  \DeclareUnicodeCharacter{010E}{\v{D}}%
+  \DeclareUnicodeCharacter{010F}{d'}%
+  %
+  \DeclareUnicodeCharacter{0110}{\DH}%
+  \DeclareUnicodeCharacter{0111}{\dh}%
+  \DeclareUnicodeCharacter{0112}{\=E}%
+  \DeclareUnicodeCharacter{0113}{\=e}%
+  \DeclareUnicodeCharacter{0114}{\u{E}}%
+  \DeclareUnicodeCharacter{0115}{\u{e}}%
+  \DeclareUnicodeCharacter{0116}{\dotaccent{E}}%
+  \DeclareUnicodeCharacter{0117}{\dotaccent{e}}%
+  \DeclareUnicodeCharacter{0118}{\ogonek{E}}%
+  \DeclareUnicodeCharacter{0119}{\ogonek{e}}%
+  \DeclareUnicodeCharacter{011A}{\v{E}}%
+  \DeclareUnicodeCharacter{011B}{\v{e}}%
+  \DeclareUnicodeCharacter{011C}{\^G}%
+  \DeclareUnicodeCharacter{011D}{\^g}%
+  \DeclareUnicodeCharacter{011E}{\u{G}}%
+  \DeclareUnicodeCharacter{011F}{\u{g}}%
+  %
+  \DeclareUnicodeCharacter{0120}{\dotaccent{G}}%
+  \DeclareUnicodeCharacter{0121}{\dotaccent{g}}%
+  \DeclareUnicodeCharacter{0122}{\cedilla{G}}%
+  \DeclareUnicodeCharacter{0123}{\cedilla{g}}%
+  \DeclareUnicodeCharacter{0124}{\^H}%
+  \DeclareUnicodeCharacter{0125}{\^h}%
+  \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}%
+  \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}%
+  \DeclareUnicodeCharacter{0128}{\~I}%
+  \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}%
+  \DeclareUnicodeCharacter{012A}{\=I}%
+  \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}%
+  \DeclareUnicodeCharacter{012C}{\u{I}}%
+  \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}%
+  \DeclareUnicodeCharacter{012E}{\ogonek{I}}%
+  \DeclareUnicodeCharacter{012F}{\ogonek{i}}%
+  %
+  \DeclareUnicodeCharacter{0130}{\dotaccent{I}}%
+  \DeclareUnicodeCharacter{0131}{\dotless{i}}%
+  \DeclareUnicodeCharacter{0132}{IJ}%
+  \DeclareUnicodeCharacter{0133}{ij}%
+  \DeclareUnicodeCharacter{0134}{\^J}%
+  \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}%
+  \DeclareUnicodeCharacter{0136}{\cedilla{K}}%
+  \DeclareUnicodeCharacter{0137}{\cedilla{k}}%
+  \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}%
+  \DeclareUnicodeCharacter{0139}{\'L}%
+  \DeclareUnicodeCharacter{013A}{\'l}%
+  \DeclareUnicodeCharacter{013B}{\cedilla{L}}%
+  \DeclareUnicodeCharacter{013C}{\cedilla{l}}%
+  \DeclareUnicodeCharacter{013D}{L'}% should kern
+  \DeclareUnicodeCharacter{013E}{l'}% should kern
+  \DeclareUnicodeCharacter{013F}{L\U{00B7}}%
+  %
+  \DeclareUnicodeCharacter{0140}{l\U{00B7}}%
+  \DeclareUnicodeCharacter{0141}{\L}%
+  \DeclareUnicodeCharacter{0142}{\l}%
+  \DeclareUnicodeCharacter{0143}{\'N}%
+  \DeclareUnicodeCharacter{0144}{\'n}%
+  \DeclareUnicodeCharacter{0145}{\cedilla{N}}%
+  \DeclareUnicodeCharacter{0146}{\cedilla{n}}%
+  \DeclareUnicodeCharacter{0147}{\v{N}}%
+  \DeclareUnicodeCharacter{0148}{\v{n}}%
+  \DeclareUnicodeCharacter{0149}{'n}%
+  \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}%
+  \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}%
+  \DeclareUnicodeCharacter{014C}{\=O}%
+  \DeclareUnicodeCharacter{014D}{\=o}%
+  \DeclareUnicodeCharacter{014E}{\u{O}}%
+  \DeclareUnicodeCharacter{014F}{\u{o}}%
+  %
+  \DeclareUnicodeCharacter{0150}{\H{O}}%
+  \DeclareUnicodeCharacter{0151}{\H{o}}%
+  \DeclareUnicodeCharacter{0152}{\OE}%
+  \DeclareUnicodeCharacter{0153}{\oe}%
+  \DeclareUnicodeCharacter{0154}{\'R}%
+  \DeclareUnicodeCharacter{0155}{\'r}%
+  \DeclareUnicodeCharacter{0156}{\cedilla{R}}%
+  \DeclareUnicodeCharacter{0157}{\cedilla{r}}%
+  \DeclareUnicodeCharacter{0158}{\v{R}}%
+  \DeclareUnicodeCharacter{0159}{\v{r}}%
+  \DeclareUnicodeCharacter{015A}{\'S}%
+  \DeclareUnicodeCharacter{015B}{\'s}%
+  \DeclareUnicodeCharacter{015C}{\^S}%
+  \DeclareUnicodeCharacter{015D}{\^s}%
+  \DeclareUnicodeCharacter{015E}{\cedilla{S}}%
+  \DeclareUnicodeCharacter{015F}{\cedilla{s}}%
+  %
+  \DeclareUnicodeCharacter{0160}{\v{S}}%
+  \DeclareUnicodeCharacter{0161}{\v{s}}%
+  \DeclareUnicodeCharacter{0162}{\cedilla{T}}%
+  \DeclareUnicodeCharacter{0163}{\cedilla{t}}%
+  \DeclareUnicodeCharacter{0164}{\v{T}}%
+  \DeclareUnicodeCharacter{0165}{\v{t}}%
+  \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}%
+  \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}%
+  \DeclareUnicodeCharacter{0168}{\~U}%
+  \DeclareUnicodeCharacter{0169}{\~u}%
+  \DeclareUnicodeCharacter{016A}{\=U}%
+  \DeclareUnicodeCharacter{016B}{\=u}%
+  \DeclareUnicodeCharacter{016C}{\u{U}}%
+  \DeclareUnicodeCharacter{016D}{\u{u}}%
+  \DeclareUnicodeCharacter{016E}{\ringaccent{U}}%
+  \DeclareUnicodeCharacter{016F}{\ringaccent{u}}%
+  %
+  \DeclareUnicodeCharacter{0170}{\H{U}}%
+  \DeclareUnicodeCharacter{0171}{\H{u}}%
+  \DeclareUnicodeCharacter{0172}{\ogonek{U}}%
+  \DeclareUnicodeCharacter{0173}{\ogonek{u}}%
+  \DeclareUnicodeCharacter{0174}{\^W}%
+  \DeclareUnicodeCharacter{0175}{\^w}%
+  \DeclareUnicodeCharacter{0176}{\^Y}%
+  \DeclareUnicodeCharacter{0177}{\^y}%
+  \DeclareUnicodeCharacter{0178}{\"Y}%
+  \DeclareUnicodeCharacter{0179}{\'Z}%
+  \DeclareUnicodeCharacter{017A}{\'z}%
+  \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}%
+  \DeclareUnicodeCharacter{017C}{\dotaccent{z}}%
+  \DeclareUnicodeCharacter{017D}{\v{Z}}%
+  \DeclareUnicodeCharacter{017E}{\v{z}}%
+  \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}%
+  %
+  \DeclareUnicodeCharacter{01C4}{D\v{Z}}%
+  \DeclareUnicodeCharacter{01C5}{D\v{z}}%
+  \DeclareUnicodeCharacter{01C6}{d\v{z}}%
+  \DeclareUnicodeCharacter{01C7}{LJ}%
+  \DeclareUnicodeCharacter{01C8}{Lj}%
+  \DeclareUnicodeCharacter{01C9}{lj}%
+  \DeclareUnicodeCharacter{01CA}{NJ}%
+  \DeclareUnicodeCharacter{01CB}{Nj}%
+  \DeclareUnicodeCharacter{01CC}{nj}%
+  \DeclareUnicodeCharacter{01CD}{\v{A}}%
+  \DeclareUnicodeCharacter{01CE}{\v{a}}%
+  \DeclareUnicodeCharacter{01CF}{\v{I}}%
+  %
+  \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}%
+  \DeclareUnicodeCharacter{01D1}{\v{O}}%
+  \DeclareUnicodeCharacter{01D2}{\v{o}}%
+  \DeclareUnicodeCharacter{01D3}{\v{U}}%
+  \DeclareUnicodeCharacter{01D4}{\v{u}}%
+  %
+  \DeclareUnicodeCharacter{01E2}{\={\AE}}%
+  \DeclareUnicodeCharacter{01E3}{\={\ae}}%
+  \DeclareUnicodeCharacter{01E6}{\v{G}}%
+  \DeclareUnicodeCharacter{01E7}{\v{g}}%
+  \DeclareUnicodeCharacter{01E8}{\v{K}}%
+  \DeclareUnicodeCharacter{01E9}{\v{k}}%
+  %
+  \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}%
+  \DeclareUnicodeCharacter{01F1}{DZ}%
+  \DeclareUnicodeCharacter{01F2}{Dz}%
+  \DeclareUnicodeCharacter{01F3}{dz}%
+  \DeclareUnicodeCharacter{01F4}{\'G}%
+  \DeclareUnicodeCharacter{01F5}{\'g}%
+  \DeclareUnicodeCharacter{01F8}{\`N}%
+  \DeclareUnicodeCharacter{01F9}{\`n}%
+  \DeclareUnicodeCharacter{01FC}{\'{\AE}}%
+  \DeclareUnicodeCharacter{01FD}{\'{\ae}}%
+  \DeclareUnicodeCharacter{01FE}{\'{\O}}%
+  \DeclareUnicodeCharacter{01FF}{\'{\o}}%
+  %
+  \DeclareUnicodeCharacter{021E}{\v{H}}%
+  \DeclareUnicodeCharacter{021F}{\v{h}}%
+  %
+  \DeclareUnicodeCharacter{0226}{\dotaccent{A}}%
+  \DeclareUnicodeCharacter{0227}{\dotaccent{a}}%
+  \DeclareUnicodeCharacter{0228}{\cedilla{E}}%
+  \DeclareUnicodeCharacter{0229}{\cedilla{e}}%
+  \DeclareUnicodeCharacter{022E}{\dotaccent{O}}%
+  \DeclareUnicodeCharacter{022F}{\dotaccent{o}}%
+  %
+  \DeclareUnicodeCharacter{0232}{\=Y}%
+  \DeclareUnicodeCharacter{0233}{\=y}%
+  \DeclareUnicodeCharacter{0237}{\dotless{j}}%
+  %
+  \DeclareUnicodeCharacter{02BC}{'}%
+  %
+  \DeclareUnicodeCharacter{02DB}{\ogonek{ }}%
+  %
+  % Greek letters upper case
+  \DeclareUnicodeCharacter{0391}{{\it A}}%
+  \DeclareUnicodeCharacter{0392}{{\it B}}%
+  \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}%
+  \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}%
+  \DeclareUnicodeCharacter{0395}{{\it E}}%
+  \DeclareUnicodeCharacter{0396}{{\it Z}}%
+  \DeclareUnicodeCharacter{0397}{{\it H}}%
+  \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}%
+  \DeclareUnicodeCharacter{0399}{{\it I}}%
+  \DeclareUnicodeCharacter{039A}{{\it K}}%
+  \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}%
+  \DeclareUnicodeCharacter{039C}{{\it M}}%
+  \DeclareUnicodeCharacter{039D}{{\it N}}%
+  \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}%
+  \DeclareUnicodeCharacter{039F}{{\it O}}%
+  \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}%
+  \DeclareUnicodeCharacter{03A1}{{\it P}}%
+  %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma
+  \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}%
+  \DeclareUnicodeCharacter{03A4}{{\it T}}%
+  \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}%
+  \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}%
+  \DeclareUnicodeCharacter{03A7}{{\it X}}%
+  \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}%
+  \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}%
+  %
+  % Vowels with accents
+  \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}%
+  \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}%
+  \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}%
+  \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}%
+  \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}%
+  \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}%
+  %
+  % Standalone accent
+  \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}%
+  %
+  % Greek letters lower case
+  \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}%
+  \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}%
+  \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}%
+  \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}%
+  \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}%
+  \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}%
+  \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}%
+  \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}%
+  \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}%
+  \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}%
+  \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}%
+  \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}%
+  \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}%
+  \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}%
+  \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron
+  \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}%
+  \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}%
+  \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}%
+  \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}%
+  \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}%
+  \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}%
+  \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}%
+  \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}%
+  \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}%
+  \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}%
+  %
+  % More Greek vowels with accents
+  \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}%
+  \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}%
+  \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}%
+  \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}%
+  \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}%
+  %
+  % Variant Greek letters
+  \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}%
+  \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}%
+  \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}%
+  %
+  \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}%
+  \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}%
+  \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}%
+  \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}%
+  \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}%
+  \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}%
+  \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}%
+  \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}%
+  \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}%
+  \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}%
+  \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}%
+  \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}%
+  %
+  \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}%
+  \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}%
+  %
+  \DeclareUnicodeCharacter{1E20}{\=G}%
+  \DeclareUnicodeCharacter{1E21}{\=g}%
+  \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}%
+  \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}%
+  \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}%
+  \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}%
+  \DeclareUnicodeCharacter{1E26}{\"H}%
+  \DeclareUnicodeCharacter{1E27}{\"h}%
+  %
+  \DeclareUnicodeCharacter{1E30}{\'K}%
+  \DeclareUnicodeCharacter{1E31}{\'k}%
+  \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}%
+  \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}%
+  \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}%
+  \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}%
+  \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}%
+  \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}%
+  \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}%
+  \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}%
+  \DeclareUnicodeCharacter{1E3E}{\'M}%
+  \DeclareUnicodeCharacter{1E3F}{\'m}%
+  %
+  \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}%
+  \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}%
+  \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}%
+  \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}%
+  \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}%
+  \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}%
+  \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}%
+  \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}%
+  \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}%
+  \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}%
+  %
+  \DeclareUnicodeCharacter{1E54}{\'P}%
+  \DeclareUnicodeCharacter{1E55}{\'p}%
+  \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}%
+  \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}%
+  \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}%
+  \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}%
+  \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}%
+  \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}%
+  \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}%
+  \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}%
+  %
+  \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}%
+  \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}%
+  \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}%
+  \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}%
+  \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}%
+  \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}%
+  \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}%
+  \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}%
+  \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}%
+  \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}%
+  %
+  \DeclareUnicodeCharacter{1E7C}{\~V}%
+  \DeclareUnicodeCharacter{1E7D}{\~v}%
+  \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}%
+  \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}%
+  %
+  \DeclareUnicodeCharacter{1E80}{\`W}%
+  \DeclareUnicodeCharacter{1E81}{\`w}%
+  \DeclareUnicodeCharacter{1E82}{\'W}%
+  \DeclareUnicodeCharacter{1E83}{\'w}%
+  \DeclareUnicodeCharacter{1E84}{\"W}%
+  \DeclareUnicodeCharacter{1E85}{\"w}%
+  \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}%
+  \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}%
+  \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}%
+  \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}%
+  \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}%
+  \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}%
+  \DeclareUnicodeCharacter{1E8C}{\"X}%
+  \DeclareUnicodeCharacter{1E8D}{\"x}%
+  \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}%
+  \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}%
+  %
+  \DeclareUnicodeCharacter{1E90}{\^Z}%
+  \DeclareUnicodeCharacter{1E91}{\^z}%
+  \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}%
+  \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}%
+  \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}%
+  \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}%
+  \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}%
+  \DeclareUnicodeCharacter{1E97}{\"t}%
+  \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}%
+  \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}%
+  %
+  \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}%
+  \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}%
+  %
+  \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}%
+  \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}%
+  \DeclareUnicodeCharacter{1EBC}{\~E}%
+  \DeclareUnicodeCharacter{1EBD}{\~e}%
+  %
+  \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}%
+  \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}%
+  \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}%
+  \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}%
+  %
+  \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}%
+  \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}%
+  %
+  \DeclareUnicodeCharacter{1EF2}{\`Y}%
+  \DeclareUnicodeCharacter{1EF3}{\`y}%
+  \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}%
+  %
+  \DeclareUnicodeCharacter{1EF8}{\~Y}%
+  \DeclareUnicodeCharacter{1EF9}{\~y}%
+  %
+  % Exotic spaces
+  \DeclareUnicodeCharacter{2007}{\hphantom{0}}%
+  %
+  % Punctuation
+  \DeclareUnicodeCharacter{2013}{--}%
+  \DeclareUnicodeCharacter{2014}{---}%
+  \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
+  \DeclareUnicodeCharacter{2019}{\quoteright{}}%
+  \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
+  \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
+  \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
+  \DeclareUnicodeCharacter{201E}{\quotedblbase{}}%
+  \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}%
+  \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}%
+  \DeclareUnicodeCharacter{2022}{\bullet{}}%
+  \DeclareUnicodeCharacter{202F}{\thinspace}%
+  \DeclareUnicodeCharacter{2026}{\dots{}}%
+  \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}%
+  \DeclareUnicodeCharacter{203A}{\guilsinglright{}}%
+  %
+  \DeclareUnicodeCharacter{20AC}{\euro{}}%
+  %
+  \DeclareUnicodeCharacter{2192}{\arrow}%
+  \DeclareUnicodeCharacter{21D2}{\result{}}%
+  %
+  % Mathematical symbols
+  \DeclareUnicodeCharacter{2200}{\ensuremath\forall}%
+  \DeclareUnicodeCharacter{2203}{\ensuremath\exists}%
+  \DeclareUnicodeCharacter{2208}{\ensuremath\in}%
+  \DeclareUnicodeCharacter{2212}{\minus{}}%
+  \DeclareUnicodeCharacter{2217}{\ast}%
+  \DeclareUnicodeCharacter{221E}{\ensuremath\infty}%
+  \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}%
+  \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}%
+  \DeclareUnicodeCharacter{2229}{\ensuremath\cap}%
+  \DeclareUnicodeCharacter{2261}{\equiv{}}%
+  \DeclareUnicodeCharacter{2264}{\ensuremath\leq}%
+  \DeclareUnicodeCharacter{2265}{\ensuremath\geq}%
+  \DeclareUnicodeCharacter{2282}{\ensuremath\subset}%
+  \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
+  %
+  \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
+  \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
+  \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
+  \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
+  \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
+  \DeclareUnicodeCharacter{2118}{\ensuremath\wp}%
+  \DeclareUnicodeCharacter{211C}{\ensuremath\Re}%
+  \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}%
+  \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}%
+  \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}%
+  \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}%
+  \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}%
+  \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}%
+  \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}%
+  \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}%
+  \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}%
+  \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}%
+  \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}%
+  \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}%
+  \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}%
+  \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}%
+  \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}%
+  \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}%
+  \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}%
+  \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}%
+  \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}%
+  \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}%
+  \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}%
+  \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}%
+  \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}%
+  \DeclareUnicodeCharacter{2202}{\ensuremath\partial}%
+  \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}%
+  \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}%
+  \DeclareUnicodeCharacter{2209}{\ensuremath\notin}%
+  \DeclareUnicodeCharacter{220B}{\ensuremath\owns}%
+  \DeclareUnicodeCharacter{220F}{\ensuremath\prod}%
+  \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}%
+  \DeclareUnicodeCharacter{2211}{\ensuremath\sum}%
+  \DeclareUnicodeCharacter{2213}{\ensuremath\mp}%
+  \DeclareUnicodeCharacter{2218}{\ensuremath\circ}%
+  \DeclareUnicodeCharacter{221A}{\ensuremath\surd}%
+  \DeclareUnicodeCharacter{221D}{\ensuremath\propto}%
+  \DeclareUnicodeCharacter{2220}{\ensuremath\angle}%
+  \DeclareUnicodeCharacter{2223}{\ensuremath\mid}%
+  \DeclareUnicodeCharacter{2228}{\ensuremath\vee}%
+  \DeclareUnicodeCharacter{222A}{\ensuremath\cup}%
+  \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}%
+  \DeclareUnicodeCharacter{222E}{\ensuremath\oint}%
+  \DeclareUnicodeCharacter{223C}{\ensuremath\sim}%
+  \DeclareUnicodeCharacter{2240}{\ensuremath\wr}%
+  \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}%
+  \DeclareUnicodeCharacter{2245}{\ensuremath\cong}%
+  \DeclareUnicodeCharacter{2248}{\ensuremath\approx}%
+  \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}%
+  \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}%
+  \DeclareUnicodeCharacter{2260}{\ensuremath\neq}%
+  \DeclareUnicodeCharacter{226A}{\ensuremath\ll}%
+  \DeclareUnicodeCharacter{226B}{\ensuremath\gg}%
+  \DeclareUnicodeCharacter{227A}{\ensuremath\prec}%
+  \DeclareUnicodeCharacter{227B}{\ensuremath\succ}%
+  \DeclareUnicodeCharacter{2283}{\ensuremath\supset}%
+  \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}%
+  \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}%
+  \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}%
+  \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}%
+  \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}%
+  \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}%
+  \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}%
+  \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}%
+  \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}%
+  \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}%
+  \DeclareUnicodeCharacter{2299}{\ensuremath\odot}%
+  \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}%
+  \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}%
+  \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}%
+  \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}%
+  \DeclareUnicodeCharacter{22A8}{\ensuremath\models}%
+  \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}%
+  \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}%
+  \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}%
+  \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}%
+  \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}%
+  \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}%
+  \DeclareUnicodeCharacter{22C6}{\ensuremath\star}%
+  \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}%
+  \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}%
+  \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}%
+  \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}%
+  \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}%
+  \DeclareUnicodeCharacter{2322}{\ensuremath\frown}%
+  \DeclareUnicodeCharacter{2323}{\ensuremath\smile}%
+  %
+  \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}%
+  \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}%
+  \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}%
+  \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}%
+  \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}%
+  \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}%
+  \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}%
+  \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}%
+  \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}%
+  \DeclareUnicodeCharacter{266D}{\ensuremath\flat}%
+  \DeclareUnicodeCharacter{266E}{\ensuremath\natural}%
+  \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}%
+  \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}%
+  \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}%
+  \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}%
+  \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}%
+  \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}%
+  \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}%
+  \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}%
+  \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}%
+  \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}%
+  \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}%
+  \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}%
+  \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}%
+  \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}%
+  \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}%
+  \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}%
+  \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}%
+  \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}%
+  %
+  \global\mathchardef\checkmark="1370% actually the square root sign
+  \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
+}% end of \unicodechardefs
+
+% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
+% It makes the setting that replace UTF-8 byte sequence.
 \def\utfeightchardefs{%
-  \DeclareUnicodeCharacter{00A0}{\tie}
-  \DeclareUnicodeCharacter{00A1}{\exclamdown}
-  \DeclareUnicodeCharacter{00A3}{\pounds}
-  \DeclareUnicodeCharacter{00A8}{\"{ }}
-  \DeclareUnicodeCharacter{00A9}{\copyright}
-  \DeclareUnicodeCharacter{00AA}{\ordf}
-  \DeclareUnicodeCharacter{00AB}{\guillemetleft}
-  \DeclareUnicodeCharacter{00AD}{\-}
-  \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
-  \DeclareUnicodeCharacter{00AF}{\={ }}
-
-  \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
-  \DeclareUnicodeCharacter{00B4}{\'{ }}
-  \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
-  \DeclareUnicodeCharacter{00BA}{\ordm}
-  \DeclareUnicodeCharacter{00BB}{\guillemetright}
-  \DeclareUnicodeCharacter{00BF}{\questiondown}
-
-  \DeclareUnicodeCharacter{00C0}{\`A}
-  \DeclareUnicodeCharacter{00C1}{\'A}
-  \DeclareUnicodeCharacter{00C2}{\^A}
-  \DeclareUnicodeCharacter{00C3}{\~A}
-  \DeclareUnicodeCharacter{00C4}{\"A}
-  \DeclareUnicodeCharacter{00C5}{\AA}
-  \DeclareUnicodeCharacter{00C6}{\AE}
-  \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
-  \DeclareUnicodeCharacter{00C8}{\`E}
-  \DeclareUnicodeCharacter{00C9}{\'E}
-  \DeclareUnicodeCharacter{00CA}{\^E}
-  \DeclareUnicodeCharacter{00CB}{\"E}
-  \DeclareUnicodeCharacter{00CC}{\`I}
-  \DeclareUnicodeCharacter{00CD}{\'I}
-  \DeclareUnicodeCharacter{00CE}{\^I}
-  \DeclareUnicodeCharacter{00CF}{\"I}
-
-  \DeclareUnicodeCharacter{00D0}{\DH}
-  \DeclareUnicodeCharacter{00D1}{\~N}
-  \DeclareUnicodeCharacter{00D2}{\`O}
-  \DeclareUnicodeCharacter{00D3}{\'O}
-  \DeclareUnicodeCharacter{00D4}{\^O}
-  \DeclareUnicodeCharacter{00D5}{\~O}
-  \DeclareUnicodeCharacter{00D6}{\"O}
-  \DeclareUnicodeCharacter{00D8}{\O}
-  \DeclareUnicodeCharacter{00D9}{\`U}
-  \DeclareUnicodeCharacter{00DA}{\'U}
-  \DeclareUnicodeCharacter{00DB}{\^U}
-  \DeclareUnicodeCharacter{00DC}{\"U}
-  \DeclareUnicodeCharacter{00DD}{\'Y}
-  \DeclareUnicodeCharacter{00DE}{\TH}
-  \DeclareUnicodeCharacter{00DF}{\ss}
-
-  \DeclareUnicodeCharacter{00E0}{\`a}
-  \DeclareUnicodeCharacter{00E1}{\'a}
-  \DeclareUnicodeCharacter{00E2}{\^a}
-  \DeclareUnicodeCharacter{00E3}{\~a}
-  \DeclareUnicodeCharacter{00E4}{\"a}
-  \DeclareUnicodeCharacter{00E5}{\aa}
-  \DeclareUnicodeCharacter{00E6}{\ae}
-  \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
-  \DeclareUnicodeCharacter{00E8}{\`e}
-  \DeclareUnicodeCharacter{00E9}{\'e}
-  \DeclareUnicodeCharacter{00EA}{\^e}
-  \DeclareUnicodeCharacter{00EB}{\"e}
-  \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
-  \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
-  \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
-  \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
-
-  \DeclareUnicodeCharacter{00F0}{\dh}
-  \DeclareUnicodeCharacter{00F1}{\~n}
-  \DeclareUnicodeCharacter{00F2}{\`o}
-  \DeclareUnicodeCharacter{00F3}{\'o}
-  \DeclareUnicodeCharacter{00F4}{\^o}
-  \DeclareUnicodeCharacter{00F5}{\~o}
-  \DeclareUnicodeCharacter{00F6}{\"o}
-  \DeclareUnicodeCharacter{00F8}{\o}
-  \DeclareUnicodeCharacter{00F9}{\`u}
-  \DeclareUnicodeCharacter{00FA}{\'u}
-  \DeclareUnicodeCharacter{00FB}{\^u}
-  \DeclareUnicodeCharacter{00FC}{\"u}
-  \DeclareUnicodeCharacter{00FD}{\'y}
-  \DeclareUnicodeCharacter{00FE}{\th}
-  \DeclareUnicodeCharacter{00FF}{\"y}
-
-  \DeclareUnicodeCharacter{0100}{\=A}
-  \DeclareUnicodeCharacter{0101}{\=a}
-  \DeclareUnicodeCharacter{0102}{\u{A}}
-  \DeclareUnicodeCharacter{0103}{\u{a}}
-  \DeclareUnicodeCharacter{0104}{\ogonek{A}}
-  \DeclareUnicodeCharacter{0105}{\ogonek{a}}
-  \DeclareUnicodeCharacter{0106}{\'C}
-  \DeclareUnicodeCharacter{0107}{\'c}
-  \DeclareUnicodeCharacter{0108}{\^C}
-  \DeclareUnicodeCharacter{0109}{\^c}
-  \DeclareUnicodeCharacter{0118}{\ogonek{E}}
-  \DeclareUnicodeCharacter{0119}{\ogonek{e}}
-  \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
-  \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
-  \DeclareUnicodeCharacter{010C}{\v{C}}
-  \DeclareUnicodeCharacter{010D}{\v{c}}
-  \DeclareUnicodeCharacter{010E}{\v{D}}
-
-  \DeclareUnicodeCharacter{0112}{\=E}
-  \DeclareUnicodeCharacter{0113}{\=e}
-  \DeclareUnicodeCharacter{0114}{\u{E}}
-  \DeclareUnicodeCharacter{0115}{\u{e}}
-  \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
-  \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
-  \DeclareUnicodeCharacter{011A}{\v{E}}
-  \DeclareUnicodeCharacter{011B}{\v{e}}
-  \DeclareUnicodeCharacter{011C}{\^G}
-  \DeclareUnicodeCharacter{011D}{\^g}
-  \DeclareUnicodeCharacter{011E}{\u{G}}
-  \DeclareUnicodeCharacter{011F}{\u{g}}
-
-  \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
-  \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
-  \DeclareUnicodeCharacter{0124}{\^H}
-  \DeclareUnicodeCharacter{0125}{\^h}
-  \DeclareUnicodeCharacter{0128}{\~I}
-  \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
-  \DeclareUnicodeCharacter{012A}{\=I}
-  \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
-  \DeclareUnicodeCharacter{012C}{\u{I}}
-  \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
-
-  \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
-  \DeclareUnicodeCharacter{0131}{\dotless{i}}
-  \DeclareUnicodeCharacter{0132}{IJ}
-  \DeclareUnicodeCharacter{0133}{ij}
-  \DeclareUnicodeCharacter{0134}{\^J}
-  \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
-  \DeclareUnicodeCharacter{0139}{\'L}
-  \DeclareUnicodeCharacter{013A}{\'l}
-
-  \DeclareUnicodeCharacter{0141}{\L}
-  \DeclareUnicodeCharacter{0142}{\l}
-  \DeclareUnicodeCharacter{0143}{\'N}
-  \DeclareUnicodeCharacter{0144}{\'n}
-  \DeclareUnicodeCharacter{0147}{\v{N}}
-  \DeclareUnicodeCharacter{0148}{\v{n}}
-  \DeclareUnicodeCharacter{014C}{\=O}
-  \DeclareUnicodeCharacter{014D}{\=o}
-  \DeclareUnicodeCharacter{014E}{\u{O}}
-  \DeclareUnicodeCharacter{014F}{\u{o}}
-
-  \DeclareUnicodeCharacter{0150}{\H{O}}
-  \DeclareUnicodeCharacter{0151}{\H{o}}
-  \DeclareUnicodeCharacter{0152}{\OE}
-  \DeclareUnicodeCharacter{0153}{\oe}
-  \DeclareUnicodeCharacter{0154}{\'R}
-  \DeclareUnicodeCharacter{0155}{\'r}
-  \DeclareUnicodeCharacter{0158}{\v{R}}
-  \DeclareUnicodeCharacter{0159}{\v{r}}
-  \DeclareUnicodeCharacter{015A}{\'S}
-  \DeclareUnicodeCharacter{015B}{\'s}
-  \DeclareUnicodeCharacter{015C}{\^S}
-  \DeclareUnicodeCharacter{015D}{\^s}
-  \DeclareUnicodeCharacter{015E}{\cedilla{S}}
-  \DeclareUnicodeCharacter{015F}{\cedilla{s}}
-
-  \DeclareUnicodeCharacter{0160}{\v{S}}
-  \DeclareUnicodeCharacter{0161}{\v{s}}
-  \DeclareUnicodeCharacter{0162}{\cedilla{t}}
-  \DeclareUnicodeCharacter{0163}{\cedilla{T}}
-  \DeclareUnicodeCharacter{0164}{\v{T}}
-
-  \DeclareUnicodeCharacter{0168}{\~U}
-  \DeclareUnicodeCharacter{0169}{\~u}
-  \DeclareUnicodeCharacter{016A}{\=U}
-  \DeclareUnicodeCharacter{016B}{\=u}
-  \DeclareUnicodeCharacter{016C}{\u{U}}
-  \DeclareUnicodeCharacter{016D}{\u{u}}
-  \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
-  \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
-
-  \DeclareUnicodeCharacter{0170}{\H{U}}
-  \DeclareUnicodeCharacter{0171}{\H{u}}
-  \DeclareUnicodeCharacter{0174}{\^W}
-  \DeclareUnicodeCharacter{0175}{\^w}
-  \DeclareUnicodeCharacter{0176}{\^Y}
-  \DeclareUnicodeCharacter{0177}{\^y}
-  \DeclareUnicodeCharacter{0178}{\"Y}
-  \DeclareUnicodeCharacter{0179}{\'Z}
-  \DeclareUnicodeCharacter{017A}{\'z}
-  \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
-  \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
-  \DeclareUnicodeCharacter{017D}{\v{Z}}
-  \DeclareUnicodeCharacter{017E}{\v{z}}
-
-  \DeclareUnicodeCharacter{01C4}{D\v{Z}}
-  \DeclareUnicodeCharacter{01C5}{D\v{z}}
-  \DeclareUnicodeCharacter{01C6}{d\v{z}}
-  \DeclareUnicodeCharacter{01C7}{LJ}
-  \DeclareUnicodeCharacter{01C8}{Lj}
-  \DeclareUnicodeCharacter{01C9}{lj}
-  \DeclareUnicodeCharacter{01CA}{NJ}
-  \DeclareUnicodeCharacter{01CB}{Nj}
-  \DeclareUnicodeCharacter{01CC}{nj}
-  \DeclareUnicodeCharacter{01CD}{\v{A}}
-  \DeclareUnicodeCharacter{01CE}{\v{a}}
-  \DeclareUnicodeCharacter{01CF}{\v{I}}
-
-  \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
-  \DeclareUnicodeCharacter{01D1}{\v{O}}
-  \DeclareUnicodeCharacter{01D2}{\v{o}}
-  \DeclareUnicodeCharacter{01D3}{\v{U}}
-  \DeclareUnicodeCharacter{01D4}{\v{u}}
-
-  \DeclareUnicodeCharacter{01E2}{\={\AE}}
-  \DeclareUnicodeCharacter{01E3}{\={\ae}}
-  \DeclareUnicodeCharacter{01E6}{\v{G}}
-  \DeclareUnicodeCharacter{01E7}{\v{g}}
-  \DeclareUnicodeCharacter{01E8}{\v{K}}
-  \DeclareUnicodeCharacter{01E9}{\v{k}}
-
-  \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
-  \DeclareUnicodeCharacter{01F1}{DZ}
-  \DeclareUnicodeCharacter{01F2}{Dz}
-  \DeclareUnicodeCharacter{01F3}{dz}
-  \DeclareUnicodeCharacter{01F4}{\'G}
-  \DeclareUnicodeCharacter{01F5}{\'g}
-  \DeclareUnicodeCharacter{01F8}{\`N}
-  \DeclareUnicodeCharacter{01F9}{\`n}
-  \DeclareUnicodeCharacter{01FC}{\'{\AE}}
-  \DeclareUnicodeCharacter{01FD}{\'{\ae}}
-  \DeclareUnicodeCharacter{01FE}{\'{\O}}
-  \DeclareUnicodeCharacter{01FF}{\'{\o}}
-
-  \DeclareUnicodeCharacter{021E}{\v{H}}
-  \DeclareUnicodeCharacter{021F}{\v{h}}
-
-  \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
-  \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
-  \DeclareUnicodeCharacter{0228}{\cedilla{E}}
-  \DeclareUnicodeCharacter{0229}{\cedilla{e}}
-  \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
-  \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
-
-  \DeclareUnicodeCharacter{0232}{\=Y}
-  \DeclareUnicodeCharacter{0233}{\=y}
-  \DeclareUnicodeCharacter{0237}{\dotless{j}}
-
-  \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
-
-  \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
-  \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
-  \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
-  \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
-  \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
-  \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
-  \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
-  \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
-  \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
-  \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
-  \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
-  \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
-
-  \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
-  \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
-
-  \DeclareUnicodeCharacter{1E20}{\=G}
-  \DeclareUnicodeCharacter{1E21}{\=g}
-  \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
-  \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
-  \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
-  \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
-  \DeclareUnicodeCharacter{1E26}{\"H}
-  \DeclareUnicodeCharacter{1E27}{\"h}
-
-  \DeclareUnicodeCharacter{1E30}{\'K}
-  \DeclareUnicodeCharacter{1E31}{\'k}
-  \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
-  \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
-  \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
-  \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
-  \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
-  \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
-  \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
-  \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
-  \DeclareUnicodeCharacter{1E3E}{\'M}
-  \DeclareUnicodeCharacter{1E3F}{\'m}
-
-  \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
-  \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
-  \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
-  \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
-  \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
-  \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
-  \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
-  \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
-  \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
-  \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
-
-  \DeclareUnicodeCharacter{1E54}{\'P}
-  \DeclareUnicodeCharacter{1E55}{\'p}
-  \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
-  \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
-  \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
-  \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
-  \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
-  \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
-  \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
-  \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
-
-  \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
-  \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
-  \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
-  \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
-  \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
-  \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
-  \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
-  \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
-  \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
-  \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
-
-  \DeclareUnicodeCharacter{1E7C}{\~V}
-  \DeclareUnicodeCharacter{1E7D}{\~v}
-  \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
-  \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
-
-  \DeclareUnicodeCharacter{1E80}{\`W}
-  \DeclareUnicodeCharacter{1E81}{\`w}
-  \DeclareUnicodeCharacter{1E82}{\'W}
-  \DeclareUnicodeCharacter{1E83}{\'w}
-  \DeclareUnicodeCharacter{1E84}{\"W}
-  \DeclareUnicodeCharacter{1E85}{\"w}
-  \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
-  \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
-  \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
-  \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
-  \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
-  \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
-  \DeclareUnicodeCharacter{1E8C}{\"X}
-  \DeclareUnicodeCharacter{1E8D}{\"x}
-  \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
-  \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
-
-  \DeclareUnicodeCharacter{1E90}{\^Z}
-  \DeclareUnicodeCharacter{1E91}{\^z}
-  \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
-  \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
-  \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
-  \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
-  \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
-  \DeclareUnicodeCharacter{1E97}{\"t}
-  \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
-  \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
-
-  \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
-  \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
-
-  \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
-  \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
-  \DeclareUnicodeCharacter{1EBC}{\~E}
-  \DeclareUnicodeCharacter{1EBD}{\~e}
-
-  \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
-  \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
-  \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
-  \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
-
-  \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
-  \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
-
-  \DeclareUnicodeCharacter{1EF2}{\`Y}
-  \DeclareUnicodeCharacter{1EF3}{\`y}
-  \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
-
-  \DeclareUnicodeCharacter{1EF8}{\~Y}
-  \DeclareUnicodeCharacter{1EF9}{\~y}
-
-  \DeclareUnicodeCharacter{2013}{--}
-  \DeclareUnicodeCharacter{2014}{---}
-  \DeclareUnicodeCharacter{2018}{\quoteleft}
-  \DeclareUnicodeCharacter{2019}{\quoteright}
-  \DeclareUnicodeCharacter{201A}{\quotesinglbase}
-  \DeclareUnicodeCharacter{201C}{\quotedblleft}
-  \DeclareUnicodeCharacter{201D}{\quotedblright}
-  \DeclareUnicodeCharacter{201E}{\quotedblbase}
-  \DeclareUnicodeCharacter{2022}{\bullet}
-  \DeclareUnicodeCharacter{2026}{\dots}
-  \DeclareUnicodeCharacter{2039}{\guilsinglleft}
-  \DeclareUnicodeCharacter{203A}{\guilsinglright}
-  \DeclareUnicodeCharacter{20AC}{\euro}
-
-  \DeclareUnicodeCharacter{2192}{\expansion}
-  \DeclareUnicodeCharacter{21D2}{\result}
-
-  \DeclareUnicodeCharacter{2212}{\minus}
-  \DeclareUnicodeCharacter{2217}{\point}
-  \DeclareUnicodeCharacter{2261}{\equiv}
-}% end of \utfeightchardefs
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii
+  \unicodechardefs
+}
+
+% Whether the active definitions of non-ASCII characters expand to
+% non-active tokens with the same character code.  This is used to
+% write characters literally, instead of using active definitions for
+% printing the correct glyphs.
+\newif\ifpassthroughchars
+\passthroughcharsfalse
+
+% For native Unicode handling (XeTeX and LuaTeX),
+% provide a definition macro to replace/pass-through a Unicode character
+%
+\def\DeclareUnicodeCharacterNative#1#2{%
+  \ifnum"#1>"7F % only make non-ASCII chars active
+    \catcode"#1=\active
+    \def\dodeclareunicodecharacternative##1##2##3{%
+      \begingroup
+        \uccode`\~="##2\relax
+        \uppercase{\gdef~}{%
+          \ifpassthroughchars
+            ##1%
+          \else
+            ##3%
+          \fi
+        }
+      \endgroup
+    }
+    \begingroup
+      \uccode`\.="#1\relax
+      \uppercase{\def\UTFNativeTmp{.}}%
+      \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}%
+    \endgroup
+  \fi
+}
+
+% Native Unicode handling (XeTeX and LuaTeX) character replacing definition.
+% It activates the setting that replaces Unicode characters.
+\def\nativeunicodechardefs{%
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative
+  \unicodechardefs
+}
+
+% For native Unicode handling (XeTeX and LuaTeX),
+% make the character token expand
+% to the sequences given in \unicodechardefs for printing.
+\def\DeclareUnicodeCharacterNativeAtU#1#2{%
+  \def\UTFAtUTmp{#2}
+  \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp
+}
 
+% @U command definitions for native Unicode handling (XeTeX and LuaTeX).
+\def\nativeunicodechardefsatu{%
+  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU
+  \unicodechardefs
+}
 
 % US-ASCII character definitions.
 \def\asciichardefs{% nothing need be done
    \relax
 }
 
-% Make non-ASCII characters printable again for compatibility with
-% existing Texinfo documents that may use them, even without declaring a
-% document encoding.
-%
-\setnonasciicharscatcode \other
+% Define all Unicode characters we know about
+\iftxinativeunicodecapable
+  \nativeunicodechardefsatu
+\else
+  \utfeightchardefs
+\fi
 
 
 \message{formatting,}
@@ -9544,14 +11418,10 @@ directory should work if nowhere else does.}
   %
   \vsize = #1\relax
   \advance\vsize by \topskip
-  \outervsize = \vsize
-  \advance\outervsize by 2\topandbottommargin
-  \pageheight = \vsize
+  \txipageheight = \vsize
   %
   \hsize = #2\relax
-  \outerhsize = \hsize
-  \advance\outerhsize by 0.5in
-  \pagewidth = \hsize
+  \txipagewidth = \hsize
   %
   \normaloffset = #4\relax
   \bindingoffset = #5\relax
@@ -9563,6 +11433,14 @@ directory should work if nowhere else does.}
     % whatever layout pdftex was dumped with.
     \pdfhorigin = 1 true in
     \pdfvorigin = 1 true in
+  \else
+    \ifx\XeTeXrevision\thisisundefined
+      \special{papersize=#8,#7}%
+    \else
+      \pdfpageheight #7\relax
+      \pdfpagewidth #8\relax
+      % XeTeX does not have \pdfhorigin and \pdfvorigin.
+    \fi
   \fi
   %
   \setleading{\textleading}
@@ -9595,29 +11473,10 @@ directory should work if nowhere else does.}
   %
   \lispnarrowing = 0.3in
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = .5cm
 }}
 
-% Use @smallerbook to reset parameters for 6x9 trim size.
-% (Just testing, parameters still in flux.)
-\def\smallerbook{{\globaldefs = 1
-  \parskip = 1.5pt plus 1pt
-  \textleading = 12pt
-  %
-  \internalpagesizes{7.4in}{4.8in}%
-                    {-.2in}{-.4in}%
-                    {0pt}{14pt}%
-                    {9in}{6in}%
-  %
-  \lispnarrowing = 0.25in
-  \tolerance = 700
-  \hfuzz = 1pt
-  \contentsrightmargin = 0pt
-  \defbodyindent = .4cm
-}}
-
 % Use @afourpaper to print on European A4 paper.
 \def\afourpaper{{\globaldefs = 1
   \parskip = 3pt plus 2pt minus 1pt
@@ -9639,7 +11498,6 @@ directory should work if nowhere else does.}
                     {297mm}{210mm}%
   %
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = 5mm
 }}
@@ -9652,13 +11510,12 @@ directory should work if nowhere else does.}
   \textleading = 12.5pt
   %
   \internalpagesizes{160mm}{120mm}%
-                    {\voffset}{\hoffset}%
+                    {\voffset}{-11.4mm}%
                     {\bindingoffset}{8pt}%
                     {210mm}{148mm}%
   %
   \lispnarrowing = 0.2in
   \tolerance = 800
-  \hfuzz = 1.2pt
   \contentsrightmargin = 0pt
   \defbodyindent = 2mm
   \tableindent = 12mm
@@ -9686,6 +11543,18 @@ directory should work if nowhere else does.}
   \globaldefs = 0
 }}
 
+\def\bsixpaper{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{140mm}{100mm}%
+                    {-6.35mm}{-12.7mm}%
+                    {\bindingoffset}{14pt}%
+                    {176mm}{125mm}%
+  \let\SETdispenvsize=\smallword
+  \lispnarrowing = 0.2in
+  \globaldefs = 0
+}}
+
+
 % @pagesizes TEXTHEIGHT[,TEXTWIDTH]
 % Perhaps we should allow setting the margins, \topskip, \parskip,
 % and/or leading, also. Or perhaps we should compute them somehow.
@@ -9699,10 +11568,12 @@ directory should work if nowhere else does.}
   \setleading{\textleading}%
   %
   \dimen0 = #1\relax
-  \advance\dimen0 by \voffset
+  \advance\dimen0 by 2.5in % default 1in margin above heading line
+                           % and 1.5in to include heading, footing and
+                           % bottom margin
   %
   \dimen2 = \hsize
-  \advance\dimen2 by \normaloffset
+  \advance\dimen2 by 2in % default to 1 inch margin on each side
   %
   \internalpagesizes{#1}{\hsize}%
                     {\voffset}{\normaloffset}%
@@ -9714,10 +11585,142 @@ directory should work if nowhere else does.}
 %
 \letterpaper
 
+% Default value of \hfuzz, for suppressing warnings about overfull hboxes.
+\hfuzz = 1pt
+
+
+\message{microtype,}
+
+% protrusion, from Thanh's protcode.tex.
+\def\mtsetprotcode#1{%
+  \rpcode#1`\!=200  \rpcode#1`\,=700  \rpcode#1`\-=700  \rpcode#1`\.=700
+  \rpcode#1`\;=500  \rpcode#1`\:=500  \rpcode#1`\?=200
+  \rpcode#1`\'=700
+  \rpcode#1 34=500  % ''
+  \rpcode#1 123=300 % --
+  \rpcode#1 124=200 % ---
+  \rpcode#1`\)=50   \rpcode#1`\A=50   \rpcode#1`\F=50   \rpcode#1`\K=50
+  \rpcode#1`\L=50   \rpcode#1`\T=50   \rpcode#1`\V=50   \rpcode#1`\W=50
+  \rpcode#1`\X=50   \rpcode#1`\Y=50   \rpcode#1`\k=50   \rpcode#1`\r=50
+  \rpcode#1`\t=50   \rpcode#1`\v=50   \rpcode#1`\w=50   \rpcode#1`\x=50
+  \rpcode#1`\y=50
+  %
+  \lpcode#1`\`=700
+  \lpcode#1 92=500  % ``
+  \lpcode#1`\(=50   \lpcode#1`\A=50   \lpcode#1`\J=50   \lpcode#1`\T=50
+  \lpcode#1`\V=50   \lpcode#1`\W=50   \lpcode#1`\X=50   \lpcode#1`\Y=50
+  \lpcode#1`\v=50   \lpcode#1`\w=50   \lpcode#1`\x=50   \lpcode#1`\y=0
+  %
+  \mtadjustprotcode#1\relax
+}
+
+\newcount\countC
+\def\mtadjustprotcode#1{%
+  \countC=0
+  \loop
+    \ifcase\lpcode#1\countC\else
+      \mtadjustcp\lpcode#1\countC
+    \fi
+    \ifcase\rpcode#1\countC\else
+      \mtadjustcp\rpcode#1\countC
+    \fi
+    \advance\countC 1
+  \ifnum\countC < 256 \repeat
+}
+
+\newcount\countB
+\def\mtadjustcp#1#2#3{%
+  \setbox\boxA=\hbox{%
+    \ifx#2\font\else#2\fi
+    \char#3}%
+  \countB=\wd\boxA
+  \multiply\countB #1#2#3\relax
+  \divide\countB \fontdimen6 #2\relax
+  #1#2#3=\countB\relax
+}
+
+\ifx\XeTeXrevision\thisisundefined
+  \ifx\luatexversion\thisisundefined
+    \ifpdf % pdfTeX
+      \mtsetprotcode\textrm
+      \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
+    \else % TeX
+      \def\mtfontexpand#1{}
+    \fi
+  \else % LuaTeX
+    \mtsetprotcode\textrm
+    \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
+  \fi
+\else % XeTeX
+  \mtsetprotcode\textrm
+  \def\mtfontexpand#1{}
+\fi
+
+
+\newif\ifmicrotype
+
+\def\microtypeON{%
+  \microtypetrue
+  %
+  \ifx\XeTeXrevision\thisisundefined
+    \ifx\luatexversion\thisisundefined
+      \ifpdf % pdfTeX
+        \pdfadjustspacing=2
+        \pdfprotrudechars=2
+      \fi
+    \else % LuaTeX
+      \adjustspacing=2
+      \protrudechars=2
+    \fi
+  \else % XeTeX
+    \XeTeXprotrudechars=2
+  \fi
+  %
+  \mtfontexpand\textrm
+  \mtfontexpand\textsl
+  \mtfontexpand\textbf
+}
+
+\def\microtypeOFF{%
+  \microtypefalse
+  %
+  \ifx\XeTeXrevision\thisisundefined
+    \ifx\luatexversion\thisisundefined
+      \ifpdf % pdfTeX
+        \pdfadjustspacing=0
+        \pdfprotrudechars=0
+      \fi
+    \else % LuaTeX
+      \adjustspacing=0
+      \protrudechars=0
+    \fi
+  \else % XeTeX
+    \XeTeXprotrudechars=0
+  \fi
+}
+
+\microtypeOFF
+
+\parseargdef\microtype{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\onword
+    \microtypeON
+  \else\ifx\txiarg\offword
+    \microtypeOFF
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @microtype option `\txiarg', must be on|off}%
+  \fi\fi
+}
+
 
 \message{and turning on texinfo input format.}
 
+% Make UTF-8 the default encoding.
+\documentencodingzzz{UTF-8}
+
 \def^^L{\par} % remove \outer, so ^L can appear in an @comment
+\catcode`\^^K = 10 % treat vertical tab as whitespace
 
 % DEL is a comment character, in case @c does not suffice.
 \catcode`\^^? = 14
@@ -9733,154 +11736,205 @@ directory should work if nowhere else does.}
 \catcode`\|=\other \def\normalverticalbar{|}
 \catcode`\~=\other \def\normaltilde{~}
 
-% This macro is used to make a character print one way in \tt
-% (where it can probably be output as-is), and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise.  Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-%
-\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-
-% Same as above, but check for italic font.  Actually this also catches
-% non-italic slanted fonts since it is impossible to distinguish them from
-% italic fonts.  But since this is only used by $ and it uses \sl anyway
-% this is not a problem.
-\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+% Set catcodes for Texinfo file
 
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
+% Active characters for printing the wanted glyph.
 % Most of these we simply print from the \tt font, but for some, we can
 % use math or other variants that look better in normal text.
-
+%
 \catcode`\"=\active
 \def\activedoublequote{{\tt\char34}}
 \let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
+\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
+\chardef\hatchar=`\^
+\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat
 
 \catcode`\_=\active
 \def_{\ifusingtt\normalunderscore\_}
-\let\realunder=_
-% Subroutine for the previous macro.
 \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
+\let\realunder=_
+
+\catcode`\|=\active \def|{{\tt\char124}}
 
-\catcode`\|=\active
-\def|{{\tt\char124}}
 \chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
+\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
 \chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
+\catcode`\+=\active \def+{{\tt \char 43}}
+\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\-=\active \let-=\normaldash
 
-% If a .fmt file is being used, characters that might appear in a file
-% name cannot be active until we have parsed the command line.
-% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-% \otherifyactive is called near the end of this file.
-\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+
+% used for headline/footline in the output routine, in case the page
+% breaks in the middle of an @tex block.
+\def\texinfochars{%
+  \let< = \activeless
+  \let> = \activegtr
+  \let~ = \activetilde
+  \let^ = \activehat
+  \setregularquotes
+  \let\b = \strong
+  \let\i = \smartitalic
+  % in principle, all other definitions in \tex have to be undone too.
+}
 
 % Used sometimes to turn off (effectively) the active characters even after
 % parsing them.
 \def\turnoffactive{%
-  \normalturnoffactive
+  \passthroughcharstrue
+  \let-=\normaldash
+  \let"=\normaldoublequote
+  \let$=\normaldollar %$ font-lock fix
+  \let+=\normalplus
+  \let<=\normalless
+  \let>=\normalgreater
+  \let^=\normalcaret
+  \let_=\normalunderscore
+  \let|=\normalverticalbar
+  \let~=\normaltilde
   \otherbackslash
+  \setregularquotes
+  \unsepspaces
 }
 
-\catcode`\@=0
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have \loadconf turn them back on.
+\catcode`+=\other \catcode`\_=\other
+
 
 % \backslashcurfont outputs one backslash character in current font,
 % as in \char`\\.
 \global\chardef\backslashcurfont=`\\
-\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
 
-% \realbackslash is an actual character `\' with catcode other, and
-% \doublebackslash is two of them (for the pdf outlines).
-{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
+% Print a typewriter backslash.  For math mode, we can't simply use
+% \backslashcurfont: the story here is that in math mode, the \char
+% of \backslashcurfont ends up printing the roman \ from the math symbol
+% font (because \char in math mode uses the \mathcode, and plain.tex
+% sets \mathcode`\\="026E).  Hence we use an explicit \mathchar,
+% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
+% ignored family value; char position "5C).  We can't use " for the
+% usual hex value because it has already been made active.
+
+\def\ttbackslash{{\tt \ifmmode \mathchar29020 \else \backslashcurfont \fi}}
+\let\backslashchar = \ttbackslash % \backslashchar{} is for user documents.
 
-% In texinfo, backslash is an active character; it prints the backslash
+% These are made active for url-breaking, so need
+% active definitions as the normal characters.
+\def\normaldot{.}
+\def\normalquest{?}
+\def\normalslash{/}
+
+% \newlinesloadsconf - call \loadconf as soon as possible in the
+% file, e.g. at the first newline.
+%
+{\catcode`\^=7
+\catcode`\^^M=13
+\gdef\newlineloadsconf{%
+  \catcode`\^^M=13 %
+  \newlineloadsconfzz%
+}
+\gdef\newlineloadsconfzz#1^^M{%
+  \def\c{\loadconf\c}%
+  % Definition for the first newline read in the file
+  \def ^^M{\loadconf}%
+  % In case the first line has a whole-line or environment command on it
+  \let\originalparsearg\parsearg%
+  \def\parsearg{\loadconf\originalparsearg}%
+  %
+  % \startenvironment is in the expansion of commands defined with \envdef
+  \let\originalstartenvironment\startenvironment%
+  \def\startenvironment{\loadconf\startenvironment}%
+}}
+
+
+% Emergency active definition of newline, in case an active newline token
+% appears by mistake.
+{\catcode`\^=7 \catcode13=13%
+\gdef\enableemergencynewline{%
+  \gdef^^M{%
+    \par%
+    %<warning: active newline>\par%
+}}}
+
+
+% \loadconf gets called at the beginning of every Texinfo file.
+% If texinfo.cnf is present on the system, read it.  Useful for site-wide
+% @afourpaper, etc.  Not opening texinfo.cnf directly in texinfo.tex
+% makes it possible to make a format file for Texinfo.
+%
+\gdef\loadconf{%
+  \relax  % Terminate the filename if running as "tex '&texinfo' FILE.texi".
+  %
+  % Turn off the definitions that trigger \loadconf
+  \everyjobreset
+  \catcode13=5 % regular end of line
+  \enableemergencynewline
+  \let\c=\comment
+  \let\parsearg\originalparsearg
+  \let\startenvironment\originalstartenvironment
+  %
+  % Also turn back on active characters that might appear in the input
+  % file name, in case not using a pre-dumped format.
+  \catcode`+=\active
+  \catcode`\_=\active
+  %
+  \openin 1 texinfo.cnf
+  \ifeof 1 \else \input texinfo.cnf \fi
+  \closein 1
+}
+
+% Redefine some control sequences to be controlled by the \ifdummies
+% and \ifindexnofonts switches.  Do this at the end so that the control
+% sequences are all defined.
+\definedummies
+
+
+
+
+\catcode`\@=0
+
+% \realbackslash is an actual character `\' with catcode other.
+{\catcode`\\=\other @gdef@realbackslash{\}}
+
+% In Texinfo, backslash is an active character; it prints the backslash
 % in fixed width font.
 \catcode`\\=\active  % @ for escape char from now on.
 
-% The story here is that in math mode, the \char of \backslashcurfont
-% ends up printing the roman \ from the math symbol font (because \char
-% in math mode uses the \mathcode, and plain.tex sets
-% \mathcode`\\="026E).  It seems better for @backslashchar{} to always
-% print a typewriter backslash, hence we use an explicit \mathchar,
-% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
-% ignored family value; char position "5C).  We can't use " for the
-% usual hex value because it has already been made active.
-@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
-@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
+@let\ = @ttbackslash
+
+% If in a .fmt file, print the version number.
+% \eatinput stops the `\input texinfo' from showing up.
+% After that, `\' should revert to printing a backslash.
+% Turn on active characters that we couldn't do earlier because
+% they might have appeared in the input file name.
+%
+@everyjob{@message{[Texinfo version @texinfoversion]}%
+  @global@let\ = @eatinput
+  @catcode`+=@active @catcode`@_=@active}
+
+{@catcode`@^=7 @catcode`@^^M=13%
+@gdef@eatinput input texinfo#1^^M{@loadconf}}
+
+@def@everyjobreset{@ifx\@eatinput @let\ = @ttbackslash @fi}
 
-% On startup, @fixbackslash assigns:
-%  @let \ = @normalbackslash
-% \rawbackslash defines an active \ to do \backslashcurfont.
 % \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.  We switch back and forth between these.
-@gdef@rawbackslash{@let\=@backslashcurfont}
+% catcode other.
 @gdef@otherbackslash{@let\=@realbackslash}
 
 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
 % the literal character `\'.
 %
-@def@normalturnoffactive{%
-  @let"=@normaldoublequote
-  @let$=@normaldollar %$ font-lock fix
-  @let+=@normalplus
-  @let<=@normalless
-  @let>=@normalgreater
-  @let\=@normalbackslash
-  @let^=@normalcaret
-  @let_=@normalunderscore
-  @let|=@normalverticalbar
-  @let~=@normaltilde
-  @markupsetuplqdefault
-  @markupsetuprqdefault
-  @unsepspaces
-}
-
-% Make _ and + \other characters, temporarily.
-% This is canceled by @fixbackslash.
-@otherifyactive
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\' in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-% Also turn back on active characters that might appear in the input
-% file name, in case not using a pre-dumped format.
-%
-@gdef@fixbackslash{%
-  @ifx\@eatinput @let\ = @normalbackslash @fi
-  @catcode`+=@active
-  @catcode`@_=@active
+{@catcode`- = @active
+ @gdef@normalturnoffactive{%
+   @turnoffactive
+   @let\=@ttbackslash
+ }
 }
 
 % Say @foo, not \foo, in error messages.
 @escapechar = `@@
 
-% These (along with & and #) are made active for url-breaking, so need
-% active definitions as the normal characters.
-@def@normaldot{.}
-@def@normalquest{?}
-@def@normalslash{/}
-
 % These look ok in all fonts, so just make them not special.
 % @hashchar{} gets its own user-level command, because of #line.
 @catcode`@& = @other @def@normalamp{&}
@@ -9895,19 +11949,11 @@ directory should work if nowhere else does.}
 @c Do this last of all since we use ` in the previous @catcode assignments.
 @catcode`@'=@active
 @catcode`@`=@active
-@markupsetuplqdefault
-@markupsetuprqdefault
 
 @c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c eval: (add-hook 'before-save-hook 'time-stamp nil t)
+@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}"
 @c page-delimiter: "^\\\\message"
-@c time-stamp-start: "def\\\\texinfoversion{"
-@c time-stamp-format: "%:y-%02m-%02d.%02H"
-@c time-stamp-end: "}"
 @c End:
 
-@c vim:sw=2:
-
-@ignore
-   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
-@end ignore
+@newlineloadsconf
index 082b749..efda754 100755 (executable)
@@ -1,15 +1,13 @@
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
-  & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
-    if 0;
-# Update an FSF copyright year list to include the current year.
+#!/bin/sh
+#! -*-perl-*-
 
-my $VERSION = '2012-02-05.21:39'; # UTC
+# Update an FSF copyright year list to include the current year.
 
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 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
-# the Free Software Foundation; either version 3, or (at your option)
+# the Free Software Foundation, either version 3, or (at your option)
 # any later version.
 #
 # This program is distributed in the hope that it will be useful,
@@ -18,10 +16,13 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 # 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/>.
-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
 # Written by Jim Meyering and Joel E. Denny
 
+# This script updates an FSF copyright year list to include the current year.
+# Usage: update-copyright [FILE...]
+#
 # The arguments to this script should be names of files that contain
 # copyright statements to be updated.  The copyright holder's name
 # defaults to "Free Software Foundation, Inc." but may be changed to
@@ -81,6 +82,7 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #        B. (c)
 #        C. @copyright{}
 #        D. &copy;
+#        E. ©
 #
 #   4. The "Copyright" appears at the beginning of a line, except that it
 #      may be prefixed by any sequence (e.g., a comment) of no more than
@@ -96,7 +98,8 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #   6. Blank lines, even if preceded by the prefix, do not appear
 #      within the FSF copyright statement.
 #   7. Each copyright year is 2 or 4 digits, and years are separated by
-#      commas or dashes.  Whitespace may appear after commas.
+#      commas, "-", "--", or "\(en" (for troff).  Whitespace may appear
+#      after commas.
 #
 # Environment variables:
 #
@@ -120,11 +123,34 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #   5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other
 #      than "Free Software Foundation, Inc.".
 
+# This is a prologue that allows to run a perl script as an executable
+# on systems that are compliant to a POSIX version before POSIX:2017.
+# On such systems, the usual invocation of an executable through execlp()
+# or execvp() fails with ENOEXEC if it is a script that does not start
+# with a #! line.  The script interpreter mentioned in the #! line has
+# to be /bin/sh, because on GuixSD systems that is the only program that
+# has a fixed file name.  The second line is essential for perl and is
+# also useful for editing this file in Emacs.  The next two lines below
+# are valid code in both sh and perl.  When executed by sh, they re-execute
+# the script through the perl program found in $PATH.  The '-x' option
+# is essential as well; without it, perl would re-execute the script
+# through /bin/sh.  When executed by perl, the next two lines are a no-op.
+eval 'exec perl -wSx -0777 -pi "$0" "$@"'
+     if 0;
+
+my $VERSION = '2023-10-03.12:14'; # UTC
+# The definition above must lie within the first 8 lines in order
+# for the Emacs time-stamp write hook (at end) to update it.
+# If you change this file with Emacs, please let the write hook
+# do its job.  Otherwise, update this string manually.
+
 use strict;
 use warnings;
+use re 'eval';
 
 my $copyright_re = 'Copyright';
-my $circle_c_re = '(?:\([cC]\)|@copyright{}|&copy;)';
+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|&copy;|©)';
+my $ndash_re = '(?:--?|\\\\\(en)';
 my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
 $holder ||= 'Free Software Foundation, Inc.';
 my $prefix_max = 5;
@@ -169,7 +195,7 @@ while (/(^|\n)(.{0,$prefix_max})$copyright_re/g)
     $holder_re =~ s/\s/$ws_re/g;
     my $stmt_remainder_re =
       "(?:$ws_re$circle_c_re)?"
-      . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|-))*"
+      . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|$ndash_re))*"
       . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re";
     if (/\G$stmt_remainder_re/)
       {
@@ -192,7 +218,7 @@ if (defined $stmt_re)
     if ($final_year != $this_year)
       {
         # Update the year.
-        $stmt =~ s/$final_year_orig/$final_year, $this_year/;
+        $stmt =~ s/(^|[^\d])$final_year_orig\b/$1$final_year, $this_year/;
       }
     if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'})
       {
@@ -208,26 +234,30 @@ if (defined $stmt_re)
         # Make the use of intervals consistent.
         if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS})
           {
-            $stmt =~ s/(\d{4})-(\d{4})/join(', ', $1..$2)/eg;
+            $stmt =~ s/(\d{4})$ndash_re(\d{4})/join(', ', $1..$2)/eg;
           }
         else
           {
+            my $ndash = ($ARGV =~ /\.tex(i(nfo)?)?$/ ? "--"
+                         : $ARGV =~ /\.(\d[a-z]*|man)$/ ? "\\(en"
+                         : "-");
+
             $stmt =~
               s/
                 (\d{4})
                 (?:
-                  (,\ |-)
+                  (,\ |$ndash_re)
                   ((??{
-                    if    ($2 eq '-') { '\d{4}'; }
+                    if   ($2 ne ', ') { '\d{4}'; }
                     elsif (!$3)       { $1 + 1;  }
                     else              { $3 + 1;  }
                   }))
                 )+
-              /$1-$3/gx;
+              /$1$ndash$3/gx;
 
             # When it's 2, emit a single range encompassing all year numbers.
             $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2
-              and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1-$2/;
+              and $stmt =~ s/(^|[^\d])(\d{4})\b.*(?:[^\d])(\d{4})\b/$1$2$ndash$3/;
           }
 
         # Format within margin.
@@ -255,7 +285,7 @@ if (defined $stmt_re)
           }
 
         # Replace the old copyright statement.
-        s/$stmt_re/$stmt_wrapped/;
+        s/$stmt_re/$stmt_wrapped/g;
       }
   }
 else
@@ -263,12 +293,15 @@ else
     print STDERR "$ARGV: warning: copyright statement not found\n";
   }
 
+# Hey Emacs!
 # Local variables:
+# coding: utf-8
 # mode: perl
 # indent-tabs-mode: nil
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-line-limit: 200
 # time-stamp-start: "my $VERSION = '"
 # time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "'; # UTC"
 # End:
index 2b64630..ac9c890 100755 (executable)
@@ -1,39 +1,56 @@
-eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
-  & eval 'exec perl -wST "$0" $argv:q'
-    if 0;
+#!/bin/sh
+#! -*-perl-*-
+
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2012-01-06 07:23'; # UTC
-# The definition above must lie within the first 8 lines in order
-# for the Emacs time-stamp write hook (at end) to update it.
-# If you change this file with Emacs, please let the write hook
-# do its job.  Otherwise, update this string manually.
-
-# Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
+# Copyright (C) 2008-2024 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
 # 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/>.
-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+#
 # Written by Jim Meyering
 
+# This is a prologue that allows to run a perl script as an executable
+# on systems that are compliant to a POSIX version before POSIX:2017.
+# On such systems, the usual invocation of an executable through execlp()
+# or execvp() fails with ENOEXEC if it is a script that does not start
+# with a #! line.  The script interpreter mentioned in the #! line has
+# to be /bin/sh, because on GuixSD systems that is the only program that
+# has a fixed file name.  The second line is essential for perl and is
+# also useful for editing this file in Emacs.  The next two lines below
+# are valid code in both sh and perl.  When executed by sh, they re-execute
+# the script through the perl program found in $PATH.  The '-x' option
+# is essential as well; without it, perl would re-execute the script
+# through /bin/sh.  When executed by perl, the next two lines are a no-op.
+eval 'exec perl -wSx "$0" "$@"'
+     if 0;
+
+my $VERSION = '2022-01-27 18:51'; # UTC
+# The definition above must lie within the first 8 lines in order
+# for the Emacs time-stamp write hook (at end) to update it.
+# If you change this file with Emacs, please let the write hook
+# do its job.  Otherwise, update this string manually.
+
+my $copyright_year = '2022';
+
 use strict;
 use warnings;
 use Getopt::Long;
 
 (my $ME = $0) =~ s|.*/||;
 
-# use File::Coda; # http://meyering.net/code/Coda/
+# use File::Coda; # https://meyering.net/code/Coda/
 END {
   defined fileno STDOUT or return;
   close STDOUT and return;
@@ -103,7 +120,19 @@ sub is_NULL ($)
   GetOptions
     (
      help => sub { usage 0 },
-     version => sub { print "$ME version $VERSION\n"; exit },
+     version =>
+       sub
+       {
+         print "$ME version $VERSION\n";
+         print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n";
+         print "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\n"
+             . "This is free software: you are free to change and redistribute it.\n"
+             . "There is NO WARRANTY, to the extent permitted by law.\n";
+         print "\n";
+         my $author = "Jim Meyering";
+         print "Written by $author.\n";
+         exit
+       },
      list => \$list,
      'name=s@' => \@name,
     ) or usage 1;
@@ -129,6 +158,9 @@ sub is_NULL ($)
           $err = EXIT_ERROR, next;
       while (defined (my $line = <FH>))
         {
+          # Skip non-matching lines early to save time
+          $line =~ /\bif\b/
+            or next;
           while ($line =~
               /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
               #  1          2                  3
@@ -199,9 +231,10 @@ EOF
 ## Local Variables:
 ## mode: perl
 ## indent-tabs-mode: nil
-## eval: (add-hook 'write-file-hooks 'time-stamp)
+## eval: (add-hook 'before-save-hook 'time-stamp)
+## time-stamp-line-limit: 50
 ## time-stamp-start: "my $VERSION = '"
 ## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
-## time-stamp-time-zone: "UTC"
+## time-stamp-time-zone: "UTC0"
 ## time-stamp-end: "'; # UTC"
 ## End:
index d477da8..7036576 100755 (executable)
@@ -2,9 +2,9 @@
 # List version-controlled file names.
 
 # Print a version string.
-scriptversion=2011-05-16.22; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2024 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
@@ -17,7 +17,7 @@ scriptversion=2011-05-16.22; # UTC
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 
 # List the specified version-controlled files.
@@ -25,7 +25,7 @@ scriptversion=2011-05-16.22; # UTC
 # list the version-controlled files in that directory.
 
 # If there's an argument, it must be a single, "."-relative directory name.
-# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
+# cvsu is part of the cvsutils package: https://www.red-bean.com/cvsutils/
 
 postprocess=
 case $1 in
@@ -49,7 +49,7 @@ EOF
     cat <<EOF
 vc-list-files $scriptversion
 Copyright (C) $year Free Software Foundation, Inc,
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
@@ -65,7 +65,7 @@ test $# = 0 && set .
 
 for dir
 do
-  if test -d .git; then
+  if test -d .git || test -f .git; then
     test "x$dir" = x. \
       && dir= sed_esc= \
       || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; }
@@ -105,9 +105,9 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/cfg.mk b/cfg.mk
index 722bc48..9368daa 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2012 Simon Josefsson
+# Copyright (C) 2006-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-WFLAGS ?= --enable-gcc-warnings
-ADDFLAGS ?=
-CFGFLAGS ?= --enable-java --enable-gtk-doc --enable-gtk-doc-pdf \
-       $(ADDFLAGS) $(WFLAGS)
+manual_title = Internationalized Domain Names Library
 
-ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
-.DEFAULT_GOAL := bootstrap
-endif
+old_NEWS_hash = a16cf9fccf6fb6870d51cc54a4069118
 
-local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_have_config_h    \
-       sc_require_config_h sc_require_config_h_first                   \
-       sc_prohibit_HAVE_MBRTOWC sc_program_name sc_trailing_blank      \
-       sc_GPL_version sc_immutable_NEWS
+bootstrap-tools = gnulib,autoconf,automake,libtoolize,make,makeinfo,help2man,gperf,gengetopt,gtkdocize,tar,gzip
+
+local-checks-to-skip = sc_GPL_version sc_prohibit_strcmp
+local-checks-to-skip += sc_prohibit_have_config_h sc_require_config_h  \
+       sc_require_config_h_first
 VC_LIST_ALWAYS_EXCLUDE_REGEX = \
-       ^(GNUmakefile|maint.mk|gtk-doc.make|m4/pkg.m4|doc/specifications|contrib/doxygen/Doxyfile|doc/fdl-1.3.texi|csharp/libidn.*suo|(lib/)?(gl|gltests|build-aux)/)
-update-copyright-env = UPDATE_COPYRIGHT_HOLDER="Simon Josefsson" UPDATE_COPYRIGHT_USE_INTERVALS=1
+       ^(GNUmakefile|maint.mk|gtk-doc.make|m4/pkg.m4|m4/libtool.m4|doc/specifications|contrib/doxygen/Doxyfile|doc/fdl-1.3.texi|csharp/libidn.*suo|(lib/)?(gl|gltests|build-aux)/)
 
 # Explicit syntax-check exceptions.
-exclude_file_name_regexp--sc_bindtextdomain = ^examples/|libc/|tests/
+exclude_file_name_regexp--sc_trailing_blank = '^doc/components.fig\|csharp/\|fuzz/libidn_\(toascii\|stringprep\|tounicode\)_fuzzer.in/.*\|java/src/\|lib/gen-unicode-tables.pl\|lib/\(gunibreak\|gunicomp\|gunidecomp\).h$$'
+exclude_file_name_regexp--sc_bindtextdomain = ^examples/|libc/|tests/|fuzz/
 exclude_file_name_regexp--sc_prohibit_atoi_atof = ^examples/example2.c$$
-exclude_file_name_regexp--sc_copyright_check = ^doc/libidn.texi
 exclude_file_name_regexp--sc_useless_cpp_parens = ^lib/nfkc.c$$
-
-doc/Makefile.gdoc:
-       printf "gdoc_MANS =\ngdoc_TEXINFOS =\n" > doc/Makefile.gdoc
-
-autoreconf: doc/Makefile.gdoc
-       for f in po/*.po.in; do \
-               cp $$f `echo $$f | sed 's/.in//'`; \
-       done
-       mv build-aux/config.rpath build-aux/config.rpath-
-       touch ChangeLog
-       test -f ./configure || autoreconf --install
-       mv build-aux/config.rpath- build-aux/config.rpath
-
-update-po: refresh-po
-       for f in `ls po/*.po | grep -v quot.po`; do \
-               cp $$f $$f.in; \
+exclude_file_name_regexp--sc_prohibit_strncpy = ^src/idn.c$$
+exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^fuzz/libidn_.*fuzzer.(in|repro)/.*$$
+exclude_file_name_regexp--sc_two_space_separator_in_usage = ^cfg.mk$$
+exclude_file_name_regexp--sc_prohibit_always_true_header_tests = ^lib/toutf8.c$$
+exclude_file_name_regexp--sc_indent = '^lib/\(gunibreak\|gunicomp\|gunidecomp\).h$$'
+
+# maint.mk's public-submodule-commit breaks on shallow gnulib
+# https://lists.gnu.org/archive/html/bug-gnulib/2022-08/msg00040.html
+# so let's disable it - XXX FIXME let's revisit this later
+submodule-checks =
+gl_public_submodule_commit =
+
+aximport:
+       for f in m4/ax_*.m4; do \
+               wget -O $$f "https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=$$f"; \
        done
-       git add po/*.po.in
-       git commit -m "Sync with TP." po/LINGUAS po/*.po.in
-
-bootstrap: autoreconf
-       ./configure $(CFGFLAGS)
 
 review-diff:
        git diff `git describe --abbrev=0`.. \
-       | grep -v -e ^index -e '^diff --git' \
-       | filterdiff -p 1 -x 'build-aux/*' -x 'gl/*' -x 'gltests/*' -x 'lib/gl/*' -x 'lib/gltests/*' -x 'po/*' -x 'maint.mk' -x '.gitignore' -x '.x-sc*' -x ChangeLog -x GNUmakefile \
+       | grep -v -e '^index' -e '^deleted file mode' -e '^new file mode' \
+       | filterdiff -p 1 -x 'build-aux/*' -x 'gl/*' -x 'lib/gl/*' -x 'po/*' -x 'maint.mk' -x '.gitignore' -x .gitlab-ci.yml -x '.x-sc*' -x ChangeLog -x GNUmakefile -x .prev-version -x bootstrap -x bootstrap-funclib.sh \
        | less
 
-# Release
-
-htmldir = ../www-$(PACKAGE)
-
-i18n:
-       -$(MAKE) update-po
-
-coverage-my:
-       ln -s . lib/gl/unistr/unistr
-       ln -s . lib/gltests/glthread/glthread
-       ln -s . lib/gltests/unistr/unistr
-       $(MAKE) coverage WERROR_CFLAGS=
-
-coverage-copy:
-       rm -fv `find $(htmldir)/coverage -type f | grep -v CVS`
-       cp -rv $(COVERAGE_OUT)/* $(htmldir)/coverage/
-
-coverage-upload:
-       cd $(htmldir) && cvs commit -m "Update." coverage
-
-clang:
-       make clean
-       scan-build ./configure
-       rm -rf scan.tmp
-       scan-build -o scan.tmp make
-
-clang-copy:
-       rm -fv `find $(htmldir)/clang-analyzer -type f | grep -v CVS`
-       mkdir -p $(htmldir)/clang-analyzer/
-       cp -rv scan.tmp/*/* $(htmldir)/clang-analyzer/
-
-clang-upload:
-       cd $(htmldir) && \
-               cvs add clang-analyzer || true && \
-               cvs add clang-analyzer/*.css clang-analyzer/*.js \
-                       clang-analyzer/*.html || true && \
-               cvs commit -m "Update." clang-analyzer
-
-cyclo-copy:
-       cp -v doc/cyclo/cyclo-$(PACKAGE).html $(htmldir)/cyclo/index.html
-
-cyclo-upload:
-       cd $(htmldir) && cvs commit -m "Update." cyclo/index.html
-
-gendoc-copy:
-       cd doc && env MAKEINFO="makeinfo -I ../examples" \
-                     TEXI2DVI="texi2dvi -I ../examples" \
-               $(SHELL) ../build-aux/gendocs.sh \
-               --html "--css-include=texinfo.css" \
-               -o ../$(htmldir)/manual/ $(PACKAGE) "$(PACKAGE_NAME)"
-
-gendoc-upload:
-       cd $(htmldir) && \
-               cvs add manual || true && \
-               cvs add manual/html_node || true && \
-               cvs add -kb manual/*.gz manual/*.pdf || true && \
-               cvs add manual/*.txt manual/*.html \
-                       manual/html_node/*.html || true && \
-               cvs commit -m "Update." manual/
-
-gtkdoc-copy:
-       mkdir -p $(htmldir)/reference/
-       cp -v doc/reference/$(PACKAGE).pdf \
-               doc/reference/html/*.html \
-               doc/reference/html/*.png \
-               doc/reference/html/*.devhelp2 \
-               doc/reference/html/*.css \
-               $(htmldir)/reference/
-
-gtkdoc-upload:
-       cd $(htmldir) && \
-               cvs add reference || true && \
-               cvs add -kb reference/*.png reference/*.pdf || true && \
-               cvs add reference/*.html reference/*.css \
-                       reference/*.devhelp2 || true && \
-               cvs commit -m "Update." reference/
-
-javadoc-copy:
-       cp -rv doc/java/* $(htmldir)/javadoc/
-
-javadoc-upload:
-       cd $(htmldir) && \
-               cvs commit -m "Update." javadoc/
-
-doxygen-copy:
-       cd contrib/doxygen && doxygen && cd ../.. && cp -v contrib/doxygen/html/* $(htmldir)/doxygen/ && cd contrib/doxygen/latex && make refman.pdf && cd ../../../ && cp contrib/doxygen/latex/refman.pdf $(htmldir)/doxygen/$(PACKAGE).pdf
-
-doxygen-upload:
-       cd $(htmldir) && \
-               cvs commit -m "Update." doxygen/
-
-ChangeLog:
-       git2cl > ChangeLog
-       cat .clcopying >> ChangeLog
-
-tag = $(PACKAGE)-`echo $(VERSION) | sed 's/\./-/g'`
-
-tarball:
-       ! git tag -l $(tag) | grep $(PACKAGE) > /dev/null
-       rm -f ChangeLog
-       $(MAKE) ChangeLog distcheck
-
-binaries:
-       cd win32 && make -f libidn4win.mk libidn4win VERSION=$(VERSION)
-
-binaries-upload:
-       cd win32 && make -f libidn4win.mk upload VERSION=$(VERSION)
-
-source:
-       git commit -m Generated. ChangeLog
-       git tag -u b565716f! -m $(VERSION) $(tag)
-
-release-check: syntax-check i18n tarball binaries gendoc-copy gtkdoc-copy coverage-my coverage-copy clang clang-copy cyclo-copy javadoc-copy doxygen-copy
-
-release-upload-www: gendoc-upload gtkdoc-upload coverage-upload clang-upload cyclo-upload javadoc-upload doxygen-upload
-
-release-upload-ftp:
-       build-aux/gnupload --to ftp.gnu.org:$(PACKAGE) $(distdir).tar.gz
-       cp $(distdir).tar.gz $(distdir).tar.gz.sig ../releases/$(PACKAGE)/
-       git push
-       git push --tags
-
-release: release-check release-upload-www source release-upload-ftp binaries-upload
+my-update-copyright:
+       make update-copyright update-copyright-env='UPDATE_COPYRIGHT_USE_INTERVALS=1'
+       make update-copyright update-copyright-env='UPDATE_COPYRIGHT_HOLDER="Simon Josefsson" UPDATE_COPYRIGHT_USE_INTERVALS=1'
+       perl -pi -e "s/2002-20.. Simon Josefsson/2002-`(date +%Y)` Simon Josefsson/" doc/Makefile.am src/idn.c
+
+sc_codespell:
+       @if `which codespell > /dev/null`; then \
+               codespell -L te,ba,noe,nwe,mye,myu,tye,tim,ede,wich `git ls-files|egrep -v '^gnulib|doc/specifications/.*|doc/gdoc|fuzz/libidn_(stringprep|toascii|tounicode)_fuzzer.in/.*$$'`; \
+       fi
+
+sc_libtool_version_bump:
+       @git diff v$(PREV_VERSION).. | grep '^+AC_SUBST(LT' > /dev/null
+
+# Fuzz
+
+COVERAGE_CCOPTS ?= "-g --coverage"
+COVERAGE_OUT ?= doc/coverage
+
+fuzz-coverage:
+       $(MAKE) $(AM_MAKEFLAGS) clean
+       lcov --directory . --zerocounters
+       $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS)
+       $(MAKE) -C fuzz $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check
+       mkdir -p $(COVERAGE_OUT)
+       lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info --capture
+       lcov --remove $(COVERAGE_OUT)/$(PACKAGE).info '*/lib/gl/*' -o $(COVERAGE_OUT)/$(PACKAGE).info
+       genhtml --output-directory $(COVERAGE_OUT) \
+                $(COVERAGE_OUT)/$(PACKAGE).info \
+                --highlight --frames --legend \
+                --title "$(PACKAGE_NAME)"
+       @echo
+       @echo "View fuzz coverage report with 'xdg-open $(COVERAGE_OUT)/index.html'"
index a93e433..8a29015 100644 (file)
@@ -1,5 +1,9 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Witness that <config.h> has been included.  */
+#define _GL_CONFIG_H_INCLUDED 1
+
+
 /* Define to the number of bits in type 'ptrdiff_t'. */
 #undef BITSIZEOF_PTRDIFF_T
 
 /* Define to the number of bits in type 'wint_t'. */
 #undef BITSIZEOF_WINT_T
 
-/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for 'alloca.c' support on those systems.
-   */
-#undef CRAY_STACKSEG_END
-
 /* Define if mono is the preferred C# implementation. */
 #undef CSHARP_CHOICE_MONO
 
-/* Define if pnet is the preferred C# implementation. */
-#undef CSHARP_CHOICE_PNET
-
 /* Define to 1 if using 'alloca.c'. */
 #undef C_ALLOCA
 
+/* Define to 1 if // is a file system root distinct from /. */
+#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #undef ENABLE_NLS
 
+/* Define this to 1 if F_DUPFD behavior does not match POSIX */
+#undef FCNTL_DUPFD_BUGGY
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fscanf shall be considered present. */
+#undef GNULIB_FSCANF
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module msvc-nothrow shall be considered present. */
+#undef GNULIB_MSVC_NOTHROW
+
+/* Disable VLA usage in gettext.h. */
+#undef GNULIB_NO_VLA
+
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module scanf shall be considered present. */
+#undef GNULIB_SCANF
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module strerror shall be considered present. */
 #undef GNULIB_STRERROR
 
+/* Define to 1 when the gnulib module cloexec should be tested. */
+#undef GNULIB_TEST_CLOEXEC
+
 /* Define to 1 when the gnulib module close should be tested. */
 #undef GNULIB_TEST_CLOSE
 
 /* Define to 1 when the gnulib module dup2 should be tested. */
 #undef GNULIB_TEST_DUP2
 
-/* Define to 1 when the gnulib module environ should be tested. */
-#undef GNULIB_TEST_ENVIRON
+/* Define to 1 when the gnulib module fcntl should be tested. */
+#undef GNULIB_TEST_FCNTL
 
-/* Define to 1 when the gnulib module fdopen should be tested. */
-#undef GNULIB_TEST_FDOPEN
+/* Define to 1 when the gnulib module fgetc should be tested. */
+#undef GNULIB_TEST_FGETC
+
+/* Define to 1 when the gnulib module fgets should be tested. */
+#undef GNULIB_TEST_FGETS
+
+/* Define to 1 when the gnulib module fprintf should be tested. */
+#undef GNULIB_TEST_FPRINTF
+
+/* Define to 1 when the gnulib module fputc should be tested. */
+#undef GNULIB_TEST_FPUTC
+
+/* Define to 1 when the gnulib module fputs should be tested. */
+#undef GNULIB_TEST_FPUTS
+
+/* Define to 1 when the gnulib module fread should be tested. */
+#undef GNULIB_TEST_FREAD
+
+/* Define to 1 when the gnulib module free-posix should be tested. */
+#undef GNULIB_TEST_FREE_POSIX
+
+/* Define to 1 when the gnulib module fscanf should be tested. */
+#undef GNULIB_TEST_FSCANF
 
 /* Define to 1 when the gnulib module fstat should be tested. */
 #undef GNULIB_TEST_FSTAT
 
-/* Define to 1 when the gnulib module getcwd should be tested. */
-#undef GNULIB_TEST_GETCWD
+/* Define to 1 when the gnulib module fwrite should be tested. */
+#undef GNULIB_TEST_FWRITE
+
+/* Define to 1 when the gnulib module getc should be tested. */
+#undef GNULIB_TEST_GETC
 
-/* Define to 1 when the gnulib module getopt-gnu should be tested. */
-#undef GNULIB_TEST_GETOPT_GNU
+/* Define to 1 when the gnulib module getchar should be tested. */
+#undef GNULIB_TEST_GETCHAR
 
-/* Define to 1 when the gnulib module lstat should be tested. */
-#undef GNULIB_TEST_LSTAT
+/* Define to 1 when the gnulib module getdelim should be tested. */
+#undef GNULIB_TEST_GETDELIM
 
-/* Define to 1 when the gnulib module malloc-posix should be tested. */
-#undef GNULIB_TEST_MALLOC_POSIX
+/* Define to 1 when the gnulib module getdtablesize should be tested. */
+#undef GNULIB_TEST_GETDTABLESIZE
+
+/* Define to 1 when the gnulib module getline should be tested. */
+#undef GNULIB_TEST_GETLINE
+
+/* Define to 1 when the gnulib module getopt-posix should be tested. */
+#undef GNULIB_TEST_GETOPT_POSIX
+
+/* Define to 1 when the gnulib module getprogname should be tested. */
+#undef GNULIB_TEST_GETPROGNAME
 
 /* Define to 1 when the gnulib module open should be tested. */
 #undef GNULIB_TEST_OPEN
 
-/* Define to 1 when the gnulib module putenv should be tested. */
-#undef GNULIB_TEST_PUTENV
+/* Define to 1 when the gnulib module printf should be tested. */
+#undef GNULIB_TEST_PRINTF
+
+/* Define to 1 when the gnulib module putc should be tested. */
+#undef GNULIB_TEST_PUTC
 
-/* Define to 1 when the gnulib module setenv should be tested. */
-#undef GNULIB_TEST_SETENV
+/* Define to 1 when the gnulib module putchar should be tested. */
+#undef GNULIB_TEST_PUTCHAR
 
-/* Define to 1 when the gnulib module setlocale should be tested. */
-#undef GNULIB_TEST_SETLOCALE
+/* Define to 1 when the gnulib module puts should be tested. */
+#undef GNULIB_TEST_PUTS
+
+/* Define to 1 when the gnulib module scanf should be tested. */
+#undef GNULIB_TEST_SCANF
 
 /* Define to 1 when the gnulib module stat should be tested. */
 #undef GNULIB_TEST_STAT
 /* Define to 1 when the gnulib module strverscmp should be tested. */
 #undef GNULIB_TEST_STRVERSCMP
 
-/* Define to 1 when the gnulib module symlink should be tested. */
-#undef GNULIB_TEST_SYMLINK
+/* Define to 1 when the gnulib module vfprintf should be tested. */
+#undef GNULIB_TEST_VFPRINTF
 
-/* Define to 1 when the gnulib module unsetenv should be tested. */
-#undef GNULIB_TEST_UNSETENV
+/* Define to 1 when the gnulib module vprintf should be tested. */
+#undef GNULIB_TEST_VPRINTF
 
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module unistr/u8-mbtoucr shall be considered present. */
    may be supplied by this distribution. */
 #undef HAVE_ALLOCA
 
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
+/* Define to 1 if <alloca.h> works. */
 #undef HAVE_ALLOCA_H
 
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
    CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYCURRENT
 
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
 
+/* Define to 1 if you have the <crtdefs.h> header file. */
+#undef HAVE_CRTDEFS_H
+
+/* Define to 1 if bool, true and false work as per C2023. */
+#undef HAVE_C_BOOL
+
+/* Define to 1 if the static_assert keyword works. */
+#undef HAVE_C_STATIC_ASSERT
+
+/* Define to 1 if C supports variable-length arrays. */
+#undef HAVE_C_VARARRAYS
+
 /* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 #undef HAVE_DCGETTEXT
 
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
+/* Define to 1 if you have the declaration of `ecvt', and to 0 if you don't.
+   */
+#undef HAVE_DECL_ECVT
+
+/* Define to 1 if you have the declaration of `execvpe', and to 0 if you
+   don't. */
+#undef HAVE_DECL_EXECVPE
+
+/* Define to 1 if you have the declaration of `fcloseall', and to 0 if you
+   don't. */
+#undef HAVE_DECL_FCLOSEALL
+
+/* Define to 1 if you have the declaration of `fcvt', and to 0 if you don't.
+   */
+#undef HAVE_DECL_FCVT
+
+/* Define to 1 if you have the declaration of `gcvt', and to 0 if you don't.
+   */
+#undef HAVE_DECL_GCVT
+
+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETC_UNLOCKED
+
+/* Define to 1 if you have the declaration of `getdelim', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETDELIM
+
+/* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETDTABLESIZE
+
+/* Define to 1 if you have the declaration of `getline', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETLINE
+
+/* Define to 1 if you have the declaration of `getw', and to 0 if you don't.
    */
-#undef HAVE_DECL_GETENV
+#undef HAVE_DECL_GETW
 
 /* Define to 1 if you have the declaration of `program_invocation_name', and
    to 0 if you don't. */
    and to 0 if you don't. */
 #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
 
-/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
+/* Define to 1 if you have the declaration of `putw', and to 0 if you don't.
    */
-#undef HAVE_DECL_SETENV
+#undef HAVE_DECL_PUTW
 
 /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
    don't. */
 #undef HAVE_DECL_STRERROR_R
 
-/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
-   don't. */
-#undef HAVE_DECL_UNSETENV
+/* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't.
+   */
+#undef HAVE_DECL_WCSDUP
+
+/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't.
+   */
+#undef HAVE_DECL___ARGV
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
-/* Define to 1 if you have the 'dup2' function. */
-#undef HAVE_DUP2
+/* Define to 1 if you have the `error' function. */
+#undef HAVE_ERROR
 
-/* Define if you have the declaration of environ. */
-#undef HAVE_ENVIRON_DECL
+/* Define to 1 if you have the <error.h> header file. */
+#undef HAVE_ERROR_H
+
+/* Define to 1 if you have the `fcntl' function. */
+#undef HAVE_FCNTL
 
 /* Define to 1 if you have the <features.h> header file. */
 #undef HAVE_FEATURES_H
 
+/* Define to 1 if you have the `flockfile' function. */
+#undef HAVE_FLOCKFILE
+
+/* Define if the 'free' function is guaranteed to preserve errno. */
+#undef HAVE_FREE_POSIX
+
+/* Define to 1 if you have the `funlockfile' function. */
+#undef HAVE_FUNLOCKFILE
+
+/* Define to 1 if you have the `getdelim' function. */
+#undef HAVE_GETDELIM
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#undef HAVE_GETDTABLESIZE
+
+/* Define to 1 if you have the `getexecname' function. */
+#undef HAVE_GETEXECNAME
+
+/* Define to 1 if you have the `getline' function. */
+#undef HAVE_GETLINE
+
 /* Define to 1 if you have the <getopt.h> header file. */
 #undef HAVE_GETOPT_H
 
 /* Define to 1 if you have the `getopt_long_only' function. */
 #undef HAVE_GETOPT_LONG_ONLY
 
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
 /* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT
 
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
-/* Define if your <locale.h> file defines LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
+/* Define to 1 if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
 
-/* Define to 1 if the system has the type `long long int'. */
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if the system has the type 'long long int'. */
 #undef HAVE_LONG_LONG_INT
 
 /* Define to 1 if you have the `lstat' function. */
 #undef HAVE_LSTAT
 
-/* Define if the 'malloc' function is POSIX compliant. */
-#undef HAVE_MALLOC_POSIX
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+/* Define to 1 if you have the <minix/config.h> header file. */
+#undef HAVE_MINIX_CONFIG_H
 
 /* Define to 1 on MSVC platforms that have the "invalid parameter handler"
    concept. */
 #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
 
-/* Define to 1 if you have the `newlocale' function. */
-#undef HAVE_NEWLOCALE
-
-/* Define to 1 if you have the `pthread_atfork' function. */
-#undef HAVE_PTHREAD_ATFORK
-
-/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
-#undef HAVE_PTHREAD_MUTEX_RECURSIVE
-
-/* Define if the POSIX multithreading library has read/write locks. */
-#undef HAVE_PTHREAD_RWLOCK
-
-/* Define to 1 if atoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ATOLL
-
-/* Define to 1 if btowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_BTOWC
-
-/* Define to 1 if canonicalize_file_name is declared even after undefining
-   macros. */
-#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-
-/* Define to 1 if chdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CHDIR
-
-/* Define to 1 if chown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CHOWN
-
-/* Define to 1 if dprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DPRINTF
-
-/* Define to 1 if dup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP
-
-/* Define to 1 if dup2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP2
-
-/* Define to 1 if dup3 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP3
-
-/* Define to 1 if duplocale is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUPLOCALE
-
-/* Define to 1 if endusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENDUSERSHELL
-
-/* Define to 1 if environ is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENVIRON
-
-/* Define to 1 if euidaccess is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_EUIDACCESS
-
-/* Define to 1 if faccessat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FACCESSAT
-
-/* Define to 1 if fchdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHDIR
-
-/* Define to 1 if fchmodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHMODAT
-
-/* Define to 1 if fchownat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHOWNAT
-
-/* Define to 1 if fcntl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCNTL
-
-/* Define to 1 if fdatasync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FDATASYNC
-
-/* Define to 1 if ffsl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSL
-
-/* Define to 1 if ffsll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSLL
-
-/* Define to 1 if fpurge is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FPURGE
-
-/* Define to 1 if fseeko is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSEEKO
-
-/* Define to 1 if fstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSTAT
-
-/* Define to 1 if fstatat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSTATAT
-
-/* Define to 1 if fsync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSYNC
-
-/* Define to 1 if ftello is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTELLO
-
-/* Define to 1 if ftruncate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTRUNCATE
-
-/* Define to 1 if futimens is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FUTIMENS
-
-/* Define to 1 if getcwd is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETCWD
-
-/* Define to 1 if getdelim is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDELIM
-
-/* Define to 1 if getdomainname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDOMAINNAME
-
-/* Define to 1 if getdtablesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDTABLESIZE
-
-/* Define to 1 if getgroups is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETGROUPS
-
-/* Define to 1 if gethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETHOSTNAME
-
-/* Define to 1 if getline is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLINE
-
-/* Define to 1 if getloadavg is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOADAVG
-
-/* Define to 1 if getlogin is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN
-
-/* Define to 1 if getlogin_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN_R
-
-/* Define to 1 if getpagesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETPAGESIZE
-
-/* Define to 1 if gets is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETS
-
-/* Define to 1 if getsubopt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETSUBOPT
-
-/* Define to 1 if getusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETUSERSHELL
-
-/* Define to 1 if grantpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GRANTPT
-
-/* Define to 1 if group_member is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GROUP_MEMBER
-
-/* Define to 1 if imaxabs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXABS
-
-/* Define to 1 if imaxdiv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXDIV
-
-/* Define to 1 if initstate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTATE
-
-/* Define to 1 if initstate_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTATE_R
-
-/* Define to 1 if isatty is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ISATTY
-
-/* Define to 1 if lchmod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHMOD
+/* Define to 1 if you have the <sdkddkver.h> header file. */
+#undef HAVE_SDKDDKVER_H
 
-/* Define to 1 if lchown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHOWN
-
-/* Define to 1 if link is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINK
-
-/* Define to 1 if linkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINKAT
-
-/* Define to 1 if lseek is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSEEK
-
-/* Define to 1 if lstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSTAT
-
-/* Define to 1 if mbrlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRLEN
-
-/* Define to 1 if mbrtowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRTOWC
-
-/* Define to 1 if mbsinit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSINIT
-
-/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSNRTOWCS
-
-/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSRTOWCS
-
-/* Define to 1 if memmem is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMMEM
-
-/* Define to 1 if mempcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMPCPY
-
-/* Define to 1 if memrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMRCHR
-
-/* Define to 1 if mkdirat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDIRAT
-
-/* Define to 1 if mkdtemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDTEMP
-
-/* Define to 1 if mkfifo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFO
-
-/* Define to 1 if mkfifoat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFOAT
-
-/* Define to 1 if mknod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNOD
-
-/* Define to 1 if mknodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNODAT
-
-/* Define to 1 if mkostemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMP
-
-/* Define to 1 if mkostemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMPS
-
-/* Define to 1 if mkstemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMP
-
-/* Define to 1 if mkstemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMPS
-
-/* Define to 1 if openat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_OPENAT
-
-/* Define to 1 if pclose is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PCLOSE
-
-/* Define to 1 if pipe is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE
-
-/* Define to 1 if pipe2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE2
-
-/* Define to 1 if popen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_POPEN
-
-/* Define to 1 if posix_openpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_POSIX_OPENPT
-
-/* Define to 1 if pread is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PREAD
-
-/* Define to 1 if ptsname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTSNAME
-
-/* Define to 1 if ptsname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTSNAME_R
-
-/* Define to 1 if pwrite is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PWRITE
-
-/* Define to 1 if random is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RANDOM
-
-/* Define to 1 if random_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RANDOM_R
-
-/* Define to 1 if rawmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RAWMEMCHR
-
-/* Define to 1 if readlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINK
-
-/* Define to 1 if readlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINKAT
-
-/* Define to 1 if realpath is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REALPATH
-
-/* Define to 1 if renameat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RENAMEAT
-
-/* Define to 1 if rmdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RMDIR
-
-/* Define to 1 if rpmatch is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RPMATCH
-
-/* Define to 1 if setenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETENV
-
-/* Define to 1 if sethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETHOSTNAME
-
-/* Define to 1 if setlocale is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETLOCALE
-
-/* Define to 1 if setstate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSTATE
-
-/* Define to 1 if setstate_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSTATE_R
-
-/* Define to 1 if setusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETUSERSHELL
-
-/* Define to 1 if sleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SLEEP
-
-/* Define to 1 if snprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SNPRINTF
-
-/* Define to 1 if srandom is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SRANDOM
-
-/* Define to 1 if srandom_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SRANDOM_R
-
-/* Define to 1 if stat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STAT
-
-/* Define to 1 if stpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPCPY
-
-/* Define to 1 if stpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPNCPY
-
-/* Define to 1 if strcasestr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCASESTR
-
-/* Define to 1 if strchrnul is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCHRNUL
-
-/* Define to 1 if strdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRDUP
-
-/* Define to 1 if strerror_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRERROR_R
-
-/* Define to 1 if strncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNCAT
-
-/* Define to 1 if strndup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNDUP
-
-/* Define to 1 if strnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNLEN
-
-/* Define to 1 if strpbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRPBRK
-
-/* Define to 1 if strsep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSEP
-
-/* Define to 1 if strsignal is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSIGNAL
-
-/* Define to 1 if strtod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOD
-
-/* Define to 1 if strtoimax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOIMAX
-
-/* Define to 1 if strtok_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOK_R
-
-/* Define to 1 if strtoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOLL
-
-/* Define to 1 if strtoull is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOULL
-
-/* Define to 1 if strtoumax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOUMAX
-
-/* Define to 1 if strverscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRVERSCMP
-
-/* Define to 1 if symlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINK
-
-/* Define to 1 if symlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINKAT
-
-/* Define to 1 if tmpfile is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TMPFILE
-
-/* Define to 1 if ttyname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TTYNAME_R
-
-/* Define to 1 if unlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINK
-
-/* Define to 1 if unlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINKAT
-
-/* Define to 1 if unlockpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLOCKPT
-
-/* Define to 1 if unsetenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNSETENV
-
-/* Define to 1 if usleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_USLEEP
-
-/* Define to 1 if utimensat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UTIMENSAT
-
-/* Define to 1 if vdprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VDPRINTF
-
-/* Define to 1 if vsnprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VSNPRINTF
-
-/* Define to 1 if wcpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPCPY
-
-/* Define to 1 if wcpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPNCPY
-
-/* Define to 1 if wcrtomb is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCRTOMB
-
-/* Define to 1 if wcscasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCASECMP
-
-/* Define to 1 if wcscat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCAT
-
-/* Define to 1 if wcschr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCHR
-
-/* Define to 1 if wcscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCMP
-
-/* Define to 1 if wcscoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCOLL
-
-/* Define to 1 if wcscpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCPY
-
-/* Define to 1 if wcscspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCSPN
-
-/* Define to 1 if wcsdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSDUP
-
-/* Define to 1 if wcslen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSLEN
-
-/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCASECMP
-
-/* Define to 1 if wcsncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCAT
-
-/* Define to 1 if wcsncmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCMP
-
-/* Define to 1 if wcsncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCPY
-
-/* Define to 1 if wcsnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNLEN
-
-/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNRTOMBS
-
-/* Define to 1 if wcspbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSPBRK
-
-/* Define to 1 if wcsrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRCHR
-
-/* Define to 1 if wcsrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRTOMBS
-
-/* Define to 1 if wcsspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSPN
-
-/* Define to 1 if wcsstr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSTR
-
-/* Define to 1 if wcstok is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSTOK
-
-/* Define to 1 if wcswidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSWIDTH
-
-/* Define to 1 if wcsxfrm is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSXFRM
-
-/* Define to 1 if wctob is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTOB
-
-/* Define to 1 if wcwidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCWIDTH
-
-/* Define to 1 if wmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCHR
-
-/* Define to 1 if wmemcmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCMP
-
-/* Define to 1 if wmemcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCPY
-
-/* Define to 1 if wmemmove is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMMOVE
-
-/* Define to 1 if wmemset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMSET
-
-/* Define to 1 if _Exit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL__EXIT
-
-/* Define to 1 if you have the <search.h> header file. */
-#undef HAVE_SEARCH_H
-
-/* Define to 1 if you have the `setenv' function. */
-#undef HAVE_SETENV
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
+/* Define to 1 if you have the `setdtablesize' function. */
+#undef HAVE_SETDTABLESIZE
 
 /* Define to 1 if 'sig_atomic_t' is a signed integer type. */
 #undef HAVE_SIGNED_SIG_ATOMIC_T
 /* Define to 1 if 'wint_t' is a signed integer type. */
 #undef HAVE_SIGNED_WINT_T
 
+/* Define to 1 if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdckdint.h> header file. */
+#undef HAVE_STDCKDINT_H
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
-/* Define to 1 if you have the `strerror_r' function. */
+/* Define if you have `strerror_r'. */
 #undef HAVE_STRERROR_R
 
 /* Define to 1 if you have the <strings.h> header file. */
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
+/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
+
+/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
+
+/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
+
+/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
+
+/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+
+/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+
+/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
+
 /* Define to 1 if you have the `strverscmp' function. */
 #undef HAVE_STRVERSCMP
 
 /* Define to 1 if you have the <sys/bitypes.h> header file. */
 #undef HAVE_SYS_BITYPES_H
 
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#undef HAVE_SYS_CDEFS_H
+
 /* Define to 1 if you have the <sys/inttypes.h> header file. */
 #undef HAVE_SYS_INTTYPES_H
 
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
-/* Define to 1 if you have the `tsearch' function. */
-#undef HAVE_TSEARCH
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to 1 if you have the `unsetenv' function. */
-#undef HAVE_UNSETENV
+/* Define to 1 if you have the <unistring/woe32dll.h> header file. */
+#undef HAVE_UNISTRING_WOE32DLL_H
 
-/* Define to 1 if the system has the type `unsigned long long int'. */
+/* Define to 1 if the system has the type 'unsigned long long int'. */
 #undef HAVE_UNSIGNED_LONG_LONG_INT
 
-/* Define to 1 if you have the `uselocale' function. */
-#undef HAVE_USELOCALE
+/* Define if you have a global __progname variable */
+#undef HAVE_VAR___PROGNAME
 
 /* Define to 1 or 0, depending whether the compiler supports simple visibility
    declarations. */
 /* Define to 1 if O_NOFOLLOW works. */
 #undef HAVE_WORKING_O_NOFOLLOW
 
-/* Define to 1 if you have the <xlocale.h> header file. */
-#undef HAVE_XLOCALE_H
-
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
 /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
 #undef HAVE__SET_INVALID_PARAMETER_HANDLER
 
+/* Define to 1 if ctype.h defines __header_inline. */
+#undef HAVE___HEADER_INLINE
+
+/* Please see the Gnulib manual for how to use these macros.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress extern inline with Sun C in standards-conformance mode, as it
+   mishandles inline functions that call each other.  E.g., for 'inline void f
+   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+   'reference to static identifier "f" in extern inline function'.
+   This bug was observed with Oracle Developer Studio 12.6
+   (Sun C 5.15 SunOS_sparc 2017/05/30).
+
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined HAVE___HEADER_INLINE \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
+#if ((__GNUC__ \
+      ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+         && !defined __PCC__) \
+      : (199901L <= __STDC_VERSION__ \
+         && !defined __HP_cc \
+         && !defined __PGI \
+         && !(defined __SUNPRO_C && __STDC__))) \
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined __PCC__ \
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
+#else
+# define _GL_INLINE _GL_UNUSED static
+# define _GL_EXTERN_INLINE _GL_UNUSED static
+#endif
+
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif
+
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#undef HAVE___INLINE
+
 /* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST
 
    implementation. */
 #undef ICONV_FLAVOR
 
-/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
-   slash. */
-#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #undef LT_OBJDIR
 
 /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
 #undef MALLOC_0_IS_NONNULL
 
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+
+
+/* Define to 1 on musl libc. */
+#undef MUSL_LIBC
 
 /* Define to 1 if open() fails to recognize a trailing slash. */
 #undef OPEN_TRAILING_SLASH_BUG
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
-/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
-#undef PRI_MACROS_BROKEN
-
 /* Define to the type that is the result of default argument promotions of
    type mode_t. */
 #undef PROMOTED_MODE_T
 
-/* Define if the pthread_in_use() detection is hard. */
-#undef PTHREAD_IN_USE_DETECTION_HARD
-
 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
    'ptrdiff_t'. */
 #undef PTRDIFF_T_SUFFIX
 
-/* Define to 1 if stat needs help when passed a directory name with a trailing
-   slash */
-#undef REPLACE_FUNC_STAT_DIR
-
 /* Define to 1 if stat needs help when passed a file name with a trailing
    slash */
 #undef REPLACE_FUNC_STAT_FILE
 /* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
-        STACK_DIRECTION > 0 => grows toward higher addresses
-        STACK_DIRECTION < 0 => grows toward lower addresses
-        STACK_DIRECTION = 0 => direction of growth unknown */
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown */
 #undef STACK_DIRECTION
 
 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
 #undef STAT_MACROS_BROKEN
 
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
 
 /* Define to 1 if strerror_r returns char *. */
 #undef STRERROR_R_CHAR_P
 
-/* Define if the POSIX multithreading library can be used. */
-#undef USE_POSIX_THREADS
-
-/* Define if references to the POSIX multithreading library should be made
-   weak. */
-#undef USE_POSIX_THREADS_WEAK
+/* Define to 1 if the type of the st_atim member of a struct stat is struct
+   timespec. */
+#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
 
-/* Define if the GNU Pth multithreading library can be used. */
-#undef USE_PTH_THREADS
-
-/* Define if references to the GNU Pth multithreading library should be made
-   weak. */
-#undef USE_PTH_THREADS_WEAK
-
-/* Define if the old Solaris multithreading library can be used. */
-#undef USE_SOLARIS_THREADS
-
-/* Define if references to the old Solaris multithreading library should be
-   made weak. */
-#undef USE_SOLARIS_THREADS_WEAK
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+# undef _MINIX
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+# undef _POSIX_SOURCE
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+# undef _POSIX_1_SOURCE
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by C23 Annex F.  */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
+#endif
 
-/* Define if the Win32 multithreading API can be used. */
-#undef USE_WIN32_THREADS
 
 /* Version number of package */
 #undef VERSION
 
-/* Define to 1 if unsetenv returns void instead of int. */
-#undef VOID_UNSETENV
-
 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
    'wchar_t'. */
 #undef WCHAR_T_SUFFIX
 /* Define to 1 if you want TLD code. */
 #undef WITH_TLD
 
-/* Enable large inode numbers on Mac OS X.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
-/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
-   stat.st_size becomes 64-bit. */
-#undef _GL_WINDOWS_64_BIT_ST_SIZE
+/* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define _GL_GNUC_PREREQ(major, minor) \
+    ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
+#else
+# define _GL_GNUC_PREREQ(major, minor) 0
+#endif
 
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
 
-/* Define to 1 on Solaris. */
-#undef _LCONV_C99
+/* Define to enable the declarations of ISO C 11 types and functions. */
+#undef _ISOC11_SOURCE
 
-/* Define to 1 if on MINIX. */
-#undef _MINIX
+/* Define to 1 on platforms where this makes off_t a 64-bit type. */
+#undef _LARGE_FILES
 
 /* The _Noreturn keyword of C11.  */
-#if ! (defined _Noreturn \
-       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+        && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+   /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+      that rare LLVM bug, though you may get many false-alarm warnings.  */
+#  define _Noreturn
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (_GL_GNUC_PREREQ (4, 7) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
 #endif
 
 
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
+/* Number of bits in time_t, on hosts where this is settable. */
+#undef _TIME_BITS
 
-/* Define to 1 if you need to in order for 'stat' and other things to work. */
-#undef _POSIX_SOURCE
+/* For standard stat data types on VMS. */
+#undef _USE_STD_STAT
 
-/* Define to 500 only on HP-UX. */
-#undef _XOPEN_SOURCE
+/* Define to rpl_ if the getopt replacement functions and variables should be
+   used. */
+#undef __GETOPT_PREFIX
 
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
+/* Define to 1 on platforms where this makes time_t a 64-bit type. */
+#undef __MINGW_USE_VC2005_COMPAT
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+#undef __STDC_CONSTANT_MACROS
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+#undef __STDC_LIMIT_MACROS
+
+/* Define to 1 if C does not support variable-length arrays, and if the
+   compiler does not already define this. */
+#undef __STDC_NO_VLA__
+
+/* The _GL_ASYNC_SAFE marker should be attached to functions that are
+   signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
+   invoked from such signal handlers.  Such functions have some restrictions:
+     * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
+       or should be listed as async-signal-safe in POSIX
+       <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
+       section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
+       particular, are NOT async-signal-safe.
+     * All memory locations (variables and struct fields) that these functions
+       access must be marked 'volatile'.  This holds for both read and write
+       accesses.  Otherwise the compiler might optimize away stores to and
+       reads from such locations that occur in the program, depending on its
+       data flow analysis.  For example, when the program contains a loop
+       that is intended to inspect a variable set from within a signal handler
+           while (!signal_occurred)
+             ;
+       the compiler is allowed to transform this into an endless loop if the
+       variable 'signal_occurred' is not declared 'volatile'.
+   Additionally, recall that:
+     * A signal handler should not modify errno (except if it is a handler
+       for a fatal signal and ends by raising the same signal again, thus
+       provoking the termination of the process).  If it invokes a function
+       that may clobber errno, it needs to save and restore the value of
+       errno.  */
+#define _GL_ASYNC_SAFE
+
+
+/* Attributes.  */
+#if (defined __has_attribute \
+     && (!defined __clang_minor__ \
+         || (defined __apple_build_version__ \
+             ? 6000000 <= __apple_build_version__ \
+             : 5 <= __clang_major__)))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
+#else
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+#  define _GL_ATTR_may_alias 0
+# else
+#  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
 #endif
-/* Enable general extensions on MacOS X.  */
-#ifndef _DARWIN_C_SOURCE
-# undef _DARWIN_C_SOURCE
+
+/* Use __has_c_attribute if available.  However, do not use with
+   pre-C23 GCC, which can issue false positives if -Wpedantic.  */
+#if (defined __has_c_attribute \
+     && ! (_GL_GNUC_PREREQ (4, 6) \
+           && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710))
+# define _GL_HAVE___HAS_C_ATTRIBUTE 1
+#else
+# define _GL_HAVE___HAS_C_ATTRIBUTE 0
 #endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
+
+/* Define if, in a function declaration, the attributes in bracket syntax
+   [[...]] must come before the attributes in __attribute__((...)) syntax.
+   If this is defined, it is best to avoid the bracket syntax, so that the
+   various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any
+   order.  */
+#ifdef __cplusplus
+# if defined __clang__
+#  define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#else
+# if defined __GNUC__ && !defined __clang__
+#  define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
 #endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
+
+/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
+   is the size of the returned memory block.
+   _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied
+   by the Nth argument of the function is the size of the returned memory block.
+ */
+/* Applies to: function, pointer to function, function types.  */
+#ifndef _GL_ATTRIBUTE_ALLOC_SIZE
+# if _GL_HAS_ATTRIBUTE (alloc_size)
+#  define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+# else
+#  define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+# endif
 #endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
+
+/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
+   function and report an error if it cannot do so.  */
+/* Applies to: function.  */
+#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE
+# if _GL_HAS_ATTRIBUTE (always_inline)
+#  define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+# else
+#  define _GL_ATTRIBUTE_ALWAYS_INLINE
+# endif
 #endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
+
+/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
+    in stack traces when debugging.  The compiler should omit the function from
+    stack traces.  */
+/* Applies to: function.  */
+#ifndef _GL_ATTRIBUTE_ARTIFICIAL
+# if _GL_HAS_ATTRIBUTE (artificial)
+#  define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+# else
+#  define _GL_ATTRIBUTE_ARTIFICIAL
+# endif
 #endif
 
+/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed.  */
+/* Applies to: functions.  */
+/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
+   <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
+   Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
+#ifndef _GL_ATTRIBUTE_COLD
+# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+#  ifndef __SUNPRO_C
+#   define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+#  else
+#   define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+#  endif
+# else
+#  define _GL_ATTRIBUTE_COLD
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
+   calls to the function with the same arguments.
+   This attribute is safe for a function that neither depends on nor affects
+   observable state, and always returns exactly once - e.g., does not loop
+   forever, and does not call longjmp.
+   (This attribute is stricter than _GL_ATTRIBUTE_PURE.)  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_CONST
+# if _GL_HAS_ATTRIBUTE (const)
+#  define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+# else
+#  define _GL_ATTRIBUTE_CONST
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.
+   _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if _GL_GNUC_PREREQ (11, 0)
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
+   to use this earlier definition, since <stdlib.h> may not have been included
+   yet.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
+   The compiler may warn if the entity is used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: namespace, class, template specialization.  */
+#ifndef _GL_ATTRIBUTE_DEPRECATED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__deprecated__)
+#    define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+#   endif
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated)
+#  define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+# endif
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+#  define _GL_ATTRIBUTE_DEPRECATED
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
+   the function call is not optimized away.
+   _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
+   the function call is not optimized away.  */
+/* Applies to: functions.  */
+#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING)
+# if _GL_HAS_ATTRIBUTE (error)
+#  define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+#  define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+# elif _GL_HAS_ATTRIBUTE (diagnose_if)
+#  define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+#  define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+# else
+#  define _GL_ATTRIBUTE_ERROR(msg)
+#  define _GL_ATTRIBUTE_WARNING(msg)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
+   visible to debuggers etc., even with '-fwhole-program'.  */
+/* Applies to: functions, variables.  */
+#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# if _GL_HAS_ATTRIBUTE (externally_visible)
+#  define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+# else
+#  define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
+   the control flow falls through to the immediately following 'case' or
+   'default' label.  The compiler should not warn in this case.  */
+/* Applies to: Empty statement (;), inside a 'switch' statement.  */
+/* Always expands to something.  */
+#ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+#  if __has_c_attribute (__fallthrough__)
+#   define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough)
+#  define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+# ifndef _GL_ATTRIBUTE_FALLTHROUGH
+#  define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
+   declares that the STRING-INDEXth function argument is a format string of
+   style ARCHETYPE, which is one of:
+     printf, gnu_printf
+     scanf, gnu_scanf,
+     strftime, gnu_strftime,
+     strfmon,
+   or the same thing prefixed and suffixed with '__'.
+   If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
+   are suitable for the format string.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_FORMAT
+# if _GL_HAS_ATTRIBUTE (format)
+#  define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+# else
+#  define _GL_ATTRIBUTE_FORMAT(spec)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
+   compilation unit, it executes code from that unit only by return or by
+   exception handling.  This declaration lets the compiler optimize that unit
+   more aggressively.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_LEAF
+# if _GL_HAS_ATTRIBUTE (leaf)
+#  define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+# else
+#  define _GL_ATTRIBUTE_LEAF
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if _GL_HAS_ATTRIBUTE (malloc)
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
+   same storage as pointers to other types.  Thus this declaration disables
+   strict aliasing optimization.  */
+/* Applies to: types.  */
+/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
+#ifndef _GL_ATTRIBUTE_MAY_ALIAS
+# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+#  define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+# else
+#  define _GL_ATTRIBUTE_MAY_ALIAS
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
+   the entity is not used.  The compiler should not warn if the entity is not
+   used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: class.  */
+/* In C++ and C23, this is spelled [[__maybe_unused__]].
+   GCC's syntax is __attribute__ ((__unused__)).
+   clang supports both syntaxes.  Except that with clang ≥ 6, < 10, in C++ mode,
+   __has_c_attribute (__maybe_unused__) yields true but the use of
+   [[__maybe_unused__]] nevertheless produces a warning.  */
+#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if defined __clang__ && defined __cplusplus
+#   if !defined __apple_build_version__ && __clang_major__ >= 10
+#    define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#   endif
+#  elif _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__maybe_unused__)
+#    define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#   endif
+#  endif
+# endif
+# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+#  define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+# endif
+#endif
+/* Alternative spelling of this macro, for convenience and for
+   compatibility with glibc/include/libc-symbols.h.  */
+#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
+/* Earlier spellings of this macro.  */
+#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
+
+/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not
+   discard the return value.  The compiler may warn if the caller does not use
+   the return value, unless the caller uses something like ignore_value.  */
+/* Applies to: function, enumeration, class.  */
+#ifndef _GL_ATTRIBUTE_NODISCARD
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if defined __clang__ && defined __cplusplus
+  /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces
+     a warning.
+     The 1000 below means a yet unknown threshold.  When clang++ version X
+     starts supporting [[__nodiscard__]] without warning about it, you can
+     replace the 1000 with X.  */
+#   if __clang_major__ >= 1000
+#    define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#   endif
+#  elif _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__nodiscard__)
+#    define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#   endif
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result)
+#  define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+# endif
+# ifndef _GL_ATTRIBUTE_NODISCARD
+#  define _GL_ATTRIBUTE_NODISCARD
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
+   function.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_NOINLINE
+# if _GL_HAS_ATTRIBUTE (noinline)
+#  define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+# else
+#  define _GL_ATTRIBUTE_NOINLINE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
+   must not be NULL.
+   _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
+   null.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_NONNULL
+# if _GL_HAS_ATTRIBUTE (nonnull)
+#  define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+# else
+#  define _GL_ATTRIBUTE_NONNULL(args)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
+   not meant to be NUL-terminated.  */
+/* Applies to: struct/union members and variables that are arrays of element
+   type '[[un]signed] char'.  */
+#ifndef _GL_ATTRIBUTE_NONSTRING
+# if _GL_HAS_ATTRIBUTE (nonstring)
+#  define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+# else
+#  define _GL_ATTRIBUTE_NONSTRING
+# endif
+#endif
+
+/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+/* Applies to: functions.  */
+/* After a function's parameter list, this attribute must come first, before
+   other attributes.  */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if _GL_HAS_ATTRIBUTE (nothrow)
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_PACKED declares:
+   For struct members: The member has the smallest possible alignment.
+   For struct, union, class: All members have the smallest possible alignment,
+   minimizing the memory required.  */
+/* Applies to: struct members, struct, union,
+   in C++ also: class.  */
+#ifndef _GL_ATTRIBUTE_PACKED
+# if _GL_HAS_ATTRIBUTE (packed)
+#  define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+# else
+#  define _GL_ATTRIBUTE_PACKED
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
+   calls to the function with the same arguments if observable state is not
+   changed between calls.
+   This attribute is safe for a function that does not affect
+   observable state, and always returns exactly once.
+   (This attribute is looser than _GL_ATTRIBUTE_CONST.)  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if _GL_HAS_ATTRIBUTE (pure)
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
+   a non-NULL pointer.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL
+# if _GL_HAS_ATTRIBUTE (returns_nonnull)
+#  define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+# else
+#  define _GL_ATTRIBUTE_RETURNS_NONNULL
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
+   trailing NULL argument.
+   _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
+   _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_SENTINEL
+# if _GL_HAS_ATTRIBUTE (sentinel)
+#  define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+# else
+#  define _GL_ATTRIBUTE_SENTINEL(pos)
+# endif
+#endif
+
+/* A helper macro.  Don't use it directly.  */
+#ifndef _GL_ATTRIBUTE_UNUSED
+# if _GL_HAS_ATTRIBUTE (unused)
+#  define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define _GL_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+
+/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the
+   immediately preceding label is not used.  The compiler should not warn
+   if the label is not used.  */
+/* Applies to: label (both in C and C++).  */
+/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
+   syntax.  But clang does.  */
+#ifndef _GL_UNUSED_LABEL
+# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+#  define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+# else
+#  define _GL_UNUSED_LABEL
+# endif
+#endif
+
+
+/* In C++, there is the concept of "language linkage", that encompasses
+    name mangling and function calling conventions.
+    The following macros start and end a block of "C" linkage.  */
+#ifdef __cplusplus
+# define _GL_BEGIN_C_LINKAGE extern "C" {
+# define _GL_END_C_LINKAGE }
+#else
+# define _GL_BEGIN_C_LINKAGE
+# define _GL_END_C_LINKAGE
+#endif
 
-/* Define to rpl_ if the getopt replacement functions and variables should be
-   used. */
-#undef __GETOPT_PREFIX
 
 /* A replacement for va_copy, if needed.  */
 #define gl_va_copy(a,b) ((a) = (b))
 /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
    earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
-   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE__ && __MACH__ test for Mac OS X.
    __APPLE_CC__ tests for the Apple compiler and its version.
    __STDC_VERSION__ tests for the C99 mode.  */
 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
 # define __GNUC_STDC_INLINE__ 1
 #endif
 
+/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
+   n1 and n2 are expressions without side effects, that evaluate to real
+   numbers (excluding NaN).
+   It returns
+     1  if n1 > n2
+     0  if n1 == n2
+     -1 if n1 < n2
+   The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
+   jump with nearly all GCC versions up to GCC 10.
+   This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
+   GCC versions up to GCC 9.
+   The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
+   avoids conditional jumps in all GCC versions >= 3.4.  */
+#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
+
+
 /* Define to `int' if <sys/types.h> does not define. */
 #undef mode_t
 
 /* Define to the type of st_nlink in struct stat, or a supertype. */
 #undef nlink_t
 
-/* Define to `int' if <sys/types.h> does not define. */
+/* Define as a signed integer type capable of holding a process identifier. */
 #undef pid_t
 
 /* Define to the equivalent of the C99 'restrict' keyword, or to
    nothing if this is not supported.  Do not define if restrict is
-   supported directly.  */
+   supported only directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict or
-   __restrict__, even though the corresponding Sun C compiler ends up with
-   "#define restrict _Restrict" or "#define restrict __restrict__" in the
-   previous line.  Perhaps some future version of Sun C++ will work with
-   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
-#if defined __SUNPRO_CC && !defined __RESTRICT
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
 # define _Restrict
 # define __restrict__
 #endif
 /* Define as a signed type of the same size as size_t. */
 #undef ssize_t
 
-/* Define as a marker that can be attached to declarations that might not
-    be used.  This helps to reduce warnings, such as from
-    GCC -Wunused-parameter.  */
-#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_UNUSED __attribute__ ((__unused__))
-#else
-# define _GL_UNUSED
-#endif
-/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
-   is a misnomer outside of parameter lists.  */
-#define _UNUSED_PARAMETER_ _GL_UNUSED
-
-/* The __pure__ attribute was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The __const__ attribute was added in gcc 2.95.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
-#else
-# define _GL_ATTRIBUTE_CONST /* empty */
-#endif
 
+  /* This definition is a duplicate of the one in unitypes.h.
+     It is here so that we can cope with an older version of unitypes.h
+     that does not contain this definition and that is pre-installed among
+     the public header files.  */
+  # if defined __restrict \
+       || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
+       || __clang_major__ >= 3
+  #  define _UC_RESTRICT __restrict
+  # elif 199901L <= __STDC_VERSION__ || defined restrict
+  #  define _UC_RESTRICT restrict
+  # else
+  #  define _UC_RESTRICT
+  # endif
+  
 
 /* Define as a macro for copying va_list variables. */
 #undef va_copy
+
+#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif
+
+#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+     && (!defined __cplusplus \
+         || (__cpp_static_assert < 201411 \
+             && __GNUG__ < 6 && __clang_major__ < 6)))
+ #include <assert.h>
+ #undef/**/assert
+ #ifdef __sgi
+  #undef/**/__ASSERT_H__
+ #endif
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+    We need it also to be invocable with a single argument.  */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+  #undef/**/static_assert
+  #define static_assert _Static_assert
+ #endif
+#endif
index ab4c7a6..6d3dcf2 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,33 +1,32 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for GNU Libidn 1.25.
+# Generated by GNU Autoconf 2.71 for GNU Libidn 1.42.
 #
-# Report bugs to <bug-libidn@gnu.org>.
+# Report bugs to <help-libidn@gnu.org>.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-#
-# Copyright (c) 2002-2012 Simon Josefsson <simon@josefsson.org>.
 ## -------------------- ##
 ## M4sh Initialization. ##
 ## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -37,46 +36,46 @@ esac
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""       $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -85,13 +84,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -100,8 +92,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -113,40 +109,47 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '\${1+\"\$@\"}'='\"\$@\"'
   setopt NO_GLOB_SUBST
-else
+else \$as_nop
   case \`(set -o) 2>/dev/null\` in #(
   *posix*) :
     set -o posix ;; #(
@@ -166,12 +169,16 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; }
 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
 
-else
+else \$as_nop
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -185,30 +192,38 @@ test \$(( 1 + 1 )) = 2 || exit 1
     PATH=/empty FPATH=/empty; export PATH FPATH
     test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
       || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
+  if (eval "$as_required") 2>/dev/null
+then :
   as_have_required=yes
-else
+else $as_nop
   as_have_required=no
 fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
 
-else
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
   as_found=:
   case $as_dir in #(
         /*)
           for as_base in sh bash ksh sh5; do
             # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
+            as_shell=$as_dir$as_base
             if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+                   as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
   CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+                  if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
   break 2
 fi
 fi
@@ -216,43 +231,55 @@ fi
        esac
   as_found=false
 done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
 IFS=$as_save_IFS
+if $as_found
+then :
 
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+else $as_nop
+  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+             as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
 fi
+fi
+
 
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+      if test "x$CONFIG_SHELL" != x
+then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno
+then :
+  printf "%s\n" "$0: This script requires a shell more modern than all"
+  printf "%s\n" "$0: the shells that I found on your system."
+  if test ${ZSH_VERSION+y} ; then
+    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-libidn@gnu.org
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
+    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
+$0: help-libidn@gnu.org about your system, including any
+$0: error possibly output before this message. Then install
+$0: a modern shell, or manually run the script under such a
+$0: shell if you do have one."
   fi
   exit 1
 fi
@@ -276,6 +303,7 @@ as_fn_unset ()
 }
 as_unset=as_fn_unset
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -293,6 +321,14 @@ as_fn_exit ()
   as_fn_set_status $1
   exit $1
 } # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_mkdir_p
 # -------------
@@ -307,7 +343,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -316,7 +352,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -341,18 +377,27 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -364,18 +409,27 @@ fi # as_fn_append
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
   }
 fi # as_fn_arith
 
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
 # ----------------------------------------
@@ -387,9 +441,9 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -416,7 +470,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -460,8 +514,12 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -470,6 +528,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   exit
 }
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -483,6 +545,13 @@ case `echo -n x` in #(((((
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -496,16 +565,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -517,28 +586,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -572,59 +621,57 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU Libidn'
 PACKAGE_TARNAME='libidn'
-PACKAGE_VERSION='1.25'
-PACKAGE_STRING='GNU Libidn 1.25'
-PACKAGE_BUGREPORT='bug-libidn@gnu.org'
-PACKAGE_URL='http://www.gnu.org/software/libidn/'
+PACKAGE_VERSION='1.42'
+PACKAGE_STRING='GNU Libidn 1.42'
+PACKAGE_BUGREPORT='help-libidn@gnu.org'
+PACKAGE_URL='https://www.gnu.org/software/libidn/'
 
 # Factoring default headers for most tests.
 ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
 #endif
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
 # include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
 #endif
 #ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
 #ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
 #ifdef HAVE_STDINT_H
 # include <stdint.h>
 #endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-gl_use_threads_default=
+ac_header_c_list=
 gt_needs=
+ac_func_c_list=
 gl_getopt_required=POSIX
-ac_header_list=
-gl_getopt_required=POSIX
-ac_func_list=
-ac_subst_vars='lgltests_LTLIBOBJS
+enable_year2038=no
+ac_subst_vars='lgltests_LIBOBJDEPS
+lgltests_LTLIBOBJS
 lgltests_LIBOBJS
+lgl_LIBOBJDEPS
 lgl_LTLIBOBJS
 lgl_LIBOBJS
+gltests_LIBOBJDEPS
 gltests_LTLIBOBJS
 gltests_LIBOBJS
+gl_LIBOBJDEPS
 gl_LTLIBOBJS
 gl_LIBOBJS
 CONFIG_INCLUDE
@@ -632,31 +679,30 @@ am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+ENABLE_DOC_FALSE
+ENABLE_DOC_TRUE
 WARN_CFLAGS
-WSTACK_CFLAGS
 WERROR_CFLAGS
+WARN_LIB_CFLAGS
 CSHARP_FALSE
 CSHARP_TRUE
 HAVE_CLIX
 HAVE_MONO
-HAVE_ILRUN
 CLIX_PATH
 CLIX_PATH_VAR
 MONO_PATH_SEPARATOR
 MONO_PATH
 HAVE_CLIX_IN_PATH
 HAVE_MONO_IN_PATH
-HAVE_ILRUN_IN_PATH
 JAVA_FALSE
 JAVA_TRUE
-GJDOC
 JAR
-am__fastdepGCJ_FALSE
-am__fastdepGCJ_TRUE
-GCJDEPMODE
-GCJFLAGS
-ac_ct_GCJ
-GCJ
+JAVADOC
+JAVAC
+JAVA
+JAVAFLAGS
+JAVACFLAGS
+JAVAPREFIX
 GTK_DOC_USE_REBASE_FALSE
 GTK_DOC_USE_REBASE_TRUE
 GTK_DOC_USE_LIBTOOL_FALSE
@@ -667,65 +713,75 @@ GTK_DOC_BUILD_HTML_FALSE
 GTK_DOC_BUILD_HTML_TRUE
 ENABLE_GTK_DOC_FALSE
 ENABLE_GTK_DOC_TRUE
+HAVE_GTK_DOC_FALSE
+HAVE_GTK_DOC_TRUE
+GTKDOC_DEPS_LIBS
+GTKDOC_DEPS_CFLAGS
 HTML_DIR
 GTKDOC_MKPDF
 GTKDOC_REBASE
+GTKDOC_CHECK_PATH
 GTKDOC_CHECK
 PKG_CONFIG
 TLD_FALSE
 TLD_TRUE
-YIELD_LIB
-LOCALE_ZH_CN
-LOCALE_JA
-LOCALE_FR_UTF8
-LTLIBMULTITHREAD
-LIBMULTITHREAD
-LTLIBTHREAD
-LIBTHREAD
-LIBPTH_PREFIX
-LTLIBPTH
-LIBPTH
-NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
-NEXT_LOCALE_H
-HAVE_XLOCALE_H
-REPLACE_STRUCT_LCONV
-REPLACE_DUPLOCALE
-REPLACE_SETLOCALE
-REPLACE_LOCALECONV
-HAVE_DUPLOCALE
-GNULIB_DUPLOCALE
-GNULIB_SETLOCALE
-GNULIB_LOCALECONV
-LOCALE_TR_UTF8
-LOCALE_FR
 lgltests_WITNESS
-LIBUNISTRING_UNITYPES_H
-LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE
-LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE
-LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE
-LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE
-LIBUNISTRING_UNISTR_H
-HAVE_VISIBILITY
-CFLAG_VISIBILITY
-HAVE_LD_VERSION_SCRIPT_FALSE
-HAVE_LD_VERSION_SCRIPT_TRUE
-HAVE_LD_OUTPUT_DEF_FALSE
-HAVE_LD_OUTPUT_DEF_TRUE
-NEXT_AS_FIRST_DIRECTIVE_ICONV_H
-NEXT_ICONV_H
-GL_GENERATE_ICONV_H_FALSE
-GL_GENERATE_ICONV_H_TRUE
-ICONV_H
-REPLACE_ICONV_UTF
-REPLACE_ICONV_OPEN
-REPLACE_ICONV
-ICONV_CONST
-GNULIB_ICONV
-LIBTESTS_LIBDEPS
+GL_LGL_GNULIB_MDA_WCSDUP
+GL_LGL_GNULIB_WGETCWD
+GL_LGL_GNULIB_WCSFTIME
+GL_LGL_GNULIB_WCSWIDTH
+GL_LGL_GNULIB_WCSTOK
+GL_LGL_GNULIB_WCSSTR
+GL_LGL_GNULIB_WCSPBRK
+GL_LGL_GNULIB_WCSSPN
+GL_LGL_GNULIB_WCSCSPN
+GL_LGL_GNULIB_WCSRCHR
+GL_LGL_GNULIB_WCSCHR
+GL_LGL_GNULIB_WCSDUP
+GL_LGL_GNULIB_WCSXFRM
+GL_LGL_GNULIB_WCSCOLL
+GL_LGL_GNULIB_WCSNCASECMP
+GL_LGL_GNULIB_WCSCASECMP
+GL_LGL_GNULIB_WCSNCMP
+GL_LGL_GNULIB_WCSCMP
+GL_LGL_GNULIB_WCSNCAT
+GL_LGL_GNULIB_WCSCAT
+GL_LGL_GNULIB_WCPNCPY
+GL_LGL_GNULIB_WCSNCPY
+GL_LGL_GNULIB_WCPCPY
+GL_LGL_GNULIB_WCSCPY
+GL_LGL_GNULIB_WCSNLEN
+GL_LGL_GNULIB_WCSLEN
+GL_LGL_GNULIB_WMEMSET
+GL_LGL_GNULIB_WMEMPCPY
+GL_LGL_GNULIB_WMEMMOVE
+GL_LGL_GNULIB_WMEMCPY
+GL_LGL_GNULIB_WMEMCMP
+GL_LGL_GNULIB_WMEMCHR
+GL_LGL_GNULIB_WCWIDTH
+GL_LGL_GNULIB_WCSNRTOMBS
+GL_LGL_GNULIB_WCSRTOMBS
+GL_LGL_GNULIB_WCRTOMB
+GL_LGL_GNULIB_MBSNRTOWCS
+GL_LGL_GNULIB_MBSRTOWCS
+GL_LGL_GNULIB_MBRLEN
+GL_LGL_GNULIB_MBRTOWC
+GL_LGL_GNULIB_MBSZERO
+GL_LGL_GNULIB_MBSINIT
+GL_LGL_GNULIB_WCTOB
+GL_LGL_GNULIB_BTOWC
+HAVE_CRTDEFS_H
 HAVE_WINT_T
 HAVE_FEATURES_H
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
 NEXT_WCHAR_H
+REPLACE_WMEMPCPY
+REPLACE_WMEMCMP
+REPLACE_WCSTOK
+REPLACE_WCSSTR
+REPLACE_WCSNCMP
+REPLACE_WCSCMP
+REPLACE_WCSFTIME
 REPLACE_WCSWIDTH
 REPLACE_WCWIDTH
 REPLACE_WCSNRTOMBS
@@ -740,7 +796,9 @@ REPLACE_WCTOB
 REPLACE_BTOWC
 REPLACE_MBSTATE_T
 HAVE_DECL_WCWIDTH
+HAVE_DECL_WCSDUP
 HAVE_DECL_WCTOB
+HAVE_WCSFTIME
 HAVE_WCSWIDTH
 HAVE_WCSTOK
 HAVE_WCSSTR
@@ -765,6 +823,7 @@ HAVE_WCSCPY
 HAVE_WCSNLEN
 HAVE_WCSLEN
 HAVE_WMEMSET
+HAVE_WMEMPCPY
 HAVE_WMEMMOVE
 HAVE_WMEMCPY
 HAVE_WMEMCMP
@@ -778,225 +837,686 @@ HAVE_MBRLEN
 HAVE_MBRTOWC
 HAVE_MBSINIT
 HAVE_BTOWC
-GNULIB_WCSWIDTH
-GNULIB_WCSTOK
-GNULIB_WCSSTR
-GNULIB_WCSPBRK
-GNULIB_WCSSPN
-GNULIB_WCSCSPN
-GNULIB_WCSRCHR
-GNULIB_WCSCHR
-GNULIB_WCSDUP
-GNULIB_WCSXFRM
-GNULIB_WCSCOLL
-GNULIB_WCSNCASECMP
-GNULIB_WCSCASECMP
-GNULIB_WCSNCMP
-GNULIB_WCSCMP
-GNULIB_WCSNCAT
-GNULIB_WCSCAT
-GNULIB_WCPNCPY
-GNULIB_WCSNCPY
-GNULIB_WCPCPY
-GNULIB_WCSCPY
-GNULIB_WCSNLEN
-GNULIB_WCSLEN
-GNULIB_WMEMSET
-GNULIB_WMEMMOVE
-GNULIB_WMEMCPY
-GNULIB_WMEMCMP
-GNULIB_WMEMCHR
-GNULIB_WCWIDTH
-GNULIB_WCSNRTOMBS
-GNULIB_WCSRTOMBS
-GNULIB_WCRTOMB
-GNULIB_MBSNRTOWCS
-GNULIB_MBSRTOWCS
-GNULIB_MBRLEN
-GNULIB_MBRTOWC
-GNULIB_MBSINIT
-GNULIB_WCTOB
-GNULIB_BTOWC
-abs_aux_dir
+LIBUNISTRING_UNITYPES_H
+LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE
+LIBUNISTRING_UNISTR_H
+HAVE_UNISTRING_WOE32DLL_H
+GL_LGL_GNULIB_MDA_WRITE
+GL_LGL_GNULIB_MDA_UNLINK
+GL_LGL_GNULIB_MDA_SWAB
+GL_LGL_GNULIB_MDA_RMDIR
+GL_LGL_GNULIB_MDA_READ
+GL_LGL_GNULIB_MDA_LSEEK
+GL_LGL_GNULIB_MDA_ISATTY
+GL_LGL_GNULIB_MDA_GETPID
+GL_LGL_GNULIB_MDA_GETCWD
+GL_LGL_GNULIB_MDA_EXECVPE
+GL_LGL_GNULIB_MDA_EXECVP
+GL_LGL_GNULIB_MDA_EXECVE
+GL_LGL_GNULIB_MDA_EXECV
+GL_LGL_GNULIB_MDA_EXECLP
+GL_LGL_GNULIB_MDA_EXECLE
+GL_LGL_GNULIB_MDA_EXECL
+GL_LGL_GNULIB_MDA_DUP2
+GL_LGL_GNULIB_MDA_DUP
+GL_LGL_GNULIB_MDA_CLOSE
+GL_LGL_GNULIB_MDA_CHDIR
+GL_LGL_GNULIB_MDA_ACCESS
+GL_LGL_GNULIB_WRITE
+GL_LGL_GNULIB_USLEEP
+GL_LGL_GNULIB_UNLINKAT
+GL_LGL_GNULIB_UNLINK
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING
+GL_LGL_GNULIB_UNISTD_H_GETOPT
+GL_LGL_GNULIB_TTYNAME_R
+GL_LGL_GNULIB_TRUNCATE
+GL_LGL_GNULIB_SYMLINKAT
+GL_LGL_GNULIB_SYMLINK
+GL_LGL_GNULIB_SLEEP
+GL_LGL_GNULIB_SETHOSTNAME
+GL_LGL_GNULIB_RMDIR
+GL_LGL_GNULIB_READLINKAT
+GL_LGL_GNULIB_READLINK
+GL_LGL_GNULIB_READ
+GL_LGL_GNULIB_PWRITE
+GL_LGL_GNULIB_PREAD
+GL_LGL_GNULIB_PIPE2
+GL_LGL_GNULIB_PIPE
+GL_LGL_GNULIB_LSEEK
+GL_LGL_GNULIB_LINKAT
+GL_LGL_GNULIB_LINK
+GL_LGL_GNULIB_LCHOWN
+GL_LGL_GNULIB_ISATTY
+GL_LGL_GNULIB_GROUP_MEMBER
+GL_LGL_GNULIB_GETUSERSHELL
+GL_LGL_GNULIB_GETPASS_GNU
+GL_LGL_GNULIB_GETPASS
+GL_LGL_GNULIB_GETPAGESIZE
+GL_LGL_GNULIB_GETOPT_POSIX
+GL_LGL_GNULIB_GETLOGIN_R
+GL_LGL_GNULIB_GETLOGIN
+GL_LGL_GNULIB_GETHOSTNAME
+GL_LGL_GNULIB_GETGROUPS
+GL_LGL_GNULIB_GETENTROPY
+GL_LGL_GNULIB_GETDTABLESIZE
+GL_LGL_GNULIB_GETDOMAINNAME
+GL_LGL_GNULIB_GETCWD
+GL_LGL_GNULIB_FTRUNCATE
+GL_LGL_GNULIB_FSYNC
+GL_LGL_GNULIB_FDATASYNC
+GL_LGL_GNULIB_FCHOWNAT
+GL_LGL_GNULIB_FCHDIR
+GL_LGL_GNULIB_FACCESSAT
+GL_LGL_GNULIB_EXECVPE
+GL_LGL_GNULIB_EXECVP
+GL_LGL_GNULIB_EXECVE
+GL_LGL_GNULIB_EXECV
+GL_LGL_GNULIB_EXECLP
+GL_LGL_GNULIB_EXECLE
+GL_LGL_GNULIB_EXECL
+GL_LGL_GNULIB_EUIDACCESS
+GL_LGL_GNULIB_ENVIRON
+GL_LGL_GNULIB_DUP3
+GL_LGL_GNULIB_DUP2
+GL_LGL_GNULIB_DUP
+GL_LGL_GNULIB_COPY_FILE_RANGE
+GL_LGL_GNULIB_CLOSE
+GL_LGL_GNULIB_CHOWN
+GL_LGL_GNULIB_CHDIR
+GL_LGL_GNULIB_ACCESS
+GL_COND_OBJ_STRVERSCMP_FALSE
+GL_COND_OBJ_STRVERSCMP_TRUE
+GL_LGL_GNULIB_MDA_STRDUP
+GL_LGL_GNULIB_MDA_MEMCCPY
+GL_LGL_GNULIB_STRVERSCMP
+GL_LGL_GNULIB_STRSIGNAL
+GL_LGL_GNULIB_SIGDESCR_NP
+GL_LGL_GNULIB_SIGABBREV_NP
+GL_LGL_GNULIB_STRERRORNAME_NP
+GL_LGL_GNULIB_STRERROR_R
+GL_LGL_GNULIB_STRERROR
+GL_LGL_GNULIB_MBSTOK_R
+GL_LGL_GNULIB_MBSSEP
+GL_LGL_GNULIB_MBSSPN
+GL_LGL_GNULIB_MBSPBRK
+GL_LGL_GNULIB_MBSCSPN
+GL_LGL_GNULIB_MBSCASESTR
+GL_LGL_GNULIB_MBSPCASECMP
+GL_LGL_GNULIB_MBSNCASECMP
+GL_LGL_GNULIB_MBSCASECMP
+GL_LGL_GNULIB_MBSSTR
+GL_LGL_GNULIB_MBSRCHR
+GL_LGL_GNULIB_MBSCHR
+GL_LGL_GNULIB_MBSNLEN
+GL_LGL_GNULIB_MBSLEN
+GL_LGL_GNULIB_STRTOK_R
+GL_LGL_GNULIB_STRCASESTR
+GL_LGL_GNULIB_STRSTR
+GL_LGL_GNULIB_STRSEP
+GL_LGL_GNULIB_STRPBRK
+GL_LGL_GNULIB_STRNLEN
+GL_LGL_GNULIB_STRNDUP
+GL_LGL_GNULIB_STRNCAT
+GL_LGL_GNULIB_STRDUP
+GL_LGL_GNULIB_STRCHRNUL
+GL_LGL_GNULIB_STPNCPY
+GL_LGL_GNULIB_STPCPY
+GL_LGL_GNULIB_RAWMEMCHR
+GL_LGL_GNULIB_MEMSET_EXPLICIT
+GL_LGL_GNULIB_MEMRCHR
+GL_LGL_GNULIB_MEMPCPY
+GL_LGL_GNULIB_MEMMEM
+GL_LGL_GNULIB_MEMCHR
+GL_LGL_GNULIB_FFSLL
+GL_LGL_GNULIB_FFSL
+GL_LGL_GNULIB_EXPLICIT_BZERO
+GL_LGL_GNULIB_NL_LANGINFO
+HAVE_LANGINFO_YESEXPR
+HAVE_LANGINFO_ERA
+HAVE_LANGINFO_ALTMON
+HAVE_LANGINFO_T_FMT_AMPM
+HAVE_LANGINFO_CODESET
+HAVE_LANGINFO_H
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H
+NEXT_LANGINFO_H
+REPLACE_NL_LANGINFO
+HAVE_NL_LANGINFO
+GL_LGL_GNULIB_STRTOUMAX
+GL_LGL_GNULIB_STRTOIMAX
+GL_LGL_GNULIB_IMAXDIV
+GL_LGL_GNULIB_IMAXABS
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H
+NEXT_INTTYPES_H
+UINT64_MAX_EQ_ULONG_MAX
+UINT32_MAX_LT_UINTMAX_MAX
+PRIPTR_PREFIX
+INT64_MAX_EQ_LONG_MAX
+INT32_MAX_LT_INTMAX_MAX
+REPLACE_STRTOUMAX
+REPLACE_STRTOIMAX
+REPLACE_IMAXDIV
+REPLACE_IMAXABS
+HAVE_IMAXDIV
+HAVE_IMAXABS
+HAVE_IMAXDIV_T
+HAVE_DECL_STRTOUMAX
+HAVE_DECL_STRTOIMAX
+HAVE_DECL_IMAXDIV
+HAVE_DECL_IMAXABS
+GL_COND_OBJ_ICONV_FALSE
+GL_COND_OBJ_ICONV_TRUE
+GL_COND_OBJ_ICONV_OPEN_FALSE
+GL_COND_OBJ_ICONV_OPEN_TRUE
+GL_GENERATE_ICONV_H_FALSE
+GL_GENERATE_ICONV_H_TRUE
+ICONV_H
+NEXT_AS_FIRST_DIRECTIVE_ICONV_H
+NEXT_ICONV_H
+GL_LGL_GNULIB_ICONV
+GL_LGL_GNULIB_MDA_PUTENV
+GL_LGL_GNULIB_MDA_MKTEMP
+GL_LGL_GNULIB_MDA_GCVT
+GL_LGL_GNULIB_MDA_FCVT
+GL_LGL_GNULIB_MDA_ECVT
+GL_LGL_GNULIB_WCTOMB
+GL_LGL_GNULIB_UNSETENV
+GL_LGL_GNULIB_UNLOCKPT
+GL_LGL_GNULIB_SYSTEM_POSIX
+GL_LGL_GNULIB_STRTOULL
+GL_LGL_GNULIB_STRTOUL
+GL_LGL_GNULIB_STRTOLL
+GL_LGL_GNULIB_STRTOLD
+GL_LGL_GNULIB_STRTOL
+GL_LGL_GNULIB_STRTOD
+GL_LGL_GNULIB_SETENV
+GL_LGL_GNULIB_SECURE_GETENV
+GL_LGL_GNULIB_RPMATCH
+GL_LGL_GNULIB_REALPATH
+GL_LGL_GNULIB_REALLOC_POSIX
+GL_LGL_GNULIB_REALLOC_GNU
+GL_LGL_GNULIB_REALLOCARRAY
+GL_LGL_GNULIB_RANDOM_R
+GL_LGL_GNULIB_RANDOM
+GL_LGL_GNULIB_RAND
+GL_LGL_GNULIB_QSORT_R
+GL_LGL_GNULIB_PUTENV
+GL_LGL_GNULIB_PTSNAME_R
+GL_LGL_GNULIB_PTSNAME
+GL_LGL_GNULIB_POSIX_OPENPT
+GL_LGL_GNULIB_POSIX_MEMALIGN
+GL_LGL_GNULIB_MKSTEMPS
+GL_LGL_GNULIB_MKSTEMP
+GL_LGL_GNULIB_MKOSTEMPS
+GL_LGL_GNULIB_MKOSTEMP
+GL_LGL_GNULIB_MKDTEMP
+GL_LGL_GNULIB_MBTOWC
+GL_LGL_GNULIB_MBSTOWCS
+GL_LGL_GNULIB_MALLOC_POSIX
+GL_LGL_GNULIB_MALLOC_GNU
+GL_LGL_GNULIB_GRANTPT
+GL_LGL_GNULIB_GETSUBOPT
+GL_LGL_GNULIB_GETPROGNAME
+GL_LGL_GNULIB_GETLOADAVG
+GL_LGL_GNULIB_FREE_POSIX
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME
+GL_LGL_GNULIB_CALLOC_POSIX
+GL_LGL_GNULIB_CALLOC_GNU
+GL_LGL_GNULIB_ATOLL
+GL_LGL_GNULIB_ALIGNED_ALLOC
+GL_LGL_GNULIB__EXIT
+GL_COND_OBJ_FREE_FALSE
+GL_COND_OBJ_FREE_TRUE
+LIBTESTS_LIBDEPS
+GL_CFLAG_GNULIB_WARNINGS
+gltests_WITNESS
+GL_CXXFLAG_ALLOW_WARNINGS
+GL_CFLAG_ALLOW_WARNINGS
+LOG_VALGRIND
+AM_VALGRINDFLAGS
+VALGRINDFLAGS
+DEFAULT_VALGRINDFLAGS
+VALGRIND_PROGRAM
+VALGRIND
+HAVE_UNISTD_H
+NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
+NEXT_UNISTD_H
+GL_GNULIB_MDA_TZSET
+GL_GNULIB_TZSET
+GL_GNULIB_TIME_RZ
+GL_GNULIB_TIME_R
+GL_GNULIB_TIMESPEC_GETRES
+GL_GNULIB_TIMESPEC_GET
+GL_GNULIB_TIMEGM
+GL_GNULIB_TIME
+GL_GNULIB_STRPTIME
+GL_GNULIB_STRFTIME
+GL_GNULIB_NANOSLEEP
+GL_GNULIB_LOCALTIME
+GL_GNULIB_MKTIME
+GL_GNULIB_CTIME
+TIME_H_DEFINES_TIME_UTC
+UNISTD_H_DEFINES_STRUCT_TIMESPEC
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
 TIME_H_DEFINES_STRUCT_TIMESPEC
 NEXT_AS_FIRST_DIRECTIVE_TIME_H
 NEXT_TIME_H
+REPLACE_TZSET
+REPLACE_TIMESPEC_GET
 REPLACE_TIMEGM
+REPLACE_TIME
+REPLACE_STRFTIME
 REPLACE_NANOSLEEP
 REPLACE_MKTIME
 REPLACE_LOCALTIME_R
+REPLACE_LOCALTIME
+REPLACE_GMTIME
+REPLACE_CTIME
+HAVE_TIMEZONE_T
+HAVE_TIMESPEC_GETRES
+HAVE_TIMESPEC_GET
 HAVE_TIMEGM
 HAVE_STRPTIME
 HAVE_NANOSLEEP
 HAVE_DECL_LOCALTIME_R
-GNULIB_TIME_R
-GNULIB_TIMEGM
-GNULIB_STRPTIME
-GNULIB_NANOSLEEP
-GNULIB_MKTIME
+WINDOWS_STAT_INODES
+WINDOWS_64_BIT_OFF_T
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
+NEXT_SYS_TYPES_H
+NEXT_AS_FIRST_DIRECTIVE_STRING_H
+NEXT_STRING_H
+GL_COND_OBJ_STRERROR_OVERRIDE_FALSE
+GL_COND_OBJ_STRERROR_OVERRIDE_TRUE
+GL_GNULIB_MDA_STRDUP
+GL_GNULIB_MDA_MEMCCPY
+GL_GNULIB_STRVERSCMP
+GL_GNULIB_STRSIGNAL
+GL_GNULIB_SIGDESCR_NP
+GL_GNULIB_SIGABBREV_NP
+GL_GNULIB_STRERRORNAME_NP
+GL_GNULIB_STRERROR_R
+GL_GNULIB_STRERROR
+GL_GNULIB_MBSTOK_R
+GL_GNULIB_MBSSEP
+GL_GNULIB_MBSSPN
+GL_GNULIB_MBSPBRK
+GL_GNULIB_MBSCSPN
+GL_GNULIB_MBSCASESTR
+GL_GNULIB_MBSPCASECMP
+GL_GNULIB_MBSNCASECMP
+GL_GNULIB_MBSCASECMP
+GL_GNULIB_MBSSTR
+GL_GNULIB_MBSRCHR
+GL_GNULIB_MBSCHR
+GL_GNULIB_MBSNLEN
+GL_GNULIB_MBSLEN
+GL_GNULIB_STRTOK_R
+GL_GNULIB_STRCASESTR
+GL_GNULIB_STRSTR
+GL_GNULIB_STRSEP
+GL_GNULIB_STRPBRK
+GL_GNULIB_STRNLEN
+GL_GNULIB_STRNDUP
+GL_GNULIB_STRNCAT
+GL_GNULIB_STRDUP
+GL_GNULIB_STRCHRNUL
+GL_GNULIB_STPNCPY
+GL_GNULIB_STPCPY
+GL_GNULIB_RAWMEMCHR
+GL_GNULIB_MEMSET_EXPLICIT
+GL_GNULIB_MEMRCHR
+GL_GNULIB_MEMPCPY
+GL_GNULIB_MEMMEM
+GL_GNULIB_MEMCHR
+GL_GNULIB_FFSLL
+GL_GNULIB_FFSL
+GL_GNULIB_EXPLICIT_BZERO
+GL_COND_OBJ_STRERROR_FALSE
+GL_COND_OBJ_STRERROR_TRUE
+UNDEFINE_STRTOK_R
+REPLACE_STRSIGNAL
+REPLACE_STRERRORNAME_NP
+REPLACE_STRERROR_R
+REPLACE_STRERROR
+REPLACE_STRTOK_R
+REPLACE_STRCASESTR
+REPLACE_STRSTR
+REPLACE_STRNLEN
+REPLACE_STRNDUP
+REPLACE_STRNCAT
+REPLACE_STRDUP
+REPLACE_STRCHRNUL
+REPLACE_STPNCPY
+REPLACE_STPCPY
+REPLACE_MEMPCPY
+REPLACE_MEMMEM
+REPLACE_MEMCHR
+REPLACE_FFSLL
+HAVE_STRVERSCMP
+HAVE_DECL_STRSIGNAL
+HAVE_SIGDESCR_NP
+HAVE_SIGABBREV_NP
+HAVE_STRERRORNAME_NP
+HAVE_DECL_STRERROR_R
+HAVE_DECL_STRTOK_R
+HAVE_STRCASESTR
+HAVE_STRSEP
+HAVE_STRPBRK
+HAVE_DECL_STRNLEN
+HAVE_DECL_STRNDUP
+HAVE_DECL_STRDUP
+HAVE_STRCHRNUL
+HAVE_STPNCPY
+HAVE_STPCPY
+HAVE_RAWMEMCHR
+HAVE_DECL_MEMRCHR
+HAVE_MEMSET_EXPLICIT
+HAVE_MEMPCPY
+HAVE_DECL_MEMMEM
+HAVE_FFSLL
+HAVE_FFSL
+HAVE_EXPLICIT_BZERO
+HAVE_MBSLEN
+LC_MONETARY_IMPLEMENTED
+LC_TIME_IMPLEMENTED
+LC_NUMERIC_IMPLEMENTED
+LC_COLLATE_IMPLEMENTED
+LOCALE_FR_UTF8
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
 NEXT_STDLIB_H
+GL_COND_OBJ_STDIO_WRITE_FALSE
+GL_COND_OBJ_STDIO_WRITE_TRUE
+GL_COND_OBJ_STDIO_READ_FALSE
+GL_COND_OBJ_STDIO_READ_TRUE
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H
 NEXT_STDIO_H
-HAVE__BOOL
-GL_GENERATE_STDBOOL_H_FALSE
-GL_GENERATE_STDBOOL_H_TRUE
-STDBOOL_H
+GL_GENERATE_STDINT_H_FALSE
+GL_GENERATE_STDINT_H_TRUE
+STDINT_H
+HAVE_SYS_INTTYPES_H
+HAVE_SYS_BITYPES_H
+HAVE_C99_STDINT_H
+WINT_T_SUFFIX
+WCHAR_T_SUFFIX
+SIG_ATOMIC_T_SUFFIX
+SIZE_T_SUFFIX
+PTRDIFF_T_SUFFIX
+HAVE_SIGNED_WINT_T
+HAVE_SIGNED_WCHAR_T
+HAVE_SIGNED_SIG_ATOMIC_T
+BITSIZEOF_WINT_T
+BITSIZEOF_WCHAR_T
+BITSIZEOF_SIG_ATOMIC_T
+BITSIZEOF_SIZE_T
+BITSIZEOF_PTRDIFF_T
+HAVE_STDINT_H
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H
+NEXT_STDINT_H
+HAVE_SYS_TYPES_H
+HAVE_INTTYPES_H
+HAVE_WCHAR_H
+GNULIBHEADERS_OVERRIDE_WINT_T
+GL_GENERATE_STDDEF_H_FALSE
+GL_GENERATE_STDDEF_H_TRUE
+STDDEF_H
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
+NEXT_STDDEF_H
+HAVE_WCHAR_T
+HAVE_MAX_ALIGN_T
+REPLACE_NULL
+GL_GENERATE_STDCKDINT_H_FALSE
+GL_GENERATE_STDCKDINT_H_TRUE
+STDCKDINT_H
+GL_GENERATE_STDARG_H_FALSE
+GL_GENERATE_STDARG_H_TRUE
+STDARG_H
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H
+NEXT_STDARG_H
+GL_COND_OBJ_STAT_FALSE
+GL_COND_OBJ_STAT_TRUE
+PMCCABE
+GL_COND_OBJ_OPEN_FALSE
+GL_COND_OBJ_OPEN_TRUE
+APPLE_UNIVERSAL_BUILD
+GL_COND_OBJ_MSVC_NOTHROW_FALSE
+GL_COND_OBJ_MSVC_NOTHROW_TRUE
+GL_COND_OBJ_MSVC_INVAL_FALSE
+GL_COND_OBJ_MSVC_INVAL_TRUE
+GL_GENERATE_LIMITS_H_FALSE
+GL_GENERATE_LIMITS_H_TRUE
+LIMITS_H
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H
+NEXT_LIMITS_H
+HAVE_VISIBILITY
+CFLAG_VISIBILITY
+HAVE_LD_VERSION_SCRIPT_FALSE
+HAVE_LD_VERSION_SCRIPT_TRUE
+HAVE_LD_OUTPUT_DEF_FALSE
+HAVE_LD_OUTPUT_DEF_TRUE
+GL_GNULIB_MDA_PUTENV
+GL_GNULIB_MDA_MKTEMP
+GL_GNULIB_MDA_GCVT
+GL_GNULIB_MDA_FCVT
+GL_GNULIB_MDA_ECVT
+GL_GNULIB_WCTOMB
+GL_GNULIB_UNSETENV
+GL_GNULIB_UNLOCKPT
+GL_GNULIB_SYSTEM_POSIX
+GL_GNULIB_STRTOULL
+GL_GNULIB_STRTOUL
+GL_GNULIB_STRTOLL
+GL_GNULIB_STRTOLD
+GL_GNULIB_STRTOL
+GL_GNULIB_STRTOD
+GL_GNULIB_SETENV
+GL_GNULIB_SECURE_GETENV
+GL_GNULIB_RPMATCH
+GL_GNULIB_REALPATH
+GL_GNULIB_REALLOC_POSIX
+GL_GNULIB_REALLOC_GNU
+GL_GNULIB_REALLOCARRAY
+GL_GNULIB_RANDOM_R
+GL_GNULIB_RANDOM
+GL_GNULIB_RAND
+GL_GNULIB_QSORT_R
+GL_GNULIB_PUTENV
+GL_GNULIB_PTSNAME_R
+GL_GNULIB_PTSNAME
+GL_GNULIB_POSIX_OPENPT
+GL_GNULIB_POSIX_MEMALIGN
+GL_GNULIB_MKSTEMPS
+GL_GNULIB_MKSTEMP
+GL_GNULIB_MKOSTEMPS
+GL_GNULIB_MKOSTEMP
+GL_GNULIB_MKDTEMP
+GL_GNULIB_MBTOWC
+GL_GNULIB_MBSTOWCS
+GL_GNULIB_MALLOC_POSIX
+GL_GNULIB_MALLOC_GNU
+GL_GNULIB_GRANTPT
+GL_GNULIB_GETSUBOPT
+GL_GNULIB_GETPROGNAME
+GL_GNULIB_GETLOADAVG
+GL_GNULIB_FREE_POSIX
+GL_GNULIB_CANONICALIZE_FILE_NAME
+GL_GNULIB_CALLOC_POSIX
+GL_GNULIB_CALLOC_GNU
+GL_GNULIB_ATOLL
+GL_GNULIB_ALIGNED_ALLOC
+GL_GNULIB__EXIT
+GL_COND_OBJ_GETPROGNAME_FALSE
+GL_COND_OBJ_GETPROGNAME_TRUE
 REPLACE_WCTOMB
 REPLACE_UNSETENV
+REPLACE_STRTOULL
+REPLACE_STRTOUL
+REPLACE_STRTOLL
+REPLACE_STRTOLD
+REPLACE_STRTOL
 REPLACE_STRTOD
+REPLACE_SETSTATE
 REPLACE_SETENV
 REPLACE_REALPATH
-REPLACE_REALLOC
+REPLACE_REALLOCARRAY
+REPLACE_REALLOC_FOR_REALLOC_POSIX
+REPLACE_REALLOC_FOR_REALLOC_GNU
 REPLACE_RANDOM_R
+REPLACE_RANDOM
+REPLACE_RAND
+REPLACE_QSORT_R
 REPLACE_PUTENV
 REPLACE_PTSNAME_R
+REPLACE_PTSNAME
+REPLACE_POSIX_OPENPT
+REPLACE_POSIX_MEMALIGN
 REPLACE_MKSTEMP
+REPLACE_MKOSTEMPS
+REPLACE_MKOSTEMP
 REPLACE_MBTOWC
-REPLACE_MALLOC
+REPLACE_MBSTOWCS
+REPLACE_MB_CUR_MAX
+REPLACE_MALLOC_FOR_MALLOC_POSIX
+REPLACE_MALLOC_FOR_MALLOC_GNU
+REPLACE_INITSTATE
+REPLACE_GETSUBOPT
+REPLACE_GETPROGNAME
+REPLACE_GETLOADAVG
+REPLACE_FREE
 REPLACE_CANONICALIZE_FILE_NAME
-REPLACE_CALLOC
+REPLACE_CALLOC_FOR_CALLOC_POSIX
+REPLACE_CALLOC_FOR_CALLOC_GNU
+REPLACE_ALIGNED_ALLOC
+REPLACE__EXIT
 HAVE_DECL_UNSETENV
 HAVE_UNLOCKPT
 HAVE_SYS_LOADAVG_H
 HAVE_STRUCT_RANDOM_DATA
 HAVE_STRTOULL
+HAVE_STRTOUL
 HAVE_STRTOLL
+HAVE_STRTOLD
+HAVE_STRTOL
 HAVE_STRTOD
+HAVE_DECL_SETSTATE
+HAVE_SETSTATE
 HAVE_DECL_SETENV
 HAVE_SETENV
+HAVE_SECURE_GETENV
 HAVE_RPMATCH
 HAVE_REALPATH
+HAVE_REALLOCARRAY
 HAVE_RANDOM_R
 HAVE_RANDOM_H
 HAVE_RANDOM
+HAVE_QSORT_R
 HAVE_PTSNAME_R
 HAVE_PTSNAME
 HAVE_POSIX_OPENPT
+HAVE_POSIX_MEMALIGN
 HAVE_MKSTEMPS
 HAVE_MKSTEMP
 HAVE_MKOSTEMPS
 HAVE_MKOSTEMP
 HAVE_MKDTEMP
+HAVE_MBTOWC
+HAVE_DECL_INITSTATE
+HAVE_INITSTATE
 HAVE_GRANTPT
 HAVE_GETSUBOPT
+HAVE_GETPROGNAME
+HAVE_DECL_PROGRAM_INVOCATION_NAME
 HAVE_DECL_GETLOADAVG
+HAVE_DECL_GCVT
+HAVE_DECL_FCVT
+HAVE_DECL_ECVT
 HAVE_CANONICALIZE_FILE_NAME
 HAVE_ATOLL
+HAVE_ALIGNED_ALLOC
 HAVE__EXIT
-GNULIB_WCTOMB
-GNULIB_UNSETENV
-GNULIB_UNLOCKPT
-GNULIB_SYSTEM_POSIX
-GNULIB_STRTOULL
-GNULIB_STRTOLL
-GNULIB_STRTOD
-GNULIB_SETENV
-GNULIB_RPMATCH
-GNULIB_REALPATH
-GNULIB_REALLOC_POSIX
-GNULIB_RANDOM_R
-GNULIB_RANDOM
-GNULIB_PUTENV
-GNULIB_PTSNAME_R
-GNULIB_PTSNAME
-GNULIB_POSIX_OPENPT
-GNULIB_MKSTEMPS
-GNULIB_MKSTEMP
-GNULIB_MKOSTEMPS
-GNULIB_MKOSTEMP
-GNULIB_MKDTEMP
-GNULIB_MBTOWC
-GNULIB_MALLOC_POSIX
-GNULIB_GRANTPT
-GNULIB_GETSUBOPT
-GNULIB_GETLOADAVG
-GNULIB_CANONICALIZE_FILE_NAME
-GNULIB_CALLOC_POSIX
-GNULIB_ATOLL
-GNULIB__EXIT
-NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H
-NEXT_INTTYPES_H
-UINT64_MAX_EQ_ULONG_MAX
-UINT32_MAX_LT_UINTMAX_MAX
-PRIPTR_PREFIX
-PRI_MACROS_BROKEN
-INT64_MAX_EQ_LONG_MAX
-INT32_MAX_LT_INTMAX_MAX
-REPLACE_STRTOIMAX
-HAVE_DECL_STRTOUMAX
-HAVE_DECL_STRTOIMAX
-HAVE_DECL_IMAXDIV
-HAVE_DECL_IMAXABS
-GNULIB_STRTOUMAX
-GNULIB_STRTOIMAX
-GNULIB_IMAXDIV
-GNULIB_IMAXABS
-GL_GENERATE_STDINT_H_FALSE
-GL_GENERATE_STDINT_H_TRUE
-STDINT_H
-WINT_T_SUFFIX
-WCHAR_T_SUFFIX
-SIG_ATOMIC_T_SUFFIX
-SIZE_T_SUFFIX
-PTRDIFF_T_SUFFIX
-HAVE_SIGNED_WINT_T
-HAVE_SIGNED_WCHAR_T
-HAVE_SIGNED_SIG_ATOMIC_T
-BITSIZEOF_WINT_T
-BITSIZEOF_WCHAR_T
-BITSIZEOF_SIG_ATOMIC_T
-BITSIZEOF_SIZE_T
-BITSIZEOF_PTRDIFF_T
-APPLE_UNIVERSAL_BUILD
-HAVE_SYS_BITYPES_H
-HAVE_SYS_INTTYPES_H
-HAVE_STDINT_H
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H
-NEXT_STDINT_H
-HAVE_SYS_TYPES_H
-HAVE_INTTYPES_H
-HAVE_WCHAR_H
-HAVE_UNSIGNED_LONG_LONG_INT
-HAVE_LONG_LONG_INT
-WINDOWS_64_BIT_ST_SIZE
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
-NEXT_SYS_STAT_H
-REPLACE_UTIMENSAT
-REPLACE_STAT
-REPLACE_MKNOD
-REPLACE_MKFIFO
-REPLACE_MKDIR
-REPLACE_LSTAT
-REPLACE_FUTIMENS
-REPLACE_FSTATAT
-REPLACE_FSTAT
-HAVE_UTIMENSAT
-HAVE_MKNODAT
-HAVE_MKNOD
-HAVE_MKFIFOAT
-HAVE_MKFIFO
-HAVE_MKDIRAT
-HAVE_LSTAT
-HAVE_LCHMOD
-HAVE_FUTIMENS
-HAVE_FSTATAT
-HAVE_FCHMODAT
-GNULIB_UTIMENSAT
-GNULIB_STAT
-GNULIB_MKNODAT
-GNULIB_MKNOD
-GNULIB_MKFIFOAT
-GNULIB_MKFIFO
-GNULIB_MKDIRAT
-GNULIB_LSTAT
-GNULIB_LCHMOD
-GNULIB_FUTIMENS
-GNULIB_FSTATAT
-GNULIB_FSTAT
-GNULIB_FCHMODAT
+GL_COND_OBJ_GETOPT_FALSE
+GL_COND_OBJ_GETOPT_TRUE
+GL_GENERATE_GETOPT_CDEFS_H_FALSE
+GL_GENERATE_GETOPT_CDEFS_H_TRUE
+GETOPT_CDEFS_H
+GL_GENERATE_GETOPT_H_FALSE
+GL_GENERATE_GETOPT_H_TRUE
+GETOPT_H
+HAVE_SYS_CDEFS_H
+HAVE_GETOPT_H
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
+NEXT_GETOPT_H
+GL_COND_OBJ_GETLINE_FALSE
+GL_COND_OBJ_GETLINE_TRUE
+GL_COND_OBJ_GETDTABLESIZE_FALSE
+GL_COND_OBJ_GETDTABLESIZE_TRUE
+GL_GNULIB_MDA_TEMPNAM
+GL_GNULIB_MDA_PUTW
+GL_GNULIB_MDA_GETW
+GL_GNULIB_MDA_FILENO
+GL_GNULIB_MDA_FDOPEN
+GL_GNULIB_MDA_FCLOSEALL
+GL_GNULIB_VSPRINTF_POSIX
+GL_GNULIB_VSNPRINTF
+GL_GNULIB_VPRINTF_POSIX
+GL_GNULIB_VPRINTF
+GL_GNULIB_VFPRINTF_POSIX
+GL_GNULIB_VFPRINTF
+GL_GNULIB_VDPRINTF
+GL_GNULIB_VSCANF
+GL_GNULIB_VFSCANF
+GL_GNULIB_VASPRINTF
+GL_GNULIB_TMPFILE
+GL_GNULIB_STDIO_H_SIGPIPE
+GL_GNULIB_STDIO_H_NONBLOCKING
+GL_GNULIB_SPRINTF_POSIX
+GL_GNULIB_SNPRINTF
+GL_GNULIB_SCANF
+GL_GNULIB_RENAMEAT
+GL_GNULIB_RENAME
+GL_GNULIB_REMOVE
+GL_GNULIB_PUTS
+GL_GNULIB_PUTCHAR
+GL_GNULIB_PUTC
+GL_GNULIB_PRINTF_POSIX
+GL_GNULIB_PRINTF
+GL_GNULIB_POPEN
+GL_GNULIB_PERROR
+GL_GNULIB_PCLOSE
+GL_GNULIB_OBSTACK_PRINTF_POSIX
+GL_GNULIB_OBSTACK_PRINTF
+GL_GNULIB_GETLINE
+GL_GNULIB_GETDELIM
+GL_GNULIB_GETCHAR
+GL_GNULIB_GETC
+GL_GNULIB_FWRITE
+GL_GNULIB_FTELLO
+GL_GNULIB_FTELL
+GL_GNULIB_FSEEKO
+GL_GNULIB_FSEEK
+GL_GNULIB_FSCANF
+GL_GNULIB_FREOPEN
+GL_GNULIB_FREAD
+GL_GNULIB_FPUTS
+GL_GNULIB_FPUTC
+GL_GNULIB_FPURGE
+GL_GNULIB_FPRINTF_POSIX
+GL_GNULIB_FPRINTF
+GL_GNULIB_FOPEN_GNU
+GL_GNULIB_FOPEN
+GL_GNULIB_FGETS
+GL_GNULIB_FGETC
+GL_GNULIB_FFLUSH
+GL_GNULIB_FDOPEN
+GL_GNULIB_FCLOSE
+GL_GNULIB_DPRINTF
+GL_COND_OBJ_GETDELIM_FALSE
+GL_COND_OBJ_GETDELIM_TRUE
 REPLACE_VSPRINTF
 REPLACE_VSNPRINTF
 REPLACE_VPRINTF
@@ -1024,6 +1544,7 @@ REPLACE_FSEEK
 REPLACE_FREOPEN
 REPLACE_FPURGE
 REPLACE_FPRINTF
+REPLACE_FOPEN_FOR_FOPEN_GNU
 REPLACE_FOPEN
 REPLACE_FFLUSH
 REPLACE_FDOPEN
@@ -1039,223 +1560,265 @@ HAVE_FSEEKO
 HAVE_DPRINTF
 HAVE_DECL_VSNPRINTF
 HAVE_DECL_SNPRINTF
+HAVE_DECL_PUTW
 HAVE_DECL_OBSTACK_PRINTF
+HAVE_DECL_GETW
 HAVE_DECL_GETLINE
 HAVE_DECL_GETDELIM
 HAVE_DECL_FTELLO
 HAVE_DECL_FSEEKO
 HAVE_DECL_FPURGE
-GNULIB_VSPRINTF_POSIX
-GNULIB_VSNPRINTF
-GNULIB_VPRINTF_POSIX
-GNULIB_VPRINTF
-GNULIB_VFPRINTF_POSIX
-GNULIB_VFPRINTF
-GNULIB_VDPRINTF
-GNULIB_VSCANF
-GNULIB_VFSCANF
-GNULIB_VASPRINTF
-GNULIB_TMPFILE
-GNULIB_STDIO_H_SIGPIPE
-GNULIB_STDIO_H_NONBLOCKING
-GNULIB_SPRINTF_POSIX
-GNULIB_SNPRINTF
-GNULIB_SCANF
-GNULIB_RENAMEAT
-GNULIB_RENAME
-GNULIB_REMOVE
-GNULIB_PUTS
-GNULIB_PUTCHAR
-GNULIB_PUTC
-GNULIB_PRINTF_POSIX
-GNULIB_PRINTF
-GNULIB_POPEN
-GNULIB_PERROR
-GNULIB_PCLOSE
-GNULIB_OBSTACK_PRINTF_POSIX
-GNULIB_OBSTACK_PRINTF
-GNULIB_GETLINE
-GNULIB_GETDELIM
-GNULIB_GETCHAR
-GNULIB_GETC
-GNULIB_FWRITE
-GNULIB_FTELLO
-GNULIB_FTELL
-GNULIB_FSEEKO
-GNULIB_FSEEK
-GNULIB_FSCANF
-GNULIB_FREOPEN
-GNULIB_FREAD
-GNULIB_FPUTS
-GNULIB_FPUTC
-GNULIB_FPURGE
-GNULIB_FPRINTF_POSIX
-GNULIB_FPRINTF
-GNULIB_FOPEN
-GNULIB_FGETS
-GNULIB_FGETC
-GNULIB_FFLUSH
-GNULIB_FDOPEN
-GNULIB_FCLOSE
-GNULIB_DPRINTF
+HAVE_DECL_FCLOSEALL
+GL_GNULIB_MDA_UMASK
+GL_GNULIB_MDA_MKDIR
+GL_GNULIB_MDA_CHMOD
+GL_GNULIB_OVERRIDES_STRUCT_STAT
+GL_GNULIB_UTIMENSAT
+GL_GNULIB_STAT
+GL_GNULIB_MKNODAT
+GL_GNULIB_MKNOD
+GL_GNULIB_MKFIFOAT
+GL_GNULIB_MKFIFO
+GL_GNULIB_MKDIRAT
+GL_GNULIB_MKDIR
+GL_GNULIB_LSTAT
+GL_GNULIB_LCHMOD
+GL_GNULIB_GETUMASK
+GL_GNULIB_FUTIMENS
+GL_GNULIB_FSTATAT
+GL_GNULIB_FSTAT
+GL_GNULIB_FCHMODAT
+GL_GNULIB_CHMOD
+WINDOWS_64_BIT_ST_SIZE
+WINDOWS_STAT_TIMESPEC
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
+NEXT_SYS_STAT_H
+GL_COND_OBJ_FSTAT_FALSE
+GL_COND_OBJ_FSTAT_TRUE
+REPLACE_UTIMENSAT
+REPLACE_STAT
+REPLACE_MKNODAT
+REPLACE_MKNOD
+REPLACE_MKFIFOAT
+REPLACE_MKFIFO
+REPLACE_MKDIR
+REPLACE_LSTAT
+REPLACE_FUTIMENS
+REPLACE_FSTATAT
+REPLACE_FSTAT
+REPLACE_FCHMODAT
+REPLACE_CHMOD
+HAVE_UTIMENSAT
+HAVE_MKNODAT
+HAVE_MKNOD
+HAVE_MKFIFOAT
+HAVE_MKFIFO
+HAVE_MKDIRAT
+HAVE_LSTAT
+HAVE_LCHMOD
+HAVE_GETUMASK
+HAVE_FUTIMENS
+HAVE_FSTATAT
+HAVE_FCHMODAT
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H
 NEXT_FCNTL_H
+GL_GNULIB_MDA_OPEN
+GL_GNULIB_MDA_CREAT
+GL_GNULIB_OPENAT
+GL_GNULIB_OPEN
+GL_GNULIB_NONBLOCKING
+GL_GNULIB_FCNTL
+GL_GNULIB_CREAT
+GL_COND_OBJ_FCNTL_FALSE
+GL_COND_OBJ_FCNTL_TRUE
 REPLACE_OPENAT
 REPLACE_OPEN
 REPLACE_FCNTL
+REPLACE_CREAT
 HAVE_OPENAT
 HAVE_FCNTL
-GNULIB_OPENAT
-GNULIB_OPEN
-GNULIB_NONBLOCKING
-GNULIB_FCNTL
-GL_GENERATE_ALLOCA_H_FALSE
-GL_GENERATE_ALLOCA_H_TRUE
-ALLOCA_H
-ALLOCA
-gltests_WITNESS
-VALGRIND
-HAVE_UNISTD_H
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
-NEXT_UNISTD_H
-WINDOWS_64_BIT_OFF_T
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
-NEXT_SYS_TYPES_H
-NEXT_AS_FIRST_DIRECTIVE_STRING_H
-NEXT_STRING_H
+GL_COND_OBJ_ERROR_FALSE
+GL_COND_OBJ_ERROR_TRUE
+REPLACE_ERROR_AT_LINE
+REPLACE_ERROR
+HAVE_ERROR_AT_LINE
+HAVE_ERROR
+HAVE_ERROR_H
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H
+NEXT_ERROR_H
+GL_GENERATE_ERRNO_H_FALSE
+GL_GENERATE_ERRNO_H_TRUE
+ERRNO_H
+EOVERFLOW_VALUE
+EOVERFLOW_HIDDEN
+ENOLINK_VALUE
+ENOLINK_HIDDEN
+EMULTIHOP_VALUE
+EMULTIHOP_HIDDEN
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H
+NEXT_ERRNO_H
+GL_COND_OBJ_DUP2_FALSE
+GL_COND_OBJ_DUP2_TRUE
+CSHARPCOMPFLAGS
+HAVE_CSC
+HAVE_MCS
+HAVE_CSC_IN_PATH
+HAVE_MCS_IN_PATH
+CSHARP_CHOICE
+GL_GNULIB_MDA_WRITE
+GL_GNULIB_MDA_UNLINK
+GL_GNULIB_MDA_SWAB
+GL_GNULIB_MDA_RMDIR
+GL_GNULIB_MDA_READ
+GL_GNULIB_MDA_LSEEK
+GL_GNULIB_MDA_ISATTY
+GL_GNULIB_MDA_GETPID
+GL_GNULIB_MDA_GETCWD
+GL_GNULIB_MDA_EXECVPE
+GL_GNULIB_MDA_EXECVP
+GL_GNULIB_MDA_EXECVE
+GL_GNULIB_MDA_EXECV
+GL_GNULIB_MDA_EXECLP
+GL_GNULIB_MDA_EXECLE
+GL_GNULIB_MDA_EXECL
+GL_GNULIB_MDA_DUP2
+GL_GNULIB_MDA_DUP
+GL_GNULIB_MDA_CLOSE
+GL_GNULIB_MDA_CHDIR
+GL_GNULIB_MDA_ACCESS
+GL_GNULIB_WRITE
+GL_GNULIB_USLEEP
+GL_GNULIB_UNLINKAT
+GL_GNULIB_UNLINK
+GL_GNULIB_UNISTD_H_SIGPIPE
+GL_GNULIB_UNISTD_H_NONBLOCKING
+GL_GNULIB_UNISTD_H_GETOPT
+GL_GNULIB_TTYNAME_R
+GL_GNULIB_TRUNCATE
+GL_GNULIB_SYMLINKAT
+GL_GNULIB_SYMLINK
+GL_GNULIB_SLEEP
+GL_GNULIB_SETHOSTNAME
+GL_GNULIB_RMDIR
+GL_GNULIB_READLINKAT
+GL_GNULIB_READLINK
+GL_GNULIB_READ
+GL_GNULIB_PWRITE
+GL_GNULIB_PREAD
+GL_GNULIB_PIPE2
+GL_GNULIB_PIPE
+GL_GNULIB_LSEEK
+GL_GNULIB_LINKAT
+GL_GNULIB_LINK
+GL_GNULIB_LCHOWN
+GL_GNULIB_ISATTY
+GL_GNULIB_GROUP_MEMBER
+GL_GNULIB_GETUSERSHELL
+GL_GNULIB_GETPASS_GNU
+GL_GNULIB_GETPASS
+GL_GNULIB_GETPAGESIZE
+GL_GNULIB_GETOPT_POSIX
+GL_GNULIB_GETLOGIN_R
+GL_GNULIB_GETLOGIN
+GL_GNULIB_GETHOSTNAME
+GL_GNULIB_GETGROUPS
+GL_GNULIB_GETENTROPY
+GL_GNULIB_GETDTABLESIZE
+GL_GNULIB_GETDOMAINNAME
+GL_GNULIB_GETCWD
+GL_GNULIB_FTRUNCATE
+GL_GNULIB_FSYNC
+GL_GNULIB_FDATASYNC
+GL_GNULIB_FCHOWNAT
+GL_GNULIB_FCHDIR
+GL_GNULIB_FACCESSAT
+GL_GNULIB_EXECVPE
+GL_GNULIB_EXECVP
+GL_GNULIB_EXECVE
+GL_GNULIB_EXECV
+GL_GNULIB_EXECLP
+GL_GNULIB_EXECLE
+GL_GNULIB_EXECL
+GL_GNULIB_EUIDACCESS
+GL_GNULIB_ENVIRON
+GL_GNULIB_DUP3
+GL_GNULIB_DUP2
+GL_GNULIB_DUP
+GL_GNULIB_COPY_FILE_RANGE
+GL_GNULIB_CLOSE
+GL_GNULIB_CHOWN
+GL_GNULIB_CHDIR
+GL_GNULIB_ACCESS
+GL_COND_OBJ_CLOSE_FALSE
+GL_COND_OBJ_CLOSE_TRUE
 HAVE_WINSOCK2_H
-UNDEFINE_STRTOK_R
-REPLACE_STRTOK_R
-REPLACE_STRSIGNAL
-REPLACE_STRNLEN
-REPLACE_STRNDUP
-REPLACE_STRNCAT
-REPLACE_STRERROR_R
-REPLACE_STRERROR
-REPLACE_STRCHRNUL
-REPLACE_STRCASESTR
-REPLACE_STRSTR
-REPLACE_STRDUP
-REPLACE_STPNCPY
-REPLACE_MEMMEM
-REPLACE_MEMCHR
-HAVE_STRVERSCMP
-HAVE_DECL_STRSIGNAL
-HAVE_DECL_STRERROR_R
-HAVE_DECL_STRTOK_R
-HAVE_STRCASESTR
-HAVE_STRSEP
-HAVE_STRPBRK
-HAVE_DECL_STRNLEN
-HAVE_DECL_STRNDUP
-HAVE_DECL_STRDUP
-HAVE_STRCHRNUL
-HAVE_STPNCPY
-HAVE_STPCPY
-HAVE_RAWMEMCHR
-HAVE_DECL_MEMRCHR
-HAVE_MEMPCPY
-HAVE_DECL_MEMMEM
-HAVE_MEMCHR
-HAVE_FFSLL
-HAVE_FFSL
-HAVE_MBSLEN
-GNULIB_STRVERSCMP
-GNULIB_STRSIGNAL
-GNULIB_STRERROR_R
-GNULIB_STRERROR
-GNULIB_MBSTOK_R
-GNULIB_MBSSEP
-GNULIB_MBSSPN
-GNULIB_MBSPBRK
-GNULIB_MBSCSPN
-GNULIB_MBSCASESTR
-GNULIB_MBSPCASECMP
-GNULIB_MBSNCASECMP
-GNULIB_MBSCASECMP
-GNULIB_MBSSTR
-GNULIB_MBSRCHR
-GNULIB_MBSCHR
-GNULIB_MBSNLEN
-GNULIB_MBSLEN
-GNULIB_STRTOK_R
-GNULIB_STRCASESTR
-GNULIB_STRSTR
-GNULIB_STRSEP
-GNULIB_STRPBRK
-GNULIB_STRNLEN
-GNULIB_STRNDUP
-GNULIB_STRNCAT
-GNULIB_STRDUP
-GNULIB_STRCHRNUL
-GNULIB_STPNCPY
-GNULIB_STPCPY
-GNULIB_RAWMEMCHR
-GNULIB_MEMRCHR
-GNULIB_MEMPCPY
-GNULIB_MEMMEM
-GNULIB_MEMCHR
-GNULIB_FFSLL
-GNULIB_FFSL
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
-NEXT_STDDEF_H
-GL_GENERATE_STDDEF_H_FALSE
-GL_GENERATE_STDDEF_H_TRUE
-STDDEF_H
-HAVE_WCHAR_T
-REPLACE_NULL
-GL_GENERATE_STDARG_H_FALSE
-GL_GENERATE_STDARG_H_TRUE
-STDARG_H
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H
-NEXT_STDARG_H
-PMCCABE
 HAVE_MSVC_INVALID_PARAMETER_HANDLER
-GNULIB_GL_UNISTD_H_GETOPT
-GETOPT_H
-HAVE_GETOPT_H
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
-NEXT_GETOPT_H
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
 UNISTD_H_HAVE_WINSOCK2_H
+UNISTD_H_HAVE_SYS_RANDOM_H
 REPLACE_WRITE
 REPLACE_USLEEP
 REPLACE_UNLINKAT
 REPLACE_UNLINK
 REPLACE_TTYNAME_R
+REPLACE_TRUNCATE
+REPLACE_SYMLINKAT
 REPLACE_SYMLINK
 REPLACE_SLEEP
+REPLACE_SETHOSTNAME
 REPLACE_RMDIR
+REPLACE_READLINKAT
 REPLACE_READLINK
 REPLACE_READ
 REPLACE_PWRITE
 REPLACE_PREAD
+REPLACE_PIPE2
 REPLACE_LSEEK
 REPLACE_LINKAT
 REPLACE_LINK
 REPLACE_LCHOWN
 REPLACE_ISATTY
+REPLACE_GETPASS_FOR_GETPASS_GNU
+REPLACE_GETPASS
 REPLACE_GETPAGESIZE
 REPLACE_GETGROUPS
 REPLACE_GETLOGIN_R
+REPLACE_GETENTROPY
+REPLACE_GETDTABLESIZE
 REPLACE_GETDOMAINNAME
 REPLACE_GETCWD
 REPLACE_FTRUNCATE
+REPLACE_FDATASYNC
 REPLACE_FCHOWNAT
+REPLACE_FCHDIR
+REPLACE_FACCESSAT
+REPLACE_EXECVPE
+REPLACE_EXECVP
+REPLACE_EXECVE
+REPLACE_EXECV
+REPLACE_EXECLP
+REPLACE_EXECLE
+REPLACE_EXECL
+REPLACE_DUP3
 REPLACE_DUP2
 REPLACE_DUP
+REPLACE_COPY_FILE_RANGE
 REPLACE_CLOSE
 REPLACE_CHOWN
+REPLACE_ACCESS
 HAVE_SYS_PARAM_H
 HAVE_OS_H
 HAVE_DECL_TTYNAME_R
+HAVE_DECL_TRUNCATE
 HAVE_DECL_SETHOSTNAME
 HAVE_DECL_GETUSERSHELL
 HAVE_DECL_GETPAGESIZE
 HAVE_DECL_GETLOGIN_R
+HAVE_DECL_GETLOGIN
 HAVE_DECL_GETDOMAINNAME
 HAVE_DECL_FDATASYNC
 HAVE_DECL_FCHDIR
+HAVE_DECL_EXECVPE
 HAVE_DECL_ENVIRON
 HAVE_USLEEP
 HAVE_UNLINKAT
@@ -1273,10 +1836,12 @@ HAVE_LINKAT
 HAVE_LINK
 HAVE_LCHOWN
 HAVE_GROUP_MEMBER
+HAVE_GETPASS
 HAVE_GETPAGESIZE
 HAVE_GETLOGIN
 HAVE_GETHOSTNAME
 HAVE_GETGROUPS
+HAVE_GETENTROPY
 HAVE_GETDTABLESIZE
 HAVE_FTRUNCATE
 HAVE_FSYNC
@@ -1284,92 +1849,31 @@ HAVE_FDATASYNC
 HAVE_FCHOWNAT
 HAVE_FCHDIR
 HAVE_FACCESSAT
+HAVE_EXECVPE
 HAVE_EUIDACCESS
 HAVE_DUP3
-HAVE_DUP2
+HAVE_COPY_FILE_RANGE
 HAVE_CHOWN
-GNULIB_WRITE
-GNULIB_USLEEP
-GNULIB_UNLINKAT
-GNULIB_UNLINK
-GNULIB_UNISTD_H_SIGPIPE
-GNULIB_UNISTD_H_NONBLOCKING
-GNULIB_TTYNAME_R
-GNULIB_SYMLINKAT
-GNULIB_SYMLINK
-GNULIB_SLEEP
-GNULIB_SETHOSTNAME
-GNULIB_RMDIR
-GNULIB_READLINKAT
-GNULIB_READLINK
-GNULIB_READ
-GNULIB_PWRITE
-GNULIB_PREAD
-GNULIB_PIPE2
-GNULIB_PIPE
-GNULIB_LSEEK
-GNULIB_LINKAT
-GNULIB_LINK
-GNULIB_LCHOWN
-GNULIB_ISATTY
-GNULIB_GROUP_MEMBER
-GNULIB_GETUSERSHELL
-GNULIB_GETPAGESIZE
-GNULIB_GETLOGIN_R
-GNULIB_GETLOGIN
-GNULIB_GETHOSTNAME
-GNULIB_GETGROUPS
-GNULIB_GETDTABLESIZE
-GNULIB_GETDOMAINNAME
-GNULIB_GETCWD
-GNULIB_FTRUNCATE
-GNULIB_FSYNC
-GNULIB_FDATASYNC
-GNULIB_FCHOWNAT
-GNULIB_FCHDIR
-GNULIB_FACCESSAT
-GNULIB_EUIDACCESS
-GNULIB_ENVIRON
-GNULIB_DUP3
-GNULIB_DUP2
-GNULIB_DUP
-GNULIB_CLOSE
-GNULIB_CHOWN
-GNULIB_CHDIR
-EOVERFLOW_VALUE
-EOVERFLOW_HIDDEN
-ENOLINK_VALUE
-ENOLINK_HIDDEN
-EMULTIHOP_VALUE
-EMULTIHOP_HIDDEN
-GL_GENERATE_ERRNO_H_FALSE
-GL_GENERATE_ERRNO_H_TRUE
-ERRNO_H
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H
-NEXT_ERRNO_H
+GL_GENERATE_ASSERT_H_FALSE
+GL_GENERATE_ASSERT_H_TRUE
+ASSERT_H
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H
+NEXT_ASSERT_H
 PRAGMA_COLUMNS
 PRAGMA_SYSTEM_HEADER
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE
 INCLUDE_NEXT
-CSHARPCOMPFLAGS
-HAVE_CSC
-HAVE_MCS
-HAVE_CSCC
-HAVE_CSC_IN_PATH
-HAVE_MCS_IN_PATH
-HAVE_CSCC_IN_PATH
-CSHARP_CHOICE
+GL_GENERATE_ALLOCA_H_FALSE
+GL_GENERATE_ALLOCA_H_TRUE
+ALLOCA_H
+HAVE_ALLOCA_H
+ALLOCA
 GL_COND_LIBTOOL_FALSE
 GL_COND_LIBTOOL_TRUE
-lispdir
-EMACSLOADPATH
-EMACS
 POSUB
 LTLIBINTL
 LIBINTL
 INTLLIBS
-LTLIBICONV
-LIBICONV
 INTL_MACOSX_LIBS
 XGETTEXT_EXTRA_OPTIONS
 MSGMERGE
@@ -1381,15 +1885,24 @@ GMSGFMT
 MSGFMT
 GETTEXT_MACRO_VERSION
 USE_NLS
+lispdir
+EMACSLOADPATH
+EMACS
+REPLACE_ICONV_UTF
+REPLACE_ICONV_OPEN
+REPLACE_ICONV
+ICONV_CONST
+LTLIBICONV
+LIBICONV
 HELP2MAN
 PERL
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
 NMEDIT
 DSYMUTIL
 MANIFEST_TOOL
-ac_ct_AR
 LN_S
 NM
 ac_ct_DUMPBIN
@@ -1401,7 +1914,13 @@ LIBTOOL
 OBJDUMP
 DLLTOOL
 AS
-DLL_VERSION
+RANLIB
+ARFLAGS
+ac_ct_AR
+AR
+EGREP
+GREP
+CPP
 host_os
 host_vendor
 host_cpu
@@ -1410,12 +1929,6 @@ build_os
 build_vendor
 build_cpu
 build
-RANLIB
-ARFLAGS
-AR
-EGREP
-GREP
-CPP
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
@@ -1423,7 +1936,6 @@ am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
-am__quote
 am__include
 DEPDIR
 OBJEXT
@@ -1433,13 +1945,13 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
-LT_AGE
-LT_REVISION
-LT_CURRENT
 AM_BACKSLASH
 AM_DEFAULT_VERBOSITY
 AM_DEFAULT_V
 AM_V
+CSCOPE
+ETAGS
+CTAGS
 am__untar
 am__tar
 AMTAR
@@ -1463,6 +1975,10 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+DLL_VERSION
+LT_AGE
+LT_REVISION
+LT_CURRENT
 target_alias
 host_alias
 build_alias
@@ -1482,6 +1998,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -1500,40 +2017,48 @@ PACKAGE_VERSION
 PACKAGE_TARNAME
 PACKAGE_NAME
 PATH_SEPARATOR
-SHELL'
+SHELL
+am__quote'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_silent_rules
 enable_dependency_tracking
 enable_largefile
-enable_threads
 enable_shared
 enable_static
 with_pic
 enable_fast_install
+with_aix_soname
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
-enable_nls
 enable_rpath
 with_libiconv_prefix
-with_libintl_prefix
 with_lispdir
+enable_nls
+with_libintl_prefix
+enable_cross_guesses
 enable_csharp
+enable_ld_version_script
 enable_valgrind_tests
 with_packager
 with_packager_version
 with_packager_bug_reports
-enable_ld_version_script
-with_libpth_prefix
 enable_tld
 with_html_dir
 enable_gtk_doc
 enable_gtk_doc_html
 enable_gtk_doc_pdf
 enable_java
+with_java_prefix
+with_javac_flags
+with_java_flags
+enable_ubsan
+enable_asan
 enable_gcc_warnings
+enable_doc
+enable_year2038
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1544,9 +2069,13 @@ LDFLAGS
 LIBS
 CPPFLAGS
 CPP
+LT_SYS_LIBRARY_PATH
 EMACS
 EMACSLOADPATH
-PKG_CONFIG'
+VALGRINDFLAGS
+PKG_CONFIG
+GTKDOC_DEPS_CFLAGS
+GTKDOC_DEPS_LIBS'
 
 
 # Initialize some variables set by options.
@@ -1585,6 +2114,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1614,8 +2144,6 @@ do
   *)    ac_optarg=yes ;;
   esac
 
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
   case $ac_dashdash$ac_option in
   --)
     ac_dashdash=yes ;;
@@ -1656,9 +2184,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1682,9 +2210,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1837,6 +2365,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1886,9 +2423,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1902,9 +2439,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1948,9 +2485,9 @@ Try \`$0 --help' for more information"
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
@@ -1966,7 +2503,7 @@ if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1974,7 +2511,7 @@ fi
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
+               libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -2002,8 +2539,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -2032,7 +2567,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_myself" : 'X\(//\)[^/]' \| \
         X"$as_myself" : 'X\(//\)$' \| \
         X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -2089,7 +2624,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GNU Libidn 1.25 to adapt to many kinds of systems.
+\`configure' configures GNU Libidn 1.42 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2129,6 +2664,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -2159,7 +2695,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU Libidn 1.25:";;
+     short | recursive ) echo "Configuration of GNU Libidn 1.42:";;
    esac
   cat <<\_ACEOF
 
@@ -2167,54 +2703,69 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --disable-largefile     omit support for large files
-  --enable-threads={posix|solaris|pth|win32}
-                          specify multithreading API
-  --disable-threads       build without multithread safety
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-nls           do not use Native Language Support
   --disable-rpath         do not hardcode runtime library paths
-  --enable-csharp[=IMPL]  choose preferred C# implementation (pnet or mono)
-  --enable-valgrind-tests run self tests under valgrind
+  --disable-nls           do not use Native Language Support
+  --enable-cross-guesses={conservative|risky}
+                          specify policy for cross-compilation guesses
+  --enable-csharp[=IMPL]  choose preferred C# implementation (mono)
   --enable-ld-version-script
                           enable linker version script (default is enabled
                           when possible)
+  --disable-valgrind-tests
+                          don't try to run self tests under valgrind
   --disable-tld           disable TLD code
   --enable-gtk-doc        use gtk-doc to build documentation [[default=no]]
   --enable-gtk-doc-html   build documentation in html format [[default=yes]]
   --enable-gtk-doc-pdf    build documentation in pdf format [[default=no]]
   --enable-java           enable Java API
-  --enable-gcc-warnings   turn on lots of GCC warnings (for developers)
+  --enable-ubsan          Turn on Undefined Behavior Sanitizer (UBSan)
+  --enable-asan           Turn on Address Sanitizer (ASan)
+  --enable-gcc-warnings[=TYPE]
+                          control generation of GCC warnings. The TYPE 'no'
+                          disables warnings; 'yes' (default) generates cheap
+                          warnings; 'expensive' in addition generates
+                          expensive warnings and 'error' also turn warnings
+                          into errors.
+  --disable-doc           don't generate any documentation
+  --enable-year2038       support timestamps after 2038
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
   --without-libiconv-prefix     don't search for libiconv in includedir and libdir
+  --with-lispdir          override the default lisp directory
   --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
   --without-libintl-prefix     don't search for libintl in includedir and libdir
-  --with-lispdir          override the default lisp directory
   --with-packager         String identifying the packager of this software
   --with-packager-version Packager-specific version information
   --with-packager-bug-reports
                           Packager info for bug reports (URL/e-mail/...)
-  --with-libpth-prefix[=DIR]  search for libpth in DIR/include and DIR/lib
-  --without-libpth-prefix     don't search for libpth in includedir and libdir
   --with-html-dir=PATH    path to installed docs
+  --with-java-prefix=PFX  prefix where Java runtime is installed (optional)
+  --with-javac-flags=FLAGS flags to pass to the Java compiler (optional)
+  --with-java-flags=FLAGS flags to pass to the Java VM (optional)
 
 Some influential environment variables:
   CC          C compiler command
@@ -2225,17 +2776,25 @@ Some influential environment variables:
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   EMACS       the Emacs editor command
   EMACSLOADPATH
               the Emacs library search path
+  VALGRINDFLAGS
+              Additional flags for Valgrind
   PKG_CONFIG  path to pkg-config utility
+  GTKDOC_DEPS_CFLAGS
+              C compiler flags for GTKDOC_DEPS, overriding pkg-config
+  GTKDOC_DEPS_LIBS
+              linker flags for GTKDOC_DEPS, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: <http://www.gnu.org/software/libidn/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
+Report bugs to <help-libidn@gnu.org>.
+GNU Libidn home page: <https://www.gnu.org/software/libidn/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 _ACEOF
 ac_status=$?
 fi
@@ -2251,9 +2810,9 @@ if test "$ac_init_help" = "recursive"; then
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -2281,7 +2840,8 @@ esac
 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
     cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
+    # Check for configure.gnu first; this name is used for a wrapper for
+    # Metaconfig's "Configure" on case-insensitive file systems.
     if test -f "$ac_srcdir/configure.gnu"; then
       echo &&
       $SHELL "$ac_srcdir/configure.gnu" --help=recursive
@@ -2289,7 +2849,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -2298,14 +2858,12 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU Libidn configure 1.25
-generated by GNU Autoconf 2.68
+GNU Libidn configure 1.42
+generated by GNU Autoconf 2.71
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
-
-Copyright (c) 2002-2012 Simon Josefsson <simon@josefsson.org>.
 _ACEOF
   exit
 fi
@@ -2320,14 +2878,14 @@ fi
 ac_fn_c_try_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
+  rm -f conftest.$ac_objext conftest.beam
   if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2335,14 +2893,15 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
+       } && test -s conftest.$ac_objext
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=1
@@ -2352,6 +2911,39 @@ fi
 
 } # ac_fn_c_try_compile
 
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval "$3=yes"
+else $as_nop
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
 # ac_fn_c_try_cpp LINENO
 # ----------------------
 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
@@ -2364,7 +2956,7 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2372,14 +2964,15 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } > conftest.i && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
-       }; then :
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 
 } # ac_fn_c_try_cpp
 
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## --------------------------------- ##
-## Report this to bug-libidn@gnu.org ##
-## --------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
+  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
   if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2574,17 +3003,18 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
         test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
+        test -x conftest$ac_exeext
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=1
@@ -2605,11 +3035,12 @@ fi
 ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
@@ -2617,16 +3048,9 @@ else
 #define $2 innocuous_$2
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+   which can conflict with char $2 (); below.  */
 
+#include <limits.h>
 #undef $2
 
 /* Override any GCC internal prototype to avoid an error.
@@ -2644,28 +3068,129 @@ choke me
 #endif
 
 int
-main ()
+main (void)
 {
 return $2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
+# executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+then :
+  ac_retval=0
+else $as_nop
+  printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+       printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main (void)
+{
+if (sizeof ($2))
+        return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main (void)
+{
+if (sizeof (($2)))
+           return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
 # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
 # --------------------------------------------
 # Tries to find the compile-time value of EXPR in a program that includes
@@ -2680,34 +3205,38 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_lo=0 ac_mid=0
   while :; do
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=$ac_mid; break
-else
+else $as_nop
   as_fn_arith $ac_mid + 1 && ac_lo=$as_val
                        if test $ac_lo -le $ac_mid; then
                          ac_lo= ac_hi=
@@ -2715,41 +3244,45 @@ else
                        fi
                        as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   done
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=-1 ac_mid=-1
   while :; do
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_lo=$ac_mid; break
-else
+else $as_nop
   as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
                        if test $ac_mid -le $ac_hi; then
                          ac_lo= ac_hi=
@@ -2757,14 +3290,14 @@ else
                        fi
                        as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   done
-else
+else $as_nop
   ac_lo= ac_hi=
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
@@ -2772,21 +3305,23 @@ while test "x$ac_lo" != "x$ac_hi"; do
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=$ac_mid
-else
+else $as_nop
   as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 done
 case $ac_lo in #((
 ?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
@@ -2796,12 +3331,12 @@ esac
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
+static long int longval (void) { return $2; }
+static unsigned long int ulongval (void) { return $2; }
 #include <stdio.h>
 #include <stdlib.h>
 int
-main ()
+main (void)
 {
 
   FILE *f = fopen ("conftest.val", "w");
@@ -2829,9 +3364,10 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
+else $as_nop
   ac_retval=1
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -2844,25 +3380,32 @@ rm -f conftest.val
 
 } # ac_fn_c_compute_int
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-# ---------------------------------------------
+# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
+# ------------------------------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_c_check_decl ()
+# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
+ac_fn_check_decl ()
 {
+  ac_save_ac_compile="$ac_compile"
+  if test -n "$ac_compile_for_check_decl"; then
+    ac_compile="$ac_compile_for_check_decl"
+  fi
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   as_decl_name=`echo $2|sed 's/ *(.*//'`
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+printf %s "checking whether $as_decl_name is declared... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  eval ac_save_FLAGS=\$$6
+  as_fn_append $6 " $5"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 #ifndef $as_decl_name
 #ifdef __cplusplus
@@ -2876,81 +3419,111 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  eval $6=\$ac_save_FLAGS
+
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  ac_compile="$ac_save_ac_compile"
 
-} # ac_fn_c_check_decl
+} # ac_fn_check_decl
 
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+printf %s "checking for $2.$3... " >&6; }
+if eval test \${$4+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$4
+$5
 int
-main ()
+main (void)
 {
-if (sizeof ($2))
-        return 0;
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval "$4=yes"
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$4
+$5
 int
-main ()
+main (void)
 {
-if (sizeof (($2)))
-           return 0;
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval "$4=yes"
+else $as_nop
+  eval "$4=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+eval ac_res=\$$4
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
-} # ac_fn_c_check_type
+} # ac_fn_c_check_member
+ac_configure_args_raw=
+for ac_arg
+do
+  case $ac_arg in
+  *\'*)
+    ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+  *$as_nl*)
+    ac_safe_unquote= ;;
+  *)
+    ac_unsafe_z='|&;<>()$`\\"*?[ ''    ' # This string ends in space, tab.
+    ac_unsafe_a="$ac_unsafe_z#~"
+    ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+    ac_configure_args_raw=`      printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GNU Libidn $as_me 1.25, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+It was created by GNU Libidn $as_me 1.42, which was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
-  $ $0 $@
+  $ $0$ac_configure_args_raw
 
 _ACEOF
 exec 5>>config.log
@@ -2983,8 +3556,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    printf "%s\n" "PATH: $as_dir"
   done
 IFS=$as_save_IFS
 
@@ -3019,7 +3596,7 @@ do
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
@@ -3054,11 +3631,13 @@ done
 # WARNING: Use '\'' to represent an apostrophe within the trap.
 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
+  # Sanitize IFS.
+  IFS=" ""     $as_nl"
   # Save into config.log some information that might help in debugging.
   {
     echo
 
-    $as_echo "## ---------------- ##
+    printf "%s\n" "## ---------------- ##
 ## Cache variables. ##
 ## ---------------- ##"
     echo
@@ -3069,8 +3648,8 @@ trap 'exit_status=$?
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -3094,7 +3673,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
-    $as_echo "## ----------------- ##
+    printf "%s\n" "## ----------------- ##
 ## Output variables. ##
 ## ----------------- ##"
     echo
@@ -3102,14 +3681,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      $as_echo "$ac_var='\''$ac_val'\''"
+      printf "%s\n" "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
+      printf "%s\n" "## ------------------- ##
 ## File substitutions. ##
 ## ------------------- ##"
       echo
@@ -3117,15 +3696,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       do
        eval ac_val=\$$ac_var
        case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
        esac
-       $as_echo "$ac_var='\''$ac_val'\''"
+       printf "%s\n" "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
 
     if test -s confdefs.h; then
-      $as_echo "## ----------- ##
+      printf "%s\n" "## ----------- ##
 ## confdefs.h. ##
 ## ----------- ##"
       echo
@@ -3133,8 +3712,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       echo
     fi
     test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
+      printf "%s\n" "$as_me: caught signal $ac_signal"
+    printf "%s\n" "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -3148,63 +3727,48 @@ ac_signal=0
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
 
 # Predefined preprocessor variables.
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
 
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
+  ac_site_files="$CONFIG_SITE"
 elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
+  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
 else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
+  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+
+for ac_site_file in $ac_site_files
 do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+  case $ac_site_file in #(
+  */*) :
+     ;; #(
+  *) :
+    ac_site_file=./$ac_site_file ;;
+esac
+  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "failed to load site script $ac_site_file
 See \`config.log' for more details" "$LINENO" 5; }
   fi
@@ -3214,80 +3778,499 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special files
   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
-gt_needs="$gt_needs "
-gl_getopt_required=GNU
-as_fn_append ac_header_list " getopt.h"
-as_fn_append ac_func_list " _set_invalid_parameter_handler"
-as_fn_append ac_header_list " sys/socket.h"
-as_fn_append ac_header_list " unistd.h"
-as_fn_append ac_header_list " sys/stat.h"
-as_fn_append ac_header_list " wchar.h"
-as_fn_append ac_header_list " stdint.h"
-as_fn_append ac_header_list " inttypes.h"
-as_fn_append ac_func_list " lstat"
-as_fn_append ac_header_list " sys/param.h"
-as_fn_append ac_func_list " setenv"
-as_fn_append ac_func_list " symlink"
-as_fn_append ac_header_list " sys/time.h"
-as_fn_append ac_header_list " features.h"
-as_fn_append ac_header_list " iconv.h"
-as_fn_append ac_header_list " xlocale.h"
-as_fn_append ac_func_list " newlocale"
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+   Do not test the value of __STDC__, because some compilers set it to 0
+   while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not \xHH hex character constants.
+   These do not provoke an error unfortunately, instead are silently treated
+   as an "x".  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
+   array size at least.  It is necessary to write \x00 == 0 to get something
+   that is true only with -std.  */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+               int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+  #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case '\''s'\'': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case '\''d'\'': // int
+         number = va_arg (args_copy, int);
+         break;
+       case '\''f'\'': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+  // Check bool.
+  _Bool success = false;
+  success |= (argc != 0);
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[0] = argv[0][0];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+        || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+  _Static_assert ((offsetof (struct anonymous, i)
+                  == offsetof (struct anonymous, w.k)),
+                 "Anonymous union alignment botch");
+  v1.i = 2;
+  v1.w.k = 5;
+  ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  ${ac_c_conftest_c11_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
+as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
+gt_needs="$gt_needs "
+as_fn_append ac_func_c_list " _set_invalid_parameter_handler HAVE__SET_INVALID_PARAMETER_HANDLER"
+as_fn_append ac_header_c_list " sys/socket.h sys_socket_h HAVE_SYS_SOCKET_H"
+as_fn_append ac_header_c_list " error.h error_h HAVE_ERROR_H"
+as_fn_append ac_func_c_list " fcntl HAVE_FCNTL"
+as_fn_append ac_func_c_list " symlink HAVE_SYMLINK"
+as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE"
+gl_getopt_required=GNU
+as_fn_append ac_header_c_list " getopt.h getopt_h HAVE_GETOPT_H"
+as_fn_append ac_header_c_list " sys/cdefs.h sys_cdefs_h HAVE_SYS_CDEFS_H"
+as_fn_append ac_func_c_list " getexecname HAVE_GETEXECNAME"
+as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H"
+as_fn_append ac_func_c_list " lstat HAVE_LSTAT"
+as_fn_append ac_header_c_list " sys/param.h sys_param_h HAVE_SYS_PARAM_H"
+as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H"
+as_fn_append ac_header_c_list " stdbool.h stdbool_h HAVE_STDBOOL_H"
+as_fn_append ac_header_c_list " stdckdint.h stdckdint_h HAVE_STDCKDINT_H"
+as_fn_append ac_header_c_list " iconv.h iconv_h HAVE_ICONV_H"
+as_fn_append ac_header_c_list " langinfo.h langinfo_h HAVE_LANGINFO_H"
+as_fn_append ac_header_c_list " features.h features_h HAVE_FEATURES_H"
+as_fn_append ac_header_c_list " crtdefs.h crtdefs_h HAVE_CRTDEFS_H"
+
+# Auxiliary files required by this configure script.
+ac_aux_files="config.rpath ltmain.sh ar-lib config.guess config.sub compile missing install-sh"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}/build-aux"
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+  as_found=:
+
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
+  ac_aux_dir_found=yes
+  ac_install_sh=
+  for ac_aux in $ac_aux_files
+  do
+    # As a special case, if "install-sh" is required, that requirement
+    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+    # and $ac_install_sh is set appropriately for whichever one is found.
+    if test x"$ac_aux" = x"install-sh"
+    then
+      if test -f "${as_dir}install-sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
+        ac_install_sh="${as_dir}install-sh -c"
+      elif test -f "${as_dir}install.sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
+        ac_install_sh="${as_dir}install.sh -c"
+      elif test -f "${as_dir}shtool"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
+        ac_install_sh="${as_dir}shtool install -c"
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+        else
+          break
+        fi
+      fi
+    else
+      if test -f "${as_dir}${ac_aux}"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+        else
+          break
+        fi
+      fi
+    fi
+  done
+  if test "$ac_aux_dir_found" = yes; then
+    ac_aux_dir="$as_dir"
+    break
+  fi
+  ac_first_candidate=false
+
+  as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+fi
+
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+if test -f "${ac_aux_dir}config.guess"; then
+  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+  ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -3297,11 +4280,12 @@ $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+           and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -3315,41 +4299,33 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_aux_dir=
-for ac_dir in build-aux "$srcdir"/build-aux; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
-fi
+# Library code modified:                              REVISION++
+# Interfaces changed/added/removed:   CURRENT++       REVISION=0
+# Interfaces added:                             AGE++
+# Interfaces removed:                           AGE=0
+LT_CURRENT=18
+
+LT_REVISION=5
+
+LT_AGE=6
 
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $PACKAGE_NAME $PACKAGE_VERSION $PACKAGE_TARNAME $LT_CURRENT:$LT_REVISION:$LT_AGE $DLL_VERSION" >&5
+printf "%s\n" "$as_me: $PACKAGE_NAME $PACKAGE_VERSION $PACKAGE_TARNAME $LT_CURRENT:$LT_REVISION:$LT_AGE $DLL_VERSION" >&6;}
 
 
 
 ac_config_headers="$ac_config_headers config.h"
 
-am__api_version='1.11'
 
-# Find a good install program.  We prefer a C program (faster),
+am__api_version='1.16'
+
+
+
+  # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
 # SysV /etc/install, /usr/sbin/install
@@ -3363,20 +4339,25 @@ am__api_version='1.11'
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_path_install+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+  ./ | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
@@ -3386,13 +4367,13 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
          if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
            :
          elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # program-specific install script used by HP pwplus--don't use.
            :
          else
@@ -3400,12 +4381,12 @@ case $as_dir/ in #((
            echo one > conftest.one
            echo two > conftest.two
            mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+           if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
              test -s conftest.one && test -s conftest.two &&
              test -s conftest.dir/conftest.one &&
              test -s conftest.dir/conftest.two
            then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
              break 3
            fi
          fi
@@ -3421,7 +4402,7 @@ IFS=$as_save_IFS
 rm -rf conftest.one conftest.two conftest.dir
 
 fi
-  if test "${ac_cv_path_install+set}" = set; then
+  if test ${ac_cv_path_install+y}; then
     INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -3431,8 +4412,8 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -3442,11 +4423,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+printf %s "checking whether build environment is sane... " >&6; }
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -3457,32 +4435,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+       && test "$*" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -3492,8 +4478,18 @@ else
    as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -3502,29 +4498,26 @@ test "$program_suffix" != NONE &&
 # Double any \ or $.
 # By default was `s,x,x', remove it if useless.
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
 
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+
+  if test x"${MISSING+set}" != xset; then
+  MISSING="\${SHELL} '$am_aux_dir/missing'"
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\    *)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3533,19 +4526,20 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
@@ -3553,11 +4547,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3568,11 +4566,11 @@ fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3581,11 +4579,12 @@ if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_STRIP"; then
   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
@@ -3593,11 +4592,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3608,11 +4611,11 @@ fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_STRIP" = x; then
@@ -3620,8 +4623,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     STRIP=$ac_ct_STRIP
@@ -3633,25 +4636,31 @@ fi
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
+printf %s "checking for a race-free mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${ac_cv_path_mkdir+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in mkdir gmkdir; do
         for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
+          as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
+          case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
+            'mkdir ('*'coreutils) '* | \
+            'BusyBox '* | \
             'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
               break 3;;
           esac
         done
@@ -3662,7 +4671,7 @@ IFS=$as_save_IFS
 fi
 
   test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
+  if test ${ac_cv_path_mkdir+y}; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -3672,25 +4681,19 @@ fi
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+printf "%s\n" "$MKDIR_P" >&6; }
 
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
@@ -3698,11 +4701,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3713,24 +4720,25 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
 all:
@@ -3746,12 +4754,12 @@ esac
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -3764,6 +4772,47 @@ else
 fi
 rmdir .tst 2>/dev/null
 
+# Check whether --enable-silent-rules was given.
+if test ${enable_silent_rules+y}
+then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if test ${am_cv_make_support_nested_variables+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if printf "%s\n" 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
@@ -3786,17 +4835,13 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libidn'
- VERSION='1.25'
+ VERSION='1.42'
 
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
+printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
 
 
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
+printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
 
 # Some tools Automake needs.
 
@@ -3814,35 +4859,104 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
 
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
 
 
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+  CTAGS=ctags
+fi
+
+if test -z "$ETAGS"; then
+  ETAGS=etags
+fi
+
+if test -z "$CSCOPE"; then
+  CSCOPE=cscope
+fi
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 # Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
+if test ${enable_silent_rules+y}
+then :
   enableval=$enable_silent_rules;
 fi
 
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=0;;
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=0;;
 esac
 am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if test ${am_cv_make_support_nested_variables+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if printf "%s\n" 'TRUE=$(BAR$(V))
 BAR0=false
 BAR1=true
 V=1
@@ -3854,8 +4968,8 @@ else
   am_cv_make_support_nested_variables=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
 if test $am_cv_make_support_nested_variables = yes; then
     AM_V='$(V)'
   AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
@@ -3866,15 +4980,13 @@ fi
 AM_BACKSLASH='\'
 
 
-# Library code modified:                              REVISION++
-# Interfaces changed/added/removed:   CURRENT++       REVISION=0
-# Interfaces added:                             AGE++
-# Interfaces removed:                           AGE=0
-LT_CURRENT=17
 
-LT_REVISION=8
 
-LT_AGE=6
+
+
+
+
+
 
 
 ac_ext=c
@@ -3885,11 +4997,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3897,11 +5010,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3912,11 +5029,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3925,11 +5042,12 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -3937,11 +5055,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3952,11 +5074,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -3964,8 +5086,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3978,11 +5100,12 @@ if test -z "$CC"; then
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3990,11 +5113,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4005,11 +5132,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4018,11 +5145,12 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4031,15 +5159,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4055,18 +5187,18 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4077,11 +5209,12 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4089,11 +5222,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4104,11 +5241,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4121,11 +5258,12 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -4133,11 +5271,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4148,11 +5290,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4164,8 +5306,8 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -4173,25 +5315,129 @@ esac
 fi
 
 fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -4201,7 +5447,7 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
@@ -4209,7 +5455,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -4221,9 +5467,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
@@ -4244,11 +5490,12 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
@@ -4265,7 +5512,7 @@ do
        # certainly right.
        break;;
     *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
        then :; else
           ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
        fi
@@ -4281,44 +5528,46 @@ do
 done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
-else
+else $as_nop
   ac_file=''
 fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "C compiler cannot create executables
 See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -4332,15 +5581,15 @@ for ac_file in conftest.exe conftest conftest.*; do
     * ) break;;
   esac
 done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
@@ -4349,7 +5598,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
 int
-main ()
+main (void)
 {
 FILE *f = fopen ("conftest.out", "w");
  return ferror (f) || fclose (f) != 0;
@@ -4361,8 +5610,8 @@ _ACEOF
 ac_clean_files="$ac_clean_files conftest.out"
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
 if test "$cross_compiling" != yes; then
   { { ac_try="$ac_link"
 case "(($ac_try" in
@@ -4370,10 +5619,10 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
   if { ac_try='./conftest$ac_cv_exeext'
   { { case "(($ac_try" in
@@ -4381,39 +5630,40 @@ $as_echo "$ac_try_echo"; } >&5
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
+       { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
 
 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -4427,11 +5677,12 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
@@ -4440,31 +5691,32 @@ $as_echo "$ac_try_echo"; } >&5
        break;;
   esac
 done
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of object files: cannot compile
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 #ifndef __GNUC__
        choke me
@@ -4474,29 +5726,33 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_compiler_gnu=yes
-else
+else $as_nop
   ac_compiler_gnu=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
   GCC=
 fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
@@ -4505,57 +5761,60 @@ else
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
-else
+else $as_nop
   CFLAGS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   ac_c_werror_flag=$ac_save_c_werror_flag
         CFLAGS="-g"
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
@@ -4570,148 +5829,337 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c89_program
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
+  if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_c89=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
 fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+printf %s "checking whether $CC understands -c and -o together... " >&6; }
+if test ${am_cv_prog_cc_c_o+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5
+printf %s "checking whether the compiler is clang... " >&6; }
+if test ${gl_cv_compiler_clang+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+           #ifdef __clang__
+           barfbarf
+           #endif
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_compiler_clang=no
+else $as_nop
+  gl_cv_compiler_clang=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5
+printf "%s\n" "$gl_cv_compiler_clang" >&6; }
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5
+printf %s "checking for compiler option needed when checking for declarations... " >&6; }
+if test ${gl_cv_compiler_check_decl_option+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test $gl_cv_compiler_clang = yes; then
+                     save_ac_compile="$ac_compile"
+       ac_compile="$ac_compile -Werror=implicit-function-declaration"
+                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'
+else $as_nop
+  gl_cv_compiler_check_decl_option=none
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       ac_compile="$save_ac_compile"
+     else
+       gl_cv_compiler_check_decl_option=none
+     fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5
+printf "%s\n" "$gl_cv_compiler_check_decl_option" >&6; }
+  if test "x$gl_cv_compiler_check_decl_option" != xnone; then
+    ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option"
+  else
+    ac_compile_for_check_decl="$ac_compile"
+  fi
+
 DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
 
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+   (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  case $?:`cat confinc.out 2>/dev/null` in #(
+  '0:this is the am__doit target') :
+    case $s in #(
+  BSD) :
+    am__include='.include' am__quote='"' ;; #(
+  *) :
+    am__include='include' am__quote='' ;;
+esac ;; #(
+  *) :
      ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+esac
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+printf "%s\n" "${_am_result}" >&6; }
 
 # Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
+if test ${enable_dependency_tracking+y}
+then :
   enableval=$enable_dependency_tracking;
 fi
 
@@ -4732,17 +6180,18 @@ fi
 
 depcc="$CC"   am_compiler_list=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
+if test ${am_cv_CC_dependencies_compiler_type+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4777,16 +6226,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -4795,8 +6244,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -4804,7 +6253,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -4843,8 +6292,8 @@ else
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
  if
 
 
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+  if test $ac_cache; then
+    ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+    if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+      printf "%s\n" "#define $ac_item 1" >> confdefs.h
+    fi
+    ac_header= ac_cache=
+  elif test $ac_header; then
+    ac_cache=$ac_item
+  else
+    ac_header=$ac_item
+  fi
+done
+
+
+
+
+
+
+
+
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
 
-else
-  # Broken: fails on valid input.
-continue
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test ${ac_cv_safe_to_define___extensions__+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
 
-    done
-    ac_cv_prog_CPP=$CPP
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_safe_to_define___extensions__=yes
+else $as_nop
+  ac_cv_safe_to_define___extensions__=no
 fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if test ${ac_cv_should_define__xopen_source+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_should_define__xopen_source=no
+    if test $ac_cv_header_wchar_h = yes
+then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
 
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+          #include <wchar.h>
+          mbstate_t x;
+int
+main (void)
+{
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ac_nonexistent.h>
+
+            #define _XOPEN_SOURCE 500
+            #include <wchar.h>
+            mbstate_t x;
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_should_define__xopen_source=yes
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
+
+  printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
+
+  printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
+
+  printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+  if test $ac_cv_header_minix_config_h = yes
+then :
+  MINIX=yes
+    printf "%s\n" "#define _MINIX 1" >>confdefs.h
+
+    printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
+
+    printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+else $as_nop
+  MINIX=
+fi
+  if test $ac_cv_safe_to_define___extensions__ = yes
+then :
+  printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
+
+fi
+  if test $ac_cv_should_define__xopen_source = yes
+then :
+  printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
+
+fi
+
+
+
+  # Make sure we can run config.sub.
+$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+
+
+
+  case "$host_os" in
+    openbsd*)
+
+printf "%s\n" "#define _ISOC11_SOURCE 1" >>confdefs.h
+
+      ;;
+  esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+printf %s "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test ${ac_cv_prog_CPP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+      # Double quotes because $CC needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+  # Broken: success on invalid input.
+continue
+else $as_nop
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
 rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
+if $ac_preproc_ok
+then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
 
+fi
+  CPP=$ac_cv_prog_CPP
 else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  ac_cv_prog_CPP=$CPP
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+printf "%s\n" "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+  # Broken: success on invalid input.
+continue
+else $as_nop
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details" "$LINENO" 5; }
 fi
@@ -4997,11 +6700,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
+if test ${ac_cv_path_GREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -z "$GREP"; then
   ac_path_GREP_found=false
   # Loop through the user's path and test for each of PROGNAME-LIST
@@ -5009,11 +6713,16 @@ else
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in grep ggrep
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5021,13 +6730,13 @@ case `"$ac_path_GREP" --version 2>&1` in
   ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
+    printf "%s\n" 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -5055,16 +6764,17 @@ else
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    then ac_cv_path_EGREP="$GREP -E"
    else
@@ -5075,11 +6785,16 @@ else
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in egrep
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5087,13 +6802,13 @@ case `"$ac_path_EGREP" --version 2>&1` in
   ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
+    printf "%s\n" 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -5122,18 +6837,20 @@ fi
 
    fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
-$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-if ${gl_cv_c_amsterdam_compiler+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+printf %s "checking for Minix Amsterdam compiler... " >&6; }
+if test ${gl_cv_c_amsterdam_compiler+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -5144,32 +6861,39 @@ Amsterdam
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Amsterdam" >/dev/null 2>&1; then :
+  $EGREP "Amsterdam" >/dev/null 2>&1
+then :
   gl_cv_c_amsterdam_compiler=yes
-else
+else $as_nop
   gl_cv_c_amsterdam_compiler=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
-$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
+printf "%s\n" "$gl_cv_c_amsterdam_compiler" >&6; }
+
+      if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-                  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    fi
+    if test -z "$ARFLAGS"; then
+      ARFLAGS='-o'
+    fi
+  else
+
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar lib "link -lib"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AR"; then
   ac_cv_prog_AR="$AR" # Let the user override the test.
 else
@@ -5177,11 +6901,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5192,24 +6920,29 @@ fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
+    test -n "$AR" && break
+  done
 fi
-if test -z "$ac_cv_prog_AR"; then
+if test -z "$AR"; then
   ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  for ac_prog in ar lib "link -lib"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_AR"; then
   ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
@@ -5217,11 +6950,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 ac_ct_AR=$ac_cv_prog_ac_ct_AR
 if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
+
+  test -n "$ac_ct_AR" && break
+done
+
   if test "x$ac_ct_AR" = x; then
-    AR="ar"
+    AR="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     AR=$ac_ct_AR
   fi
-else
-  AR="$ac_cv_prog_AR"
 fi
 
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
+: ${AR=ar}
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+printf %s "checking the archiver ($AR) interface... " >&6; }
+if test ${am_cv_ar_interface+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+   am_cv_ar_interface=ar
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
       fi
-    fi
-  else
-    if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
-    fi
-  fi
+      rm -f conftest.lib libconftest.a
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-  if test -z "$RANLIB"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+printf "%s\n" "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+  ;;
+esac
+
+  fi
+
+        if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="ar"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
+  fi
+
+
+
+  if test -z "$RANLIB"; then
+    if test $gl_cv_c_amsterdam_compiler = yes; then
       RANLIB=':'
     else
             if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
@@ -5284,11 +7196,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5299,11 +7215,11 @@ fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5312,11 +7228,12 @@ if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_RANLIB"; then
   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
@@ -5324,11 +7241,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5339,11 +7260,11 @@ fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_RANLIB" = x; then
@@ -5351,8 +7272,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
   fi
 
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+# Check whether --enable-largefile was given.
+if test ${enable_largefile+y}
+then :
+  enableval=$enable_largefile;
 fi
-
+if test "$enable_largefile,$enable_year2038" != no,no
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5
+printf %s "checking for $CC option to enable large file support... " >&6; }
+if test ${ac_cv_sys_largefile_opts+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_CC="$CC"
+  ac_opt_found=no
+  for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do
+    if test x"$ac_opt" != x"none needed"
+then :
+  CC="$ac_save_CC $ac_opt"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
+#include <sys/types.h>
+#ifndef FTYPE
+# define FTYPE off_t
+#endif
+ /* Check that FTYPE can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_FTYPE to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
+  int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721
+                      && LARGE_FTYPE % 2147483647 == 1)
+                     ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
+  if test x"$ac_opt" = x"none needed"
+then :
+  # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
+        CC="$CC -DFTYPE=ino_t"
+        if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
-  ac_cv_header_stdc=no
+else $as_nop
+  CC="$CC -D_FILE_OFFSET_BITS=64"
+           if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_opt='-D_FILE_OFFSET_BITS=64'
 fi
-rm -f conftest*
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+fi
+      ac_cv_sys_largefile_opts=$ac_opt
+      ac_opt_found=yes
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+    test $ac_opt_found = no || break
+  done
+  CC="$ac_save_CC"
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
+    if test $ac_opt_found != yes; then
+      case $host_os in #(
+  mingw* | windows*) :
+    ac_cv_sys_largefile_opts="supported through gnulib"
+           ac_opt_found=yes
+       ;; #(
+  *) :
+     ;;
+esac
+    fi
 
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
+  test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_opts" >&5
+printf "%s\n" "$ac_cv_sys_largefile_opts" >&6; }
+
+ac_have_largefile=yes
+case $ac_cv_sys_largefile_opts in #(
+  "none needed") :
+     ;; #(
+  "supported through gnulib") :
+     ;; #(
+  "support not detected") :
+    ac_have_largefile=no ;; #(
+  "-D_FILE_OFFSET_BITS=64") :
+
+printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h
+ ;; #(
+  "-D_LARGE_FILES=1") :
+
+printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h
+ ;; #(
+  "-n32") :
+    CC="$CC -n32" ;; #(
+  *) :
+    as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;;
+esac
 
+if test "$enable_year2038" != no
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5
+printf %s "checking for $CC option for timestamps after 2038... " >&6; }
+if test ${ac_cv_sys_year2038_opts+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  ac_opt_found=no
+  for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do
+    if test x"$ac_opt" != x"none needed"
+then :
+  CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"
 fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+  #include <time.h>
+  /* Check that time_t can represent 2**32 - 1 correctly.  */
+  #define LARGE_TIME_T \\
+    ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
+  int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
+                           && LARGE_TIME_T % 65537 == 0)
+                          ? 1 : -1];
+
 int
-main ()
+main (void)
 {
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_year2038_opts="$ac_opt"
+      ac_opt_found=yes
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+    test $ac_opt_found = no || break
+  done
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5
+printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; }
+
+ac_have_year2038=yes
+case $ac_cv_sys_year2038_opts in #(
+  "none needed") :
+     ;; #(
+  "support not detected") :
+    ac_have_year2038=no ;; #(
+  "-D_TIME_BITS=64") :
+
+printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h
+ ;; #(
+  "-D__MINGW_USE_VC2005_COMPAT") :
+
+printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h
+ ;; #(
+  "-U_USE_32_BIT_TIME_T"*) :
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It
+will stop working after mid-January 2038. Remove
+_USE_32BIT_TIME_T from the compiler flags.
+See \`config.log' for more details" "$LINENO" 5; } ;; #(
+  *) :
+    as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;;
+esac
 
 fi
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
 fi
 
-done
-
-
-
 
+  # Pre-early section.
 
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
 
 
-  if test "$MINIX" = yes; then
+  # Code from module absolute-header:
+  # Code from module alloca-opt:
+  # Code from module announce-gen:
+  # Code from module assert-h:
+  # Code from module autobuild:
 
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
 
 
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
 
+  if test -z "$AB_PACKAGE"; then
+    AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE}
+  fi
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5
+printf "%s\n" "$as_me: autobuild project... $AB_PACKAGE" >&6;}
 
-$as_echo "#define _MINIX 1" >>confdefs.h
+  if test -z "$AB_VERSION"; then
+    AB_VERSION=${PACKAGE_VERSION:-$VERSION}
+  fi
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5
+printf "%s\n" "$as_me: autobuild revision... $AB_VERSION" >&6;}
 
+  hostname=`hostname`
+  if test "$hostname"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5
+printf "%s\n" "$as_me: autobuild hostname... $hostname" >&6;}
   fi
 
-        case "$host_os" in
-    hpux*)
 
-$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
 
-      ;;
-  esac
+  date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ`
+  if test "$?" != 0; then
+    date=`date`
+  fi
+  if test "$date"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5
+printf "%s\n" "$as_me: autobuild timestamp... $date" >&6;}
+  fi
 
+  # Code from module basename-lgpl:
+  # Code from module c99:
+  # Code from module cloexec:
+  # Code from module close:
+  # Code from module csharpcomp-script:
+  # Code from module csharpexec-script:
+  # Code from module do-release-commit-and-tag:
+  # Code from module double-slash-root:
+  # Code from module dup2:
+  # Code from module errno:
+  # Code from module error:
+  # Code from module error-h:
+  # Code from module extensions:
+  # Code from module extern-inline:
+  # Code from module fcntl:
+  # Code from module fcntl-h:
+  # Code from module fd-hook:
+  # Code from module filename:
+  # Code from module fstat:
+  # Code from module gen-header:
+  # Code from module gendocs:
+  # Code from module getdelim:
+  # Code from module getdtablesize:
+  # Code from module getline:
+  # Code from module getopt-gnu:
+  # Code from module getopt-posix:
+  # Code from module getprogname:
+  # Code from module gettext-h:
+  # Code from module git-version-gen:
+  # Code from module gitlog-to-changelog:
+  # Code from module gnu-web-doc-update:
+  # Code from module gnumakefile:
+  # Code from module gnupload:
+  # Code from module idx:
+  # Code from module include_next:
+  # Code from module intprops:
+  # Code from module largefile:
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#         define __EXTENSIONS__ 1
-          $ac_includes_default
-int
-main ()
-{
+  # Code from module lib-msvc-compat:
+  # Code from module lib-symbol-versions:
+  # Code from module lib-symbol-visibility:
+  # Code from module limits-h:
+  # Code from module maintainer-makefile:
+  # Code from module malloca:
+  # Code from module manywarnings:
+  # Code from module msvc-inval:
+  # Code from module msvc-nothrow:
+  # Code from module multiarch:
+  # Code from module nocrash:
+  # Code from module open:
+  # Code from module pathmax:
+  # Code from module pmccabe2html:
+  # Code from module progname:
+  # Code from module readme-release:
+  # Code from module snippet/_Noreturn:
+  # Code from module snippet/arg-nonnull:
+  # Code from module snippet/c++defs:
+  # Code from module snippet/warn-on-use:
+  # Code from module ssize_t:
+  # Code from module stat:
+  # Code from module stat-time:
+  # Code from module std-gnu11:
+  # Code from module stdarg:
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
 
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+  # Code from module stdbool:
+  # Code from module stdckdint:
+  # Code from module stddef:
+  # Code from module stdint:
+  # Code from module stdio:
 
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+  printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
 
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
 
+  # Code from module stdlib:
+  # Code from module strerror:
+  # Code from module strerror-override:
+  # Code from module string:
+  # Code from module sys_stat:
+  # Code from module sys_types:
+  # Code from module time-h:
+  # Code from module unistd:
+  # Code from module update-copyright:
+  # Code from module useless-if-before-free:
+  # Code from module valgrind-tests:
+  # Code from module vararrays:
+  # Code from module vc-list-files:
+  # Code from module version-etc:
+  # Code from module warnings:
+  # Code from module xalloc-oversized:
 
 
 
+  # Pre-early section.
 
 
 
+  # Code from module absolute-header:
+  # Code from module attribute:
+  # Code from module c-ctype:
+  # Code from module c-strcase:
+  # Code from module c99:
+  # Code from module extensions:
+  # Code from module extern-inline:
+  # Code from module free-posix:
+  # Code from module gen-header:
+  # Code from module gettext-h:
+  # Code from module gperf:
+  # Code from module havelib:
+  # Code from module iconv:
+  # Code from module iconv-h:
+  # Code from module iconv_open:
+  # Code from module include_next:
+  # Code from module inline:
+  # Code from module inttypes-incomplete:
+  # Code from module langinfo:
+  # Code from module libc-config:
+  # Code from module limits-h:
+  # Code from module multiarch:
+  # Code from module snippet/_Noreturn:
+  # Code from module snippet/arg-nonnull:
+  # Code from module snippet/c++defs:
+  # Code from module snippet/warn-on-use:
+  # Code from module ssize_t:
+  # Code from module std-gnu11:
+  # Code from module stdbool:
+  # Code from module stddef:
+  # Code from module stdint:
+  # Code from module stdlib:
+  # Code from module striconv:
+  # Code from module string:
+  # Code from module strverscmp:
+  # Code from module sys_types:
+  # Code from module unistd:
+  # Code from module unistr/base:
+  # Code from module unistr/u8-check:
+  # Code from module unistr/u8-mbtoucr:
+  # Code from module unistr/u8-uctomb:
+  # Code from module unitypes:
+  # Code from module vararrays:
+  # Code from module wchar:
 
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
-fi
 
-if test "$enable_largefile" != no; then
+# Checks for programs.
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar lib "link -lib"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
 else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-         # IRIX 6.2 and later do not support large files by default,
-         # so use the C compiler's -n32 option if that helps.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-         if ac_fn_c_try_compile "$LINENO"; then :
-  break
 fi
-rm -f core conftest.err conftest.$ac_objext
-         CC="$CC -n32"
-         if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
 fi
-rm -f core conftest.err conftest.$ac_objext
-         break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=no; break
+    test -n "$AR" && break
+  done
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar lib "link -lib"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=64; break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
-  break
-done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
-  $as_echo_n "(cached) " >&6
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
 else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=no; break
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
-  break
+
+  test -n "$ac_ct_AR" && break
 done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
-rm -rf conftest*
+    AR=$ac_ct_AR
   fi
+fi
 
+: ${AR=ar}
 
-fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+printf %s "checking the archiver ($AR) interface... " >&6; }
+if test ${am_cv_ar_interface+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-   case $ac_cv_prog_cc_stdc in #(
-  no) :
-    ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if ${ac_cv_prog_cc_c99+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+   am_cv_ar_interface=ar
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-// Check varargs macros.  These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
-  int x = 1234;
-  int y = 5678;
-  debug ("Flag");
-  debug ("X = %d\n", x);
-  showlist (The first, second, and third items.);
-  report (x>y, "x is %d but y is %d", x, y);
-}
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+        am_cv_ar_interface=ar
+      else
+        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+  (eval $am_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        if test "$ac_status" -eq 0; then
+          am_cv_ar_interface=lib
+        else
+          am_cv_ar_interface=unknown
+        fi
+      fi
+      rm -f conftest.lib libconftest.a
 
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
-  your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
-  your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-struct incomplete_array
-{
-  int datasize;
-  double data[];
-};
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+printf "%s\n" "$am_cv_ar_interface" >&6; }
 
-struct named_init {
-  int number;
-  const wchar_t *name;
-  double average;
-};
+case $am_cv_ar_interface in
+ar)
+  ;;
+lib)
+  # Microsoft lib, so override with the ar-lib wrapper script.
+  # FIXME: It is wrong to rewrite AR.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__AR in this case,
+  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+  # similar.
+  AR="$am_aux_dir/ar-lib $AR"
+  ;;
+unknown)
+  as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+  ;;
+esac
 
-typedef const char *ccp;
+case `pwd` in
+  *\ * | *\    *)
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
 
-static inline int
-test_restrict (ccp restrict text)
-{
-  // See if C++-style comments work.
-  // Iterate through items via the restricted pointer.
-  // Also check for declarations in for loops.
-  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
-    continue;
-  return 0;
-}
 
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
-  va_list args;
-  va_start (args, format);
-  va_list args_copy;
-  va_copy (args_copy, args);
 
-  const char *str;
-  int number;
-  float fnumber;
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
-  while (*format)
-    {
-      switch (*format++)
-       {
-       case 's': // string
-         str = va_arg (args_copy, const char *);
-         break;
-       case 'd': // int
-         number = va_arg (args_copy, int);
-         break;
-       case 'f': // float
-         fnumber = va_arg (args_copy, double);
-         break;
-       default:
-         break;
-       }
-    }
-  va_end (args_copy);
-  va_end (args);
-}
 
-int
-main ()
-{
 
-  // Check bool.
-  _Bool success = false;
 
-  // Check restrict.
-  if (test_restrict ("String literal") == 0)
-    success = true;
-  char *restrict newvar = "Another string";
 
-  // Check varargs.
-  test_varargs ("s, d' f .", "string", 65, 34.234);
-  test_varargs_macros ();
 
-  // Check flexible array members.
-  struct incomplete_array *ia =
-    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
-  ia->datasize = 10;
-  for (int i = 0; i < ia->datasize; ++i)
-    ia->data[i] = i * 1.234;
 
-  // Check named initializers.
-  struct named_init ni = {
-    .number = 34,
-    .name = L"Test wide string",
-    .average = 543.34343,
-  };
 
-  ni.number = 58;
 
-  int dynamic_array[ni.number];
-  dynamic_array[ni.number - 1] = 543;
 
-  // work around unused variable warnings
-  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
-         || dynamic_array[ni.number - 1] != 543);
 
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
 
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c99"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c99" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
 
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+ltmain=$ac_aux_dir/ltmain.sh
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+printf %s "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
 else
-  ac_cv_prog_cc_stdc=no
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-fi
- ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
-$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
-  if ${ac_cv_prog_cc_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
 
-  case $ac_cv_prog_cc_stdc in #(
-  no) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;; #(
-  '') :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
-$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
+case $ECHO in
+  printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+printf "%s\n" "printf" >&6; } ;;
+  print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+printf "%s\n" "print -r" >&6; } ;;
+  *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+printf "%s\n" "cat" >&6; } ;;
 esac
 
 
 
-  # Code from module alloca-opt:
-  # Code from module alloca-opt-tests:
-  # Code from module autobuild:
 
 
 
 
-  if test -z "$AB_PACKAGE"; then
-    AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE}
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5
-$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;}
 
-  if test -z "$AB_VERSION"; then
-    AB_VERSION=${PACKAGE_VERSION:-$VERSION}
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5
-$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;}
 
-  hostname=`hostname`
-  if test "$hostname"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5
-$as_echo "$as_me: autobuild hostname... $hostname" >&6;}
-  fi
 
 
 
-  date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ`
-  if test "$?" != 0; then
-    date=`date`
-  fi
-  if test "$date"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5
-$as_echo "$as_me: autobuild timestamp... $date" >&6;}
-  fi
 
-  # Code from module binary-io:
-  # Code from module binary-io-tests:
-  # Code from module close:
-  # Code from module close-tests:
-  # Code from module csharpcomp-script:
-  # Code from module csharpexec-script:
-  # Code from module dosname:
-  # Code from module dup2:
-  # Code from module dup2-tests:
-  # Code from module environ:
-  # Code from module environ-tests:
-  # Code from module errno:
-  # Code from module errno-tests:
-  # Code from module error:
-  # Code from module extensions:
 
-  # Code from module fcntl-h:
-  # Code from module fd-hook:
-  # Code from module fdl-1.3:
-  # Code from module fdopen:
-  # Code from module fdopen-tests:
-  # Code from module fgetc-tests:
-  # Code from module fputc-tests:
-  # Code from module fread-tests:
-  # Code from module fstat:
-  # Code from module fstat-tests:
-  # Code from module fwrite-tests:
-  # Code from module gendocs:
-  # Code from module getcwd-lgpl:
-  # Code from module getcwd-lgpl-tests:
-  # Code from module getopt-gnu:
-  # Code from module getopt-posix:
-  # Code from module getopt-posix-tests:
-  # Code from module gettext-h:
-  # Code from module gnumakefile:
-  # Code from module gnupload:
-  # Code from module ignore-value:
-  # Code from module ignore-value-tests:
-  # Code from module include_next:
-  # Code from module intprops:
-  # Code from module intprops-tests:
-  # Code from module inttypes:
-  # Code from module inttypes-incomplete:
-  # Code from module inttypes-tests:
-  # Code from module largefile:
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+printf %s "checking for a sed that does not truncate output... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in sed gsed
+   do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  printf %s 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    printf "%s\n" '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-  # Code from module lstat:
-  # Code from module lstat-tests:
-  # Code from module maintainer-makefile:
-  # Code from module malloc-posix:
-  # Code from module malloca:
-  # Code from module malloca-tests:
-  # Code from module manywarnings:
-  # Code from module msvc-inval:
-  # Code from module msvc-nothrow:
-  # Code from module multiarch:
-  # Code from module nocrash:
-  # Code from module open:
-  # Code from module open-tests:
-  # Code from module pathmax:
-  # Code from module pathmax-tests:
-  # Code from module pmccabe2html:
-  # Code from module progname:
-  # Code from module putenv:
-  # Code from module same-inode:
-  # Code from module setenv:
-  # Code from module setenv-tests:
-  # Code from module snippet/_Noreturn:
-  # Code from module snippet/arg-nonnull:
-  # Code from module snippet/c++defs:
-  # Code from module snippet/warn-on-use:
-  # Code from module ssize_t:
-  # Code from module stat:
-  # Code from module stat-tests:
-  # Code from module stdarg:
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+printf "%s\n" "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
 
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
 
-  # Code from module stdbool:
-  # Code from module stdbool-tests:
-  # Code from module stddef:
-  # Code from module stddef-tests:
-  # Code from module stdint:
-  # Code from module stdint-tests:
-  # Code from module stdio:
-  # Code from module stdio-tests:
-  # Code from module stdlib:
-  # Code from module strerror:
-  # Code from module strerror-override:
-  # Code from module strerror-tests:
-  # Code from module string:
-  # Code from module symlink:
-  # Code from module symlink-tests:
-  # Code from module sys_stat:
-  # Code from module sys_types:
-  # Code from module sys_types-tests:
-  # Code from module test-framework-sh:
-  # Code from module test-framework-sh-tests:
-  # Code from module time:
-  # Code from module unistd:
-  # Code from module unsetenv:
-  # Code from module unsetenv-tests:
-  # Code from module update-copyright:
-  # Code from module useless-if-before-free:
-  # Code from module valgrind-tests:
-  # Code from module vc-list-files:
-  # Code from module vc-list-files-tests:
-  # Code from module verify:
-  # Code from module verify-tests:
-  # Code from module version-etc:
-  # Code from module version-etc-fsf:
-  # Code from module version-etc-tests:
-  # Code from module warnings:
-  # Code from module wchar:
 
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+printf %s "checking for fgrep... " >&6; }
+if test ${ac_cv_path_FGREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in fgrep
+   do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  printf %s 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    printf "%s\n" 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
+  ac_cv_path_FGREP=$FGREP
 fi
-rm -f core conftest*
 
+   fi
 fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+printf "%s\n" "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
 
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
 
-fi
+test -z "$GREP" && GREP=grep
 
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
 
 
 
 
 
 
-  # Check whether --enable-threads was given.
-if test "${enable_threads+set}" = set; then :
-  enableval=$enable_threads; gl_use_threads=$enableval
-else
-  if test -n "$gl_use_threads_default"; then
-       gl_use_threads="$gl_use_threads_default"
-     else
-       case "$host_os" in
-                                                               osf*) gl_use_threads=no ;;
-         cygwin*)
-               case `uname -r` in
-                 1.[0-5].*) gl_use_threads=no ;;
-                 *)         gl_use_threads=yes ;;
-               esac
-               ;;
-         *)    gl_use_threads=yes ;;
-       esac
-     fi
 
-fi
 
-  if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
-    # For using <pthread.h>:
-    case "$host_os" in
-      osf*)
-        # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
-        # groks <pthread.h>. cc also understands the flag -pthread, but
-        # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
-        # 2. putting a flag into CPPFLAGS that has an effect on the linker
-        # causes the AC_TRY_LINK test below to succeed unexpectedly,
-        # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
-        CPPFLAGS="$CPPFLAGS -D_REENTRANT"
-        ;;
-    esac
-    # Some systems optimize for single-threaded programs by default, and
-    # need special flags to disable these optimizations. For example, the
-    # definition of 'errno' in <errno.h>.
-    case "$host_os" in
-      aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
-      solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
-    esac
-  fi
 
 
 
 
-  # Code from module alloca-opt:
-  # Code from module alloca-opt-tests:
-  # Code from module c-ctype:
-  # Code from module c-ctype-tests:
-  # Code from module c-strcase:
-  # Code from module c-strcase-tests:
-  # Code from module environ:
-  # Code from module environ-tests:
-  # Code from module extensions:
 
-  # Code from module gettext-h:
-  # Code from module gperf:
-  # Code from module havelib:
-  # Code from module iconv:
-  # Code from module iconv-h:
-  # Code from module iconv-tests:
-  # Code from module iconv_open:
-  # Code from module include_next:
-  # Code from module inline:
-  # Code from module intprops:
-  # Code from module intprops-tests:
-  # Code from module inttypes:
-  # Code from module inttypes-incomplete:
-  # Code from module inttypes-tests:
-  # Code from module lib-msvc-compat:
-  # Code from module lib-symbol-versions:
-  # Code from module lib-symbol-visibility:
-  # Code from module locale:
-  # Code from module locale-tests:
-  # Code from module localename:
-  # Code from module localename-tests:
-  # Code from module lock:
-  # Code from module lock-tests:
-  # Code from module malloc-posix:
-  # Code from module malloca:
-  # Code from module malloca-tests:
-  # Code from module multiarch:
-  # Code from module putenv:
-  # Code from module setenv:
-  # Code from module setenv-tests:
-  # Code from module setlocale:
-  # Code from module setlocale-tests:
-  # Code from module snippet/_Noreturn:
-  # Code from module snippet/arg-nonnull:
-  # Code from module snippet/c++defs:
-  # Code from module snippet/unused-parameter:
-  # Code from module snippet/warn-on-use:
-  # Code from module ssize_t:
-  # Code from module stdbool:
-  # Code from module stdbool-tests:
-  # Code from module stddef:
-  # Code from module stddef-tests:
-  # Code from module stdint:
-  # Code from module stdint-tests:
-  # Code from module stdlib:
-  # Code from module stdlib-tests:
-  # Code from module striconv:
-  # Code from module striconv-tests:
-  # Code from module string:
-  # Code from module strverscmp:
-  # Code from module strverscmp-tests:
-  # Code from module sys_types:
-  # Code from module sys_types-tests:
-  # Code from module test-framework-sh:
-  # Code from module test-framework-sh-tests:
-  # Code from module thread:
-  # Code from module thread-tests:
-  # Code from module threadlib:
-
-
-
-  # Code from module unistd:
-  # Code from module unistd-tests:
-  # Code from module unistr/base:
-  # Code from module unistr/u8-mbtoucr:
-  # Code from module unistr/u8-mbtoucr-tests:
-  # Code from module unistr/u8-uctomb:
-  # Code from module unistr/u8-uctomb-tests:
-  # Code from module unitypes:
-  # Code from module unsetenv:
-  # Code from module unsetenv-tests:
-  # Code from module verify:
-  # Code from module verify-tests:
-  # Code from module wchar:
-  # Code from module yield:
 
 
-# For DEF file.
-DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
 
 
-# We can't replace this with LT_INIT([win32-dll]) yet.  For example,
-# the Ubuntu 8.04 LTS is still shipping a libtool version that doesn't
-# have it.
-enable_win32_dll=yes
+# Check whether --with-gnu-ld was given.
+if test ${with_gnu_ld+y}
+then :
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else $as_nop
+  with_gnu_ld=no
+fi
 
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AS"; then
-  ac_cv_prog_AS="$AS" # Let the user override the test.
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AS="${ac_tool_prefix}as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
+fi
+if test ${lt_cv_path_LD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test no != "$with_gnu_ld" && break
+       ;;
+      *)
+       test yes != "$with_gnu_ld" && break
+       ;;
+      esac
+    fi
   done
-IFS=$as_save_IFS
-
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
 fi
 fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
+
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${lt_cv_prog_gnu_ld+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-fi
-if test -z "$ac_cv_prog_AS"; then
-  ac_ct_AS=$AS
-  # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AS"; then
-  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test ${lt_cv_path_NM+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AS="as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
   fi
-done
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+       case $build_os in
+       mingw*) lt_bad_file=conftest.nm/nofile ;;
+       *) lt_bad_file=/dev/null ;;
+       esac
+       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+       *$lt_bad_file* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break 2
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break 2
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS=$lt_save_ifs
   done
-IFS=$as_save_IFS
-
+  : ${lt_cv_path_NM=no}
 fi
 fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+printf "%s\n" "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AS" = x; then
-    AS="false"
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
   else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AS=$ac_ct_AS
-  fi
-else
-  AS="$ac_cv_prog_AS"
-fi
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DUMPBIN+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6685,38 +8333,47 @@ IFS=$as_save_IFS
 
 fi
 fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+printf "%s\n" "$DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
+    test -n "$DUMPBIN" && break
+  done
 fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6725,224 +8382,374 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    DLLTOOL=$ac_ct_DLLTOOL
+    DUMPBIN=$ac_ct_DUMPBIN
   fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
 fi
 
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
   fi
-done
-  done
-IFS=$as_save_IFS
 
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
 fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+test -z "$NM" && NM=nm
 
 
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+printf %s "checking the name lister ($NM) interface... " >&6; }
+if test ${lt_cv_nm_interface+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
   fi
+  rm -f conftest*
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+printf "%s\n" "$lt_cv_nm_interface" >&6; }
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+printf %s "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+printf "%s\n" "no, using $LN_S" >&6; }
 fi
 
-  ;;
-esac
+# find the maximum length of command line arguments
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+printf %s "checking the maximum length of command line arguments... " >&6; }
+if test ${lt_cv_sys_max_cmd_len+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+    i=0
+  teststring=ABCD
 
-test -z "$AS" && AS=as
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
 
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
 
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
 
-test -z "$DLLTOOL" && DLLTOOL=dlltool
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+             test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
+printf "%s\n" "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
 
 
 
 
-test -z "$OBJDUMP" && OBJDUMP=objdump
 
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
 
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
 
 
 
 
 
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
 esac
 
 
 
-macro_version='2.4.2'
-macro_revision='1.3337'
 
 
 
 
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+printf %s "checking how to convert $build file names to $host format... " >&6; }
+if test ${lt_cv_to_host_file_cmd+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
 
+fi
 
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; }
 
 
 
 
 
-ltmain="$ac_aux_dir/ltmain.sh"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+printf %s "checking how to convert $build file names to toolchain format... " >&6; }
+if test ${lt_cv_to_tool_file_cmd+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
 
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+fi
 
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; }
 
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
 
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
 
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+printf %s "checking for $LD option to reload object files... " >&6; }
+if test ${lt_cv_ld_reload_flag+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_ld_reload_flag='-r'
 fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
 esac
 
 
@@ -6953,284 +8760,336 @@ esac
 
 
 
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OBJDUMP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
 else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+printf "%s\n" "$OBJDUMP" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
 else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
   done
 IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
 else
-  ac_cv_path_FGREP=$FGREP
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-   fi
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
 
+test -z "$OBJDUMP" && OBJDUMP=objdump
 
-test -z "$GREP" && GREP=grep
 
 
 
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+printf %s "checking how to recognize dependent libraries... " >&6; }
+if test ${lt_cv_deplibs_check_method+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
 
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
 
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
 
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
 
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
 
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
 
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
 
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
+netbsd* | netbsdelf*-gnu)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
 
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
     ;;
   esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
+  ;;
 
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
-*)
-  lt_cv_prog_gnu_ld=no
+os2*)
+  lt_cv_deplibs_check_method=pass_all
   ;;
 esac
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
 
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
 
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
@@ -7238,86 +9097,46 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DLLTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7326,42 +9145,43 @@ IFS=$as_save_IFS
 
 fi
 fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+printf "%s\n" "$DLLTOOL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-    test -n "$DUMPBIN" && break
-  done
 fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7370,282 +9190,189 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
+    DLLTOOL=$ac_ct_DLLTOOL
   fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
 fi
 
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
+test -z "$DLLTOOL" && DLLTOOL=dlltool
 
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
 
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
 
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
 
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+printf %s "checking how to associate runtime and link libraries... " >&6; }
+if test ${lt_cv_sharedlib_from_linklib_cmd+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
 
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
     ;;
   *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
     ;;
   esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
 
 fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
 
 
 
 
 
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
 
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
 else
-  lt_unset=false
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
 esac
+    AR=$ac_ct_AR
+  fi
+fi
 
+: ${AR=ar}
+: ${AR_FLAGS=cr}
 
 
 
@@ -7654,112 +9381,172 @@ esac
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
 
-fi
 
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+printf %s "checking for archiver @FILE support... " >&6; }
+if test ${lt_cv_ar_at_file+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test 0 -eq "$ac_status"; then
+       # Ensure the archiver fails upon bogus file names.
+       rm -f conftest.$ac_objext libconftest.a
+       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+       if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+printf "%s\n" "$lt_cv_ar_at_file" >&6; }
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
 else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
+  archiver_list_spec=$lt_cv_ar_at_file
 fi
 
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
 
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
-  lt_cv_ld_reload_flag='-r'
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
 
+test -z "$STRIP" && STRIP=:
 
 
 
@@ -7767,25 +9554,30 @@ esac
 
 
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7794,38 +9586,43 @@ IFS=$as_save_IFS
 
 fi
 fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7834,259 +9631,85 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    OBJDUMP=$ac_ct_OBJDUMP
+    RANLIB=$ac_ct_RANLIB
   fi
 else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
 
 
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
 
 case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
 
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
 
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
 
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
 
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
 
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
 
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
 
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
@@ -8101,254 +9724,300 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
 
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+printf %s "checking command to parse $NM output from $compiler object... " >&6; }
+if test ${lt_cv_sys_global_symbol_pipe+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
 
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[ABCDEGRST]'
   fi
-done
-  done
-IFS=$as_save_IFS
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
 
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
 fi
 
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
 
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
 
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
 esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
 
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
 
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
 
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
 
+         cat <<_LT_EOF >> conftest.$ac_ext
 
+/* The mapping between symbol names and symbols.  */
+LT_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
 
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
 
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_globsym_save_LIBS=$LIBS
+         lt_globsym_save_CFLAGS=$CFLAGS
+         LIBS=conftstm.$ac_objext
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+           pipe_works=yes
+         fi
+         LIBS=$lt_globsym_save_LIBS
+         CFLAGS=$lt_globsym_save_CFLAGS
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
 
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
   fi
 done
-  done
-IFS=$as_save_IFS
 
 fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
 fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+printf "%s\n" "ok" >&6; }
 fi
 
-
-    test -n "$AR" && break
-  done
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
 fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$ac_ct_AR" && break
-done
 
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
 
-: ${AR=ar}
-: ${AR_FLAGS=cru}
 
 
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
 
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
 
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
 
 
 
 
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
 
-test -z "$STRIP" && STRIP=:
 
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+printf %s "checking for sysroot... " >&6; }
 
+# Check whether --with-sysroot was given.
+if test ${with_sysroot+y}
+then :
+  withval=$with_sysroot;
+else $as_nop
+  with_sysroot=no
+fi
 
 
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+printf "%s\n" "$with_sysroot" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
 
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+printf "%s\n" "${lt_sysroot:-no}" >&6; }
 
 
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+printf %s "checking for a working dd... " >&6; }
+if test ${ac_cv_path_lt_DD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+  ac_path_lt_DD_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in dd
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+      ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+      $ac_path_lt_DD_found && break 3
+    done
+  done
   done
 IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
+  if test -z "$ac_cv_path_lt_DD"; then
+    :
   fi
 else
-  RANLIB="$ac_cv_prog_RANLIB"
+  ac_cv_path_lt_DD=$lt_DD
 fi
 
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+rm -f conftest.i conftest2.i conftest.out
 fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+printf "%s\n" "$ac_cv_path_lt_DD" >&6; }
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+printf %s "checking how to truncate binary pipes... " >&6; }
+if test ${lt_cv_truncate_bin+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+printf "%s\n" "$lt_cv_truncate_bin" >&6; }
 
 
 
 
 
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
 
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+# Check whether --enable-libtool-lock was given.
+if test ${enable_libtool_lock+y}
+then :
+  enableval=$enable_libtool_lock;
+fi
 
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
 
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE=32
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE=64
+       ;;
+    esac
   fi
+  rm -rf conftest*
   ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
   ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+       emul="${emul}32"
+       ;;
+      *64-bit*)
+       emul="${emul}64"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+       emul="${emul}btsmip"
+       ;;
+      *LSB*)
+       emul="${emul}ltsmip"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+       emul="${emul}n32"
+       ;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
   ;;
-esac
 
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
+           ;;
+         powerpc64le-*linux*)
+           LD="${LD-ld} -m elf32lppclinux"
+           ;;
+         powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         powerpcle-*linux*)
+           LD="${LD-ld} -m elf64lppc"
+           ;;
+         powerpc-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
 
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+printf %s "checking whether the C compiler needs -belf... " >&6; }
+if test ${lt_cv_cc_needs_belf+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  # Check to see that the pipe works correctly.
-  pipe_works=no
+int
+main (void)
+{
 
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
+  ;
+  return 0;
 }
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  lt_cv_cc_needs_belf=yes
+else $as_nop
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
        fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
+       ;;
+      esac
+      ;;
+    esac
   fi
-  rm -rf conftest* conftst*
+  rm -rf conftest*
+  ;;
+esac
 
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
+need_locks=$enable_libtool_lock
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_MANIFEST_TOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
   fi
 done
+  done
+IFS=$as_save_IFS
 
 fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
 fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+printf "%s\n" "$MANIFEST_TOOL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
 
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if test ${lt_cv_path_mainfest_tool+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
 
 
 
 
 
 
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DSYMUTIL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+printf "%s\n" "$DSYMUTIL" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DSYMUTIL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+printf "%s\n" "$ac_ct_DSYMUTIL" >&6; }
 else
-  with_sysroot=no
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
 
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_NMEDIT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9234,38 +10707,43 @@ IFS=$as_save_IFS
 
 fi
 fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+printf "%s\n" "$NMEDIT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_NMEDIT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9274,262 +10752,55 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+printf "%s\n" "$ac_ct_NMEDIT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+    NMEDIT=$ac_ct_NMEDIT
   fi
 else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+  NMEDIT="$ac_cv_prog_NMEDIT"
 fi
 
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_LIPO+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 LIPO=$ac_cv_prog_LIPO
 if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+printf "%s\n" "$LIPO" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -9553,11 +10824,12 @@ if test -z "$ac_cv_prog_LIPO"; then
   ac_ct_LIPO=$LIPO
   # Extract the first word of "lipo", so it can be a program name with args.
 set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_LIPO+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_LIPO"; then
   ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
 else
@@ -9565,11 +10837,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
 if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+printf "%s\n" "$ac_ct_LIPO" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_LIPO" = x; then
@@ -9592,8 +10868,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     LIPO=$ac_ct_LIPO
     if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
 set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OTOOL"; then
   ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
 else
@@ -9617,11 +10894,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 OTOOL=$ac_cv_prog_OTOOL
 if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+printf "%s\n" "$OTOOL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -9645,11 +10926,12 @@ if test -z "$ac_cv_prog_OTOOL"; then
   ac_ct_OTOOL=$OTOOL
   # Extract the first word of "otool", so it can be a program name with args.
 set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OTOOL"; then
   ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
 else
@@ -9657,11 +10939,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
 if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+printf "%s\n" "$ac_ct_OTOOL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OTOOL" = x; then
@@ -9684,8 +10970,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OTOOL=$ac_ct_OTOOL
     if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL64+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OTOOL64"; then
   ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
 else
@@ -9709,11 +10996,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 OTOOL64=$ac_cv_prog_OTOOL64
 if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+printf "%s\n" "$OTOOL64" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -9737,11 +11028,12 @@ if test -z "$ac_cv_prog_OTOOL64"; then
   ac_ct_OTOOL64=$OTOOL64
   # Extract the first word of "otool64", so it can be a program name with args.
 set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL64+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OTOOL64"; then
   ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
 else
@@ -9749,11 +11041,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
 if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+printf "%s\n" "$ac_ct_OTOOL64" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OTOOL64" = x; then
@@ -9776,8 +11072,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OTOOL64=$ac_ct_OTOOL64
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+printf %s "checking for -single_module linker flag... " >&6; }
+if test ${lt_cv_apple_cc_single_mod+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
+      if test -z "$LT_MULTI_MODULE"; then
        # By default we will add the -single_module flag. You can override
        # by either setting the environment variable LT_MULTI_MODULE
        # non-empty at configure time, or by adding -multi_module to the
@@ -9836,7 +11133,7 @@ else
          cat conftest.err >&5
        # Otherwise, if the output was created with a 0 exit code from
        # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
          lt_cv_apple_cc_single_mod=yes
        else
          cat conftest.err >&5
@@ -9845,14 +11142,15 @@ else
        rm -f conftest.*
       fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; }
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+printf %s "checking for -exported_symbols_list linker flag... " >&6; }
+if test ${lt_cv_ld_exported_symbols_list+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_ld_exported_symbols_list=no
       save_LDFLAGS=$LDFLAGS
       echo "_main" > conftest.sym
@@ -9861,39 +11159,41 @@ else
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   lt_cv_ld_exported_symbols_list=yes
-else
+else $as_nop
   lt_cv_ld_exported_symbols_list=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
+       LDFLAGS=$save_LDFLAGS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; }
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+printf %s "checking for -force_load linker flag... " >&6; }
+if test ${lt_cv_ld_force_load+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_ld_force_load=no
       cat > conftest.c << _LT_EOF
 int forced_loaded() { return 2;}
 _LT_EOF
       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
+      echo "$AR cr libconftest.a conftest.o" >&5
+      $AR cr libconftest.a conftest.o 2>&5
       echo "$RANLIB libconftest.a" >&5
       $RANLIB libconftest.a 2>&5
       cat > conftest.c << _LT_EOF
@@ -9904,7 +11204,7 @@ _LT_EOF
       _lt_result=$?
       if test -s conftest.err && $GREP force_load conftest.err; then
        cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
        lt_cv_ld_force_load=yes
       else
        cat conftest.err >&5
@@ -9913,36 +11213,36 @@ _LT_EOF
         rm -rf conftest.dSYM
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+printf "%s\n" "$lt_cv_ld_force_load" >&6; }
     case $host_os in
     rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     darwin*) # darwin 5.x on
       # if running on 10.5 or later, the deployment target defaults
       # to the OS version, if on x86, and 10.4, the deployment
       # target defaults to 10.4. Don't you love it?
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.0,*86*-darwin8*|10.0,*-darwin[912]*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+       10.[012][,.]*)
+         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+       10.*|11.*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
       esac
     ;;
   esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
       _lt_dar_single_mod='$single_module'
     fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -9950,64 +11250,426 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
     ;;
   esac
 
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
+if test "x$ac_cv_header_dlfcn_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h
 
 fi
 
-done
-
 
 
 
 
 # Set options
+enable_win32_dll=yes
 
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AS+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$AS"; then
+  ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AS="${ac_tool_prefix}as"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-
-        enable_dlopen=no
-
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+printf "%s\n" "$AS" >&6; }
 else
-  enable_shared=yes
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
+fi
+if test -z "$ac_cv_prog_AS"; then
+  ac_ct_AS=$AS
+  # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AS+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_AS"; then
+  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AS="as"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+printf "%s\n" "$ac_ct_AS" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_AS" = x; then
+    AS="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AS=$ac_ct_AS
+  fi
+else
+  AS="$ac_cv_prog_AS"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DLLTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+printf "%s\n" "$DLLTOOL" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OBJDUMP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+printf "%s\n" "$OBJDUMP" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+  ;;
+esac
+
+test -z "$AS" && AS=as
+
+
+
+
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+        enable_dlopen=no
+
+
+
+            # Check whether --enable-shared was given.
+if test ${enable_shared+y}
+then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+       IFS=$lt_save_ifs
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else $as_nop
+  enable_shared=yes
+fi
+
+
+
+
+
 
 
 
 
-
-
-
   # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
+if test ${enable_static+y}
+then :
   enableval=$enable_static; p=${PACKAGE-default}
     case $enableval in
     yes) enable_static=yes ;;
@@ -10015,17 +11677,17 @@ if test "${enable_static+set}" = set; then :
     *)
      enable_static=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_static=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
-else
+else $as_nop
   enable_static=yes
 fi
 
 
 
 # Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
+if test ${with_pic+y}
+then :
   withval=$with_pic; lt_p=${PACKAGE-default}
     case $withval in
     yes|no) pic_mode=$withval ;;
     *)
       pic_mode=default
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$lt_pkg" = "X$lt_p"; then
          pic_mode=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
-else
+else $as_nop
   pic_mode=default
 fi
 
 
-test -z "$pic_mode" && pic_mode=default
-
 
 
 
@@ -10070,7 +11731,8 @@ test -z "$pic_mode" && pic_mode=default
 
 
   # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
+if test ${enable_fast_install+y}
+then :
   enableval=$enable_fast_install; p=${PACKAGE-default}
     case $enableval in
     yes) enable_fast_install=yes ;;
@@ -10078,17 +11740,17 @@ if test "${enable_fast_install+set}" = set; then :
     *)
       enable_fast_install=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_fast_install=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
-else
+else $as_nop
   enable_fast_install=yes
 fi
 
 
 
 
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+printf %s "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test ${with_aix_soname+y}
+then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else $as_nop
+  if test ${lt_cv_with_aix_soname+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+printf "%s\n" "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
 
 
 
 # This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
 
 # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -10152,15 +11868,16 @@ test -z "$LN_S" && LN_S="ln -s"
 
 
 
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+printf %s "checking for objdir... " >&6; }
+if test ${lt_cv_objdir+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   rm -f .libs 2>/dev/null
 mkdir .libs 2>/dev/null
 if test -d .libs; then
@@ -10171,17 +11888,15 @@ else
 fi
 rmdir .libs 2>/dev/null
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+printf "%s\n" "$lt_cv_objdir" >&6; }
 objdir=$lt_cv_objdir
 
 
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
+printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h
 
 
 
@@ -10191,7 +11906,7 @@ aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
+  if test set != "${COLLECT_NAMES+set}"; then
     COLLECT_NAMES=
     export COLLECT_NAMES
   fi
@@ -10202,14 +11917,14 @@ esac
 ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
 
 # Set sane defaults for various variables
 test -z "$CC" && CC=cc
@@ -10218,15 +11933,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$LD" && LD=ld
 test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
 
 # Only perform the check for file, if the check method requires it
@@ -10234,29 +11942,30 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+printf %s "checking for ${ac_tool_prefix}file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $MAGIC_CMD in
 [\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+    if test -f "$ac_dir/${ac_tool_prefix}file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
            :
@@ -10279,19 +11988,19 @@ _LT_EOF
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac
 fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+printf %s "checking for file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $MAGIC_CMD in
 [\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+    if test -f "$ac_dir/file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
            :
@@ -10345,19 +12055,19 @@ _LT_EOF
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac
 fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10372,7 +12082,7 @@ esac
 
 # Use C for the default configuration in the libtool script
 
-lt_save_CC="$CC"
+lt_save_CC=$CC
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -10434,7 +12144,7 @@ if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $cc_basename in
   nvcc*)
     lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
@@ -10442,15 +12152,16 @@ if test "$GCC" = yes; then
     lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
   esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test ${lt_cv_prog_compiler_rtti_exceptions+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_rtti_exceptions=no
    ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -10477,10 +12188,10 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
     lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
 else
     :
@@ -10498,17 +12209,18 @@ lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
 
-  if test "$GCC" = yes; then
+  if test yes = "$GCC"; then
     lt_prog_compiler_wl='-Wl,'
     lt_prog_compiler_static='-static'
 
     case $host_os in
       aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        lt_prog_compiler_static='-Bstatic'
       fi
+      lt_prog_compiler_pic='-fPIC'
       ;;
 
     amigaos*)
@@ -10519,8 +12231,8 @@ lt_prog_compiler_static=
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -10536,6 +12248,11 @@ lt_prog_compiler_static=
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+       lt_prog_compiler_static='$wl-static'
+       ;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -10606,7 +12323,7 @@ lt_prog_compiler_static=
     case $host_os in
     aix*)
       lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        lt_prog_compiler_static='-Bstatic'
       else
@@ -10614,10 +12331,29 @@ lt_prog_compiler_static=
       fi
       ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        lt_prog_compiler_wl='-Wl,-Wl,,'
+        lt_prog_compiler_pic='-PIC'
+        lt_prog_compiler_static='-Bstatic'
+        ;;
+      esac
+      ;;
+
     mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+       lt_prog_compiler_static='$wl-static'
+       ;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -10633,7 +12369,7 @@ lt_prog_compiler_static=
        ;;
       esac
       # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      lt_prog_compiler_static='$wl-a ${wl}archive'
       ;;
 
     irix5* | irix6* | nonstopux*)
@@ -10642,16 +12378,22 @@ lt_prog_compiler_static=
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
+      # old Intel for x86_64, which still supported -KPIC.
       ecc*)
        lt_prog_compiler_wl='-Wl,'
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-static'
         ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
+      # flang / f18. f95 an alias for gfortran or flang on Debian
+      flang* | f18* | f95*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
        lt_prog_compiler_wl='-Wl,'
        lt_prog_compiler_pic='-fPIC'
@@ -10669,6 +12411,12 @@ lt_prog_compiler_static=
        lt_prog_compiler_pic='-PIC'
        lt_prog_compiler_static='-Bstatic'
        ;;
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+       ;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
@@ -10766,7 +12514,7 @@ lt_prog_compiler_static=
       ;;
 
     sysv4*MP*)
-      if test -d /usr/nec ;then
+      if test -d /usr/necthen
        lt_prog_compiler_pic='-Kconform_pic'
        lt_prog_compiler_static='-Bstatic'
       fi
@@ -10795,7 +12543,7 @@ lt_prog_compiler_static=
   fi
 
 case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
+  # For platforms that do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic=
     ;;
@@ -10804,30 +12552,32 @@ case $host_os in
     ;;
 esac
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+printf %s "checking for $compiler option to produce PIC... " >&6; }
+if test ${lt_cv_prog_compiler_pic+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; }
 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test ${lt_cv_prog_compiler_pic_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_pic_works=no
    ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -10854,10 +12604,10 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
     case $lt_prog_compiler_pic in
      "" | " "*) ;;
      *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test ${lt_cv_prog_compiler_static_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -10908,13 +12659,13 @@ else
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works"; then
     :
 else
     lt_prog_compiler_static=
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_c_o=no
    $RM -r conftest 2>/dev/null
    mkdir conftest
@@ -10973,19 +12725,20 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler_c_o=no
    $RM -r conftest 2>/dev/null
    mkdir conftest
@@ -11028,28 +12781,28 @@ else
    $RM conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
 
 
 
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
   # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+printf %s "checking if we can lock with hard links... " >&6; }
   hard_links=yes
   $RM conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+printf "%s\n" "$hard_links" >&6; }
+  if test no = "$hard_links"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     need_locks=warn
   fi
 else
@@ -11061,8 +12814,8 @@ fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
   runpath_var=
   allow_undefined_flag=
@@ -11092,9 +12845,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   # included in the symbol list
   include_expsyms=
   # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
   exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
@@ -11109,7 +12862,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       with_gnu_ld=no
     fi
     ;;
@@ -11117,7 +12870,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     # we just hope/assume this is gcc and not c89 (= MSVC++)
     with_gnu_ld=yes
     ;;
-  openbsd*)
+  openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
   linux* | k*bsd*-gnu | gnu*)
@@ -11130,7 +12883,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   # On some targets, GNU ld is compatible enough with the native linker
   # that we're better off using the native interface for both.
   lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     case $host_os in
       aix*)
        # The AIX port of GNU ld has always aspired to compatibility
@@ -11152,24 +12905,24 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     esac
   fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
+  if test yes = "$lt_use_gnu_ld_interface"; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+    wlarc='$wl'
 
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
     runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
+    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+    export_dynamic_flag_spec='$wl--export-dynamic'
     # ancient GNU ld didn't support --whole-archive et. al.
     if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     else
       whole_archive_flag_spec=
     fi
     supports_anon_versioning=no
-    case `$LD -v 2>&1` in
+    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
       *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -11182,7 +12935,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     case $host_os in
     aix[3-9]*)
       # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
+      if test ia64 != "$host_cpu"; then
        ld_shlibs=no
        cat <<_LT_EOF 1>&2
 
@@ -11201,7 +12954,7 @@ _LT_EOF
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             archive_expsym_cmds=''
         ;;
       m68k)
@@ -11217,7 +12970,7 @@ _LT_EOF
        allow_undefined_flag=unsupported
        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
        # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       else
        ld_shlibs=no
       fi
@@ -11227,7 +12980,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
       # as there is no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
+      export_dynamic_flag_spec='$wl--export-all-symbols'
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
@@ -11235,61 +12988,89 @@ _LT_EOF
       exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file, use it as
+       # is; otherwise, prepend EXPORTS...
+       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        ld_shlibs=no
       fi
       ;;
 
     haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       link_all_deplibs=yes
       ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
+      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+      export_dynamic_flag_spec='$wl-E'
       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
       # Instead, shared libraries are loaded at an image base (0x10000000 by
       # default) and relocated if they conflict, which is a slow very memory
       # consuming and fragmenting process.  To avoid this, we pick a random,
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
+      if test linux-dietlibc = "$host_os"; then
        case $cc_basename in
          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
        esac
       fi
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
+        && test no = "$tmp_diet"
       then
        tmp_addflag=' $pic_flag'
        tmp_sharedflag='-shared'
        case $cc_basename,$host_cpu in
         pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* | pgf95* | pgfortran*)
                                        # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -11300,42 +13081,47 @@ _LT_EOF
        lf95*)                          # Lahey Fortran 8.1
          whole_archive_flag_spec=
          tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
        xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
          tmp_sharedflag='-qmkshrobj'
          tmp_addflag= ;;
        nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          compiler_needs_object=yes
          ;;
        esac
        case `$CC -V 2>&1 | sed 5q` in
        *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          compiler_needs_object=yes
          tmp_sharedflag='-G' ;;
        *Sun\ F*)                       # Sun Fortran 8.3
          tmp_sharedflag='-G' ;;
        esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
+        if test yes = "$supports_anon_versioning"; then
           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
         fi
 
        case $cc_basename in
+       tcc*)
+         export_dynamic_flag_spec='-rdynamic'
+         ;;
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+         hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
          archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
+         if test yes = "$supports_anon_versioning"; then
            archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
          fi
          ;;
        esac
@@ -11349,8 +13135,8 @@ _LT_EOF
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
       else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -11368,8 +13154,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        ld_shlibs=no
       fi
@@ -11381,7 +13167,7 @@ _LT_EOF
        ld_shlibs=no
        cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
 *** reliably create shared libraries on SCO systems.  Therefore, libtool
 *** is disabling shared libraries support.  We urge you to upgrade GNU
 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
@@ -11396,9 +13182,9 @@ _LT_EOF
          # DT_RUNPATH tag from executables and libraries.  But doing so
          # requires that you compile everything twice, which is a pain.
          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+           hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
          else
            ld_shlibs=no
          fi
@@ -11415,15 +13201,15 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        ld_shlibs=no
       fi
       ;;
     esac
 
-    if test "$ld_shlibs" = no; then
+    if test no = "$ld_shlibs"; then
       runpath_var=
       hardcode_libdir_flag_spec=
       export_dynamic_flag_spec=
@@ -11439,7 +13225,7 @@ _LT_EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        hardcode_direct=unsupported
@@ -11447,34 +13233,57 @@ _LT_EOF
       ;;
 
     aix[4-9]*)
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # On IA64, the linker does run time linking by default, so we don't
        # have to do anything special.
        aix_use_runtimelinking=no
        exp_sym_flag='-Bexport'
-       no_entry_flag=""
+       no_entry_flag=
       else
        # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
+       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+       # Without the "-l" option, or with the "-B" option, AIX nm treats
+       # weak defined symbols like other global defined symbols, whereas
+       # GNU nm marks them as "W".
+       # While the 'weak' keyword is ignored in the Export File, we need
+       # it in the Import File for the 'aix-soname' feature, so we have
+       # to replace the "-B" option with "-P" for AIX nm.
        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
        else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
        fi
        aix_use_runtimelinking=no
 
        # Test if we are trying to use run time linking or normal
        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
+       # have runtime linking enabled, and use it for executables.
+       # For shared libraries, we enable/disable runtime linking
+       # depending on the kind of the shared library created -
+       # when "with_aix_soname,aix_use_runtimelinking" is:
+       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "aix,yes"  lib.so          shared, rtl:yes, for executables
+       #            lib.a           static archive
+       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+       #            lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a(lib.so.V) shared, rtl:no
+       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a           static archive
        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
          for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
            aix_use_runtimelinking=yes
            break
          fi
          done
+         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+           # With aix-soname=svr4, we create the lib.so.V shared archives only,
+           # so we don't have lib.a shared libs to link our executables.
+           # We have to force runtime linking in this case.
+           aix_use_runtimelinking=yes
+           LDFLAGS="$LDFLAGS -Wl,-brtl"
+         fi
          ;;
        esac
 
@@ -11493,13 +13302,21 @@ _LT_EOF
       hardcode_direct_absolute=yes
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
+      file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+       # The Import File defines what to hardcode.
+       hardcode_direct=no
+       hardcode_direct_absolute=no
+       ;;
+      esac
 
-      if test "$GCC" = yes; then
+      if test yes = "$GCC"; then
        case $host_os in aix4.[012]|aix4.[012].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
+         collect2name=`$CC -print-prog-name=collect2`
          if test -f "$collect2name" &&
           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
          then
@@ -11518,53 +13335,61 @@ _LT_EOF
          ;;
        esac
        shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
+       if test yes = "$aix_use_runtimelinking"; then
+         shared_flag="$shared_flag "'$wl-G'
        fi
-       link_all_deplibs=no
+       # Need to ensure runtime linking is disabled for the traditional
+       # shared library, or the linker may eventually find shared libraries
+       # /with/ Import File - we do not want to mix them.
+       shared_flag_aix='-shared'
+       shared_flag_svr4='-shared $wl-G'
       else
        # not using gcc
-       if test "$host_cpu" = ia64; then
+       if test ia64 = "$host_cpu"; then
        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag='$wl-G'
          else
-           shared_flag='${wl}-bM:SRE'
+           shared_flag='$wl-bM:SRE'
          fi
+         shared_flag_aix='$wl-bM:SRE'
+         shared_flag_svr4='$wl-G'
        fi
       fi
 
-      export_dynamic_flag_spec='${wl}-bexpall'
+      export_dynamic_flag_spec='$wl-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
        # Warning - without using the other runtime loading flags (-brtl),
        # -berok will link without error, but may produce a broken library.
        allow_undefined_flag='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
+        if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${lt_cv_aix_libpath_+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
 
   lt_aix_libpath_sed='
       /Import File Strings/,/^$/ {
@@ -11579,10 +13404,10 @@ if ac_fn_c_try_link "$LINENO"; then :
     lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
   fi
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
   if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
+    lt_cv_aix_libpath_=/usr/lib:/lib
   fi
 
 fi
   aix_libpath=$lt_cv_aix_libpath_
 fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
       else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+       if test ia64 = "$host_cpu"; then
+         hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
          allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
+        if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${lt_cv_aix_libpath_+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
 
   lt_aix_libpath_sed='
       /Import File Strings/,/^$/ {
@@ -11632,10 +13459,10 @@ if ac_fn_c_try_link "$LINENO"; then :
     lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
   fi
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
   if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
+    lt_cv_aix_libpath_=/usr/lib:/lib
   fi
 
 fi
   aix_libpath=$lt_cv_aix_libpath_
 fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
          # Warning - without using the other run time loading flags,
          # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
+         no_undefined_flag=' $wl-bernotok'
+         allow_undefined_flag=' $wl-berok'
+         if test yes = "$with_gnu_ld"; then
            # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
          else
            # Exported symbols can be pulled into shared objects from archives
            whole_archive_flag_spec='$convenience'
          fi
          archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+         # -brtl affects multiple linker settings, -berok does not and is overridden later
+         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+         if test svr4 != "$with_aix_soname"; then
+           # This is similar to how AIX traditionally builds its shared libraries.
+           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+         fi
+         if test aix != "$with_aix_soname"; then
+           archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+         else
+           # used by -dlpreopen to get the symbols
+           archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+         fi
+         archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
        fi
       fi
       ;;
@@ -11666,7 +13505,7 @@ fi
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             archive_expsym_cmds=''
         ;;
       m68k)
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
+       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+       archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
        enable_shared_with_static_runtimes=yes
        # Don't use ranlib
        old_postinstall_cmds='chmod 644 $oldlib'
        postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
        ;;
       *)
        # Assume MSVC wrapper
@@ -11734,7 +13574,7 @@ fi
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
        archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
        # The linker will automatically build a .lib file if we build a DLL.
   hardcode_direct=no
   hardcode_automatic=yes
   hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
 
   else
     whole_archive_flag_spec=''
   fi
   link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
+  allow_undefined_flag=$_lt_dar_allow_undefined
   case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
      *) _lt_dar_can_shared=$GCC ;;
   esac
-  if test "$_lt_dar_can_shared" = "yes"; then
+  if test yes = "$_lt_dar_can_shared"; then
     output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
 
   else
   ld_shlibs=no
       ;;
 
     hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      if test yes = "$GCC"; then
+       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
       hardcode_libdir_separator=:
       hardcode_direct=yes
 
       # hardcode_minus_L: Not really in the search PATH,
       # but as the default location of the library.
       hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
+      export_dynamic_flag_spec='$wl-E'
       ;;
 
     hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+       archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
        archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
        hardcode_libdir_separator=:
        hardcode_direct=yes
        hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
+       export_dynamic_flag_spec='$wl-E'
        # hardcode_minus_L: Not really in the search PATH,
        # but as the default location of the library.
        hardcode_minus_L=yes
       ;;
 
     hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+      if test yes,no = "$GCC,$with_gnu_ld"; then
        case $host_cpu in
        hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
        case $host_cpu in
        hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
 
          # Older versions of the 11.00 compiler do not understand -b yet
          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+printf %s "checking if $CC understands -b... " >&6; }
+if test ${lt_cv_prog_compiler__b+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS -b"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -11895,14 +13736,14 @@ else
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+printf "%s\n" "$lt_cv_prog_compiler__b" >&6; }
 
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+if test yes = "$lt_cv_prog_compiler__b"; then
+    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 else
     archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
 fi
@@ -11910,8 +13751,8 @@ fi
          ;;
        esac
       fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       hardcode_libdir_flag_spec='$wl+b $wl$libdir'
        hardcode_libdir_separator=:
 
        case $host_cpu in
@@ -11922,7 +13763,7 @@ fi
        *)
          hardcode_direct=yes
          hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
+         export_dynamic_flag_spec='$wl-E'
 
          # hardcode_minus_L: Not really in the search PATH,
          # but as the default location of the library.
       ;;
 
     irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
        # Try to use the -exported_symbol ld option, if it does not
        # work, assume that -exports_file does not work either and
        # implicitly export all symbols.
        # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if test ${lt_cv_irix_exported_symbol+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  save_LDFLAGS=$LDFLAGS
+          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 int foo (void) { return 0; }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   lt_cv_irix_exported_symbol=yes
-else
+else $as_nop
   lt_cv_irix_exported_symbol=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
+           LDFLAGS=$save_LDFLAGS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
+       if test yes = "$lt_cv_irix_exported_symbol"; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
+       link_all_deplibs=no
       else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
       fi
       archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       inherit_rpath=yes
       link_all_deplibs=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       ld_shlibs=yes
+       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      esac
+      ;;
+
     netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
@@ -11989,7 +13843,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
     newsos6)
       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       hardcode_shlibpath_var=no
       ;;
@@ -11997,27 +13851,19 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
     *nto* | *qnx*)
       ;;
 
-    openbsd*)
+    openbsd* | bitrig*)
       if test -f /usr/libexec/ld.so; then
        hardcode_direct=yes
        hardcode_shlibpath_var=no
        hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
+         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+         export_dynamic_flag_spec='$wl-E'
        else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
+         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         hardcode_libdir_flag_spec='$wl-rpath,$libdir'
        fi
       else
        ld_shlibs=no
@@ -12028,33 +13874,53 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
       ;;
 
     osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
       else
        allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
       fi
       archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       ;;
 
     osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      if test yes = "$GCC"; then
+       allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+       archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       else
        allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
        archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec='-rpath $libdir'
@@ -12065,24 +13931,24 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
 
     solaris*)
       no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       wlarc='$wl'
+       archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
        case `$CC -V 2>&1` in
        *"Compilers 5.0"*)
          wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
          ;;
        *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         wlarc='$wl'
+         archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
          ;;
        esac
       fi
@@ -12092,11 +13958,11 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
        # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but understands '-z linker_flag'.  GCC discards it without '$wl',
        # but is careful enough not to reorder.
        # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       if test yes = "$GCC"; then
+         whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
        else
          whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
        fi
@@ -12106,10 +13972,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       ;;
 
     sunos4*)
-      if test "x$host_vendor" = xsequent; then
+      if test sequent = "$host_vendor"; then
        # Use $CC to link under sequent, because it throws in some extra .o
        # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
       else
        archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
       fi
@@ -12158,43 +14024,43 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
+      no_undefined_flag='$wl-z,text'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
     sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
+      # Note: We CANNOT use -z defs as we might desire, because we do not
       # link with -lc, and that would cause any symbols used from libc to
       # always be unresolved, which means just about no library would
       # ever link correctly.  If we're not using GNU ld we use -z text
       # though, which does catch some bad symbols but isn't as heavy-handed
       # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
+      no_undefined_flag='$wl-z,text'
+      allow_undefined_flag='$wl-z,nodefs'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_flag_spec='$wl-R,$libdir'
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
+      export_dynamic_flag_spec='$wl-Bexport'
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
@@ -12209,18 +14075,18 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       ;;
     esac
 
-    if test x$host_vendor = xsni; then
+    if test sni = "$host_vendor"; then
       case $host in
       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
+       export_dynamic_flag_spec='$wl-Blargedynsym'
        ;;
       esac
     fi
   fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+printf "%s\n" "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
 
 with_gnu_ld=$with_gnu_ld
 
@@ -12246,7 +14112,7 @@ x|xyes)
   # Assume -lc should be added
   archive_cmds_need_lc=yes
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
+  if test yes,yes = "$GCC,$enable_shared"; then
     case $archive_cmds in
     *'~'*)
       # FIXME: we may have to deal with multi-command sequences.
@@ -12255,18 +14121,19 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+printf %s "checking whether -lc should be explicitly linked in... " >&6; }
+if test ${lt_cv_archive_cmds_need_lc+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   $RM conftest*
        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } 2>conftest.err; then
          soname=conftest
          lib=conftest
@@ -12284,7 +14151,7 @@ else
          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
   (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
          then
            lt_cv_archive_cmds_need_lc=no
@@ -12298,8 +14165,8 @@ else
        $RM conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; }
       archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
       ;;
     esac
@@ -12458,17 +14325,17 @@ esac
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+printf %s "checking dynamic linker characteristics... " >&6; }
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
   esac
   case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
   case $lt_search_path_spec in
@@ -12484,28 +14351,35 @@ if test "$GCC" = yes; then
     ;;
   esac
   # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
+  # and add multilib dir if necessary...
   lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
   for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
       test -d "$lt_sys_path" && \
        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
   lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
   for (lt_i = NF; lt_i > 0; lt_i--) {
     if ($lt_i != "" && $lt_i != ".") {
       if ($lt_i == "..") {
         lt_count++;
       } else {
         if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
+          lt_foo = "/" $lt_i lt_foo;
         } else {
           lt_count--;
         }
@@ -12519,7 +14393,7 @@ BEGIN {RS=" "; FS="/|\n";} {
   # for these hosts.
   case $host_os in
     mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
   esac
   sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
@@ -12528,7 +14402,7 @@ fi
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -12545,14 +14419,16 @@ hardcode_into_libs=no
 # flags to be left without arguments
 need_version=unknown
 
+
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
+  soname_spec='$libname$release$shared_ext$major'
   ;;
 
 aix[4-9]*)
@@ -12560,41 +14436,91 @@ aix[4-9]*)
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     shlibpath_var=LD_LIBRARY_PATH
   else
     # With GCC up to 2.95.x, collect2 would create an import file
     # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
       aix4 | aix4.[01] | aix4.[01].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
           echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
        :
       else
        can_build_shared=no
       fi
       ;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # If using run time linking (on AIX 4.2 or later) use lib<name>.so
       # instead of lib<name>.a to let people know that these are not
       # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
       # We preserve .a as extension for shared libraries through AIX4.2
       # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -12604,18 +14530,18 @@ amigaos*)
   powerpc)
     # Since July 2007 AmigaOS4 officially supports .so libraries.
     # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     ;;
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
 
 beos*)
-  library_names_spec='${libname}${shared_ext}'
+  library_names_spec='$libname$shared_ext'
   dynamic_linker="$host_os ld.so"
   shlibpath_var=LIBRARY_PATH
   ;;
@@ -12623,8 +14549,8 @@ beos*)
 bsdi[45]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -12636,7 +14562,7 @@ bsdi[45]*)
 
 cygwin* | mingw* | pw32* | cegcc*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext_cmds=.dll
   need_version=no
   need_lib_prefix=no
 
@@ -12645,8 +14571,8 @@ cygwin* | mingw* | pw32* | cegcc*)
     # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
@@ -12662,17 +14588,17 @@ cygwin* | mingw* | pw32* | cegcc*)
     case $host_os in
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
 
       sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
       ;;
     esac
     dynamic_linker='Win32 ld.exe'
@@ -12681,8 +14607,8 @@ cygwin* | mingw* | pw32* | cegcc*)
   *,cl*)
     # Native MSVC
     libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
 
     case $build_os in
     mingw*)
@@ -12709,7 +14635,7 @@ cygwin* | mingw* | pw32* | cegcc*)
       sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
       ;;
     *)
-      sys_lib_search_path_spec="$LIB"
+      sys_lib_search_path_spec=$LIB
       if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
         # It is most probably a Windows format PATH.
         sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -12722,8 +14648,8 @@ cygwin* | mingw* | pw32* | cegcc*)
     esac
 
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname'
@@ -12736,7 +14662,7 @@ cygwin* | mingw* | pw32* | cegcc*)
 
   *)
     # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     dynamic_linker='Win32 ld.exe'
     ;;
   esac
@@ -12749,8 +14675,8 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -12763,8 +14689,8 @@ dgux*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -12782,12 +14708,13 @@ freebsd* | dragonfly*)
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
     freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
   esac
@@ -12812,26 +14739,15 @@ freebsd* | dragonfly*)
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
+  shlibpath_overrides_runpath=no
   sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
@@ -12849,14 +14765,15 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -12864,8 +14781,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
@@ -12874,8 +14791,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     ;;
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -12888,8 +14805,8 @@ interix[3-9]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -12900,7 +14817,7 @@ irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
     *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
+       if test yes = "$lt_cv_prog_gnu_ld"; then
                version_type=linux # correct to gnu/linux during the next big refactor
        else
                version_type=irix
@@ -12908,8 +14825,8 @@ irix5* | irix6* | nonstopux*)
   esac
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
   case $host_os in
   irix5* | nonstopux*)
     libsuff= shlibsuff=
@@ -12928,8 +14845,8 @@ irix5* | irix6* | nonstopux*)
   esac
   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
   shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
   hardcode_into_libs=yes
   ;;
 
@@ -12938,21 +14855,42 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec='-L$libdir'
+  ;;
+
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${lt_cv_shlibpath_overrides_runpath+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   lt_cv_shlibpath_overrides_runpath=no
     save_LDFLAGS=$LDFLAGS
     save_libdir=$libdir
@@ -12962,19 +14900,21 @@ else
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+if ac_fn_c_try_link "$LINENO"
+then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
+then :
   lt_cv_shlibpath_overrides_runpath=yes
 fi
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
     LDFLAGS=$save_LDFLAGS
     libdir=$save_libdir
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -13020,12 +14965,12 @@ netbsd*)
   need_lib_prefix=no
   need_version=no
   if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
   shlibpath_var=LD_LIBRARY_PATH
@@ -13035,7 +14980,7 @@ netbsd*)
 
 newsos6)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   ;;
@@ -13044,58 +14989,68 @@ newsos6)
   version_type=qnx
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   dynamic_linker='ldqnx.so'
   ;;
 
-openbsd*)
+openbsd* | bitrig*)
   version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
+  sys_lib_dlsearch_path_spec=/usr/lib
   need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
   else
-    shlibpath_overrides_runpath=yes
+    need_version=yes
   fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   ;;
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
   ;;
 
 osf3* | osf4* | osf5*)
   version_type=osf
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
   ;;
 
 rdos*)
@@ -13106,8 +15061,8 @@ solaris*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
@@ -13117,11 +15072,11 @@ solaris*)
 
 sunos4*)
   version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     need_lib_prefix=no
   fi
   need_version=yes
@@ -13129,8 +15084,8 @@ sunos4*)
 
 sysv4 | sysv4.3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   case $host_vendor in
     sni)
@@ -13151,24 +15106,24 @@ sysv4 | sysv4.3*)
   ;;
 
 sysv4*MP*)
-  if test -d /usr/nec ;then
+  if test -d /usr/necthen
     version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
     shlibpath_var=LD_LIBRARY_PATH
   fi
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -13186,7 +15141,7 @@ tpf*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
@@ -13194,8 +15149,8 @@ tpf*)
 
 uts4*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -13203,22 +15158,31 @@ uts4*)
   dynamic_linker=no
   ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+printf "%s\n" "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+printf %s "checking how to hardcode library paths into programs... " >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" ||
    test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
+   test yes = "$hardcode_automatic"; then
 
   # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
+  if test no != "$hardcode_direct" &&
      # If the only mechanism to avoid hardcoding is shlibpath_var, we
      # have to relink, otherwise we might link with an installed library
      # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+     test no != "$hardcode_minus_L"; then
     # Linking always hardcodes the temporary library directory.
     hardcode_action=relink
   else
@@ -13335,15 +15305,15 @@ else
   # directories.
   hardcode_action=unsupported
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+printf "%s\n" "$hardcode_action" >&6; }
 
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
+if test relink = "$hardcode_action" ||
+   test yes = "$inherit_rpath"; then
   # Fast installation is not supported
   enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
   # Fast installation is not necessary
   enable_fast_install=needless
 fi
@@ -13353,7 +15323,7 @@ fi
 
 
 
-  if test "x$enable_dlopen" != xyes; then
+  if test yes != "$enable_dlopen"; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
   enable_dlopen_self_static=unknown
@@ -13363,28 +15333,29 @@ else
 
   case $host_os in
   beos*)
-    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen=load_add_on
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ;;
 
   mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen=LoadLibrary
     lt_cv_dlopen_libs=
     ;;
 
   cygwin*)
-    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen=dlopen
     lt_cv_dlopen_libs=
     ;;
 
   darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    # if libdl is installed we need to link against it
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13393,34 +15364,33 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char dlopen ();
 int
-main ()
+main (void)
 {
 return dlopen ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_dl_dlopen=yes
-else
+else $as_nop
   ac_cv_lib_dl_dlopen=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else $as_nop
 
-    lt_cv_dlopen="dyld"
+    lt_cv_dlopen=dyld
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
 
 
     ;;
 
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test "x$ac_cv_func_shl_load" = xyes
+then :
+  lt_cv_dlopen=shl_load
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+printf %s "checking for shl_load in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_shl_load+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13446,41 +15426,42 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char shl_load ();
 int
-main ()
+main (void)
 {
 return shl_load ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_dld_shl_load=yes
-else
+else $as_nop
   ac_cv_lib_dld_shl_load=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes
+then :
+  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else $as_nop
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test "x$ac_cv_func_dlopen" = xyes
+then :
+  lt_cv_dlopen=dlopen
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13489,37 +15470,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char dlopen ();
 int
-main ()
+main (void)
 {
 return dlopen ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_dl_dlopen=yes
-else
+else $as_nop
   ac_cv_lib_dl_dlopen=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+printf %s "checking for dlopen in -lsvld... " >&6; }
+if test ${ac_cv_lib_svld_dlopen+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsvld  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13528,37 +15509,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char dlopen ();
 int
-main ()
+main (void)
 {
 return dlopen ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_svld_dlopen=yes
-else
+else $as_nop
   ac_cv_lib_svld_dlopen=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes
+then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+printf %s "checking for dld_link in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_dld_link+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13567,31 +15548,30 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char dld_link ();
 int
-main ()
+main (void)
 {
 return dld_link ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_dld_dld_link=yes
-else
+else $as_nop
   ac_cv_lib_dld_dld_link=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes
+then :
+  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
 fi
 
 
     ;;
   esac
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
+  if test no = "$lt_cv_dlopen"; then
     enable_dlopen=no
+  else
+    enable_dlopen=yes
   fi
 
   case $lt_cv_dlopen in
   dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
-    save_LDFLAGS="$LDFLAGS"
+    save_LDFLAGS=$LDFLAGS
     wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
-    save_LIBS="$LIBS"
+    save_LIBS=$LIBS
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+printf %s "checking whether a program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+         if test yes = "$cross_compiling"; then :
   lt_cv_dlopen_self=cross
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -13681,9 +15662,9 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -13712,8 +15693,8 @@ _LT_EOF
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -13730,17 +15711,18 @@ rm -fr conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+printf "%s\n" "$lt_cv_dlopen_self" >&6; }
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
+    if test yes = "$lt_cv_dlopen_self"; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+printf %s "checking whether a statically linked program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self_static+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+         if test yes = "$cross_compiling"; then :
   lt_cv_dlopen_self_static=cross
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -13787,9 +15769,9 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -13818,8 +15800,8 @@ _LT_EOF
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -13836,13 +15818,13 @@ rm -fr conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+printf "%s\n" "$lt_cv_dlopen_self_static" >&6; }
     fi
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
     ;;
   esac
 
 
 striplib=
 old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+printf %s "checking whether stripping libraries is possible... " >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
   darwin*)
-    if test -n "$STRIP" ; then
+    if test -n "$STRIP"; then
       striplib="$STRIP -x"
       old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
     else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
     fi
     ;;
   *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
     ;;
   esac
 fi
 
 
 
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
+  # Report what library types will actually be built
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+printf %s "checking if libtool supports shared libraries... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+printf "%s\n" "$can_build_shared" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+printf %s "checking whether to build shared libraries... " >&6; }
+  test no = "$can_build_shared" && enable_shared=no
 
   # On AIX, shared libraries and static libraries use the same namespace, and
   # are all built from PIC.
   case $host_os in
   aix3*)
-    test "$enable_shared" = yes && enable_static=no
+    test yes = "$enable_shared" && enable_static=no
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
@@ -13936,20 +15918,24 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
     ;;
 
   aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;                  # shared object as lib.so file only
+      yes,svr4,*) ;;                   # shared object as lib.so archive member only
+      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+printf "%s\n" "$enable_shared" >&6; }
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+printf %s "checking whether to build static libraries... " >&6; }
   # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
+  test yes = "$enable_shared" || enable_static=yes
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+printf "%s\n" "$enable_static" >&6; }
 
 
 
@@ -13961,7 +15947,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-CC="$lt_save_CC"
+CC=$lt_save_CC
 
 
 
@@ -13986,539 +15972,671 @@ CC="$lt_save_CC"
 
 
 
-# Checks for programs.
-
 PERL=${PERL-"${am_missing_run}perl"}
 
 
 HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
-    # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
-  enableval=$enable_nls; USE_NLS=$enableval
-else
-  USE_NLS=yes
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
-      GETTEXT_MACRO_VERSION=0.18
+      if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
 
 
 
+# Check whether --with-gnu-ld was given.
+if test ${with_gnu_ld+y}
+then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else $as_nop
+  with_gnu_ld=no
+fi
 
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
+if test -n "$LD"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld" >&5
+printf %s "checking for ld... " >&6; }
+elif test "$GCC" = yes; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
+elif test "$with_gnu_ld" = yes; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
 else
-  ac_executable_p="test -f"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
 fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
+if test -n "$LD"; then
+  # Let the user override the test with a path.
+  :
 else
-  case "$MSGFMT" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&5
-          if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
+  if test ${acl_cv_path_LD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    acl_cv_path_LD= # Final result of this test
+    ac_prog=ld # Program to search in $PATH
+    if test "$GCC" = yes; then
+      # Check if gcc -print-prog-name=ld gives a path.
+      case $host in
+        *-*-mingw* | windows*)
+          # gcc leaves a trailing carriage return which upsets mingw
+          acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+        *)
+          acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
+      esac
+      case $acl_output in
+        # Accept absolute paths.
+        [\\/]* | ?:[\\/]*)
+          re_direlt='/[^/][^/]*/\.\./'
+          # Canonicalize the pathname of ld
+          acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
+          while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
+            acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
+          done
+          # Got the pathname. No search in PATH is needed.
+          acl_cv_path_LD="$acl_output"
+          ac_prog=
+          ;;
+        "")
+          # If it fails, then pretend we aren't using GCC.
+          ;;
+        *)
+          # If it is relative, then search for the first ld in PATH.
+          with_gnu_ld=unknown
+          ;;
+      esac
+    fi
+    if test -n "$ac_prog"; then
+      # Search for $ac_prog in $PATH.
+      acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+      for ac_dir in $PATH; do
+        IFS="$acl_save_ifs"
+        test -z "$ac_dir" && ac_dir=.
+        if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+          acl_cv_path_LD="$ac_dir/$ac_prog"
+          # Check to see if the program is GNU ld.  I'd rather use --version,
+          # but apparently some variants of GNU ld only accept -v.
+          # Break only if it was the GNU/non-GNU ld that we prefer.
+          case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+            *GNU* | *'with BFD'*)
+              test "$with_gnu_ld" != no && break
+              ;;
+            *)
+              test "$with_gnu_ld" != yes && break
+              ;;
+          esac
         fi
       done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
-    ;;
-esac
+      IFS="$acl_save_ifs"
+    fi
+    case $host in
+      *-*-aix*)
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __powerpc64__ || defined __LP64__
+                int ok;
+               #else
+                error fail
+               #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  # The compiler produces 64-bit code. Add option '-b64' so that the
+           # linker groks 64-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -b64 "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
+           esac
+
 fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+        ;;
+      sparc64-*-netbsd*)
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __sparcv9 || defined __arch64__
+                int ok;
+               #else
+                error fail
+               #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  # The compiler produces 32-bit code. Add option '-m elf32_sparc'
+           # so that the linker groks 32-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -m elf32_sparc "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
+           esac
+
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+        ;;
+    esac
 
-  # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GMSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GMSGFMT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+fi
 
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  LD="$acl_cv_path_LD"
+fi
+if test -n "$LD"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+  as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${acl_cv_prog_gnu_ld+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
   ;;
 esac
 fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
 
-    case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
-    *) MSGFMT_015=$MSGFMT ;;
-  esac
 
-  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
-    *) GMSGFMT_015=$GMSGFMT ;;
-  esac
 
 
 
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
+                                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+printf %s "checking for shared library run path origin... " >&6; }
+if test ${acl_cv_rpath+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
 
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$XGETTEXT" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&5
-          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-    ;;
-esac
 fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+printf "%s\n" "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+    # Check whether --enable-rpath was given.
+if test ${enable_rpath+y}
+then :
+  enableval=$enable_rpath; :
+else $as_nop
+  enable_rpath=yes
 fi
 
-    rm -f messages.po
 
-    case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
-    *) XGETTEXT_015=$XGETTEXT ;;
-  esac
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5
+printf %s "checking 32-bit host C ABI... " >&6; }
+if test ${gl_cv_host_cpu_c_abi_32bit+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$gl_cv_host_cpu_c_abi"; then
+              case "$gl_cv_host_cpu_c_abi" in
+         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+           gl_cv_host_cpu_c_abi_32bit=yes ;;
+         x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+           gl_cv_host_cpu_c_abi_32bit=no ;;
+         *)
+           gl_cv_host_cpu_c_abi_32bit=unknown ;;
+       esac
+     else
+       case "$host_cpu" in
+
+         # CPUs that only support a 32-bit ABI.
+         arc \
+         | bfin \
+         | cris* \
+         | csky \
+         | epiphany \
+         | ft32 \
+         | h8300 \
+         | m68k \
+         | microblaze | microblazeel \
+         | nds32 | nds32le | nds32be \
+         | nios2 | nios2eb | nios2el \
+         | or1k* \
+         | or32 \
+         | sh | sh1234 | sh1234elb \
+         | tic6x \
+         | xtensa* )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         # CPUs that only support a 64-bit ABI.
+         alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+         | mmix )
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+
+         i[34567]86 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         x86_64 )
+           # On x86_64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+           #   with native Windows (mingw, MSVC).
+           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         arm* | aarch64 | aarch64c )
+           # Assume arm with EABI.
+           # On arm64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+           # On hppa, the C compiler may be generating 32-bit code or 64-bit
+           # code. In the latter case, it defines _LP64 and __LP64__.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         ia64* )
+           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+           # 32-bit code. In the latter case, it defines _ILP32.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=yes
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         powerpc* )
+           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+           # No need to distinguish them here; the caller may distinguish
+           # them based on the OS.
+           # On powerpc64 systems, the C compiler may still be generating
+           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+           # be generating 64-bit code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __powerpc64__ || defined __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         rs6000 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         riscv32 | riscv64 )
+           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+           # Size of 'long' and 'void *':
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
 
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else $as_nop
+  gl_cv_host_cpu_c_abi_32bit=yes
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+           ;;
 
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
+         *)
+           gl_cv_host_cpu_c_abi_32bit=unknown
+           ;;
+       esac
+     fi
 
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$MSGMERGE" in
-  [\\/]* | ?:[\\/]*)
-    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH; do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&5
-          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
-            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
-    ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5
+printf "%s\n" "$gl_cv_host_cpu_c_abi_32bit" >&6; }
 
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
 
-        test -n "$localedir" || localedir='${datadir}/locale'
-
-
-    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
 
 
-  ac_config_commands="$ac_config_commands po-directories"
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ELF binary format" >&5
+printf %s "checking for ELF binary format... " >&6; }
+if test ${gl_cv_elf+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __ELF__ || (defined __linux__ && defined __EDG__)
+        Extensible Linking Format
+        #endif
 
-      if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Extensible Linking Format" >/dev/null 2>&1
+then :
+  gl_cv_elf=yes
+else $as_nop
+  gl_cv_elf=no
+fi
+rm -rf conftest*
 
 
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
 fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5
+printf "%s\n" "$gl_cv_elf" >&6; }
+  if test $gl_cv_elf = yes; then
+    # Extract the ELF class of a file (5th byte) in decimal.
+    # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
+    if od -A x < /dev/null >/dev/null 2>/dev/null; then
+      # Use POSIX od.
+      func_elfclass ()
+      {
+        od -A n -t d1 -j 4 -N 1
+      }
+    else
+      # Use BSD hexdump.
+      func_elfclass ()
+      {
+        dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "'
+        echo
+      }
+    fi
+    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
+    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
+    # not 1 or 2.
+    case $HOST_CPU_C_ABI_32BIT in
+      yes)
+        # 32-bit ABI.
+        acl_is_expected_elfclass ()
+        {
+          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 1 > /dev/null
+        }
+        ;;
+      no)
+        # 64-bit ABI.
+        acl_is_expected_elfclass ()
+        {
+          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 2 > /dev/null
+        }
+        ;;
+      *)
+        # Unknown.
+        acl_is_expected_elfclass ()
+        {
+          :
+        }
+        ;;
+    esac
   else
-    PATH_SEPARATOR=:
+    acl_is_expected_elfclass ()
+    {
+      :
+    }
   fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${acl_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break ;;
-      *)
-        test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${acl_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
-
-                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if ${acl_cv_rpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-    # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
-  enableval=$enable_rpath; :
-else
-  enable_rpath=yes
-fi
-
-
-
-
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
-if ${gl_cv_solaris_64bit+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef _LP64
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
-  gl_cv_solaris_64bit=yes
-else
-  gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
 
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
+printf %s "checking for the common suffixes of directories in the library search path... " >&6; }
+if test ${acl_cv_libdirstems+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+            acl_libdirstem=lib
+     acl_libdirstem2=
+     acl_libdirstem3=
+     case "$host_os" in
+       solaris*)
+                                                      if test $HOST_CPU_C_ABI_32BIT = no; then
+           acl_libdirstem2=lib/64
+           case "$host_cpu" in
+             sparc*)        acl_libdirstem3=lib/sparcv9 ;;
+             i*86 | x86_64) acl_libdirstem3=lib/amd64 ;;
+           esac
+         fi
+         ;;
+       *)
+                                                                                 searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \
+                     | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+         if test $HOST_CPU_C_ABI_32BIT != no; then
+           # 32-bit or unknown ABI.
+           if test -d /usr/lib32; then
+             acl_libdirstem2=lib32
+           fi
+         fi
+         if test $HOST_CPU_C_ABI_32BIT != yes; then
+           # 64-bit or unknown ABI.
+           if test -d /usr/lib64; then
+             acl_libdirstem3=lib64
+           fi
+         fi
+         if test -n "$searchpath"; then
+           acl_save_IFS="${IFS=        }"; IFS=":"
+           for searchdir in $searchpath; do
+             if test -d "$searchdir"; then
+               case "$searchdir" in
+                 */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;;
+                 */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;;
+                 */../ | */.. )
+                   # Better ignore directories of this form. They are misleading.
+                   ;;
+                 *) searchdir=`cd "$searchdir" && pwd`
+                    case "$searchdir" in
+                      */lib32 ) acl_libdirstem2=lib32 ;;
+                      */lib64 ) acl_libdirstem3=lib64 ;;
+                    esac ;;
+               esac
+             fi
+           done
+           IFS="$acl_save_IFS"
+           if test $HOST_CPU_C_ABI_32BIT = yes; then
+             # 32-bit ABI.
+             acl_libdirstem3=
+           fi
+           if test $HOST_CPU_C_ABI_32BIT = no; then
+             # 64-bit ABI.
+             acl_libdirstem2=
+           fi
+         fi
+         ;;
+     esac
+     test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+     test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem"
+     acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-        esac
-      fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS=   }"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5
+printf "%s\n" "$acl_cv_libdirstems" >&6; }
+      acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
+  acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'`
+  acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'`
 
 
 
@@ -14539,13 +16657,16 @@ $as_echo "$gl_cv_solaris_64bit" >&6; }
 
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
+    eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+    eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
 
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 
 
 # Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
+if test ${with_libiconv_prefix+y}
+then :
   withval=$with_libiconv_prefix;
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -14559,6 +16680,8 @@ if test "${with_libiconv_prefix+set}" = set; then :
 
           eval additional_includedir=\"$includedir\"
           eval additional_libdir=\"$libdir\"
+          eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+          eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
 
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
@@ -14566,15 +16689,19 @@ if test "${with_libiconv_prefix+set}" = set; then :
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
+        additional_libdir2="$withval/$acl_libdirstem2"
+        additional_libdir3="$withval/$acl_libdirstem3"
       fi
     fi
 
 fi
 
+  if test "X$additional_libdir2" = "X$additional_libdir"; then
+    additional_libdir2=
+  fi
+  if test "X$additional_libdir3" = "X$additional_libdir"; then
+    additional_libdir3=
+  fi
       LIBICONV=
   LTLIBICONV=
   INCICONV=
@@ -14597,7 +16724,7 @@ fi
       done
       if test -z "$already_handled"; then
         names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
         eval value=\"\$HAVE_LIB$uppername\"
         if test -n "$value"; then
           if test "$value" = yes; then
             shrext=
           fi
           if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
+            for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do
+              if test "X$found_dir" = "X"; then
+                eval dir=\$$additional_libdir_variable
+                if test -n "$dir"; then
+                                                      if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
                   fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
                       found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
+                      found_a="$dir/$libname.$acl_libext"
                     fi
-                  done
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
                 fi
               fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
+            done
           fi
           if test "X$found_dir" = "X"; then
             for x in $LDFLAGS $LTLIBICONV; do
@@ -14675,7 +16808,7 @@ fi
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
                                     if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
                       found_dir="$dir"
                       found_so="$dir/$libname$shrext"
                     else
                               | sed -e "s,^$libname$shrext\\\\.,," \
                               | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
                               | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
                           found_dir="$dir"
                           found_so="$dir/$libname$shrext.$ver"
                         fi
                       else
                         eval library_names=\"$acl_library_names_spec\"
                         for f in $library_names; do
-                          if test -f "$dir/$f"; then
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
                             found_dir="$dir"
                             found_so="$dir/$f"
                             break
@@ -14702,7 +16835,7 @@ fi
                     fi
                   fi
                                     if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
                       found_dir="$dir"
                       found_a="$dir/$libname.$acl_libext"
                     fi
@@ -14724,7 +16857,8 @@ fi
             if test "X$found_so" != "X"; then
                                                         if test "$enable_rpath" = no \
                  || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
                                 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
               else
                                                                                 haveit=
                 fi
                 additional_includedir="$basedir/include"
                 ;;
+              */$acl_libdirstem3 | */$acl_libdirstem3/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
             esac
             if test "X$additional_includedir" != "X"; then
                                                                                                                 if test "X$additional_includedir" != "X/usr/include"; then
                             for dep in $dependency_libs; do
                 case "$dep" in
                   -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                    dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                      if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 
-                          if test "X$x" = "X-L$additional_libdir"; then
+                          if test "X$x" = "X-L$dependency_libdir"; then
                             haveit=yes
                             break
                           fi
                         done
                         if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+                          if test -d "$dependency_libdir"; then
+                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$dependency_libdir"
                           fi
                         fi
                         haveit=
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 
-                          if test "X$x" = "X-L$additional_libdir"; then
+                          if test "X$x" = "X-L$dependency_libdir"; then
                             haveit=yes
                             break
                           fi
                         done
                         if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+                          if test -d "$dependency_libdir"; then
+                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$dependency_libdir"
                           fi
                         fi
                       fi
                     fi
                     ;;
                   -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                                                                                                                                                                dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
                     ;;
                   *.la)
                                                                                 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
 
 
 
+    ICONV_CONST=;
+  REPLACE_ICONV=0;
+  REPLACE_ICONV_OPEN=0;
+  REPLACE_ICONV_UTF=0;
+  GL_GENERATE_ICONV_H=false
+  if false; then
+              GL_GENERATE_ICONV_H=true
+     fi
 
 
 
 
 
 
+          am_save_CPPFLAGS="$CPPFLAGS"
 
+  for element in $INCICONV; do
+    haveit=
+    for x in $CPPFLAGS; do
 
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
+if test ${am_cv_func_iconv+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <stdlib.h>
+#include <iconv.h>
 
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
-if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <CoreFoundation/CFPreferences.h>
 int
-main ()
+main (void)
 {
-CFPreferencesCopyAppValue(NULL, NULL)
+iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_CFPreferencesCopyAppValue=yes
-else
-  gt_cv_func_CFPreferencesCopyAppValue=no
+if ac_fn_c_try_link "$LINENO"
+then :
+  am_cv_func_iconv=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-     LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+#include <stdlib.h>
+#include <iconv.h>
 
-  fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
-if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <CoreFoundation/CFLocale.h>
-int
-main ()
-{
-CFLocaleCopyCurrent();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_CFLocaleCopyCurrent=yes
-else
-  gt_cv_func_CFLocaleCopyCurrent=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-
-$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
-
-  fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
-
-
-
-
-
-
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-    case " $gt_needs " in
-    *" need-formatstring-macros "*) gt_api_version=3 ;;
-    *" need-ngettext "*) gt_api_version=2 ;;
-    *) gt_api_version=1 ;;
-  esac
-  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
-  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
-    if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-
-
-        if test $gt_api_version -ge 3; then
-          gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-'
-        else
-          gt_revision_test_code=
-        fi
-        if test $gt_api_version -ge 2; then
-          gt_expression_test_code=' + * ngettext ("", "", 0)'
-        else
-          gt_expression_test_code=
-        fi
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if eval \${$gt_func_gnugettext_libc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$gt_func_gnugettext_libc=yes"
-else
-  eval "$gt_func_gnugettext_libc=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$gt_func_gnugettext_libc
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-
-
-
-
-
-          am_save_CPPFLAGS="$CPPFLAGS"
-
-  for element in $INCICONV; do
-    haveit=
-    for x in $CPPFLAGS; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
 int
-main ()
+main (void)
 {
 iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
       LIBS="$am_save_LIBS"
     fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-            am_save_LIBS="$LIBS"
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
+if test ${am_cv_func_iconv_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+                  am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
       fi
-      if test "$cross_compiling" = yes; then :
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes
+then :
   case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-else
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <iconv.h>
 #include <string.h>
-int main ()
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main (void)
 {
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
+int result = 0;
+  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
+     successful returns.  This is even documented in
+     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
       }
   }
   /* Test against Solaris 10 bug: Failures are not distinguishable from
@@ -15287,17 +17301,37 @@ int main ()
     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
     if (cd_ascii_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\263";
+        static ICONV_CONST char input[] = "\263";
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #if 0 /* This bug could be worked around by the caller.  */
@@ -15306,48 +17340,65 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
         char buf[50];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
-          return 1;
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #endif
   /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
      provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
+  {
+    /* Try standardized names.  */
+    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
+    /* Try IRIX, OSF/1 names.  */
+    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
+    /* Try AIX names.  */
+    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
+    /* Try HP-UX names.  */
+    iconv_t cd4 = iconv_open ("utf8", "eucJP");
+    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
+        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
+      result |= 16;
+    if (cd1 != (iconv_t)(-1))
+      iconv_close (cd1);
+    if (cd2 != (iconv_t)(-1))
+      iconv_close (cd2);
+    if (cd3 != (iconv_t)(-1))
+      iconv_close (cd3);
+    if (cd4 != (iconv_t)(-1))
+      iconv_close (cd4);
+  }
+  return result;
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   am_cv_func_iconv_works=yes
-else
-  am_cv_func_iconv_works=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+        test "$am_cv_func_iconv_works" = no || break
+      done
       LIBS="$am_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
     case "$am_cv_func_iconv_works" in
       *no) am_func_iconv=no am_cv_lib_iconv=no ;;
       *)   am_func_iconv=yes ;;
@@ -15357,14 +17408,14 @@ $as_echo "$am_cv_func_iconv_works" >&6; }
   fi
   if test "$am_func_iconv" = yes; then
 
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
 
   fi
   if test "$am_cv_lib_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
   else
             CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
@@ -15373,639 +17424,489 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
+  if test "$am_cv_func_iconv" = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iconv is compatible with its POSIX signature" >&5
+printf %s "checking whether iconv is compatible with its POSIX signature... " >&6; }
+if test ${gl_cv_iconv_nonconst+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
 
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_iconv_nonconst=yes
+else $as_nop
+  gl_cv_iconv_nonconst=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_iconv_nonconst" >&5
+printf "%s\n" "$gl_cv_iconv_nonconst" >&6; }
+  else
+            gl_cv_iconv_nonconst=yes
+  fi
+  if test $gl_cv_iconv_nonconst = yes; then
+    iconv_arg1=""
+  else
+    iconv_arg1="const"
+  fi
 
+printf "%s\n" "#define ICONV_CONST $iconv_arg1" >>confdefs.h
 
 
+     if test $gl_cv_iconv_nonconst != yes; then
+       ICONV_CONST="const"
+     fi
 
-    use_additional=yes
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
+      if test "$am_func_iconv" = yes; then
+    if test -n "$LIBICONV"; then
+      am_cv_func_iconv_summary='yes, in libiconv'
+    else
+      am_cv_func_iconv_summary='yes, in libc'
+    fi
+  else
+    if test "$am_cv_func_iconv" = yes; then
+      am_cv_func_iconv_summary='not working, consider installing GNU libiconv'
+    else
+      am_cv_func_iconv_summary='no, consider installing GNU libiconv'
+    fi
+  fi
 
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
+ # If set to t, that means we are running in a shell under Emacs.
+ # If you have an Emacs named "t", then use the full path.
+ test x"$EMACS" = xt && EMACS=
+ for ac_prog in emacs xemacs
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_EMACS+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$EMACS"; then
+  ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_EMACS="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+fi
+fi
+EMACS=$ac_cv_prog_EMACS
+if test -n "$EMACS"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $EMACS" >&5
+printf "%s\n" "$EMACS" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-# Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then :
-  withval=$with_libintl_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
+  test -n "$EMACS" && break
+done
+test -n "$EMACS" || EMACS="no"
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
 
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
+# Check whether --with-lispdir was given.
+if test ${with_lispdir+y}
+then :
+  withval=$with_lispdir;  lispdir="$withval"
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
+printf %s "checking where .elc files should go... " >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lispdir" >&5
+printf "%s\n" "$lispdir" >&6; }
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
+printf %s "checking where .elc files should go... " >&6; }
+if test ${am_cv_lispdir+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+   if test $EMACS != "no"; then
+     if test x${lispdir+set} != xset; then
+  # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
+  # Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
+  #  which is non-obvious for non-emacs users.
+  # Redirecting /dev/null should help a bit; pity we can't detect "broken"
+  #  emacsen earlier and avoid running this altogether.
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
+  ($EMACS -batch -Q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+       am_cv_lispdir=`sed -n \
+       -e 's,/$,,' \
+       -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
+       -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \
+       conftest.out`
+       rm conftest.out
+     fi
+   fi
+   test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_lispdir" >&5
+printf "%s\n" "$am_cv_lispdir" >&6; }
+  lispdir="$am_cv_lispdir"
 
-      LIBINTL=
-  LTLIBINTL=
-  INCINTL=
-  LIBINTL_PREFIX=
-      HAVE_LIBINTL=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='intl '
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBINTL; do
+fi
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$acl_hardcode_direct" = yes; then
-                                                      LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBINTL; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                                                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
-              else
-                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'intl'; then
-                  LIBINTL_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'intl'; then
-                  LIBINTL_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCINTL; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+printf %s "checking whether NLS is requested... " >&6; }
+    # Check whether --enable-nls was given.
+if test ${enable_nls+y}
+then :
+  enableval=$enable_nls; USE_NLS=$enableval
+else $as_nop
+  USE_NLS=yes
+fi
 
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBINTL; do
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBINTL; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
-                    LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
-            LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+      GETTEXT_MACRO_VERSION=0.19
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_MSGFMT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case "$MSGFMT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
           fi
         fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
       done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
     done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+    ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+printf "%s\n" "$MSGFMT" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_GMSGFMT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GMSGFMT="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
   fi
+done
+  done
+IFS=$as_save_IFS
 
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+printf "%s\n" "$GMSGFMT" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
 
+    case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
 
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if eval \${$gt_func_gnugettext_libintl+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$gt_func_gnugettext_libintl=yes"
-else
-  eval "$gt_func_gnugettext_libintl=no"
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-                        if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                eval "$gt_func_gnugettext_libintl=yes"
 
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"
-fi
-eval ac_res=\$$gt_func_gnugettext_libintl
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-        fi
+rm -f conf$$.file
 
-                                        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
-           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-                    LIBINTL=
-          LTLIBINTL=
-          INCINTL=
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_XGETTEXT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case "$XGETTEXT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
         fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+    ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+printf "%s\n" "$XGETTEXT" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
+    rm -f messages.po
 
+    case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
 
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-                LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
 
-    else
-      USE_NLS=no
-    fi
-  fi
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-  if test "$USE_NLS" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
-  fi
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
 
-  if test "$USE_NLS" = "yes"; then
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_MSGMERGE+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case "$MSGMERGE" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+    ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+printf "%s\n" "$MSGMERGE" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
 
-  for element in $INCINTL; do
-    haveit=
-    for x in $CPPFLAGS; do
+        test -n "$localedir" || localedir='${datadir}/locale'
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
+    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
 
-      fi
 
+  ac_config_commands="$ac_config_commands po-directories"
 
-$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
 
 
-$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
-    fi
 
-        POSUB=po
-  fi
 
 
 
-    INTLLIBS="$LIBINTL"
 
 
 
@@ -16018,128 +17919,317 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
 
 
-          am_save_CPPFLAGS="$CPPFLAGS"
 
-  for element in $INCICONV; do
-    haveit=
-    for x in $CPPFLAGS; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+printf %s "checking for CFPreferencesCopyAppValue... " >&6; }
+if test ${gt_cv_func_CFPreferencesCopyAppValue+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
+#include <CoreFoundation/CFPreferences.h>
 int
-main ()
+main (void)
 {
-iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
+CFPreferencesCopyAppValue(NULL, NULL)
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_func_iconv=yes
+if ac_fn_c_try_link "$LINENO"
+then :
+  gt_cv_func_CFPreferencesCopyAppValue=yes
+else $as_nop
+  gt_cv_func_CFPreferencesCopyAppValue=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+     LIBS="$gt_save_LIBS"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+  fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+printf %s "checking for CFLocaleCopyCurrent... " >&6; }
+if test ${gt_cv_func_CFLocaleCopyCurrent+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
+#include <CoreFoundation/CFLocale.h>
 int
-main ()
+main (void)
 {
-iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
+CFLocaleCopyCurrent();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes
+if ac_fn_c_try_link "$LINENO"
+then :
+  gt_cv_func_CFLocaleCopyCurrent=yes
+else $as_nop
+  gt_cv_func_CFLocaleCopyCurrent=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-      LIBS="$am_save_LIBS"
-    fi
-
+     LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
-  if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+printf "%s\n" "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
 
-            am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+printf "%s\n" "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+
+
+
+
+
+
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+    case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+    if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+printf %s "checking for GNU gettext in libc... " >&6; }
+if eval test \${$gt_func_gnugettext_libc+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main (void)
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  eval "$gt_func_gnugettext_libc=yes"
+else $as_nop
+  eval "$gt_func_gnugettext_libc=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$gt_func_gnugettext_libc
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+
+
+
+
+
+          am_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCICONV; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
+if test ${am_cv_func_iconv+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main (void)
+{
+iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main (void)
+{
+iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+      LIBS="$am_save_LIBS"
+    fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
+  if test "$am_cv_func_iconv" = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
+if test ${am_cv_func_iconv_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+                  am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <iconv.h>
 #include <string.h>
-int main ()
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main (void)
 {
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
+int result = 0;
+  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
+     successful returns.  This is even documented in
+     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
       }
   }
   /* Test against Solaris 10 bug: Failures are not distinguishable from
@@ -16148,17 +18238,37 @@ int main ()
     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
     if (cd_ascii_to_88591 != (iconv_t)(-1))
       {
-        static const char input[] = "\263";
+        static ICONV_CONST char input[] = "\263";
         char buf[10];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if (res == 0)
-          return 1;
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #if 0 /* This bug could be worked around by the caller.  */
@@ -16167,48 +18277,65 @@ int main ()
     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
     if (cd_88591_to_utf8 != (iconv_t)(-1))
       {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
         char buf[50];
-        const char *inptr = input;
+        ICONV_CONST char *inptr = input;
         size_t inbytesleft = strlen (input);
         char *outptr = buf;
         size_t outbytesleft = sizeof (buf);
         size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
+                            &inptr, &inbytesleft,
                             &outptr, &outbytesleft);
         if ((int)res > 0)
-          return 1;
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
       }
   }
 #endif
   /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
      provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
+  {
+    /* Try standardized names.  */
+    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
+    /* Try IRIX, OSF/1 names.  */
+    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
+    /* Try AIX names.  */
+    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
+    /* Try HP-UX names.  */
+    iconv_t cd4 = iconv_open ("utf8", "eucJP");
+    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
+        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
+      result |= 16;
+    if (cd1 != (iconv_t)(-1))
+      iconv_close (cd1);
+    if (cd2 != (iconv_t)(-1))
+      iconv_close (cd2);
+    if (cd3 != (iconv_t)(-1))
+      iconv_close (cd3);
+    if (cd4 != (iconv_t)(-1))
+      iconv_close (cd4);
+  }
+  return result;
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   am_cv_func_iconv_works=yes
-else
-  am_cv_func_iconv_works=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+        test "$am_cv_func_iconv_works" = no || break
+      done
       LIBS="$am_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
     case "$am_cv_func_iconv_works" in
       *no) am_func_iconv=no am_cv_lib_iconv=no ;;
       *)   am_func_iconv=yes ;;
@@ -16218,14 +18345,14 @@ $as_echo "$am_cv_func_iconv_works" >&6; }
   fi
   if test "$am_func_iconv" = yes; then
 
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
 
   fi
   if test "$am_cv_lib_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
   else
             CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
@@ -16234,1238 +18361,4608 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
-  if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
-    if ${am_cv_proto_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  am_cv_proto_iconv_arg1=""
-else
-  am_cv_proto_iconv_arg1="const"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-fi
 
-    am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result:
-         $am_cv_proto_iconv" >&5
-$as_echo "
-         $am_cv_proto_iconv" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
 
-  fi
+    use_additional=yes
 
- # If set to t, that means we are running in a shell under Emacs.
- # If you have an Emacs named "t", then use the full path.
- test x"$EMACS" = xt && EMACS=
- for ac_prog in emacs xemacs
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_EMACS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$EMACS"; then
-  ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_EMACS="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
-fi
-fi
-EMACS=$ac_cv_prog_EMACS
-if test -n "$EMACS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EMACS" >&5
-$as_echo "$EMACS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+    eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+    eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
 
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
 
-  test -n "$EMACS" && break
-done
-test -n "$EMACS" || EMACS="no"
 
+# Check whether --with-libintl-prefix was given.
+if test ${with_libintl_prefix+y}
+then :
+  withval=$with_libintl_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
 
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
 
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+          eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+          eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
 
-# Check whether --with-lispdir was given.
-if test "${with_lispdir+set}" = set; then :
-  withval=$with_lispdir;  lispdir="$withval"
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lispdir" >&5
-$as_echo "$lispdir" >&6; }
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        additional_libdir2="$withval/$acl_libdirstem2"
+        additional_libdir3="$withval/$acl_libdirstem3"
+      fi
+    fi
+
+fi
+
+  if test "X$additional_libdir2" = "X$additional_libdir"; then
+    additional_libdir2=
+  fi
+  if test "X$additional_libdir3" = "X$additional_libdir"; then
+    additional_libdir3=
+  fi
+      LIBINTL=
+  LTLIBINTL=
+  INCINTL=
+  LIBINTL_PREFIX=
+      HAVE_LIBINTL=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='intl '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do
+              if test "X$found_dir" = "X"; then
+                eval dir=\$$additional_libdir_variable
+                if test -n "$dir"; then
+                                                      if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                fi
+              fi
+            done
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+              else
+                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem3 | */$acl_libdirstem3/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then
+                      haveit=
+                      if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$dependency_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$dependency_libdir"; then
+                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }-L$dependency_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$dependency_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$dependency_libdir"; then
+                                                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$dependency_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                                                                                                                                                dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+                    LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+            LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+    done
+  fi
+
+
+
+
+
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+printf %s "checking for GNU gettext in libintl... " >&6; }
+if eval test \${$gt_func_gnugettext_libintl+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main (void)
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  eval "$gt_func_gnugettext_libintl=yes"
+else $as_nop
+  eval "$gt_func_gnugettext_libintl=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+                        if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main (void)
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"
+fi
+eval ac_res=\$$gt_func_gnugettext_libintl
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+        fi
+
+                                        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+                    LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+                LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h
+
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+printf %s "checking whether to use NLS... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
+  if test "$USE_NLS" = "yes"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+printf %s "checking where the gettext function comes from... " >&6; }
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+printf "%s\n" "$gt_source" >&6; }
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+printf %s "checking how to link with libintl... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+printf "%s\n" "$LIBINTL" >&6; }
+
+  for element in $INCINTL; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+      fi
+
+
+printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+    fi
+
+        POSUB=po
+  fi
+
+
+
+    INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+printf %s "checking for nl_langinfo and CODESET... " >&6; }
+if test ${am_cv_langinfo_codeset+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <langinfo.h>
+int
+main (void)
+{
+char* cs = nl_langinfo(CODESET); return !cs;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  am_cv_langinfo_codeset=yes
+else $as_nop
+  am_cv_langinfo_codeset=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+printf "%s\n" "$am_cv_langinfo_codeset" >&6; }
+  if test $am_cv_langinfo_codeset = yes; then
+
+printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
+
+  fi
+
+
+# For gnulib stuff in gl/.
+
+
+
+
+
+
+
+
+
+
+                        # Check whether --enable-cross-guesses was given.
+if test ${enable_cross_guesses+y}
+then :
+  enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5
+printf "%s\n" "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;}
+       enableval=conservative
+     fi
+     gl_cross_guesses="$enableval"
+else $as_nop
+  gl_cross_guesses=conservative
+fi
+
+  if test $gl_cross_guesses = risky; then
+    gl_cross_guess_normal="guessing yes"
+    gl_cross_guess_inverted="guessing no"
+  else
+    gl_cross_guess_normal="guessing no"
+    gl_cross_guess_inverted="guessing yes"
+  fi
+          LIBC_FATAL_STDERR_=1
+  export LIBC_FATAL_STDERR_
+
+
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes
+then :
+
+else $as_nop
+
+printf "%s\n" "#define size_t unsigned int" >>confdefs.h
+
+fi
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+printf %s "checking for working alloca.h... " >&6; }
+if test ${ac_cv_working_alloca_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <alloca.h>
+int
+main (void)
+{
+char *p = (char *) alloca (2 * sizeof (int));
+                         if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_working_alloca_h=yes
+else $as_nop
+  ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+printf %s "checking for alloca... " >&6; }
+if test ${ac_cv_func_alloca_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test $ac_cv_working_alloca_h = yes; then
+  ac_cv_func_alloca_works=yes
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stddef.h>
+#ifndef alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *alloca (size_t);
+# endif
+#endif
+
+int
+main (void)
+{
+char *p = (char *) alloca (1);
+                                   if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_func_alloca_works=yes
+else $as_nop
+  ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
+fi
+
+if test $ac_cv_func_alloca_works = yes; then
+
+printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+
+
+
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+printf %s "checking stack direction for C alloca... " >&6; }
+if test ${ac_cv_c_stack_direction+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  ac_cv_c_stack_direction=0
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+find_stack_direction (int *addr, int depth)
+{
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+  return find_stack_direction (0, argc + !argv + 20) < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  ac_cv_c_stack_direction=1
+else $as_nop
+  ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
+printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h
+
+
+fi
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
+printf %s "checking whether the preprocessor supports include_next... " >&6; }
+if test ${gl_cv_have_include_next+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  rm -rf conftestd1a conftestd1b conftestd2
+     mkdir conftestd1a conftestd1b conftestd2
+                                                  cat <<EOF > conftestd1a/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+     cat <<EOF > conftestd1b/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include <stdio.h>
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+     cat <<EOF > conftestd2/conftest.h
+#ifndef DEFINED_IN_CONFTESTD1
+#error "include_next test doesn't work"
+#endif
+#define DEFINED_IN_CONFTESTD2
+EOF
+     gl_save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <conftest.h>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_have_include_next=yes
+else $as_nop
+  CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <conftest.h>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_have_include_next=buggy
+else $as_nop
+  gl_cv_have_include_next=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+     CPPFLAGS="$gl_save_CPPFLAGS"
+     rm -rf conftestd1a conftestd1b conftestd2
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
+printf "%s\n" "$gl_cv_have_include_next" >&6; }
+  PRAGMA_SYSTEM_HEADER=
+  if test $gl_cv_have_include_next = yes; then
+    INCLUDE_NEXT=include_next
+    INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
+    if test -n "$GCC"; then
+      PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
+    fi
+  else
+    if test $gl_cv_have_include_next = buggy; then
+      INCLUDE_NEXT=include
+      INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
+    else
+      INCLUDE_NEXT=include
+      INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include
+    fi
+  fi
+
+
+
+
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether source code line length is unlimited" >&5
+printf %s "checking whether source code line length is unlimited... " >&6; }
+if test ${gl_cv_source_line_length_unlimited+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef __TANDEM
+choke me
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "choke me" >/dev/null 2>&1
+then :
+  gl_cv_source_line_length_unlimited=no
+else $as_nop
+  gl_cv_source_line_length_unlimited=yes
+fi
+rm -rf conftest*
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_source_line_length_unlimited" >&5
+printf "%s\n" "$gl_cv_source_line_length_unlimited" >&6; }
+  if test $gl_cv_source_line_length_unlimited = no; then
+    PRAGMA_COLUMNS="#pragma COLUMNS 10000"
+  else
+    PRAGMA_COLUMNS=
+  fi
+
+
+
+    HAVE_CHOWN=1;
+  HAVE_COPY_FILE_RANGE=1;
+  HAVE_DUP3=1;
+  HAVE_EUIDACCESS=1;
+  HAVE_EXECVPE=1;
+  HAVE_FACCESSAT=1;
+  HAVE_FCHDIR=1;
+  HAVE_FCHOWNAT=1;
+  HAVE_FDATASYNC=1;
+  HAVE_FSYNC=1;
+  HAVE_FTRUNCATE=1;
+  HAVE_GETDTABLESIZE=1;
+  HAVE_GETENTROPY=1;
+  HAVE_GETGROUPS=1;
+  HAVE_GETHOSTNAME=1;
+  HAVE_GETLOGIN=1;
+  HAVE_GETPAGESIZE=1;
+  HAVE_GETPASS=1;
+  HAVE_GROUP_MEMBER=1;
+  HAVE_LCHOWN=1;
+  HAVE_LINK=1;
+  HAVE_LINKAT=1;
+  HAVE_PIPE=1;
+  HAVE_PIPE2=1;
+  HAVE_PREAD=1;
+  HAVE_PWRITE=1;
+  HAVE_READLINK=1;
+  HAVE_READLINKAT=1;
+  HAVE_SETHOSTNAME=1;
+  HAVE_SLEEP=1;
+  HAVE_SYMLINK=1;
+  HAVE_SYMLINKAT=1;
+  HAVE_UNLINKAT=1;
+  HAVE_USLEEP=1;
+  HAVE_DECL_ENVIRON=1;
+  HAVE_DECL_EXECVPE=1;
+  HAVE_DECL_FCHDIR=1;
+  HAVE_DECL_FDATASYNC=1;
+  HAVE_DECL_GETDOMAINNAME=1;
+  HAVE_DECL_GETLOGIN=1;
+  HAVE_DECL_GETLOGIN_R=1;
+  HAVE_DECL_GETPAGESIZE=1;
+  HAVE_DECL_GETUSERSHELL=1;
+  HAVE_DECL_SETHOSTNAME=1;
+  HAVE_DECL_TRUNCATE=1;
+  HAVE_DECL_TTYNAME_R=1;
+  HAVE_OS_H=0;
+  HAVE_SYS_PARAM_H=0;
+  REPLACE_ACCESS=0;
+  REPLACE_CHOWN=0;
+  REPLACE_CLOSE=0;
+  REPLACE_COPY_FILE_RANGE=0;
+  REPLACE_DUP=0;
+  REPLACE_DUP2=0;
+  REPLACE_DUP3=0;
+  REPLACE_EXECL=0;
+  REPLACE_EXECLE=0;
+  REPLACE_EXECLP=0;
+  REPLACE_EXECV=0;
+  REPLACE_EXECVE=0;
+  REPLACE_EXECVP=0;
+  REPLACE_EXECVPE=0;
+  REPLACE_FACCESSAT=0;
+  REPLACE_FCHDIR=0;
+  REPLACE_FCHOWNAT=0;
+  REPLACE_FDATASYNC=0;
+  REPLACE_FTRUNCATE=0;
+  REPLACE_GETCWD=0;
+  REPLACE_GETDOMAINNAME=0;
+  REPLACE_GETDTABLESIZE=0;
+  REPLACE_GETENTROPY=0;
+  REPLACE_GETLOGIN_R=0;
+  REPLACE_GETGROUPS=0;
+  REPLACE_GETPAGESIZE=0;
+  REPLACE_GETPASS=0;
+  REPLACE_GETPASS_FOR_GETPASS_GNU=0;
+  REPLACE_ISATTY=0;
+  REPLACE_LCHOWN=0;
+  REPLACE_LINK=0;
+  REPLACE_LINKAT=0;
+  REPLACE_LSEEK=0;
+  REPLACE_PIPE2=0;
+  REPLACE_PREAD=0;
+  REPLACE_PWRITE=0;
+  REPLACE_READ=0;
+  REPLACE_READLINK=0;
+  REPLACE_READLINKAT=0;
+  REPLACE_RMDIR=0;
+  REPLACE_SETHOSTNAME=0;
+  REPLACE_SLEEP=0;
+  REPLACE_SYMLINK=0;
+  REPLACE_SYMLINKAT=0;
+  REPLACE_TRUNCATE=0;
+  REPLACE_TTYNAME_R=0;
+  REPLACE_UNLINK=0;
+  REPLACE_UNLINKAT=0;
+  REPLACE_USLEEP=0;
+  REPLACE_WRITE=0;
+  UNISTD_H_HAVE_SYS_RANDOM_H=0;
+  UNISTD_H_HAVE_WINSOCK2_H=0;
+  UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+
+
+ac_func=
+for ac_item in $ac_func_c_list
+do
+  if test $ac_func; then
+    ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
+    if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
+      echo "#define $ac_item 1" >> confdefs.h
+    fi
+    ac_func=
+  else
+    ac_func=$ac_item
+  fi
+done
+
+
+  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
+
+printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
+
+  else
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+  fi
+
+
+
+
+
+
+
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_CLOSE=1
+    fi
+
+
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h
+
+fi
+
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
+
+
+    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+                        REPLACE_CLOSE=1
+    fi
+
+
+
+
+
+  GL_GNULIB_ACCESS=0
+
+
+
+  GL_GNULIB_CHDIR=0
+
+
+
+  GL_GNULIB_CHOWN=0
+
+
+
+  GL_GNULIB_CLOSE=0
+
+
+
+  GL_GNULIB_COPY_FILE_RANGE=0
+
+
+
+  GL_GNULIB_DUP=0
+
+
+
+  GL_GNULIB_DUP2=0
+
+
+
+  GL_GNULIB_DUP3=0
+
+
+
+  GL_GNULIB_ENVIRON=0
+
+
+
+  GL_GNULIB_EUIDACCESS=0
+
+
+
+  GL_GNULIB_EXECL=0
+
+
+
+  GL_GNULIB_EXECLE=0
+
+
+
+  GL_GNULIB_EXECLP=0
+
+
+
+  GL_GNULIB_EXECV=0
+
+
+
+  GL_GNULIB_EXECVE=0
+
+
+
+  GL_GNULIB_EXECVP=0
+
+
+
+  GL_GNULIB_EXECVPE=0
+
+
+
+  GL_GNULIB_FACCESSAT=0
+
+
+
+  GL_GNULIB_FCHDIR=0
+
+
+
+  GL_GNULIB_FCHOWNAT=0
+
+
+
+  GL_GNULIB_FDATASYNC=0
+
+
+
+  GL_GNULIB_FSYNC=0
+
+
+
+  GL_GNULIB_FTRUNCATE=0
+
+
+
+  GL_GNULIB_GETCWD=0
+
+
+
+  GL_GNULIB_GETDOMAINNAME=0
+
+
+
+  GL_GNULIB_GETDTABLESIZE=0
+
+
+
+  GL_GNULIB_GETENTROPY=0
+
+
+
+  GL_GNULIB_GETGROUPS=0
+
+
+
+  GL_GNULIB_GETHOSTNAME=0
+
+
+
+  GL_GNULIB_GETLOGIN=0
+
+
+
+  GL_GNULIB_GETLOGIN_R=0
+
+
+
+  GL_GNULIB_GETOPT_POSIX=0
+
+
+
+  GL_GNULIB_GETPAGESIZE=0
+
+
+
+  GL_GNULIB_GETPASS=0
+
+
+
+  GL_GNULIB_GETPASS_GNU=0
+
+
+
+  GL_GNULIB_GETUSERSHELL=0
+
+
+
+  GL_GNULIB_GROUP_MEMBER=0
+
+
+
+  GL_GNULIB_ISATTY=0
+
+
+
+  GL_GNULIB_LCHOWN=0
+
+
+
+  GL_GNULIB_LINK=0
+
+
+
+  GL_GNULIB_LINKAT=0
+
+
+
+  GL_GNULIB_LSEEK=0
+
+
+
+  GL_GNULIB_PIPE=0
+
+
+
+  GL_GNULIB_PIPE2=0
+
+
+
+  GL_GNULIB_PREAD=0
+
+
+
+  GL_GNULIB_PWRITE=0
+
+
+
+  GL_GNULIB_READ=0
+
+
+
+  GL_GNULIB_READLINK=0
+
+
+
+  GL_GNULIB_READLINKAT=0
+
+
+
+  GL_GNULIB_RMDIR=0
+
+
+
+  GL_GNULIB_SETHOSTNAME=0
+
+
+
+  GL_GNULIB_SLEEP=0
+
+
+
+  GL_GNULIB_SYMLINK=0
+
+
+
+  GL_GNULIB_SYMLINKAT=0
+
+
+
+  GL_GNULIB_TRUNCATE=0
+
+
+
+  GL_GNULIB_TTYNAME_R=0
+
+
+
+  GL_GNULIB_UNISTD_H_GETOPT=0
+
+
+
+  GL_GNULIB_UNISTD_H_NONBLOCKING=0
+
+
+
+  GL_GNULIB_UNISTD_H_SIGPIPE=0
+
+
+
+  GL_GNULIB_UNLINK=0
+
+
+
+  GL_GNULIB_UNLINKAT=0
+
+
+
+  GL_GNULIB_USLEEP=0
+
+
+
+  GL_GNULIB_WRITE=0
+
+
+
+  GL_GNULIB_MDA_ACCESS=1
+
+
+
+  GL_GNULIB_MDA_CHDIR=1
+
+
+
+  GL_GNULIB_MDA_CLOSE=1
+
+
+
+  GL_GNULIB_MDA_DUP=1
+
+
+
+  GL_GNULIB_MDA_DUP2=1
+
+
+
+  GL_GNULIB_MDA_EXECL=1
+
+
+
+  GL_GNULIB_MDA_EXECLE=1
+
+
+
+  GL_GNULIB_MDA_EXECLP=1
+
+
+
+  GL_GNULIB_MDA_EXECV=1
+
+
+
+  GL_GNULIB_MDA_EXECVE=1
+
+
+
+  GL_GNULIB_MDA_EXECVP=1
+
+
+
+  GL_GNULIB_MDA_EXECVPE=1
+
+
+
+  GL_GNULIB_MDA_GETCWD=1
+
+
+
+  GL_GNULIB_MDA_GETPID=1
+
+
+
+  GL_GNULIB_MDA_ISATTY=1
+
+
+
+  GL_GNULIB_MDA_LSEEK=1
+
+
+
+  GL_GNULIB_MDA_READ=1
+
+
+
+  GL_GNULIB_MDA_RMDIR=1
+
+
+
+  GL_GNULIB_MDA_SWAB=1
+
+
+
+  GL_GNULIB_MDA_UNLINK=1
+
+
+
+  GL_GNULIB_MDA_WRITE=1
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for preferred C# implementation" >&5
+printf %s "checking for preferred C# implementation... " >&6; }
+  # Check whether --enable-csharp was given.
+if test ${enable_csharp+y}
+then :
+  enableval=$enable_csharp; CSHARP_CHOICE="$enableval"
+else $as_nop
+  CSHARP_CHOICE=any
+fi
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CSHARP_CHOICE" >&5
+printf "%s\n" "$CSHARP_CHOICE" >&6; }
+  case "$CSHARP_CHOICE" in
+    mono)
+
+printf "%s\n" "#define CSHARP_CHOICE_MONO 1" >>confdefs.h
+
+      ;;
+  esac
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C# compiler" >&5
+printf %s "checking for C# compiler... " >&6; }
+  HAVE_CSHARPCOMP=1
+        # Extract the first word of "mcs", so it can be a program name with args.
+set dummy mcs; ac_word=$2
+:
+if test ${ac_cv_prog_HAVE_MCS_IN_PATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$HAVE_MCS_IN_PATH"; then
+  ac_cv_prog_HAVE_MCS_IN_PATH="$HAVE_MCS_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_HAVE_MCS_IN_PATH="yes"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_MCS_IN_PATH=$ac_cv_prog_HAVE_MCS_IN_PATH
+if test -n "$HAVE_MCS_IN_PATH"; then
+  :
+else
+  :
+fi
+
+
+  # Extract the first word of "csc", so it can be a program name with args.
+set dummy csc; ac_word=$2
+:
+if test ${ac_cv_prog_HAVE_CSC_IN_PATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$HAVE_CSC_IN_PATH"; then
+  ac_cv_prog_HAVE_CSC_IN_PATH="$HAVE_CSC_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_HAVE_CSC_IN_PATH="yes"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_CSC_IN_PATH=$ac_cv_prog_HAVE_CSC_IN_PATH
+if test -n "$HAVE_CSC_IN_PATH"; then
+  :
 else
+  :
+fi
+
+
+        for impl in "$CSHARP_CHOICE" mono sscli no; do
+    case "$impl" in
+      mono)
+        if test -n "$HAVE_MCS_IN_PATH" \
+           && mcs --version >/dev/null 2>/dev/null \
+           && mcs --version 2>/dev/null | grep Mono >/dev/null; then
+          HAVE_MCS=1
+          ac_result="mcs"
+          break
+        fi
+        ;;
+      sscli)
+        if test -n "$HAVE_CSC_IN_PATH" \
+           && csc -help >/dev/null 2>/dev/null \
+           && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
+          HAVE_CSC=1
+          ac_result="csc"
+          break
+        fi
+        ;;
+      no)
+        HAVE_CSHARPCOMP=
+        ac_result="no"
+        break
+        ;;
+    esac
+  done
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
+printf "%s\n" "$ac_result" >&6; }
+
+
+    if test -z "${CSHARPCOMPFLAGS+set}"; then
+    CSHARPCOMPFLAGS="-O -g"
+  fi
+
+
+gl_mda_defines='
+#if defined _WIN32 && !defined __CYGWIN__
+#define access    _access
+#define chdir     _chdir
+#define chmod     _chmod
+#define close     _close
+#define creat     _creat
+#define dup       _dup
+#define dup2      _dup2
+#define ecvt      _ecvt
+#define execl     _execl
+#define execle    _execle
+#define execlp    _execlp
+#define execv     _execv
+#define execve    _execve
+#define execvp    _execvp
+#define execvpe   _execvpe
+#define fcloseall _fcloseall
+#define fcvt      _fcvt
+#define fdopen    _fdopen
+#define fileno    _fileno
+#define gcvt      _gcvt
+#define getcwd    _getcwd
+#define getpid    _getpid
+#define getw      _getw
+#define isatty    _isatty
+#define j0        _j0
+#define j1        _j1
+#define jn        _jn
+#define lfind     _lfind
+#define lsearch   _lsearch
+#define lseek     _lseek
+#define memccpy   _memccpy
+#define mkdir     _mkdir
+#define mktemp    _mktemp
+#define open      _open
+#define putenv    _putenv
+#define putw      _putw
+#define read      _read
+#define rmdir     _rmdir
+#define strdup    _strdup
+#define swab      _swab
+#define tempnam   _tempnam
+#define tzset     _tzset
+#define umask     _umask
+#define unlink    _unlink
+#define utime     _utime
+#define wcsdup    _wcsdup
+#define write     _write
+#define y0        _y0
+#define y1        _y1
+#define yn        _yn
+#endif
+'
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
+printf %s "checking for complete errno.h... " >&6; }
+if test ${gl_cv_header_errno_h_complete+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <errno.h>
+#if !defined ETXTBSY
+booboo
+#endif
+#if !defined ENOMSG
+booboo
+#endif
+#if !defined EIDRM
+booboo
+#endif
+#if !defined ENOLINK
+booboo
+#endif
+#if !defined EPROTO
+booboo
+#endif
+#if !defined EMULTIHOP
+booboo
+#endif
+#if !defined EBADMSG
+booboo
+#endif
+#if !defined EOVERFLOW
+booboo
+#endif
+#if !defined ENOTSUP
+booboo
+#endif
+#if !defined ENETRESET
+booboo
+#endif
+#if !defined ECONNABORTED
+booboo
+#endif
+#if !defined ESTALE
+booboo
+#endif
+#if !defined EDQUOT
+booboo
+#endif
+#if !defined ECANCELED
+booboo
+#endif
+#if !defined EOWNERDEAD
+booboo
+#endif
+#if !defined ENOTRECOVERABLE
+booboo
+#endif
+#if !defined EILSEQ
+booboo
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "booboo" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_complete=no
+else $as_nop
+  gl_cv_header_errno_h_complete=yes
+fi
+rm -rf conftest*
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
+printf "%s\n" "$gl_cv_header_errno_h_complete" >&6; }
+  if test $gl_cv_header_errno_h_complete = yes; then
+    GL_GENERATE_ERRNO_H=false
+  else
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_errno_h='<'errno.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
+printf %s "checking absolute name of <errno.h>... " >&6; }
+if test ${gl_cv_next_errno_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <errno.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'errno.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_errno_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_errno_h
+          gl_cv_next_errno_h='"'$gl_header'"'
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
+printf "%s\n" "$gl_cv_next_errno_h" >&6; }
+     fi
+     NEXT_ERRNO_H=$gl_cv_next_errno_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'errno.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_errno_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive
+
+
+
+
+    GL_GENERATE_ERRNO_H=true
+  fi
+
+  if $GL_GENERATE_ERRNO_H; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
+printf %s "checking for EMULTIHOP value... " >&6; }
+if test ${gl_cv_header_errno_h_EMULTIHOP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_EMULTIHOP=yes
+else $as_nop
+  gl_cv_header_errno_h_EMULTIHOP=no
+fi
+rm -rf conftest*
+
+      if test $gl_cv_header_errno_h_EMULTIHOP = no; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_EMULTIHOP=hidden
+fi
+rm -rf conftest*
+
+        if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
+                              if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP"        "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+"
+then :
+
+fi
+
+        fi
+      fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
+printf "%s\n" "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
+    case $gl_cv_header_errno_h_EMULTIHOP in
+      yes | no)
+        EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
+        ;;
+      *)
+        EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP"
+        ;;
+    esac
+
+
+  fi
+
+
+  if $GL_GENERATE_ERRNO_H; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
+printf %s "checking for ENOLINK value... " >&6; }
+if test ${gl_cv_header_errno_h_ENOLINK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_ENOLINK=yes
+else $as_nop
+  gl_cv_header_errno_h_ENOLINK=no
+fi
+rm -rf conftest*
+
+      if test $gl_cv_header_errno_h_ENOLINK = no; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_ENOLINK=hidden
+fi
+rm -rf conftest*
+
+        if test $gl_cv_header_errno_h_ENOLINK = hidden; then
+                              if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK"        "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+"
+then :
+
+fi
+
+        fi
+      fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
+printf "%s\n" "$gl_cv_header_errno_h_ENOLINK" >&6; }
+    case $gl_cv_header_errno_h_ENOLINK in
+      yes | no)
+        ENOLINK_HIDDEN=0; ENOLINK_VALUE=
+        ;;
+      *)
+        ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK"
+        ;;
+    esac
+
+
+  fi
+
+
+  if $GL_GENERATE_ERRNO_H; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
+printf %s "checking for EOVERFLOW value... " >&6; }
+if test ${gl_cv_header_errno_h_EOVERFLOW+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_EOVERFLOW=yes
+else $as_nop
+  gl_cv_header_errno_h_EOVERFLOW=no
+fi
+rm -rf conftest*
+
+      if test $gl_cv_header_errno_h_EOVERFLOW = no; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1
+then :
+  gl_cv_header_errno_h_EOVERFLOW=hidden
+fi
+rm -rf conftest*
+
+        if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
+                              if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW"        "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+"
+then :
+
+fi
+
+        fi
+      fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
+printf "%s\n" "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
+    case $gl_cv_header_errno_h_EOVERFLOW in
+      yes | no)
+        EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
+        ;;
+      *)
+        EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW"
+        ;;
+    esac
+
+
+  fi
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
+printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
+if test ${ac_cv_c_undeclared_builtin_options+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_CFLAGS=$CFLAGS
+   ac_cv_c_undeclared_builtin_options='cannot detect'
+   for ac_arg in '' -fno-builtin; do
+     CFLAGS="$ac_save_CFLAGS $ac_arg"
+     # This test program should *not* compile successfully.
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+(void) strchr;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  # This test program should compile successfully.
+        # No library function is consistently available on
+        # freestanding implementations, so test against a dummy
+        # declaration.  Include always-available headers on the
+        # off chance that they somehow elicit warnings.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);
+
+int
+main (void)
+{
+(void) ac_decl (0, (char *) 0);
+  (void) ac_decl;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  if test x"$ac_arg" = x
+then :
+  ac_cv_c_undeclared_builtin_options='none needed'
+else $as_nop
+  ac_cv_c_undeclared_builtin_options=$ac_arg
+fi
+          break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+    done
+    CFLAGS=$ac_save_CFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
+printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
+  case $ac_cv_c_undeclared_builtin_options in #(
+  'cannot detect') :
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot make $CC report undeclared builtins
+See \`config.log' for more details" "$LINENO" 5; } ;; #(
+  'none needed') :
+    ac_c_undeclared_builtin_options='' ;; #(
+  *) :
+    ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_error_h='<'error.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <error.h>" >&5
+printf %s "checking absolute name of <error.h>... " >&6; }
+if test ${gl_cv_next_error_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+             if test $ac_cv_header_error_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <error.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'error.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_error_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_error_h
+          gl_cv_next_error_h='"'$gl_header'"'
+          else
+               gl_cv_next_error_h='<'error.h'>'
+             fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_error_h" >&5
+printf "%s\n" "$gl_cv_next_error_h" >&6; }
+     fi
+     NEXT_ERROR_H=$gl_cv_next_error_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'error.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_error_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_ERROR_H=$gl_next_as_first_directive
+
+
+
+
+  if test $ac_cv_header_error_h = yes; then
+    HAVE_ERROR_H=1
+  else
+    HAVE_ERROR_H=0
+  fi
+
+
+  REPLACE_ERROR=0
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error" >&5
+printf %s "checking for error... " >&6; }
+if test ${gl_cv_onwards_func_error+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+  exec 9>&6 6>/dev/null
+
+       case "$host_os" in
+
+         linux*-android*)
+           ac_fn_check_decl "$LINENO" "error" "ac_cv_have_decl_error" "#include <error.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_error" = xyes
+then :
+
+fi
+           if test $ac_cv_have_decl_error = yes; then
+             ac_fn_c_check_func "$LINENO" "error" "ac_cv_func_error"
+if test "x$ac_cv_func_error" = xyes
+then :
+
+fi
+
+             if test $ac_cv_func_error = yes; then
+               gl_cv_onwards_func_error=yes
+             else
+                                                            gl_cv_onwards_func_error='future OS version'
+             fi
+           else
+             gl_cv_onwards_func_error='future OS version'
+           fi
+           ;;
+
+
+         *)
+           ac_fn_c_check_func "$LINENO" "error" "ac_cv_func_error"
+if test "x$ac_cv_func_error" = xyes
+then :
+
+fi
+
+           gl_cv_onwards_func_error=$ac_cv_func_error
+           ;;
+
+       esac
+
+  exec 6>&9 9>&-
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_error" >&5
+printf "%s\n" "$gl_cv_onwards_func_error" >&6; }
+
+  case "$gl_cv_onwards_func_error" in
+    future*) ac_cv_func_error=no ;;
+    *)       ac_cv_func_error=$gl_cv_onwards_func_error ;;
+  esac
+  if test $ac_cv_func_error = yes; then
+
+printf "%s\n" "#define HAVE_ERROR 1" >>confdefs.h
+
+  fi
+
+
+  if test $ac_cv_func_error = yes; then
+    HAVE_ERROR=1
+  else
+    HAVE_ERROR=0
+    case "$gl_cv_onwards_func_error" in
+      future*) REPLACE_ERROR=1 ;;
+    esac
+  fi
+
+        ac_fn_check_decl "$LINENO" "error_at_line" "ac_cv_have_decl_error_at_line" "#include <error.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_error_at_line" = xyes
+then :
+
+fi
+  if test $ac_cv_have_decl_error_at_line = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+printf %s "checking for error_at_line... " >&6; }
+if test ${ac_cv_lib_error_at_line+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <error.h>
+int
+main (void)
+{
+error_at_line (0, 0, "", 0, "an error occurred");
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_lib_error_at_line=yes
+else $as_nop
+  ac_cv_lib_error_at_line=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+printf "%s\n" "$ac_cv_lib_error_at_line" >&6; }
+  else
+    ac_cv_lib_error_at_line=no
+  fi
+  if test $ac_cv_lib_error_at_line = yes; then
+    HAVE_ERROR_AT_LINE=1
+  else
+    HAVE_ERROR_AT_LINE=0
+  fi
+  REPLACE_ERROR_AT_LINE=0
+
+  if test $ac_cv_func_error = yes && test $ac_cv_lib_error_at_line = yes; then
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working error function" >&5
+printf %s "checking for working error function... " >&6; }
+if test ${gl_cv_func_working_error+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test $cross_compiling != yes; then
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+              #include <error.h>
+              static void print_no_progname (void) {}
+
+int
+main (void)
+{
+
+              error_print_progname = print_no_progname;
+              error (0, 0, "foo");
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  rm -f conftest.out
+            if test -s conftest$ac_exeext \
+               && ./conftest$ac_exeext 2> conftest.out; then
+              if grep ' ' conftest.out >/dev/null; then
+                gl_cv_func_working_error=no
+              else
+                gl_cv_func_working_error=yes
+              fi
+            else
+              gl_cv_func_working_error=no
+            fi
+            rm -f conftest.out
+
+else $as_nop
+  gl_cv_func_working_error=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+       else
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+              #include <error.h>
+
+int
+main (void)
+{
+
+              error (0, 0, "foo");
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  case "$host_os" in
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_working_error="guessing yes" ;;
+                               # Guess no on Android.
+              linux*-android*) gl_cv_func_working_error="guessing no" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+              *)               gl_cv_func_working_error="$gl_cross_guess_normal" ;;
+            esac
+
+else $as_nop
+  gl_cv_func_working_error=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_error" >&5
+printf "%s\n" "$gl_cv_func_working_error" >&6; }
+    case "$gl_cv_func_working_error" in
+      *no)
+        REPLACE_ERROR=1
+        REPLACE_ERROR_AT_LINE=1
+        ;;
+    esac
+  fi
+
+  if test $HAVE_ERROR = 0 || test $REPLACE_ERROR = 1 \
+     || test $HAVE_ERROR_AT_LINE = 0 || test $REPLACE_ERROR_AT_LINE = 1; then
+    COMPILE_ERROR_C=1
+  else
+    COMPILE_ERROR_C=0
+  fi
+
+
+
+
+
+
+ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_strerror_r" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_STRERROR_R $ac_have_decl" >>confdefs.h
+
+
+if test $ac_cv_have_decl_strerror_r = yes; then
+  # For backward compatibility's sake, define HAVE_STRERROR_R.
+  # (We used to run AC_CHECK_FUNCS_ONCE for strerror_r, as well
+  # as AC_CHECK_DECLS_ONCE.)
+
+printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h
+
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
+printf %s "checking whether strerror_r returns char *... " >&6; }
+if test ${ac_cv_func_strerror_r_char_p+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    ac_cv_func_strerror_r_char_p=no
+    if test $ac_cv_have_decl_strerror_r = yes; then
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+int
+main (void)
+{
+
+         char buf[100];
+         char x = *strerror_r (0, buf, sizeof buf);
+         char *p = strerror_r (0, buf, sizeof buf);
+         return !p || x;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_func_strerror_r_char_p=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+    fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
+printf "%s\n" "$ac_cv_func_strerror_r_char_p" >&6; }
+if test $ac_cv_func_strerror_r_char_p = yes; then
+
+printf "%s\n" "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+
+fi
+
+
+  XGETTEXT_EXTRA_OPTIONS=
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ctype.h defines __header_inline" >&5
+printf %s "checking whether ctype.h defines __header_inline... " >&6; }
+if test ${gl_cv_have___header_inline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+                         #ifndef __header_inline
+                          #error "<ctype.h> does not define __header_inline"
+                         #endif
+
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+  gl_cv_have___header_inline=yes
+else $as_nop
+  gl_cv_have___header_inline=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have___header_inline" >&5
+printf "%s\n" "$gl_cv_have___header_inline" >&6; }
+  if test "$gl_cv_have___header_inline" = yes; then
+
+printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h
+
+  fi
+
+
+
+
+    HAVE_FCNTL=1;
+  HAVE_OPENAT=1;
+  REPLACE_CREAT=0;
+  REPLACE_FCNTL=0;
+  REPLACE_OPEN=0;
+  REPLACE_OPENAT=0;
+
+
+
+
+  GL_GNULIB_CREAT=0
+
+
+
+  GL_GNULIB_FCNTL=0
+
+
+
+  GL_GNULIB_NONBLOCKING=0
+
+
+
+  GL_GNULIB_OPEN=0
+
+
+
+  GL_GNULIB_OPENAT=0
+
+
+
+  GL_GNULIB_MDA_CREAT=1
+
+
+
+  GL_GNULIB_MDA_OPEN=1
+
+
+
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
+printf %s "checking for working fcntl.h... " >&6; }
+if test ${gl_cv_header_working_fcntl_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+                             # Guess 'no' on native Windows.
+          mingw* | windows*) gl_cv_header_working_fcntl_h='no' ;;
+          *)                 gl_cv_header_working_fcntl_h=cross-compiling ;;
+        esac
+
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+           #include <sys/stat.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           # include <stdlib.h>
+           # defined sleep(n) _sleep ((n) * 1000)
+           #endif
+           #include <fcntl.h>
+
+
+$gl_mda_defines
+
+           #ifndef O_NOATIME
+            #define O_NOATIME 0
+           #endif
+           #ifndef O_NOFOLLOW
+            #define O_NOFOLLOW 0
+           #endif
+           static int const constants[] =
+            {
+              O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
+              O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
+            };
+
+int
+main (void)
+{
+
+            int result = !constants;
+            #if HAVE_SYMLINK
+            {
+              static char const sym[] = "conftest.sym";
+              if (symlink ("/dev/null", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              if (unlink (sym) != 0 || symlink (".", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_RDONLY | O_NOFOLLOW);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              unlink (sym);
+            }
+            #endif
+            {
+              static char const file[] = "confdefs.h";
+              int fd = open (file, O_RDONLY | O_NOATIME);
+              if (fd < 0)
+                result |= 8;
+              else
+                {
+                  struct stat st0;
+                  if (fstat (fd, &st0) != 0)
+                    result |= 16;
+                  else
+                    {
+                      char c;
+                      sleep (1);
+                      if (read (fd, &c, 1) != 1)
+                        result |= 24;
+                      else
+                        {
+                          if (close (fd) != 0)
+                            result |= 32;
+                          else
+                            {
+                              struct stat st1;
+                              if (stat (file, &st1) != 0)
+                                result |= 40;
+                              else
+                                if (st0.st_atime != st1.st_atime)
+                                  result |= 64;
+                            }
+                        }
+                    }
+                }
+            }
+            return result;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_header_working_fcntl_h=yes
+else $as_nop
+  case $? in #(
+        4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
+        64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
+        68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
+         *) gl_cv_header_working_fcntl_h='no';;
+        esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
+printf "%s\n" "$gl_cv_header_working_fcntl_h" >&6; }
+
+  case $gl_cv_header_working_fcntl_h in #(
+  *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
+  *) ac_val=1;;
+  esac
+
+printf "%s\n" "#define HAVE_WORKING_O_NOATIME $ac_val" >>confdefs.h
+
+
+  case $gl_cv_header_working_fcntl_h in #(
+  *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
+  *) ac_val=1;;
+  esac
+
+printf "%s\n" "#define HAVE_WORKING_O_NOFOLLOW $ac_val" >>confdefs.h
+
+
+
+  ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default
+"
+if test "x$ac_cv_type_pid_t" = xyes
+then :
+
+else $as_nop
+                                          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #if defined _WIN64 && !defined __CYGWIN__
+          LLP64
+          #endif
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_pid_type='int'
+else $as_nop
+  ac_pid_type='__int64'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h
+
+
+fi
+
+
+ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+if test "x$ac_cv_type_mode_t" = xyes
+then :
+
+else $as_nop
+
+printf "%s\n" "#define mode_t int" >>confdefs.h
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_fcntl_h='<'fcntl.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
+printf %s "checking absolute name of <fcntl.h>... " >&6; }
+if test ${gl_cv_next_fcntl_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fcntl.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'fcntl.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_fcntl_h
+          gl_cv_next_fcntl_h='"'$gl_header'"'
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
+printf "%s\n" "$gl_cv_next_fcntl_h" >&6; }
+     fi
+     NEXT_FCNTL_H=$gl_cv_next_fcntl_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'fcntl.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_fcntl_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    HAVE_FCHMODAT=1;
+  HAVE_FSTATAT=1;
+  HAVE_FUTIMENS=1;
+  HAVE_GETUMASK=1;
+  HAVE_LCHMOD=1;
+  HAVE_LSTAT=1;
+  HAVE_MKDIRAT=1;
+  HAVE_MKFIFO=1;
+  HAVE_MKFIFOAT=1;
+  HAVE_MKNOD=1;
+  HAVE_MKNODAT=1;
+  HAVE_UTIMENSAT=1;
+  REPLACE_CHMOD=0;
+  REPLACE_FCHMODAT=0;
+  REPLACE_FSTAT=0;
+  REPLACE_FSTATAT=0;
+  REPLACE_FUTIMENS=0;
+  REPLACE_LSTAT=0;
+  REPLACE_MKDIR=0;
+  REPLACE_MKFIFO=0;
+  REPLACE_MKFIFOAT=0;
+  REPLACE_MKNOD=0;
+  REPLACE_MKNODAT=0;
+  REPLACE_STAT=0;
+  REPLACE_UTIMENSAT=0;
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+printf %s "checking whether stat file-mode macros are broken... " >&6; }
+if test ${ac_cv_header_stat_broken+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_header_stat_broken=no
+else $as_nop
+  ac_cv_header_stat_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
+printf "%s\n" "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+printf "%s\n" "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+
+fi
+
+
+
+  case "$host_os" in
+    mingw* | windows*)
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
+printf %s "checking for 64-bit off_t... " >&6; }
+if test ${gl_cv_type_off_t_64+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_type_off_t_64=yes
+else $as_nop
+  gl_cv_type_off_t_64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5
+printf "%s\n" "$gl_cv_type_off_t_64" >&6; }
+      if test $gl_cv_type_off_t_64 = no; then
+        WINDOWS_64_BIT_OFF_T=1
+      else
+        WINDOWS_64_BIT_OFF_T=0
+      fi
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit st_size" >&5
+printf %s "checking for 64-bit st_size... " >&6; }
+if test ${gl_cv_member_st_size_64+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+                struct stat buf;
+                int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_member_st_size_64=yes
+else $as_nop
+  gl_cv_member_st_size_64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5
+printf "%s\n" "$gl_cv_member_st_size_64" >&6; }
+      if test $gl_cv_member_st_size_64 = no; then
+        WINDOWS_64_BIT_ST_SIZE=1
+      else
+        WINDOWS_64_BIT_ST_SIZE=0
+      fi
+      ;;
+    *)
+                                                      WINDOWS_64_BIT_OFF_T=0
+      WINDOWS_64_BIT_ST_SIZE=0
+      ;;
+  esac
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
+printf %s "checking for C/C++ restrict keyword... " >&6; }
+if test ${ac_cv_c_restrict+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_c_restrict=no
+   # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see:
+   # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html
+   # Put 'restrict' last, because C++ lacks it.
+   for ac_kw in __restrict__ __restrict _Restrict restrict; do
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+
+int
+main (void)
+{
+int s[1];
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_c_restrict=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+     test "$ac_cv_c_restrict" != no && break
+   done
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
+printf "%s\n" "$ac_cv_c_restrict" >&6; }
+
+ case $ac_cv_c_restrict in
+   restrict) ;;
+   no) printf "%s\n" "#define restrict /**/" >>confdefs.h
+ ;;
+   *)  printf "%s\n" "#define restrict $ac_cv_c_restrict" >>confdefs.h
+ ;;
+ esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
+printf %s "checking absolute name of <sys/stat.h>... " >&6; }
+if test ${gl_cv_next_sys_stat_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+             if test $ac_cv_header_sys_stat_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/stat.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_sys_stat_h
+          gl_cv_next_sys_stat_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+             fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
+printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; }
+     fi
+     NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/stat.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_stat_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+    WINDOWS_STAT_TIMESPEC=0
+
+
+
+
+
+
+
+
+      ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_type_nlink_t" = xyes
+then :
+
+else $as_nop
+
+printf "%s\n" "#define nlink_t int" >>confdefs.h
+
+fi
+
+
+
+
+
+
+
+
+
+
+  case "$host_os" in
+    mingw* | windows*)
+      ac_fn_c_check_header_compile "$LINENO" "sdkddkver.h" "ac_cv_header_sdkddkver_h" "$ac_includes_default"
+if test "x$ac_cv_header_sdkddkver_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SDKDDKVER_H 1" >>confdefs.h
+
+fi
+
+      ;;
+  esac
+
+
+
+
+
+
+
+  GL_GNULIB_CHMOD=0
+
+
+
+  GL_GNULIB_FCHMODAT=0
+
+
+
+  GL_GNULIB_FSTAT=0
+
+
+
+  GL_GNULIB_FSTATAT=0
+
+
+
+  GL_GNULIB_FUTIMENS=0
+
+
+
+  GL_GNULIB_GETUMASK=0
+
+
+
+  GL_GNULIB_LCHMOD=0
+
+
+
+  GL_GNULIB_LSTAT=0
+
+
+
+  GL_GNULIB_MKDIR=0
+
+
+
+  GL_GNULIB_MKDIRAT=0
+
+
+
+  GL_GNULIB_MKFIFO=0
+
+
+
+  GL_GNULIB_MKFIFOAT=0
+
+
+
+  GL_GNULIB_MKNOD=0
+
+
+
+  GL_GNULIB_MKNODAT=0
+
+
+
+  GL_GNULIB_STAT=0
+
+
+
+  GL_GNULIB_UTIMENSAT=0
+
+
+
+  GL_GNULIB_OVERRIDES_STRUCT_STAT=0
+
+
+
+  GL_GNULIB_MDA_CHMOD=1
+
+
+
+  GL_GNULIB_MDA_MKDIR=1
+
+
+
+  GL_GNULIB_MDA_UMASK=1
+
+
+
+
+    HAVE_DECL_FCLOSEALL=1;
+  HAVE_DECL_FPURGE=1;
+  HAVE_DECL_FSEEKO=1;
+  HAVE_DECL_FTELLO=1;
+  HAVE_DECL_GETDELIM=1;
+  HAVE_DECL_GETLINE=1;
+  HAVE_DECL_GETW=1;
+  HAVE_DECL_OBSTACK_PRINTF=1;
+  HAVE_DECL_PUTW=1;
+  HAVE_DECL_SNPRINTF=1;
+  HAVE_DECL_VSNPRINTF=1;
+  HAVE_DPRINTF=1;
+  HAVE_FSEEKO=1;
+  HAVE_FTELLO=1;
+  HAVE_PCLOSE=1;
+  HAVE_POPEN=1;
+  HAVE_RENAMEAT=1;
+  HAVE_VASPRINTF=1;
+  HAVE_VDPRINTF=1;
+  REPLACE_DPRINTF=0;
+  REPLACE_FCLOSE=0;
+  REPLACE_FDOPEN=0;
+  REPLACE_FFLUSH=0;
+  REPLACE_FOPEN=0;
+  REPLACE_FOPEN_FOR_FOPEN_GNU=0;
+  REPLACE_FPRINTF=0;
+  REPLACE_FPURGE=0;
+  REPLACE_FREOPEN=0;
+  REPLACE_FSEEK=0;
+  REPLACE_FSEEKO=0;
+  REPLACE_FTELL=0;
+  REPLACE_FTELLO=0;
+  REPLACE_GETDELIM=0;
+  REPLACE_GETLINE=0;
+  REPLACE_OBSTACK_PRINTF=0;
+  REPLACE_PERROR=0;
+  REPLACE_POPEN=0;
+  REPLACE_PRINTF=0;
+  REPLACE_REMOVE=0;
+  REPLACE_RENAME=0;
+  REPLACE_RENAMEAT=0;
+  REPLACE_SNPRINTF=0;
+  REPLACE_SPRINTF=0;
+  REPLACE_STDIO_READ_FUNCS=0;
+  REPLACE_STDIO_WRITE_FUNCS=0;
+  REPLACE_TMPFILE=0;
+  REPLACE_VASPRINTF=0;
+  REPLACE_VDPRINTF=0;
+  REPLACE_VFPRINTF=0;
+  REPLACE_VPRINTF=0;
+  REPLACE_VSNPRINTF=0;
+  REPLACE_VSPRINTF=0;
+
+ac_fn_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getdelim" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_GETDELIM $ac_have_decl" >>confdefs.h
+
+
+
+  GL_GNULIB_DPRINTF=0
+
+
+
+  GL_GNULIB_FCLOSE=0
+
+
+
+  GL_GNULIB_FDOPEN=0
+
+
+
+  GL_GNULIB_FFLUSH=0
+
+
+
+  GL_GNULIB_FGETC=0
+
+
+
+  GL_GNULIB_FGETS=0
+
+
+
+  GL_GNULIB_FOPEN=0
+
+
+
+  GL_GNULIB_FOPEN_GNU=0
+
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
-if ${am_cv_lispdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-   if test $EMACS != "no"; then
-     if test x${lispdir+set} != xset; then
-  # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
-  # Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
-  #  which is non-obvious for non-emacs users.
-  # Redirecting /dev/null should help a bit; pity we can't detect "broken"
-  #  emacsen earlier and avoid running this altogether.
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
-  ($EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       am_cv_lispdir=`sed -n \
-       -e 's,/$,,' \
-       -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
-       -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \
-       conftest.out`
-       rm conftest.out
-     fi
-   fi
-   test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
+  GL_GNULIB_FPRINTF=0
+
+
+
+  GL_GNULIB_FPRINTF_POSIX=0
+
+
+
+  GL_GNULIB_FPURGE=0
+
+
+
+  GL_GNULIB_FPUTC=0
+
+
+
+  GL_GNULIB_FPUTS=0
+
+
+
+  GL_GNULIB_FREAD=0
+
+
+
+  GL_GNULIB_FREOPEN=0
+
+
+
+  GL_GNULIB_FSCANF=0
+
+
+
+  GL_GNULIB_FSEEK=0
+
+
+
+  GL_GNULIB_FSEEKO=0
+
+
+
+  GL_GNULIB_FTELL=0
+
+
+
+  GL_GNULIB_FTELLO=0
+
+
+
+  GL_GNULIB_FWRITE=0
+
+
+
+  GL_GNULIB_GETC=0
+
+
+
+  GL_GNULIB_GETCHAR=0
+
+
+
+  GL_GNULIB_GETDELIM=0
+
+
+
+  GL_GNULIB_GETLINE=0
+
+
+
+  GL_GNULIB_OBSTACK_PRINTF=0
+
+
+
+  GL_GNULIB_OBSTACK_PRINTF_POSIX=0
+
+
+
+  GL_GNULIB_PCLOSE=0
+
+
+
+  GL_GNULIB_PERROR=0
+
+
+
+  GL_GNULIB_POPEN=0
+
+
+
+  GL_GNULIB_PRINTF=0
+
+
+
+  GL_GNULIB_PRINTF_POSIX=0
+
+
+
+  GL_GNULIB_PUTC=0
+
+
+
+  GL_GNULIB_PUTCHAR=0
+
+
+
+  GL_GNULIB_PUTS=0
+
+
+
+  GL_GNULIB_REMOVE=0
+
+
+
+  GL_GNULIB_RENAME=0
+
+
+
+  GL_GNULIB_RENAMEAT=0
+
+
+
+  GL_GNULIB_SCANF=0
+
+
+
+  GL_GNULIB_SNPRINTF=0
+
+
+
+  GL_GNULIB_SPRINTF_POSIX=0
+
+
+
+  GL_GNULIB_STDIO_H_NONBLOCKING=0
+
+
+
+  GL_GNULIB_STDIO_H_SIGPIPE=0
+
+
+
+  GL_GNULIB_TMPFILE=0
+
+
+
+  GL_GNULIB_VASPRINTF=0
+
 
+
+  GL_GNULIB_VFSCANF=0
+
+
+
+  GL_GNULIB_VSCANF=0
+
+
+
+  GL_GNULIB_VDPRINTF=0
+
+
+
+  GL_GNULIB_VFPRINTF=0
+
+
+
+  GL_GNULIB_VFPRINTF_POSIX=0
+
+
+
+  GL_GNULIB_VPRINTF=0
+
+
+
+  GL_GNULIB_VPRINTF_POSIX=0
+
+
+
+  GL_GNULIB_VSNPRINTF=0
+
+
+
+  GL_GNULIB_VSPRINTF_POSIX=0
+
+
+
+  GL_GNULIB_MDA_FCLOSEALL=1
+
+
+
+  GL_GNULIB_MDA_FDOPEN=1
+
+
+
+  GL_GNULIB_MDA_FILENO=1
+
+
+
+  GL_GNULIB_MDA_GETW=1
+
+
+
+  GL_GNULIB_MDA_PUTW=1
+
+
+
+  GL_GNULIB_MDA_TEMPNAM=1
+
+
+
+
+ac_fn_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getdtablesize" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_lispdir" >&5
-$as_echo "$am_cv_lispdir" >&6; }
-  lispdir="$am_cv_lispdir"
+printf "%s\n" "#define HAVE_DECL_GETDTABLESIZE $ac_have_decl" >>confdefs.h
+
+ac_fn_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getline" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_GETLINE $ac_have_decl" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_getopt_h='<'getopt.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5
+printf %s "checking absolute name of <getopt.h>... " >&6; }
+if test ${gl_cv_next_getopt_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+             if test $ac_cv_header_getopt_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <getopt.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'getopt.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_getopt_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_getopt_h
+          gl_cv_next_getopt_h='"'$gl_header'"'
+          else
+               gl_cv_next_getopt_h='<'getopt.h'>'
+             fi
+
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5
+printf "%s\n" "$gl_cv_next_getopt_h" >&6; }
+     fi
+     NEXT_GETOPT_H=$gl_cv_next_getopt_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'getopt.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_getopt_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive
 
 
 
 
-if test "$am_cv_func_iconv" != "yes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}:
-***
+  if test $ac_cv_header_getopt_h = yes; then
+    HAVE_GETOPT_H=1
+  else
+    HAVE_GETOPT_H=0
+  fi
+
+
+  gl_replace_getopt=
 
-Your system does not have iconv().  The iconv() function is not
-strictly required by the source code.  However, that may change in
-the future, unless you report that this may be a problem for you.
+    if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+           for ac_header in getopt.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
+if test "x$ac_cv_header_getopt_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
 
-Please report this to $PACKAGE_BUGREPORT.
+else $as_nop
+  gl_replace_getopt=yes
+fi
 
-***" >&5
-$as_echo "$as_me:
-***
+done
+  fi
 
-Your system does not have iconv().  The iconv() function is not
-strictly required by the source code.  However, that may change in
-the future, unless you report that this may be a problem for you.
+    if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
 
-Please report this to $PACKAGE_BUGREPORT.
+  for ac_func in getopt_long_only
+do :
+  ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only"
+if test "x$ac_cv_func_getopt_long_only" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETOPT_LONG_ONLY 1" >>confdefs.h
 
-***" >&6;}
+else $as_nop
+  gl_replace_getopt=yes
 fi
 
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+done
+  fi
+
+          if test -z "$gl_replace_getopt"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5
+printf %s "checking whether getopt is POSIX compatible... " >&6; }
+if test ${gl_cv_func_getopt_posix+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+                                                if test $cross_compiling = no; then
+                              if test "$cross_compiling" = yes
+then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
+#include <unistd.h>
 #include <stdlib.h>
-#include <stdarg.h>
 #include <string.h>
-#include <float.h>
 
 int
 main ()
 {
-
-  ;
+  static char program[] = "program";
+  static char a[] = "-a";
+  static char foo[] = "foo";
+  static char bar[] = "bar";
+  char *argv[] = { program, a, foo, bar, NULL };
+  int c;
+
+  c = getopt (4, argv, "ab");
+  if (!(c == 'a'))
+    return 1;
+  c = getopt (4, argv, "ab");
+  if (!(c == -1))
+    return 2;
+  if (!(optind == 2))
+    return 3;
   return 0;
 }
+
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getopt_posix=maybe
+else $as_nop
+  gl_cv_func_getopt_posix=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+          if test $gl_cv_func_getopt_posix = maybe; then
+                                    if test "$cross_compiling" = yes
+then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
+#include <unistd.h>
+#include <stdlib.h>
 #include <string.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
+int
+main ()
+{
+  static char program[] = "program";
+  static char donald[] = "donald";
+  static char p[] = "-p";
+  static char billy[] = "billy";
+  static char duck[] = "duck";
+  static char a[] = "-a";
+  static char bar[] = "bar";
+  char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+  int c;
+
+  c = getopt (7, argv, "+abp:q:");
+  if (!(c == -1))
+    return 4;
+  if (!(strcmp (argv[0], "program") == 0))
+    return 5;
+  if (!(strcmp (argv[1], "donald") == 0))
+    return 6;
+  if (!(strcmp (argv[2], "-p") == 0))
+    return 7;
+  if (!(strcmp (argv[3], "billy") == 0))
+    return 8;
+  if (!(strcmp (argv[4], "duck") == 0))
+    return 9;
+  if (!(strcmp (argv[5], "-a") == 0))
+    return 10;
+  if (!(strcmp (argv[6], "bar") == 0))
+    return 11;
+  if (!(optind == 1))
+    return 12;
+  return 0;
+}
 
-else
-  ac_cv_header_stdc=no
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getopt_posix=maybe
+else $as_nop
+  gl_cv_func_getopt_posix=no
 fi
-rm -f conftest*
-
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+          fi
+          if test $gl_cv_func_getopt_posix = maybe; then
+                        if test "$cross_compiling" = yes
+then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
+#include <unistd.h>
 #include <stdlib.h>
+#include <string.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
+int
+main ()
+{
+  static char program[] = "program";
+  static char ab[] = "-ab";
+  char *argv[3] = { program, ab, NULL };
+  if (getopt (2, argv, "ab:") != 'a')
+    return 13;
+  if (getopt (2, argv, "ab:") != '?')
+    return 14;
+  if (optopt != 'b')
+    return 15;
+  if (optind != 2)
+    return 16;
+  return 0;
+}
 
-else
-  ac_cv_header_stdc=no
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getopt_posix=yes
+else $as_nop
+  gl_cv_func_getopt_posix=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f conftest*
+
+          fi
+        else
+          case "$host_os" in
+            darwin* | aix* | mingw* | windows*) gl_cv_func_getopt_posix="guessing no";;
+            *)                                  gl_cv_func_getopt_posix="guessing yes";;
+          esac
+        fi
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5
+printf "%s\n" "$gl_cv_func_getopt_posix" >&6; }
+    case "$gl_cv_func_getopt_posix" in
+      *no) gl_replace_getopt=yes ;;
+    esac
+  fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
+  if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
+printf %s "checking for working GNU getopt function... " >&6; }
+if test ${gl_cv_func_getopt_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the
+       # optstring is necessary for programs like m4 that have POSIX-mandated
+       # semantics for supporting options interspersed with files.
+       # Also, since getopt_long is a GNU extension, we require optind=0.
+       # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
+       # so take care to revert to the correct (non-)export state.
+       gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
+       case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
+         xx) gl_had_POSIXLY_CORRECT=exported ;;
+         x)  gl_had_POSIXLY_CORRECT=yes      ;;
+         *)  gl_had_POSIXLY_CORRECT=         ;;
+       esac
+       POSIXLY_CORRECT=1
+       export POSIXLY_CORRECT
+       if test "$cross_compiling" = yes
+then :
+                             gl_cv_func_getopt_gnu="$gl_cross_guess_normal"
+
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ctype.h>
+#include <getopt.h>
+                           #include <stddef.h>
+                           #include <string.h>
+
 #include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#if defined __MACH__ && defined __APPLE__
+/* Avoid a crash on Mac OS X.  */
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#include <mach/thread_status.h>
+#include <mach/exception.h>
+#include <mach/task.h>
+#include <pthread.h>
+/* The exception port on which our thread listens.  */
+static mach_port_t our_exception_port;
+/* The main function of the thread listening for exceptions of type
+   EXC_BAD_ACCESS.  */
+static void *
+mach_exception_thread (void *arg)
+{
+  /* Buffer for a message to be received.  */
+  struct {
+    mach_msg_header_t head;
+    mach_msg_body_t msgh_body;
+    char data[1024];
+  } msg;
+  mach_msg_return_t retval;
+  /* Wait for a message on the exception port.  */
+  retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
+                     our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+  if (retval != MACH_MSG_SUCCESS)
+    abort ();
+  exit (1);
+}
+static void
+nocrash_init (void)
+{
+  mach_port_t self = mach_task_self ();
+  /* Allocate a port on which the thread shall listen for exceptions.  */
+  if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
+      == KERN_SUCCESS) {
+    /* See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
+    if (mach_port_insert_right (self, our_exception_port, our_exception_port,
+                                MACH_MSG_TYPE_MAKE_SEND)
+        == KERN_SUCCESS) {
+      /* The exceptions we want to catch.  Only EXC_BAD_ACCESS is interesting
+         for us.  */
+      exception_mask_t mask = EXC_MASK_BAD_ACCESS;
+      /* Create the thread listening on the exception port.  */
+      pthread_attr_t attr;
+      pthread_t thread;
+      if (pthread_attr_init (&attr) == 0
+          && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
+          && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
+        pthread_attr_destroy (&attr);
+        /* Replace the exception port info for these exceptions with our own.
+           Note that we replace the exception port for the entire task, not only
+           for a particular thread.  This has the effect that when our exception
+           port gets the message, the thread specific exception port has already
+           been asked, and we don't need to bother about it.
+           See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
+        task_set_exception_ports (self, mask, our_exception_port,
+                                  EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
+      }
+    }
+  }
+}
+#elif defined _WIN32 && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
 #else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+/* Avoid a crash on POSIX systems.  */
+#include <signal.h>
+#include <unistd.h>
+/* A POSIX signal handler.  */
+static void
+exception_handler (int sig)
+{
+  _exit (1);
+}
+static void
+nocrash_init (void)
+{
+#ifdef SIGSEGV
+  signal (SIGSEGV, exception_handler);
+#endif
+#ifdef SIGBUS
+  signal (SIGBUS, exception_handler);
+#endif
+}
 #endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
+
+int
+main (void)
+{
+
+             int result = 0;
+
+             nocrash_init();
+
+             /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
+                and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+                OSF/1 5.1, Solaris 10.  */
+             {
+               static char conftest[] = "conftest";
+               static char plus[] = "-+";
+               char *argv[3] = { conftest, plus, NULL };
+               opterr = 0;
+               if (getopt (2, argv, "+a") != '?')
+                 result |= 1;
+             }
+             /* This code succeeds on glibc 2.8, mingw,
+                and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+                IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x.  */
+             {
+               static char program[] = "program";
+               static char p[] = "-p";
+               static char foo[] = "foo";
+               static char bar[] = "bar";
+               char *argv[] = { program, p, foo, bar, NULL };
+
+               optind = 1;
+               if (getopt (4, argv, "p::") != 'p')
+                 result |= 2;
+               else if (optarg != NULL)
+                 result |= 4;
+               else if (getopt (4, argv, "p::") != -1)
+                 result |= 6;
+               else if (optind != 2)
+                 result |= 8;
+             }
+             /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0.  */
+             {
+               static char program[] = "program";
+               static char foo[] = "foo";
+               static char p[] = "-p";
+               char *argv[] = { program, foo, p, NULL };
+               optind = 0;
+               if (getopt (3, argv, "-p") != 1)
+                 result |= 16;
+               else if (getopt (3, argv, "-p") != 'p')
+                 result |= 16;
+             }
+             /* This code fails on glibc 2.11.  */
+             {
+               static char program[] = "program";
+               static char b[] = "-b";
+               static char a[] = "-a";
+               char *argv[] = { program, b, a, NULL };
+               optind = opterr = 0;
+               if (getopt (3, argv, "+:a:b") != 'b')
+                 result |= 32;
+               else if (getopt (3, argv, "+:a:b") != ':')
+                 result |= 32;
+             }
+             /* This code dumps core on glibc 2.14.  */
+             {
+               static char program[] = "program";
+               static char w[] = "-W";
+               static char dummy[] = "dummy";
+               char *argv[] = { program, w, dummy, NULL };
+               optind = opterr = 1;
+               if (getopt (3, argv, "W;") != 'W')
+                 result |= 64;
+             }
+             return result;
+
+  ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getopt_gnu=yes
+else $as_nop
+  gl_cv_func_getopt_gnu=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-
-# For gnulib stuff in gl/.
-
-
-
-
-
-          LIBC_FATAL_STDERR_=1
-  export LIBC_FATAL_STDERR_
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for preferred C# implementation" >&5
-$as_echo_n "checking for preferred C# implementation... " >&6; }
-  # Check whether --enable-csharp was given.
-if test "${enable_csharp+set}" = set; then :
-  enableval=$enable_csharp; CSHARP_CHOICE="$enableval"
-else
-  CSHARP_CHOICE=any
-fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CSHARP_CHOICE" >&5
-$as_echo "$CSHARP_CHOICE" >&6; }
-  case "$CSHARP_CHOICE" in
-    pnet)
-
-$as_echo "#define CSHARP_CHOICE_PNET 1" >>confdefs.h
-
-      ;;
-    mono)
-
-$as_echo "#define CSHARP_CHOICE_MONO 1" >>confdefs.h
-
-      ;;
-  esac
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C# compiler" >&5
-$as_echo_n "checking for C# compiler... " >&6; }
-  HAVE_CSHARPCOMP=1
-        # Extract the first word of "cscc", so it can be a program name with args.
-set dummy cscc; ac_word=$2
-:
-if ${ac_cv_prog_HAVE_CSCC_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$HAVE_CSCC_IN_PATH"; then
-  ac_cv_prog_HAVE_CSCC_IN_PATH="$HAVE_CSCC_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_HAVE_CSCC_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+       case $gl_had_POSIXLY_CORRECT in
+         exported) ;;
+         yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;;
+         *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;;
+       esac
 
 fi
-fi
-HAVE_CSCC_IN_PATH=$ac_cv_prog_HAVE_CSCC_IN_PATH
-if test -n "$HAVE_CSCC_IN_PATH"; then
-  :
-else
-  :
-fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5
+printf "%s\n" "$gl_cv_func_getopt_gnu" >&6; }
+    if test "$gl_cv_func_getopt_gnu" != yes; then
+      gl_replace_getopt=yes
+    else
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5
+printf %s "checking for working GNU getopt_long function... " >&6; }
+if test ${gl_cv_func_getopt_long_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+              case "$host_os" in
+              openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
+              *)        gl_cv_func_getopt_long_gnu="guessing yes";;
+            esac
 
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <getopt.h>
+                #include <stddef.h>
+                #include <string.h>
 
-  # Extract the first word of "mcs", so it can be a program name with args.
-set dummy mcs; ac_word=$2
-:
-if ${ac_cv_prog_HAVE_MCS_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$HAVE_MCS_IN_PATH"; then
-  ac_cv_prog_HAVE_MCS_IN_PATH="$HAVE_MCS_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_HAVE_MCS_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+int
+main (void)
+{
+static const struct option long_options[] =
+                  {
+                    { "xtremely-",no_argument,       NULL, 1003 },
+                    { "xtra",     no_argument,       NULL, 1001 },
+                    { "xtreme",   no_argument,       NULL, 1002 },
+                    { "xtremely", no_argument,       NULL, 1003 },
+                    { NULL,       0,                 NULL, 0 }
+                  };
+                /* This code fails on OpenBSD 5.0.  */
+                {
+                  static char program[] = "program";
+                  static char xtremel[] = "--xtremel";
+                  char *argv[] = { program, xtremel, NULL };
+                  int option_index;
+                  optind = 1; opterr = 0;
+                  if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
+                    return 1;
+                }
+                return 0;
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getopt_long_gnu=yes
+else $as_nop
+  gl_cv_func_getopt_long_gnu=no
 fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-HAVE_MCS_IN_PATH=$ac_cv_prog_HAVE_MCS_IN_PATH
-if test -n "$HAVE_MCS_IN_PATH"; then
-  :
-else
-  :
-fi
-
 
-  # Extract the first word of "csc", so it can be a program name with args.
-set dummy csc; ac_word=$2
-:
-if ${ac_cv_prog_HAVE_CSC_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$HAVE_CSC_IN_PATH"; then
-  ac_cv_prog_HAVE_CSC_IN_PATH="$HAVE_CSC_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_HAVE_CSC_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
 fi
-fi
-HAVE_CSC_IN_PATH=$ac_cv_prog_HAVE_CSC_IN_PATH
-if test -n "$HAVE_CSC_IN_PATH"; then
-  :
-else
-  :
-fi
-
-
-        for impl in "$CSHARP_CHOICE" pnet mono sscli no; do
-    case "$impl" in
-      pnet)
-        if test -n "$HAVE_CSCC_IN_PATH" \
-           && cscc --version >/dev/null 2>/dev/null \
-           && (
-             # See if pnetlib is well installed.
-             echo 'class ConfTest { static void Main() { } }' > conftest.cs
-             cscc -o conftest.exe conftest.cs 2>/dev/null
-             error=$?
-             rm -f conftest.cs conftest.exe
-             exit $error
-            ); then
-          HAVE_CSCC=1
-          ac_result="cscc"
-          break
-        fi
-        ;;
-      mono)
-        if test -n "$HAVE_MCS_IN_PATH" \
-           && mcs --version >/dev/null 2>/dev/null \
-           && mcs --version 2>/dev/null | grep Mono >/dev/null; then
-          HAVE_MCS=1
-          ac_result="mcs"
-          break
-        fi
-        ;;
-      sscli)
-        if test -n "$HAVE_CSC_IN_PATH" \
-           && csc -help >/dev/null 2>/dev/null \
-           && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
-          HAVE_CSC=1
-          ac_result="csc"
-          break
-        fi
-        ;;
-      no)
-        HAVE_CSHARPCOMP=
-        ac_result="no"
-        break
-        ;;
-    esac
-  done
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
-$as_echo "$ac_result" >&6; }
-
-
-
-    if test -z "${CSHARPCOMPFLAGS+set}"; then
-    CSHARPCOMPFLAGS="-O -g"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5
+printf "%s\n" "$gl_cv_func_getopt_long_gnu" >&6; }
+      case "$gl_cv_func_getopt_long_gnu" in
+        *yes) ;;
+        *) gl_replace_getopt=yes ;;
+      esac
+    fi
   fi
 
 
 
+    HAVE__EXIT=1;
+  HAVE_ALIGNED_ALLOC=1;
+  HAVE_ATOLL=1;
+  HAVE_CANONICALIZE_FILE_NAME=1;
+  HAVE_DECL_ECVT=1;
+  HAVE_DECL_FCVT=1;
+  HAVE_DECL_GCVT=1;
+  HAVE_DECL_GETLOADAVG=1;
+  HAVE_DECL_PROGRAM_INVOCATION_NAME=1;
+  HAVE_GETPROGNAME=1;
+  HAVE_GETSUBOPT=1;
+  HAVE_GRANTPT=1;
+  HAVE_INITSTATE=1;
+  HAVE_DECL_INITSTATE=1;
+  HAVE_MBTOWC=1;
+  HAVE_MKDTEMP=1;
+  HAVE_MKOSTEMP=1;
+  HAVE_MKOSTEMPS=1;
+  HAVE_MKSTEMP=1;
+  HAVE_MKSTEMPS=1;
+  HAVE_POSIX_MEMALIGN=1;
+  HAVE_POSIX_OPENPT=1;
+  HAVE_PTSNAME=1;
+  HAVE_PTSNAME_R=1;
+  HAVE_QSORT_R=1;
+  HAVE_RANDOM=1;
+  HAVE_RANDOM_H=1;
+  HAVE_RANDOM_R=1;
+  HAVE_REALLOCARRAY=1;
+  HAVE_REALPATH=1;
+  HAVE_RPMATCH=1;
+  HAVE_SECURE_GETENV=1;
+  HAVE_SETENV=1;
+  HAVE_DECL_SETENV=1;
+  HAVE_SETSTATE=1;
+  HAVE_DECL_SETSTATE=1;
+  HAVE_STRTOD=1;
+  HAVE_STRTOL=1;
+  HAVE_STRTOLD=1;
+  HAVE_STRTOLL=1;
+  HAVE_STRTOUL=1;
+  HAVE_STRTOULL=1;
+  HAVE_STRUCT_RANDOM_DATA=1;
+  HAVE_SYS_LOADAVG_H=0;
+  HAVE_UNLOCKPT=1;
+  HAVE_DECL_UNSETENV=1;
+  REPLACE__EXIT=0;
+  REPLACE_ALIGNED_ALLOC=0;
+  REPLACE_CALLOC_FOR_CALLOC_GNU=0;
+  REPLACE_CALLOC_FOR_CALLOC_POSIX=0;
+  REPLACE_CANONICALIZE_FILE_NAME=0;
+  REPLACE_FREE=0;
+  REPLACE_GETLOADAVG=0;
+  REPLACE_GETPROGNAME=0;
+  REPLACE_GETSUBOPT=0;
+  REPLACE_INITSTATE=0;
+  REPLACE_MALLOC_FOR_MALLOC_GNU=0;
+  REPLACE_MALLOC_FOR_MALLOC_POSIX=0;
+  REPLACE_MB_CUR_MAX=0;
+  REPLACE_MBSTOWCS=0;
+  REPLACE_MBTOWC=0;
+  REPLACE_MKOSTEMP=0;
+  REPLACE_MKOSTEMPS=0;
+  REPLACE_MKSTEMP=0;
+  REPLACE_POSIX_MEMALIGN=0;
+  REPLACE_POSIX_OPENPT=0;
+  REPLACE_PTSNAME=0;
+  REPLACE_PTSNAME_R=0;
+  REPLACE_PUTENV=0;
+  REPLACE_QSORT_R=0;
+  REPLACE_RAND=0;
+  REPLACE_RANDOM=0;
+  REPLACE_RANDOM_R=0;
+  REPLACE_REALLOC_FOR_REALLOC_GNU=0;
+  REPLACE_REALLOC_FOR_REALLOC_POSIX=0;
+  REPLACE_REALLOCARRAY=0;
+  REPLACE_REALPATH=0;
+  REPLACE_SETENV=0;
+  REPLACE_SETSTATE=0;
+  REPLACE_STRTOD=0;
+  REPLACE_STRTOL=0;
+  REPLACE_STRTOLD=0;
+  REPLACE_STRTOLL=0;
+  REPLACE_STRTOUL=0;
+  REPLACE_STRTOULL=0;
+  REPLACE_UNSETENV=0;
+  REPLACE_WCTOMB=0;
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
-$as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
-if ${gl_cv_have_include_next+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -rf conftestd1a conftestd1b conftestd2
-     mkdir conftestd1a conftestd1b conftestd2
-                                                  cat <<EOF > conftestd1a/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
-     cat <<EOF > conftestd1b/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include <stdio.h>
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
-     cat <<EOF > conftestd2/conftest.h
-#ifndef DEFINED_IN_CONFTESTD1
-#error "include_next test doesn't work"
-#endif
-#define DEFINED_IN_CONFTESTD2
-EOF
-     gl_save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <conftest.h>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_have_include_next=yes
-else
-  CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <conftest.h>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_have_include_next=buggy
-else
-  gl_cv_have_include_next=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-     CPPFLAGS="$gl_save_CPPFLAGS"
-     rm -rf conftestd1a conftestd1b conftestd2
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
-$as_echo "$gl_cv_have_include_next" >&6; }
-  PRAGMA_SYSTEM_HEADER=
-  if test $gl_cv_have_include_next = yes; then
-    INCLUDE_NEXT=include_next
-    INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
-    if test -n "$GCC"; then
-      PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
-    fi
-  else
-    if test $gl_cv_have_include_next = buggy; then
-      INCLUDE_NEXT=include
-      INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
-    else
-      INCLUDE_NEXT=include
-      INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include
-    fi
-  fi
 
 
+  GL_GNULIB__EXIT=0
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5
-$as_echo_n "checking whether system header files limit the line length... " >&6; }
-if ${gl_cv_pragma_columns+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#ifdef __TANDEM
-choke me
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "choke me" >/dev/null 2>&1; then :
-  gl_cv_pragma_columns=yes
-else
-  gl_cv_pragma_columns=no
-fi
-rm -f conftest*
+  GL_GNULIB_ALIGNED_ALLOC=0
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5
-$as_echo "$gl_cv_pragma_columns" >&6; }
-  if test $gl_cv_pragma_columns = yes; then
-    PRAGMA_COLUMNS="#pragma COLUMNS 10000"
-  else
-    PRAGMA_COLUMNS=
-  fi
 
+  GL_GNULIB_ATOLL=0
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
-$as_echo_n "checking for complete errno.h... " >&6; }
-if ${gl_cv_header_errno_h_complete+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_GNULIB_CALLOC_GNU=0
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <errno.h>
-#if !defined ENOMSG
-booboo
-#endif
-#if !defined EIDRM
-booboo
-#endif
-#if !defined ENOLINK
-booboo
-#endif
-#if !defined EPROTO
-booboo
-#endif
-#if !defined EMULTIHOP
-booboo
-#endif
-#if !defined EBADMSG
-booboo
-#endif
-#if !defined EOVERFLOW
-booboo
-#endif
-#if !defined ENOTSUP
-booboo
-#endif
-#if !defined ENETRESET
-booboo
-#endif
-#if !defined ECONNABORTED
-booboo
-#endif
-#if !defined ESTALE
-booboo
-#endif
-#if !defined EDQUOT
-booboo
-#endif
-#if !defined ECANCELED
-booboo
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "booboo" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_complete=no
-else
-  gl_cv_header_errno_h_complete=yes
-fi
-rm -f conftest*
+  GL_GNULIB_CALLOC_POSIX=0
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
-$as_echo "$gl_cv_header_errno_h_complete" >&6; }
-  if test $gl_cv_header_errno_h_complete = yes; then
-    ERRNO_H=''
-  else
 
+  GL_GNULIB_CANONICALIZE_FILE_NAME=0
 
 
 
+  GL_GNULIB_FREE_POSIX=0
 
 
 
+  GL_GNULIB_GETLOADAVG=0
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_errno_h='<'errno.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
-$as_echo_n "checking absolute name of <errno.h>... " >&6; }
-if ${gl_cv_next_errno_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <errno.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  GL_GNULIB_GETPROGNAME=0
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'errno.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
+  GL_GNULIB_GETSUBOPT=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
-$as_echo "$gl_cv_next_errno_h" >&6; }
-     fi
-     NEXT_ERRNO_H=$gl_cv_next_errno_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'errno.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_errno_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive
 
+  GL_GNULIB_GRANTPT=0
 
 
 
-    ERRNO_H='errno.h'
-  fi
+  GL_GNULIB_MALLOC_GNU=0
 
-   if test -n "$ERRNO_H"; then
-  GL_GENERATE_ERRNO_H_TRUE=
-  GL_GENERATE_ERRNO_H_FALSE='#'
-else
-  GL_GENERATE_ERRNO_H_TRUE='#'
-  GL_GENERATE_ERRNO_H_FALSE=
-fi
 
 
-  if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
-$as_echo_n "checking for EMULTIHOP value... " >&6; }
-if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_GNULIB_MALLOC_POSIX=0
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <errno.h>
-#ifdef EMULTIHOP
-yes
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_EMULTIHOP=yes
-else
-  gl_cv_header_errno_h_EMULTIHOP=no
-fi
-rm -f conftest*
+  GL_GNULIB_MBSTOWCS=0
 
-      if test $gl_cv_header_errno_h_EMULTIHOP = no; then
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EMULTIHOP
-yes
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_EMULTIHOP=hidden
-fi
-rm -f conftest*
+  GL_GNULIB_MBTOWC=0
 
-        if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
-                              if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP"        "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-"; then :
 
-fi
 
-        fi
-      fi
+  GL_GNULIB_MKDTEMP=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
-$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
-    case $gl_cv_header_errno_h_EMULTIHOP in
-      yes | no)
-        EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
-        ;;
-      *)
-        EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP"
-        ;;
-    esac
 
 
-  fi
+  GL_GNULIB_MKOSTEMP=0
 
 
-  if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
-$as_echo_n "checking for ENOLINK value... " >&6; }
-if ${gl_cv_header_errno_h_ENOLINK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_GNULIB_MKOSTEMPS=0
 
-#include <errno.h>
-#ifdef ENOLINK
-yes
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_ENOLINK=yes
-else
-  gl_cv_header_errno_h_ENOLINK=no
-fi
-rm -f conftest*
 
-      if test $gl_cv_header_errno_h_ENOLINK = no; then
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_GNULIB_MKSTEMP=0
 
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef ENOLINK
-yes
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_ENOLINK=hidden
-fi
-rm -f conftest*
 
-        if test $gl_cv_header_errno_h_ENOLINK = hidden; then
-                              if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK"        "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-"; then :
+  GL_GNULIB_MKSTEMPS=0
 
-fi
 
-        fi
-      fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
-$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; }
-    case $gl_cv_header_errno_h_ENOLINK in
-      yes | no)
-        ENOLINK_HIDDEN=0; ENOLINK_VALUE=
-        ;;
-      *)
-        ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK"
-        ;;
-    esac
+  GL_GNULIB_POSIX_MEMALIGN=0
 
 
-  fi
 
+  GL_GNULIB_POSIX_OPENPT=0
 
-  if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
-$as_echo_n "checking for EOVERFLOW value... " >&6; }
-if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
+  GL_GNULIB_PTSNAME=0
+
+
+
+  GL_GNULIB_PTSNAME_R=0
+
+
+
+  GL_GNULIB_PUTENV=0
+
+
+
+  GL_GNULIB_QSORT_R=0
+
+
+
+  GL_GNULIB_RAND=0
+
+
+
+  GL_GNULIB_RANDOM=0
+
+
+
+  GL_GNULIB_RANDOM_R=0
+
+
+
+  GL_GNULIB_REALLOCARRAY=0
+
+
+
+  GL_GNULIB_REALLOC_GNU=0
+
+
+
+  GL_GNULIB_REALLOC_POSIX=0
+
+
+
+  GL_GNULIB_REALPATH=0
+
+
+
+  GL_GNULIB_RPMATCH=0
+
+
+
+  GL_GNULIB_SECURE_GETENV=0
+
+
+
+  GL_GNULIB_SETENV=0
+
+
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_EOVERFLOW=yes
-else
-  gl_cv_header_errno_h_EOVERFLOW=no
-fi
-rm -f conftest*
+  GL_GNULIB_STRTOD=0
 
-      if test $gl_cv_header_errno_h_EOVERFLOW = no; then
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
-  gl_cv_header_errno_h_EOVERFLOW=hidden
-fi
-rm -f conftest*
+  GL_GNULIB_STRTOL=0
 
-        if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
-                              if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW"        "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-"; then :
 
-fi
 
-        fi
-      fi
+  GL_GNULIB_STRTOLD=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
-$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
-    case $gl_cv_header_errno_h_EOVERFLOW in
-      yes | no)
-        EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
-        ;;
-      *)
-        EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW"
-        ;;
-    esac
 
 
-  fi
+  GL_GNULIB_STRTOLL=0
 
 
-ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR_R $ac_have_decl
-_ACEOF
+  GL_GNULIB_STRTOUL=0
 
-for ac_func in strerror_r
-do :
-  ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
-if test "x$ac_cv_func_strerror_r" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRERROR_R 1
-_ACEOF
 
-fi
-done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
-$as_echo_n "checking whether strerror_r returns char *... " >&6; }
-if ${ac_cv_func_strerror_r_char_p+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_GNULIB_STRTOULL=0
 
-    ac_cv_func_strerror_r_char_p=no
-    if test $ac_cv_have_decl_strerror_r = yes; then
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
 
-         char buf[100];
-         char x = *strerror_r (0, buf, sizeof buf);
-         char *p = strerror_r (0, buf, sizeof buf);
-         return !p || x;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_func_strerror_r_char_p=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    else
-      # strerror_r is not declared.  Choose between
-      # systems that have relatively inaccessible declarations for the
-      # function.  BeOS and DEC UNIX 4.0 fall in this category, but the
-      # former has a strerror_r that returns char*, while the latter
-      # has a strerror_r that returns `int'.
-      # This test should segfault on the DEC system.
-      if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-       extern char *strerror_r ();
-int
-main ()
-{
-char buf[100];
-         char x = *strerror_r (0, buf, sizeof buf);
-         return ! isalpha (x);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_strerror_r_char_p=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+  GL_GNULIB_SYSTEM_POSIX=0
 
-    fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
-$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
-if test $ac_cv_func_strerror_r_char_p = yes; then
 
-$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+  GL_GNULIB_UNLOCKPT=0
 
-fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
 
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
+  GL_GNULIB_UNSETENV=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
 
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
 
+  GL_GNULIB_WCTOMB=0
 
-  XGETTEXT_EXTRA_OPTIONS=
 
 
-  GNULIB_CHDIR=0;
-  GNULIB_CHOWN=0;
-  GNULIB_CLOSE=0;
-  GNULIB_DUP=0;
-  GNULIB_DUP2=0;
-  GNULIB_DUP3=0;
-  GNULIB_ENVIRON=0;
-  GNULIB_EUIDACCESS=0;
-  GNULIB_FACCESSAT=0;
-  GNULIB_FCHDIR=0;
-  GNULIB_FCHOWNAT=0;
-  GNULIB_FDATASYNC=0;
-  GNULIB_FSYNC=0;
-  GNULIB_FTRUNCATE=0;
-  GNULIB_GETCWD=0;
-  GNULIB_GETDOMAINNAME=0;
-  GNULIB_GETDTABLESIZE=0;
-  GNULIB_GETGROUPS=0;
-  GNULIB_GETHOSTNAME=0;
-  GNULIB_GETLOGIN=0;
-  GNULIB_GETLOGIN_R=0;
-  GNULIB_GETPAGESIZE=0;
-  GNULIB_GETUSERSHELL=0;
-  GNULIB_GROUP_MEMBER=0;
-  GNULIB_ISATTY=0;
-  GNULIB_LCHOWN=0;
-  GNULIB_LINK=0;
-  GNULIB_LINKAT=0;
-  GNULIB_LSEEK=0;
-  GNULIB_PIPE=0;
-  GNULIB_PIPE2=0;
-  GNULIB_PREAD=0;
-  GNULIB_PWRITE=0;
-  GNULIB_READ=0;
-  GNULIB_READLINK=0;
-  GNULIB_READLINKAT=0;
-  GNULIB_RMDIR=0;
-  GNULIB_SETHOSTNAME=0;
-  GNULIB_SLEEP=0;
-  GNULIB_SYMLINK=0;
-  GNULIB_SYMLINKAT=0;
-  GNULIB_TTYNAME_R=0;
-  GNULIB_UNISTD_H_NONBLOCKING=0;
-  GNULIB_UNISTD_H_SIGPIPE=0;
-  GNULIB_UNLINK=0;
-  GNULIB_UNLINKAT=0;
-  GNULIB_USLEEP=0;
-  GNULIB_WRITE=0;
-    HAVE_CHOWN=1;
-  HAVE_DUP2=1;
-  HAVE_DUP3=1;
-  HAVE_EUIDACCESS=1;
-  HAVE_FACCESSAT=1;
-  HAVE_FCHDIR=1;
-  HAVE_FCHOWNAT=1;
-  HAVE_FDATASYNC=1;
-  HAVE_FSYNC=1;
-  HAVE_FTRUNCATE=1;
-  HAVE_GETDTABLESIZE=1;
-  HAVE_GETGROUPS=1;
-  HAVE_GETHOSTNAME=1;
-  HAVE_GETLOGIN=1;
-  HAVE_GETPAGESIZE=1;
-  HAVE_GROUP_MEMBER=1;
-  HAVE_LCHOWN=1;
-  HAVE_LINK=1;
-  HAVE_LINKAT=1;
-  HAVE_PIPE=1;
-  HAVE_PIPE2=1;
-  HAVE_PREAD=1;
-  HAVE_PWRITE=1;
-  HAVE_READLINK=1;
-  HAVE_READLINKAT=1;
-  HAVE_SETHOSTNAME=1;
-  HAVE_SLEEP=1;
-  HAVE_SYMLINK=1;
-  HAVE_SYMLINKAT=1;
-  HAVE_UNLINKAT=1;
-  HAVE_USLEEP=1;
-  HAVE_DECL_ENVIRON=1;
-  HAVE_DECL_FCHDIR=1;
-  HAVE_DECL_FDATASYNC=1;
-  HAVE_DECL_GETDOMAINNAME=1;
-  HAVE_DECL_GETLOGIN_R=1;
-  HAVE_DECL_GETPAGESIZE=1;
-  HAVE_DECL_GETUSERSHELL=1;
-  HAVE_DECL_SETHOSTNAME=1;
-  HAVE_DECL_TTYNAME_R=1;
-  HAVE_OS_H=0;
-  HAVE_SYS_PARAM_H=0;
-  REPLACE_CHOWN=0;
-  REPLACE_CLOSE=0;
-  REPLACE_DUP=0;
-  REPLACE_DUP2=0;
-  REPLACE_FCHOWNAT=0;
-  REPLACE_FTRUNCATE=0;
-  REPLACE_GETCWD=0;
-  REPLACE_GETDOMAINNAME=0;
-  REPLACE_GETLOGIN_R=0;
-  REPLACE_GETGROUPS=0;
-  REPLACE_GETPAGESIZE=0;
-  REPLACE_ISATTY=0;
-  REPLACE_LCHOWN=0;
-  REPLACE_LINK=0;
-  REPLACE_LINKAT=0;
-  REPLACE_LSEEK=0;
-  REPLACE_PREAD=0;
-  REPLACE_PWRITE=0;
-  REPLACE_READ=0;
-  REPLACE_READLINK=0;
-  REPLACE_RMDIR=0;
-  REPLACE_SLEEP=0;
-  REPLACE_SYMLINK=0;
-  REPLACE_TTYNAME_R=0;
-  REPLACE_UNLINK=0;
-  REPLACE_UNLINKAT=0;
-  REPLACE_USLEEP=0;
-  REPLACE_WRITE=0;
-  UNISTD_H_HAVE_WINSOCK2_H=0;
-  UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+  GL_GNULIB_MDA_ECVT=1
 
 
 
+  GL_GNULIB_MDA_FCVT=1
 
 
-  for ac_header in $ac_header_list
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
-fi
+  GL_GNULIB_MDA_GCVT=1
 
-done
+
+
+  GL_GNULIB_MDA_MKTEMP=1
 
 
 
+  GL_GNULIB_MDA_PUTENV=1
+
 
 
 
 
 
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_getopt_h='<'getopt.h'>'
+       gl_cv_next_limits_h='<'limits.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5
-$as_echo_n "checking absolute name of <getopt.h>... " >&6; }
-if ${gl_cv_next_getopt_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <limits.h>" >&5
+printf %s "checking absolute name of <limits.h>... " >&6; }
+if test ${gl_cv_next_limits_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-             if test $ac_cv_header_getopt_h = yes; then
+             if test $ac_cv_header_limits_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <getopt.h>
 
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
 _ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'getopt.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'limits.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_limits_h
+          gl_cv_next_limits_h='"'$gl_header'"'
           else
-               gl_cv_next_getopt_h='<'getopt.h'>'
+               gl_cv_next_limits_h='<'limits.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5
-$as_echo "$gl_cv_next_getopt_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5
+printf "%s\n" "$gl_cv_next_limits_h" >&6; }
      fi
-     NEXT_GETOPT_H=$gl_cv_next_getopt_h
+     NEXT_LIMITS_H=$gl_cv_next_limits_h
 
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'getopt.h'>'
+       gl_next_as_first_directive='<'limits.h'>'
      else
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_getopt_h
+       gl_next_as_first_directive=$gl_cv_next_limits_h
      fi
-     NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive
+     NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive
+
+
+
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has WORD_BIT, BOOL_WIDTH etc." >&5
+printf %s "checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... " >&6; }
+if test ${gl_cv_header_limits_width+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
+            int bw = BOOL_WIDTH;
+            int bm = BOOL_MAX;
+            int mblm = MB_LEN_MAX;
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_limits_width=yes
+else $as_nop
+  gl_cv_header_limits_width=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5
+printf "%s\n" "$gl_cv_header_limits_width" >&6; }
+  GL_GENERATE_LIMITS_H=true
+  if test "$gl_cv_header_limits_width" = yes
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has SSIZE_MAX" >&5
+printf %s "checking whether limits.h has SSIZE_MAX... " >&6; }
+if test ${gl_cv_header_limits_ssize_max+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+               #ifndef SSIZE_MAX
+                 #error "SSIZE_MAX is not defined"
+               #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_limits_ssize_max=yes
+else $as_nop
+  gl_cv_header_limits_ssize_max=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_ssize_max" >&5
+printf "%s\n" "$gl_cv_header_limits_ssize_max" >&6; }
+     if test "$gl_cv_header_limits_ssize_max" = yes; then
+       GL_GENERATE_LIMITS_H=false
+     fi
+fi
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+printf %s "checking for GNU libc compatible malloc... " >&6; }
+if test ${ac_cv_func_malloc_0_nonnull+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case "$host_os" in # ((
+                 # Guess yes on platforms where we know the result.
+                 *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
+                 | hpux* | solaris* | cygwin* | mingw* | msys* )
+                   ac_cv_func_malloc_0_nonnull=yes ;;
+                 # If we don't know, assume the worst.
+                 *) ac_cv_func_malloc_0_nonnull=no ;;
+               esac
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+int
+main (void)
+{
+void *p = malloc (0);
+                  int result = !p;
+                  free (p);
+                  return result;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  ac_cv_func_malloc_0_nonnull=yes
+else $as_nop
+  ac_cv_func_malloc_0_nonnull=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; }
+if test $ac_cv_func_malloc_0_nonnull = yes
+then :
+  gl_cv_func_malloc_0_nonnull=1
+else $as_nop
+  gl_cv_func_malloc_0_nonnull=0
+fi
 
 
-  if test $ac_cv_header_getopt_h = yes; then
-    HAVE_GETOPT_H=1
-  else
-    HAVE_GETOPT_H=0
-  fi
+printf "%s\n" "#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull" >>confdefs.h
 
 
-  gl_replace_getopt=
 
-    if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-    for ac_header in getopt.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
-if test "x$ac_cv_header_getopt_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETOPT_H 1
-_ACEOF
 
-else
-  gl_replace_getopt=yes
-fi
 
-done
 
-  fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler produces multi-arch binaries" >&5
+printf %s "checking whether the compiler produces multi-arch binaries... " >&6; }
+if test ${gl_cv_c_multiarch+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_c_multiarch=no
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+            not a universal capable compiler
+           #endif
+           typedef int dummy;
 
-    if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-    for ac_func in getopt_long_only
-do :
-  ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only"
-if test "x$ac_cv_func_getopt_long_only" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETOPT_LONG_ONLY 1
 _ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+                        arch=
+        prev=
+        for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
+          if test -n "$prev"; then
+            case $word in
+              i?86 | x86_64 | ppc | ppc64 | arm | arm64)
+                if test -z "$arch" || test "$arch" = "$word"; then
+                  arch="$word"
+                else
+                  gl_cv_c_multiarch=yes
+                fi
+                ;;
+            esac
+            prev=
+          else
+            if test "x$word" = "x-arch"; then
+              prev=arch
+            fi
+          fi
+        done
 
-else
-  gl_replace_getopt=yes
 fi
-done
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_multiarch" >&5
+printf "%s\n" "$gl_cv_c_multiarch" >&6; }
+  if test $gl_cv_c_multiarch = yes; then
+    APPLE_UNIVERSAL_BUILD=1
+  else
+    APPLE_UNIVERSAL_BUILD=0
   fi
 
-                    if test -z "$gl_replace_getopt"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5
-$as_echo_n "checking whether getopt is POSIX compatible... " >&6; }
-if ${gl_cv_func_getopt_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                                                                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for O_CLOEXEC" >&5
+printf %s "checking for O_CLOEXEC... " >&6; }
+if test ${gl_cv_macro_O_CLOEXEC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <unistd.h>
+#include <fcntl.h>
+                          #ifndef O_CLOEXEC
+                            choke me;
+                          #endif
+
 int
-main ()
+main (void)
 {
-int *p = &optreset; return optreset;
+return O_CLOEXEC;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_optind_min=1
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_macro_O_CLOEXEC=yes
+else $as_nop
+  gl_cv_macro_O_CLOEXEC=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_O_CLOEXEC" >&5
+printf "%s\n" "$gl_cv_macro_O_CLOEXEC" >&6; }
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
+printf %s "checking for promoted mode_t type... " >&6; }
+if test ${gl_cv_promoted_mode_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <getopt.h>
+#include <sys/types.h>
 int
-main ()
+main (void)
 {
-return !getopt_clip;
+typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_optind_min=1
-else
-  gl_optind_min=0
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_promoted_mode_t='int'
+else $as_nop
+  gl_cv_promoted_mode_t='mode_t'
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
+printf "%s\n" "$gl_cv_promoted_mode_t" >&6; }
 
-                gl_save_CPPFLAGS=$CPPFLAGS
-        CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
-        if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-             mingw*)         gl_cv_func_getopt_posix="guessing no";;
-             darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
-             *)              gl_cv_func_getopt_posix="guessing yes";;
-           esac
+printf "%s\n" "#define PROMOTED_MODE_T $gl_cv_promoted_mode_t" >>confdefs.h
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
 
+
+
+
+
+    REPLACE_NULL=0;
+  HAVE_MAX_ALIGN_T=1;
+  HAVE_WCHAR_T=1;
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
+printf %s "checking for wchar_t... " >&6; }
+if test ${gt_cv_c_wchar_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+            wchar_t foo = (wchar_t)'\0';
 int
-main ()
+main (void)
 {
-  {
-    static char program[] = "program";
-    static char a[] = "-a";
-    static char foo[] = "foo";
-    static char bar[] = "bar";
-    char *argv[] = { program, a, foo, bar, NULL };
-    int c;
-
-    optind = OPTIND_MIN;
-    opterr = 0;
-
-    c = getopt (4, argv, "ab");
-    if (!(c == 'a'))
-      return 1;
-    c = getopt (4, argv, "ab");
-    if (!(c == -1))
-      return 2;
-    if (!(optind == 2))
-      return 3;
-  }
-  /* Some internal state exists at this point.  */
-  {
-    static char program[] = "program";
-    static char donald[] = "donald";
-    static char p[] = "-p";
-    static char billy[] = "billy";
-    static char duck[] = "duck";
-    static char a[] = "-a";
-    static char bar[] = "bar";
-    char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
-    int c;
-
-    optind = OPTIND_MIN;
-    opterr = 0;
-
-    c = getopt (7, argv, "+abp:q:");
-    if (!(c == -1))
-      return 4;
-    if (!(strcmp (argv[0], "program") == 0))
-      return 5;
-    if (!(strcmp (argv[1], "donald") == 0))
-      return 6;
-    if (!(strcmp (argv[2], "-p") == 0))
-      return 7;
-    if (!(strcmp (argv[3], "billy") == 0))
-      return 8;
-    if (!(strcmp (argv[4], "duck") == 0))
-      return 9;
-    if (!(strcmp (argv[5], "-a") == 0))
-      return 10;
-    if (!(strcmp (argv[6], "bar") == 0))
-      return 11;
-    if (!(optind == 1))
-      return 12;
-  }
-  /* Detect MacOS 10.5, AIX 7.1 bug.  */
-  {
-    static char program[] = "program";
-    static char ab[] = "-ab";
-    char *argv[3] = { program, ab, NULL };
-    optind = OPTIND_MIN;
-    opterr = 0;
-    if (getopt (2, argv, "ab:") != 'a')
-      return 13;
-    if (getopt (2, argv, "ab:") != '?')
-      return 14;
-    if (optopt != 'b')
-      return 15;
-    if (optind != 2)
-      return 16;
-  }
 
+  ;
   return 0;
 }
-
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_getopt_posix=yes
-else
-  gl_cv_func_getopt_posix=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gt_cv_c_wchar_t=yes
+else $as_nop
+  gt_cv_c_wchar_t=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
+printf "%s\n" "$gt_cv_c_wchar_t" >&6; }
+  if test $gt_cv_c_wchar_t = yes; then
 
-        CPPFLAGS=$gl_save_CPPFLAGS
+printf "%s\n" "#define HAVE_WCHAR_T 1" >>confdefs.h
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5
-$as_echo "$gl_cv_func_getopt_posix" >&6; }
-    case "$gl_cv_func_getopt_posix" in
-      *no) gl_replace_getopt=yes ;;
-    esac
   fi
 
-  if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
-$as_echo_n "checking for working GNU getopt function... " >&6; }
-if ${gl_cv_func_getopt_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the
-       # optstring is necessary for programs like m4 that have POSIX-mandated
-       # semantics for supporting options interspersed with files.
-       # Also, since getopt_long is a GNU extension, we require optind=0.
-       # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
-       # so take care to revert to the correct (non-)export state.
-       gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
-       case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
-         xx) gl_had_POSIXLY_CORRECT=exported ;;
-         x)  gl_had_POSIXLY_CORRECT=yes      ;;
-         *)  gl_had_POSIXLY_CORRECT=         ;;
-       esac
-       POSIXLY_CORRECT=1
-       export POSIXLY_CORRECT
-       if test "$cross_compiling" = yes; then :
-           case $host_os:$ac_cv_have_decl_optreset in
-           *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
-           *:yes)               gl_cv_func_getopt_gnu=no;;
-           *)                   gl_cv_func_getopt_gnu=yes;;
-         esac
 
-else
+
+
+
+
+
+  GL_GENERATE_STDDEF_H=false
+
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5
+printf %s "checking for good max_align_t... " >&6; }
+if test ${gl_cv_type_max_align_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <getopt.h>
-                           #include <stddef.h>
-                           #include <string.h>
+/* On FreeBSD 12.0/x86, max_align_t defined by <stddef.h> has
+               the correct alignment with the default (wrong) definition of
+               _Alignof, but a wrong alignment as soon as we activate an
+               ISO C compliant _Alignof definition.  */
+            #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus
+             #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
+            #endif
+            #include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+            typedef struct { char a; max_align_t b; } max_helper;
+            typedef struct { char a; long b; } long_helper;
+            typedef struct { char a; double b; } double_helper;
+            typedef struct { char a; long double b; } long_double_helper;
+            int check3[2 * (offsetof (long_helper, b) <= offsetof (max_helper, b)) - 1];
+            int check4[2 * (offsetof (double_helper, b) <= offsetof (max_helper, b)) - 1];
+            int check5[2 * (offsetof (long_double_helper, b) <= offsetof (max_helper, b)) - 1];
 
-#include <stdlib.h>
-#if defined __MACH__ && defined __APPLE__
-/* Avoid a crash on MacOS X.  */
-#include <mach/mach.h>
-#include <mach/mach_error.h>
-#include <mach/thread_status.h>
-#include <mach/exception.h>
-#include <mach/task.h>
-#include <pthread.h>
-/* The exception port on which our thread listens.  */
-static mach_port_t our_exception_port;
-/* The main function of the thread listening for exceptions of type
-   EXC_BAD_ACCESS.  */
-static void *
-mach_exception_thread (void *arg)
-{
-  /* Buffer for a message to be received.  */
-  struct {
-    mach_msg_header_t head;
-    mach_msg_body_t msgh_body;
-    char data[1024];
-  } msg;
-  mach_msg_return_t retval;
-  /* Wait for a message on the exception port.  */
-  retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
-                     our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
-  if (retval != MACH_MSG_SUCCESS)
-    abort ();
-  exit (1);
-}
-static void
-nocrash_init (void)
-{
-  mach_port_t self = mach_task_self ();
-  /* Allocate a port on which the thread shall listen for exceptions.  */
-  if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
-      == KERN_SUCCESS) {
-    /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
-    if (mach_port_insert_right (self, our_exception_port, our_exception_port,
-                                MACH_MSG_TYPE_MAKE_SEND)
-        == KERN_SUCCESS) {
-      /* The exceptions we want to catch.  Only EXC_BAD_ACCESS is interesting
-         for us.  */
-      exception_mask_t mask = EXC_MASK_BAD_ACCESS;
-      /* Create the thread listening on the exception port.  */
-      pthread_attr_t attr;
-      pthread_t thread;
-      if (pthread_attr_init (&attr) == 0
-          && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
-          && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
-        pthread_attr_destroy (&attr);
-        /* Replace the exception port info for these exceptions with our own.
-           Note that we replace the exception port for the entire task, not only
-           for a particular thread.  This has the effect that when our exception
-           port gets the message, the thread specific exception port has already
-           been asked, and we don't need to bother about it.
-           See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
-        task_set_exception_ports (self, mask, our_exception_port,
-                                  EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
-      }
-    }
-  }
-}
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Avoid a crash on native Windows.  */
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <winerror.h>
-static LONG WINAPI
-exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
-{
-  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
-    {
-    case EXCEPTION_ACCESS_VIOLATION:
-    case EXCEPTION_IN_PAGE_ERROR:
-    case EXCEPTION_STACK_OVERFLOW:
-    case EXCEPTION_GUARD_PAGE:
-    case EXCEPTION_PRIV_INSTRUCTION:
-    case EXCEPTION_ILLEGAL_INSTRUCTION:
-    case EXCEPTION_DATATYPE_MISALIGNMENT:
-    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
-    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
-      exit (1);
-    }
-  return EXCEPTION_CONTINUE_SEARCH;
-}
-static void
-nocrash_init (void)
-{
-  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
-}
-#else
-/* Avoid a crash on POSIX systems.  */
-#include <signal.h>
-/* A POSIX signal handler.  */
-static void
-exception_handler (int sig)
+int
+main (void)
 {
-  exit (1);
+
+  ;
+  return 0;
 }
-static void
-nocrash_init (void)
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_type_max_align_t=yes
+else $as_nop
+  gl_cv_type_max_align_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_max_align_t" >&5
+printf "%s\n" "$gl_cv_type_max_align_t" >&6; }
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    GL_GENERATE_STDDEF_H=true
+  fi
+
+  if test $gt_cv_c_wchar_t = no; then
+    HAVE_WCHAR_T=0
+    GL_GENERATE_STDDEF_H=true
+  fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+printf %s "checking whether NULL can be used in arbitrary expressions... " >&6; }
+if test ${gl_cv_decl_null_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+      int test[2 * (sizeof NULL == sizeof (void *)) -1];
+
+int
+main (void)
 {
-#ifdef SIGSEGV
-  signal (SIGSEGV, exception_handler);
-#endif
-#ifdef SIGBUS
-  signal (SIGBUS, exception_handler);
-#endif
+
+  ;
+  return 0;
 }
-#endif
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_decl_null_works=yes
+else $as_nop
+  gl_cv_decl_null_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+printf "%s\n" "$gl_cv_decl_null_works" >&6; }
+  if test $gl_cv_decl_null_works = no; then
+    REPLACE_NULL=1
+    GL_GENERATE_STDDEF_H=true
+  fi
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unreachable" >&5
+printf %s "checking for unreachable... " >&6; }
+if test ${gl_cv_func_unreachable+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
 
 int
-main ()
+main (void)
 {
+unreachable ();
 
-             int result = 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_func_unreachable=yes
+else $as_nop
+  gl_cv_func_unreachable=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
 
-             nocrash_init();
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unreachable" >&5
+printf "%s\n" "$gl_cv_func_unreachable" >&6; }
+  if test $gl_cv_func_unreachable = no; then
+    GL_GENERATE_STDDEF_H=true
+  fi
 
-             /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
-                and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
-                OSF/1 5.1, Solaris 10.  */
-             {
-               static char conftest[] = "conftest";
-               static char plus[] = "-+";
-               char *argv[3] = { conftest, plus, NULL };
-               opterr = 0;
-               if (getopt (2, argv, "+a") != '?')
-                 result |= 1;
-             }
-             /* This code succeeds on glibc 2.8, mingw,
-                and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-                IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x.  */
-             {
-               static char program[] = "program";
-               static char p[] = "-p";
-               static char foo[] = "foo";
-               static char bar[] = "bar";
-               char *argv[] = { program, p, foo, bar, NULL };
+  if $GL_GENERATE_STDDEF_H; then
 
-               optind = 1;
-               if (getopt (4, argv, "p::") != 'p')
-                 result |= 2;
-               else if (optarg != NULL)
-                 result |= 4;
-               else if (getopt (4, argv, "p::") != -1)
-                 result |= 6;
-               else if (optind != 2)
-                 result |= 8;
-             }
-             /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0.  */
-             {
-               static char program[] = "program";
-               static char foo[] = "foo";
-               static char p[] = "-p";
-               char *argv[] = { program, foo, p, NULL };
-               optind = 0;
-               if (getopt (3, argv, "-p") != 1)
-                 result |= 16;
-               else if (getopt (3, argv, "-p") != 'p')
-                 result |= 32;
-             }
-             /* This code fails on glibc 2.11.  */
-             {
-               static char program[] = "program";
-               static char b[] = "-b";
-               static char a[] = "-a";
-               char *argv[] = { program, b, a, NULL };
-               optind = opterr = 0;
-               if (getopt (3, argv, "+:a:b") != 'b')
-                 result |= 64;
-               else if (getopt (3, argv, "+:a:b") != ':')
-                 result |= 64;
-             }
-             /* This code dumps core on glibc 2.14.  */
-             {
-               static char program[] = "program";
-               static char w[] = "-W";
-               static char dummy[] = "dummy";
-               char *argv[] = { program, w, dummy, NULL };
-               optind = opterr = 1;
-               if (getopt (3, argv, "W;") != 'W')
-                 result |= 128;
-             }
-             return result;
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stddef_h='<'stddef.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
+printf %s "checking absolute name of <stddef.h>... " >&6; }
+if test ${gl_cv_next_stddef_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'stddef.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_stddef_h
+          gl_cv_next_stddef_h='"'$gl_header'"'
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
+printf "%s\n" "$gl_cv_next_stddef_h" >&6; }
+     fi
+     NEXT_STDDEF_H=$gl_cv_next_stddef_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stddef.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stddef_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
+
+
+
+
+  fi
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
+printf %s "checking for wint_t... " >&6; }
+if test ${gt_cv_c_wint_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <wchar.h>
+            wint_t foo = (wchar_t)'\0';
+int
+main (void)
+{
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_getopt_gnu=yes
-else
-  gl_cv_func_getopt_gnu=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gt_cv_c_wint_t=yes
+else $as_nop
+  gt_cv_c_wint_t=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
+printf "%s\n" "$gt_cv_c_wint_t" >&6; }
+  if test $gt_cv_c_wint_t = yes; then
 
-       case $gl_had_POSIXLY_CORRECT in
-         exported) ;;
-         yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;;
-         *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;;
-       esac
+printf "%s\n" "#define HAVE_WINT_T 1" >>confdefs.h
+
+
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wint_t is large enough" >&5
+printf %s "checking whether wint_t is large enough... " >&6; }
+if test ${gl_cv_type_wint_t_large_enough+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <wchar.h>
+              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
+
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_type_wint_t_large_enough=yes
+else $as_nop
+  gl_cv_type_wint_t_large_enough=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5
-$as_echo "$gl_cv_func_getopt_gnu" >&6; }
-    if test "$gl_cv_func_getopt_gnu" = "no"; then
-      gl_replace_getopt=yes
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_large_enough" >&5
+printf "%s\n" "$gl_cv_type_wint_t_large_enough" >&6; }
+    if test $gl_cv_type_wint_t_large_enough = no; then
+      GNULIBHEADERS_OVERRIDE_WINT_T=1
+    else
+      GNULIBHEADERS_OVERRIDE_WINT_T=0
     fi
+  else
+    GNULIBHEADERS_OVERRIDE_WINT_T=0
   fi
 
 
 
 
 
-    REPLACE_GETOPT=0
 
 
-  if test -n "$gl_replace_getopt"; then :
 
-      REPLACE_GETOPT=1
+printf "%s\n" "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
 
-fi
 
+printf "%s\n" "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
 
-  if test $REPLACE_GETOPT = 1; then
 
-  GETOPT_H=getopt.h
 
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+  if test $ac_cv_header_wchar_h = yes; then
+    HAVE_WCHAR_H=1
+  else
+    HAVE_WCHAR_H=0
+  fi
+
+
+
+  if test $ac_cv_header_inttypes_h = yes; then
+    HAVE_INTTYPES_H=1
+  else
+    HAVE_INTTYPES_H=0
+  fi
+
+
+
+  if test $ac_cv_header_sys_types_h = yes; then
+    HAVE_SYS_TYPES_H=1
+  else
+    HAVE_SYS_TYPES_H=0
+  fi
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stdint_h='<'stdint.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
+printf %s "checking absolute name of <stdint.h>... " >&6; }
+if test ${gl_cv_next_stdint_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+             if test $ac_cv_header_stdint_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdint.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'stdint.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_stdint_h
+          gl_cv_next_stdint_h='"'$gl_header'"'
+          else
+               gl_cv_next_stdint_h='<'stdint.h'>'
+             fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
+printf "%s\n" "$gl_cv_next_stdint_h" >&6; }
+     fi
+     NEXT_STDINT_H=$gl_cv_next_stdint_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdint.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdint_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive
+
 
 
 
+  if test $ac_cv_header_stdint_h = yes; then
+    HAVE_STDINT_H=1
+  else
+    HAVE_STDINT_H=0
   fi
 
-ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV $ac_have_decl
-_ACEOF
+    if test $ac_cv_header_stdint_h = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
+printf %s "checking whether stdint.h conforms to C99... " >&6; }
+if test ${gl_cv_header_working_stdint_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_header_working_stdint_h=no
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
 
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
+#include <stdint.h>
+/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
+#if !(defined WCHAR_MIN && defined WCHAR_MAX)
+#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
+#endif
 
 
-  for ac_func in $ac_func_list
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
 
-fi
-done
 
+#ifdef INT8_MAX
+int8_t a1 = INT8_MAX;
+int8_t a1min = INT8_MIN;
+#endif
+#ifdef INT16_MAX
+int16_t a2 = INT16_MAX;
+int16_t a2min = INT16_MIN;
+#endif
+#ifdef INT32_MAX
+int32_t a3 = INT32_MAX;
+int32_t a3min = INT32_MIN;
+#endif
+#ifdef INT64_MAX
+int64_t a4 = INT64_MAX;
+int64_t a4min = INT64_MIN;
+#endif
+#ifdef UINT8_MAX
+uint8_t b1 = UINT8_MAX;
+#else
+typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
+#endif
+#ifdef UINT16_MAX
+uint16_t b2 = UINT16_MAX;
+#endif
+#ifdef UINT32_MAX
+uint32_t b3 = UINT32_MAX;
+#endif
+#ifdef UINT64_MAX
+uint64_t b4 = UINT64_MAX;
+#endif
+int_least8_t c1 = INT8_C (0x7f);
+int_least8_t c1max = INT_LEAST8_MAX;
+int_least8_t c1min = INT_LEAST8_MIN;
+int_least16_t c2 = INT16_C (0x7fff);
+int_least16_t c2max = INT_LEAST16_MAX;
+int_least16_t c2min = INT_LEAST16_MIN;
+int_least32_t c3 = INT32_C (0x7fffffff);
+int_least32_t c3max = INT_LEAST32_MAX;
+int_least32_t c3min = INT_LEAST32_MIN;
+int_least64_t c4 = INT64_C (0x7fffffffffffffff);
+int_least64_t c4max = INT_LEAST64_MAX;
+int_least64_t c4min = INT_LEAST64_MIN;
+uint_least8_t d1 = UINT8_C (0xff);
+uint_least8_t d1max = UINT_LEAST8_MAX;
+uint_least16_t d2 = UINT16_C (0xffff);
+uint_least16_t d2max = UINT_LEAST16_MAX;
+uint_least32_t d3 = UINT32_C (0xffffffff);
+uint_least32_t d3max = UINT_LEAST32_MAX;
+uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
+uint_least64_t d4max = UINT_LEAST64_MAX;
+int_fast8_t e1 = INT_FAST8_MAX;
+int_fast8_t e1min = INT_FAST8_MIN;
+int_fast16_t e2 = INT_FAST16_MAX;
+int_fast16_t e2min = INT_FAST16_MIN;
+int_fast32_t e3 = INT_FAST32_MAX;
+int_fast32_t e3min = INT_FAST32_MIN;
+int_fast64_t e4 = INT_FAST64_MAX;
+int_fast64_t e4min = INT_FAST64_MIN;
+uint_fast8_t f1 = UINT_FAST8_MAX;
+uint_fast16_t f2 = UINT_FAST16_MAX;
+uint_fast32_t f3 = UINT_FAST32_MAX;
+uint_fast64_t f4 = UINT_FAST64_MAX;
+#ifdef INTPTR_MAX
+intptr_t g = INTPTR_MAX;
+intptr_t gmin = INTPTR_MIN;
+#endif
+#ifdef UINTPTR_MAX
+uintptr_t h = UINTPTR_MAX;
+#endif
+intmax_t i = INTMAX_MAX;
+uintmax_t j = UINTMAX_MAX;
 
+/* Check that SIZE_MAX has the correct type, if possible.  */
+/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it.  */
+#if 201112 <= __STDC_VERSION__ \
+    && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \
+        || defined __clang__)
+int k = _Generic (SIZE_MAX, size_t: 0);
+#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \
+       || (0x5110 <= __SUNPRO_C && !__STDC__))
+extern size_t k;
+extern __typeof__ (SIZE_MAX) k;
+#endif
 
+#include <limits.h> /* for CHAR_BIT */
+#define TYPE_MINIMUM(t) \
+  ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MAXIMUM(t) \
+  ((t) ((t) 0 < (t) -1 \
+        ? (t) -1 \
+        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+struct s {
+  int check_PTRDIFF:
+      PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
+      && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
+      ? 1 : -1;
+  /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64.  */
+  int check_SIG_ATOMIC:
+      SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
+      && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
+      ? 1 : -1;
+  int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
+  int check_WCHAR:
+      WCHAR_MIN == TYPE_MINIMUM (wchar_t)
+      && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
+      ? 1 : -1;
+  /* Detect bug in mingw.  */
+  int check_WINT:
+      WINT_MIN == TYPE_MINIMUM (wint_t)
+      && WINT_MAX == TYPE_MAXIMUM (wint_t)
+      ? 1 : -1;
 
-    REPLACE_NULL=0;
-  HAVE_WCHAR_T=1;
+  /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others.  */
+  int check_UINT8_C:
+        (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
+  int check_UINT16_C:
+        (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
 
+  /* Detect bugs in OpenBSD 3.9 stdint.h.  */
+#ifdef UINT8_MAX
+  int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
+#endif
+#ifdef UINT16_MAX
+  int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
+#endif
+#ifdef UINT32_MAX
+  int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
+#endif
+#ifdef UINT64_MAX
+  int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
+#endif
+  int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
+  int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
+  int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
+  int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
+  int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
+  int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
+  int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
+  int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
+  int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
+  int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
+  int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
+};
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if ${gt_cv_c_wchar_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-       wchar_t foo = (wchar_t)'\0';
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wchar_t=yes
-else
-  gt_cv_c_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
-  if test $gt_cv_c_wchar_t = yes; then
-
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
-
-  fi
-
-
-  GNULIB_FFSL=0;
-  GNULIB_FFSLL=0;
-  GNULIB_MEMCHR=0;
-  GNULIB_MEMMEM=0;
-  GNULIB_MEMPCPY=0;
-  GNULIB_MEMRCHR=0;
-  GNULIB_RAWMEMCHR=0;
-  GNULIB_STPCPY=0;
-  GNULIB_STPNCPY=0;
-  GNULIB_STRCHRNUL=0;
-  GNULIB_STRDUP=0;
-  GNULIB_STRNCAT=0;
-  GNULIB_STRNDUP=0;
-  GNULIB_STRNLEN=0;
-  GNULIB_STRPBRK=0;
-  GNULIB_STRSEP=0;
-  GNULIB_STRSTR=0;
-  GNULIB_STRCASESTR=0;
-  GNULIB_STRTOK_R=0;
-  GNULIB_MBSLEN=0;
-  GNULIB_MBSNLEN=0;
-  GNULIB_MBSCHR=0;
-  GNULIB_MBSRCHR=0;
-  GNULIB_MBSSTR=0;
-  GNULIB_MBSCASECMP=0;
-  GNULIB_MBSNCASECMP=0;
-  GNULIB_MBSPCASECMP=0;
-  GNULIB_MBSCASESTR=0;
-  GNULIB_MBSCSPN=0;
-  GNULIB_MBSPBRK=0;
-  GNULIB_MBSSPN=0;
-  GNULIB_MBSSEP=0;
-  GNULIB_MBSTOK_R=0;
-  GNULIB_STRERROR=0;
-  GNULIB_STRERROR_R=0;
-  GNULIB_STRSIGNAL=0;
-  GNULIB_STRVERSCMP=0;
-  HAVE_MBSLEN=0;
-    HAVE_FFSL=1;
-  HAVE_FFSLL=1;
-  HAVE_MEMCHR=1;
-  HAVE_DECL_MEMMEM=1;
-  HAVE_MEMPCPY=1;
-  HAVE_DECL_MEMRCHR=1;
-  HAVE_RAWMEMCHR=1;
-  HAVE_STPCPY=1;
-  HAVE_STPNCPY=1;
-  HAVE_STRCHRNUL=1;
-  HAVE_DECL_STRDUP=1;
-  HAVE_DECL_STRNDUP=1;
-  HAVE_DECL_STRNLEN=1;
-  HAVE_STRPBRK=1;
-  HAVE_STRSEP=1;
-  HAVE_STRCASESTR=1;
-  HAVE_DECL_STRTOK_R=1;
-  HAVE_DECL_STRERROR_R=1;
-  HAVE_DECL_STRSIGNAL=1;
-  HAVE_STRVERSCMP=1;
-  REPLACE_MEMCHR=0;
-  REPLACE_MEMMEM=0;
-  REPLACE_STPNCPY=0;
-  REPLACE_STRDUP=0;
-  REPLACE_STRSTR=0;
-  REPLACE_STRCASESTR=0;
-  REPLACE_STRCHRNUL=0;
-  REPLACE_STRERROR=0;
-  REPLACE_STRERROR_R=0;
-  REPLACE_STRNCAT=0;
-  REPLACE_STRNDUP=0;
-  REPLACE_STRNLEN=0;
-  REPLACE_STRSIGNAL=0;
-  REPLACE_STRTOK_R=0;
-  UNDEFINE_STRTOK_R=0;
-
-
-     REPLACE_STRERROR_0=0
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
-$as_echo_n "checking whether strerror(0) succeeds... " >&6; }
-if ${gl_cv_func_strerror_0_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
+                                                    if test "$cross_compiling" = yes
+then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
-       esac
+                                    # Guess yes on native Windows.
+                 mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;;
+                                    # In general, assume it works.
+                 *)                 gl_cv_header_working_stdint_h="guessing yes" ;;
+               esac
 
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
+
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
+#include <stdint.h>
+
+
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
+
+
+#include <stdio.h>
 #include <string.h>
-           #include <errno.h>
+#define MVAL(macro) MVAL1(macro)
+#define MVAL1(expression) #expression
+static const char *macro_values[] =
+  {
+#ifdef INT8_MAX
+    MVAL (INT8_MAX),
+#endif
+#ifdef INT16_MAX
+    MVAL (INT16_MAX),
+#endif
+#ifdef INT32_MAX
+    MVAL (INT32_MAX),
+#endif
+#ifdef INT64_MAX
+    MVAL (INT64_MAX),
+#endif
+#ifdef UINT8_MAX
+    MVAL (UINT8_MAX),
+#endif
+#ifdef UINT16_MAX
+    MVAL (UINT16_MAX),
+#endif
+#ifdef UINT32_MAX
+    MVAL (UINT32_MAX),
+#endif
+#ifdef UINT64_MAX
+    MVAL (UINT64_MAX),
+#endif
+    NULL
+  };
 
 int
-main ()
+main (void)
 {
-int result = 0;
-           char *str;
-           errno = 0;
-           str = strerror (0);
-           if (!*str) result |= 1;
-           if (errno) result |= 2;
-           if (strstr (str, "nknown") || strstr (str, "ndefined"))
-             result |= 4;
-           return result;
+
+  const char **mv;
+  for (mv = macro_values; *mv != NULL; mv++)
+    {
+      const char *value = *mv;
+      /* Test whether it looks like a cast expression.  */
+      if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
+          || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
+          || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
+          || strncmp (value, "((int)"/*)*/, 6) == 0
+          || strncmp (value, "((signed short)"/*)*/, 15) == 0
+          || strncmp (value, "((signed char)"/*)*/, 14) == 0)
+        return mv - macro_values + 1;
+    }
+  return 0;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_strerror_0_works=yes
-else
-  gl_cv_func_strerror_0_works=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_header_working_stdint_h=yes
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
-$as_echo "$gl_cv_func_strerror_0_works" >&6; }
-  case "$gl_cv_func_strerror_0_works" in
-    *yes) ;;
-    *)
-      REPLACE_STRERROR_0=1
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
+printf "%s\n" "$gl_cv_header_working_stdint_h" >&6; }
+  fi
 
-$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  GL_GENERATE_STDINT_H=true
+  case "$gl_cv_header_working_stdint_h" in
+    *yes)
+      HAVE_C99_STDINT_H=1
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h works without ISO C predefines" >&5
+printf %s "checking whether stdint.h works without ISO C predefines... " >&6; }
+if test ${gl_cv_header_stdint_without_STDC_macros+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_header_stdint_without_STDC_macros=no
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-      ;;
-  esac
 
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
-$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
-if ${ac_cv_c_restrict+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_restrict=no
-   # The order here caters to the fact that C++ does not require restrict.
-   for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-typedef int * int_ptr;
-       int foo (int_ptr $ac_kw ip) {
-       return ip[0];
-       }
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
+
+
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+
 int
-main ()
+main (void)
 {
-int s[1];
-       int * $ac_kw t = s;
-       t[0] = 0;
-       return foo(t)
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_restrict=$ac_kw
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_stdint_without_STDC_macros=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-     test "$ac_cv_c_restrict" != no && break
-   done
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
-$as_echo "$ac_cv_c_restrict" >&6; }
-
- case $ac_cv_c_restrict in
-   restrict) ;;
-   no) $as_echo "#define restrict /**/" >>confdefs.h
- ;;
-   *)  cat >>confdefs.h <<_ACEOF
-#define restrict $ac_cv_c_restrict
-_ACEOF
- ;;
- esac
-
-
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_without_STDC_macros" >&5
+printf "%s\n" "$gl_cv_header_stdint_without_STDC_macros" >&6; }
 
+      if test $gl_cv_header_stdint_without_STDC_macros = no; then
 
+printf "%s\n" "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h
 
 
+printf "%s\n" "#define __STDC_LIMIT_MACROS 1" >>confdefs.h
 
+      fi
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5
+printf %s "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
+if test ${gl_cv_header_stdint_width+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_header_stdint_width=no
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+              /* Work if build is not clean.  */
+              #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+              #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+               #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+              #endif
+              #include <stdint.h>
 
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_string_h='<'string.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
-$as_echo_n "checking absolute name of <string.h>... " >&6; }
-if ${gl_cv_next_string_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+              int iw = UINTMAX_WIDTH;
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
 _ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'string.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_stdint_width=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5
+printf "%s\n" "$gl_cv_header_stdint_width" >&6; }
+      if test "$gl_cv_header_stdint_width" = yes; then
+        GL_GENERATE_STDINT_H=false
+      fi
+      ;;
+    *)
+                  ac_fn_c_check_header_compile "$LINENO" "sys/inttypes.h" "ac_cv_header_sys_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_inttypes_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_INTTYPES_H 1" >>confdefs.h
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
-$as_echo "$gl_cv_next_string_h" >&6; }
-     fi
-     NEXT_STRING_H=$gl_cv_next_string_h
+ac_fn_c_check_header_compile "$LINENO" "sys/bitypes.h" "ac_cv_header_sys_bitypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_bitypes_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_BITYPES_H 1" >>confdefs.h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'string.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_string_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive
+fi
 
+      if test $ac_cv_header_sys_inttypes_h = yes; then
+        HAVE_SYS_INTTYPES_H=1
+      fi
+      if test $ac_cv_header_sys_bitypes_h = yes; then
+        HAVE_SYS_BITYPES_H=1
+      fi
 
 
+  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
 
+  for gltype in ptrdiff_t size_t ; do
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+printf %s "checking for bit size of $gltype... " >&6; }
+if eval test \${gl_cv_bitsizeof_${gltype}+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
 
-    for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul      strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r      strerror_r strsignal strverscmp; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
+#include <limits.h>"
+then :
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else $as_nop
+  result=unknown
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
+       eval gl_cv_bitsizeof_${gltype}=\$result
+
 fi
-      done
+eval ac_res=\$gl_cv_bitsizeof_${gltype}
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    eval result=\$gl_cv_bitsizeof_${gltype}
+    if test $result = unknown; then
+                                                result=0
+    fi
+    GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    printf "%s\n" "#define BITSIZEOF_${GLTYPE} $result" >>confdefs.h
 
+    eval BITSIZEOF_${GLTYPE}=\$result
+  done
 
 
+  fi
 
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
 
-else
+  for gltype in sig_atomic_t wchar_t wint_t ; do
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+printf %s "checking for bit size of $gltype... " >&6; }
+if eval test \${gl_cv_bitsizeof_${gltype}+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
 
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
-_ACEOF
+#include <limits.h>"
+then :
 
+else $as_nop
+  result=unknown
 fi
 
-ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-if test "x$ac_cv_type_mode_t" = xyes; then :
+       eval gl_cv_bitsizeof_${gltype}=\$result
 
-else
+fi
+eval ac_res=\$gl_cv_bitsizeof_${gltype}
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    eval result=\$gl_cv_bitsizeof_${gltype}
+    if test $result = unknown; then
+                                                result=0
+    fi
+    GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    printf "%s\n" "#define BITSIZEOF_${GLTYPE} $result" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define mode_t int
-_ACEOF
+    eval BITSIZEOF_${GLTYPE}=\$result
+  done
 
-fi
 
 
 
-  case "$host_os" in
-    mingw*)
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
-$as_echo_n "checking for 64-bit off_t... " >&6; }
-if ${gl_cv_type_off_t_64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  for gltype in sig_atomic_t wchar_t wint_t ; do
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
+printf %s "checking whether $gltype is signed... " >&6; }
+if eval test \${gl_cv_type_${gltype}_signed+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
 
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
+
+            int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_type_off_t_64=yes
-else
-  gl_cv_type_off_t_64=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  result=yes
+else $as_nop
+  result=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       eval gl_cv_type_${gltype}_signed=\$result
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5
-$as_echo "$gl_cv_type_off_t_64" >&6; }
-      if test $gl_cv_type_off_t_64 = no; then
-        WINDOWS_64_BIT_OFF_T=1
-      else
-        WINDOWS_64_BIT_OFF_T=0
-      fi
-                  WINDOWS_64_BIT_ST_SIZE=1
-      ;;
-    *)
-                                                      WINDOWS_64_BIT_OFF_T=0
-      WINDOWS_64_BIT_ST_SIZE=0
-      ;;
-  esac
-
-
-
-
-
-
+eval ac_res=\$gl_cv_type_${gltype}_signed
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    eval result=\$gl_cv_type_${gltype}_signed
+    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    if test "$result" = yes; then
+      printf "%s\n" "#define HAVE_SIGNED_${GLTYPE} 1" >>confdefs.h
 
+      eval HAVE_SIGNED_${GLTYPE}=1
+    else
+      eval HAVE_SIGNED_${GLTYPE}=0
+    fi
+  done
 
 
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
+  gl_cv_type_ptrdiff_t_signed=yes
+  gl_cv_type_size_t_signed=no
+  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
-else
 
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
+  for gltype in ptrdiff_t size_t ; do
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+printf %s "checking for $gltype integer literal suffix... " >&6; }
+if eval test \${gl_cv_type_${gltype}_suffix+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  eval gl_cv_type_${gltype}_suffix=no
+       eval result=\$gl_cv_type_${gltype}_signed
+       if test "$result" = yes; then
+         glsufu=
+       else
+         glsufu=u
+       fi
+       for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+         case $glsuf in
+           '')  gltype1='int';;
+           l)   gltype1='long int';;
+           ll)  gltype1='long long int';;
+           i64) gltype1='__int64';;
+           u)   gltype1='unsigned int';;
+           ul)  gltype1='unsigned long int';;
+           ull) gltype1='unsigned long long int';;
+           ui64)gltype1='unsigned __int64';;
+         esac
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-fi
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
 
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
+              extern $gltype foo;
+              extern $gltype1 foo;
 int
-main ()
+main (void)
 {
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval gl_cv_type_${gltype}_suffix=\$glsuf
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+         eval result=\$gl_cv_type_${gltype}_suffix
+         test "$result" != no && break
+       done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
+eval ac_res=\$gl_cv_type_${gltype}_suffix
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    eval result=\$gl_cv_type_${gltype}_suffix
+    test "$result" = no && result=
+    eval ${GLTYPE}_SUFFIX=\$result
+    printf "%s\n" "#define ${GLTYPE}_SUFFIX $result" >>confdefs.h
 
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+  done
 
-fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  fi
+
+
+  for gltype in sig_atomic_t wchar_t wint_t ; do
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+printf %s "checking for $gltype integer literal suffix... " >&6; }
+if eval test \${gl_cv_type_${gltype}_suffix+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  eval gl_cv_type_${gltype}_suffix=no
+       eval result=\$gl_cv_type_${gltype}_signed
+       if test "$result" = yes; then
+         glsufu=
+       else
+         glsufu=u
+       fi
+       for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+         case $glsuf in
+           '')  gltype1='int';;
+           l)   gltype1='long int';;
+           ll)  gltype1='long long int';;
+           i64) gltype1='__int64';;
+           u)   gltype1='unsigned int';;
+           ul)  gltype1='unsigned long int';;
+           ull) gltype1='unsigned long long int';;
+           ui64)gltype1='unsigned __int64';;
+         esac
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
 
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <wchar.h>
+  #endif
+
+              extern $gltype foo;
+              extern $gltype1 foo;
 int
-main ()
+main (void)
 {
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval gl_cv_type_${gltype}_suffix=\$glsuf
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+         eval result=\$gl_cv_type_${gltype}_suffix
+         test "$result" != no && break
+       done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
+eval ac_res=\$gl_cv_type_${gltype}_suffix
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    eval result=\$gl_cv_type_${gltype}_suffix
+    test "$result" = no && result=
+    eval ${GLTYPE}_SUFFIX=\$result
+    printf "%s\n" "#define ${GLTYPE}_SUFFIX $result" >>confdefs.h
 
-if test $ac_cv_func_alloca_works = yes; then
+  done
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
 
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
 
+          if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then
+    BITSIZEOF_WINT_T=32
+  fi
 
+      ;;
+  esac
 
 
 
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+  GL_GENERATE_LIMITS_H=true
 
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 'alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether 'alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
 
-    break
-fi
 
-  done
-fi
+  case "$host_os" in
+    *-musl* | midipix*)
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction (int *addr, int depth)
-{
-  int dir, dummy = 0;
-  if (! addr)
-    addr = &dummy;
-  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
-  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
-  return dir + dummy;
-}
+printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h
 
-int
-main (int argc, char **argv)
-{
-  return find_stack_direction (0, argc + !argv + 20) < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
+      ;;
+  esac
+
+ac_fn_check_decl "$LINENO" "fcloseall" "ac_cv_have_decl_fcloseall" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_fcloseall" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+printf "%s\n" "#define HAVE_DECL_FCLOSEALL $ac_have_decl" >>confdefs.h
+
+ac_fn_check_decl "$LINENO" "getw" "ac_cv_have_decl_getw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getw" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
 fi
+printf "%s\n" "#define HAVE_DECL_GETW $ac_have_decl" >>confdefs.h
 
+ac_fn_check_decl "$LINENO" "putw" "ac_cv_have_decl_putw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_putw" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_PUTW $ac_have_decl" >>confdefs.h
 
 
-fi
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
-$as_echo_n "checking if environ is properly declared... " >&6; }
-  if ${gt_cv_var_environ_declaration+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if HAVE_UNISTD_H
-     #include <unistd.h>
-     #endif
-     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
-     #include <stdlib.h>
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stdio_h='<'stdio.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
+printf %s "checking absolute name of <stdio.h>... " >&6; }
+if test ${gl_cv_next_stdio_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-           extern struct { int foo; } environ;
-int
-main ()
-{
-environ.foo = 1;
-  ;
-  return 0;
-}
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_var_environ_declaration=no
-else
-  gt_cv_var_environ_declaration=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'stdio.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
-$as_echo "$gt_cv_var_environ_declaration" >&6; }
-  if test $gt_cv_var_environ_declaration = yes; then
+        gl_cv_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
-$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
+          gl_header=$gl_cv_absolute_stdio_h
+          gl_cv_next_stdio_h='"'$gl_header'"'
 
-  fi
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
+printf "%s\n" "$gl_cv_next_stdio_h" >&6; }
+     fi
+     NEXT_STDIO_H=$gl_cv_next_stdio_h
 
-  if test $gt_cv_var_environ_declaration != yes; then
-    HAVE_DECL_ENVIRON=0
-  fi
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdio.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdio_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive
 
 
-  GNULIB_FCNTL=0;
-  GNULIB_NONBLOCKING=0;
-  GNULIB_OPEN=0;
-  GNULIB_OPENAT=0;
-    HAVE_FCNTL=1;
-  HAVE_OPENAT=1;
-  REPLACE_FCNTL=0;
-  REPLACE_OPEN=0;
-  REPLACE_OPENAT=0;
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
-$as_echo_n "checking for working fcntl.h... " >&6; }
-if ${gl_cv_header_working_fcntl_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  gl_cv_header_working_fcntl_h=cross-compiling
-else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which flavor of printf attribute matches inttypes macros" >&5
+printf %s "checking which flavor of printf attribute matches inttypes macros... " >&6; }
+if test ${gl_cv_func_printf_attribute_flavor+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-           #include <sys/stat.h>
-           #include <unistd.h>
-           #include <fcntl.h>
-           #ifndef O_NOATIME
-            #define O_NOATIME 0
-           #endif
-           #ifndef O_NOFOLLOW
-            #define O_NOFOLLOW 0
-           #endif
-           static int const constants[] =
-            {
-              O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
-              O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
-            };
+
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
 
 int
-main ()
+main (void)
 {
 
-            int status = !constants;
-            {
-              static char const sym[] = "conftest.sym";
-              if (symlink (".", sym) != 0
-                  || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
-                status |= 32;
-              unlink (sym);
-            }
-            {
-              static char const file[] = "confdefs.h";
-              int fd = open (file, O_RDONLY | O_NOATIME);
-              char c;
-              struct stat st0, st1;
-              if (fd < 0
-                  || fstat (fd, &st0) != 0
-                  || sleep (1) != 0
-                  || read (fd, &c, 1) != 1
-                  || close (fd) != 0
-                  || stat (file, &st1) != 0
-                  || st0.st_atime != st1.st_atime)
-                status |= 64;
-            }
-            return status;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_header_working_fcntl_h=yes
-else
-  case $? in #(
-        32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
-        64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
-        96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
-         *) gl_cv_header_working_fcntl_h='no';;
-        esac
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_func_printf_attribute_flavor=system
+else $as_nop
+  gl_cv_func_printf_attribute_flavor=gnu
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_attribute_flavor" >&5
+printf "%s\n" "$gl_cv_func_printf_attribute_flavor" >&6; }
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
-$as_echo "$gl_cv_header_working_fcntl_h" >&6; }
+printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h
 
-  case $gl_cv_header_working_fcntl_h in #(
-  *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
-  *) ac_val=1;;
-  esac
+  fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WORKING_O_NOATIME $ac_val
-_ACEOF
 
 
-  case $gl_cv_header_working_fcntl_h in #(
-  *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
-  *) ac_val=1;;
-  esac
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WORKING_O_NOFOLLOW $ac_val
-_ACEOF
 
 
 
-  GNULIB_DPRINTF=0;
-  GNULIB_FCLOSE=0;
-  GNULIB_FDOPEN=0;
-  GNULIB_FFLUSH=0;
-  GNULIB_FGETC=0;
-  GNULIB_FGETS=0;
-  GNULIB_FOPEN=0;
-  GNULIB_FPRINTF=0;
-  GNULIB_FPRINTF_POSIX=0;
-  GNULIB_FPURGE=0;
-  GNULIB_FPUTC=0;
-  GNULIB_FPUTS=0;
-  GNULIB_FREAD=0;
-  GNULIB_FREOPEN=0;
-  GNULIB_FSCANF=0;
-  GNULIB_FSEEK=0;
-  GNULIB_FSEEKO=0;
-  GNULIB_FTELL=0;
-  GNULIB_FTELLO=0;
-  GNULIB_FWRITE=0;
-  GNULIB_GETC=0;
-  GNULIB_GETCHAR=0;
-  GNULIB_GETDELIM=0;
-  GNULIB_GETLINE=0;
-  GNULIB_OBSTACK_PRINTF=0;
-  GNULIB_OBSTACK_PRINTF_POSIX=0;
-  GNULIB_PCLOSE=0;
-  GNULIB_PERROR=0;
-  GNULIB_POPEN=0;
-  GNULIB_PRINTF=0;
-  GNULIB_PRINTF_POSIX=0;
-  GNULIB_PUTC=0;
-  GNULIB_PUTCHAR=0;
-  GNULIB_PUTS=0;
-  GNULIB_REMOVE=0;
-  GNULIB_RENAME=0;
-  GNULIB_RENAMEAT=0;
-  GNULIB_SCANF=0;
-  GNULIB_SNPRINTF=0;
-  GNULIB_SPRINTF_POSIX=0;
-  GNULIB_STDIO_H_NONBLOCKING=0;
-  GNULIB_STDIO_H_SIGPIPE=0;
-  GNULIB_TMPFILE=0;
-  GNULIB_VASPRINTF=0;
-  GNULIB_VFSCANF=0;
-  GNULIB_VSCANF=0;
-  GNULIB_VDPRINTF=0;
-  GNULIB_VFPRINTF=0;
-  GNULIB_VFPRINTF_POSIX=0;
-  GNULIB_VPRINTF=0;
-  GNULIB_VPRINTF_POSIX=0;
-  GNULIB_VSNPRINTF=0;
-  GNULIB_VSPRINTF_POSIX=0;
-    HAVE_DECL_FPURGE=1;
-  HAVE_DECL_FSEEKO=1;
-  HAVE_DECL_FTELLO=1;
-  HAVE_DECL_GETDELIM=1;
-  HAVE_DECL_GETLINE=1;
-  HAVE_DECL_OBSTACK_PRINTF=1;
-  HAVE_DECL_SNPRINTF=1;
-  HAVE_DECL_VSNPRINTF=1;
-  HAVE_DPRINTF=1;
-  HAVE_FSEEKO=1;
-  HAVE_FTELLO=1;
-  HAVE_PCLOSE=1;
-  HAVE_POPEN=1;
-  HAVE_RENAMEAT=1;
-  HAVE_VASPRINTF=1;
-  HAVE_VDPRINTF=1;
-  REPLACE_DPRINTF=0;
-  REPLACE_FCLOSE=0;
-  REPLACE_FDOPEN=0;
-  REPLACE_FFLUSH=0;
-  REPLACE_FOPEN=0;
-  REPLACE_FPRINTF=0;
-  REPLACE_FPURGE=0;
-  REPLACE_FREOPEN=0;
-  REPLACE_FSEEK=0;
-  REPLACE_FSEEKO=0;
-  REPLACE_FTELL=0;
-  REPLACE_FTELLO=0;
-  REPLACE_GETDELIM=0;
-  REPLACE_GETLINE=0;
-  REPLACE_OBSTACK_PRINTF=0;
-  REPLACE_PERROR=0;
-  REPLACE_POPEN=0;
-  REPLACE_PRINTF=0;
-  REPLACE_REMOVE=0;
-  REPLACE_RENAME=0;
-  REPLACE_RENAMEAT=0;
-  REPLACE_SNPRINTF=0;
-  REPLACE_SPRINTF=0;
-  REPLACE_STDIO_READ_FUNCS=0;
-  REPLACE_STDIO_WRITE_FUNCS=0;
-  REPLACE_TMPFILE=0;
-  REPLACE_VASPRINTF=0;
-  REPLACE_VDPRINTF=0;
-  REPLACE_VFPRINTF=0;
-  REPLACE_VPRINTF=0;
-  REPLACE_VSNPRINTF=0;
-  REPLACE_VSPRINTF=0;
 
 
-     GNULIB_FCHMODAT=0;
-  GNULIB_FSTAT=0;
-  GNULIB_FSTATAT=0;
-  GNULIB_FUTIMENS=0;
-  GNULIB_LCHMOD=0;
-  GNULIB_LSTAT=0;
-  GNULIB_MKDIRAT=0;
-  GNULIB_MKFIFO=0;
-  GNULIB_MKFIFOAT=0;
-  GNULIB_MKNOD=0;
-  GNULIB_MKNODAT=0;
-  GNULIB_STAT=0;
-  GNULIB_UTIMENSAT=0;
-    HAVE_FCHMODAT=1;
-  HAVE_FSTATAT=1;
-  HAVE_FUTIMENS=1;
-  HAVE_LCHMOD=1;
-  HAVE_LSTAT=1;
-  HAVE_MKDIRAT=1;
-  HAVE_MKFIFO=1;
-  HAVE_MKFIFOAT=1;
-  HAVE_MKNOD=1;
-  HAVE_MKNODAT=1;
-  HAVE_UTIMENSAT=1;
-  REPLACE_FSTAT=0;
-  REPLACE_FSTATAT=0;
-  REPLACE_FUTIMENS=0;
-  REPLACE_LSTAT=0;
-  REPLACE_MKDIR=0;
-  REPLACE_MKFIFO=0;
-  REPLACE_MKNOD=0;
-  REPLACE_STAT=0;
-  REPLACE_UTIMENSAT=0;
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/stat.h>
 
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
 
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
 
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
 
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+
+  if test $ac_cv_have_decl_fcloseall = no; then
+    HAVE_DECL_FCLOSEALL=0
+  fi
+
+
+  if test $ac_cv_have_decl_getw = no; then
+    HAVE_DECL_GETW=0
+  fi
+
+
+  if test $ac_cv_have_decl_putw = no; then
+    HAVE_DECL_PUTW=0
+  fi
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
+if test ${gt_cv_locale_fr_utf8+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    case "$host_os" in
+      *-musl* | midipix*)
+                                        gt_cv_locale_fr_utf8=fr_FR.UTF-8
+        ;;
+      *)
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if !(defined __BEOS__ || defined __HAIKU__)
+  /* Check whether the given locale name is recognized by the system.  */
+# if defined _WIN32 && !defined __CYGWIN__
+  /* On native Windows, setlocale(category, "") looks at the system settings,
+     not at the environment variables.  Also, when an encoding suffix such
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
+     category of the locale to "C".  */
+  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+    return 1;
+# else
+  if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+     some unit tests fail.  */
+# if HAVE_LANGINFO_CODESET
+  {
+    const char *cs = nl_langinfo (CODESET);
+    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+      return 1;
+  }
+# endif
+# ifdef __CYGWIN__
+  /* On Cygwin, avoid locale names without encoding suffix, because the
+     locale_charset() function relies on the encoding suffix.  Note that
+     LC_ALL is set on the command line.  */
+  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+  /* Check whether in the abbreviation of the second month, the second
+     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
+     two bytes long, with UTF-8 encoding.  */
+  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+  if (strftime (buf, sizeof (buf), "%b", &t) < 4
+      || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
+    return 1;
+#endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+  /* Check whether the decimal separator is a comma.
+     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+     are nl_langinfo(RADIXCHAR) are both ".".  */
+  if (localeconv () ->decimal_point[0] != ',') return 1;
 #endif
+  return 0;
+}
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stat_broken=no
-else
-  ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
-
-$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+          case "$host_os" in
+            # Handle native Windows specially, because there setlocale() interprets
+            # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+            # "fr" or "fra" as "French" or "French_France.1252",
+            # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+            # "ja" as "Japanese" or "Japanese_Japan.932",
+            # and similar.
+            mingw* | windows*)
+              # Test for the hypothetical native Windows locale name.
+              if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr_utf8=French_France.65001
+              else
+                # None found.
+                gt_cv_locale_fr_utf8=none
+              fi
+              ;;
+            *)
+              # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+              # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+              # configure script would override the LC_ALL setting. Likewise for
+              # LC_CTYPE, which is also set at the beginning of the configure script.
+              # Test for the usual locale name.
+              if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr_utf8=fr_FR
+              else
+                # Test for the locale name with explicit encoding suffix.
+                if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                  gt_cv_locale_fr_utf8=fr_FR.UTF-8
+                else
+                  # Test for the Solaris 7 locale name.
+                  if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                    gt_cv_locale_fr_utf8=fr.UTF-8
+                  else
+                    # None found.
+                    gt_cv_locale_fr_utf8=none
+                  fi
+                fi
+              fi
+              ;;
+          esac
+        fi
+        rm -fr conftest*
+        ;;
+    esac
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
+  LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+  case $LOCALE_FR_UTF8 in #(
+    '' | *[[:space:]\"\$\'*[]*)
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&5
+printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&2;}
+      LOCALE_FR_UTF8=none;;
+  esac
+
 
+      case "$host_os" in
+    *-musl* | midipix*)
+                  LC_COLLATE_IMPLEMENTED=false
+      LC_NUMERIC_IMPLEMENTED=false
+      LC_TIME_IMPLEMENTED=false
+      LC_MONETARY_IMPLEMENTED=false
+      ;;
+    *)
+      LC_COLLATE_IMPLEMENTED=true
+      LC_NUMERIC_IMPLEMENTED=true
+      LC_TIME_IMPLEMENTED=true
+      LC_MONETARY_IMPLEMENTED=true
+      ;;
+  esac
 
 
 
 
 
+ac_fn_check_decl "$LINENO" "ecvt" "ac_cv_have_decl_ecvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_ecvt" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_ECVT $ac_have_decl" >>confdefs.h
 
+ac_fn_check_decl "$LINENO" "fcvt" "ac_cv_have_decl_fcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_fcvt" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_FCVT $ac_have_decl" >>confdefs.h
 
+ac_fn_check_decl "$LINENO" "gcvt" "ac_cv_have_decl_gcvt" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_gcvt" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_GCVT $ac_have_decl" >>confdefs.h
 
 
 
 
 
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+       gl_cv_next_stdlib_h='<'stdlib.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
-$as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
-if ${gl_cv_next_sys_stat_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
+printf %s "checking absolute name of <stdlib.h>... " >&6; }
+if test ${gl_cv_next_stdlib_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-             if test $ac_cv_header_sys_stat_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/stat.h>
-
+#include <stdlib.h>
 _ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'sys/stat.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_sys_stat_h='<'sys/stat.h'>'
-             fi
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'stdlib.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_stdlib_h
+          gl_cv_next_stdlib_h='"'$gl_header'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
-$as_echo "$gl_cv_next_sys_stat_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
+printf "%s\n" "$gl_cv_next_stdlib_h" >&6; }
      fi
-     NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
+     NEXT_STDLIB_H=$gl_cv_next_stdlib_h
 
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'sys/stat.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_sys_stat_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive
-
-
-
-
-
-
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdlib.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdlib_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
 
 
 
 
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
 
-$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
 
-  fi
 
-      ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
-     #include <sys/stat.h>
-"
-if test "x$ac_cv_type_nlink_t" = xyes; then :
 
-else
 
-$as_echo "#define nlink_t int" >>confdefs.h
 
-fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether MB_CUR_MAX is correct" >&5
+printf %s "checking whether MB_CUR_MAX is correct... " >&6; }
+if test ${gl_cv_macro_MB_CUR_MAX_good+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+                  case "$host_os" in
+                  # Guess no on Solaris.
+        solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;;
+                  # Guess yes otherwise.
+        *)        gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;;
+      esac
+      if test $LOCALE_FR_UTF8 != none; then
+        if test "$cross_compiling" = yes
+then :
+  :
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/stat.h>
 
-int
-main ()
+#include <locale.h>
+#include <stdlib.h>
+int main ()
 {
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
+  int result = 0;
+  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+    {
+      if (MB_CUR_MAX < 4)
+        result |= 1;
+    }
+  return result;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_macro_MB_CUR_MAX_good=yes
+else $as_nop
+  gl_cv_macro_MB_CUR_MAX_good=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
+      fi
+
 fi
-      done
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_MB_CUR_MAX_good" >&5
+printf "%s\n" "$gl_cv_macro_MB_CUR_MAX_good" >&6; }
+  case "$gl_cv_macro_MB_CUR_MAX_good" in
+    *yes) ;;
+    *) REPLACE_MB_CUR_MAX=1 ;;
+  esac
+
+
+  if test $ac_cv_have_decl_ecvt = no; then
+    HAVE_DECL_ECVT=0
+  fi
 
+  if test $ac_cv_have_decl_fcvt = no; then
+    HAVE_DECL_FCVT=0
+  fi
 
+  if test $ac_cv_have_decl_gcvt = no; then
+    HAVE_DECL_GCVT=0
+  fi
 
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
-$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
-if ${gl_cv_func_getcwd_null+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
+  HAVE_MBSLEN=0;
+    HAVE_EXPLICIT_BZERO=1;
+  HAVE_FFSL=1;
+  HAVE_FFSLL=1;
+  HAVE_DECL_MEMMEM=1;
+  HAVE_MEMPCPY=1;
+  HAVE_MEMSET_EXPLICIT=1;
+  HAVE_DECL_MEMRCHR=1;
+  HAVE_RAWMEMCHR=1;
+  HAVE_STPCPY=1;
+  HAVE_STPNCPY=1;
+  HAVE_STRCHRNUL=1;
+  HAVE_DECL_STRDUP=1;
+  HAVE_DECL_STRNDUP=1;
+  HAVE_DECL_STRNLEN=1;
+  HAVE_STRPBRK=1;
+  HAVE_STRSEP=1;
+  HAVE_STRCASESTR=1;
+  HAVE_DECL_STRTOK_R=1;
+  HAVE_DECL_STRERROR_R=1;
+  HAVE_STRERRORNAME_NP=1;
+  HAVE_SIGABBREV_NP=1;
+  HAVE_SIGDESCR_NP=1;
+  HAVE_DECL_STRSIGNAL=1;
+  HAVE_STRVERSCMP=1;
+  REPLACE_FFSLL=0;
+  REPLACE_MEMCHR=0;
+  REPLACE_MEMMEM=0;
+  REPLACE_MEMPCPY=0;
+  REPLACE_STPCPY=0;
+  REPLACE_STPNCPY=0;
+  REPLACE_STRCHRNUL=0;
+  REPLACE_STRDUP=0;
+  REPLACE_STRNCAT=0;
+  REPLACE_STRNDUP=0;
+  REPLACE_STRNLEN=0;
+  REPLACE_STRSTR=0;
+  REPLACE_STRCASESTR=0;
+  REPLACE_STRTOK_R=0;
+  REPLACE_STRERROR=0;
+  REPLACE_STRERROR_R=0;
+  REPLACE_STRERRORNAME_NP=0;
+  REPLACE_STRSIGNAL=0;
+  UNDEFINE_STRTOK_R=0;
+
+
+     REPLACE_STRERROR_0=0
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
+printf %s "checking whether strerror(0) succeeds... " >&6; }
+if test ${gl_cv_func_strerror_0_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
   case "$host_os" in
-                     # Guess yes on glibc systems.
-            *-gnu*)  gl_cv_func_getcwd_null="guessing yes";;
-                     # Guess yes on Cygwin.
-            cygwin*) gl_cv_func_getcwd_null="guessing yes";;
-                     # If we don't know, assume the worst.
-            *)       gl_cv_func_getcwd_null="guessing no";;
-          esac
+                             # Guess yes on glibc systems.
+         *-gnu* | gnu*)      gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # Guess yes on musl systems.
+         *-musl* | midipix*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # Guess yes on native Windows.
+         mingw* | windows*)  gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # If we don't know, obey --enable-cross-guesses.
+         *)                  gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
+       esac
 
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#        if HAVE_UNISTD_H
-#         include <unistd.h>
-#        else /* on Windows with MSVC */
-#         include <direct.h>
-#        endif
-#        ifndef getcwd
-         char *getcwd ();
-#        endif
+#include <string.h>
+           #include <errno.h>
 
 int
-main ()
+main (void)
 {
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* mingw cwd does not start with '/', but getcwd does allocate.
-   However, mingw fails to honor non-zero size.  */
-#else
-           if (chdir ("/") != 0)
-             return 1;
-           else
-             {
-               char *f = getcwd (NULL, 0);
-               if (! f)
-                 return 2;
-               if (f[0] != '/')
-                 return 3;
-               if (f[1] != '\0')
-                 return 4;
-               return 0;
-             }
-#endif
-
+int result = 0;
+           char *str;
+           errno = 0;
+           str = strerror (0);
+           if (!*str) result |= 1;
+           if (errno) result |= 2;
+           if (strstr (str, "nknown") || strstr (str, "ndefined"))
+             result |= 4;
+           return result;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_getcwd_null=yes
-else
-  gl_cv_func_getcwd_null=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_strerror_0_works=yes
+else $as_nop
+  gl_cv_func_strerror_0_works=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5
-$as_echo "$gl_cv_func_getcwd_null" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
+printf "%s\n" "$gl_cv_func_strerror_0_works" >&6; }
+  case "$gl_cv_func_strerror_0_works" in
+    *yes) ;;
+    *)
+      REPLACE_STRERROR_0=1
 
+printf "%s\n" "#define REPLACE_STRERROR_0 1" >>confdefs.h
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5
-$as_echo_n "checking for getcwd with POSIX signature... " >&6; }
-if ${gl_cv_func_getcwd_posix_signature+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
-int
-main ()
-{
-extern
-           #ifdef __cplusplus
-           "C"
-           #endif
-           char *getcwd (char *, size_t);
+      ;;
+  esac
 
-  ;
-  return 0;
-}
 
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_getcwd_posix_signature=yes
-else
-  gl_cv_func_getcwd_posix_signature=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
-$as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
+  GL_GNULIB_EXPLICIT_BZERO=0
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
-$as_echo_n "checking for long long int... " >&6; }
-if ${ac_cv_type_long_long_int+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-  /* For now, do not test the preprocessor; as of 2007 there are too many
-         implementations with broken preprocessors.  Perhaps this can
-         be revisited in 2012.  In the meantime, code should not expect
-         #if to work with literals wider than 32 bits.  */
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                     ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                     ? 1 : -1)];
-      int i = 63;
-int
-main ()
-{
-/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-              | (llmax / ll) | (llmax % ll)
-              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-              | (ullmax / ull) | (ullmax % ull));
-  ;
-  return 0;
-}
+  GL_GNULIB_FFSL=0
 
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-                          if test "$cross_compiling" = yes; then :
-  ac_cv_type_long_long_int=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-               #ifndef LLONG_MAX
-               # define HALF \
-                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-               # define LLONG_MAX (HALF - 1 + HALF)
-               #endif
-int
-main ()
-{
-long long int n = 1;
-               int i;
-               for (i = 0; ; i++)
-                 {
-                   long long int m = n << i;
-                   if (m >> i != n)
-                     return 1;
-                   if (LLONG_MAX / 2 < m)
-                     break;
-                 }
-               return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_type_long_long_int=yes
-else
-  ac_cv_type_long_long_int=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
-else
-  ac_cv_type_long_long_int=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
-$as_echo "$ac_cv_type_long_long_int" >&6; }
-  if test $ac_cv_type_long_long_int = yes; then
 
-$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
+  GL_GNULIB_FFSLL=0
 
-  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
-$as_echo_n "checking for unsigned long long int... " >&6; }
-if ${ac_cv_type_unsigned_long_long_int+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_GNULIB_MEMCHR=0
 
-  /* For now, do not test the preprocessor; as of 2007 there are too many
-         implementations with broken preprocessors.  Perhaps this can
-         be revisited in 2012.  In the meantime, code should not expect
-         #if to work with literals wider than 32 bits.  */
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                     ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                     ? 1 : -1)];
-      int i = 63;
-int
-main ()
-{
-/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-              | (llmax / ll) | (llmax % ll)
-              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-              | (ullmax / ull) | (ullmax % ull));
-  ;
-  return 0;
-}
 
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_type_unsigned_long_long_int=yes
-else
-  ac_cv_type_unsigned_long_long_int=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
-$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
-  if test $ac_cv_type_unsigned_long_long_int = yes; then
 
-$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
+  GL_GNULIB_MEMMEM=0
 
-  fi
 
 
+  GL_GNULIB_MEMPCPY=0
 
 
 
+  GL_GNULIB_MEMRCHR=0
 
-    gl_cv_c_multiarch=no
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-         not a universal capable compiler
-        #endif
-        typedef int dummy;
 
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-               arch=
-     prev=
-     for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
-       if test -n "$prev"; then
-         case $word in
-           i?86 | x86_64 | ppc | ppc64)
-             if test -z "$arch" || test "$arch" = "$word"; then
-               arch="$word"
-             else
-               gl_cv_c_multiarch=yes
-             fi
-             ;;
-         esac
-         prev=
-       else
-         if test "x$word" = "x-arch"; then
-           prev=arch
-         fi
-       fi
-     done
 
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  if test $gl_cv_c_multiarch = yes; then
-    APPLE_UNIVERSAL_BUILD=1
-  else
-    APPLE_UNIVERSAL_BUILD=0
-  fi
+  GL_GNULIB_MEMSET_EXPLICIT=0
 
 
 
+  GL_GNULIB_RAWMEMCHR=0
 
 
-  if test $ac_cv_type_long_long_int = yes; then
-    HAVE_LONG_LONG_INT=1
-  else
-    HAVE_LONG_LONG_INT=0
-  fi
 
+  GL_GNULIB_STPCPY=0
 
-  if test $ac_cv_type_unsigned_long_long_int = yes; then
-    HAVE_UNSIGNED_LONG_LONG_INT=1
-  else
-    HAVE_UNSIGNED_LONG_LONG_INT=0
-  fi
 
 
+  GL_GNULIB_STPNCPY=0
 
-  if test $ac_cv_header_wchar_h = yes; then
-    HAVE_WCHAR_H=1
-  else
-    HAVE_WCHAR_H=0
-  fi
 
 
-      if test $ac_cv_header_inttypes_h = yes; then
-    HAVE_INTTYPES_H=1
-  else
-    HAVE_INTTYPES_H=0
-  fi
+  GL_GNULIB_STRCHRNUL=0
 
 
-      if test $ac_cv_header_sys_types_h = yes; then
-    HAVE_SYS_TYPES_H=1
-  else
-    HAVE_SYS_TYPES_H=0
-  fi
 
+  GL_GNULIB_STRDUP=0
 
 
 
+  GL_GNULIB_STRNCAT=0
 
 
 
+  GL_GNULIB_STRNDUP=0
 
 
 
+  GL_GNULIB_STRNLEN=0
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stdint_h='<'stdint.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
-$as_echo_n "checking absolute name of <stdint.h>... " >&6; }
-if ${gl_cv_next_stdint_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_stdint_h = yes; then
 
+  GL_GNULIB_STRPBRK=0
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdint.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'stdint.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_stdint_h='<'stdint.h'>'
-             fi
+  GL_GNULIB_STRSEP=0
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
-$as_echo "$gl_cv_next_stdint_h" >&6; }
-     fi
-     NEXT_STDINT_H=$gl_cv_next_stdint_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stdint.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stdint_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive
+  GL_GNULIB_STRSTR=0
+
+
+
+  GL_GNULIB_STRCASESTR=0
+
+
+
+  GL_GNULIB_STRTOK_R=0
+
+
+
+  GL_GNULIB_MBSLEN=0
+
+
+
+  GL_GNULIB_MBSNLEN=0
+
+
+
+  GL_GNULIB_MBSCHR=0
+
+
+
+  GL_GNULIB_MBSRCHR=0
+
+
+
+  GL_GNULIB_MBSSTR=0
+
+
 
+  GL_GNULIB_MBSCASECMP=0
 
 
 
-  if test $ac_cv_header_stdint_h = yes; then
-    HAVE_STDINT_H=1
-  else
-    HAVE_STDINT_H=0
-  fi
+  GL_GNULIB_MBSNCASECMP=0
 
 
-    if test $ac_cv_header_stdint_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
-$as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
-if ${gl_cv_header_working_stdint_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gl_cv_header_working_stdint_h=no
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
+  GL_GNULIB_MBSPCASECMP=0
 
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
-#if !(defined WCHAR_MIN && defined WCHAR_MAX)
-#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
-#endif
 
 
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
+  GL_GNULIB_MBSCASESTR=0
 
 
-#ifdef INT8_MAX
-int8_t a1 = INT8_MAX;
-int8_t a1min = INT8_MIN;
-#endif
-#ifdef INT16_MAX
-int16_t a2 = INT16_MAX;
-int16_t a2min = INT16_MIN;
-#endif
-#ifdef INT32_MAX
-int32_t a3 = INT32_MAX;
-int32_t a3min = INT32_MIN;
-#endif
-#ifdef INT64_MAX
-int64_t a4 = INT64_MAX;
-int64_t a4min = INT64_MIN;
-#endif
-#ifdef UINT8_MAX
-uint8_t b1 = UINT8_MAX;
-#else
-typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
-#endif
-#ifdef UINT16_MAX
-uint16_t b2 = UINT16_MAX;
-#endif
-#ifdef UINT32_MAX
-uint32_t b3 = UINT32_MAX;
-#endif
-#ifdef UINT64_MAX
-uint64_t b4 = UINT64_MAX;
-#endif
-int_least8_t c1 = INT8_C (0x7f);
-int_least8_t c1max = INT_LEAST8_MAX;
-int_least8_t c1min = INT_LEAST8_MIN;
-int_least16_t c2 = INT16_C (0x7fff);
-int_least16_t c2max = INT_LEAST16_MAX;
-int_least16_t c2min = INT_LEAST16_MIN;
-int_least32_t c3 = INT32_C (0x7fffffff);
-int_least32_t c3max = INT_LEAST32_MAX;
-int_least32_t c3min = INT_LEAST32_MIN;
-int_least64_t c4 = INT64_C (0x7fffffffffffffff);
-int_least64_t c4max = INT_LEAST64_MAX;
-int_least64_t c4min = INT_LEAST64_MIN;
-uint_least8_t d1 = UINT8_C (0xff);
-uint_least8_t d1max = UINT_LEAST8_MAX;
-uint_least16_t d2 = UINT16_C (0xffff);
-uint_least16_t d2max = UINT_LEAST16_MAX;
-uint_least32_t d3 = UINT32_C (0xffffffff);
-uint_least32_t d3max = UINT_LEAST32_MAX;
-uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
-uint_least64_t d4max = UINT_LEAST64_MAX;
-int_fast8_t e1 = INT_FAST8_MAX;
-int_fast8_t e1min = INT_FAST8_MIN;
-int_fast16_t e2 = INT_FAST16_MAX;
-int_fast16_t e2min = INT_FAST16_MIN;
-int_fast32_t e3 = INT_FAST32_MAX;
-int_fast32_t e3min = INT_FAST32_MIN;
-int_fast64_t e4 = INT_FAST64_MAX;
-int_fast64_t e4min = INT_FAST64_MIN;
-uint_fast8_t f1 = UINT_FAST8_MAX;
-uint_fast16_t f2 = UINT_FAST16_MAX;
-uint_fast32_t f3 = UINT_FAST32_MAX;
-uint_fast64_t f4 = UINT_FAST64_MAX;
-#ifdef INTPTR_MAX
-intptr_t g = INTPTR_MAX;
-intptr_t gmin = INTPTR_MIN;
-#endif
-#ifdef UINTPTR_MAX
-uintptr_t h = UINTPTR_MAX;
-#endif
-intmax_t i = INTMAX_MAX;
-uintmax_t j = UINTMAX_MAX;
 
-#include <limits.h> /* for CHAR_BIT */
-#define TYPE_MINIMUM(t) \
-  ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
-#define TYPE_MAXIMUM(t) \
-  ((t) ((t) 0 < (t) -1 \
-        ? (t) -1 \
-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-struct s {
-  int check_PTRDIFF:
-      PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
-      && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
-      ? 1 : -1;
-  /* Detect bug in FreeBSD 6.0 / ia64.  */
-  int check_SIG_ATOMIC:
-      SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
-      && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
-      ? 1 : -1;
-  int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
-  int check_WCHAR:
-      WCHAR_MIN == TYPE_MINIMUM (wchar_t)
-      && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
-      ? 1 : -1;
-  /* Detect bug in mingw.  */
-  int check_WINT:
-      WINT_MIN == TYPE_MINIMUM (wint_t)
-      && WINT_MAX == TYPE_MAXIMUM (wint_t)
-      ? 1 : -1;
+  GL_GNULIB_MBSCSPN=0
 
-  /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others.  */
-  int check_UINT8_C:
-        (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
-  int check_UINT16_C:
-        (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
 
-  /* Detect bugs in OpenBSD 3.9 stdint.h.  */
-#ifdef UINT8_MAX
-  int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
-#endif
-#ifdef UINT16_MAX
-  int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
-#endif
-#ifdef UINT32_MAX
-  int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
-#endif
-#ifdef UINT64_MAX
-  int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
-#endif
-  int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
-  int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
-  int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
-  int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
-  int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
-  int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
-  int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
-  int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
-  int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
-  int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
-  int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
-};
 
-int
-main ()
-{
+  GL_GNULIB_MBSPBRK=0
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-                                                    if test "$cross_compiling" = yes; then :
-                 gl_cv_header_working_stdint_h=yes
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
+  GL_GNULIB_MBSSPN=0
 
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
 
 
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
+  GL_GNULIB_MBSSEP=0
 
 
-#include <stdio.h>
-#include <string.h>
-#define MVAL(macro) MVAL1(macro)
-#define MVAL1(expression) #expression
-static const char *macro_values[] =
-  {
-#ifdef INT8_MAX
-    MVAL (INT8_MAX),
-#endif
-#ifdef INT16_MAX
-    MVAL (INT16_MAX),
-#endif
-#ifdef INT32_MAX
-    MVAL (INT32_MAX),
-#endif
-#ifdef INT64_MAX
-    MVAL (INT64_MAX),
-#endif
-#ifdef UINT8_MAX
-    MVAL (UINT8_MAX),
-#endif
-#ifdef UINT16_MAX
-    MVAL (UINT16_MAX),
-#endif
-#ifdef UINT32_MAX
-    MVAL (UINT32_MAX),
-#endif
-#ifdef UINT64_MAX
-    MVAL (UINT64_MAX),
-#endif
-    NULL
-  };
 
-int
-main ()
-{
+  GL_GNULIB_MBSTOK_R=0
 
-  const char **mv;
-  for (mv = macro_values; *mv != NULL; mv++)
-    {
-      const char *value = *mv;
-      /* Test whether it looks like a cast expression.  */
-      if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
-          || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
-          || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
-          || strncmp (value, "((int)"/*)*/, 6) == 0
-          || strncmp (value, "((signed short)"/*)*/, 15) == 0
-          || strncmp (value, "((signed char)"/*)*/, 14) == 0)
-        return mv - macro_values + 1;
-    }
-  return 0;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_header_working_stdint_h=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
+  GL_GNULIB_STRERROR=0
 
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
-$as_echo "$gl_cv_header_working_stdint_h" >&6; }
-  fi
-  if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
-  else
-            for ac_header in sys/inttypes.h sys/bitypes.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
-fi
+  GL_GNULIB_STRERROR_R=0
 
-done
 
-    if test $ac_cv_header_sys_inttypes_h = yes; then
-      HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
-    fi
 
-    if test $ac_cv_header_sys_bitypes_h = yes; then
-      HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
-    fi
+  GL_GNULIB_STRERRORNAME_NP=0
 
 
 
+  GL_GNULIB_SIGABBREV_NP=0
 
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
 
-  for gltype in ptrdiff_t size_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
-if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
+  GL_GNULIB_SIGDESCR_NP=0
 
-#include <limits.h>"; then :
 
-else
-  result=unknown
-fi
 
-       eval gl_cv_bitsizeof_${gltype}=\$result
+  GL_GNULIB_STRSIGNAL=0
+
 
-fi
-eval ac_res=\$gl_cv_bitsizeof_${gltype}
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    eval result=\$gl_cv_bitsizeof_${gltype}
-    if test $result = unknown; then
-                                                result=0
-    fi
-    GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
-    cat >>confdefs.h <<_ACEOF
-#define BITSIZEOF_${GLTYPE} $result
-_ACEOF
 
-    eval BITSIZEOF_${GLTYPE}=\$result
-  done
+  GL_GNULIB_STRVERSCMP=0
 
 
-  fi
 
+  GL_GNULIB_MDA_MEMCCPY=1
 
-  for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
-if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
 
-#include <limits.h>"; then :
 
-else
-  result=unknown
-fi
+  GL_GNULIB_MDA_STRDUP=1
 
-       eval gl_cv_bitsizeof_${gltype}=\$result
 
-fi
-eval ac_res=\$gl_cv_bitsizeof_${gltype}
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    eval result=\$gl_cv_bitsizeof_${gltype}
-    if test $result = unknown; then
-                                                result=0
-    fi
-    GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
-    cat >>confdefs.h <<_ACEOF
-#define BITSIZEOF_${GLTYPE} $result
-_ACEOF
 
-    eval BITSIZEOF_${GLTYPE}=\$result
-  done
 
 
 
 
-  for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
-$as_echo_n "checking whether $gltype is signed... " >&6; }
-if eval \${gl_cv_type_${gltype}_signed+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
 
-            int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  result=yes
-else
-  result=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       eval gl_cv_type_${gltype}_signed=\$result
 
-fi
-eval ac_res=\$gl_cv_type_${gltype}_signed
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    eval result=\$gl_cv_type_${gltype}_signed
-    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
-    if test "$result" = yes; then
-      cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGNED_${GLTYPE} 1
-_ACEOF
 
-      eval HAVE_SIGNED_${GLTYPE}=1
-    else
-      eval HAVE_SIGNED_${GLTYPE}=0
-    fi
-  done
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_string_h='<'string.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
+printf %s "checking absolute name of <string.h>... " >&6; }
+if test ${gl_cv_next_string_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-  gl_cv_type_ptrdiff_t_signed=yes
-  gl_cv_type_size_t_signed=no
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
 
-  for gltype in ptrdiff_t size_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval gl_cv_type_${gltype}_suffix=no
-       eval result=\$gl_cv_type_${gltype}_signed
-       if test "$result" = yes; then
-         glsufu=
-       else
-         glsufu=u
-       fi
-       for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
-         case $glsuf in
-           '')  gltype1='int';;
-           l)   gltype1='long int';;
-           ll)  gltype1='long long int';;
-           i64) gltype1='__int64';;
-           u)   gltype1='unsigned int';;
-           ul)  gltype1='unsigned long int';;
-           ull) gltype1='unsigned long long int';;
-           ui64)gltype1='unsigned __int64';;
-         esac
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <string.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'string.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_string_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_string_h
+          gl_cv_next_string_h='"'$gl_header'"'
 
-              extern $gltype foo;
-              extern $gltype1 foo;
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval gl_cv_type_${gltype}_suffix=\$glsuf
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         eval result=\$gl_cv_type_${gltype}_suffix
-         test "$result" != no && break
-       done
 fi
-eval ac_res=\$gl_cv_type_${gltype}_suffix
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
-    eval result=\$gl_cv_type_${gltype}_suffix
-    test "$result" = no && result=
-    eval ${GLTYPE}_SUFFIX=\$result
-    cat >>confdefs.h <<_ACEOF
-#define ${GLTYPE}_SUFFIX $result
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
+printf "%s\n" "$gl_cv_next_string_h" >&6; }
+     fi
+     NEXT_STRING_H=$gl_cv_next_string_h
 
-  done
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'string.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_string_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive
 
 
-  fi
 
 
-  for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval gl_cv_type_${gltype}_suffix=no
-       eval result=\$gl_cv_type_${gltype}_signed
-       if test "$result" = yes; then
-         glsufu=
-       else
-         glsufu=u
-       fi
-       for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
-         case $glsuf in
-           '')  gltype1='int';;
-           l)   gltype1='long int';;
-           ll)  gltype1='long long int';;
-           i64) gltype1='__int64';;
-           u)   gltype1='unsigned int';;
-           ul)  gltype1='unsigned long int';;
-           ull) gltype1='unsigned long long int';;
-           ui64)gltype1='unsigned __int64';;
-         esac
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-  #include <stddef.h>
-  #include <signal.h>
-  #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
-  # include <wchar.h>
-  #endif
 
-              extern $gltype foo;
-              extern $gltype1 foo;
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval gl_cv_type_${gltype}_suffix=\$glsuf
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         eval result=\$gl_cv_type_${gltype}_suffix
-         test "$result" != no && break
-       done
-fi
-eval ac_res=\$gl_cv_type_${gltype}_suffix
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
-    eval result=\$gl_cv_type_${gltype}_suffix
-    test "$result" = no && result=
-    eval ${GLTYPE}_SUFFIX=\$result
-    cat >>confdefs.h <<_ACEOF
-#define ${GLTYPE}_SUFFIX $result
-_ACEOF
 
-  done
 
 
 
-          if test $BITSIZEOF_WINT_T -lt 32; then
-    BITSIZEOF_WINT_T=32
-  fi
 
-    STDINT_H=stdint.h
-  fi
 
-   if test -n "$STDINT_H"; then
-  GL_GENERATE_STDINT_H_TRUE=
-  GL_GENERATE_STDINT_H_FALSE='#'
-else
-  GL_GENERATE_STDINT_H_TRUE='#'
-  GL_GENERATE_STDINT_H_FALSE=
-fi
 
 
 
 
 
-  GNULIB_IMAXABS=0;
-  GNULIB_IMAXDIV=0;
-  GNULIB_STRTOIMAX=0;
-  GNULIB_STRTOUMAX=0;
-    HAVE_DECL_IMAXABS=1;
-  HAVE_DECL_IMAXDIV=1;
-  HAVE_DECL_STRTOIMAX=1;
-  HAVE_DECL_STRTOUMAX=1;
-  REPLACE_STRTOIMAX=0;
-  INT32_MAX_LT_INTMAX_MAX=1;
-  INT64_MAX_EQ_LONG_MAX='defined _LP64';
-  PRI_MACROS_BROKEN=0;
-  PRIPTR_PREFIX=__PRIPTR_PREFIX;
-  UINT32_MAX_LT_UINTMAX_MAX=1;
-  UINT64_MAX_EQ_ULONG_MAX='defined _LP64';
 
 
 
 
 
+printf "%s\n" "#define _USE_STD_STAT 1" >>confdefs.h
 
 
 
 
 
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_inttypes_h='<'inttypes.h'>'
+       gl_cv_next_sys_types_h='<'sys/types.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
-$as_echo_n "checking absolute name of <inttypes.h>... " >&6; }
-if ${gl_cv_next_inttypes_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
+printf %s "checking absolute name of <sys/types.h>... " >&6; }
+if test ${gl_cv_next_sys_types_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-             if test $ac_cv_header_inttypes_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <inttypes.h>
-
+#include <sys/types.h>
 _ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'inttypes.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_inttypes_h='<'inttypes.h'>'
-             fi
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/types.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_sys_types_h
+          gl_cv_next_sys_types_h='"'$gl_header'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
-$as_echo "$gl_cv_next_inttypes_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
+printf "%s\n" "$gl_cv_next_sys_types_h" >&6; }
      fi
-     NEXT_INTTYPES_H=$gl_cv_next_inttypes_h
+     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/types.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_types_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'inttypes.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_inttypes_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive
 
 
 
+    WINDOWS_STAT_INODES=0
 
 
 
 
 
-    for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+    HAVE_DECL_LOCALTIME_R=1;
+  HAVE_NANOSLEEP=1;
+  HAVE_STRPTIME=1;
+  HAVE_TIMEGM=1;
+  HAVE_TIMESPEC_GET=1;
+  HAVE_TIMESPEC_GETRES=1;
+    HAVE_TIMEZONE_T=0;
+  REPLACE_CTIME=0;
+  REPLACE_GMTIME=0;
+  REPLACE_LOCALTIME=0;
+  REPLACE_LOCALTIME_R=0;
+  REPLACE_MKTIME=0;
+  REPLACE_NANOSLEEP=0;
+  REPLACE_STRFTIME=0;
+  REPLACE_TIME=0;
+  REPLACE_TIMEGM=0;
+  REPLACE_TIMESPEC_GET=0;
+  REPLACE_TZSET=0;
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
+printf %s "checking for struct timespec in <time.h>... " >&6; }
+if test ${gl_cv_sys_struct_timespec_in_time_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <inttypes.h>
+#include <time.h>
 
 int
-main ()
+main (void)
 {
-#undef $gl_func
-  (void) $gl_func;
+static struct timespec x; x.tv_sec = x.tv_nsec;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_sys_struct_timespec_in_time_h=yes
+else $as_nop
+  gl_cv_sys_struct_timespec_in_time_h=no
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-      done
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
 
+  TIME_H_DEFINES_STRUCT_TIMESPEC=0
+  SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+  PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+  UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
+  if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
+    TIME_H_DEFINES_STRUCT_TIMESPEC=1
+  else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
+printf %s "checking for struct timespec in <sys/time.h>... " >&6; }
+if test ${gl_cv_sys_struct_timespec_in_sys_time_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/time.h>
 
-  for ac_header in inttypes.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
+int
+main (void)
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+  ;
+  return 0;
+}
 _ACEOF
-
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_sys_struct_timespec_in_sys_time_h=yes
+else $as_nop
+  gl_cv_sys_struct_timespec_in_sys_time_h=no
 fi
-
-done
-
-  if test $ac_cv_header_inttypes_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
-$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
-if ${gt_cv_inttypes_pri_broken+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
+    if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
+      SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+    else
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
+printf %s "checking for struct timespec in <pthread.h>... " >&6; }
+if test ${gl_cv_sys_struct_timespec_in_pthread_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
+#include <pthread.h>
 
 int
-main ()
+main (void)
 {
-
+static struct timespec x; x.tv_sec = x.tv_nsec;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_inttypes_pri_broken=no
-else
-  gt_cv_inttypes_pri_broken=yes
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_sys_struct_timespec_in_pthread_h=yes
+else $as_nop
+  gl_cv_sys_struct_timespec_in_pthread_h=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5
-$as_echo "$gt_cv_inttypes_pri_broken" >&6; }
-  fi
-  if test "$gt_cv_inttypes_pri_broken" = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define PRI_MACROS_BROKEN 1
-_ACEOF
-
-    PRI_MACROS_BROKEN=1
-  else
-    PRI_MACROS_BROKEN=0
-  fi
-
-
-
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
-$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
-if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f conftest.sym conftest.file
-     echo >conftest.file
-     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
-       if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
-          esac
-
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
+      if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
+        PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+      else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <unistd.h>" >&5
+printf %s "checking for struct timespec in <unistd.h>... " >&6; }
+if test ${gl_cv_sys_struct_timespec_in_unistd_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
+#include <unistd.h>
+
 int
-main ()
+main (void)
 {
-struct stat sbuf;
-              /* Linux will dereference the symlink and fail, as required by
-                 POSIX.  That is better in the sense that it means we will not
-                 have to compile and use the lstat wrapper.  */
-              return lstat ("conftest.sym/", &sbuf) == 0;
-
+static struct timespec x; x.tv_sec = x.tv_nsec;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_lstat_dereferences_slashed_symlink=yes
-else
-  gl_cv_func_lstat_dereferences_slashed_symlink=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_sys_struct_timespec_in_unistd_h=yes
+else $as_nop
+  gl_cv_sys_struct_timespec_in_unistd_h=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_unistd_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_unistd_h" >&6; }
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
+      fi
+    fi
+  fi
 
-     else
-       # If the 'ln -s' command failed, then we probably don't even
-       # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
-     fi
-     rm -f conftest.sym conftest.file
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
-$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
-  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-    *yes)
 
-cat >>confdefs.h <<_ACEOF
-#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
-_ACEOF
 
-      ;;
-  esac
 
 
-  GNULIB__EXIT=0;
-  GNULIB_ATOLL=0;
-  GNULIB_CALLOC_POSIX=0;
-  GNULIB_CANONICALIZE_FILE_NAME=0;
-  GNULIB_GETLOADAVG=0;
-  GNULIB_GETSUBOPT=0;
-  GNULIB_GRANTPT=0;
-  GNULIB_MALLOC_POSIX=0;
-  GNULIB_MBTOWC=0;
-  GNULIB_MKDTEMP=0;
-  GNULIB_MKOSTEMP=0;
-  GNULIB_MKOSTEMPS=0;
-  GNULIB_MKSTEMP=0;
-  GNULIB_MKSTEMPS=0;
-  GNULIB_POSIX_OPENPT=0;
-  GNULIB_PTSNAME=0;
-  GNULIB_PTSNAME_R=0;
-  GNULIB_PUTENV=0;
-  GNULIB_RANDOM=0;
-  GNULIB_RANDOM_R=0;
-  GNULIB_REALLOC_POSIX=0;
-  GNULIB_REALPATH=0;
-  GNULIB_RPMATCH=0;
-  GNULIB_SETENV=0;
-  GNULIB_STRTOD=0;
-  GNULIB_STRTOLL=0;
-  GNULIB_STRTOULL=0;
-  GNULIB_SYSTEM_POSIX=0;
-  GNULIB_UNLOCKPT=0;
-  GNULIB_UNSETENV=0;
-  GNULIB_WCTOMB=0;
-    HAVE__EXIT=1;
-  HAVE_ATOLL=1;
-  HAVE_CANONICALIZE_FILE_NAME=1;
-  HAVE_DECL_GETLOADAVG=1;
-  HAVE_GETSUBOPT=1;
-  HAVE_GRANTPT=1;
-  HAVE_MKDTEMP=1;
-  HAVE_MKOSTEMP=1;
-  HAVE_MKOSTEMPS=1;
-  HAVE_MKSTEMP=1;
-  HAVE_MKSTEMPS=1;
-  HAVE_POSIX_OPENPT=1;
-  HAVE_PTSNAME=1;
-  HAVE_PTSNAME_R=1;
-  HAVE_RANDOM=1;
-  HAVE_RANDOM_H=1;
-  HAVE_RANDOM_R=1;
-  HAVE_REALPATH=1;
-  HAVE_RPMATCH=1;
-  HAVE_SETENV=1;
-  HAVE_DECL_SETENV=1;
-  HAVE_STRTOD=1;
-  HAVE_STRTOLL=1;
-  HAVE_STRTOULL=1;
-  HAVE_STRUCT_RANDOM_DATA=1;
-  HAVE_SYS_LOADAVG_H=0;
-  HAVE_UNLOCKPT=1;
-  HAVE_DECL_UNSETENV=1;
-  REPLACE_CALLOC=0;
-  REPLACE_CANONICALIZE_FILE_NAME=0;
-  REPLACE_MALLOC=0;
-  REPLACE_MBTOWC=0;
-  REPLACE_MKSTEMP=0;
-  REPLACE_PTSNAME_R=0;
-  REPLACE_PUTENV=0;
-  REPLACE_RANDOM_R=0;
-  REPLACE_REALLOC=0;
-  REPLACE_REALPATH=0;
-  REPLACE_SETENV=0;
-  REPLACE_STRTOD=0;
-  REPLACE_UNSETENV=0;
-  REPLACE_WCTOMB=0;
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
-$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
-if ${gl_cv_func_malloc_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-             choke me
-             #endif
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_malloc_posix=yes
-else
-  gl_cv_func_malloc_posix=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
-$as_echo "$gl_cv_func_malloc_posix" >&6; }
 
 
 
-      for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
 
-fi
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_time_h='<'time.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
+printf %s "checking absolute name of <time.h>... " >&6; }
+if test ${gl_cv_next_time_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-done
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-          # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
-          | hpux* | solaris* | cygwin* | mingw*)
-            ac_cv_func_malloc_0_nonnull=yes ;;
-          # If we don't know, assume the worst.
-          *) ac_cv_func_malloc_0_nonnull=no ;;
-        esac
 
-else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-            # include <stdlib.h>
-            #else
-            char *malloc ();
-            #endif
+#include <time.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'time.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+        gl_cv_absolute_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_time_h
+          gl_cv_next_time_h='"'$gl_header'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-  if test $ac_cv_func_malloc_0_nonnull = yes; then :
-  gl_cv_func_malloc_0_nonnull=1
-else
-  gl_cv_func_malloc_0_nonnull=0
-fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
+printf "%s\n" "$gl_cv_next_time_h" >&6; }
+     fi
+     NEXT_TIME_H=$gl_cv_next_time_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'time.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_time_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive
 
 
-cat >>confdefs.h <<_ACEOF
-#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull
-_ACEOF
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
-$as_echo_n "checking for promoted mode_t type... " >&6; }
-if ${gl_cv_promoted_mode_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIME_UTC in <time.h>" >&5
+printf %s "checking for TIME_UTC in <time.h>... " >&6; }
+if test ${gl_cv_time_h_has_TIME_UTC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
+#include <time.h>
+
 int
-main ()
+main (void)
 {
-typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
+static int x = TIME_UTC; x++;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_promoted_mode_t='int'
-else
-  gl_cv_promoted_mode_t='mode_t'
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_time_h_has_TIME_UTC=yes
+else $as_nop
+  gl_cv_time_h_has_TIME_UTC=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
-$as_echo "$gl_cv_promoted_mode_t" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
-_ACEOF
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_h_has_TIME_UTC" >&5
+printf "%s\n" "$gl_cv_time_h_has_TIME_UTC" >&6; }
+  if test $gl_cv_time_h_has_TIME_UTC = yes; then
+    TIME_H_DEFINES_TIME_UTC=1
+  else
+    TIME_H_DEFINES_TIME_UTC=0
+  fi
 
 
-ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_setenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SETENV $ac_have_decl
-_ACEOF
 
+  GL_GNULIB_CTIME=0
 
 
 
+  GL_GNULIB_MKTIME=0
 
 
-  if test $ac_cv_have_decl_setenv = no; then
-    HAVE_DECL_SETENV=0
-  fi
 
+  GL_GNULIB_LOCALTIME=0
 
 
 
+  GL_GNULIB_NANOSLEEP=0
 
-  for ac_header in search.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
-if test "x$ac_cv_header_search_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SEARCH_H 1
-_ACEOF
 
-fi
 
-done
+  GL_GNULIB_STRFTIME=0
 
-  for ac_func in tsearch
-do :
-  ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
-if test "x$ac_cv_func_tsearch" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TSEARCH 1
-_ACEOF
 
-fi
-done
 
+  GL_GNULIB_STRPTIME=0
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if ${ac_cv_header_stdbool_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-             #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
-             #endif
-             #ifndef __bool_true_false_are_defined
-              "error: __bool_true_false_are_defined is not defined"
-             #endif
+  GL_GNULIB_TIME=0
 
-             struct s { _Bool s: 1; _Bool t; } s;
-
-             char a[true == 1 ? 1 : -1];
-             char b[false == 0 ? 1 : -1];
-             char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-             char d[(bool) 0.5 == true ? 1 : -1];
-             /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
-             char g[true];
-             char h[sizeof (_Bool)];
-             char i[sizeof s.t];
-             enum { j = false, k = true, l = false * true, m = true * 256 };
-             /* The following fails for
-                HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
-             char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-             /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-              */
-             _Bool q = true;
-             _Bool *pq = &q;
 
-int
-main ()
-{
 
-             bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
-             /* Refer to every declared value, to avoid compiler optimizations.  */
-             return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+  GL_GNULIB_TIMEGM=0
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdbool_h=yes
-else
-  ac_cv_header_stdbool_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
-   ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = xyes; then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
 
+  GL_GNULIB_TIMESPEC_GET=0
 
-fi
 
 
+  GL_GNULIB_TIMESPEC_GETRES=0
 
 
 
-  GNULIB_MKTIME=0;
-  GNULIB_NANOSLEEP=0;
-  GNULIB_STRPTIME=0;
-  GNULIB_TIMEGM=0;
-  GNULIB_TIME_R=0;
-    HAVE_DECL_LOCALTIME_R=1;
-  HAVE_NANOSLEEP=1;
-  HAVE_STRPTIME=1;
-  HAVE_TIMEGM=1;
-        REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
-  REPLACE_MKTIME=GNULIB_PORTCHECK;
-  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
-  REPLACE_TIMEGM=GNULIB_PORTCHECK;
+  GL_GNULIB_TIME_R=0
 
 
 
+  GL_GNULIB_TIME_RZ=0
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
-$as_echo_n "checking for struct timespec in <time.h>... " >&6; }
-if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <time.h>
 
-int
-main ()
-{
-static struct timespec x; x.tv_sec = x.tv_nsec;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_sys_struct_timespec_in_time_h=yes
-else
-  gl_cv_sys_struct_timespec_in_time_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
+  GL_GNULIB_TZSET=0
 
-  TIME_H_DEFINES_STRUCT_TIMESPEC=0
-  SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
-  PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
-  if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
-    TIME_H_DEFINES_STRUCT_TIMESPEC=1
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
-$as_echo_n "checking for struct timespec in <sys/time.h>... " >&6; }
-if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/time.h>
 
-int
-main ()
-{
-static struct timespec x; x.tv_sec = x.tv_nsec;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_sys_struct_timespec_in_sys_time_h=yes
-else
-  gl_cv_sys_struct_timespec_in_sys_time_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
-    if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
-      SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
-$as_echo_n "checking for struct timespec in <pthread.h>... " >&6; }
-if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <pthread.h>
 
-int
-main ()
-{
-static struct timespec x; x.tv_sec = x.tv_nsec;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_sys_struct_timespec_in_pthread_h=yes
-else
-  gl_cv_sys_struct_timespec_in_pthread_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
-      if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
-        PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
-      fi
-    fi
-  fi
+  GL_GNULIB_MDA_TZSET=1
+
 
 
+ac_fn_check_decl "$LINENO" "execvpe" "ac_cv_have_decl_execvpe" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_execvpe" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_EXECVPE $ac_have_decl" >>confdefs.h
 
 
 
@@ -20909,342 +25799,390 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
 
 
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_time_h='<'time.h'>'
+       gl_cv_next_unistd_h='<'unistd.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
-$as_echo_n "checking absolute name of <time.h>... " >&6; }
-if ${gl_cv_next_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
+printf %s "checking absolute name of <unistd.h>... " >&6; }
+if test ${gl_cv_next_unistd_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <time.h>
+             if test $ac_cv_header_unistd_h = yes; then
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'time.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'unistd.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_unistd_h
+          gl_cv_next_unistd_h='"'$gl_header'"'
+          else
+               gl_cv_next_unistd_h='<'unistd.h'>'
+             fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
-$as_echo "$gl_cv_next_time_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
+printf "%s\n" "$gl_cv_next_unistd_h" >&6; }
      fi
-     NEXT_TIME_H=$gl_cv_next_time_h
+     NEXT_UNISTD_H=$gl_cv_next_unistd_h
 
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'time.h'>'
+       gl_next_as_first_directive='<'unistd.h'>'
      else
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_time_h
+       gl_next_as_first_directive=$gl_cv_next_unistd_h
      fi
-     NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive
+     NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+
 
 
 
+  if test $ac_cv_header_unistd_h = yes; then
+    HAVE_UNISTD_H=1
+  else
+    HAVE_UNISTD_H=0
+  fi
 
 
 
-ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_UNSETENV $ac_have_decl
-_ACEOF
 
 
-  GNULIB_BTOWC=0;
-  GNULIB_WCTOB=0;
-  GNULIB_MBSINIT=0;
-  GNULIB_MBRTOWC=0;
-  GNULIB_MBRLEN=0;
-  GNULIB_MBSRTOWCS=0;
-  GNULIB_MBSNRTOWCS=0;
-  GNULIB_WCRTOMB=0;
-  GNULIB_WCSRTOMBS=0;
-  GNULIB_WCSNRTOMBS=0;
-  GNULIB_WCWIDTH=0;
-  GNULIB_WMEMCHR=0;
-  GNULIB_WMEMCMP=0;
-  GNULIB_WMEMCPY=0;
-  GNULIB_WMEMMOVE=0;
-  GNULIB_WMEMSET=0;
-  GNULIB_WCSLEN=0;
-  GNULIB_WCSNLEN=0;
-  GNULIB_WCSCPY=0;
-  GNULIB_WCPCPY=0;
-  GNULIB_WCSNCPY=0;
-  GNULIB_WCPNCPY=0;
-  GNULIB_WCSCAT=0;
-  GNULIB_WCSNCAT=0;
-  GNULIB_WCSCMP=0;
-  GNULIB_WCSNCMP=0;
-  GNULIB_WCSCASECMP=0;
-  GNULIB_WCSNCASECMP=0;
-  GNULIB_WCSCOLL=0;
-  GNULIB_WCSXFRM=0;
-  GNULIB_WCSDUP=0;
-  GNULIB_WCSCHR=0;
-  GNULIB_WCSRCHR=0;
-  GNULIB_WCSCSPN=0;
-  GNULIB_WCSSPN=0;
-  GNULIB_WCSPBRK=0;
-  GNULIB_WCSSTR=0;
-  GNULIB_WCSTOK=0;
-  GNULIB_WCSWIDTH=0;
-    HAVE_BTOWC=1;
-  HAVE_MBSINIT=1;
-  HAVE_MBRTOWC=1;
-  HAVE_MBRLEN=1;
-  HAVE_MBSRTOWCS=1;
-  HAVE_MBSNRTOWCS=1;
-  HAVE_WCRTOMB=1;
-  HAVE_WCSRTOMBS=1;
-  HAVE_WCSNRTOMBS=1;
-  HAVE_WMEMCHR=1;
-  HAVE_WMEMCMP=1;
-  HAVE_WMEMCPY=1;
-  HAVE_WMEMMOVE=1;
-  HAVE_WMEMSET=1;
-  HAVE_WCSLEN=1;
-  HAVE_WCSNLEN=1;
-  HAVE_WCSCPY=1;
-  HAVE_WCPCPY=1;
-  HAVE_WCSNCPY=1;
-  HAVE_WCPNCPY=1;
-  HAVE_WCSCAT=1;
-  HAVE_WCSNCAT=1;
-  HAVE_WCSCMP=1;
-  HAVE_WCSNCMP=1;
-  HAVE_WCSCASECMP=1;
-  HAVE_WCSNCASECMP=1;
-  HAVE_WCSCOLL=1;
-  HAVE_WCSXFRM=1;
-  HAVE_WCSDUP=1;
-  HAVE_WCSCHR=1;
-  HAVE_WCSRCHR=1;
-  HAVE_WCSCSPN=1;
-  HAVE_WCSSPN=1;
-  HAVE_WCSPBRK=1;
-  HAVE_WCSSTR=1;
-  HAVE_WCSTOK=1;
-  HAVE_WCSWIDTH=1;
-  HAVE_DECL_WCTOB=1;
-  HAVE_DECL_WCWIDTH=1;
-  REPLACE_MBSTATE_T=0;
-  REPLACE_BTOWC=0;
-  REPLACE_WCTOB=0;
-  REPLACE_MBSINIT=0;
-  REPLACE_MBRTOWC=0;
-  REPLACE_MBRLEN=0;
-  REPLACE_MBSRTOWCS=0;
-  REPLACE_MBSNRTOWCS=0;
-  REPLACE_WCRTOMB=0;
-  REPLACE_WCSRTOMBS=0;
-  REPLACE_WCSNRTOMBS=0;
-  REPLACE_WCWIDTH=0;
-  REPLACE_WCSWIDTH=0;
 
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
-$as_echo_n "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
-if ${gl_cv_header_wchar_h_correct_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gl_cv_header_wchar_h_correct_inline=yes
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-       #define wcstod renamed_wcstod
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-extern int zero (void);
-int main () { return zero(); }
 
-_ACEOF
-     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-       mv conftest.$ac_objext conftest1.$ac_objext
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-         #define wcstod renamed_wcstod
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-int zero (void) { return 0; }
 
-_ACEOF
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-         mv conftest.$ac_objext conftest2.$ac_objext
-         if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
-           :
-         else
-           gl_cv_header_wchar_h_correct_inline=no
-         fi
-       fi
-     fi
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
-$as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; }
-  if test $gl_cv_header_wchar_h_correct_inline = no; then
-    as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
-This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
-C99 mode. You have four options:
-  - Add the flag -fgnu89-inline to CC and reconfigure, or
-  - Fix your include files, using parts of
-    <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
-  - Use a gcc version older than 4.3, or
-  - Don't use the flags -std=c99 or -std=gnu99.
-Configuration aborted." "$LINENO" 5
+  if test $ac_cv_have_decl_execvpe = no; then
+    HAVE_DECL_EXECVPE=0
   fi
 
 
+  # Check whether --enable-valgrind-tests was given.
+if test ${enable_valgrind_tests+y}
+then :
+  enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
+else $as_nop
+  opt_valgrind_tests=${gl_valgrind_tests_default:-yes}
+fi
 
 
-
-  if test $ac_cv_header_features_h = yes; then
-    HAVE_FEATURES_H=1
-  else
-    HAVE_FEATURES_H=0
+  # Run self-tests under valgrind?
+  if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
+    for ac_prog in valgrind
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_VALGRIND+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$VALGRIND"; then
+  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_VALGRIND="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
   fi
-
-
-
-   if true; then
-  GL_COND_LIBTOOL_TRUE=
-  GL_COND_LIBTOOL_FALSE='#'
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+VALGRIND=$ac_cv_prog_VALGRIND
+if test -n "$VALGRIND"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
+printf "%s\n" "$VALGRIND" >&6; }
 else
-  GL_COND_LIBTOOL_TRUE='#'
-  GL_COND_LIBTOOL_FALSE=
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-  gl_cond_libtool=true
-  gl_m4_base='gl/m4'
-
-
-
-
 
+  test -n "$VALGRIND" && break
+done
 
 
+    # VALGRIND_PROGRAM contains the tool found by AC_CHECK_PROGS.  For
+    # backwards compatibility, the VALGRIND variable is later modified
+    # to also include all enabled options.  However the new variable
+    # LOG_VALGRIND needs to be able to refer to the valgrind tool
+    # without options, hence it uses this variable.
+    VALGRIND_PROGRAM=$VALGRIND
 
 
-  gl_source_base='gl'
 
-ac_config_files="$ac_config_files csharpcomp.sh:build-aux/csharpcomp.sh.in"
+    if test -z "$DEFAULT_VALGRINDFLAGS"; then
+      DEFAULT_VALGRINDFLAGS="-q --error-exitcode=1 --leak-check=full"
+    fi
 
-# You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
-ac_config_files="$ac_config_files csharpexec.sh:build-aux/csharpexec.sh.in"
 
+    if test -n "$VALGRIND"; then
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for valgrind options for tests" >&5
+printf %s "checking for valgrind options for tests... " >&6; }
+if test ${gl_cv_opt_valgrind_tests+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if $VALGRIND $DEFAULT_VALGRINDFLAGS $VALGRINDFLAGS true
+then :
+  gl_cv_opt_valgrind_tests="$DEFAULT_VALGRINDFLAGS $VALGRINDFLAGS"
+else $as_nop
+  gl_cv_opt_valgrind_tests=no
+fi
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_opt_valgrind_tests" >&5
+printf "%s\n" "$gl_cv_opt_valgrind_tests" >&6; }
+      if test "$gl_cv_opt_valgrind_tests" != no; then
+        VALGRIND="$VALGRIND $gl_cv_opt_valgrind_tests"
+      fi
+    fi
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if ${ac_cv_lib_error_at_line+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    if test -n "$VALGRIND"; then
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether valgrind works on executables produced by the compiler" >&5
+printf %s "checking whether valgrind works on executables produced by the compiler... " >&6; }
+if test ${gl_cv_prog_valgrind_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <error.h>
-int
-main ()
-{
-error_at_line (0, 0, "", 0, "an error occurred");
-  ;
-  return 0;
-}
+int main () { return 0; }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_error_at_line=yes
-else
-  ac_cv_lib_error_at_line=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  $VALGRIND $gl_cv_opt_valgrind_tests ./conftest$ac_exeext 2>/dev/null
+            if test $? = 0; then
+              gl_cv_prog_valgrind_works=yes
+            else
+              gl_cv_prog_valgrind_works=no
+            fi
+
+else $as_nop
+  gl_cv_prog_valgrind_works=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
 
-if test $ac_cv_lib_error_at_line = no; then
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_valgrind_works" >&5
+printf "%s\n" "$gl_cv_prog_valgrind_works" >&6; }
+    fi
 
 
+    LOG_VALGRIND="\$(VALGRIND_PROGRAM) \$(DEFAULT_VALGRINDFLAGS) \$(VALGRINDFLAGS) \$(AM_VALGRINDFLAGS)"
 
 
+    if test "$gl_cv_prog_valgrind_works" != yes; then
+      DEFAULT_VALGRINDFLAGS=
+      LOG_VALGRIND=
+      VALGRIND=
+      VALGRINDFLAGS=
+      VALGRIND_PROGRAM=
+    fi
+  fi
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5
+printf %s "checking for C compiler option to allow warnings... " >&6; }
+if test ${gl_cv_cc_wallow+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  rm -f conftest*
+     echo 'int dummy;' > conftest.c
+     { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null
+     { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null
+                         if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+       gl_cv_cc_wallow='-Wno-error'
+     else
+       gl_cv_cc_wallow=none
+     fi
+     rm -f conftest*
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5
+printf "%s\n" "$gl_cv_cc_wallow" >&6; }
+  case "$gl_cv_cc_wallow" in
+    none) GL_CFLAG_ALLOW_WARNINGS='' ;;
+    *)    GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;;
+  esac
 
 
 
-  :
+    if test -n "$CXX" && test "$CXX" != no; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5
+printf %s "checking for C++ compiler option to allow warnings... " >&6; }
+if test ${gl_cv_cxx_wallow+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  rm -f conftest*
+       echo 'int dummy;' > conftest.cc
+       { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null
+       { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null
+                                   if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+         gl_cv_cxx_wallow='-Wno-error'
+       else
+         gl_cv_cxx_wallow=none
+       fi
+       rm -f conftest*
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5
+printf "%s\n" "$gl_cv_cxx_wallow" >&6; }
+    case "$gl_cv_cxx_wallow" in
+      none) GL_CXXFLAG_ALLOW_WARNINGS='' ;;
+      *)    GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;;
+    esac
+  else
+    GL_CXXFLAG_ALLOW_WARNINGS=''
+  fi
 
 
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
+
+
+      GL_CFLAG_GNULIB_WARNINGS=''
+  if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then
+                                                                            cat > conftest.c <<\EOF
+      #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-cast-qual
+      -Wno-conversion
+      -Wno-float-equal
+      -Wno-sign-compare
+      -Wno-undef
+      -Wno-unused-function
+      -Wno-unused-parameter
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-float-conversion
+      #endif
+      #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wimplicit-fallthrough
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-pedantic
+      #endif
+      #if 3 < __clang_major__ + (9 <= __clang_minor__)
+      -Wno-tautological-constant-out-of-range-compare
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-sign-conversion
+      -Wno-type-limits
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4
+      -Wno-unsuffixed-float-constants
+      #endif
+EOF
+    gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out"
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5
+  (eval $gl_command) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+      gl_options=`grep -v '#' conftest.out`
+      for word in $gl_options; do
+        GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word"
+      done
+    fi
+    rm -f conftest.c conftest.out
+  fi
 
 
 
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
+   if true; then
+  GL_COND_LIBTOOL_TRUE=
+  GL_COND_LIBTOOL_FALSE='#'
+else
+  GL_COND_LIBTOOL_TRUE='#'
+  GL_COND_LIBTOOL_FALSE=
+fi
 
+  gl_cond_libtool=true
+  gl_m4_base='gl/m4'
 
 
 
 
 
-if test $REPLACE_GETOPT = 1; then
 
 
 
@@ -21252,106 +26190,287 @@ if test $REPLACE_GETOPT = 1; then
 
 
 
+  gl_source_base='gl'
+  gl_source_base_prefix=
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
+  if test $ac_cv_func_alloca_works = no; then
+    :
+  fi
 
+  # Define an additional variable used in the Makefile substitution.
+  if test $ac_cv_working_alloca_h = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
+printf %s "checking for alloca as a compiler built-in... " >&6; }
+if test ${gl_cv_rpl_alloca+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+        Need own alloca
+#endif
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Need own alloca" >/dev/null 2>&1
+then :
+  gl_cv_rpl_alloca=yes
+else $as_nop
+  gl_cv_rpl_alloca=no
+fi
+rm -rf conftest*
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+printf "%s\n" "$gl_cv_rpl_alloca" >&6; }
+    if test $gl_cv_rpl_alloca = yes; then
 
+printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
+      GL_GENERATE_ALLOCA_H=true
+    else
+                  GL_GENERATE_ALLOCA_H=false
+    fi
+  else
+    GL_GENERATE_ALLOCA_H=true
+  fi
 
+  if test $ac_cv_working_alloca_h = yes; then
+    HAVE_ALLOCA_H=1
+  else
+    HAVE_ALLOCA_H=0
+  fi
 
 
 
-    GNULIB_GL_UNISTD_H_GETOPT=1
-fi
 
 
 
-$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h
+  case "$GL_GENERATE_ALLOCA_H" in
+    false) ALLOCA_H='' ;;
+    true)
+                  if test -z "$ALLOCA_H"; then
+        ALLOCA_H="${gl_source_base_prefix}alloca.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_ALLOCA_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
+     if $GL_GENERATE_ALLOCA_H; then
+  GL_GENERATE_ALLOCA_H_TRUE=
+  GL_GENERATE_ALLOCA_H_FALSE='#'
+else
+  GL_GENERATE_ALLOCA_H_TRUE='#'
+  GL_GENERATE_ALLOCA_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
+    GL_GENERATE_ALLOCA_H_TRUE='#'
+    GL_GENERATE_ALLOCA_H_FALSE='#'
+  fi
 
 
 
 
-    REPLACE_GETOPT=0
 
 
-  if test -n "$gl_replace_getopt"; then :
 
-      REPLACE_GETOPT=1
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for static_assert" >&5
+printf %s "checking for static_assert... " >&6; }
+if test ${gl_cv_static_assert+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_save_CFLAGS=$CFLAGS
+     for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
+      case $gl_working in #(
+  *assert.h*) :
+    CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H" ;; #(
+  *) :
+     ;;
+esac
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __clang__ && __STDC_VERSION__ < 202311
+             #pragma clang diagnostic error "-Wc2x-extensions"
+             #pragma clang diagnostic error "-Wc++1z-extensions"
+            #endif
+            #ifdef INCLUDE_ASSERT_H
+             #include <assert.h>
+            #endif
+            static_assert (2 + 2 == 4, "arithmetic does not work");
+            static_assert (2 + 2 == 4);
+
+int
+main (void)
+{
+
+            static_assert (sizeof (char) == 1, "sizeof does not work");
+            static_assert (sizeof (char) == 1);
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_static_assert=$gl_working
+else $as_nop
+  gl_cv_static_assert=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+      CFLAGS=$gl_save_CFLAGS
+      test "$gl_cv_static_assert" != no && break
+     done
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_static_assert" >&5
+printf "%s\n" "$gl_cv_static_assert" >&6; }
 
+  GL_GENERATE_ASSERT_H=false
+  case $gl_cv_static_assert in #(
+  yes*keyword*) :
+
+printf "%s\n" "#define HAVE_C_STATIC_ASSERT 1" >>confdefs.h
+ ;; #(
+  no) :
+    GL_GENERATE_ASSERT_H=true
 
-  if test $REPLACE_GETOPT = 1; then
 
-  GETOPT_H=getopt.h
 
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
 
 
-  fi
 
-if test $REPLACE_GETOPT = 1; then
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_assert_h='<'assert.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <assert.h>" >&5
+printf %s "checking absolute name of <assert.h>... " >&6; }
+if test ${gl_cv_next_assert_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
 
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <assert.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'assert.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_assert_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
+          gl_header=$gl_cv_absolute_assert_h
+          gl_cv_next_assert_h='"'$gl_header'"'
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_assert_h" >&5
+printf "%s\n" "$gl_cv_next_assert_h" >&6; }
+     fi
+     NEXT_ASSERT_H=$gl_cv_next_assert_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'assert.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_assert_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_ASSERT_H=$gl_next_as_first_directive
 
 
 
+ ;; #(
+  *) :
+     ;;
+esac
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
+  case "$GL_GENERATE_ASSERT_H" in
+    false) ASSERT_H='' ;;
+    true)
+                  if test -z "$ASSERT_H"; then
+        ASSERT_H="${gl_source_base_prefix}assert.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_ASSERT_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
-    GNULIB_GL_UNISTD_H_GETOPT=1
+     if $GL_GENERATE_ASSERT_H; then
+  GL_GENERATE_ASSERT_H_TRUE=
+  GL_GENERATE_ASSERT_H_FALSE='#'
+else
+  GL_GENERATE_ASSERT_H_TRUE='#'
+  GL_GENERATE_ASSERT_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_ASSERT_H_TRUE}" && test -z "${GL_GENERATE_ASSERT_H_FALSE}"; then
+    GL_GENERATE_ASSERT_H_TRUE='#'
+    GL_GENERATE_ASSERT_H_FALSE='#'
+  fi
 
 
 
-# Autoconf 2.61a.99 and earlier don't support linking a file only
-# in VPATH builds.  But since GNUmakefile is for maintainer use
-# only, it does not matter if we skip the link with older autoconf.
-# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
-# builds, so use a shell variable to bypass this.
-GNUmakefile=GNUmakefile
-ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
 
 
 
 
-  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
-    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
 
-$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h
 
-  else
-    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
-  fi
 
 
-if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
+     if test $REPLACE_CLOSE = 1; then
+  GL_COND_OBJ_CLOSE_TRUE=
+  GL_COND_OBJ_CLOSE_FALSE='#'
+else
+  GL_COND_OBJ_CLOSE_TRUE='#'
+  GL_COND_OBJ_CLOSE_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_CLOSE_TRUE}" && test -z "${GL_COND_OBJ_CLOSE_FALSE}"; then
+    GL_COND_OBJ_CLOSE_TRUE='#'
+    GL_COND_OBJ_CLOSE_FALSE='#'
+  fi
 
 
 
@@ -21359,553 +26478,568 @@ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext"
 
-fi
 
 
+          GL_GNULIB_CLOSE=1
 
-if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext"
+  ac_config_files="$ac_config_files csharpcomp.sh:build-aux/csharpcomp.sh.in"
 
-fi
-# Extract the first word of "pmccabe", so it can be a program name with args.
-set dummy pmccabe; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PMCCABE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PMCCABE in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  # You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
+  ac_config_files="$ac_config_files csharpexec.sh:build-aux/csharpexec.sh.in"
 
-  test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false"
-  ;;
-esac
-fi
-PMCCABE=$ac_cv_path_PMCCABE
-if test -n "$PMCCABE"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5
-$as_echo "$PMCCABE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
-"
-if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+printf %s "checking whether // is distinct from /... " >&6; }
+if test ${gl_cv_double_slash_root+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+   if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+printf "%s\n" "$gl_cv_double_slash_root" >&6; }
+  if test "$gl_cv_double_slash_root" = yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl
-_ACEOF
+printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
-ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
-"
-if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
+  fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl
-_ACEOF
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
-$as_echo_n "checking for ssize_t... " >&6; }
-if ${gt_cv_ssize_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
+printf %s "checking whether dup2 works... " >&6; }
+if test ${gl_cv_func_dup2_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+         mingw* | windows*) # on this platform, dup2 always returns 0 for success
+           gl_cv_func_dup2_works="guessing no" ;;
+         cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
+           gl_cv_func_dup2_works="guessing no" ;;
+         aix* | freebsd*)
+                 # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                 # not EBADF.
+           gl_cv_func_dup2_works="guessing no" ;;
+         haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
+           gl_cv_func_dup2_works="guessing no" ;;
+         *-android*) # implemented using dup3(), which fails if oldfd == newfd
+           gl_cv_func_dup2_works="guessing no" ;;
+         os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
+           gl_cv_func_dup2_works="guessing no" ;;
+         *) gl_cv_func_dup2_works="guessing yes" ;;
+       esac
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-int
-main ()
-{
-int x = sizeof (ssize_t *) + sizeof (ssize_t);
-            return !x;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_ssize_t=yes
-else
-  gt_cv_ssize_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
-$as_echo "$gt_cv_ssize_t" >&6; }
-  if test $gt_cv_ssize_t = no; then
-
-$as_echo "#define ssize_t int" >>confdefs.h
 
-  fi
+       #include <errno.h>
+           #include <fcntl.h>
+           #include <limits.h>
+           #include <sys/resource.h>
+           #include <unistd.h>
 
 
-  STDARG_H=''
-  NEXT_STDARG_H='<stdarg.h>'
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
-$as_echo_n "checking for va_copy... " >&6; }
-  if ${gl_cv_func_va_copy+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+$gl_mda_defines
+
+           #ifndef RLIM_SAVED_CUR
+           # define RLIM_SAVED_CUR RLIM_INFINITY
+           #endif
+           #ifndef RLIM_SAVED_MAX
+           # define RLIM_SAVED_MAX RLIM_INFINITY
+           #endif
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
 int
-main ()
+main (void)
 {
-
-#ifndef va_copy
-void (*func) (va_list, va_list) = va_copy;
-#endif
-
+int result = 0;
+           int bad_fd = INT_MAX;
+           struct rlimit rlim;
+           if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+               && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+               && rlim.rlim_cur != RLIM_INFINITY
+               && rlim.rlim_cur != RLIM_SAVED_MAX
+               && rlim.rlim_cur != RLIM_SAVED_CUR)
+             bad_fd = rlim.rlim_cur;
+           #ifdef FD_CLOEXEC
+             if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+               result |= 1;
+           #endif
+           if (dup2 (1, 1) != 1)
+             result |= 2;
+           #ifdef FD_CLOEXEC
+             if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+               result |= 4;
+           #endif
+           close (0);
+           if (dup2 (0, 0) != -1)
+             result |= 8;
+           /* Many gnulib modules require POSIX conformance of EBADF.  */
+           if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+             result |= 16;
+           /* Flush out some cygwin core dumps.  */
+           if (dup2 (2, -1) != -1 || errno != EBADF)
+             result |= 32;
+           dup2 (2, 255);
+           dup2 (2, 256);
+           /* On OS/2 kLIBC, dup2() does not work on a directory fd.  */
+           {
+             int fd = open (".", O_RDONLY);
+             if (fd == -1)
+               result |= 64;
+             else if (dup2 (fd, fd + 1) == -1)
+               result |= 128;
+             close (fd);
+           }
+           return result;
   ;
   return 0;
 }
+
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_va_copy=yes
-else
-  gl_cv_func_va_copy=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_dup2_works=yes
+else $as_nop
+  gl_cv_func_dup2_works=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
-$as_echo "$gl_cv_func_va_copy" >&6; }
-  if test $gl_cv_func_va_copy = no; then
-                                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined _AIX && !defined __GNUC__
-        AIX vaccine
-       #endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "vaccine" >/dev/null 2>&1; then :
-  gl_aixcc=yes
-else
-  gl_aixcc=no
 fi
-rm -f conftest*
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
+printf "%s\n" "$gl_cv_func_dup2_works" >&6; }
+  case "$gl_cv_func_dup2_works" in
+    *yes) ;;
+    *)
+      REPLACE_DUP2=1
+      ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize"
+if test "x$ac_cv_func_setdtablesize" = xyes
+then :
+  printf "%s\n" "#define HAVE_SETDTABLESIZE 1" >>confdefs.h
 
-    if test $gl_aixcc = yes; then
-            STDARG_H=stdarg.h
+fi
 
+      ;;
+  esac
 
 
 
+     if test $REPLACE_DUP2 = 1; then
+  GL_COND_OBJ_DUP2_TRUE=
+  GL_COND_OBJ_DUP2_FALSE='#'
+else
+  GL_COND_OBJ_DUP2_TRUE='#'
+  GL_COND_OBJ_DUP2_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_DUP2_TRUE}" && test -z "${GL_COND_OBJ_DUP2_FALSE}"; then
+    GL_COND_OBJ_DUP2_TRUE='#'
+    GL_COND_OBJ_DUP2_FALSE='#'
+  fi
 
+  if test -z "$GL_COND_OBJ_DUP2_TRUE"; then :
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stdarg_h='<'stdarg.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
-$as_echo_n "checking absolute name of <stdarg.h>... " >&6; }
-if ${gl_cv_next_stdarg_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'stdarg.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
-$as_echo "$gl_cv_next_stdarg_h" >&6; }
-     fi
-     NEXT_STDARG_H=$gl_cv_next_stdarg_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stdarg.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stdarg_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive
 
 
+          GL_GNULIB_DUP2=1
 
 
-            if test "$gl_cv_next_stdarg_h" = '""'; then
-        gl_cv_next_stdarg_h='"///usr/include/stdarg.h"'
-        NEXT_STDARG_H="$gl_cv_next_stdarg_h"
-      fi
-    else
 
-  saved_as_echo_n="$as_echo_n"
-  as_echo_n=':'
-  if ${gl_cv_func___va_copy+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-int
-main ()
-{
 
-#ifndef __va_copy
-error, bail out
-#endif
+printf "%s\n" "#define GNULIB_TEST_DUP2 1" >>confdefs.h
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func___va_copy=yes
-else
-  gl_cv_func___va_copy=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-  as_echo_n="$saved_as_echo_n"
 
-      if test $gl_cv_func___va_copy = yes; then
 
-$as_echo "#define va_copy __va_copy" >>confdefs.h
 
-      else
 
 
-$as_echo "#define va_copy gl_va_copy" >>confdefs.h
 
+  case "$GL_GENERATE_ERRNO_H" in
+    false) ERRNO_H='' ;;
+    true)
+                  if test -z "$ERRNO_H"; then
+        ERRNO_H="${gl_source_base_prefix}errno.h"
       fi
-    fi
-  fi
+      ;;
+    *) echo "*** GL_GENERATE_ERRNO_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-   if test -n "$STDARG_H"; then
-  GL_GENERATE_STDARG_H_TRUE=
-  GL_GENERATE_STDARG_H_FALSE='#'
+
+     if $GL_GENERATE_ERRNO_H; then
+  GL_GENERATE_ERRNO_H_TRUE=
+  GL_GENERATE_ERRNO_H_FALSE='#'
 else
-  GL_GENERATE_STDARG_H_TRUE='#'
-  GL_GENERATE_STDARG_H_FALSE=
+  GL_GENERATE_ERRNO_H_TRUE='#'
+  GL_GENERATE_ERRNO_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then
+    GL_GENERATE_ERRNO_H_TRUE='#'
+    GL_GENERATE_ERRNO_H_FALSE='#'
+  fi
 
 
 
 
 
 
-  STDDEF_H=
-  if test $gt_cv_c_wchar_t = no; then
-    HAVE_WCHAR_T=0
-    STDDEF_H=stddef.h
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
-$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
-if ${gl_cv_decl_null_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-      int test[2 * (sizeof NULL == sizeof (void *)) -1];
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_decl_null_works=yes
-else
-  gl_cv_decl_null_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
-$as_echo "$gl_cv_decl_null_works" >&6; }
-  if test $gl_cv_decl_null_works = no; then
-    REPLACE_NULL=1
-    STDDEF_H=stddef.h
-  fi
 
-   if test -n "$STDDEF_H"; then
-  GL_GENERATE_STDDEF_H_TRUE=
-  GL_GENERATE_STDDEF_H_FALSE='#'
+
+     if test $COMPILE_ERROR_C = 1; then
+  GL_COND_OBJ_ERROR_TRUE=
+  GL_COND_OBJ_ERROR_FALSE='#'
 else
-  GL_GENERATE_STDDEF_H_TRUE='#'
-  GL_GENERATE_STDDEF_H_FALSE=
+  GL_COND_OBJ_ERROR_TRUE='#'
+  GL_COND_OBJ_ERROR_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_ERROR_TRUE}" && test -z "${GL_COND_OBJ_ERROR_FALSE}"; then
+    GL_COND_OBJ_ERROR_TRUE='#'
+    GL_COND_OBJ_ERROR_FALSE='#'
+  fi
 
-  if test -n "$STDDEF_H"; then
-
+  if test -z "$GL_COND_OBJ_ERROR_TRUE"; then :
 
 
 
 
 
+  :
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stddef_h='<'stddef.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
-$as_echo_n "checking absolute name of <stddef.h>... " >&6; }
-if ${gl_cv_next_stddef_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'stddef.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
-$as_echo "$gl_cv_next_stddef_h" >&6; }
-     fi
-     NEXT_STDDEF_H=$gl_cv_next_stddef_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stddef.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stddef_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
 
 
 
 
-  fi
 
 
 
+  if test $ac_cv_func_fcntl = no; then
 
 
 
-  if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
-$as_echo_n "checking for working strerror function... " >&6; }
-if ${gl_cv_func_working_strerror+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_working_strerror="guessing no" ;;
-         esac
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
 
-else
+  else
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
+printf %s "checking whether fcntl handles F_DUPFD correctly... " >&6; }
+if test ${gl_cv_func_fcntl_f_dupfd_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
+          esac
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <string.h>
+#include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+
+
+$gl_mda_defines
+
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
 
 int
-main ()
+main (void)
 {
-if (!*strerror (-2)) return 1;
+int result = 0;
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
+              {
+                int fd;
+                fd = open (".", O_RDONLY);
+                if (fd == -1)
+                  result |= 16;
+                else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
+                  result |= 32;
+
+                close (fd);
+              }
+              return result;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_working_strerror=yes
-else
-  gl_cv_func_working_strerror=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_fcntl_f_dupfd_works=yes
+else $as_nop
+  gl_cv_func_fcntl_f_dupfd_works=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
-$as_echo "$gl_cv_func_working_strerror" >&6; }
-    case "$gl_cv_func_working_strerror" in
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
+printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
+    case $gl_cv_func_fcntl_f_dupfd_works in
       *yes) ;;
       *)
-                        REPLACE_STRERROR=1
-        ;;
-    esac
 
+
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
   else
-            REPLACE_STRERROR=1
+    REPLACE_FCNTL=1
   fi
 
-if test $REPLACE_STRERROR = 1; then
 
+printf "%s\n" "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h
+ ;;
+    esac
 
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
+printf %s "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
+if test ${gl_cv_func_fcntl_f_dupfd_cloexec+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+                     # Guess no on NetBSD.
+            netbsd*) gl_cv_func_fcntl_f_dupfd_cloexec="guessing no" ;;
+            *)       gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;;
+          esac
 
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fcntl.h>
+              #include <unistd.h>
+              int main (int argc, char *argv[])
+              {
+                if (argc == 1)
+                  /* parent process */
+                  {
+                    if (fcntl (1, F_DUPFD_CLOEXEC, 10) < 0)
+                      return 1;
+                    return execl ("./conftest", "./conftest", "child", NULL);
+                  }
+                else
+                  /* child process */
+                  return (fcntl (10, F_GETFL) < 0 ? 0 : 42);
+              }
 
 
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#ifdef __linux__
+/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
+   it to support the semantics on older kernels that failed with EINVAL.  */
+choke me
+#endif
 
+int
+main (void)
+{
 
-  gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext"
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_func_fcntl_f_dupfd_cloexec=yes
+else $as_nop
+  gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
+else $as_nop
+  gl_cv_func_fcntl_f_dupfd_cloexec=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_STRERROR 1
-_ACEOF
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
+printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
+    case "$gl_cv_func_fcntl_f_dupfd_cloexec" in
+      *yes) ;;
+      *)
 
 
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
 
+                        ;;
+    esac
+  fi
 
 
 
+     if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+  GL_COND_OBJ_FCNTL_TRUE=
+  GL_COND_OBJ_FCNTL_FALSE='#'
+else
+  GL_COND_OBJ_FCNTL_TRUE='#'
+  GL_COND_OBJ_FCNTL_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_FCNTL_TRUE}" && test -z "${GL_COND_OBJ_FCNTL_FALSE}"; then
+    GL_COND_OBJ_FCNTL_TRUE='#'
+    GL_COND_OBJ_FCNTL_FALSE='#'
+  fi
 
-          GNULIB_STRERROR=1
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h
 
 
 
 
+          GL_GNULIB_FCNTL=1
 
-if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FCNTL 1" >>confdefs.h
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext"
 
 
 
 
 
-  if test $ac_cv_header_sys_socket_h != yes; then
-                    for ac_header in winsock2.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK2_H 1
-_ACEOF
 
-fi
 
-done
 
-  fi
-  if test "$ac_cv_header_winsock2_h" = yes; then
-    HAVE_WINSOCK2_H=1
-    UNISTD_H_HAVE_WINSOCK2_H=1
-    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
-  else
-    HAVE_WINSOCK2_H=0
-  fi
 
 
-fi
+  case "$host_os" in
+    darwin* | mingw* | windows* | solaris*)
+                        REPLACE_FSTAT=1
+      ;;
+  esac
+
 
 
 
+     if test $REPLACE_FSTAT = 1; then
+  GL_COND_OBJ_FSTAT_TRUE=
+  GL_COND_OBJ_FSTAT_FALSE='#'
+else
+  GL_COND_OBJ_FSTAT_TRUE='#'
+  GL_COND_OBJ_FSTAT_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_FSTAT_TRUE}" && test -z "${GL_COND_OBJ_FSTAT_FALSE}"; then
+    GL_COND_OBJ_FSTAT_TRUE='#'
+    GL_COND_OBJ_FSTAT_FALSE='#'
+  fi
+
+  if test -z "$GL_COND_OBJ_FSTAT_TRUE"; then :
+
+    case "$host_os" in
+      mingw* | windows*)
 
 
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext"
 
+        ;;
+    esac
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_sys_types_h='<'sys/types.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
-$as_echo_n "checking absolute name of <sys/types.h>... " >&6; }
-if ${gl_cv_next_sys_types_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  :
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'sys/types.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
+fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
-$as_echo "$gl_cv_next_sys_types_h" >&6; }
-     fi
-     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'sys/types.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_sys_types_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
 
 
 
 
 
 
+          GL_GNULIB_FSTAT=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
 
 
 
@@ -21995,272 +27088,237 @@ $as_echo "$gl_cv_next_sys_types_h" >&6; }
 
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getdelim" >&5
+printf %s "checking for getdelim... " >&6; }
+if test ${gl_cv_onwards_func_getdelim+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_unistd_h='<'unistd.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
-$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
-if ${gl_cv_next_unistd_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  exec 9>&6 6>/dev/null
 
-             if test $ac_cv_header_unistd_h = yes; then
+       case "$host_os" in
 
+         linux*-android*)
+           ac_fn_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "#include <stdio.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getdelim" = xyes
+then :
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
+fi
+           if test $ac_cv_have_decl_getdelim = yes; then
+             ac_fn_c_check_func "$LINENO" "getdelim" "ac_cv_func_getdelim"
+if test "x$ac_cv_func_getdelim" = xyes
+then :
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+fi
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'unistd.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_unistd_h='<'unistd.h'>'
+             if test $ac_cv_func_getdelim = yes; then
+               gl_cv_onwards_func_getdelim=yes
+             else
+                                                            gl_cv_onwards_func_getdelim='future OS version'
              fi
+           else
+             gl_cv_onwards_func_getdelim='future OS version'
+           fi
+           ;;
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
-$as_echo "$gl_cv_next_unistd_h" >&6; }
-     fi
-     NEXT_UNISTD_H=$gl_cv_next_unistd_h
-
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'unistd.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_unistd_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+         *)
+           ac_fn_c_check_func "$LINENO" "getdelim" "ac_cv_func_getdelim"
+if test "x$ac_cv_func_getdelim" = xyes
+then :
 
+fi
 
+           gl_cv_onwards_func_getdelim=$ac_cv_func_getdelim
+           ;;
 
+       esac
 
-  if test $ac_cv_header_unistd_h = yes; then
-    HAVE_UNISTD_H=1
-  else
-    HAVE_UNISTD_H=0
-  fi
+  exec 6>&9 9>&-
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_getdelim" >&5
+printf "%s\n" "$gl_cv_onwards_func_getdelim" >&6; }
 
+  case "$gl_cv_onwards_func_getdelim" in
+    future*) ac_cv_func_getdelim=no ;;
+    *)       ac_cv_func_getdelim=$gl_cv_onwards_func_getdelim ;;
+  esac
+  if test $ac_cv_func_getdelim = yes; then
 
+printf "%s\n" "#define HAVE_GETDELIM 1" >>confdefs.h
 
+  fi
 
 
-    for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups     gethostname getlogin getlogin_r getpagesize     getusershell setusershell endusershell     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite     readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r     unlink unlinkat usleep; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  if test $ac_cv_func_getdelim = yes; then
+    HAVE_GETDELIM=1
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5
+printf %s "checking for working getdelim function... " >&6; }
+if test ${gl_cv_func_working_getdelim+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case "$host_os" in
+         darwin*)
+                                                                             gl_cv_func_working_getdelim=no ;;
+         *)
+           echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+           if test "$cross_compiling" = yes
+then :
+                              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-/* Some systems declare various items in the wrong headers.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <fcntl.h>
-# include <stdio.h>
-# include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#  include <io.h>
-# endif
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+  Lucky GNU user
+ #endif
 #endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Lucky GNU user" >/dev/null 2>&1
+then :
+  gl_cv_func_working_getdelim="guessing yes"
+else $as_nop
+  case "$host_os" in
+                   *-musl* | midipix*) gl_cv_func_working_getdelim="guessing yes" ;;
+                   *)                  gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;;
+                 esac
 
-                     eval ac_cv_have_decl_$gl_func=yes
 fi
-      done
-
-
+rm -rf conftest*
 
-  # Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then :
-  enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
-else
-  opt_valgrind_tests=yes
-fi
 
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  # Run self-tests under valgrind?
-  if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
-    for ac_prog in valgrind
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_VALGRIND+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$VALGRIND"; then
-  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_VALGRIND="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+#    include <stdio.h>
+#    include <stdlib.h>
+#    include <string.h>
+    int main ()
+    {
+      FILE *in = fopen ("./conftest.data", "r");
+      if (!in)
+        return 1;
+      {
+        /* Test result for a NULL buffer and a zero size.
+           Based on a test program from Karl Heuer.  */
+        char *line = NULL;
+        size_t siz = 0;
+        int len = getdelim (&line, &siz, '\n', in);
+        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
+          { free (line); fclose (in); return 2; }
+        free (line);
+      }
+      {
+        /* Test result for a NULL buffer and a non-zero size.
+           This crashes on FreeBSD 8.0.  */
+        char *line = NULL;
+        size_t siz = (size_t)(~0) / 4;
+        if (getdelim (&line, &siz, '\n', in) == -1)
+          { fclose (in); return 3; }
+        free (line);
+      }
+      fclose (in);
+      return 0;
+    }
 
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_working_getdelim=yes
+else $as_nop
+  gl_cv_func_working_getdelim=no
 fi
-fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+           ;;
+       esac
 
-  test -n "$VALGRIND" && break
-done
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5
+printf "%s\n" "$gl_cv_func_working_getdelim" >&6; }
+    case "$gl_cv_func_working_getdelim" in
+      *yes) ;;
+      *) REPLACE_GETDELIM=1 ;;
+    esac
+  else
+    HAVE_GETDELIM=0
+    case "$gl_cv_onwards_func_getdelim" in
+      future*) REPLACE_GETDELIM=1 ;;
+    esac
+  fi
 
+  if test $ac_cv_have_decl_getdelim = no; then
+    HAVE_DECL_GETDELIM=0
   fi
 
-  OPTS="-q --error-exitcode=1 --leak-check=full"
 
-  if test -n "$VALGRIND" \
-     && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
-    opt_valgrind_tests=yes
-    VALGRIND="$VALGRIND $OPTS"
-  else
-    opt_valgrind_tests=no
-    VALGRIND=
+     if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then
+  GL_COND_OBJ_GETDELIM_TRUE=
+  GL_COND_OBJ_GETDELIM_FALSE='#'
+else
+  GL_COND_OBJ_GETDELIM_TRUE='#'
+  GL_COND_OBJ_GETDELIM_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_GETDELIM_TRUE}" && test -z "${GL_COND_OBJ_GETDELIM_FALSE}"; then
+    GL_COND_OBJ_GETDELIM_TRUE='#'
+    GL_COND_OBJ_GETDELIM_FALSE='#'
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5
-$as_echo_n "checking whether self tests are run under valgrind... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5
-$as_echo "$opt_valgrind_tests" >&6; }
+  if test -z "$GL_COND_OBJ_GETDELIM_TRUE"; then :
 
 
-# Check whether --with-packager was given.
-if test "${with_packager+set}" = set; then :
-  withval=$with_packager;       case $withval in
-        yes|no) ;;
-        *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER "$withval"
-_ACEOF
- ;;
-      esac
+  ac_fn_c_check_func "$LINENO" "flockfile" "ac_cv_func_flockfile"
+if test "x$ac_cv_func_flockfile" = xyes
+then :
+  printf "%s\n" "#define HAVE_FLOCKFILE 1" >>confdefs.h
 
 fi
-
-
-
-# Check whether --with-packager-version was given.
-if test "${with_packager_version+set}" = set; then :
-  withval=$with_packager_version;       case $withval in
-        yes|no) ;;
-        *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER_VERSION "$withval"
-_ACEOF
- ;;
-      esac
+ac_fn_c_check_func "$LINENO" "funlockfile" "ac_cv_func_funlockfile"
+if test "x$ac_cv_func_funlockfile" = xyes
+then :
+  printf "%s\n" "#define HAVE_FUNLOCKFILE 1" >>confdefs.h
 
 fi
 
+  ac_fn_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getc_unlocked" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl" >>confdefs.h
 
 
-# Check whether --with-packager-bug-reports was given.
-if test "${with_packager_bug_reports+set}" = set; then :
-  withval=$with_packager_bug_reports;       case $withval in
-        yes|no) ;;
-        *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER_BUG_REPORTS "$withval"
-_ACEOF
- ;;
-      esac
 
 fi
 
 
-  if test "X$with_packager" = "X" && \
-     test "X$with_packager_version$with_packager_bug_reports" != "X"
-  then
-    as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5
-  fi
 
-  # End of code from modules
 
 
 
 
 
 
+          GL_GNULIB_GETDELIM=1
 
 
 
-  gltests_libdeps=
-  gltests_ltlibdeps=
 
 
+printf "%s\n" "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h
 
 
 
 
 
 
-  gl_source_base='gltests'
-  gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 
-  gl_module_indicator_condition=$gltests_WITNESS
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getdtablesize works" >&5
+printf %s "checking whether getdtablesize works... " >&6; }
+if test ${gl_cv_func_getdtablesize_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+                                                   case "$host_os" in
+         vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
+         *)
+                                                       if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+                  gl_cv_func_getdtablesize_works="guessing no" ;;
+                *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+              esac
 
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+             #include <unistd.h>
 
-  if test $ac_cv_func_alloca_works = no; then
-    :
-  fi
 
-  # Define an additional variable used in the Makefile substitution.
-  if test $ac_cv_working_alloca_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
-$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
-if ${gl_cv_rpl_alloca+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+$gl_mda_defines
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#if defined __GNUC__ || defined _AIX || defined _MSC_VER
-        Need own alloca
-#endif
+int
+main (void)
+{
+int size = getdtablesize();
+                 if (dup2 (0, getdtablesize()) != -1)
+                   return 1;
+                 if (size != getdtablesize())
+                   return 2;
 
+  ;
+  return 0;
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Need own alloca" >/dev/null 2>&1; then :
-  gl_cv_rpl_alloca=yes
-else
-  gl_cv_rpl_alloca=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_getdtablesize_works=yes
+else $as_nop
+  gl_cv_func_getdtablesize_works=no
 fi
-rm -f conftest*
-
-
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
-$as_echo "$gl_cv_rpl_alloca" >&6; }
-    if test $gl_cv_rpl_alloca = yes; then
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+           ;;
+       esac
 
-      ALLOCA_H=alloca.h
-    else
-                  ALLOCA_H=
-    fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getdtablesize_works" >&5
+printf "%s\n" "$gl_cv_func_getdtablesize_works" >&6; }
+    case "$gl_cv_func_getdtablesize_works" in
+      *yes | "no (limitation)") ;;
+      *) REPLACE_GETDTABLESIZE=1 ;;
+    esac
   else
-    ALLOCA_H=alloca.h
+    HAVE_GETDTABLESIZE=0
   fi
 
-   if test -n "$ALLOCA_H"; then
-  GL_GENERATE_ALLOCA_H_TRUE=
-  GL_GENERATE_ALLOCA_H_FALSE='#'
+
+     if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then
+  GL_COND_OBJ_GETDTABLESIZE_TRUE=
+  GL_COND_OBJ_GETDTABLESIZE_FALSE='#'
 else
-  GL_GENERATE_ALLOCA_H_TRUE='#'
-  GL_GENERATE_ALLOCA_H_FALSE=
+  GL_COND_OBJ_GETDTABLESIZE_TRUE='#'
+  GL_COND_OBJ_GETDTABLESIZE_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_GETDTABLESIZE_TRUE}" && test -z "${GL_COND_OBJ_GETDTABLESIZE_FALSE}"; then
+    GL_COND_OBJ_GETDTABLESIZE_TRUE='#'
+    GL_COND_OBJ_GETDTABLESIZE_FALSE='#'
+  fi
 
+  if test -z "$GL_COND_OBJ_GETDTABLESIZE_TRUE"; then :
 
+    :
 
+fi
 
 
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_CLOSE=1
-  fi
 
 
 
 
 
-  if test $ac_cv_header_sys_socket_h != yes; then
-                    for ac_header in winsock2.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK2_H 1
-_ACEOF
 
-fi
+          GL_GNULIB_GETDTABLESIZE=1
 
-done
 
-  fi
-  if test "$ac_cv_header_winsock2_h" = yes; then
-    HAVE_WINSOCK2_H=1
-    UNISTD_H_HAVE_WINSOCK2_H=1
-    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
-  else
-    HAVE_WINSOCK2_H=0
-  fi
 
 
-    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
-                        REPLACE_CLOSE=1
-    fi
+
+printf "%s\n" "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h
+
 
 
 
-if test $REPLACE_CLOSE = 1; then
 
 
 
@@ -22378,97 +27440,148 @@ if test $REPLACE_CLOSE = 1; then
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS close.$ac_objext"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getline" >&5
+printf %s "checking for getline... " >&6; }
+if test ${gl_cv_onwards_func_getline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+  exec 9>&6 6>/dev/null
+
+       case "$host_os" in
+
+         linux*-android*)
+           ac_fn_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "#include <stdio.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getline" = xyes
+then :
 
 fi
+           if test $ac_cv_have_decl_getline = yes; then
+             ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline"
+if test "x$ac_cv_func_getline" = xyes
+then :
 
+fi
 
+             if test $ac_cv_func_getline = yes; then
+               gl_cv_onwards_func_getline=yes
+             else
+                                                            gl_cv_onwards_func_getline='future OS version'
+             fi
+           else
+             gl_cv_onwards_func_getline='future OS version'
+           fi
+           ;;
 
 
+         *)
+           ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline"
+if test "x$ac_cv_func_getline" = xyes
+then :
 
-    if test "$GNULIB_CLOSE" != 1; then
-        if test "$GNULIB_CLOSE" = 0; then
-      GNULIB_CLOSE=$gl_module_indicator_condition
-    else
-      GNULIB_CLOSE="($GNULIB_CLOSE || $gl_module_indicator_condition)"
-    fi
-  fi
+fi
 
+           gl_cv_onwards_func_getline=$ac_cv_func_getline
+           ;;
 
+       esac
 
+  exec 6>&9 9>&-
 
 
-$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_getline" >&5
+printf "%s\n" "$gl_cv_onwards_func_getline" >&6; }
 
+  case "$gl_cv_onwards_func_getline" in
+    future*) ac_cv_func_getline=no ;;
+    *)       ac_cv_func_getline=$gl_cv_onwards_func_getline ;;
+  esac
+  if test $ac_cv_func_getline = yes; then
 
+printf "%s\n" "#define HAVE_GETLINE 1" >>confdefs.h
 
+  fi
 
 
+  if test $ac_cv_func_getline = yes; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5
+printf %s "checking for working getline function... " >&6; }
+if test ${am_cv_func_working_getline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+       if test "$cross_compiling" = yes
+then :
+                      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+  Lucky GNU user
+ #endif
+#endif
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Lucky GNU user" >/dev/null 2>&1
+then :
+  am_cv_func_working_getline="guessing yes"
+else $as_nop
+  case "$host_os" in
+               *-musl* | midipix*) am_cv_func_working_getline="guessing yes" ;;
+               *)                  am_cv_func_working_getline="$gl_cross_guess_normal" ;;
+             esac
 
-$as_echo "#define HAVE_DUP2 1" >>confdefs.h
+fi
+rm -rf conftest*
 
 
-  if test $HAVE_DUP2 = 1; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
-$as_echo_n "checking whether dup2 works... " >&6; }
-if ${gl_cv_func_dup2_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-           mingw*) # on this platform, dup2 always returns 0 for success
-             gl_cv_func_dup2_works="guessing no" ;;
-           cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
-             gl_cv_func_dup2_works="guessing no" ;;
-           linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
-                   # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
-             gl_cv_func_dup2_works="guessing no" ;;
-           *) gl_cv_func_dup2_works="guessing yes" ;;
-         esac
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-         #include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-int
-main ()
-{
-int result = 0;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
-              result |= 1;
-#endif
-            if (dup2 (1, 1) == 0)
-              result |= 2;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_GETFD) != FD_CLOEXEC)
-              result |= 4;
-#endif
-            close (0);
-            if (dup2 (0, 0) != -1)
-              result |= 8;
-            /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
-              result |= 16;
-            return result;
-
-  ;
-  return 0;
-}
+#    include <stdio.h>
+#    include <stdlib.h>
+#    include <string.h>
+    int main ()
+    {
+      FILE *in = fopen ("./conftest.data", "r");
+      if (!in)
+        return 1;
+      {
+        /* Test result for a NULL buffer and a zero size.
+           Based on a test program from Karl Heuer.  */
+        char *line = NULL;
+        size_t siz = 0;
+        int len = getline (&line, &siz, in);
+        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
+          { free (line); fclose (in); return 2; }
+        free (line);
+      }
+      {
+        /* Test result for a NULL buffer and a non-zero size.
+           This crashes on FreeBSD 8.0.  */
+        char *line = NULL;
+        size_t siz = (size_t)(~0) / 4;
+        if (getline (&line, &siz, in) == -1)
+          { fclose (in); return 3; }
+        free (line);
+      }
+      fclose (in);
+      return 0;
+    }
 
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_dup2_works=yes
-else
-  gl_cv_func_dup2_works=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  am_cv_func_working_getline=yes
+else $as_nop
+  am_cv_func_working_getline=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
-$as_echo "$gl_cv_func_dup2_works" >&6; }
-    case "$gl_cv_func_dup2_works" in
-      *yes) ;;
-      *)
-        REPLACE_DUP2=1
-        ;;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5
+printf "%s\n" "$am_cv_func_working_getline" >&6; }
+  else
+    am_cv_func_working_getline=no
+    case "$gl_cv_onwards_func_getline" in
+      future*) REPLACE_GETLINE=1 ;;
     esac
   fi
 
+  if test $ac_cv_have_decl_getline = no; then
+    HAVE_DECL_GETLINE=0
+  fi
 
-if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+  case "$am_cv_func_working_getline" in
+    *yes) ;;
+    *)
+                        REPLACE_GETLINE=1
+      ;;
+  esac
 
 
+     if test $REPLACE_GETLINE = 1; then
+  GL_COND_OBJ_GETLINE_TRUE=
+  GL_COND_OBJ_GETLINE_FALSE='#'
+else
+  GL_COND_OBJ_GETLINE_TRUE='#'
+  GL_COND_OBJ_GETLINE_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_GETLINE_TRUE}" && test -z "${GL_COND_OBJ_GETLINE_FALSE}"; then
+    GL_COND_OBJ_GETLINE_TRUE='#'
+    GL_COND_OBJ_GETLINE_FALSE='#'
+  fi
 
+  if test -z "$GL_COND_OBJ_GETLINE_TRUE"; then :
 
 
+  :
 
 
+fi
 
-  gltests_LIBOBJS="$gltests_LIBOBJS dup2.$ac_objext"
 
 
-fi
 
 
 
 
 
-    if test "$GNULIB_DUP2" != 1; then
-        if test "$GNULIB_DUP2" = 0; then
-      GNULIB_DUP2=$gl_module_indicator_condition
-    else
-      GNULIB_DUP2="($GNULIB_DUP2 || $gl_module_indicator_condition)"
-    fi
-  fi
 
+          GL_GNULIB_GETLINE=1
 
 
 
 
-$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h
 
+printf "%s\n" "#define GNULIB_TEST_GETLINE 1" >>confdefs.h
 
 
 
@@ -22527,194 +27654,128 @@ $as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h
 
 
 
-    if test "$GNULIB_ENVIRON" != 1; then
-        if test "$GNULIB_ENVIRON" = 0; then
-      GNULIB_ENVIRON=$gl_module_indicator_condition
-    else
-      GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
 
 
+    REPLACE_GETOPT=0
+    if test -n "$gl_replace_getopt"; then
+      REPLACE_GETOPT=1
+    fi
 
-$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
+  GL_GENERATE_GETOPT_H=false
+  GL_GENERATE_GETOPT_CDEFS_H=false
+  if test $REPLACE_GETOPT = 1; then
 
 
+  if test $ac_cv_header_sys_cdefs_h = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
 
 
 
+printf "%s\n" "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
+  GL_GENERATE_GETOPT_H=true
+  GL_GENERATE_GETOPT_CDEFS_H=true
 
+  fi
 
 
 
 
 
+  case "$GL_GENERATE_GETOPT_H" in
+    false) GETOPT_H='' ;;
+    true)
+                  if test -z "$GETOPT_H"; then
+        GETOPT_H="${gl_source_base_prefix}getopt.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_GETOPT_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_fcntl_h='<'fcntl.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
-$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
-if ${gl_cv_next_fcntl_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+     if $GL_GENERATE_GETOPT_H; then
+  GL_GENERATE_GETOPT_H_TRUE=
+  GL_GENERATE_GETOPT_H_FALSE='#'
 else
+  GL_GENERATE_GETOPT_H_TRUE='#'
+  GL_GENERATE_GETOPT_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_GETOPT_H_TRUE}" && test -z "${GL_GENERATE_GETOPT_H_FALSE}"; then
+    GL_GENERATE_GETOPT_H_TRUE='#'
+    GL_GENERATE_GETOPT_H_FALSE='#'
+  fi
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <fcntl.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'fcntl.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
-$as_echo "$gl_cv_next_fcntl_h" >&6; }
-     fi
-     NEXT_FCNTL_H=$gl_cv_next_fcntl_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'fcntl.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_fcntl_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
 
 
+  case "$GL_GENERATE_GETOPT_CDEFS_H" in
+    false) GETOPT_CDEFS_H='' ;;
+    true)
+                  if test -z "$GETOPT_CDEFS_H"; then
+        GETOPT_CDEFS_H="${gl_source_base_prefix}getopt-cdefs.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_GETOPT_CDEFS_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
+     if $GL_GENERATE_GETOPT_CDEFS_H; then
+  GL_GENERATE_GETOPT_CDEFS_H_TRUE=
+  GL_GENERATE_GETOPT_CDEFS_H_FALSE='#'
+else
+  GL_GENERATE_GETOPT_CDEFS_H_TRUE='#'
+  GL_GENERATE_GETOPT_CDEFS_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_GETOPT_CDEFS_H_TRUE}" && test -z "${GL_GENERATE_GETOPT_CDEFS_H_FALSE}"; then
+    GL_GENERATE_GETOPT_CDEFS_H_TRUE='#'
+    GL_GENERATE_GETOPT_CDEFS_H_FALSE='#'
+  fi
 
 
 
 
 
 
-    for gl_func in fcntl openat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <fcntl.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+     if test $REPLACE_GETOPT = 1; then
+  GL_COND_OBJ_GETOPT_TRUE=
+  GL_COND_OBJ_GETOPT_FALSE='#'
 else
-  eval "$as_gl_Symbol=no"
+  GL_COND_OBJ_GETOPT_TRUE='#'
+  GL_COND_OBJ_GETOPT_FALSE=
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+:
+    if test -z "${GL_COND_OBJ_GETOPT_TRUE}" && test -z "${GL_COND_OBJ_GETOPT_FALSE}"; then
+    GL_COND_OBJ_GETOPT_TRUE='#'
+    GL_COND_OBJ_GETOPT_FALSE='#'
+  fi
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
+  if test -z "$GL_COND_OBJ_GETOPT_TRUE"; then :
 
 
 
 
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FDOPEN=1
-  else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5
-$as_echo_n "checking whether fdopen sets errno... " >&6; }
-if ${gl_cv_func_fdopen_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-        if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-             mingw*) gl_cv_func_fdopen_works="guessing no" ;;
-             *)      gl_cv_func_fdopen_works="guessing yes" ;;
-           esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_GNULIB_UNISTD_H_GETOPT=1
 
-#include <stdio.h>
-#include <errno.h>
-int
-main (void)
-{
-  FILE *fp;
-  errno = 0;
-  fp = fdopen (-1, "r");
-  if (fp != NULL)
-    return 1;
-  if (errno == 0)
-    return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_fdopen_works=yes
-else
-  gl_cv_func_fdopen_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5
-$as_echo "$gl_cv_func_fdopen_works" >&6; }
-    case "$gl_cv_func_fdopen_works" in
-      *no) REPLACE_FDOPEN=1 ;;
-    esac
-  fi
 
-if test $REPLACE_FDOPEN = 1; then
 
 
 
@@ -22723,95 +27784,220 @@ if test $REPLACE_FDOPEN = 1; then
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext"
+          GL_GNULIB_GETOPT_POSIX=1
 
 
-fi
 
 
 
+printf "%s\n" "#define GNULIB_TEST_GETOPT_POSIX 1" >>confdefs.h
 
 
-    if test "$GNULIB_FDOPEN" != 1; then
-        if test "$GNULIB_FDOPEN" = 0; then
-      GNULIB_FDOPEN=$gl_module_indicator_condition
-    else
-      GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getprogname" >&5
+printf %s "checking for getprogname... " >&6; }
+if test ${gl_cv_onwards_func_getprogname+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+  exec 9>&6 6>/dev/null
 
+       case "$host_os" in
 
+         linux*-android*)
+           ac_fn_check_decl "$LINENO" "getprogname" "ac_cv_have_decl_getprogname" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_getprogname" = xyes
+then :
 
+fi
+           if test $ac_cv_have_decl_getprogname = yes; then
+             ac_fn_c_check_func "$LINENO" "getprogname" "ac_cv_func_getprogname"
+if test "x$ac_cv_func_getprogname" = xyes
+then :
 
+fi
 
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FSTAT=1
-  fi
+             if test $ac_cv_func_getprogname = yes; then
+               gl_cv_onwards_func_getprogname=yes
+             else
+                                                            gl_cv_onwards_func_getprogname='future OS version'
+             fi
+           else
+             gl_cv_onwards_func_getprogname='future OS version'
+           fi
+           ;;
 
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    REPLACE_FSTAT=1
-  fi
+         *)
+           ac_fn_c_check_func "$LINENO" "getprogname" "ac_cv_func_getprogname"
+if test "x$ac_cv_func_getprogname" = xyes
+then :
 
+fi
 
+           gl_cv_onwards_func_getprogname=$ac_cv_func_getprogname
+           ;;
 
-if test $REPLACE_FSTAT = 1; then
+       esac
 
+  exec 6>&9 9>&-
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_getprogname" >&5
+printf "%s\n" "$gl_cv_onwards_func_getprogname" >&6; }
 
+  case "$gl_cv_onwards_func_getprogname" in
+    future*) ac_cv_func_getprogname=no ;;
+    *)       ac_cv_func_getprogname=$gl_cv_onwards_func_getprogname ;;
+  esac
+  if test $ac_cv_func_getprogname = yes; then
 
+printf "%s\n" "#define HAVE_GETPROGNAME 1" >>confdefs.h
 
+  fi
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS fstat.$ac_objext"
+  if test $ac_cv_func_getprogname = no; then
+    HAVE_GETPROGNAME=0
+    case "$gl_cv_onwards_func_getprogname" in
+      future*) REPLACE_GETPROGNAME=1 ;;
+    esac
+  fi
+  ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
 
+else $as_nop
+  HAVE_DECL_PROGRAM_INVOCATION_NAME=0
+fi
 
 
 
+     if test $HAVE_GETPROGNAME = 0 || test $REPLACE_GETPROGNAME = 1; then
+  GL_COND_OBJ_GETPROGNAME_TRUE=
+  GL_COND_OBJ_GETPROGNAME_FALSE='#'
+else
+  GL_COND_OBJ_GETPROGNAME_TRUE='#'
+  GL_COND_OBJ_GETPROGNAME_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_GETPROGNAME_TRUE}" && test -z "${GL_COND_OBJ_GETPROGNAME_FALSE}"; then
+    GL_COND_OBJ_GETPROGNAME_TRUE='#'
+    GL_COND_OBJ_GETPROGNAME_FALSE='#'
+  fi
 
+  if test -z "$GL_COND_OBJ_GETPROGNAME_TRUE"; then :
 
 
 
 
-    if test "$GNULIB_FSTAT" != 1; then
-        if test "$GNULIB_FSTAT" = 0; then
-      GNULIB_FSTAT=$gl_module_indicator_condition
-    else
-      GNULIB_FSTAT="($GNULIB_FSTAT || $gl_module_indicator_condition)"
-    fi
-  fi
+  ac_found=0
+  ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
+  ac_found=1
+fi
+
+  ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
+  ac_found=1
+fi
 
+  ac_fn_check_decl "$LINENO" "__argv" "ac_cv_have_decl___argv" "#include <stdlib.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl___argv" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL___ARGV $ac_have_decl" >>confdefs.h
+if test $ac_have_decl = 1
+then :
+  ac_found=1
+fi
 
 
+  # Incur the cost of this test only if none of the above worked.
+  if test $ac_found = 0; then
+    # On OpenBSD 5.1, using the global __progname variable appears to be
+    # the only way to implement getprogname.
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether __progname is defined in default libraries" >&5
+printf %s "checking whether __progname is defined in default libraries... " >&6; }
+if test ${gl_cv_var___progname+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+        gl_cv_var___progname=
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+extern char *__progname;
+int
+main (void)
+{
+return *__progname;
 
-$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_var___progname=yes
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var___progname" >&5
+printf "%s\n" "$gl_cv_var___progname" >&6; }
+    if test "$gl_cv_var___progname" = yes; then
 
+printf "%s\n" "#define HAVE_VAR___PROGNAME 1" >>confdefs.h
 
+    fi
+  fi
 
 
+fi
 
-  case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in
-  *yes,yes) ;;
-  *)
-        REPLACE_GETCWD=1
-    ;;
-  esac
 
-if test $REPLACE_GETCWD = 1; then
 
 
 
@@ -22819,564 +28005,708 @@ if test $REPLACE_GETCWD = 1; then
 
 
 
+          GL_GNULIB_GETPROGNAME=1
 
-  gltests_LIBOBJS="$gltests_LIBOBJS getcwd-lgpl.$ac_objext"
 
-fi
 
 
 
+printf "%s\n" "#define GNULIB_TEST_GETPROGNAME 1" >>confdefs.h
 
 
-    if test "$GNULIB_GETCWD" != 1; then
-        if test "$GNULIB_GETCWD" = 0; then
-      GNULIB_GETCWD=$gl_module_indicator_condition
-    else
-      GNULIB_GETCWD="($GNULIB_GETCWD || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
 
+  # Autoconf 2.61a.99 and earlier don't support linking a file only
+  # in VPATH builds.  But since GNUmakefile is for maintainer use
+  # only, it does not matter if we skip the link with older autoconf.
+  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+  # builds, so use a shell variable to bypass this.
+  GNUmakefile=GNUmakefile
+  ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
 
 
-$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5
+printf %s "checking if gcc/ld supports -Wl,--output-def... " >&6; }
+if test ${gl_cv_ld_output_def+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$enable_shared" = no; then
+       gl_cv_ld_output_def="not needed, shared libraries are disabled"
+     else
+       gl_ldflags_save=$LDFLAGS
+       LDFLAGS="-Wl,--output-def,conftest.def"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_ld_output_def=yes
+else $as_nop
+  gl_cv_ld_output_def=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+       rm -f conftest.def
+       LDFLAGS="$gl_ldflags_save"
+     fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5
+printf "%s\n" "$gl_cv_ld_output_def" >&6; }
+   if test "x$gl_cv_ld_output_def" = "xyes"; then
+  HAVE_LD_OUTPUT_DEF_TRUE=
+  HAVE_LD_OUTPUT_DEF_FALSE='#'
+else
+  HAVE_LD_OUTPUT_DEF_TRUE='#'
+  HAVE_LD_OUTPUT_DEF_FALSE=
+fi
 
 
 
+  # Check whether --enable-ld-version-script was given.
+if test ${enable_ld_version_script+y}
+then :
+  enableval=$enable_ld_version_script; have_ld_version_script=$enableval
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5
+printf %s "checking if LD -Wl,--version-script works... " >&6; }
+if test ${gl_cv_sys_ld_version_script+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_sys_ld_version_script=no
+        save_LDFLAGS=$LDFLAGS
+        LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+        echo foo >conftest.map
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
 
-  PRIPTR_PREFIX=
-  if test -n "$STDINT_H"; then
-        PRIPTR_PREFIX='"l"'
-  else
-        for glpfx in '' l ll I64; do
-      case $glpfx in
-        '')  gltype1='int';;
-        l)   gltype1='long int';;
-        ll)  gltype1='long long int';;
-        I64) gltype1='__int64';;
-      esac
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+else $as_nop
+  cat > conftest.map <<EOF
+VERS_1 {
+        global: sym;
+};
+
+VERS_2 {
+        global: sym;
+} VERS_1;
+EOF
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdint.h>
-           extern intptr_t foo;
-           extern $gltype1 foo;
+
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  PRIPTR_PREFIX='"'$glpfx'"'
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_sys_ld_version_script=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+        rm -f conftest.map
+        LDFLAGS=$save_LDFLAGS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_ld_version_script" >&5
+printf "%s\n" "$gl_cv_sys_ld_version_script" >&6; }
+     have_ld_version_script=$gl_cv_sys_ld_version_script
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      test -n "$PRIPTR_PREFIX" && break
-    done
-  fi
 
+   if test "$have_ld_version_script" = yes; then
+  HAVE_LD_VERSION_SCRIPT_TRUE=
+  HAVE_LD_VERSION_SCRIPT_FALSE='#'
+else
+  HAVE_LD_VERSION_SCRIPT_TRUE='#'
+  HAVE_LD_VERSION_SCRIPT_FALSE=
+fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
-$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
-if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+  CFLAG_VISIBILITY=
+  HAVE_VISIBILITY=0
+  if test -n "$GCC"; then
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5
+printf %s "checking whether the -Werror option is usable... " >&6; }
+if test ${gl_cv_cc_vis_werror+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-            #if defined INT32_MAX && defined INTMAX_MAX
-             #define CONDITION (INT32_MAX < INTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (int) < sizeof (long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
-else
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_cc_vis_werror=yes
+else $as_nop
+  gl_cv_cc_vis_werror=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
-$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
-  if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
-    INT32_MAX_LT_INTMAX_MAX=1;
-  else
-    INT32_MAX_LT_INTMAX_MAX=0;
-  fi
-
-
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
-$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
-if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
+printf "%s\n" "$gl_cv_cc_vis_werror" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5
+printf %s "checking for simple visibility declarations... " >&6; }
+if test ${gl_cv_cc_visibility+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -fvisibility=hidden"
+                                          if test $gl_cv_cc_vis_werror = yes; then
+         CFLAGS="$CFLAGS -Werror"
+       fi
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+              extern __attribute__((__visibility__("default"))) int exportedvar;
+              extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+              extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+              void dummyfunc (void);
+              int hiddenvar;
+              int exportedvar;
+              int hiddenfunc (void) { return 51; }
+              int exportedfunc (void) { return 1225736919; }
+              void dummyfunc (void) {}
 
-            #if defined INT64_MAX
-             #define CONDITION (INT64_MAX == LONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (long long int) == sizeof (long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
-else
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_cc_visibility=yes
+else $as_nop
+  gl_cv_cc_visibility=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
-$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
-  if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
-    INT64_MAX_EQ_LONG_MAX=1;
-  else
-    INT64_MAX_EQ_LONG_MAX=0;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
+printf "%s\n" "$gl_cv_cc_visibility" >&6; }
+    if test $gl_cv_cc_visibility = yes; then
+      CFLAG_VISIBILITY="-fvisibility=hidden"
+      HAVE_VISIBILITY=1
+    fi
   fi
 
 
-  else
-    INT64_MAX_EQ_LONG_MAX=-1
-  fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
-$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
-if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
+printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined UINT32_MAX && defined UINTMAX_MAX
-             #define CONDITION (UINT32_MAX < UINTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
+
+
+
+  case "$GL_GENERATE_LIMITS_H" in
+    false) LIMITS_H='' ;;
+    true)
+                  if test -z "$LIMITS_H"; then
+        LIMITS_H="${gl_source_base_prefix}limits.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;;
+  esac
+
+
+     if $GL_GENERATE_LIMITS_H; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
 else
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
-$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
-  if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
-    UINT32_MAX_LT_UINTMAX_MAX=1;
-  else
-    UINT32_MAX_LT_UINTMAX_MAX=0;
+:
+    if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+    GL_GENERATE_LIMITS_H_TRUE='#'
+    GL_GENERATE_LIMITS_H_FALSE='#'
   fi
 
 
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
-$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
-if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
 
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
 
-            #if defined UINT64_MAX
-             #define CONDITION (UINT64_MAX == ULONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
+
+
+
+
+
+
+
+     if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+  GL_COND_OBJ_MSVC_INVAL_TRUE=
+  GL_COND_OBJ_MSVC_INVAL_FALSE='#'
 else
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  GL_COND_OBJ_MSVC_INVAL_TRUE='#'
+  GL_COND_OBJ_MSVC_INVAL_FALSE=
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
-$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
-  if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
-    UINT64_MAX_EQ_ULONG_MAX=1;
-  else
-    UINT64_MAX_EQ_ULONG_MAX=0;
+:
+    if test -z "${GL_COND_OBJ_MSVC_INVAL_TRUE}" && test -z "${GL_COND_OBJ_MSVC_INVAL_FALSE}"; then
+    GL_COND_OBJ_MSVC_INVAL_TRUE='#'
+    GL_COND_OBJ_MSVC_INVAL_FALSE='#'
   fi
 
 
-  else
-    UINT64_MAX_EQ_ULONG_MAX=-1
-  fi
 
+     if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+  GL_COND_OBJ_MSVC_NOTHROW_TRUE=
+  GL_COND_OBJ_MSVC_NOTHROW_FALSE='#'
+else
+  GL_COND_OBJ_MSVC_NOTHROW_TRUE='#'
+  GL_COND_OBJ_MSVC_NOTHROW_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_MSVC_NOTHROW_TRUE}" && test -z "${GL_COND_OBJ_MSVC_NOTHROW_FALSE}"; then
+    GL_COND_OBJ_MSVC_NOTHROW_TRUE='#'
+    GL_COND_OBJ_MSVC_NOTHROW_FALSE='#'
+  fi
 
 
 
+printf "%s\n" "#define GNULIB_MSVC_NOTHROW 1" >>confdefs.h
 
 
 
-  if test $ac_cv_func_lstat = yes; then
 
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
-        REPLACE_LSTAT=1
-        ;;
-    esac
-  else
-    HAVE_LSTAT=0
-  fi
 
-if test $REPLACE_LSTAT = 1; then
 
+  case "$host_os" in
+    mingw* | windows* | pw*)
+      REPLACE_OPEN=1
+      ;;
+    *)
 
+      if test "$gl_cv_macro_O_CLOEXEC" != yes; then
+        REPLACE_OPEN=1
+      fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
+printf %s "checking whether open recognizes a trailing slash... " >&6; }
+if test ${gl_cv_func_open_slash+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  # Assume that if we have lstat, we can also check symlinks.
+     if test $ac_cv_func_lstat = yes; then
+       touch conftest.tmp
+       ln -s conftest.tmp conftest.lnk
+     fi
+     if test "$cross_compiling" = yes
+then :
 
+        case "$host_os" in
+          freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
+            gl_cv_func_open_slash="guessing no" ;;
+          *)
+            gl_cv_func_open_slash="guessing yes" ;;
+        esac
 
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 
-  gltests_LIBOBJS="$gltests_LIBOBJS lstat.$ac_objext"
 
+$gl_mda_defines
 
+int main ()
+{
+  int result = 0;
+#if HAVE_LSTAT
+  if (open ("conftest.lnk/", O_RDONLY) != -1)
+    result |= 1;
+#endif
+  if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
+    result |= 2;
+  return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_open_slash=yes
+else $as_nop
+  gl_cv_func_open_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
-  :
+     rm -f conftest.sl conftest.tmp conftest.lnk
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
+printf "%s\n" "$gl_cv_func_open_slash" >&6; }
+  case "$gl_cv_func_open_slash" in
+    *no)
 
+printf "%s\n" "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
 
+      ;;
+  esac
 
+      case "$gl_cv_func_open_slash" in
+        *no)
+          REPLACE_OPEN=1
+          ;;
+      esac
+      ;;
+  esac
 
 
-    if test "$GNULIB_LSTAT" != 1; then
-        if test "$GNULIB_LSTAT" = 0; then
-      GNULIB_LSTAT=$gl_module_indicator_condition
-    else
-      GNULIB_LSTAT="($GNULIB_LSTAT || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
+     if test $REPLACE_OPEN = 1; then
+  GL_COND_OBJ_OPEN_TRUE=
+  GL_COND_OBJ_OPEN_FALSE='#'
+else
+  GL_COND_OBJ_OPEN_TRUE='#'
+  GL_COND_OBJ_OPEN_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_OPEN_TRUE}" && test -z "${GL_COND_OBJ_OPEN_FALSE}"; then
+    GL_COND_OBJ_OPEN_TRUE='#'
+    GL_COND_OBJ_OPEN_FALSE='#'
+  fi
 
+  if test -z "$GL_COND_OBJ_OPEN_TRUE"; then :
 
 
-$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
 
+  :
 
 
+fi
 
 
 
-  if test $gl_cv_func_malloc_posix = yes; then
 
-$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
-  else
-    REPLACE_MALLOC=1
-  fi
 
-if test $REPLACE_MALLOC = 1; then
 
 
 
+          GL_GNULIB_OPEN=1
 
 
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS malloc.$ac_objext"
+printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h
 
-fi
 
 
 
 
 
-    if test "$GNULIB_MALLOC_POSIX" != 1; then
-        if test "$GNULIB_MALLOC_POSIX" = 0; then
-      GNULIB_MALLOC_POSIX=$gl_module_indicator_condition
-    else
-      GNULIB_MALLOC_POSIX="($GNULIB_MALLOC_POSIX || $gl_module_indicator_condition)"
-    fi
+  # Extract the first word of "pmccabe", so it can be a program name with args.
+set dummy pmccabe; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PMCCABE+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $PMCCABE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PMCCABE="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
   fi
+done
+  done
+IFS=$as_save_IFS
 
+  test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false"
+  ;;
+esac
+fi
+PMCCABE=$ac_cv_path_PMCCABE
+if test -n "$PMCCABE"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5
+printf "%s\n" "$PMCCABE" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  ac_fn_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_name" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl" >>confdefs.h
 
+  ac_fn_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl" >>confdefs.h
 
-$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+printf %s "checking for ssize_t... " >&6; }
+if test ${gl_cv_ssize_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main (void)
+{
+int x = sizeof (ssize_t *) + sizeof (ssize_t);
+            return !x;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_ssize_t=yes
+else $as_nop
+  gl_cv_ssize_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ssize_t" >&5
+printf "%s\n" "$gl_cv_ssize_t" >&6; }
+  if test $gl_cv_ssize_t = no; then
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether size_t is wider than 'long'" >&5
+printf %s "checking whether size_t is wider than 'long'... " >&6; }
+if test ${gl_cv_size_t_large+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+              typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
 
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_size_t_large=yes
+else $as_nop
+  gl_cv_size_t_large=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_t_large" >&5
+printf "%s\n" "$gl_cv_size_t_large" >&6; }
+    if test $gl_cv_size_t_large = yes; then
+      gl_def_ssize_t='long long'
+    else
+      gl_def_ssize_t='long'
+    fi
 
+printf "%s\n" "#define ssize_t $gl_def_ssize_t" >>confdefs.h
 
+  fi
 
 
 
 
 
   case "$host_os" in
-    mingw* | pw*)
-      REPLACE_OPEN=1
+    mingw* | windows*)
+                  REPLACE_STAT=1
       ;;
     *)
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
+printf %s "checking whether stat handles trailing slashes on files... " >&6; }
+if test ${gl_cv_func_stat_file_slash+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  touch conftest.tmp
+         # Assume that if we have lstat, we can also check symlinks.
+         if test $ac_cv_func_lstat = yes; then
+           ln -s conftest.tmp conftest.lnk
+         fi
+         if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on systems that emulate the Linux system calls.
+              midipix*)        gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+              *)               gl_cv_func_stat_file_slash="$gl_cross_guess_normal" ;;
+            esac
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
-$as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
-if ${gl_cv_func_open_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Assume that if we have lstat, we can also check symlinks.
-          if test $ac_cv_func_lstat = yes; then
-            touch conftest.tmp
-            ln -s conftest.tmp conftest.lnk
-          fi
-          if test "$cross_compiling" = yes; then :
-
-             case "$host_os" in
-               freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
-                 gl_cv_func_open_slash="guessing no" ;;
-               *)
-                 gl_cv_func_open_slash="guessing yes" ;;
-             esac
-
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <sys/stat.h>
 
-#include <fcntl.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-int main ()
+int
+main (void)
 {
-  int result = 0;
+int result = 0;
+               struct stat st;
+               if (!stat ("conftest.tmp/", &st))
+                 result |= 1;
 #if HAVE_LSTAT
-  if (open ("conftest.lnk/", O_RDONLY) != -1)
-    result |= 1;
+               if (!stat ("conftest.lnk/", &st))
+                 result |= 2;
 #endif
-  if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
-    result |= 2;
-  return result;
+               return result;
+
+  ;
+  return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_open_slash=yes
-else
-  gl_cv_func_open_slash=no
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_stat_file_slash=yes
+else $as_nop
+  gl_cv_func_stat_file_slash=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-          rm -f conftest.sl conftest.tmp conftest.lnk
-
+         rm -f conftest.tmp conftest.lnk
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
-$as_echo "$gl_cv_func_open_slash" >&6; }
-      case "$gl_cv_func_open_slash" in
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
+printf "%s\n" "$gl_cv_func_stat_file_slash" >&6; }
+      case $gl_cv_func_stat_file_slash in
         *no)
+          REPLACE_STAT=1
 
-$as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
-
-          REPLACE_OPEN=1
-          ;;
+printf "%s\n" "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
+;;
+      esac
+      case $host_os in
+                darwin* | solaris*)
+          REPLACE_FSTAT=1 ;;
       esac
       ;;
   esac
 
 
-
-if test $REPLACE_OPEN = 1; then
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext"
-
-
-
-
-  :
-
+     if test $REPLACE_STAT = 1; then
+  GL_COND_OBJ_STAT_TRUE=
+  GL_COND_OBJ_STAT_FALSE='#'
+else
+  GL_COND_OBJ_STAT_TRUE='#'
+  GL_COND_OBJ_STAT_FALSE=
 fi
-
-
-
-
-
-    if test "$GNULIB_OPEN" != 1; then
-        if test "$GNULIB_OPEN" = 0; then
-      GNULIB_OPEN=$gl_module_indicator_condition
-    else
-      GNULIB_OPEN="($GNULIB_OPEN || $gl_module_indicator_condition)"
-    fi
+:
+    if test -z "${GL_COND_OBJ_STAT_TRUE}" && test -z "${GL_COND_OBJ_STAT_FALSE}"; then
+    GL_COND_OBJ_STAT_TRUE='#'
+    GL_COND_OBJ_STAT_FALSE='#'
   fi
 
+  if test -z "$GL_COND_OBJ_STAT_TRUE"; then :
 
-
-
-
-$as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h
-
-
+    case "$host_os" in
+      mingw* | windows*)
 
 
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
-$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
-if ${gl_cv_func_svid_putenv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-               case "$host_os" in
-                        # Guess yes on glibc systems.
-                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-                        # If we don't know, assume the worst.
-                *)      gl_cv_func_svid_putenv="guessing no" ;;
-              esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
 
-    /* Put it in env.  */
-    if (putenv ("CONFTEST_putenv=val"))
-      return 1;
+  gl_LIBOBJS="$gl_LIBOBJS stat-w32.$ac_objext"
 
-    /* Try to remove it.  */
-    if (putenv ("CONFTEST_putenv"))
-      return 2;
+        ;;
+    esac
 
-    /* Make sure it was deleted.  */
-    if (getenv ("CONFTEST_putenv") != 0)
-      return 3;
 
-    return 0;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_svid_putenv=yes
-else
-  gl_cv_func_svid_putenv=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
+  :
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
-$as_echo "$gl_cv_func_svid_putenv" >&6; }
-  case "$gl_cv_func_svid_putenv" in
-    *yes) ;;
-    *)
-      REPLACE_PUTENV=1
-      ;;
-  esac
-
-if test $REPLACE_PUTENV = 1; then
-
 
 
 
@@ -23384,372 +28714,395 @@ if test $REPLACE_PUTENV = 1; then
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext"
-
-fi
 
 
+          GL_GNULIB_STAT=1
 
 
 
-    if test "$GNULIB_PUTENV" != 1; then
-        if test "$GNULIB_PUTENV" = 0; then
-      GNULIB_PUTENV=$gl_module_indicator_condition
-    else
-      GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
+printf "%s\n" "#define GNULIB_TEST_STAT 1" >>confdefs.h
 
 
 
-$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
 
 
 
 
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes
+then :
 
-     if test $ac_cv_func_setenv = no; then
-    HAVE_SETENV=0
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
-$as_echo_n "checking whether setenv validates arguments... " >&6; }
-if ${gl_cv_func_setenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_setenv_works="guessing no" ;;
-       esac
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1" >>confdefs.h
 
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5
+printf %s "checking whether struct stat.st_atim is of type struct timespec... " >&6; }
+if test ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-       #include <stdlib.h>
-       #include <errno.h>
-       #include <string.h>
+            #include <sys/types.h>
+            #include <sys/stat.h>
+            #if HAVE_SYS_TIME_H
+            # include <sys/time.h>
+            #endif
+            #include <time.h>
+            struct timespec ts;
+            struct stat st;
 
 int
-main ()
+main (void)
 {
 
-       int result = 0;
-       {
-         if (setenv ("", "", 0) != -1)
-           result |= 1;
-         else if (errno != EINVAL)
-           result |= 2;
-       }
-       {
-         if (setenv ("a", "=", 1) != 0)
-           result |= 4;
-         else if (strcmp (getenv ("a"), "=") != 0)
-           result |= 8;
-       }
-       return result;
+            st.st_atim = ts;
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_setenv_works=yes
-else
-  gl_cv_func_setenv_works=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes
+else $as_nop
+  ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5
+printf "%s\n" "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
+     if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
-$as_echo "$gl_cv_func_setenv_works" >&6; }
-    case "$gl_cv_func_setenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_SETENV=1
-        ;;
-    esac
-  fi
+printf "%s\n" "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h
 
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+     fi
+else $as_nop
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include <sys/types.h>
+        #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1" >>confdefs.h
 
 
+else $as_nop
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include <sys/types.h>
+           #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1" >>confdefs.h
 
 
+else $as_nop
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include <sys/types.h>
+              #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1" >>confdefs.h
 
-  gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext"
 
 fi
 
+fi
 
+fi
 
+fi
 
 
-    if test "$GNULIB_SETENV" != 1; then
-        if test "$GNULIB_SETENV" = 0; then
-      GNULIB_SETENV=$gl_module_indicator_condition
-    else
-      GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
 
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1" >>confdefs.h
 
-$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
 
+else $as_nop
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include <sys/types.h>
+        #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1" >>confdefs.h
 
 
+else $as_nop
+  ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include <sys/types.h>
+          #include <sys/stat.h>
+"
+if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes
+then :
 
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1" >>confdefs.h
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
-$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
-if ${gl_cv_func_stat_dir_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case $host_os in
-            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
-            *) gl_cv_func_stat_dir_slash="guessing yes";;
-          esac
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
 
-int
-main ()
-{
-struct stat st; return stat (".", &st) != stat ("./", &st);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_stat_dir_slash=yes
-else
-  gl_cv_func_stat_dir_slash=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
-$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
-$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
-if ${gl_cv_func_stat_file_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  touch conftest.tmp
-       # Assume that if we have lstat, we can also check symlinks.
-       if test $ac_cv_func_lstat = yes; then
-         ln -s conftest.tmp conftest.lnk
-       fi
-       if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_stat_file_slash="guessing no" ;;
-          esac
 
-else
+
+
+  GL_GENERATE_STDARG_H=false
+  NEXT_STDARG_H='<stdarg.h>'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
+printf %s "checking for va_copy... " >&6; }
+if test ${gl_cv_func_va_copy+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/stat.h>
-
+#include <stdarg.h>
 int
-main ()
+main (void)
 {
-int result = 0;
-      struct stat st;
-      if (!stat ("conftest.tmp/", &st))
-        result |= 1;
-#if HAVE_LSTAT
-      if (!stat ("conftest.lnk/", &st))
-        result |= 2;
+
+#ifndef va_copy
+void (*func) (va_list, va_list) = va_copy;
 #endif
-      return result;
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_stat_file_slash=yes
-else
-  gl_cv_func_stat_file_slash=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_func_va_copy=yes
+else $as_nop
+  gl_cv_func_va_copy=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
+printf "%s\n" "$gl_cv_func_va_copy" >&6; }
+  if test $gl_cv_func_va_copy = no; then
+                                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined _AIX && !defined __GNUC__
+        AIX vaccine
+       #endif
 
-       rm -f conftest.tmp conftest.lnk
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "vaccine" >/dev/null 2>&1
+then :
+  gl_aixcc=yes
+else $as_nop
+  gl_aixcc=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
-$as_echo "$gl_cv_func_stat_file_slash" >&6; }
-  case $gl_cv_func_stat_dir_slash in
-    *no) REPLACE_STAT=1
+rm -rf conftest*
 
-$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
-;;
-  esac
-  case $gl_cv_func_stat_file_slash in
-    *no) REPLACE_STAT=1
+    if test $gl_aixcc = yes; then
+            GL_GENERATE_STDARG_H=true
 
-$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
-;;
-  esac
 
-if test $REPLACE_STAT = 1; then
 
 
 
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stdarg_h='<'stdarg.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
+printf %s "checking absolute name of <stdarg.h>... " >&6; }
+if test ${gl_cv_next_stdarg_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  gltests_LIBOBJS="$gltests_LIBOBJS stat.$ac_objext"
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'stdarg.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
 
+        gl_cv_absolute_stdarg_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
 
+          gl_header=$gl_cv_absolute_stdarg_h
+          gl_cv_next_stdarg_h='"'$gl_header'"'
 
-  :
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
+printf "%s\n" "$gl_cv_next_stdarg_h" >&6; }
+     fi
+     NEXT_STDARG_H=$gl_cv_next_stdarg_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdarg.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdarg_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive
 
 
 
 
-    if test "$GNULIB_STAT" != 1; then
-        if test "$GNULIB_STAT" = 0; then
-      GNULIB_STAT=$gl_module_indicator_condition
+            if test "$gl_cv_next_stdarg_h" = '""'; then
+        gl_cv_next_stdarg_h='"///usr/include/stdarg.h"'
+        NEXT_STDARG_H="$gl_cv_next_stdarg_h"
+      fi
     else
-      GNULIB_STAT="($GNULIB_STAT || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
+  exec 9>&6 6>/dev/null
+
+    if test ${gl_cv_func___va_copy+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+int
+main (void)
+{
+
+#ifndef __va_copy
+error, bail out
+#endif
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_func___va_copy=yes
+else $as_nop
+  gl_cv_func___va_copy=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
 
-$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h
+  exec 6>&9 9>&-
 
 
+      if test $gl_cv_func___va_copy = yes; then
 
+printf "%s\n" "#define va_copy __va_copy" >>confdefs.h
 
+      else
 
 
-  # Define two additional variables used in the Makefile substitution.
+printf "%s\n" "#define va_copy gl_va_copy" >>confdefs.h
 
-  if test "$ac_cv_header_stdbool_h" = yes; then
-    STDBOOL_H=''
-  else
-    STDBOOL_H='stdbool.h'
+      fi
+    fi
   fi
 
-   if test -n "$STDBOOL_H"; then
-  GL_GENERATE_STDBOOL_H_TRUE=
-  GL_GENERATE_STDBOOL_H_FALSE='#'
-else
-  GL_GENERATE_STDBOOL_H_TRUE='#'
-  GL_GENERATE_STDBOOL_H_FALSE=
-fi
-
 
-  if test "$ac_cv_type__Bool" = yes; then
-    HAVE__BOOL=1
-  else
-    HAVE__BOOL=0
-  fi
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if ${gt_cv_c_wchar_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-       wchar_t foo = (wchar_t)'\0';
-int
-main ()
-{
+  case "$GL_GENERATE_STDARG_H" in
+    false) STDARG_H='' ;;
+    true)
+                  if test -z "$STDARG_H"; then
+        STDARG_H="${gl_source_base_prefix}stdarg.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDARG_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wchar_t=yes
+
+     if $GL_GENERATE_STDARG_H; then
+  GL_GENERATE_STDARG_H_TRUE=
+  GL_GENERATE_STDARG_H_FALSE='#'
 else
-  gt_cv_c_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  GL_GENERATE_STDARG_H_TRUE='#'
+  GL_GENERATE_STDARG_H_FALSE=
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
-  if test $gt_cv_c_wchar_t = yes; then
+:
+    if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then
+    GL_GENERATE_STDARG_H_TRUE='#'
+    GL_GENERATE_STDARG_H_FALSE='#'
+  fi
 
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
 
-  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if ${gt_cv_c_wint_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bool, true, false" >&5
+printf %s "checking for bool, true, false... " >&6; }
+if test ${gl_cv_c_bool+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
-   before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-       wint_t foo = (wchar_t)'\0';
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+          #if true == false
+           #error "true == false"
+          #endif
+          extern bool b;
+          bool b = true == false;
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wint_t=yes
-else
-  gt_cv_c_wint_t=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_c_bool=yes
+else $as_nop
+  gl_cv_c_bool=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
-  if test $gt_cv_c_wint_t = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_bool" >&5
+printf "%s\n" "$gl_cv_c_bool" >&6; }
+  if test "$gl_cv_c_bool" = yes; then
 
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+printf "%s\n" "#define HAVE_C_BOOL 1" >>confdefs.h
 
   fi
 
@@ -23758,133 +29111,78 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
 
 
+  if test $ac_cv_header_stdckdint_h = yes; then
+    GL_GENERATE_STDCKDINT_H=false
+  else
+    GL_GENERATE_STDCKDINT_H=true
+  fi
 
 
 
 
+  case "$GL_GENERATE_STDCKDINT_H" in
+    false) STDCKDINT_H='' ;;
+    true)
+                  if test -z "$STDCKDINT_H"; then
+        STDCKDINT_H="${gl_source_base_prefix}stdckdint.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDCKDINT_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stdio_h='<'stdio.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
-$as_echo_n "checking absolute name of <stdio.h>... " >&6; }
-if ${gl_cv_next_stdio_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+     if $GL_GENERATE_STDCKDINT_H; then
+  GL_GENERATE_STDCKDINT_H_TRUE=
+  GL_GENERATE_STDCKDINT_H_FALSE='#'
 else
+  GL_GENERATE_STDCKDINT_H_TRUE='#'
+  GL_GENERATE_STDCKDINT_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_STDCKDINT_H_TRUE}" && test -z "${GL_GENERATE_STDCKDINT_H_FALSE}"; then
+    GL_GENERATE_STDCKDINT_H_TRUE='#'
+    GL_GENERATE_STDCKDINT_H_FALSE='#'
+  fi
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'stdio.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
-$as_echo "$gl_cv_next_stdio_h" >&6; }
-     fi
-     NEXT_STDIO_H=$gl_cv_next_stdio_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stdio.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stdio_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive
 
 
 
 
 
-      GNULIB_FSCANF=1
-  GNULIB_SCANF=1
-  GNULIB_FGETC=1
-  GNULIB_GETC=1
-  GNULIB_GETCHAR=1
-  GNULIB_FGETS=1
-  GNULIB_FREAD=1
 
 
-      GNULIB_FPRINTF=1
-  GNULIB_PRINTF=1
-  GNULIB_VFPRINTF=1
-  GNULIB_VPRINTF=1
-  GNULIB_FPUTC=1
-  GNULIB_PUTC=1
-  GNULIB_PUTCHAR=1
-  GNULIB_FPUTS=1
-  GNULIB_PUTS=1
-  GNULIB_FWRITE=1
 
 
 
+  case "$GL_GENERATE_STDDEF_H" in
+    false) STDDEF_H='' ;;
+    true)
+                  if test -z "$STDDEF_H"; then
+        STDDEF_H="${gl_source_base_prefix}stddef.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDDEF_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen     renameat snprintf tmpfile vdprintf vsnprintf; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+     if $GL_GENERATE_STDDEF_H; then
+  GL_GENERATE_STDDEF_H_TRUE=
+  GL_GENERATE_STDDEF_H_FALSE='#'
 else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  GL_GENERATE_STDDEF_H_TRUE='#'
+  GL_GENERATE_STDDEF_H_FALSE=
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+:
+    if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
+    GL_GENERATE_STDDEF_H_TRUE='#'
+    GL_GENERATE_STDDEF_H_FALSE='#'
+  fi
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
 
 
 
+  case "$GL_GENERATE_STDINT_H" in
+    false) STDINT_H='' ;;
+    true)
+                  if test -z "$STDINT_H"; then
+        STDINT_H="${gl_source_base_prefix}stdint.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDINT_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stdlib_h='<'stdlib.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
-$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
-if ${gl_cv_next_stdlib_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+     if $GL_GENERATE_STDINT_H; then
+  GL_GENERATE_STDINT_H_TRUE=
+  GL_GENERATE_STDINT_H_FALSE='#'
 else
+  GL_GENERATE_STDINT_H_TRUE='#'
+  GL_GENERATE_STDINT_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
+    GL_GENERATE_STDINT_H_TRUE='#'
+    GL_GENERATE_STDINT_H_FALSE='#'
+  fi
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'stdlib.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
-$as_echo "$gl_cv_next_stdlib_h" >&6; }
-     fi
-     NEXT_STDLIB_H=$gl_cv_next_stdlib_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stdlib.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stdlib_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
 
 
+  case "$GL_GENERATE_LIMITS_H" in
+    false) LIMITS_H='' ;;
+    true)
+                  if test -z "$LIMITS_H"; then
+        LIMITS_H="${gl_source_base_prefix}limits.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
 
+     if $GL_GENERATE_LIMITS_H; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+    GL_GENERATE_LIMITS_H_TRUE='#'
+    GL_GENERATE_LIMITS_H_FALSE='#'
+  fi
 
 
-    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt     initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps     posix_openpt ptsname ptsname_r random random_r realpath rpmatch     setenv setstate setstate_r srandom srandom_r     strtod strtoll strtoull unlockpt unsetenv; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#if HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-#endif
-#if HAVE_RANDOM_H
-# include <random.h>
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
 
 
-        if test $ac_cv_func_symlink = no; then
-    HAVE_SYMLINK=0
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
-$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
-if ${gl_cv_func_symlink_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlink_works="guessing no" ;;
-          esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
 
-int
-main ()
-{
-int result = 0;
-             if (!symlink ("a", "conftest.link/"))
-               result |= 1;
-             if (symlink ("conftest.f", "conftest.lnk2"))
-               result |= 2;
-             else if (!symlink ("a", "conftest.lnk2/"))
-               result |= 4;
-             return result;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_symlink_works=yes
+
+
+     if test $REPLACE_STDIO_READ_FUNCS = 1; then
+  GL_COND_OBJ_STDIO_READ_TRUE=
+  GL_COND_OBJ_STDIO_READ_FALSE='#'
 else
-  gl_cv_func_symlink_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+  GL_COND_OBJ_STDIO_READ_TRUE='#'
+  GL_COND_OBJ_STDIO_READ_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_STDIO_READ_TRUE}" && test -z "${GL_COND_OBJ_STDIO_READ_FALSE}"; then
+    GL_COND_OBJ_STDIO_READ_TRUE='#'
+    GL_COND_OBJ_STDIO_READ_FALSE='#'
+  fi
 
-      rm -f conftest.f conftest.link conftest.lnk2
+
+     if test $REPLACE_STDIO_WRITE_FUNCS = 1; then
+  GL_COND_OBJ_STDIO_WRITE_TRUE=
+  GL_COND_OBJ_STDIO_WRITE_FALSE='#'
+else
+  GL_COND_OBJ_STDIO_WRITE_TRUE='#'
+  GL_COND_OBJ_STDIO_WRITE_FALSE=
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
-$as_echo "$gl_cv_func_symlink_works" >&6; }
-    case "$gl_cv_func_symlink_works" in
-      *yes) ;;
-      *)
-        REPLACE_SYMLINK=1
-        ;;
-    esac
+:
+    if test -z "${GL_COND_OBJ_STDIO_WRITE_TRUE}" && test -z "${GL_COND_OBJ_STDIO_WRITE_FALSE}"; then
+    GL_COND_OBJ_STDIO_WRITE_TRUE='#'
+    GL_COND_OBJ_STDIO_WRITE_FALSE='#'
   fi
 
-if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
 
 
 
@@ -24074,27 +29297,20 @@ if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext"
 
-fi
+          GL_GNULIB_FSCANF=1
 
 
 
 
 
-    if test "$GNULIB_SYMLINK" != 1; then
-        if test "$GNULIB_SYMLINK" = 0; then
-      GNULIB_SYMLINK=$gl_module_indicator_condition
-    else
-      GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)"
-    fi
-  fi
+printf "%s\n" "#define GNULIB_TEST_FSCANF 1" >>confdefs.h
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_FSCANF 1" >>confdefs.h
 
 
 
@@ -24106,277 +29322,80 @@ $as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
 
 
 
+          GL_GNULIB_SCANF=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_SCANF 1" >>confdefs.h
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_sys_stat_h='<'sys/stat.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
-$as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
-if ${gl_cv_next_sys_stat_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_sys_stat_h = yes; then
 
+printf "%s\n" "#define GNULIB_SCANF 1" >>confdefs.h
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'sys/stat.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_sys_stat_h='<'sys/stat.h'>'
-             fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
-$as_echo "$gl_cv_next_sys_stat_h" >&6; }
-     fi
-     NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'sys/stat.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_sys_stat_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive
 
 
 
 
 
+          GL_GNULIB_FGETC=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FGETC 1" >>confdefs.h
 
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
 
-$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
 
-  fi
 
-      ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
-     #include <sys/stat.h>
-"
-if test "x$ac_cv_type_nlink_t" = xyes; then :
 
-else
 
-$as_echo "#define nlink_t int" >>confdefs.h
 
-fi
 
 
 
-    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/stat.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
+          GL_GNULIB_GETC=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_GETC 1" >>confdefs.h
+
+
+
 
 
 
 
-  if test $ac_cv_have_decl_unsetenv = no; then
-    HAVE_DECL_UNSETENV=0
-  fi
-  for ac_func in unsetenv
-do :
-  ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
-if test "x$ac_cv_func_unsetenv" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNSETENV 1
-_ACEOF
 
-fi
-done
 
-  if test $ac_cv_func_unsetenv = no; then
-    HAVE_UNSETENV=0
-  else
-    HAVE_UNSETENV=1
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
-$as_echo_n "checking for unsetenv() return type... " >&6; }
-if ${gt_cv_func_unsetenv_ret+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#undef _BSD
-#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
-#include <stdlib.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-int unsetenv (const char *name);
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_func_unsetenv_ret='int'
-else
-  gt_cv_func_unsetenv_ret='void'
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
-$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
-    if test $gt_cv_func_unsetenv_ret = 'void'; then
+          GL_GNULIB_GETCHAR=1
 
-$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
 
-      REPLACE_UNSETENV=1
-    fi
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
-$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
-if ${gl_cv_func_unsetenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unsetenv_works="guessing no" ;;
-       esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-       #include <stdlib.h>
-       #include <errno.h>
-       extern char **environ;
+printf "%s\n" "#define GNULIB_TEST_GETCHAR 1" >>confdefs.h
 
-int
-main ()
-{
 
-       char entry1[] = "a=1";
-       char entry2[] = "b=2";
-       char *env[] = { entry1, entry2, NULL };
-       if (putenv ((char *) "a=1")) return 1;
-       if (putenv (entry2)) return 2;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 3;
-       if (!unsetenv ("") || errno != EINVAL) return 4;
-       entry2[0] = 'b';
-       environ = env;
-       if (!getenv ("a")) return 5;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 6;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_unsetenv_works=yes
-else
-  gl_cv_func_unsetenv_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
-$as_echo "$gl_cv_func_unsetenv_works" >&6; }
-    case "$gl_cv_func_unsetenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_UNSETENV=1
-        ;;
-    esac
-  fi
 
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
 
 
 
@@ -24384,721 +29403,167 @@ if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
 
 
 
+          GL_GNULIB_FGETS=1
 
-  gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext"
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FGETS 1" >>confdefs.h
 
-fi
 
 
 
 
 
-    if test "$GNULIB_UNSETENV" != 1; then
-        if test "$GNULIB_UNSETENV" = 0; then
-      GNULIB_UNSETENV=$gl_module_indicator_condition
-    else
-      GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
 
+          GL_GNULIB_FREAD=1
 
 
 
-  # Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then :
-  enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
-else
-  opt_valgrind_tests=yes
-fi
 
 
-  # Run self-tests under valgrind?
-  if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
-    for ac_prog in valgrind
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_VALGRIND+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$VALGRIND"; then
-  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_VALGRIND="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+printf "%s\n" "#define GNULIB_TEST_FREAD 1" >>confdefs.h
 
-fi
-fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$VALGRIND" && break
-done
 
-  fi
 
-  OPTS="-q --error-exitcode=1 --leak-check=full"
 
-  if test -n "$VALGRIND" \
-     && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
-    opt_valgrind_tests=yes
-    VALGRIND="$VALGRIND $OPTS"
-  else
-    opt_valgrind_tests=no
-    VALGRIND=
-  fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5
-$as_echo_n "checking whether self tests are run under valgrind... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5
-$as_echo "$opt_valgrind_tests" >&6; }
 
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
 
 
+          GL_GNULIB_FPRINTF=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FPRINTF 1" >>confdefs.h
 
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_wchar_h='<'wchar.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
-$as_echo_n "checking absolute name of <wchar.h>... " >&6; }
-if ${gl_cv_next_wchar_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_wchar_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <wchar.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'wchar.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_wchar_h='<'wchar.h'>'
-             fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
-$as_echo "$gl_cv_next_wchar_h" >&6; }
-     fi
-     NEXT_WCHAR_H=$gl_cv_next_wchar_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'wchar.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_wchar_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive
+          GL_GNULIB_PRINTF=1
 
 
 
 
-  if test $ac_cv_header_wchar_h = yes; then
-    HAVE_WCHAR_H=1
-  else
-    HAVE_WCHAR_H=0
-  fi
 
+printf "%s\n" "#define GNULIB_TEST_PRINTF 1" >>confdefs.h
 
 
 
 
-  if test $gt_cv_c_wint_t = yes; then
-    HAVE_WINT_T=1
-  else
-    HAVE_WINT_T=0
-  fi
 
 
 
-    for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb      wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset      wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp      wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr      wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-#endif
-#include <wchar.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
+          GL_GNULIB_VFPRINTF=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_VFPRINTF 1" >>confdefs.h
 
 
 
 
 
-  LIBTESTS_LIBDEPS="$gltests_libdeps"
 
 
 
-  GNULIB_ICONV=0;
-    ICONV_CONST=;
-  REPLACE_ICONV=0;
-  REPLACE_ICONV_OPEN=0;
-  REPLACE_ICONV_UTF=0;
-  ICONV_H='';
-   if test -n "$ICONV_H"; then
-  GL_GENERATE_ICONV_H_TRUE=
-  GL_GENERATE_ICONV_H_FALSE='#'
-else
-  GL_GENERATE_ICONV_H_TRUE='#'
-  GL_GENERATE_ICONV_H_FALSE=
-fi
 
 
 
 
+          GL_GNULIB_VPRINTF=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_VPRINTF 1" >>confdefs.h
 
-gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
-gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
-gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
-i\
-0
-q
-'
 
 
-  if test "$HAVE_LIBUNISTRING" = yes; then
-    LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
-    LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
-    LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
-  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if ${am_cv_langinfo_codeset+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(CODESET); return !cs;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_langinfo_codeset=yes
-else
-  am_cv_langinfo_codeset=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-$as_echo "$am_cv_langinfo_codeset" >&6; }
-  if test $am_cv_langinfo_codeset = yes; then
 
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
 
-  fi
 
 
-  GNULIB_LOCALECONV=0;
-  GNULIB_SETLOCALE=0;
-  GNULIB_DUPLOCALE=0;
-    HAVE_DUPLOCALE=1;
-  REPLACE_LOCALECONV=0;
-  REPLACE_SETLOCALE=0;
-  REPLACE_DUPLOCALE=0;
-  REPLACE_STRUCT_LCONV=0;
 
 
+          GL_GNULIB_FPUTC=1
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
-$as_echo_n "checking for LC_MESSAGES... " >&6; }
-if ${gt_cv_val_LC_MESSAGES+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_val_LC_MESSAGES=yes
-else
-  gt_cv_val_LC_MESSAGES=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5
-$as_echo "$gt_cv_val_LC_MESSAGES" >&6; }
-  if test $gt_cv_val_LC_MESSAGES = yes; then
 
-$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_FPUTC 1" >>confdefs.h
 
-  fi
 
 
 
-  gl_threads_api=none
-  LIBTHREAD=
-  LTLIBTHREAD=
-  LIBMULTITHREAD=
-  LTLIBMULTITHREAD=
-  if test "$gl_use_threads" != no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5
-$as_echo_n "checking whether imported symbols can be declared weak... " >&6; }
-if ${gl_cv_have_weak+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  gl_cv_have_weak=no
-              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-extern void xyzzy ();
-#pragma weak xyzzy
-int
-main ()
-{
-xyzzy();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_have_weak=maybe
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       if test $gl_cv_have_weak = maybe; then
-                           if test "$cross_compiling" = yes; then :
-                          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __ELF__
-               Extensible Linking Format
-               #endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Extensible Linking Format" >/dev/null 2>&1; then :
-  gl_cv_have_weak="guessing yes"
-else
-  gl_cv_have_weak="guessing no"
-fi
-rm -f conftest*
 
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <stdio.h>
-#pragma weak fputs
-int main ()
-{
-  return (fputs == NULL);
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_have_weak=yes
-else
-  gl_cv_have_weak=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
-       fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
-$as_echo "$gl_cv_have_weak" >&6; }
-    if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
-      # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
-      # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
-      ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
-if test "x$ac_cv_header_pthread_h" = xyes; then :
-  gl_have_pthread_h=yes
-else
-  gl_have_pthread_h=no
-fi
 
 
-      if test "$gl_have_pthread_h" = yes; then
-        # Other possible tests:
-        #   -lpthreads (FSU threads, PCthreads)
-        #   -lgthreads
-        gl_have_pthread=
-        # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
-        # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
-        # the second one only in libpthread, and lock.c needs it.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <pthread.h>
-int
-main ()
-{
-pthread_mutex_lock((pthread_mutex_t*)0);
-           pthread_mutexattr_init((pthread_mutexattr_t*)0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_have_pthread=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        # Test for libpthread by looking for pthread_kill. (Not pthread_self,
-        # since it is defined as a macro on OSF/1.)
-        if test -n "$gl_have_pthread"; then
-          # The program links fine without libpthread. But it may actually
-          # need to link with libpthread in order to create multiple threads.
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
-$as_echo_n "checking for pthread_kill in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_pthread_kill+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+          GL_GNULIB_PUTC=1
+
+
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_kill ();
-int
-main ()
-{
-return pthread_kill ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_pthread_pthread_kill=yes
-else
-  ac_cv_lib_pthread_pthread_kill=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then :
-  LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
-             # On Solaris and HP-UX, most pthread functions exist also in libc.
-             # Therefore pthread_in_use() needs to actually try to create a
-             # thread: pthread_create from libc will fail, whereas
-             # pthread_create will actually create a thread.
-             case "$host_os" in
-               solaris* | hpux*)
 
-$as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
 
-             esac
+printf "%s\n" "#define GNULIB_TEST_PUTC 1" >>confdefs.h
 
-fi
 
-        else
-          # Some library is needed. Try libpthread and libc_r.
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
-$as_echo_n "checking for pthread_kill in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_pthread_kill+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_kill ();
-int
-main ()
-{
-return pthread_kill ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_pthread_pthread_kill=yes
-else
-  ac_cv_lib_pthread_pthread_kill=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then :
-  gl_have_pthread=yes
-             LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
-             LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
-fi
 
-          if test -z "$gl_have_pthread"; then
-            # For FreeBSD 4.
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5
-$as_echo_n "checking for pthread_kill in -lc_r... " >&6; }
-if ${ac_cv_lib_c_r_pthread_kill+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lc_r  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_kill ();
-int
-main ()
-{
-return pthread_kill ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_c_r_pthread_kill=yes
-else
-  ac_cv_lib_c_r_pthread_kill=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5
-$as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; }
-if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then :
-  gl_have_pthread=yes
-               LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
-               LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r
-fi
 
-          fi
-        fi
-        if test -n "$gl_have_pthread"; then
-          gl_threads_api=posix
 
-$as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h
 
-          if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
-            if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
 
-$as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h
 
-              LIBTHREAD=
-              LTLIBTHREAD=
-            fi
-          fi
-        fi
-      fi
-    fi
-    if test -z "$gl_have_pthread"; then
-      if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
-        gl_have_solaristhread=
-        gl_save_LIBS="$LIBS"
-        LIBS="$LIBS -lthread"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <thread.h>
-#include <synch.h>
-int
-main ()
-{
-thr_self();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_have_solaristhread=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        LIBS="$gl_save_LIBS"
-        if test -n "$gl_have_solaristhread"; then
-          gl_threads_api=solaris
-          LIBTHREAD=-lthread
-          LTLIBTHREAD=-lthread
-          LIBMULTITHREAD="$LIBTHREAD"
-          LTLIBMULTITHREAD="$LTLIBTHREAD"
 
-$as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h
 
-          if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+          GL_GNULIB_PUTCHAR=1
 
-$as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h
 
-            LIBTHREAD=
-            LTLIBTHREAD=
-          fi
-        fi
-      fi
-    fi
-    if test "$gl_use_threads" = pth; then
-      gl_save_CPPFLAGS="$CPPFLAGS"
 
 
 
+printf "%s\n" "#define GNULIB_TEST_PUTCHAR 1" >>confdefs.h
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5
-$as_echo_n "checking how to link with libpth... " >&6; }
-if ${ac_cv_libpth_libs+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
 
 
 
 
 
-    use_additional=yes
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
 
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
+          GL_GNULIB_FPUTS=1
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
 
-# Check whether --with-libpth-prefix was given.
-if test "${with_libpth_prefix+set}" = set; then :
-  withval=$with_libpth_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
 
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
+printf "%s\n" "#define GNULIB_TEST_FPUTS 1" >>confdefs.h
+
+
+
+
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
 
-fi
 
-      LIBPTH=
-  LTLIBPTH=
-  INCPTH=
-  LIBPTH_PREFIX=
-      HAVE_LIBPTH=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='pth '
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBPTH; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                                LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$acl_hardcode_direct" = yes; then
-                                                      LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                                                            LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBPTH; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                                                                                        LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a"
-              else
-                                                LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'pth'; then
-                  LIBPTH_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'pth'; then
-                  LIBPTH_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCPTH; do
+          GL_GNULIB_PUTS=1
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBPTH; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBPTH; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+printf "%s\n" "#define GNULIB_TEST_PUTS 1" >>confdefs.h
 
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBPTH="${LIBPTH}${LIBPTH:+ }$dep"
-                    LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name"
-            LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBPTH="${LIBPTH}${LIBPTH:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBPTH="${LIBPTH}${LIBPTH:+ }$flag"
-      done
-    fi
+
+
+
+
+
+
+
+
+
+
+
+          GL_GNULIB_FWRITE=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_FWRITE 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
+printf %s "checking for working strerror function... " >&6; }
+if test ${gl_cv_func_working_strerror+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test "$cross_compiling" = yes
+then :
+  case "$host_os" in
+                               # Guess yes on glibc systems.
+           *-gnu* | gnu*)      gl_cv_func_working_strerror="guessing yes" ;;
+                               # Guess yes on musl systems.
+           *-musl* | midipix*) gl_cv_func_working_strerror="guessing yes" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+           *)                  gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
+         esac
+
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+int
+main (void)
+{
+if (!*strerror (-2)) return 1;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+  gl_cv_func_working_strerror=yes
+else $as_nop
+  gl_cv_func_working_strerror=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
+printf "%s\n" "$gl_cv_func_working_strerror" >&6; }
+    case "$gl_cv_func_working_strerror" in
+      *yes) ;;
+      *)
+                        REPLACE_STRERROR=1
+        ;;
+    esac
+
+  else
+            REPLACE_STRERROR=1
   fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir"
-    done
+
+
+     if test $REPLACE_STRERROR = 1; then
+  GL_COND_OBJ_STRERROR_TRUE=
+  GL_COND_OBJ_STRERROR_FALSE='#'
+else
+  GL_COND_OBJ_STRERROR_TRUE='#'
+  GL_COND_OBJ_STRERROR_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_STRERROR_TRUE}" && test -z "${GL_COND_OBJ_STRERROR_FALSE}"; then
+    GL_COND_OBJ_STRERROR_TRUE='#'
+    GL_COND_OBJ_STRERROR_FALSE='#'
+  fi
+
+
+
+printf "%s\n" "#define GNULIB_STRERROR 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+          GL_GNULIB_STRERROR=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_STRERROR 1" >>confdefs.h
+
+
+
+
+
+
+     if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+  GL_COND_OBJ_STRERROR_OVERRIDE_TRUE=
+  GL_COND_OBJ_STRERROR_OVERRIDE_FALSE='#'
+else
+  GL_COND_OBJ_STRERROR_OVERRIDE_TRUE='#'
+  GL_COND_OBJ_STRERROR_OVERRIDE_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_STRERROR_OVERRIDE_TRUE}" && test -z "${GL_COND_OBJ_STRERROR_OVERRIDE_FALSE}"; then
+    GL_COND_OBJ_STRERROR_OVERRIDE_TRUE='#'
+    GL_COND_OBJ_STRERROR_OVERRIDE_FALSE='#'
   fi
 
+  if test -z "$GL_COND_OBJ_STRERROR_OVERRIDE_TRUE"; then :
 
 
 
 
 
-    ac_cv_libpth_libs="$LIBPTH"
-    ac_cv_libpth_ltlibs="$LTLIBPTH"
-    ac_cv_libpth_cppflags="$INCPTH"
-    ac_cv_libpth_prefix="$LIBPTH_PREFIX"
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    ac_fn_c_check_header_compile "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_WINSOCK2_H 1" >>confdefs.h
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5
-$as_echo "$ac_cv_libpth_libs" >&6; }
-  LIBPTH="$ac_cv_libpth_libs"
-  LTLIBPTH="$ac_cv_libpth_ltlibs"
-  INCPTH="$ac_cv_libpth_cppflags"
-  LIBPTH_PREFIX="$ac_cv_libpth_prefix"
 
-  for element in $INCPTH; do
-    haveit=
-    for x in $CPPFLAGS; do
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
+
+fi
 
 
 
 
-      HAVE_LIBPTH=yes
 
 
 
-      gl_have_pth=
-      gl_save_LIBS="$LIBS"
-      LIBS="$LIBS -lpth"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5
+printf %s "checking for variable-length arrays... " >&6; }
+if test ${ac_cv_c_vararrays+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC_NO_VLA__
+       defined
+       #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "defined" >/dev/null 2>&1
+then :
+  ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <pth.h>
+/* Test for VLA support.  This test is partly inspired
+                 from examples in the C standard.  Use at least two VLA
+                 functions to detect the GCC 3.4.3 bug described in:
+                 https://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html
+                 */
+              #ifdef __STDC_NO_VLA__
+               syntax error;
+              #else
+                extern int n;
+                int B[100];
+                int fvla (int m, int C[m][m]);
+
+                int
+                simple (int count, int all[static count])
+                {
+                  return all[count - 1];
+                }
+
+                int
+                fvla (int m, int C[m][m])
+                {
+                  typedef int VLA[m][m];
+                  VLA x;
+                  int D[m];
+                  static int (*q)[m] = &B;
+                  int (*s)[n] = q;
+                  return C && &x[0][0] == &D[0] && &D[0] == s[0];
+                }
+              #endif
+
 int
-main ()
+main (void)
 {
-pth_self();
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_have_pth=yes
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_c_vararrays=yes
+else $as_nop
+  ac_cv_c_vararrays=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-      LIBS="$gl_save_LIBS"
-      if test -n "$gl_have_pth"; then
-        gl_threads_api=pth
-        LIBTHREAD="$LIBPTH"
-        LTLIBTHREAD="$LTLIBPTH"
-        LIBMULTITHREAD="$LIBTHREAD"
-        LTLIBMULTITHREAD="$LTLIBTHREAD"
-
-$as_echo "#define USE_PTH_THREADS 1" >>confdefs.h
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -rf conftest*
 
-        if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
-          if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
+printf "%s\n" "$ac_cv_c_vararrays" >&6; }
+  if test "$ac_cv_c_vararrays" = yes; then
 
-$as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_C_VARARRAYS 1" >>confdefs.h
 
-            LIBTHREAD=
-            LTLIBTHREAD=
-          fi
-        fi
-      else
-        CPPFLAGS="$gl_save_CPPFLAGS"
-      fi
-    fi
-    if test -z "$gl_have_pthread"; then
-      if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
-        if { case "$host_os" in
-               mingw*) true;;
-               *) false;;
-             esac
-           }; then
-          gl_threads_api=win32
+  elif test "$ac_cv_c_vararrays" = no; then
 
-$as_echo "#define USE_WIN32_THREADS 1" >>confdefs.h
+printf "%s\n" "#define __STDC_NO_VLA__ 1" >>confdefs.h
 
-        fi
-      fi
-    fi
   fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5
-$as_echo_n "checking for multithread API to use... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5
-$as_echo "$gl_threads_api" >&6; }
-
-
-
 
 
+# Check whether --with-packager was given.
+if test ${with_packager+y}
+then :
+  withval=$with_packager;       case $withval in
+        yes|no) ;;
+        *)
+printf "%s\n" "#define PACKAGE_PACKAGER \"$withval\"" >>confdefs.h
+ ;;
+      esac
 
+fi
 
 
 
+# Check whether --with-packager-version was given.
+if test ${with_packager_version+y}
+then :
+  withval=$with_packager_version;       case $withval in
+        yes|no) ;;
+        *)
+printf "%s\n" "#define PACKAGE_PACKAGER_VERSION \"$withval\"" >>confdefs.h
+ ;;
+      esac
 
-   if true; then
-  GL_COND_LIBTOOL_TRUE=
-  GL_COND_LIBTOOL_FALSE='#'
-else
-  GL_COND_LIBTOOL_TRUE='#'
-  GL_COND_LIBTOOL_FALSE=
 fi
 
-  gl_cond_libtool=true
-  gl_m4_base='lib/gl/m4'
 
 
+# Check whether --with-packager-bug-reports was given.
+if test ${with_packager_bug_reports+y}
+then :
+  withval=$with_packager_bug_reports;       case $withval in
+        yes|no) ;;
+        *)
+printf "%s\n" "#define PACKAGE_PACKAGER_BUG_REPORTS \"$withval\"" >>confdefs.h
+ ;;
+      esac
 
+fi
 
 
+  if test "X$with_packager" = "X" && \
+     test "X$with_packager_version$with_packager_bug_reports" != "X"
+  then
+    as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5
+  fi
 
+  # End of code from modules
 
 
 
-  gl_source_base='lib/gl'
 
 
 
@@ -25702,7 +29958,8 @@ fi
 
 
 
-          GNULIB_ICONV=1
+  gltests_libdeps=
+  gltests_ltlibdeps=
 
 
 
 
 
 
+  gl_source_base='gl/tests'
+  gl_source_base_prefix=
+  gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 
+  gl_module_indicator_condition=$gltests_WITNESS
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_iconv_h='<'iconv.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
-$as_echo_n "checking absolute name of <iconv.h>... " >&6; }
-if ${gl_cv_next_iconv_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_iconv_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <iconv.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'iconv.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_iconv_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_iconv_h='<'iconv.h'>'
-             fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
-$as_echo "$gl_cv_next_iconv_h" >&6; }
-     fi
-     NEXT_ICONV_H=$gl_cv_next_iconv_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'iconv.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_iconv_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive
 
 
 
 
+  LIBTESTS_LIBDEPS="$gltests_libdeps"
 
 
 
 
+  GL_LGL_GNULIB__EXIT=0
 
-  if test "$am_cv_func_iconv" = yes; then
 
 
-  ICONV_H='iconv.h'
-   if test -n "$ICONV_H"; then
-  GL_GENERATE_ICONV_H_TRUE=
-  GL_GENERATE_ICONV_H_FALSE='#'
-else
-  GL_GENERATE_ICONV_H_TRUE='#'
-  GL_GENERATE_ICONV_H_FALSE=
-fi
+  GL_LGL_GNULIB_ALIGNED_ALLOC=0
 
 
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-      #include <iconv.h>
-      #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
-       gnu_iconv
-      #endif
+  GL_LGL_GNULIB_ATOLL=0
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "gnu_iconv" >/dev/null 2>&1; then :
-  gl_func_iconv_gnu=yes
-else
-  gl_func_iconv_gnu=no
-fi
-rm -f conftest*
 
-    if test $gl_func_iconv_gnu = no; then
-      iconv_flavor=
-      case "$host_os" in
-        aix*)     iconv_flavor=ICONV_FLAVOR_AIX ;;
-        irix*)    iconv_flavor=ICONV_FLAVOR_IRIX ;;
-        hpux*)    iconv_flavor=ICONV_FLAVOR_HPUX ;;
-        osf*)     iconv_flavor=ICONV_FLAVOR_OSF ;;
-        solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
-      esac
-      if test -n "$iconv_flavor"; then
 
-cat >>confdefs.h <<_ACEOF
-#define ICONV_FLAVOR $iconv_flavor
-_ACEOF
+  GL_LGL_GNULIB_CALLOC_GNU=0
 
 
 
+  GL_LGL_GNULIB_CALLOC_POSIX=0
 
-  ICONV_H='iconv.h'
-   if test -n "$ICONV_H"; then
-  GL_GENERATE_ICONV_H_TRUE=
-  GL_GENERATE_ICONV_H_FALSE='#'
-else
-  GL_GENERATE_ICONV_H_TRUE='#'
-  GL_GENERATE_ICONV_H_FALSE=
-fi
 
 
-  REPLACE_ICONV_OPEN=1
+  GL_LGL_GNULIB_CANONICALIZE_FILE_NAME=0
 
-      fi
-    fi
 
-  fi
 
-if test $REPLACE_ICONV_OPEN = 1; then
+  GL_LGL_GNULIB_FREE_POSIX=0
 
 
 
+  GL_LGL_GNULIB_GETLOADAVG=0
 
 
 
+  GL_LGL_GNULIB_GETPROGNAME=0
 
 
-  lgl_LIBOBJS="$lgl_LIBOBJS iconv_open.$ac_objext"
 
-fi
-if test $REPLACE_ICONV = 1; then
+  GL_LGL_GNULIB_GETSUBOPT=0
 
 
 
+  GL_LGL_GNULIB_GRANTPT=0
 
 
 
+  GL_LGL_GNULIB_MALLOC_GNU=0
 
 
-  lgl_LIBOBJS="$lgl_LIBOBJS iconv.$ac_objext"
 
+  GL_LGL_GNULIB_MALLOC_POSIX=0
 
 
 
+  GL_LGL_GNULIB_MBSTOWCS=0
 
 
 
+  GL_LGL_GNULIB_MBTOWC=0
 
 
-  lgl_LIBOBJS="$lgl_LIBOBJS iconv_close.$ac_objext"
 
-fi
+  GL_LGL_GNULIB_MKDTEMP=0
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5
-$as_echo_n "checking whether the compiler generally respects inline... " >&6; }
-if ${gl_cv_c_inline_effective+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test $ac_cv_c_inline = no; then
-       gl_cv_c_inline_effective=no
-     else
-                                          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
-#ifdef __NO_INLINE__
-               #error "inline is not effective"
-             #endif
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_c_inline_effective=yes
-else
-  gl_cv_c_inline_effective=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-     fi
+  GL_LGL_GNULIB_MKOSTEMP=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
-$as_echo "$gl_cv_c_inline_effective" >&6; }
-  if test $gl_cv_c_inline_effective = yes; then
 
-$as_echo "#define HAVE_INLINE 1" >>confdefs.h
 
-  fi
+  GL_LGL_GNULIB_MKOSTEMPS=0
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5
-$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; }
-if ${gl_cv_ld_output_def+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$enable_shared" = no; then
-       gl_cv_ld_output_def="not needed, shared libraries are disabled"
-     else
-       gl_ldflags_save=$LDFLAGS
-       LDFLAGS="-Wl,--output-def,conftest.def"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
+  GL_LGL_GNULIB_MKSTEMP=0
+
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_cv_ld_output_def=yes
-else
-  gl_cv_ld_output_def=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       rm -f conftest.def
-       LDFLAGS="$gl_ldflags_save"
-     fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5
-$as_echo "$gl_cv_ld_output_def" >&6; }
-   if test "x$gl_cv_ld_output_def" = "xyes"; then
-  HAVE_LD_OUTPUT_DEF_TRUE=
-  HAVE_LD_OUTPUT_DEF_FALSE='#'
-else
-  HAVE_LD_OUTPUT_DEF_TRUE='#'
-  HAVE_LD_OUTPUT_DEF_FALSE=
-fi
 
+  GL_LGL_GNULIB_MKSTEMPS=0
 
 
-  # Check whether --enable-ld-version-script was given.
-if test "${enable_ld_version_script+set}" = set; then :
-  enableval=$enable_ld_version_script; have_ld_version_script=$enableval
-fi
 
-  if test -z "$have_ld_version_script"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5
-$as_echo_n "checking if LD -Wl,--version-script works... " >&6; }
-    save_LDFLAGS="$LDFLAGS"
-    LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
-    cat > conftest.map <<EOF
-foo
-EOF
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_POSIX_MEMALIGN=0
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  accepts_syntax_errors=yes
-else
-  accepts_syntax_errors=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    if test "$accepts_syntax_errors" = no; then
-      cat > conftest.map <<EOF
-VERS_1 {
-        global: sym;
-};
 
-VERS_2 {
-        global: sym;
-} VERS_1;
-EOF
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_POSIX_OPENPT=0
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  have_ld_version_script=yes
-else
-  have_ld_version_script=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    else
-      have_ld_version_script=no
-    fi
-    rm -f conftest.map
-    LDFLAGS="$save_LDFLAGS"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5
-$as_echo "$have_ld_version_script" >&6; }
-  fi
-   if test "$have_ld_version_script" = "yes"; then
-  HAVE_LD_VERSION_SCRIPT_TRUE=
-  HAVE_LD_VERSION_SCRIPT_FALSE='#'
-else
-  HAVE_LD_VERSION_SCRIPT_TRUE='#'
-  HAVE_LD_VERSION_SCRIPT_FALSE=
-fi
 
+  GL_LGL_GNULIB_PTSNAME=0
 
 
 
-  CFLAG_VISIBILITY=
-  HAVE_VISIBILITY=0
-  if test -n "$GCC"; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5
-$as_echo_n "checking whether the -Werror option is usable... " >&6; }
-    if ${gl_cv_cc_vis_werror+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_LGL_GNULIB_PTSNAME_R=0
 
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -Werror"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_vis_werror=yes
-else
-  gl_cv_cc_vis_werror=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
-fi
+  GL_LGL_GNULIB_PUTENV=0
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
-$as_echo "$gl_cv_cc_vis_werror" >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5
-$as_echo_n "checking for simple visibility declarations... " >&6; }
-    if ${gl_cv_cc_visibility+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -fvisibility=hidden"
-                                    if test $gl_cv_cc_vis_werror = yes; then
-        CFLAGS="$CFLAGS -Werror"
-      fi
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-extern __attribute__((__visibility__("hidden"))) int hiddenvar;
-         extern __attribute__((__visibility__("default"))) int exportedvar;
-         extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
-         extern __attribute__((__visibility__("default"))) int exportedfunc (void);
-         void dummyfunc (void) {}
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_visibility=yes
-else
-  gl_cv_cc_visibility=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
-fi
+  GL_LGL_GNULIB_QSORT_R=0
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
-$as_echo "$gl_cv_cc_visibility" >&6; }
-    if test $gl_cv_cc_visibility = yes; then
-      CFLAG_VISIBILITY="-fvisibility=hidden"
-      HAVE_VISIBILITY=1
-    fi
-  fi
 
 
+  GL_LGL_GNULIB_RAND=0
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_VISIBILITY $HAVE_VISIBILITY
-_ACEOF
 
 
+  GL_LGL_GNULIB_RANDOM=0
 
 
 
+  GL_LGL_GNULIB_RANDOM_R=0
 
-  # Define two additional variables used in the Makefile substitution.
 
-  if test "$ac_cv_header_stdbool_h" = yes; then
-    STDBOOL_H=''
-  else
-    STDBOOL_H='stdbool.h'
-  fi
 
-   if test -n "$STDBOOL_H"; then
-  GL_GENERATE_STDBOOL_H_TRUE=
-  GL_GENERATE_STDBOOL_H_FALSE='#'
-else
-  GL_GENERATE_STDBOOL_H_TRUE='#'
-  GL_GENERATE_STDBOOL_H_FALSE=
-fi
+  GL_LGL_GNULIB_REALLOCARRAY=0
 
 
-  if test "$ac_cv_type__Bool" = yes; then
-    HAVE__BOOL=1
-  else
-    HAVE__BOOL=0
-  fi
 
+  GL_LGL_GNULIB_REALLOC_GNU=0
 
 
 
+  GL_LGL_GNULIB_REALLOC_POSIX=0
 
-  STDDEF_H=
-  if test $gt_cv_c_wchar_t = no; then
-    HAVE_WCHAR_T=0
-    STDDEF_H=stddef.h
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
-$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
-if ${gl_cv_decl_null_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-      int test[2 * (sizeof NULL == sizeof (void *)) -1];
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_decl_null_works=yes
-else
-  gl_cv_decl_null_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
-$as_echo "$gl_cv_decl_null_works" >&6; }
-  if test $gl_cv_decl_null_works = no; then
-    REPLACE_NULL=1
-    STDDEF_H=stddef.h
-  fi
+  GL_LGL_GNULIB_REALPATH=0
 
-   if test -n "$STDDEF_H"; then
-  GL_GENERATE_STDDEF_H_TRUE=
-  GL_GENERATE_STDDEF_H_FALSE='#'
-else
-  GL_GENERATE_STDDEF_H_TRUE='#'
-  GL_GENERATE_STDDEF_H_FALSE=
-fi
 
-  if test -n "$STDDEF_H"; then
 
+  GL_LGL_GNULIB_RPMATCH=0
 
 
 
+  GL_LGL_GNULIB_SECURE_GETENV=0
 
 
 
+  GL_LGL_GNULIB_SETENV=0
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stddef_h='<'stddef.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
-$as_echo_n "checking absolute name of <stddef.h>... " >&6; }
-if ${gl_cv_next_stddef_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  GL_LGL_GNULIB_STRTOD=0
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'stddef.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
+  GL_LGL_GNULIB_STRTOL=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
-$as_echo "$gl_cv_next_stddef_h" >&6; }
-     fi
-     NEXT_STDDEF_H=$gl_cv_next_stddef_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stddef.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stddef_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
 
+  GL_LGL_GNULIB_STRTOLD=0
 
 
 
-  fi
+  GL_LGL_GNULIB_STRTOLL=0
 
 
-if test $gl_cond_libtool = false; then
-  gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
-  gl_libdeps="$gl_libdeps $LIBICONV"
-fi
 
+  GL_LGL_GNULIB_STRTOUL=0
 
 
 
+  GL_LGL_GNULIB_STRTOULL=0
 
 
 
-  for ac_func in strverscmp
-do :
-  ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp"
-if test "x$ac_cv_func_strverscmp" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRVERSCMP 1
-_ACEOF
+  GL_LGL_GNULIB_SYSTEM_POSIX=0
 
-fi
-done
 
-  if test $ac_cv_func_strverscmp = no; then
-    HAVE_STRVERSCMP=0
-  fi
 
-if test $HAVE_STRVERSCMP = 0; then
+  GL_LGL_GNULIB_UNLOCKPT=0
 
 
 
+  GL_LGL_GNULIB_UNSETENV=0
 
 
 
+  GL_LGL_GNULIB_WCTOMB=0
 
 
-  lgl_LIBOBJS="$lgl_LIBOBJS strverscmp.$ac_objext"
 
+  GL_LGL_GNULIB_MDA_ECVT=1
 
-  :
 
-fi
 
+  GL_LGL_GNULIB_MDA_FCVT=1
 
 
 
+  GL_LGL_GNULIB_MDA_GCVT=1
 
-          GNULIB_STRVERSCMP=1
 
 
+  GL_LGL_GNULIB_MDA_MKTEMP=1
 
 
 
-$as_echo "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h
+  GL_LGL_GNULIB_MDA_PUTENV=1
 
 
 
 
 
-      if  { test "$HAVE_LIBUNISTRING" != yes \
-    || {
+  GL_LGL_GNULIB_ICONV=0
 
 
 
-            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 2
-                         }
-                    }
-               }
 
 
 
 
-       }
-  }; then
-    LIBUNISTRING_UNISTR_H='unistr.h'
-  else
-    LIBUNISTRING_UNISTR_H=
-  fi
 
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_UNISTR_U8_MBTOUCR 1
-_ACEOF
 
 
 
 
-       if  { test "$HAVE_LIBUNISTRING" != yes \
-    || {
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_iconv_h='<'iconv.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
+printf %s "checking absolute name of <iconv.h>... " >&6; }
+if test ${gl_cv_next_iconv_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+             if test $ac_cv_header_iconv_h = yes; then
 
-            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
-                         }
-                    }
-               }
 
 
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <iconv.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'iconv.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_iconv_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_iconv_h
+          gl_cv_next_iconv_h='"'$gl_header'"'
+          else
+               gl_cv_next_iconv_h='<'iconv.h'>'
+             fi
+
 
-       }
-  }; then
-  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE=
-  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#'
-else
-  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#'
-  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE=
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
+printf "%s\n" "$gl_cv_next_iconv_h" >&6; }
+     fi
+     NEXT_ICONV_H=$gl_cv_next_iconv_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'iconv.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_iconv_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define GNULIB_UNISTR_U8_UCTOMB 1
-_ACEOF
 
 
 
 
-       if  { test "$HAVE_LIBUNISTRING" != yes \
-    || {
 
 
 
-            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
-                         }
-                    }
-               }
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
+if test ${ac_cv_c_inline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo (void) {return 0; }
+$ac_kw foo_t foo (void) {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
 
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
 
-       }
-  }; then
-  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE=
-  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#'
-else
-  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#'
-  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE=
-fi
 
+    HAVE_DECL_IMAXABS=1;
+  HAVE_DECL_IMAXDIV=1;
+  HAVE_DECL_STRTOIMAX=1;
+  HAVE_DECL_STRTOUMAX=1;
+  HAVE_IMAXDIV_T=1;
+  HAVE_IMAXABS=1;
+  HAVE_IMAXDIV=1;
+  REPLACE_IMAXABS=0;
+  REPLACE_IMAXDIV=0;
+  REPLACE_STRTOIMAX=0;
+  REPLACE_STRTOUMAX=0;
+  INT32_MAX_LT_INTMAX_MAX=1;
+  INT64_MAX_EQ_LONG_MAX='defined _LP64';
+  PRIPTR_PREFIX=__PRIPTR_PREFIX;
+  UINT32_MAX_LT_UINTMAX_MAX=1;
+  UINT64_MAX_EQ_ULONG_MAX='defined _LP64';
 
 
 
-      if  { test "$HAVE_LIBUNISTRING" != yes \
-    || {
 
 
 
-            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
-            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
-                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
-                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
-                         }
-                    }
-               }
 
 
 
 
-       }
-  }; then
-    LIBUNISTRING_UNITYPES_H='unitypes.h'
-  else
-    LIBUNISTRING_UNITYPES_H=
-  fi
 
 
-  # End of code from modules
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_inttypes_h='<'inttypes.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
+printf %s "checking absolute name of <inttypes.h>... " >&6; }
+if test ${gl_cv_next_inttypes_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+             if test $ac_cv_header_inttypes_h = yes; then
 
 
 
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <inttypes.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
 
-  gltests_libdeps=
-  gltests_ltlibdeps=
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'inttypes.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_inttypes_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_inttypes_h
+          gl_cv_next_inttypes_h='"'$gl_header'"'
+          else
+               gl_cv_next_inttypes_h='<'inttypes.h'>'
+             fi
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
+printf "%s\n" "$gl_cv_next_inttypes_h" >&6; }
+     fi
+     NEXT_INTTYPES_H=$gl_cv_next_inttypes_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'inttypes.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_inttypes_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive
 
 
 
 
 
 
-  gl_source_base='lib/gltests'
-  lgltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 
-  gl_module_indicator_condition=$lgltests_WITNESS
 
 
 
-  if test $ac_cv_func_alloca_works = no; then
-    :
-  fi
 
-  # Define an additional variable used in the Makefile substitution.
-  if test $ac_cv_working_alloca_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
-$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
-if ${gl_cv_rpl_alloca+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#if defined __GNUC__ || defined _AIX || defined _MSC_VER
-        Need own alloca
-#endif
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Need own alloca" >/dev/null 2>&1; then :
-  gl_cv_rpl_alloca=yes
-else
-  gl_cv_rpl_alloca=no
-fi
-rm -f conftest*
 
+  GL_LGL_GNULIB_IMAXABS=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
-$as_echo "$gl_cv_rpl_alloca" >&6; }
-    if test $gl_cv_rpl_alloca = yes; then
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
 
-      ALLOCA_H=alloca.h
-    else
-                  ALLOCA_H=
-    fi
-  else
-    ALLOCA_H=alloca.h
-  fi
+  GL_LGL_GNULIB_IMAXDIV=0
 
-   if test -n "$ALLOCA_H"; then
-  GL_GENERATE_ALLOCA_H_TRUE=
-  GL_GENERATE_ALLOCA_H_FALSE='#'
-else
-  GL_GENERATE_ALLOCA_H_TRUE='#'
-  GL_GENERATE_ALLOCA_H_FALSE=
-fi
 
 
+  GL_LGL_GNULIB_STRTOIMAX=0
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_LGL_GNULIB_STRTOUMAX=0
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
-     one byte long. This excludes the UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
-  return 0;
-}
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the native Windows locale name.
-          if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=French_France.1252
-          else
-            # None found.
-            gt_cv_locale_fr=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr=fr_FR.ISO-8859-1
-            else
-              # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
-              if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr=fr_FR.ISO8859-1
-              else
-                # Test for the HP-UX locale name.
-                if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_fr=fr_FR.iso88591
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_fr=fr
-                  else
-                    # None found.
-                    gt_cv_locale_fr=none
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
-  LOCALE_FR=$gt_cv_locale_fr
+    HAVE_NL_LANGINFO=1;
+  REPLACE_NL_LANGINFO=0;
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-$as_echo_n "checking for a turkish Unicode locale... " >&6; }
-if ${gt_cv_locale_tr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* On BeOS, locales are not implemented in libc.  Rather, libintl
-     imitates locale dependent behaviour by looking at the environment
-     variables, and all locales use the UTF-8 encoding.  But BeOS does not
-     implement the Turkish upper-/lowercase mappings.  Therefore, let this
-     program return 1 on BeOS.  */
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the eighth month, the second
-     character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
-     two bytes long, with UTF-8 encoding.  */
-  t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 4
-      || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
-    return 1;
-  /* Check whether the upper-/lowercase mappings are as expected for
-     Turkish.  */
-  if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
-      || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
-    return 1;
-  return 0;
-}
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_tr_utf8=Turkish_Turkey.65001
-          else
-            # None found.
-            gt_cv_locale_tr_utf8=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_tr_utf8=tr_TR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_tr_utf8=tr_TR.UTF-8
-            else
-              # Test for the Solaris 7 locale name.
-              if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_tr_utf8=tr.UTF-8
-              else
-                # None found.
-                gt_cv_locale_tr_utf8=none
-              fi
-            fi
-          fi
-          ;;
-      esac
-    else
-      gt_cv_locale_tr_utf8=none
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-$as_echo "$gt_cv_locale_tr_utf8" >&6; }
-  LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
 
 
 
@@ -26814,273 +30489,255 @@ $as_echo "$gt_cv_locale_tr_utf8" >&6; }
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_langinfo_h='<'langinfo.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
+printf %s "checking absolute name of <langinfo.h>... " >&6; }
+if test ${gl_cv_next_langinfo_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-    if test "$GNULIB_ENVIRON" != 1; then
-        if test "$GNULIB_ENVIRON" = 0; then
-      GNULIB_ENVIRON=$gl_module_indicator_condition
-    else
-      GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)"
-    fi
-  fi
+             if test $ac_cv_header_langinfo_h = yes; then
 
 
 
 
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <langinfo.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'langinfo.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_langinfo_h
+          gl_cv_next_langinfo_h='"'$gl_header'"'
+          else
+               gl_cv_next_langinfo_h='<'langinfo.h'>'
+             fi
 
-$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
+printf "%s\n" "$gl_cv_next_langinfo_h" >&6; }
+     fi
+     NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
 
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'langinfo.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_langinfo_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
 
 
 
 
 
+    HAVE_LANGINFO_CODESET=0
+  HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
+  HAVE_LANGINFO_ERA=0
+  HAVE_LANGINFO_YESEXPR=0
 
-  PRIPTR_PREFIX=
-  if test -n "$STDINT_H"; then
-        PRIPTR_PREFIX='"l"'
-  else
-        for glpfx in '' l ll I64; do
-      case $glpfx in
-        '')  gltype1='int';;
-        l)   gltype1='long int';;
-        ll)  gltype1='long long int';;
-        I64) gltype1='__int64';;
-      esac
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  if test $ac_cv_header_langinfo_h = yes; then
+    HAVE_LANGINFO_H=1
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
+printf %s "checking whether langinfo.h defines CODESET... " >&6; }
+if test ${gl_cv_header_langinfo_codeset+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdint.h>
-           extern intptr_t foo;
-           extern $gltype1 foo;
+#include <langinfo.h>
+int a = CODESET;
+
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  PRIPTR_PREFIX='"'$glpfx'"'
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_langinfo_codeset=yes
+else $as_nop
+  gl_cv_header_langinfo_codeset=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      test -n "$PRIPTR_PREFIX" && break
-    done
-  fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
-$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
-if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
+printf "%s\n" "$gl_cv_header_langinfo_codeset" >&6; }
+    if test $gl_cv_header_langinfo_codeset = yes; then
+      HAVE_LANGINFO_CODESET=1
+    fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
+printf %s "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
+if test ${gl_cv_header_langinfo_t_fmt_ampm+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+#include <langinfo.h>
+int a = T_FMT_AMPM;
 
-            #if defined INT32_MAX && defined INTMAX_MAX
-             #define CONDITION (INT32_MAX < INTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (int) < sizeof (long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
-else
-  gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_langinfo_t_fmt_ampm=yes
+else $as_nop
+  gl_cv_header_langinfo_t_fmt_ampm=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
-$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
-  if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
-    INT32_MAX_LT_INTMAX_MAX=1;
-  else
-    INT32_MAX_LT_INTMAX_MAX=0;
-  fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
-$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
-if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
+printf "%s\n" "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
+    if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+      HAVE_LANGINFO_T_FMT_AMPM=1
+    fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ALTMON_1" >&5
+printf %s "checking whether langinfo.h defines ALTMON_1... " >&6; }
+if test ${gl_cv_header_langinfo_altmon+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+#include <langinfo.h>
+int a = ALTMON_1;
 
-            #if defined INT64_MAX
-             #define CONDITION (INT64_MAX == LONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (long long int) == sizeof (long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
-else
-  gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_langinfo_altmon=yes
+else $as_nop
+  gl_cv_header_langinfo_altmon=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
-$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
-  if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
-    INT64_MAX_EQ_LONG_MAX=1;
-  else
-    INT64_MAX_EQ_LONG_MAX=0;
-  fi
-
-
-  else
-    INT64_MAX_EQ_LONG_MAX=-1
-  fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
-$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
-if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_altmon" >&5
+printf "%s\n" "$gl_cv_header_langinfo_altmon" >&6; }
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=1
+    fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
+printf %s "checking whether langinfo.h defines ERA... " >&6; }
+if test ${gl_cv_header_langinfo_era+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+#include <langinfo.h>
+int a = ERA;
 
-            #if defined UINT32_MAX && defined UINTMAX_MAX
-             #define CONDITION (UINT32_MAX < UINTMAX_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
-else
-  gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_langinfo_era=yes
+else $as_nop
+  gl_cv_header_langinfo_era=no
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
-$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
-  if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
-    UINT32_MAX_LT_UINTMAX_MAX=1;
-  else
-    UINT32_MAX_LT_UINTMAX_MAX=0;
-  fi
-
-
-  if test $APPLE_UNIVERSAL_BUILD = 0; then
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
-$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
-if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
+printf "%s\n" "$gl_cv_header_langinfo_era" >&6; }
+    if test $gl_cv_header_langinfo_era = yes; then
+      HAVE_LANGINFO_ERA=1
+    fi
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
+printf %s "checking whether langinfo.h defines YESEXPR... " >&6; }
+if test ${gl_cv_header_langinfo_yesexpr+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Work also in C++ mode.  */
-            #define __STDC_LIMIT_MACROS 1
-
-            /* Work if build is not clean.  */
-            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
-            #include <limits.h>
-            #if HAVE_STDINT_H
-             #include <stdint.h>
-            #endif
+#include <langinfo.h>
+int a = YESEXPR;
 
-            #if defined UINT64_MAX
-             #define CONDITION (UINT64_MAX == ULONG_MAX)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
-            #else
-             #define CONDITION 0
-            #endif
-            int test[CONDITION ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
-else
-  gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_header_langinfo_yesexpr=yes
+else $as_nop
+  gl_cv_header_langinfo_yesexpr=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
-$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
-  if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
-    UINT64_MAX_EQ_ULONG_MAX=1;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
+printf "%s\n" "$gl_cv_header_langinfo_yesexpr" >&6; }
+    if test $gl_cv_header_langinfo_yesexpr = yes; then
+      HAVE_LANGINFO_YESEXPR=1
+    fi
   else
-    UINT64_MAX_EQ_ULONG_MAX=0;
+    HAVE_LANGINFO_H=0
   fi
 
 
-  else
-    UINT64_MAX_EQ_ULONG_MAX=-1
-  fi
 
 
 
@@ -27092,1337 +30749,734 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
 
 
 
-  case "$host_os" in
-    solaris*)
+  GL_LGL_GNULIB_NL_LANGINFO=0
+
+
+
+
+
+
+
+  GL_LGL_GNULIB_EXPLICIT_BZERO=0
+
+
+
+  GL_LGL_GNULIB_FFSL=0
+
+
+
+  GL_LGL_GNULIB_FFSLL=0
+
+
+
+  GL_LGL_GNULIB_MEMCHR=0
+
+
+
+  GL_LGL_GNULIB_MEMMEM=0
+
+
+
+  GL_LGL_GNULIB_MEMPCPY=0
+
+
+
+  GL_LGL_GNULIB_MEMRCHR=0
+
+
+
+  GL_LGL_GNULIB_MEMSET_EXPLICIT=0
+
+
+
+  GL_LGL_GNULIB_RAWMEMCHR=0
+
+
+
+  GL_LGL_GNULIB_STPCPY=0
+
+
+
+  GL_LGL_GNULIB_STPNCPY=0
+
+
+
+  GL_LGL_GNULIB_STRCHRNUL=0
+
+
+
+  GL_LGL_GNULIB_STRDUP=0
+
+
+
+  GL_LGL_GNULIB_STRNCAT=0
+
+
+
+  GL_LGL_GNULIB_STRNDUP=0
+
+
+
+  GL_LGL_GNULIB_STRNLEN=0
+
+
+
+  GL_LGL_GNULIB_STRPBRK=0
+
+
+
+  GL_LGL_GNULIB_STRSEP=0
+
+
+
+  GL_LGL_GNULIB_STRSTR=0
+
+
+
+  GL_LGL_GNULIB_STRCASESTR=0
+
+
+
+  GL_LGL_GNULIB_STRTOK_R=0
+
+
+
+  GL_LGL_GNULIB_MBSLEN=0
+
+
+
+  GL_LGL_GNULIB_MBSNLEN=0
+
+
+
+  GL_LGL_GNULIB_MBSCHR=0
+
+
+
+  GL_LGL_GNULIB_MBSRCHR=0
+
+
+
+  GL_LGL_GNULIB_MBSSTR=0
+
+
+
+  GL_LGL_GNULIB_MBSCASECMP=0
+
+
+
+  GL_LGL_GNULIB_MBSNCASECMP=0
+
+
+
+  GL_LGL_GNULIB_MBSPCASECMP=0
+
+
+
+  GL_LGL_GNULIB_MBSCASESTR=0
+
+
+
+  GL_LGL_GNULIB_MBSCSPN=0
+
+
+
+  GL_LGL_GNULIB_MBSPBRK=0
+
+
+
+  GL_LGL_GNULIB_MBSSPN=0
+
+
+
+  GL_LGL_GNULIB_MBSSEP=0
+
+
+
+  GL_LGL_GNULIB_MBSTOK_R=0
+
+
+
+  GL_LGL_GNULIB_STRERROR=0
+
+
+
+  GL_LGL_GNULIB_STRERROR_R=0
+
+
+
+  GL_LGL_GNULIB_STRERRORNAME_NP=0
+
+
+
+  GL_LGL_GNULIB_SIGABBREV_NP=0
+
+
+
+  GL_LGL_GNULIB_SIGDESCR_NP=0
+
+
+
+  GL_LGL_GNULIB_STRSIGNAL=0
+
+
+
+  GL_LGL_GNULIB_STRVERSCMP=0
+
+
+
+  GL_LGL_GNULIB_MDA_MEMCCPY=1
+
+
+
+  GL_LGL_GNULIB_MDA_STRDUP=1
+
+
+
+
+
+
+
+  GL_LGL_GNULIB_ACCESS=0
+
 
-$as_echo "#define _LCONV_C99 1" >>confdefs.h
 
-      ;;
-  esac
+  GL_LGL_GNULIB_CHDIR=0
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
-$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
-if ${gl_cv_header_locale_h_posix2001+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-            int x = LC_MESSAGES;
-            int y = sizeof (((struct lconv *) 0)->decimal_point);
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_h_posix2001=yes
-else
-  gl_cv_header_locale_h_posix2001=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
-$as_echo "$gl_cv_header_locale_h_posix2001" >&6; }
 
+  GL_LGL_GNULIB_CHOWN=0
 
-  if test $ac_cv_header_xlocale_h = yes; then
-    HAVE_XLOCALE_H=1
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
-$as_echo_n "checking whether locale.h defines locale_t... " >&6; }
-if ${gl_cv_header_locale_has_locale_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-              locale_t x;
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_has_locale_t=yes
-else
-  gl_cv_header_locale_has_locale_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
-$as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
-    if test $gl_cv_header_locale_has_locale_t = yes; then
-      gl_cv_header_locale_h_needs_xlocale_h=no
-    else
-      gl_cv_header_locale_h_needs_xlocale_h=yes
-    fi
-  else
-    HAVE_XLOCALE_H=0
-    gl_cv_header_locale_h_needs_xlocale_h=no
-  fi
+  GL_LGL_GNULIB_CLOSE=0
 
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5
-$as_echo_n "checking whether struct lconv is properly defined... " >&6; }
-if ${gl_cv_sys_struct_lconv_ok+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-            struct lconv l;
-            int x = sizeof (l.decimal_point);
-            int y = sizeof (l.int_p_cs_precedes);
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_sys_struct_lconv_ok=yes
-else
-  gl_cv_sys_struct_lconv_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  GL_LGL_GNULIB_COPY_FILE_RANGE=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
-$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; }
-  if test $gl_cv_sys_struct_lconv_ok = no; then
-    REPLACE_STRUCT_LCONV=1
-  fi
 
 
+  GL_LGL_GNULIB_DUP=0
 
 
 
+  GL_LGL_GNULIB_DUP2=0
 
 
 
+  GL_LGL_GNULIB_DUP3=0
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_locale_h='<'locale.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
-$as_echo_n "checking absolute name of <locale.h>... " >&6; }
-if ${gl_cv_next_locale_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  GL_LGL_GNULIB_ENVIRON=0
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'locale.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
+  GL_LGL_GNULIB_EUIDACCESS=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
-$as_echo "$gl_cv_next_locale_h" >&6; }
-     fi
-     NEXT_LOCALE_H=$gl_cv_next_locale_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'locale.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_locale_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
 
+  GL_LGL_GNULIB_EXECL=0
 
 
 
+  GL_LGL_GNULIB_EXECLE=0
 
 
-    for gl_func in setlocale duplocale; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-/* Some systems provide declarations in a non-standard header.  */
-#if HAVE_XLOCALE_H
-# include <xlocale.h>
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+  GL_LGL_GNULIB_EXECLP=0
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
+  GL_LGL_GNULIB_EXECV=0
 
 
 
+  GL_LGL_GNULIB_EXECVE=0
 
-  for ac_func in setlocale uselocale
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
 
-fi
-done
 
+  GL_LGL_GNULIB_EXECVP=0
 
 
 
+  GL_LGL_GNULIB_EXECVPE=0
 
-  if test "$gl_threads_api" = posix; then
-    # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
-    # pthread_rwlock_* functions.
-    ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h>
-"
-if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then :
 
-$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h
 
-fi
+  GL_LGL_GNULIB_FACCESSAT=0
 
-    # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <pthread.h>
-int
-main ()
-{
-#if __FreeBSD__ == 4
-error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
-#else
-int x = (int)PTHREAD_MUTEX_RECURSIVE;
-return !x;
-#endif
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
 
-$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h
 
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  fi
+  GL_LGL_GNULIB_FCHDIR=0
 
 
 
+  GL_LGL_GNULIB_FCHOWNAT=0
 
 
 
+  GL_LGL_GNULIB_FDATASYNC=0
 
-  if test $gl_cv_func_malloc_posix = yes; then
 
-$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
-  else
-    REPLACE_MALLOC=1
-  fi
+  GL_LGL_GNULIB_FSYNC=0
 
-if test $REPLACE_MALLOC = 1; then
 
 
+  GL_LGL_GNULIB_FTRUNCATE=0
 
 
 
+  GL_LGL_GNULIB_GETCWD=0
 
 
 
-  lgltests_LIBOBJS="$lgltests_LIBOBJS malloc.$ac_objext"
+  GL_LGL_GNULIB_GETDOMAINNAME=0
 
-fi
 
 
+  GL_LGL_GNULIB_GETDTABLESIZE=0
 
 
 
-    if test "$GNULIB_MALLOC_POSIX" != 1; then
-        if test "$GNULIB_MALLOC_POSIX" = 0; then
-      GNULIB_MALLOC_POSIX=$gl_module_indicator_condition
-    else
-      GNULIB_MALLOC_POSIX="($GNULIB_MALLOC_POSIX || $gl_module_indicator_condition)"
-    fi
-  fi
+  GL_LGL_GNULIB_GETENTROPY=0
 
 
 
+  GL_LGL_GNULIB_GETGROUPS=0
 
 
-$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
+  GL_LGL_GNULIB_GETHOSTNAME=0
 
 
 
+  GL_LGL_GNULIB_GETLOGIN=0
 
 
 
+  GL_LGL_GNULIB_GETLOGIN_R=0
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
-$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
-if ${gl_cv_func_svid_putenv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-               case "$host_os" in
-                        # Guess yes on glibc systems.
-                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-                        # If we don't know, assume the worst.
-                *)      gl_cv_func_svid_putenv="guessing no" ;;
-              esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
+  GL_LGL_GNULIB_GETOPT_POSIX=0
 
-    /* Put it in env.  */
-    if (putenv ("CONFTEST_putenv=val"))
-      return 1;
 
-    /* Try to remove it.  */
-    if (putenv ("CONFTEST_putenv"))
-      return 2;
 
-    /* Make sure it was deleted.  */
-    if (getenv ("CONFTEST_putenv") != 0)
-      return 3;
+  GL_LGL_GNULIB_GETPAGESIZE=0
 
-    return 0;
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_svid_putenv=yes
-else
-  gl_cv_func_svid_putenv=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
+  GL_LGL_GNULIB_GETPASS=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
-$as_echo "$gl_cv_func_svid_putenv" >&6; }
-  case "$gl_cv_func_svid_putenv" in
-    *yes) ;;
-    *)
-      REPLACE_PUTENV=1
-      ;;
-  esac
 
-if test $REPLACE_PUTENV = 1; then
 
+  GL_LGL_GNULIB_GETPASS_GNU=0
 
 
 
+  GL_LGL_GNULIB_GETUSERSHELL=0
 
 
 
+  GL_LGL_GNULIB_GROUP_MEMBER=0
 
-  lgltests_LIBOBJS="$lgltests_LIBOBJS putenv.$ac_objext"
 
-fi
 
+  GL_LGL_GNULIB_ISATTY=0
 
 
 
+  GL_LGL_GNULIB_LCHOWN=0
 
-    if test "$GNULIB_PUTENV" != 1; then
-        if test "$GNULIB_PUTENV" = 0; then
-      GNULIB_PUTENV=$gl_module_indicator_condition
-    else
-      GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
-    fi
-  fi
 
 
+  GL_LGL_GNULIB_LINK=0
 
 
 
-$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
+  GL_LGL_GNULIB_LINKAT=0
 
 
 
+  GL_LGL_GNULIB_LSEEK=0
 
 
-     if test $ac_cv_func_setenv = no; then
-    HAVE_SETENV=0
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
-$as_echo_n "checking whether setenv validates arguments... " >&6; }
-if ${gl_cv_func_setenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_setenv_works="guessing no" ;;
-       esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_PIPE=0
 
-       #include <stdlib.h>
-       #include <errno.h>
-       #include <string.h>
 
-int
-main ()
-{
 
-       int result = 0;
-       {
-         if (setenv ("", "", 0) != -1)
-           result |= 1;
-         else if (errno != EINVAL)
-           result |= 2;
-       }
-       {
-         if (setenv ("a", "=", 1) != 0)
-           result |= 4;
-         else if (strcmp (getenv ("a"), "=") != 0)
-           result |= 8;
-       }
-       return result;
+  GL_LGL_GNULIB_PIPE2=0
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_setenv_works=yes
-else
-  gl_cv_func_setenv_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
-$as_echo "$gl_cv_func_setenv_works" >&6; }
-    case "$gl_cv_func_setenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_SETENV=1
-        ;;
-    esac
-  fi
 
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+  GL_LGL_GNULIB_PREAD=0
 
 
 
+  GL_LGL_GNULIB_PWRITE=0
 
 
 
+  GL_LGL_GNULIB_READ=0
 
 
-  lgltests_LIBOBJS="$lgltests_LIBOBJS setenv.$ac_objext"
 
-fi
+  GL_LGL_GNULIB_READLINK=0
 
 
 
+  GL_LGL_GNULIB_READLINKAT=0
 
 
-    if test "$GNULIB_SETENV" != 1; then
-        if test "$GNULIB_SETENV" = 0; then
-      GNULIB_SETENV=$gl_module_indicator_condition
-    else
-      GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
-    fi
-  fi
 
+  GL_LGL_GNULIB_RMDIR=0
 
 
 
+  GL_LGL_GNULIB_SETHOSTNAME=0
 
-$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
 
 
+  GL_LGL_GNULIB_SLEEP=0
 
 
 
+  GL_LGL_GNULIB_SYMLINK=0
 
-  case "$host_os" in
-            mingw*) REPLACE_SETLOCALE=1 ;;
-            cygwin*)
-      case `uname -r` in
-        1.5.*) REPLACE_SETLOCALE=1 ;;
-      esac
-      ;;
-  esac
 
-if test $REPLACE_SETLOCALE = 1; then
 
+  GL_LGL_GNULIB_SYMLINKAT=0
 
 
 
+  GL_LGL_GNULIB_TRUNCATE=0
 
 
 
+  GL_LGL_GNULIB_TTYNAME_R=0
 
-  lgltests_LIBOBJS="$lgltests_LIBOBJS setlocale.$ac_objext"
 
 
-  :
+  GL_LGL_GNULIB_UNISTD_H_GETOPT=0
 
-fi
 
 
+  GL_LGL_GNULIB_UNISTD_H_NONBLOCKING=0
 
 
 
-    if test "$GNULIB_SETLOCALE" != 1; then
-        if test "$GNULIB_SETLOCALE" = 0; then
-      GNULIB_SETLOCALE=$gl_module_indicator_condition
-    else
-      GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)"
-    fi
-  fi
+  GL_LGL_GNULIB_UNISTD_H_SIGPIPE=0
 
 
 
+  GL_LGL_GNULIB_UNLINK=0
 
 
-$as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
 
+  GL_LGL_GNULIB_UNLINKAT=0
 
 
 
+  GL_LGL_GNULIB_USLEEP=0
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_WRITE=0
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
-     one byte long. This excludes the UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
-  return 0;
-}
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the native Windows locale name.
-          if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=French_France.1252
-          else
-            # None found.
-            gt_cv_locale_fr=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr=fr_FR.ISO-8859-1
-            else
-              # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
-              if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr=fr_FR.ISO8859-1
-              else
-                # Test for the HP-UX locale name.
-                if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_fr=fr_FR.iso88591
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_fr=fr
-                  else
-                    # None found.
-                    gt_cv_locale_fr=none
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
-  LOCALE_FR=$gt_cv_locale_fr
+  GL_LGL_GNULIB_MDA_ACCESS=1
 
 
 
+  GL_LGL_GNULIB_MDA_CHDIR=1
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
-if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
-     imitates locale dependent behaviour by looking at the environment
-     variables, and all locales use the UTF-8 encoding.  */
-#if !(defined __BEOS__ || defined __HAIKU__)
-  /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-# else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-# endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.  */
-# if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
-      return 1;
-  }
-# endif
-# ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
-  /* Check whether in the abbreviation of the second month, the second
-     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
-     two bytes long, with UTF-8 encoding.  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 4
-      || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
-    return 1;
-#endif
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
-  /* Check whether the decimal separator is a comma.
-     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
-     are nl_langinfo(RADIXCHAR) are both ".".  */
-  if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
-  return 0;
-}
+  GL_LGL_GNULIB_MDA_CLOSE=1
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=French_France.65001
-          else
-            # None found.
-            gt_cv_locale_fr_utf8=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr_utf8=fr_FR.UTF-8
-            else
-              # Test for the Solaris 7 locale name.
-              if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr_utf8=fr.UTF-8
-              else
-                # None found.
-                gt_cv_locale_fr_utf8=none
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
-  LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
+  GL_LGL_GNULIB_MDA_DUP=1
 
 
 
+  GL_LGL_GNULIB_MDA_DUP2=1
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
-if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
-     on Cygwin 1.5.x.  */
-  if (MB_CUR_MAX == 1)
-    return 1;
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
-  return 0;
-}
+  GL_LGL_GNULIB_MDA_EXECL=1
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Note that on native Windows, the Japanese locale is
-          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
-          # cannot use it here.
-          gt_cv_locale_ja=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the AIX locale name.
-          if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_ja=ja_JP
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_ja=ja_JP.EUC-JP
-            else
-              # Test for the HP-UX, OSF/1, NetBSD locale name.
-              if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_ja=ja_JP.eucJP
-              else
-                # Test for the IRIX, FreeBSD locale name.
-                if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_ja=ja_JP.EUC
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_ja=ja
-                  else
-                    # Special test for NetBSD 1.6.
-                    if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
-                      gt_cv_locale_ja=ja_JP.eucJP
-                    else
-                      # None found.
-                      gt_cv_locale_ja=none
-                    fi
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
-  LOCALE_JA=$gt_cv_locale_ja
 
+  GL_LGL_GNULIB_MDA_EXECLE=1
 
 
 
+  GL_LGL_GNULIB_MDA_EXECLP=1
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
-if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
-  /* Check whether a typical GB18030 multibyte sequence is recognized as a
-     single wide character.  This excludes the GB2312 and GBK encodings.  */
-  if (mblen ("\203\062\332\066", 5) != 4)
-    return 1;
-  return 0;
-}
+  GL_LGL_GNULIB_MDA_EXECV=1
 
-_ACEOF
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=Chinese_China.54936
-          else
-            # None found.
-            gt_cv_locale_zh_CN=none
-          fi
-          ;;
-        solaris2.8)
-          # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
-          # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
-          # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
-          gt_cv_locale_zh_CN=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the locale name without encoding suffix.
-          if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=zh_CN
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_zh_CN=zh_CN.GB18030
-            else
-              # None found.
-              gt_cv_locale_zh_CN=none
-            fi
-          fi
-          ;;
-      esac
-    else
-      # If there was a link error, due to mblen(), the system is so old that
-      # it certainly doesn't have a chinese locale.
-      gt_cv_locale_zh_CN=none
-    fi
-    rm -fr conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
-  LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
+  GL_LGL_GNULIB_MDA_EXECVE=1
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
-$as_echo_n "checking for ssize_t... " >&6; }
-if ${gt_cv_ssize_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-int
-main ()
-{
-int x = sizeof (ssize_t *) + sizeof (ssize_t);
-            return !x;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_ssize_t=yes
-else
-  gt_cv_ssize_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
-$as_echo "$gt_cv_ssize_t" >&6; }
-  if test $gt_cv_ssize_t = no; then
 
-$as_echo "#define ssize_t int" >>confdefs.h
+  GL_LGL_GNULIB_MDA_EXECVP=1
 
-  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if ${gt_cv_c_wchar_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-       wchar_t foo = (wchar_t)'\0';
-int
-main ()
-{
+  GL_LGL_GNULIB_MDA_EXECVPE=1
+
+
+
+  GL_LGL_GNULIB_MDA_GETCWD=1
+
+
+
+  GL_LGL_GNULIB_MDA_GETPID=1
+
+
+
+  GL_LGL_GNULIB_MDA_ISATTY=1
+
+
+
+  GL_LGL_GNULIB_MDA_LSEEK=1
+
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wchar_t=yes
-else
-  gt_cv_c_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
-  if test $gt_cv_c_wchar_t = yes; then
 
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
+  GL_LGL_GNULIB_MDA_READ=1
 
-  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if ${gt_cv_c_wint_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_MDA_RMDIR=1
 
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
-   before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-       wint_t foo = (wchar_t)'\0';
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wint_t=yes
-else
-  gt_cv_c_wint_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
-  if test $gt_cv_c_wint_t = yes; then
 
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+  GL_LGL_GNULIB_MDA_SWAB=1
 
-  fi
 
 
+  GL_LGL_GNULIB_MDA_UNLINK=1
 
 
 
+  GL_LGL_GNULIB_MDA_WRITE=1
 
 
 
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_stdlib_h='<'stdlib.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
-$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
-if ${gl_cv_next_stdlib_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
 
-               gl_header_literal_regex=`echo 'stdlib.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
 
+  if test "$HAVE_LIBUNISTRING" = yes; then
+    LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
+    LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
+    LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+  fi
 
+                if test "$HAVE_LIBUNISTRING" = yes; then
+              for ac_header in unistring/woe32dll.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "unistring/woe32dll.h" "ac_cv_header_unistring_woe32dll_h" "$ac_includes_default"
+if test "x$ac_cv_header_unistring_woe32dll_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_UNISTRING_WOE32DLL_H 1" >>confdefs.h
+ HAVE_UNISTRING_WOE32DLL_H=1
+else $as_nop
+  HAVE_UNISTRING_WOE32DLL_H=0
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
-$as_echo "$gl_cv_next_stdlib_h" >&6; }
-     fi
-     NEXT_STDLIB_H=$gl_cv_next_stdlib_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'stdlib.h'>'
+done
      else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_stdlib_h
+       HAVE_UNISTRING_WOE32DLL_H=0
      fi
-     NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
 
 
 
 
+    HAVE_BTOWC=1;
+  HAVE_MBSINIT=1;
+  HAVE_MBRTOWC=1;
+  HAVE_MBRLEN=1;
+  HAVE_MBSRTOWCS=1;
+  HAVE_MBSNRTOWCS=1;
+  HAVE_WCRTOMB=1;
+  HAVE_WCSRTOMBS=1;
+  HAVE_WCSNRTOMBS=1;
+  HAVE_WMEMCHR=1;
+  HAVE_WMEMCMP=1;
+  HAVE_WMEMCPY=1;
+  HAVE_WMEMMOVE=1;
+  HAVE_WMEMPCPY=1;
+  HAVE_WMEMSET=1;
+  HAVE_WCSLEN=1;
+  HAVE_WCSNLEN=1;
+  HAVE_WCSCPY=1;
+  HAVE_WCPCPY=1;
+  HAVE_WCSNCPY=1;
+  HAVE_WCPNCPY=1;
+  HAVE_WCSCAT=1;
+  HAVE_WCSNCAT=1;
+  HAVE_WCSCMP=1;
+  HAVE_WCSNCMP=1;
+  HAVE_WCSCASECMP=1;
+  HAVE_WCSNCASECMP=1;
+  HAVE_WCSCOLL=1;
+  HAVE_WCSXFRM=1;
+  HAVE_WCSDUP=1;
+  HAVE_WCSCHR=1;
+  HAVE_WCSRCHR=1;
+  HAVE_WCSCSPN=1;
+  HAVE_WCSSPN=1;
+  HAVE_WCSPBRK=1;
+  HAVE_WCSSTR=1;
+  HAVE_WCSTOK=1;
+  HAVE_WCSWIDTH=1;
+  HAVE_WCSFTIME=1;
+  HAVE_DECL_WCTOB=1;
+  HAVE_DECL_WCSDUP=1;
+  HAVE_DECL_WCWIDTH=1;
+  REPLACE_MBSTATE_T=0;
+  REPLACE_BTOWC=0;
+  REPLACE_WCTOB=0;
+  REPLACE_MBSINIT=0;
+  REPLACE_MBRTOWC=0;
+  REPLACE_MBRLEN=0;
+  REPLACE_MBSRTOWCS=0;
+  REPLACE_MBSNRTOWCS=0;
+  REPLACE_WCRTOMB=0;
+  REPLACE_WCSRTOMBS=0;
+  REPLACE_WCSNRTOMBS=0;
+  REPLACE_WCWIDTH=0;
+  REPLACE_WCSWIDTH=0;
+  REPLACE_WCSFTIME=0;
+  REPLACE_WCSCMP=0;
+  REPLACE_WCSNCMP=0;
+  REPLACE_WCSSTR=0;
+  REPLACE_WCSTOK=0;
+  REPLACE_WMEMCMP=0;
+  REPLACE_WMEMPCPY=0;
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
+printf %s "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
+if test ${gl_cv_header_wchar_h_correct_inline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_header_wchar_h_correct_inline=yes
+     case "$host_os" in
+       *-gnu* | gnu*)
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
 
+             #define wcstod renamed_wcstod
+             #include <wchar.h>
+             extern int zero (void);
+             int main () { return zero(); }
 
-    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt     initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps     posix_openpt ptsname ptsname_r random random_r realpath rpmatch     setenv setstate setstate_r srandom srandom_r     strtod strtoll strtoull unlockpt unsetenv; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+_ACEOF
+                                                      save_ac_compile="$ac_compile"
+         ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+         if echo '#include "conftest.c"' >conftest1.c \
+            && { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#if HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-#endif
-#if HAVE_RANDOM_H
-# include <random.h>
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+
+               #define wcstod renamed_wcstod
+               #include <wchar.h>
+               int zero (void) { return 0; }
+
 _ACEOF
+                      ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+           if echo '#include "conftest.c"' >conftest2.c \
+              && { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+             if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
+               :
+             else
+               gl_cv_header_wchar_h_correct_inline=no
+             fi
+           fi
+         fi
+         ac_compile="$save_ac_compile"
+         rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext
+         ;;
+     esac
 
-                     eval ac_cv_have_decl_$gl_func=yes
 fi
-      done
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
+printf "%s\n" "$gl_cv_header_wchar_h_correct_inline" >&6; }
+  if test $gl_cv_header_wchar_h_correct_inline = no; then
+    as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
+This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
+C99 mode. You have four options:
+  - Add the flag -fgnu89-inline to CC and reconfigure, or
+  - Fix your include files, using parts of
+    <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+  - Use a gcc version older than 4.3, or
+  - Don't use the flags -std=c99 or -std=gnu99.
+Configuration aborted." "$LINENO" 5
+  fi
+
+
+
+
+  if test $ac_cv_header_features_h = yes; then
+    HAVE_FEATURES_H=1
+  else
+    HAVE_FEATURES_H=0
+  fi
+
+
+
+
+
+  if test $ac_cv_header_crtdefs_h = yes; then
+    HAVE_CRTDEFS_H=1
+  else
+    HAVE_CRTDEFS_H=0
+  fi
+
+
 
 
 
 
 
      if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_sys_types_h='<'sys/types.h'>'
+       gl_cv_next_wchar_h='<'wchar.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
-$as_echo_n "checking absolute name of <sys/types.h>... " >&6; }
-if ${gl_cv_next_sys_types_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
+printf %s "checking absolute name of <wchar.h>... " >&6; }
+if test ${gl_cv_next_wchar_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
+             if test $ac_cv_header_wchar_h = yes; then
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 
-               gl_header_literal_regex=`echo 'sys/types.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <wchar.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw* | windows*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'wchar.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+          gl_header=$gl_cv_absolute_wchar_h
+          gl_cv_next_wchar_h='"'$gl_header'"'
+          else
+               gl_cv_next_wchar_h='<'wchar.h'>'
+             fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
-$as_echo "$gl_cv_next_sys_types_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
+printf "%s\n" "$gl_cv_next_wchar_h" >&6; }
      fi
-     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
+     NEXT_WCHAR_H=$gl_cv_next_wchar_h
 
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'sys/types.h'>'
+       gl_next_as_first_directive='<'wchar.h'>'
      else
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_sys_types_h
+       gl_next_as_first_directive=$gl_cv_next_wchar_h
      fi
-     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
+     NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive
 
 
 
 
+  if test $ac_cv_header_wchar_h = yes; then
+    HAVE_WCHAR_H=1
+  else
+    HAVE_WCHAR_H=0
+  fi
+
+
+
 
 
+  if test $gt_cv_c_wint_t = yes; then
+    HAVE_WINT_T=1
+  else
+    HAVE_WINT_T=0
+  fi
 
 
 
@@ -28506,564 +31584,211 @@ $as_echo "$gl_cv_next_sys_types_h" >&6; }
 
 
 
-  if test $gl_threads_api = posix; then
-    gl_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIBMULTITHREAD"
-    for ac_func in pthread_atfork
-do :
-  ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
-if test "x$ac_cv_func_pthread_atfork" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREAD_ATFORK 1
-_ACEOF
+  ac_fn_check_decl "$LINENO" "wcsdup" "ac_cv_have_decl_wcsdup" "
+      #include <wchar.h>
 
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_wcsdup" = xyes
+then :
+  ac_have_decl=1
+else $as_nop
+  ac_have_decl=0
 fi
-done
+printf "%s\n" "#define HAVE_DECL_WCSDUP $ac_have_decl" >>confdefs.h
 
-    LIBS="$gl_save_LIBS"
+  if test $ac_cv_have_decl_wcsdup = no; then
+    HAVE_DECL_WCSDUP=0
   fi
 
 
 
+  GL_LGL_GNULIB_BTOWC=0
 
 
 
+  GL_LGL_GNULIB_WCTOB=0
 
 
 
+  GL_LGL_GNULIB_MBSINIT=0
 
 
 
+  GL_LGL_GNULIB_MBSZERO=0
 
 
 
+  GL_LGL_GNULIB_MBRTOWC=0
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_unistd_h='<'unistd.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
-$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
-if ${gl_cv_next_unistd_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  GL_LGL_GNULIB_MBRLEN=0
 
-             if test $ac_cv_header_unistd_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
+  GL_LGL_GNULIB_MBSRTOWCS=0
+
+
+
+  GL_LGL_GNULIB_MBSNRTOWCS=0
+
+
+
+  GL_LGL_GNULIB_WCRTOMB=0
+
+
+
+  GL_LGL_GNULIB_WCSRTOMBS=0
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'unistd.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_unistd_h='<'unistd.h'>'
-             fi
 
+  GL_LGL_GNULIB_WCSNRTOMBS=0
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
-$as_echo "$gl_cv_next_unistd_h" >&6; }
-     fi
-     NEXT_UNISTD_H=$gl_cv_next_unistd_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'unistd.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_unistd_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
 
+  GL_LGL_GNULIB_WCWIDTH=0
 
 
 
-  if test $ac_cv_header_unistd_h = yes; then
-    HAVE_UNISTD_H=1
-  else
-    HAVE_UNISTD_H=0
-  fi
+  GL_LGL_GNULIB_WMEMCHR=0
 
 
 
+  GL_LGL_GNULIB_WMEMCMP=0
 
 
 
+  GL_LGL_GNULIB_WMEMCPY=0
 
-    for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups     gethostname getlogin getlogin_r getpagesize     getusershell setusershell endusershell     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite     readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r     unlink unlinkat usleep; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-/* Some systems declare various items in the wrong headers.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <fcntl.h>
-# include <stdio.h>
-# include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#  include <io.h>
-# endif
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+  GL_LGL_GNULIB_WMEMMOVE=0
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
+  GL_LGL_GNULIB_WMEMPCPY=0
 
 
 
-  if test $ac_cv_have_decl_unsetenv = no; then
-    HAVE_DECL_UNSETENV=0
-  fi
-  for ac_func in unsetenv
-do :
-  ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
-if test "x$ac_cv_func_unsetenv" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNSETENV 1
-_ACEOF
+  GL_LGL_GNULIB_WMEMSET=0
 
-fi
-done
 
-  if test $ac_cv_func_unsetenv = no; then
-    HAVE_UNSETENV=0
-  else
-    HAVE_UNSETENV=1
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
-$as_echo_n "checking for unsetenv() return type... " >&6; }
-if ${gt_cv_func_unsetenv_ret+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#undef _BSD
-#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
-#include <stdlib.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-int unsetenv (const char *name);
+  GL_LGL_GNULIB_WCSLEN=0
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_func_unsetenv_ret='int'
-else
-  gt_cv_func_unsetenv_ret='void'
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
-$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
-    if test $gt_cv_func_unsetenv_ret = 'void'; then
 
-$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
+  GL_LGL_GNULIB_WCSNLEN=0
 
-      REPLACE_UNSETENV=1
-    fi
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
-$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
-if ${gl_cv_func_unsetenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unsetenv_works="guessing no" ;;
-       esac
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  GL_LGL_GNULIB_WCSCPY=0
 
-       #include <stdlib.h>
-       #include <errno.h>
-       extern char **environ;
 
-int
-main ()
-{
 
-       char entry1[] = "a=1";
-       char entry2[] = "b=2";
-       char *env[] = { entry1, entry2, NULL };
-       if (putenv ((char *) "a=1")) return 1;
-       if (putenv (entry2)) return 2;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 3;
-       if (!unsetenv ("") || errno != EINVAL) return 4;
-       entry2[0] = 'b';
-       environ = env;
-       if (!getenv ("a")) return 5;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 6;
+  GL_LGL_GNULIB_WCPCPY=0
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_unsetenv_works=yes
-else
-  gl_cv_func_unsetenv_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
-$as_echo "$gl_cv_func_unsetenv_works" >&6; }
-    case "$gl_cv_func_unsetenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_UNSETENV=1
-        ;;
-    esac
-  fi
 
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+  GL_LGL_GNULIB_WCSNCPY=0
 
 
 
+  GL_LGL_GNULIB_WCPNCPY=0
 
 
 
+  GL_LGL_GNULIB_WCSCAT=0
 
 
-  lgltests_LIBOBJS="$lgltests_LIBOBJS unsetenv.$ac_objext"
 
+  GL_LGL_GNULIB_WCSNCAT=0
 
 
 
+  GL_LGL_GNULIB_WCSCMP=0
 
-fi
 
 
+  GL_LGL_GNULIB_WCSNCMP=0
 
 
 
-    if test "$GNULIB_UNSETENV" != 1; then
-        if test "$GNULIB_UNSETENV" = 0; then
-      GNULIB_UNSETENV=$gl_module_indicator_condition
-    else
-      GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
-    fi
-  fi
+  GL_LGL_GNULIB_WCSCASECMP=0
 
 
 
+  GL_LGL_GNULIB_WCSNCASECMP=0
 
 
-$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
 
+  GL_LGL_GNULIB_WCSCOLL=0
 
 
 
+  GL_LGL_GNULIB_WCSXFRM=0
 
 
 
+  GL_LGL_GNULIB_WCSDUP=0
 
 
 
+  GL_LGL_GNULIB_WCSCHR=0
 
 
 
+  GL_LGL_GNULIB_WCSRCHR=0
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_wchar_h='<'wchar.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
-$as_echo_n "checking absolute name of <wchar.h>... " >&6; }
-if ${gl_cv_next_wchar_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_wchar_h = yes; then
+  GL_LGL_GNULIB_WCSCSPN=0
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <wchar.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
+  GL_LGL_GNULIB_WCSSPN=0
 
-               case "$host_os" in
-                 mingw*)
-                                                                                                                                     gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
-               gl_header_literal_regex=`echo 'wchar.h' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-                   s|^/[^/]|//&|
-                   p
-                   q
-                 }'
-                                                            gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                      sed -n "$gl_absolute_header_sed"`'"'
-          else
-               gl_cv_next_wchar_h='<'wchar.h'>'
-             fi
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
-$as_echo "$gl_cv_next_wchar_h" >&6; }
-     fi
-     NEXT_WCHAR_H=$gl_cv_next_wchar_h
+  GL_LGL_GNULIB_WCSPBRK=0
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'wchar.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_wchar_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive
 
 
+  GL_LGL_GNULIB_WCSSTR=0
 
 
-  if test $ac_cv_header_wchar_h = yes; then
-    HAVE_WCHAR_H=1
-  else
-    HAVE_WCHAR_H=0
-  fi
 
+  GL_LGL_GNULIB_WCSTOK=0
 
 
 
+  GL_LGL_GNULIB_WCSWIDTH=0
 
-  if test $gt_cv_c_wint_t = yes; then
-    HAVE_WINT_T=1
-  else
-    HAVE_WINT_T=0
-  fi
 
 
+  GL_LGL_GNULIB_WCSFTIME=0
 
-    for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb      wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset      wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp      wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr      wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-#endif
-#include <wchar.h>
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+  GL_LGL_GNULIB_WGETCWD=0
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
+  GL_LGL_GNULIB_MDA_WCSDUP=1
 
 
-    YIELD_LIB=
-  if test $gl_threads_api = posix; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
-$as_echo_n "checking for sched_yield in -lrt... " >&6; }
-if ${ac_cv_lib_rt_sched_yield+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
-int
-main ()
-{
-return sched_yield ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_sched_yield=yes
-else
-  ac_cv_lib_rt_sched_yield=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
-$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
-if test "x$ac_cv_lib_rt_sched_yield" = xyes; then :
-  YIELD_LIB=-lrt
-else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
-$as_echo_n "checking for sched_yield in -lposix4... " >&6; }
-if ${ac_cv_lib_posix4_sched_yield+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lposix4  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
-int
-main ()
-{
-return sched_yield ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_posix4_sched_yield=yes
+   if true; then
+  GL_COND_LIBTOOL_TRUE=
+  GL_COND_LIBTOOL_FALSE='#'
 else
-  ac_cv_lib_posix4_sched_yield=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
-$as_echo "$ac_cv_lib_posix4_sched_yield" >&6; }
-if test "x$ac_cv_lib_posix4_sched_yield" = xyes; then :
-  YIELD_LIB=-lposix4
-fi
-
+  GL_COND_LIBTOOL_TRUE='#'
+  GL_COND_LIBTOOL_FALSE=
 fi
 
-  fi
+  gl_cond_libtool=true
+  gl_m4_base='lib/gl/m4'
 
 
 
 
 
 
-  LIBTESTS_LIBDEPS="$gltests_libdeps"
+  gl_source_base='lib/gl'
+  gl_source_base_prefix=
 
 
 
-# Check if locale stuff works
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if ${am_cv_langinfo_codeset+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+                          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether free is known to preserve errno" >&5
+printf %s "checking whether free is known to preserve errno... " >&6; }
+if test ${gl_cv_func_free_preserves_errno+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <langinfo.h>
+#include <stdlib.h>
+
 int
-main ()
+main (void)
 {
-char* cs = nl_langinfo(CODESET); return !cs;
+#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__)
+            #elif defined __OpenBSD__
+            #elif defined __sun
+            #else
+              #error "'free' is not known to preserve errno"
+            #endif
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_langinfo_codeset=yes
-else
-  am_cv_langinfo_codeset=no
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_func_free_preserves_errno=yes
+else $as_nop
+  gl_cv_func_free_preserves_errno=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-$as_echo "$am_cv_langinfo_codeset" >&6; }
-  if test $am_cv_langinfo_codeset = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_free_preserves_errno" >&5
+printf "%s\n" "$gl_cv_func_free_preserves_errno" >&6; }
 
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
+  case $gl_cv_func_free_preserves_errno in
+   *yes)
 
-  fi
+printf "%s\n" "#define HAVE_FREE_POSIX 1" >>confdefs.h
+
+    ;;
+   *) REPLACE_FREE=1 ;;
+  esac
 
 
-# Make it possible to disable TLD code.
-# Check whether --enable-tld was given.
-if test "${enable_tld+set}" = set; then :
-  enableval=$enable_tld; enable_tld=$enableval
+     if test $REPLACE_FREE = 1; then
+  GL_COND_OBJ_FREE_TRUE=
+  GL_COND_OBJ_FREE_FALSE='#'
 else
-  enable_tld=yes
+  GL_COND_OBJ_FREE_TRUE='#'
+  GL_COND_OBJ_FREE_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_FREE_TRUE}" && test -z "${GL_COND_OBJ_FREE_FALSE}"; then
+    GL_COND_OBJ_FREE_TRUE='#'
+    GL_COND_OBJ_FREE_FALSE='#'
+  fi
+
+  if test -z "$GL_COND_OBJ_FREE_TRUE"; then :
+
+    :
 
- if test "$enable_tld" != "no"; then
-  TLD_TRUE=
-  TLD_FALSE='#'
-else
-  TLD_TRUE='#'
-  TLD_FALSE=
 fi
 
-if test "$enable_tld" != "no"; then
 
-$as_echo "#define WITH_TLD 1" >>confdefs.h
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if TLD API for specific TLD rules should be built" >&5
-$as_echo_n "checking if TLD API for specific TLD rules should be built... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_tld" >&5
-$as_echo "$enable_tld" >&6; }
 
-# Check for gtk-doc.
 
 
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+          GL_LGL_GNULIB_FREE_POSIX=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_FREE_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+
 
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
 
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=0.9.0
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               PKG_CONFIG=""
-       fi
 
-fi
 
 
 
-    # Extract the first word of "gtkdoc-check", so it can be a program name with args.
-set dummy gtkdoc-check; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_CHECK in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
+          GL_LGL_GNULIB_ICONV=1
 
-  for ac_prog in gtkdoc-rebase
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_REBASE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_REBASE in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
-if test -n "$GTKDOC_REBASE"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
-$as_echo "$GTKDOC_REBASE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$GTKDOC_REBASE" && break
-done
-test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
 
-  # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
-set dummy gtkdoc-mkpdf; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_MKPDF+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_MKPDF in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-  ;;
-esac
-fi
-GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
-if test -n "$GTKDOC_MKPDF"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
-$as_echo "$GTKDOC_MKPDF" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
 
 
-# Check whether --with-html-dir was given.
-if test "${with_html_dir+set}" = set; then :
-  withval=$with_html_dir;
-else
-  with_html_dir='${datadir}/gtk-doc/html'
-fi
 
-  HTML_DIR="$with_html_dir"
 
 
-    # Check whether --enable-gtk-doc was given.
-if test "${enable_gtk_doc+set}" = set; then :
-  enableval=$enable_gtk_doc;
-else
-  enable_gtk_doc=no
-fi
 
+  case "$GL_GENERATE_ICONV_H" in
+    false) ICONV_H='' ;;
+    true)
+                  if test -z "$ICONV_H"; then
+        ICONV_H="${gl_source_base_prefix}iconv.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_ICONV_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-  if test x$enable_gtk_doc = xyes; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.1\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.1") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  :
+
+     if $GL_GENERATE_ICONV_H; then
+  GL_GENERATE_ICONV_H_TRUE=
+  GL_GENERATE_ICONV_H_FALSE='#'
 else
-  as_fn_error $? "You need to have gtk-doc >= 1.1 installed to build $PACKAGE_NAME" "$LINENO" 5
+  GL_GENERATE_ICONV_H_TRUE='#'
+  GL_GENERATE_ICONV_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
+    GL_GENERATE_ICONV_H_TRUE='#'
+    GL_GENERATE_ICONV_H_FALSE='#'
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
 
-    # Check whether --enable-gtk-doc-html was given.
-if test "${enable_gtk_doc_html+set}" = set; then :
-  enableval=$enable_gtk_doc_html;
-else
-  enable_gtk_doc_html=yes
-fi
 
-    # Check whether --enable-gtk-doc-pdf was given.
-if test "${enable_gtk_doc_pdf+set}" = set; then :
-  enableval=$enable_gtk_doc_pdf;
-else
-  enable_gtk_doc_pdf=no
-fi
 
 
-  if test -z "$GTKDOC_MKPDF"; then
-    enable_gtk_doc_pdf=no
-  fi
 
 
-   if test x$enable_gtk_doc = xyes; then
-  ENABLE_GTK_DOC_TRUE=
-  ENABLE_GTK_DOC_FALSE='#'
-else
-  ENABLE_GTK_DOC_TRUE='#'
-  ENABLE_GTK_DOC_FALSE=
-fi
 
-   if test x$enable_gtk_doc_html = xyes; then
-  GTK_DOC_BUILD_HTML_TRUE=
-  GTK_DOC_BUILD_HTML_FALSE='#'
-else
-  GTK_DOC_BUILD_HTML_TRUE='#'
-  GTK_DOC_BUILD_HTML_FALSE=
-fi
 
-   if test x$enable_gtk_doc_pdf = xyes; then
-  GTK_DOC_BUILD_PDF_TRUE=
-  GTK_DOC_BUILD_PDF_FALSE='#'
-else
-  GTK_DOC_BUILD_PDF_TRUE='#'
-  GTK_DOC_BUILD_PDF_FALSE=
-fi
 
-   if test -n "$LIBTOOL"; then
-  GTK_DOC_USE_LIBTOOL_TRUE=
-  GTK_DOC_USE_LIBTOOL_FALSE='#'
-else
-  GTK_DOC_USE_LIBTOOL_TRUE='#'
-  GTK_DOC_USE_LIBTOOL_FALSE=
-fi
+  if test "$am_cv_func_iconv" = yes; then
 
-   if test -n "$GTKDOC_REBASE"; then
-  GTK_DOC_USE_REBASE_TRUE=
-  GTK_DOC_USE_REBASE_FALSE='#'
-else
-  GTK_DOC_USE_REBASE_TRUE='#'
-  GTK_DOC_USE_REBASE_FALSE=
-fi
 
 
 
-# Check for java
-# Check whether --enable-java was given.
-if test "${enable_java+set}" = set; then :
-  enableval=$enable_java;
-else
-  enable_java=no
-fi
 
 
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in gcj
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GCJ"; then
-  ac_cv_prog_GCJ="$GCJ" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GCJ="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+  GL_GENERATE_ICONV_H=true
 
+            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+      #include <iconv.h>
+      #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+       gnu_iconv
+      #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "gnu_iconv" >/dev/null 2>&1
+then :
+  gl_func_iconv_gnu=yes
+else $as_nop
+  gl_func_iconv_gnu=no
 fi
-fi
-GCJ=$ac_cv_prog_GCJ
-if test -n "$GCJ"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5
-$as_echo "$GCJ" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+rm -rf conftest*
 
+    if test $gl_func_iconv_gnu = no; then
+      iconv_flavor=
+      case "$host_os" in
+        aix*)         iconv_flavor=ICONV_FLAVOR_AIX ;;
+        irix*)        iconv_flavor=ICONV_FLAVOR_IRIX ;;
+        hpux*)        iconv_flavor=ICONV_FLAVOR_HPUX ;;
+        osf*)         iconv_flavor=ICONV_FLAVOR_OSF ;;
+        solaris*)     iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
+        openedition*) iconv_flavor=ICONV_FLAVOR_ZOS ;;
+      esac
+      if test -n "$iconv_flavor"; then
 
-    test -n "$GCJ" && break
-  done
-fi
-if test -z "$GCJ"; then
-  ac_ct_GCJ=$GCJ
-  for ac_prog in gcj
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_GCJ"; then
-  ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_GCJ="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
+printf "%s\n" "#define ICONV_FLAVOR $iconv_flavor" >>confdefs.h
 
-fi
-fi
-ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ
-if test -n "$ac_ct_GCJ"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5
-$as_echo "$ac_ct_GCJ" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$ac_ct_GCJ" && break
-done
 
-  if test "x$ac_ct_GCJ" = x; then
-    GCJ="gcj"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    GCJ=$ac_ct_GCJ
-  fi
-fi
 
-test -z "$GCJ" && as_fn_error $? "no acceptable gcj found in \$PATH" "$LINENO" 5
-if test "x${GCJFLAGS-unset}" = xunset; then
-   GCJFLAGS="-g -O2"
-fi
 
 
-depcc="$GCJ"  am_compiler_list='gcc3 gcc'
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_GCJ_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
+  GL_GENERATE_ICONV_H=true
+
+  REPLACE_ICONV_OPEN=1
+
+      fi
+    fi
 
-  am_cv_GCJ_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
   fi
-  am__universal=false
 
 
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
+
+
+  case "$GL_GENERATE_ICONV_H" in
+    false) ICONV_H='' ;;
+    true)
+                  if test -z "$ICONV_H"; then
+        ICONV_H="${gl_source_base_prefix}iconv.h"
       fi
       ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_GCJ_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
+    *) echo "*** GL_GENERATE_ICONV_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-  cd ..
-  rm -rf conftest.dir
+
+     if $GL_GENERATE_ICONV_H; then
+  GL_GENERATE_ICONV_H_TRUE=
+  GL_GENERATE_ICONV_H_FALSE='#'
 else
-  am_cv_GCJ_dependencies_compiler_type=none
+  GL_GENERATE_ICONV_H_TRUE='#'
+  GL_GENERATE_ICONV_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
+    GL_GENERATE_ICONV_H_TRUE='#'
+    GL_GENERATE_ICONV_H_FALSE='#'
+  fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_GCJ_dependencies_compiler_type" >&5
-$as_echo "$am_cv_GCJ_dependencies_compiler_type" >&6; }
-GCJDEPMODE=depmode=$am_cv_GCJ_dependencies_compiler_type
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_GCJ_dependencies_compiler_type" = gcc3; then
-  am__fastdepGCJ_TRUE=
-  am__fastdepGCJ_FALSE='#'
-else
-  am__fastdepGCJ_TRUE='#'
-  am__fastdepGCJ_FALSE=
-fi
 
 
 
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in gcj
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GCJ"; then
-  ac_cv_prog_GCJ="$GCJ" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GCJ="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-GCJ=$ac_cv_prog_GCJ
-if test -n "$GCJ"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5
-$as_echo "$GCJ" >&6; }
+     if test $REPLACE_ICONV_OPEN = 1; then
+  GL_COND_OBJ_ICONV_OPEN_TRUE=
+  GL_COND_OBJ_ICONV_OPEN_FALSE='#'
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  GL_COND_OBJ_ICONV_OPEN_TRUE='#'
+  GL_COND_OBJ_ICONV_OPEN_FALSE=
 fi
+:
+    if test -z "${GL_COND_OBJ_ICONV_OPEN_TRUE}" && test -z "${GL_COND_OBJ_ICONV_OPEN_FALSE}"; then
+    GL_COND_OBJ_ICONV_OPEN_TRUE='#'
+    GL_COND_OBJ_ICONV_OPEN_FALSE='#'
+  fi
 
 
-    test -n "$GCJ" && break
-  done
-fi
-if test -z "$GCJ"; then
-  ac_ct_GCJ=$GCJ
-  for ac_prog in gcj
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
+     if test $REPLACE_ICONV = 1; then
+  GL_COND_OBJ_ICONV_TRUE=
+  GL_COND_OBJ_ICONV_FALSE='#'
 else
-  if test -n "$ac_ct_GCJ"; then
-  ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_GCJ="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+  GL_COND_OBJ_ICONV_TRUE='#'
+  GL_COND_OBJ_ICONV_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_ICONV_TRUE}" && test -z "${GL_COND_OBJ_ICONV_FALSE}"; then
+    GL_COND_OBJ_ICONV_TRUE='#'
+    GL_COND_OBJ_ICONV_FALSE='#'
   fi
-done
-  done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ
-if test -n "$ac_ct_GCJ"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5
-$as_echo "$ac_ct_GCJ" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
 
 
-  test -n "$ac_ct_GCJ" && break
-done
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5
+printf %s "checking whether the compiler generally respects inline... " >&6; }
+if test ${gl_cv_c_inline_effective+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test $ac_cv_c_inline = no; then
+       gl_cv_c_inline_effective=no
+     else
+                                          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  if test "x$ac_ct_GCJ" = x; then
-    GCJ="gcj"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    GCJ=$ac_ct_GCJ
-  fi
+int
+main (void)
+{
+#ifdef __NO_INLINE__
+               #error "inline is not effective"
+             #endif
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_c_inline_effective=yes
+else $as_nop
+  gl_cv_c_inline_effective=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+     fi
 
-test -z "$GCJ" && as_fn_error $? "no acceptable gcj found in \$PATH" "$LINENO" 5
-if test "x${GCJFLAGS-unset}" = xunset; then
-   GCJFLAGS="-g -O2"
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
+printf "%s\n" "$gl_cv_c_inline_effective" >&6; }
+  if test $gl_cv_c_inline_effective = yes; then
 
+printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h
 
-depcc="$GCJ"  am_compiler_list='gcc3 gcc'
+  fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_GCJ_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
 
-  am_cv_GCJ_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the __inline keyword" >&5
+printf %s "checking whether the compiler supports the __inline keyword... " >&6; }
+if test ${gl_cv_c___inline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }
+int
+main (void)
+{
+return foo ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_c___inline=yes
+else $as_nop
+  gl_cv_c___inline=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c___inline" >&5
+printf "%s\n" "$gl_cv_c___inline" >&6; }
+  if test $gl_cv_c___inline = yes; then
+
+printf "%s\n" "#define HAVE___INLINE 1" >>confdefs.h
+
   fi
-  am__universal=false
 
 
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
+
+
+
+  case "$GL_GENERATE_LIMITS_H" in
+    false) LIMITS_H='' ;;
+    true)
+                  if test -z "$LIMITS_H"; then
+        LIMITS_H="${gl_source_base_prefix}limits.h"
       fi
       ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_GCJ_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
+    *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-  cd ..
-  rm -rf conftest.dir
+
+     if $GL_GENERATE_LIMITS_H; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
 else
-  am_cv_GCJ_dependencies_compiler_type=none
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+    GL_GENERATE_LIMITS_H_TRUE='#'
+    GL_GENERATE_LIMITS_H_FALSE='#'
+  fi
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_GCJ_dependencies_compiler_type" >&5
-$as_echo "$am_cv_GCJ_dependencies_compiler_type" >&6; }
-GCJDEPMODE=depmode=$am_cv_GCJ_dependencies_compiler_type
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_GCJ_dependencies_compiler_type" = gcc3; then
-  am__fastdepGCJ_TRUE=
-  am__fastdepGCJ_FALSE='#'
-else
-  am__fastdepGCJ_TRUE='#'
-  am__fastdepGCJ_FALSE=
-fi
 
 
 
 
 
-# Source file extension for Java test sources.
-ac_ext=java
 
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+printf %s "checking for ssize_t... " >&6; }
+if test ${gl_cv_ssize_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main (void)
+{
+int x = sizeof (ssize_t *) + sizeof (ssize_t);
+            return !x;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_ssize_t=yes
+else $as_nop
+  gl_cv_ssize_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ssize_t" >&5
+printf "%s\n" "$gl_cv_ssize_t" >&6; }
+  if test $gl_cv_ssize_t = no; then
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether size_t is wider than 'long'" >&5
+printf %s "checking whether size_t is wider than 'long'... " >&6; }
+if test ${gl_cv_size_t_large+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+              typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
 
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
+int
+main (void)
+{
 
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_size_t_large=yes
+else $as_nop
+  gl_cv_size_t_large=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_t_large" >&5
+printf "%s\n" "$gl_cv_size_t_large" >&6; }
+    if test $gl_cv_size_t_large = yes; then
+      gl_def_ssize_t='long long'
+    else
+      gl_def_ssize_t='long'
+    fi
 
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+printf "%s\n" "#define ssize_t $gl_def_ssize_t" >>confdefs.h
 
+  fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bool, true, false" >&5
+printf %s "checking for bool, true, false... " >&6; }
+if test ${gl_cv_c_bool+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+          #if true == false
+           #error "true == false"
+          #endif
+          extern bool b;
+          bool b = true == false;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_c_bool=yes
+else $as_nop
+  gl_cv_c_bool=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_bool" >&5
+printf "%s\n" "$gl_cv_c_bool" >&6; }
+  if test "$gl_cv_c_bool" = yes; then
 
+printf "%s\n" "#define HAVE_C_BOOL 1" >>confdefs.h
 
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+  fi
 
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
 
 
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
 
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
 
 
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-compiler_GCJ=$CC
-LD_GCJ="$LD"
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
 
-old_archive_cmds_GCJ=$old_archive_cmds
-reload_flag_GCJ=$reload_flag
-reload_cmds_GCJ=$reload_cmds
 
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
 
-lt_prog_compiler_no_builtin_flag_GCJ=
 
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;;
+
+
+  case "$GL_GENERATE_STDDEF_H" in
+    false) STDDEF_H='' ;;
+    true)
+                  if test -z "$STDDEF_H"; then
+        STDDEF_H="${gl_source_base_prefix}stddef.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDDEF_H is not set correctly" 1>&2; exit 1 ;;
   esac
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
 
+     if $GL_GENERATE_STDDEF_H; then
+  GL_GENERATE_STDDEF_H_TRUE=
+  GL_GENERATE_STDDEF_H_FALSE='#'
+else
+  GL_GENERATE_STDDEF_H_TRUE='#'
+  GL_GENERATE_STDDEF_H_FALSE=
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+:
+    if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
+    GL_GENERATE_STDDEF_H_TRUE='#'
+    GL_GENERATE_STDDEF_H_FALSE='#'
+  fi
+
+
+
+
+
+
+
+
+
+
+
+  case "$GL_GENERATE_STDINT_H" in
+    false) STDINT_H='' ;;
+    true)
+                  if test -z "$STDINT_H"; then
+        STDINT_H="${gl_source_base_prefix}stdint.h"
+      fi
+      ;;
+    *) echo "*** GL_GENERATE_STDINT_H is not set correctly" 1>&2; exit 1 ;;
+  esac
+
 
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+     if $GL_GENERATE_STDINT_H; then
+  GL_GENERATE_STDINT_H_TRUE=
+  GL_GENERATE_STDINT_H_FALSE='#'
 else
-    :
+  GL_GENERATE_STDINT_H_TRUE='#'
+  GL_GENERATE_STDINT_H_FALSE=
 fi
+:
+    if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
+    GL_GENERATE_STDINT_H_TRUE='#'
+    GL_GENERATE_STDINT_H_FALSE='#'
+  fi
 
-fi
 
 
 
-  lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
 
 
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_GCJ='-Wl,'
-    lt_prog_compiler_static_GCJ='-static'
 
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_GCJ='-Bstatic'
+
+
+  case "$GL_GENERATE_LIMITS_H" in
+    false) LIMITS_H='' ;;
+    true)
+                  if test -z "$LIMITS_H"; then
+        LIMITS_H="${gl_source_base_prefix}limits.h"
       fi
       ;;
+    *) echo "*** GL_GENERATE_LIMITS_H is not set correctly" 1>&2; exit 1 ;;
+  esac
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_GCJ='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
 
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
+     if $GL_GENERATE_LIMITS_H; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
+fi
+:
+    if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+    GL_GENERATE_LIMITS_H_TRUE='#'
+    GL_GENERATE_LIMITS_H_FALSE='#'
+  fi
+
 
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
 
-      ;;
 
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_GCJ='-fno-common'
-      ;;
 
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static_GCJ=
-      ;;
 
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_GCJ='-fPIC'
-       ;;
-      esac
-      ;;
 
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
 
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_GCJ=no
-      enable_shared=no
-      ;;
 
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_GCJ='-fPIC -shared'
-      ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic_GCJ=-Kconform_pic
-      fi
-      ;;
 
-    *)
-      lt_prog_compiler_pic_GCJ='-fPIC'
-      ;;
-    esac
 
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl_GCJ='-Xlinker '
-      if test -n "$lt_prog_compiler_pic_GCJ"; then
-        lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_GCJ='-Bstatic'
-      else
-       lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
 
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
+  if test $gl_cond_libtool = false; then
+    gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+    gl_libdeps="$gl_libdeps $LIBICONV"
+  fi
 
-      ;;
 
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_GCJ='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
-      ;;
 
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-KPIC'
-       lt_prog_compiler_static_GCJ='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-fPIC'
-       lt_prog_compiler_static_GCJ='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='--shared'
-       lt_prog_compiler_static_GCJ='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl_GCJ='-Wl,-Wl,,'
-       lt_prog_compiler_pic_GCJ='-PIC'
-       lt_prog_compiler_static_GCJ='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-fpic'
-       lt_prog_compiler_static_GCJ='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_GCJ='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_GCJ='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-qpic'
-       lt_prog_compiler_static_GCJ='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic_GCJ='-KPIC'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         lt_prog_compiler_wl_GCJ=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic_GCJ='-KPIC'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         lt_prog_compiler_wl_GCJ='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic_GCJ='-KPIC'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         lt_prog_compiler_pic_GCJ='-fPIC'
-         lt_prog_compiler_static_GCJ='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         lt_prog_compiler_pic_GCJ='-fpic'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
 
-    newsos6)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
 
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_GCJ='-fPIC -shared'
-      ;;
 
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
 
-    rdos*)
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
 
-    solaris*)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl_GCJ='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl_GCJ='-Wl,';;
-      esac
-      ;;
 
-    sunos4*)
-      lt_prog_compiler_wl_GCJ='-Qoption ld '
-      lt_prog_compiler_pic_GCJ='-PIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
 
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
 
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic_GCJ='-Kconform_pic'
-       lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
 
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
 
-    unicos*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
 
-    uts4*)
-      lt_prog_compiler_pic_GCJ='-pic'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
 
-    *)
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-    esac
+  ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp"
+if test "x$ac_cv_func_strverscmp" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRVERSCMP 1" >>confdefs.h
+
+fi
+
+  if test $ac_cv_func_strverscmp = no; then
+    HAVE_STRVERSCMP=0
   fi
 
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_GCJ=
-    ;;
-  *)
-    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
-    ;;
-esac
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
+     if test $HAVE_STRVERSCMP = 0; then
+  GL_COND_OBJ_STRVERSCMP_TRUE=
+  GL_COND_OBJ_STRVERSCMP_FALSE='#'
 else
-  lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ
+  GL_COND_OBJ_STRVERSCMP_TRUE='#'
+  GL_COND_OBJ_STRVERSCMP_FALSE=
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5
-$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; }
-lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ
+:
+    if test -z "${GL_COND_OBJ_STRVERSCMP_TRUE}" && test -z "${GL_COND_OBJ_STRVERSCMP_FALSE}"; then
+    GL_COND_OBJ_STRVERSCMP_TRUE='#'
+    GL_COND_OBJ_STRVERSCMP_FALSE='#'
+  fi
 
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_GCJ=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_GCJ=yes
-     fi
-   fi
-   $RM conftest*
+  if test -z "$GL_COND_OBJ_STRVERSCMP_TRUE"; then :
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
 
-if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
-    case $lt_prog_compiler_pic_GCJ in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
-     esac
-else
-    lt_prog_compiler_pic_GCJ=
-     lt_prog_compiler_can_build_shared_GCJ=no
-fi
+  :
+
 
 fi
 
 
 
 
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_GCJ=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_GCJ=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_GCJ=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
-    :
-else
-    lt_prog_compiler_static_GCJ=
-fi
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_GCJ=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_GCJ=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+
+          GL_LGL_GNULIB_STRVERSCMP=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_GCJ=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+      if  { test "$HAVE_LIBUNISTRING" != yes \
+    || {
 
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_GCJ=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
 
+            test $LIBUNISTRING_VERSION_MAJOR -lt 1 \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                         }
+                    }
+               }
 
 
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
+
+       }
+  }; then
+            if test -z "$LIBUNISTRING_UNISTR_H"; then
+      LIBUNISTRING_UNISTR_H="${gl_source_base_prefix}unistr.h"
+    fi
+  else
+    LIBUNISTRING_UNISTR_H=
   fi
-else
-  need_locks=no
-fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
-  runpath_var=
-  allow_undefined_flag_GCJ=
-  always_export_symbols_GCJ=no
-  archive_cmds_GCJ=
-  archive_expsym_cmds_GCJ=
-  compiler_needs_object_GCJ=no
-  enable_shared_with_static_runtimes_GCJ=no
-  export_dynamic_flag_spec_GCJ=
-  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic_GCJ=no
-  hardcode_direct_GCJ=no
-  hardcode_direct_absolute_GCJ=no
-  hardcode_libdir_flag_spec_GCJ=
-  hardcode_libdir_separator_GCJ=
-  hardcode_minus_L_GCJ=no
-  hardcode_shlibpath_var_GCJ=unsupported
-  inherit_rpath_GCJ=no
-  link_all_deplibs_GCJ=unknown
-  module_cmds_GCJ=
-  module_expsym_cmds_GCJ=
-  old_archive_from_new_cmds_GCJ=
-  old_archive_from_expsyms_cmds_GCJ=
-  thread_safe_flag_spec_GCJ=
-  whole_archive_flag_spec_GCJ=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms_GCJ=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
 
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs_GCJ=no
-    ;;
-  esac
 
-  ld_shlibs_GCJ=yes
+     if  { test "$HAVE_LIBUNISTRING" != yes \
+    || {
 
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
+
+
+            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                         }
+                    }
+               }
+
+
+
+
+       }
+  }; then
+  LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE=
+  LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_FALSE='#'
+else
+  LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE='#'
+  LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_FALSE=
+fi
+:
+    if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_FALSE}"; then
+    LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE='#'
+    LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_FALSE='#'
   fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
 
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec_GCJ=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
 
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs_GCJ=no
-       cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
+printf "%s\n" "#define GNULIB_UNISTR_U8_MBTOUCR 1" >>confdefs.h
 
-_LT_EOF
-      fi
-      ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds_GCJ=''
-        ;;
-      m68k)
-            archive_cmds_GCJ='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec_GCJ='-L$libdir'
-            hardcode_minus_L_GCJ=yes
-        ;;
-      esac
-      ;;
 
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag_GCJ=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}--export-all-symbols'
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=no
-      enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
+     if  { test "$HAVE_LIBUNISTRING" != yes \
+    || {
 
-    haiku*)
-      archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs_GCJ=yes
-      ;;
 
-    interix[3-9]*)
-      hardcode_direct_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec_GCJ=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object_GCJ=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object_GCJ=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                         }
+                    }
+               }
+
+
+
+
+       }
+  }; then
+  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE=
+  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#'
+else
+  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#'
+  LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE=
+fi
+:
+    if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE}"; then
+    LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#'
+    LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#'
+  fi
 
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
 
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-         archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
 
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs_GCJ=no
-       cat <<_LT_EOF 1>&2
+printf "%s\n" "#define GNULIB_UNISTR_U8_UCTOMB 1" >>confdefs.h
 
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs_GCJ=no
-       cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-           archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs_GCJ=no
-         fi
-       ;;
-      esac
-      ;;
+     if  { test "$HAVE_LIBUNISTRING" != yes \
+    || {
 
-    sunos4*)
-      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-    esac
 
-    if test "$ld_shlibs_GCJ" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_GCJ=
-      export_dynamic_flag_spec_GCJ=
-      whole_archive_flag_spec_GCJ=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=yes
-      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_GCJ=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct_GCJ=unsupported
-      fi
-      ;;
+            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+                         }
+                    }
+               }
 
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
 
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
 
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
 
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+       }
+  }; then
+  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE=
+  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#'
+else
+  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#'
+  LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE=
+fi
+:
+    if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then
+    LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#'
+    LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#'
+  fi
 
-      archive_cmds_GCJ=''
-      hardcode_direct_GCJ=yes
-      hardcode_direct_absolute_GCJ=yes
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-      file_list_spec_GCJ='${wl}-f,'
 
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct_GCJ=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L_GCJ=yes
-         hardcode_libdir_flag_spec_GCJ='-L$libdir'
-         hardcode_libdir_separator_GCJ=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-       link_all_deplibs_GCJ=no
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
 
-      export_dynamic_flag_spec_GCJ='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols_GCJ=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag_GCJ='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-int
-main ()
-{
+      if  { test "$HAVE_LIBUNISTRING" != yes \
+    || {
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
 
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath__GCJ"; then
-    lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__GCJ"; then
-    lt_cv_aix_libpath__GCJ="/usr/lib:/lib"
+
+            test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11
+                         }
+                    }
+               }
+
+
+
+
+       }
+  }; then
+            if test -z "$LIBUNISTRING_UNITYPES_H"; then
+      LIBUNISTRING_UNITYPES_H="${gl_source_base_prefix}unitypes.h"
+    fi
+  else
+    LIBUNISTRING_UNITYPES_H=
   fi
 
-fi
 
-  aix_libpath=$lt_cv_aix_libpath__GCJ
-fi
 
-        hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag_GCJ="-z nodefs"
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5
+printf %s "checking for variable-length arrays... " >&6; }
+if test ${ac_cv_c_vararrays+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC_NO_VLA__
+       defined
+       #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "defined" >/dev/null 2>&1
+then :
+  ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+/* Test for VLA support.  This test is partly inspired
+                 from examples in the C standard.  Use at least two VLA
+                 functions to detect the GCC 3.4.3 bug described in:
+                 https://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html
+                 */
+              #ifdef __STDC_NO_VLA__
+               syntax error;
+              #else
+                extern int n;
+                int B[100];
+                int fvla (int m, int C[m][m]);
+
+                int
+                simple (int count, int all[static count])
+                {
+                  return all[count - 1];
+                }
+
+                int
+                fvla (int m, int C[m][m])
+                {
+                  typedef int VLA[m][m];
+                  VLA x;
+                  int D[m];
+                  static int (*q)[m] = &B;
+                  int (*s)[n] = q;
+                  return C && &x[0][0] == &D[0] && &D[0] == s[0];
+                }
+              #endif
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_c_vararrays=yes
+else $as_nop
+  ac_cv_c_vararrays=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -rf conftest*
 
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath__GCJ"; then
-    lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__GCJ"; then
-    lt_cv_aix_libpath__GCJ="/usr/lib:/lib"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
+printf "%s\n" "$ac_cv_c_vararrays" >&6; }
+  if test "$ac_cv_c_vararrays" = yes; then
+
+printf "%s\n" "#define HAVE_C_VARARRAYS 1" >>confdefs.h
+
+  elif test "$ac_cv_c_vararrays" = no; then
+
+printf "%s\n" "#define __STDC_NO_VLA__ 1" >>confdefs.h
+
   fi
 
-fi
 
-  aix_libpath=$lt_cv_aix_libpath__GCJ
-fi
 
-        hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag_GCJ=' ${wl}-bernotok'
-         allow_undefined_flag_GCJ=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec_GCJ='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec_GCJ='$convenience'
-         fi
-         archive_cmds_need_lc_GCJ=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
 
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds_GCJ=''
-        ;;
-      m68k)
-            archive_cmds_GCJ='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec_GCJ='-L$libdir'
-            hardcode_minus_L_GCJ=yes
-        ;;
-      esac
-      ;;
 
-    bsdi[45]*)
-      export_dynamic_flag_spec_GCJ=-rdynamic
-      ;;
 
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec_GCJ=' '
-       allow_undefined_flag_GCJ=unsupported
-       always_export_symbols_GCJ=yes
-       file_list_spec_GCJ='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true'
-       enable_shared_with_static_runtimes_GCJ=yes
-       exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds_GCJ='chmod 644 $oldlib'
-       postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec_GCJ=' '
-       allow_undefined_flag_GCJ=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds_GCJ='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes_GCJ=yes
-       ;;
-      esac
-      ;;
 
-    darwin* | rhapsody*)
 
 
-  archive_cmds_need_lc_GCJ=no
-  hardcode_direct_GCJ=no
-  hardcode_automatic_GCJ=yes
-  hardcode_shlibpath_var_GCJ=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
 
-  else
-    whole_archive_flag_spec_GCJ=''
-  fi
-  link_all_deplibs_GCJ=yes
-  allow_undefined_flag_GCJ="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
 
-  else
-  ld_shlibs_GCJ=no
-  fi
 
-      ;;
 
-    dgux*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
+  # End of code from modules
+
+
+
+
+
+
+
+
+
+  gltests_libdeps=
+  gltests_ltlibdeps=
+
+
+
+
+
+
+
+
+
+
+
+
+  gl_source_base='tests'
+  gl_source_base_prefix=
+  lgltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
+  gl_module_indicator_condition=$lgltests_WITNESS
 
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds_GCJ='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_direct_GCJ=yes
 
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      ;;
 
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds_GCJ='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_GCJ=:
-       hardcode_direct_GCJ=yes
-       hardcode_direct_absolute_GCJ=yes
-       export_dynamic_flag_spec_GCJ='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L_GCJ=yes
-      fi
-      ;;
 
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_GCJ='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_GCJ='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-       archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_GCJ=:
 
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct_GCJ=no
-         hardcode_shlibpath_var_GCJ=no
-         ;;
-       *)
-         hardcode_direct_GCJ=yes
-         hardcode_direct_absolute_GCJ=yes
-         export_dynamic_flag_spec_GCJ='${wl}-E'
 
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L_GCJ=yes
-         ;;
-       esac
-      fi
-      ;;
 
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc_GCJ='no'
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      inherit_rpath_GCJ=yes
-      link_all_deplibs_GCJ=yes
-      ;;
 
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    newsos6)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    *nto* | *qnx*)
-      ;;
 
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct_GCJ=yes
-       hardcode_shlibpath_var_GCJ=no
-       hardcode_direct_absolute_GCJ=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec_GCJ='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec_GCJ='-R$libdir'
-            ;;
-          *)
-            archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    os2*)
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      allow_undefined_flag_GCJ=unsupported
-      archive_cmds_GCJ='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
+printf "%s\n" "#define GNULIB_NO_VLA 1" >>confdefs.h
 
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag_GCJ=' -expect_unresolved \*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc_GCJ='no'
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      ;;
 
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag_GCJ=' -expect_unresolved \*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+# Make it possible to disable TLD code.
+# Check whether --enable-tld was given.
+if test ${enable_tld+y}
+then :
+  enableval=$enable_tld; enable_tld=$enableval
+else $as_nop
+  enable_tld=yes
+fi
 
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
-      fi
-      archive_cmds_need_lc_GCJ='no'
-      hardcode_libdir_separator_GCJ=:
-      ;;
+ if test "$enable_tld" != "no"; then
+  TLD_TRUE=
+  TLD_FALSE='#'
+else
+  TLD_TRUE='#'
+  TLD_FALSE=
+fi
 
-    solaris*)
-      no_undefined_flag_GCJ=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds_GCJ='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds_GCJ='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs_GCJ=yes
-      ;;
+if test "$enable_tld" != "no"; then
 
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
+printf "%s\n" "#define WITH_TLD 1" >>confdefs.h
 
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_GCJ=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds_GCJ='$CC -r -o $output$reload_objs'
-         hardcode_direct_GCJ=no
-        ;;
-       motorola)
-         archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if TLD API for specific TLD rules should be built" >&5
+printf %s "checking if TLD API for specific TLD rules should be built... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_tld" >&5
+printf "%s\n" "$enable_tld" >&6; }
 
-    sysv4.3*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_GCJ=no
-      export_dynamic_flag_spec_GCJ='-Bexport'
-      ;;
+#
+# check for gtk-doc
+#
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var_GCJ=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs_GCJ=yes
-      fi
-      ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_GCJ='${wl}-z,text'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_GCJ='${wl}-z,text'
-      allow_undefined_flag_GCJ='${wl}-z,nodefs'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='${wl}-R,$libdir'
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+printf "%s\n" "$PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
 
-    uts4*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-    *)
-      ld_shlibs_GCJ=no
-      ;;
-    esac
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec_GCJ='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
   fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5
-$as_echo "$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-with_gnu_ld_GCJ=$with_gnu_ld
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=0.9.0
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+       else
+               { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+               PKG_CONFIG=""
+       fi
 
+fi
 
 
 
+  gtk_doc_requires="gtk-doc >= 1.14"
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
+printf %s "checking for gtk-doc... " >&6; }
+  if test -n "$PKG_CONFIG" && \
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  have_gtk_doc=yes
+else
+  have_gtk_doc=no
+fi
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
+printf "%s\n" "$have_gtk_doc" >&6; }
 
+  if test "$have_gtk_doc" = "no"; then
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
+  You will not be able to create source packages with 'make dist'
+  because $gtk_doc_requires is not found." >&5
+printf "%s\n" "$as_me: WARNING:
+  You will not be able to create source packages with 'make dist'
+  because $gtk_doc_requires is not found." >&2;}
+  fi
 
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_GCJ=yes
+            # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_GTKDOC_CHECK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$GTKDOC_CHECK"; then
+  ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_GCJ in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then :
-  $as_echo_n "(cached) " >&6
+fi
+fi
+GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+printf "%s\n" "$GTKDOC_CHECK" >&6; }
 else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl_GCJ
-         pic_flag=$lt_prog_compiler_pic_GCJ
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
-         allow_undefined_flag_GCJ=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc_GCJ=no
-         else
-           lt_cv_archive_cmds_need_lc_GCJ=yes
-         fi
-         allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; }
-      archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ
-      ;;
-    esac
+  # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_GTKDOC_CHECK_PATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $GTKDOC_CHECK_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GTKDOC_CHECK_PATH="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
   fi
+done
+  done
+IFS=$as_save_IFS
+
   ;;
 esac
+fi
+GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
+if test -n "$GTKDOC_CHECK_PATH"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
+printf "%s\n" "$GTKDOC_CHECK_PATH" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  for ac_prog in gtkdoc-rebase
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_GTKDOC_REBASE+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $GTKDOC_REBASE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GTKDOC_REBASE="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  ;;
+esac
+fi
+GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
+if test -n "$GTKDOC_REBASE"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
+printf "%s\n" "$GTKDOC_REBASE" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  test -n "$GTKDOC_REBASE" && break
+done
+test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
 
+  # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
+set dummy gtkdoc-mkpdf; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_GTKDOC_MKPDF+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $GTKDOC_MKPDF in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GTKDOC_MKPDF="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  ;;
+esac
+fi
+GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
+if test -n "$GTKDOC_MKPDF"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
+printf "%s\n" "$GTKDOC_MKPDF" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
 
 
+# Check whether --with-html-dir was given.
+if test ${with_html_dir+y}
+then :
+  withval=$with_html_dir;
+else $as_nop
+  with_html_dir='${datadir}/gtk-doc/html'
+fi
 
+  HTML_DIR="$with_html_dir"
 
 
+    # Check whether --enable-gtk-doc was given.
+if test ${enable_gtk_doc+y}
+then :
+  enableval=$enable_gtk_doc;
+else $as_nop
+  enable_gtk_doc=no
+fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+printf %s "checking whether to build gtk-doc documentation... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+printf "%s\n" "$enable_gtk_doc" >&6; }
 
+  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+    as_fn_error $? "
+  You must have $gtk_doc_requires installed to build documentation for
+  $PACKAGE_NAME. Please install gtk-doc or disable building the
+  documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
+  fi
 
+    if test "x$PACKAGE_NAME" != "xglib"; then
 
+pkg_failed=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
+printf %s "checking for GTKDOC_DEPS... " >&6; }
 
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTKDOC_DEPS_CFLAGS"; then
+        pkg_cv_GTKDOC_DEPS_CFLAGS="$GTKDOC_DEPS_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+       pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTKDOC_DEPS_LIBS"; then
+        pkg_cv_GTKDOC_DEPS_LIBS="$GTKDOC_DEPS_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+       pkg_failed=untried
+fi
 
 
 
+if test $pkg_failed = yes; then
 
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0"`
+        else
+               GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0"`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
 
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+                :
+elif test $pkg_failed = untried; then
+       :
+else
+       GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
+       GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+       :
+fi
+  fi
 
+    # Check whether --enable-gtk-doc-html was given.
+if test ${enable_gtk_doc_html+y}
+then :
+  enableval=$enable_gtk_doc_html;
+else $as_nop
+  enable_gtk_doc_html=yes
+fi
 
+    # Check whether --enable-gtk-doc-pdf was given.
+if test ${enable_gtk_doc_pdf+y}
+then :
+  enableval=$enable_gtk_doc_pdf;
+else $as_nop
+  enable_gtk_doc_pdf=no
+fi
 
 
+  if test -z "$GTKDOC_MKPDF"; then
+    enable_gtk_doc_pdf=no
+  fi
 
+  if test -z "$AM_DEFAULT_VERBOSITY"; then
+    AM_DEFAULT_VERBOSITY=1
+  fi
 
 
+   if test x$have_gtk_doc = xyes; then
+  HAVE_GTK_DOC_TRUE=
+  HAVE_GTK_DOC_FALSE='#'
+else
+  HAVE_GTK_DOC_TRUE='#'
+  HAVE_GTK_DOC_FALSE=
+fi
 
+   if test x$enable_gtk_doc = xyes; then
+  ENABLE_GTK_DOC_TRUE=
+  ENABLE_GTK_DOC_FALSE='#'
+else
+  ENABLE_GTK_DOC_TRUE='#'
+  ENABLE_GTK_DOC_FALSE=
+fi
 
+   if test x$enable_gtk_doc_html = xyes; then
+  GTK_DOC_BUILD_HTML_TRUE=
+  GTK_DOC_BUILD_HTML_FALSE='#'
+else
+  GTK_DOC_BUILD_HTML_TRUE='#'
+  GTK_DOC_BUILD_HTML_FALSE=
+fi
 
+   if test x$enable_gtk_doc_pdf = xyes; then
+  GTK_DOC_BUILD_PDF_TRUE=
+  GTK_DOC_BUILD_PDF_FALSE='#'
+else
+  GTK_DOC_BUILD_PDF_TRUE='#'
+  GTK_DOC_BUILD_PDF_FALSE=
+fi
 
+   if test -n "$LIBTOOL"; then
+  GTK_DOC_USE_LIBTOOL_TRUE=
+  GTK_DOC_USE_LIBTOOL_FALSE='#'
+else
+  GTK_DOC_USE_LIBTOOL_TRUE='#'
+  GTK_DOC_USE_LIBTOOL_FALSE=
+fi
 
+   if test -n "$GTKDOC_REBASE"; then
+  GTK_DOC_USE_REBASE_TRUE=
+  GTK_DOC_USE_REBASE_FALSE='#'
+else
+  GTK_DOC_USE_REBASE_TRUE='#'
+  GTK_DOC_USE_REBASE_FALSE=
+fi
 
 
 
 
+# Check for java
+# Check whether --enable-java was given.
+if test ${enable_java+y}
+then :
+  enableval=$enable_java;
+else $as_nop
+  enable_java=no
+fi
 
+if test "$enable_java" != "no"; then
 
 
+# Check whether --with-java-prefix was given.
+if test ${with_java_prefix+y}
+then :
+  withval=$with_java_prefix;
+fi
 
 
+# Check whether --with-javac-flags was given.
+if test ${with_javac_flags+y}
+then :
+  withval=$with_javac_flags;
+fi
 
 
+# Check whether --with-java-flags was given.
+if test ${with_java_flags+y}
+then :
+  withval=$with_java_flags;
+fi
 
+JAVAPREFIX=$with_java_prefix
+JAVACFLAGS=$with_javac_flags
+JAVAFLAGS=$with_java_flags
 
 
+if test "x$JAVAPREFIX" = x
+then :
+  test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAVAC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$JAVAC"; then
+  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_JAVAC="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+JAVAC=$ac_cv_prog_JAVAC
+if test -n "$JAVAC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+printf "%s\n" "$JAVAC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  test -n "$JAVAC" && break
+done
 
+else $as_nop
+  test "x$JAVAC" = x && for ac_prog in "gcj -C" guavac jikes javac
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAVAC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$JAVAC"; then
+  ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX/bin
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_JAVAC="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+JAVAC=$ac_cv_prog_JAVAC
+if test -n "$JAVAC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+printf "%s\n" "$JAVAC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  test -n "$JAVAC" && break
+done
 
+fi
+test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
+printf %s "checking if $JAVAC works... " >&6; }
+if test ${ac_cv_prog_javac_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" ||
-   test -n "$runpath_var_GCJ" ||
-   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct_GCJ" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+cat << \EOF > $JAVA_TEST
+/* #line 33520 "configure" */
+public class Test {
+}
+EOF
+if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; } >/dev/null 2>&1; then
+  ac_cv_prog_javac_works=yes
 else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
+  as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
+  echo "configure: failed program was:" >&5
+  cat $JAVA_TEST >&5
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5
-$as_echo "$hardcode_action_GCJ" >&6; }
+rm -f $JAVA_TEST $CLASS_TEST
 
-if test "$hardcode_action_GCJ" = relink ||
-   test "$inherit_rpath_GCJ" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
+printf "%s\n" "$ac_cv_prog_javac_works" >&6; }
 
 
 
+if test "x$JAVAPREFIX" = x
+then :
+  test "x$JAVADOC" = x && for ac_prog in javadoc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAVADOC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$JAVADOC"; then
+  ac_cv_prog_JAVADOC="$JAVADOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_JAVADOC="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+JAVADOC=$ac_cv_prog_JAVADOC
+if test -n "$JAVADOC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5
+printf "%s\n" "$JAVADOC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
+  test -n "$JAVADOC" && break
+done
 
-fi
+else $as_nop
+  test "x$JAVADOC" = x && for ac_prog in javadoc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAVADOC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$JAVADOC"; then
+  ac_cv_prog_JAVADOC="$JAVADOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVAPREFIX/bin
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_JAVADOC="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+fi
+fi
+JAVADOC=$ac_cv_prog_JAVADOC
+if test -n "$JAVADOC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5
+printf "%s\n" "$JAVADOC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
+  test -n "$JAVADOC" && break
+done
 
-if test "$enable_java" != "no"; then
+fi
+test "x$JAVADOC" = x && as_fn_error $? "no acceptable javadoc generator found in \$PATH" "$LINENO" 5
 
 
-if test "x$JAVAPREFIX" = x; then
-        test "x$JAR" = x && for ac_prog in jar$EXEEXT
+if test "x$JAVAPREFIX" = x
+then :
+  test "x$JAR" = x && for ac_prog in jar
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$JAR"; then
   ac_cv_prog_JAR="$JAR" # Let the user override the test.
 else
@@ -31990,11 +33661,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_JAR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 JAR=$ac_cv_prog_JAR
 if test -n "$JAR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
-$as_echo "$JAR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
+printf "%s\n" "$JAR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$JAR" && break
 done
 
-else
-        test "x$JAR" = x && for ac_prog in jar
+else $as_nop
+  test "x$JAR" = x && for ac_prog in jar
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_JAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_JAR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$JAR"; then
   ac_cv_prog_JAR="$JAR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+for as_dir in $JAVAPREFIX/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_JAR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 fi
 JAR=$ac_cv_prog_JAR
 if test -n "$JAR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
-$as_echo "$JAR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
+printf "%s\n" "$JAR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$JAR" && break
 done
-test -n "$JAR" || JAR="$JAVAPREFIX"
 
 fi
 test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "$LINENO" 5
 
 
-GJDOC=${GJDOC-"${am_missing_run}gjdoc"}
+JAVADOC=${JAVADOC-"${am_missing_run}javadoc"}
 
 fi
  if test "$enable_java" != "no"; then
@@ -32075,74 +33754,42 @@ else
   JAVA_FALSE=
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in Java should be built" >&5
-$as_echo_n "checking if implementation in Java should be built... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_java" >&5
-$as_echo "$enable_java" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if implementation in Java should be built" >&5
+printf %s "checking if implementation in Java should be built... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_java" >&5
+printf "%s\n" "$enable_java" >&6; }
 
 # Check for C#
 if test -n "$HAVE_CSHARPCOMP"; then
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C# program execution engine" >&5
-$as_echo_n "checking for C# program execution engine... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C# program execution engine" >&5
+printf %s "checking for C# program execution engine... " >&6; }
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+#if defined _WIN32 || defined __EMX__ || defined __DJGPP__
   yes
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
+  $EGREP "yes" >/dev/null 2>&1
+then :
   MONO_PATH_SEPARATOR=';'
-else
+else $as_nop
   MONO_PATH_SEPARATOR=':'
 fi
-rm -f conftest*
+rm -rf conftest*
 
   HAVE_CSHARPEXEC=1
-        # Extract the first word of "ilrun", so it can be a program name with args.
-set dummy ilrun; ac_word=$2
-:
-if ${ac_cv_prog_HAVE_ILRUN_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$HAVE_ILRUN_IN_PATH"; then
-  ac_cv_prog_HAVE_ILRUN_IN_PATH="$HAVE_ILRUN_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_HAVE_ILRUN_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-HAVE_ILRUN_IN_PATH=$ac_cv_prog_HAVE_ILRUN_IN_PATH
-if test -n "$HAVE_ILRUN_IN_PATH"; then
-  :
-else
-  :
-fi
-
-
-  # Extract the first word of "mono", so it can be a program name with args.
+        # Extract the first word of "mono", so it can be a program name with args.
 set dummy mono; ac_word=$2
 :
-if ${ac_cv_prog_HAVE_MONO_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_prog_HAVE_MONO_IN_PATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$HAVE_MONO_IN_PATH"; then
   ac_cv_prog_HAVE_MONO_IN_PATH="$HAVE_MONO_IN_PATH" # Let the user override the test.
 else
@@ -32150,11 +33797,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_HAVE_MONO_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
   # Extract the first word of "clix", so it can be a program name with args.
 set dummy clix; ac_word=$2
 :
-if ${ac_cv_prog_HAVE_CLIX_IN_PATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_prog_HAVE_CLIX_IN_PATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$HAVE_CLIX_IN_PATH"; then
   ac_cv_prog_HAVE_CLIX_IN_PATH="$HAVE_CLIX_IN_PATH" # Let the user override the test.
 else
@@ -32184,11 +33836,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_HAVE_CLIX_IN_PATH="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -32205,17 +33861,8 @@ else
 fi
 
 
-        for impl in "$CSHARP_CHOICE" pnet mono no; do
+        for impl in "$CSHARP_CHOICE" mono no; do
     case "$impl" in
-      pnet)
-        if test -n "$HAVE_ILRUN_IN_PATH" \
-           && ilrun --version >/dev/null 2>/dev/null \
-           ; then
-          HAVE_ILRUN=1
-          ac_result="ilrun"
-          break
-        fi
-        ;;
       mono)
         if test -n "$HAVE_MONO_IN_PATH" \
            && mono --version >/dev/null 2>/dev/null \
@@ -32230,7 +33877,7 @@ fi
            ; then
           HAVE_CLIX=1
           case $host_os in
-            cygwin* | mingw* | pw32*)
+            cygwin* | mingw* | windows* | pw32*)
               CLIX_PATH_VAR=PATH
               ;;
             darwin* | rhapsody*)
         ;;
     esac
   done
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
-$as_echo "$ac_result" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
+printf "%s\n" "$ac_result" >&6; }
+
+
+
+
+
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if implementation in C# should be built" >&5
+printf %s "checking if implementation in C# should be built... " >&6; }
+if test -n "$HAVE_CSHARPCOMP" && test -n "$HAVE_CSHARPEXEC"; then
+  enable_csharp=yes
+else
+  enable_csharp=no
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_csharp" >&5
+printf "%s\n" "$enable_csharp" >&6; }
+ if test "$enable_csharp" = yes; then
+  CSHARP_TRUE=
+  CSHARP_FALSE='#'
+else
+  CSHARP_TRUE='#'
+  CSHARP_FALSE=
+fi
+
+
+ubsan=no
+# Check whether --enable-ubsan was given.
+if test ${enable_ubsan+y}
+then :
+  enableval=$enable_ubsan;
+    if test "$enableval" = yes; then
+      ubsan=yes
+      CFLAGS=$CFLAGS" -fsanitize=undefined -fno-sanitize-recover=undefined"
+    fi
+
+fi
+
+
+asan=no
+# Check whether --enable-asan was given.
+if test ${enable_asan+y}
+then :
+  enableval=$enable_asan;
+    if test "$enableval" = yes; then
+      asan=yes
+      CFLAGS=$CFLAGS" -fsanitize=address -fno-omit-frame-pointer"
+    fi
+
+fi
+
+
+# Check whether --enable-gcc-warnings was given.
+if test ${enable_gcc_warnings+y}
+then :
+  enableval=$enable_gcc_warnings;
+fi
+
+
+# https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5
+printf %s "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; }
+if test ${gl_cv_warn_c__Werror__Wunknown_warning_option+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_warn_c__Werror__Wunknown_warning_option=yes
+else $as_nop
+  gl_cv_warn_c__Werror__Wunknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5
+printf "%s\n" "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; }
+if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes
+then :
+  gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'
+else $as_nop
+  gl_unknown_warnings_are_errors=
+fi
 
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+if test "$enable_gcc_warnings" != no
+then :
 
+   # Set up the list of unwanted warning options.
+   nw=
+   if test "$enable_gcc_warnings" = yes; then
+     nw="$nw -fanalyzer"
+   fi
+   nw="$nw -Wbad-function-cast" # Casting a function's result is not more
+                                # dangerous than casting any other value.
+   nw="$nw -Winline"            # It's OK to not inline.
+   nw="$nw -Wsign-compare"      # Too many false alarms.
+   nw="$nw -Wstrict-overflow"   # It's OK to optimize strictly.
+   nw="$nw -Wsystem-headers"    # Don't warn in system headers.
 
+   nw="$nw -Wsuggest-attribute=pure"  # Is it worth using attributes?
+   nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
+   nw="$nw -Wmissing-field-initializers" # We use missing fields = 0 a lot
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wframe-larger-than=208" >&5
+printf %s "checking whether C compiler handles -Wframe-larger-than=208... " >&6; }
+if test ${gl_cv_warn_c__Wframe_larger_than_208+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in C# should be built" >&5
-$as_echo_n "checking if implementation in C# should be built... " >&6; }
-if test -n "$HAVE_CSHARPCOMP" && test -n "$HAVE_CSHARPEXEC"; then
-  enable_csharp=yes
-else
-  enable_csharp=no
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_csharp" >&5
-$as_echo "$enable_csharp" >&6; }
- if test "$enable_csharp" = yes; then
-  CSHARP_TRUE=
-  CSHARP_FALSE='#'
-else
-  CSHARP_TRUE='#'
-  CSHARP_FALSE=
-fi
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wframe-larger-than=208"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+int
+main (void)
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_warn_c__Wframe_larger_than_208=yes
+else $as_nop
+  gl_cv_warn_c__Wframe_larger_than_208=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-  # Update version number in lib/libtasn1.h.
-  if ! sed 's/_VERSION ".*"/_VERSION "'$PACKAGE_VERSION'"/' $srcdir/lib/stringprep.h > fixhdr.tmp; then
-    as_fn_error $? "*** Failed to update version number in $srcdir/lib/stringprep.h..." "$LINENO" 5
-  fi
-  if cmp -s $srcdir/lib/stringprep.h fixhdr.tmp 2>/dev/null; then
-    rm -f fixhdr.tmp
-  elif ! mv fixhdr.tmp $srcdir/lib/stringprep.h; then
-    as_fn_error $? "*** Failed to move fixhdr.tmp to $srcdir/lib/stringprep.h..." "$LINENO" 5
-  fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wframe_larger_than_208" >&5
+printf "%s\n" "$gl_cv_warn_c__Wframe_larger_than_208" >&6; }
+if test "x$gl_cv_warn_c__Wframe_larger_than_208" = xyes
+then :
+  as_fn_append WARN_LIB_CFLAGS " -Wframe-larger-than=208"
+fi
 
 
-# Check whether --enable-gcc-warnings was given.
-if test "${enable_gcc_warnings+set}" = set; then :
-  enableval=$enable_gcc_warnings; case $enableval in
-     yes|no) ;;
-     *)      as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;;
-   esac
-   gl_gcc_warnings=$enableval
-else
-  gl_gcc_warnings=no
 
-fi
+   if test "$enable_gcc_warnings" = error; then
 
 
-if test "$gl_gcc_warnings" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5
-$as_echo_n "checking whether C compiler handles -Werror... " >&6; }
-if ${gl_cv_warn_c__Werror+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5
+printf %s "checking whether C compiler handles -Werror... " >&6; }
+if test ${gl_cv_warn_c__Werror+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
   gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " -Werror"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   gl_cv_warn_c__Werror=yes
-else
+else $as_nop
   gl_cv_warn_c__Werror=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
   CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5
-$as_echo "$gl_cv_warn_c__Werror" >&6; }
-if test "x$gl_cv_warn_c__Werror" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5
+printf "%s\n" "$gl_cv_warn_c__Werror" >&6; }
+if test "x$gl_cv_warn_c__Werror" = xyes
+then :
   as_fn_append WERROR_CFLAGS " -Werror"
 fi
 
 
-  as_gl_Warn=`$as_echo "gl_cv_warn_c_-Wframe-larger-than=112" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wframe-larger-than=112" >&5
-$as_echo_n "checking whether C compiler handles -Wframe-larger-than=112... " >&6; }
-if eval \${$as_gl_Warn+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-error=suggest-attribute=malloc" >&5
+printf %s "checking whether C compiler handles -Wno-error=suggest-attribute=malloc... " >&6; }
+if test ${gl_cv_warn_c__Wno_error_suggest_attribute_malloc+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
   gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " -Wframe-larger-than=112"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror=suggest-attribute=malloc"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Warn=yes"
-else
-  eval "$as_gl_Warn=no"
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_warn_c__Wno_error_suggest_attribute_malloc=yes
+else $as_nop
+  gl_cv_warn_c__Wno_error_suggest_attribute_malloc=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
   CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-eval ac_res=\$$as_gl_Warn
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then :
-  as_fn_append WSTACK_CFLAGS " -Wframe-larger-than=112"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_error_suggest_attribute_malloc" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_error_suggest_attribute_malloc" >&6; }
+if test "x$gl_cv_warn_c__Wno_error_suggest_attribute_malloc" = xyes
+then :
+  as_fn_append WERROR_CFLAGS " -Wno-error=suggest-attribute=malloc"
 fi
 
 
 
-  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
-  nw="$nw -Wpadded"                 # Struct in src/idn_cmd.h is not padded
-  nw="$nw -Wformat"                 # Self tests and examples print size_t as %d
-  nw="$nw -Wc++-compat"             # We don't care strongly about C++ compilers
-  nw="$nw -Woverlength-strings"     # Some of our strings are too large
-  nw="$nw -Wsign-conversion"        # Too many warnings for now
-  nw="$nw -Wconversion"             # Too many warnings for now
-  nw="$nw -Wtraditional"            # Warns on #elif which we use often
-  nw="$nw -Wtraditional-conversion" # Too many warnings for now
-  nw="$nw -Wmissing-noreturn"       # Too many warnings for now
-  nw="$nw -Wunreachable-code"       # Too many false positives
-  nw="$nw -Wlogical-op"             # Too many false positives
-  nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes?
-  nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-error=overlength-strings" >&5
+printf %s "checking whether C compiler handles -Wno-error=overlength-strings... " >&6; }
+if test ${gl_cv_warn_c__Wno_error_overlength_strings+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror=overlength-strings"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-  if test -n "$GCC"; then
+int
+main (void)
+{
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5
-$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; }
-    if ${gl_cv_cc_nomfi_supported+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_warn_c__Wno_error_overlength_strings=yes
+else $as_nop
+  gl_cv_warn_c__Wno_error_overlength_strings=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_error_overlength_strings" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_error_overlength_strings" >&6; }
+if test "x$gl_cv_warn_c__Wno_error_overlength_strings" = xyes
+then :
+  as_fn_append WERROR_CFLAGS " -Wno-error=overlength-strings"
+fi
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-error=analyzer-out-of-bounds" >&5
+printf %s "checking whether C compiler handles -Wno-error=analyzer-out-of-bounds... " >&6; }
+if test ${gl_cv_warn_c__Wno_error_analyzer_out_of_bounds+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror=analyzer-out-of-bounds"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_nomfi_supported=yes
-else
-  gl_cv_cc_nomfi_supported=no
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_warn_c__Wno_error_analyzer_out_of_bounds=yes
+else $as_nop
+  gl_cv_warn_c__Wno_error_analyzer_out_of_bounds=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
+
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_error_analyzer_out_of_bounds" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_error_analyzer_out_of_bounds" >&6; }
+if test "x$gl_cv_warn_c__Wno_error_analyzer_out_of_bounds" = xyes
+then :
+  as_fn_append WERROR_CFLAGS " -Wno-error=analyzer-out-of-bounds"
 fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
-$as_echo "$gl_cv_cc_nomfi_supported" >&6; }
 
-    if test "$gl_cv_cc_nomfi_supported" = yes; then
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5
-$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; }
-      if ${gl_cv_cc_nomfi_needed+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+   fi
 
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+   # Setup the list of meaningful warning options for the C compiler.
+   # The list comes from manywarnings.m4. Warning options that are not
+   # generally meaningful have already been filtered out (cf.
+   # build-aux/gcc-warning.spec).
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+  if test -n "$GCC"
+then :
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5
+printf %s "checking whether -Wno-missing-field-initializers is needed... " >&6; }
+if test ${gl_cv_cc_nomfi_needed+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_cv_cc_nomfi_needed=no
+       gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Wextra -Werror"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-void f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-               }
+struct file_data { int desc, name; };
+              struct cmp { struct file_data file[1]; };
+              void f (struct cmp *r)
+              {
+                typedef struct { int a; int b; } s_t;
+                s_t s1 = { 0, };
+                struct cmp cmp = { .file[0].desc = r->file[0].desc + s1.a };
+                *r = cmp;
+              }
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_cc_nomfi_needed=no
-else
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  CFLAGS="$CFLAGS -Wno-missing-field-initializers"
+          if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_cc_nomfi_needed=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        CFLAGS="$gl_save_CFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
+printf "%s\n" "$gl_cv_cc_nomfi_needed" >&6; }
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
-$as_echo "$gl_cv_cc_nomfi_needed" >&6; }
-    fi
-  fi
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5
+printf %s "checking whether -Wuninitialized is supported... " >&6; }
+if test ${gl_cv_cc_uninitialized_supported+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror -Wuninitialized"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  gl_cv_cc_uninitialized_supported=yes
+else $as_nop
+  gl_cv_cc_uninitialized_supported=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       CFLAGS="$gl_save_CFLAGS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5
+printf "%s\n" "$gl_cv_cc_uninitialized_supported" >&6; }
+
+fi
+
+  # List all gcc warning categories.
+  # To compare this list to your installed GCC's, run this Bash command:
+  #
+  # comm -3 \
+  #  <((sed -n 's/^  *\(-[^ 0-9][^ ]*\).*/\1/p' manywarnings.m4; \
+  #     awk '/^[^#]/ {print possible_warning_options}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
-  gl_manywarn_set=
-  for gl_manywarn_item in \
+  possible_warning_options=
+  for gl_manywarn_item in -fanalyzer -fstrict-flex-arrays \
     -Wall \
-    -W \
-    -Wformat-y2k \
-    -Wformat-nonliteral \
-    -Wformat-security \
-    -Winit-self \
-    -Wmissing-include-dirs \
-    -Wswitch-default \
-    -Wswitch-enum \
-    -Wunused \
-    -Wunknown-pragmas \
-    -Wstrict-aliasing \
-    -Wstrict-overflow \
-    -Wsystem-headers \
-    -Wfloat-equal \
-    -Wtraditional \
-    -Wtraditional-conversion \
-    -Wdeclaration-after-statement \
-    -Wundef \
-    -Wshadow \
-    -Wunsafe-loop-optimizations \
-    -Wpointer-arith \
+    -Warith-conversion \
     -Wbad-function-cast \
-    -Wc++-compat \
-    -Wcast-qual \
-    -Wcast-align \
-    -Wwrite-strings \
-    -Wconversion \
-    -Wsign-conversion \
+    -Wcast-align=strict \
+    -Wdate-time \
+    -Wdisabled-optimization \
+    -Wdouble-promotion \
+    -Wduplicated-branches \
+    -Wduplicated-cond \
+    -Wextra \
+    -Wformat-signedness \
+    -Winit-self \
+    -Winline \
+    -Winvalid-pch \
     -Wlogical-op \
-    -Waggregate-return \
-    -Wstrict-prototypes \
-    -Wold-style-definition \
-    -Wmissing-prototypes \
     -Wmissing-declarations \
-    -Wmissing-noreturn \
-    -Wmissing-format-attribute \
-    -Wpacked \
-    -Wpadded \
-    -Wredundant-decls \
+    -Wmissing-include-dirs \
+    -Wmissing-prototypes \
     -Wnested-externs \
-    -Wunreachable-code \
-    -Winline \
-    -Winvalid-pch \
-    -Wlong-long \
-    -Wvla \
-    -Wvolatile-register-var \
-    -Wdisabled-optimization \
-    -Wstack-protector \
+    -Wnull-dereference \
+    -Wold-style-definition \
+    -Wopenmp-simd \
     -Woverlength-strings \
-    -Wbuiltin-macro-redefined \
-    -Wmudflap \
-    -Wpacked-bitfield-compat \
-    -Wsync-nand \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # The following are not documented in the manual but are included in
-  # output from gcc --help=warnings.
-  for gl_manywarn_item in \
-    -Wattributes \
-    -Wcoverage-mismatch \
-    -Wmultichar \
-    -Wunused-macros \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # More warnings from gcc 4.6.2 --help=warnings.
-  for gl_manywarn_item in \
-    -Wabi \
-    -Wcpp \
-    -Wdeprecated \
-    -Wdeprecated-declarations \
-    -Wdiv-by-zero \
-    -Wdouble-promotion \
-    -Wendif-labels \
-    -Wextra \
-    -Wformat-contains-nul \
-    -Wformat-extra-args \
-    -Wformat-zero-length \
-    -Wformat=2 \
-    -Wmultichar \
-    -Wnormalized=nfc \
-    -Woverflow \
-    -Wpointer-to-int-cast \
-    -Wpragmas \
+    -Wpacked \
+    -Wpointer-arith \
+    -Wshadow \
+    -Wstack-protector \
+    -Wstrict-flex-arrays \
+    -Wstrict-overflow \
+    -Wstrict-prototypes \
+    -Wsuggest-attribute=cold \
     -Wsuggest-attribute=const \
+    -Wsuggest-attribute=format \
+    -Wsuggest-attribute=malloc \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
+    -Wsuggest-final-methods \
+    -Wsuggest-final-types \
+    -Wsync-nand \
+    -Wsystem-headers \
     -Wtrampolines \
+    -Wuninitialized \
+    -Wunknown-pragmas \
+    -Wunsafe-loop-optimizations \
+    -Wunused-macros \
+    -Wvariadic-macros \
+    -Wvector-operation-performance \
+    -Wvla \
+    -Wwrite-strings \
+    \
     ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
+    as_fn_append possible_warning_options " $gl_manywarn_item"
   done
 
-  # Disable the missing-field-initializers warning if needed
+  # gcc --help=warnings outputs an unusual form for these options; list
+  # them here so that the above 'comm' command doesn't report a false match.
+  as_fn_append possible_warning_options ' -Warray-bounds=2'
+  as_fn_append possible_warning_options ' -Wattribute-alias=2'
+  as_fn_append possible_warning_options ' -Wbidi-chars=any,ucn'
+  as_fn_append possible_warning_options ' -Wformat-overflow=2'
+  as_fn_append possible_warning_options ' -Wformat=2'
+  as_fn_append possible_warning_options ' -Wformat-truncation=2'
+  as_fn_append possible_warning_options ' -Wimplicit-fallthrough=5'
+  as_fn_append possible_warning_options ' -Wshift-overflow=2'
+  as_fn_append possible_warning_options ' -Wuse-after-free=3'
+  as_fn_append possible_warning_options ' -Wunused-const-variable=2'
+  as_fn_append possible_warning_options ' -Wvla-larger-than=4031'
+
+  # These are needed for older GCC versions.
+  if test -n "$GCC" && gl_gcc_version=`($CC --version) 2>/dev/null`; then
+    case $gl_gcc_version in
+      'gcc (GCC) '[0-3].* | \
+      'gcc (GCC) '4.[0-7].*)
+        as_fn_append possible_warning_options ' -fdiagnostics-show-option'
+        as_fn_append possible_warning_options ' -funit-at-a-time'
+          ;;
+    esac
+    case $gl_gcc_version in
+      'gcc (GCC) '[0-9].*)
+        as_fn_append possible_warning_options ' -fno-common'
+          ;;
+    esac
+  fi
+
+  # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
-    gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
+    as_fn_append possible_warning_options ' -Wno-missing-field-initializers'
+  fi
+
+  if test "$gl_cv_cc_uninitialized_supported" = no; then
+    as_fn_append possible_warning_options ' -Wno-uninitialized'
   fi
 
-  ws=$gl_manywarn_set
+  # This warning have too many false alarms in GCC 11.2.1.
+  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101713
+  as_fn_append possible_warning_options ' -Wno-analyzer-malloc-leak'
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 
 
+   # Compute the list of warning options that are desired.
+
   gl_warn_set=
-  set x $ws; shift
+  set x $possible_warning_options; shift
   for gl_warn_item
   do
     case " $nw " in
       *" $gl_warn_item "*)
         ;;
       *)
-        gl_warn_set="$gl_warn_set $gl_warn_item"
+        as_fn_append gl_warn_set " $gl_warn_item"
         ;;
     esac
   done
-  ws=$gl_warn_set
+  desired_warning_options=$gl_warn_set
 
-  for w in $ws; do
-    as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
-$as_echo_n "checking whether C compiler handles $w... " >&6; }
-if eval \${$as_gl_Warn+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+   # Compute the list of remaining undesired warning options.
+   # Namely those, that were not in manywarnings.m4 because they were
+   # already listed in build-aux/gcc-warning.spec; this includes those
+   # that are implied by -Wall.
+
+  gl_warn_set=
+  set x $nw; shift
+  for gl_warn_item
+  do
+    case " $possible_warning_options " in
+      *" $gl_warn_item "*)
+        ;;
+      *)
+        as_fn_append gl_warn_set " $gl_warn_item"
+        ;;
+    esac
+  done
+  remaining_undesired_warning_options=$gl_warn_set
+
+
+   # Add the desired warning options to WARN_CFLAGS.
+   for w in $desired_warning_options; do
+
+
+as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | $as_tr_sh`
+gl_positive="$w"
+case $gl_positive in
+  -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
+esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
+printf %s "checking whether C compiler handles $w... " >&6; }
+if eval test \${$as_gl_Warn+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
   gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " $w"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$as_gl_Warn=yes"
-else
+else $as_nop
   eval "$as_gl_Warn=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
   CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
 eval ac_res=\$$as_gl_Warn
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then :
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_gl_Warn"\" = x"yes"
+then :
   as_fn_append WARN_CFLAGS " $w"
 fi
 
 
-  done
+   done
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5
-$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; }
-if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+   # Add the opposites of the remaining undesired warning options to
+   # WARN_CFLAGS.
+   for w in `echo "$remaining_undesired_warning_options" | sed -e 's/-W/-Wno-/g'`; do
+
+
+as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | $as_tr_sh`
+gl_positive="$w"
+case $gl_positive in
+  -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
+esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
+printf %s "checking whether C compiler handles $w... " >&6; }
+if eval test \${$as_gl_Warn+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
   gl_save_compiler_FLAGS="$CFLAGS"
-  as_fn_append CFLAGS " -fdiagnostics-show-option"
+  as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_warn_c__fdiagnostics_show_option=yes
-else
-  gl_cv_warn_c__fdiagnostics_show_option=no
+if ac_fn_c_try_link "$LINENO"
+then :
+  eval "$as_gl_Warn=yes"
+else $as_nop
+  eval "$as_gl_Warn=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
   CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5
-$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; }
-if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then :
-  as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
+eval ac_res=\$$as_gl_Warn
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_gl_Warn"\" = x"yes"
+then :
+  as_fn_append WARN_CFLAGS " $w"
+fi
+
+
+   done
+
 fi
 
+# Check whether --enable-doc was given.
+if test ${enable_doc+y}
+then :
+  enableval=$enable_doc; enable_doc=$enableval
+else $as_nop
+  enable_doc=yes
+fi
 
+ if test "$enable_doc" != "no"; then
+  ENABLE_DOC_TRUE=
+  ENABLE_DOC_FALSE='#'
+else
+  ENABLE_DOC_TRUE='#'
+  ENABLE_DOC_FALSE=
 fi
 
-ac_config_files="$ac_config_files Makefile contrib/doxygen/Doxyfile csharp/Makefile doc/Makefile doc/cyclo/Makefile doc/java/Makefile doc/reference/Makefile doc/reference/version.xml doc/specifications/Makefile doc/tld/Makefile examples/Makefile gl/Makefile gltests/Makefile java/Makefile java/gnu/Makefile java/gnu/inet/Makefile java/gnu/inet/encoding/Makefile java/misc/Makefile lib/Makefile lib/gl/Makefile lib/gltests/Makefile libidn.pc po/Makefile.in pom.xml src/Makefile tests/Makefile"
+
+
+ac_config_files="$ac_config_files Makefile contrib/doxygen/Doxyfile csharp/Makefile doc/Makefile doc/cyclo/Makefile doc/java/Makefile doc/reference/Makefile doc/reference/version.xml doc/specifications/Makefile doc/tld/Makefile examples/Makefile fuzz/Makefile gl/Makefile java/Makefile java/pom.xml java/src/Makefile java/src/main/Makefile java/src/main/java/Makefile java/src/main/java/gnu/Makefile java/src/main/java/gnu/inet/Makefile java/src/main/java/gnu/inet/encoding/Makefile java/src/test/Makefile java/src/test/java/Makefile java/src/util/Makefile java/src/util/java/Makefile lib/Makefile lib/gl/Makefile lib/libidn.pc po/Makefile.in src/Makefile tests/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -32694,8 +34643,8 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -32725,15 +34674,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      /^ac_cv_env_/b end
      t clear
      :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
      t end
      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
       if test ! -f "$cache_file" || test -h "$cache_file"; then
        cat confcache >"$cache_file"
       else
@@ -32747,8 +34696,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;}
       fi
     fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -32765,7 +34714,7 @@ U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -32776,6 +34725,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+printf %s "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
+printf "%s\n" "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -32792,148 +34749,146 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+# Check whether --enable-year2038 was given.
+if test ${enable_year2038+y}
+then :
+  enableval=$enable_year2038;
+fi
+
 if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
   as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-CONFIG_INCLUDE=config.h
-
-if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined.
+if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
+if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+CONFIG_INCLUDE=config.h
+
 
     gl_libobjs=
     gl_ltlibobjs=
+    gl_libobjdeps=
     if test -n "$gl_LIBOBJS"; then
       # Remove the extension.
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
       for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         gl_libobjs="$gl_libobjs $i.$ac_objext"
         gl_ltlibobjs="$gl_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        gl_libobjdeps="$gl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     gl_LIBOBJS=$gl_libobjs
 
     gl_LTLIBOBJS=$gl_ltlibobjs
 
+    gl_LIBOBJDEPS=$gl_libobjdeps
+
+
 
-if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
     gltests_libobjs=
     gltests_ltlibobjs=
+    gltests_libobjdeps=
     if test -n "$gltests_LIBOBJS"; then
       # Remove the extension.
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
       for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         gltests_libobjs="$gltests_libobjs $i.$ac_objext"
         gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     gltests_LIBOBJS=$gltests_libobjs
 
     gltests_LTLIBOBJS=$gltests_ltlibobjs
 
+    gltests_LIBOBJDEPS=$gltests_libobjdeps
+
 
 if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
   as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE}"; then
-  as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then
-  as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
     lgl_libobjs=
     lgl_ltlibobjs=
+    lgl_libobjdeps=
     if test -n "$lgl_LIBOBJS"; then
       # Remove the extension.
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
       for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         lgl_libobjs="$lgl_libobjs $i.$ac_objext"
         lgl_ltlibobjs="$lgl_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        lgl_libobjdeps="$lgl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     lgl_LIBOBJS=$lgl_libobjs
 
     lgl_LTLIBOBJS=$lgl_ltlibobjs
 
+    lgl_LIBOBJDEPS=$lgl_libobjdeps
+
 
-if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
     lgltests_libobjs=
     lgltests_ltlibobjs=
+    lgltests_libobjdeps=
     if test -n "$lgltests_LIBOBJS"; then
       # Remove the extension.
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
       for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         lgltests_libobjs="$lgltests_libobjs $i.$ac_objext"
         lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        lgltests_libobjdeps="$lgltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     lgltests_LIBOBJS=$lgltests_libobjs
 
     lgltests_LTLIBOBJS=$lgltests_ltlibobjs
 
+    lgltests_LIBOBJDEPS=$lgltests_libobjdeps
+
 
 if test -z "${TLD_TRUE}" && test -z "${TLD_FALSE}"; then
   as_fn_error $? "conditional \"TLD\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
   as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32954,14 +34909,6 @@ if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"
   as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${am__fastdepGCJ_TRUE}" && test -z "${am__fastdepGCJ_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepGCJ\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepGCJ_TRUE}" && test -z "${am__fastdepGCJ_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepGCJ\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${JAVA_TRUE}" && test -z "${JAVA_FALSE}"; then
   as_fn_error $? "conditional \"JAVA\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32970,13 +34917,17 @@ if test -z "${CSHARP_TRUE}" && test -z "${CSHARP_FALSE}"; then
   as_fn_error $? "conditional \"CSHARP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${ENABLE_DOC_TRUE}" && test -z "${ENABLE_DOC_FALSE}"; then
+  as_fn_error $? "conditional \"ENABLE_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
 as_write_fail=0
 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
@@ -32999,14 +34950,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -33016,46 +34969,46 @@ esac
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""       $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -33064,13 +35017,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -33079,8 +35025,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -33092,30 +35042,10 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
@@ -33128,13 +35058,14 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -33161,18 +35092,20 @@ as_fn_unset ()
   { eval $1=; unset $1;}
 }
 as_unset=as_fn_unset
+
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -33184,12 +35117,13 @@ fi # as_fn_append
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
@@ -33220,7 +35154,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -33242,6 +35176,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -33255,6 +35193,12 @@ case `echo -n x` in #(((((
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -33268,16 +35212,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -33296,7 +35240,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -33305,7 +35249,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -33337,28 +35281,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -33379,8 +35311,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GNU Libidn $as_me 1.25, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+This file was extended by GNU Libidn $as_me 1.42, which was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -33443,19 +35375,21 @@ $config_links
 Configuration commands:
 $config_commands
 
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: <http://www.gnu.org/software/libidn/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
+Report bugs to <help-libidn@gnu.org>.
+GNU Libidn home page: <https://www.gnu.org/software/libidn/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
 
 _ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-GNU Libidn config.status 1.25
-configured by $0, generated by GNU Autoconf 2.68,
+GNU Libidn config.status 1.42
+configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
+    printf "%s\n" "$ac_cs_version"; exit ;;
   --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
+    printf "%s\n" "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
@@ -33511,7 +35445,7 @@ do
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -33520,7 +35454,7 @@ do
     as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
+    printf "%s\n" "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
@@ -33546,9 +35480,9 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
   exec "\$@"
@@ -33562,7 +35496,7 @@ exec 5>>config.log
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  $as_echo "$ac_log"
+  printf "%s\n" "$ac_log"
 } >&5
 
 _ACEOF
@@ -33570,7 +35504,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
 
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -33580,15 +35514,16 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 sed_quote_subst='$sed_quote_subst'
 double_quote_subst='$double_quote_subst'
 delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
 AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -33636,10 +35571,13 @@ compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -33704,55 +35642,14 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`'
-reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`'
-reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`'
-GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`'
-inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`'
-always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`'
-include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`'
-prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
-file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`'
-hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`'
 
 LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
@@ -33798,9 +35695,12 @@ CFLAGS \
 compiler \
 lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
 nm_file_list_spec \
+lt_cv_truncate_bin \
 lt_prog_compiler_no_builtin_flag \
 lt_prog_compiler_pic \
 lt_prog_compiler_wl \
@@ -33832,29 +35732,10 @@ soname_spec \
 install_override_mode \
 finish_eval \
 old_striplib \
-striplib \
-LD_GCJ \
-reload_flag_GCJ \
-compiler_GCJ \
-lt_prog_compiler_no_builtin_flag_GCJ \
-lt_prog_compiler_pic_GCJ \
-lt_prog_compiler_wl_GCJ \
-lt_prog_compiler_static_GCJ \
-lt_cv_prog_compiler_c_o_GCJ \
-export_dynamic_flag_spec_GCJ \
-whole_archive_flag_spec_GCJ \
-compiler_needs_object_GCJ \
-with_gnu_ld_GCJ \
-allow_undefined_flag_GCJ \
-no_undefined_flag_GCJ \
-hardcode_libdir_flag_spec_GCJ \
-hardcode_libdir_separator_GCJ \
-exclude_expsyms_GCJ \
-include_expsyms_GCJ \
-file_list_spec_GCJ; do
+striplib; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -33881,21 +35762,11 @@ postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
-reload_cmds_GCJ \
-old_archive_cmds_GCJ \
-old_archive_from_new_cmds_GCJ \
-old_archive_from_expsyms_cmds_GCJ \
-archive_cmds_GCJ \
-archive_expsym_cmds_GCJ \
-module_cmds_GCJ \
-module_expsym_cmds_GCJ \
-export_symbols_cmds_GCJ \
-prelink_cmds_GCJ \
-postlink_cmds_GCJ; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -33904,26 +35775,21 @@ postlink_cmds_GCJ; do
 done
 
 ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
 
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
 # commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
 
     PACKAGE='$PACKAGE'
     VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
     RM='$RM'
     ofile='$ofile'
 
 
 
-
-
 # Capture the value of obsolete ALL_LINGUAS because we need it to compute
     # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
     # from automake < 1.5.
     "doc/specifications/Makefile") CONFIG_FILES="$CONFIG_FILES doc/specifications/Makefile" ;;
     "doc/tld/Makefile") CONFIG_FILES="$CONFIG_FILES doc/tld/Makefile" ;;
     "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+    "fuzz/Makefile") CONFIG_FILES="$CONFIG_FILES fuzz/Makefile" ;;
     "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;;
-    "gltests/Makefile") CONFIG_FILES="$CONFIG_FILES gltests/Makefile" ;;
     "java/Makefile") CONFIG_FILES="$CONFIG_FILES java/Makefile" ;;
-    "java/gnu/Makefile") CONFIG_FILES="$CONFIG_FILES java/gnu/Makefile" ;;
-    "java/gnu/inet/Makefile") CONFIG_FILES="$CONFIG_FILES java/gnu/inet/Makefile" ;;
-    "java/gnu/inet/encoding/Makefile") CONFIG_FILES="$CONFIG_FILES java/gnu/inet/encoding/Makefile" ;;
-    "java/misc/Makefile") CONFIG_FILES="$CONFIG_FILES java/misc/Makefile" ;;
+    "java/pom.xml") CONFIG_FILES="$CONFIG_FILES java/pom.xml" ;;
+    "java/src/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/Makefile" ;;
+    "java/src/main/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/main/Makefile" ;;
+    "java/src/main/java/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/main/java/Makefile" ;;
+    "java/src/main/java/gnu/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/main/java/gnu/Makefile" ;;
+    "java/src/main/java/gnu/inet/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/main/java/gnu/inet/Makefile" ;;
+    "java/src/main/java/gnu/inet/encoding/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/main/java/gnu/inet/encoding/Makefile" ;;
+    "java/src/test/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/test/Makefile" ;;
+    "java/src/test/java/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/test/java/Makefile" ;;
+    "java/src/util/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/util/Makefile" ;;
+    "java/src/util/java/Makefile") CONFIG_FILES="$CONFIG_FILES java/src/util/java/Makefile" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
     "lib/gl/Makefile") CONFIG_FILES="$CONFIG_FILES lib/gl/Makefile" ;;
-    "lib/gltests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/gltests/Makefile" ;;
-    "libidn.pc") CONFIG_FILES="$CONFIG_FILES libidn.pc" ;;
+    "lib/libidn.pc") CONFIG_FILES="$CONFIG_FILES lib/libidn.pc" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
-    "pom.xml") CONFIG_FILES="$CONFIG_FILES pom.xml" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
 
@@ -33985,10 +35856,10 @@ done
 # We use the long form for the default assignment because of an extremely
 # bizarre bug on SunOS 4.1.3.
 if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+  test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+  test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+  test ${CONFIG_LINKS+y} || CONFIG_LINKS=$config_links
+  test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
@@ -34324,7 +36195,7 @@ do
           esac ||
           as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
     configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+         printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
        `' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
     case $configure_input in #(
     *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
+       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
        sed 's/[\\\\&|]/\\\\&/g'`;; #(
     *) ac_sed_conf_input=$configure_input;;
     esac
@@ -34359,7 +36230,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
         X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34383,9 +36254,9 @@ $as_echo X"$ac_file" |
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -34447,8 +36318,8 @@ ac_sed_dataroot='
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
@@ -34492,9 +36363,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$ac_tmp/stdin"
@@ -34510,20 +36381,20 @@ which seems to be undefined.  Please make sure it is defined" >&2;}
   #
   if test x"$ac_file" != x-; then
     {
-      $as_echo "/* $configure_input  */" \
+      printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
     } >"$ac_tmp/config.h" \
       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$ac_tmp/config.h" "$ac_file" \
        || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
-    $as_echo "/* $configure_input  */" \
+    printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
       || as_fn_error $? "could not create -" "$LINENO" 5
   fi
@@ -34543,7 +36414,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$_am_arg" : 'X\(//\)[^/]' \| \
         X"$_am_arg" : 'X\(//\)$' \| \
         X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
+printf "%s\n" X"$_am_arg" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34575,8 +36446,8 @@ $as_echo X"$_am_arg" |
       ac_source=$srcdir/$ac_source
     fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
+printf "%s\n" "$as_me: linking $ac_source to $ac_file" >&6;}
 
     if test ! -r "$ac_source"; then
       as_fn_error $? "$ac_source: file not found" "$LINENO" 5
@@ -34594,40 +36465,46 @@ $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
       as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
   fi
  ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
+  # TODO: see whether this extra hack can be removed once we start
+  # requiring Autoconf 2.70 or later.
+  case $CONFIG_FILES in #(
+  *\'*) :
+    eval set x "$CONFIG_FILES" ;; #(
+  *) :
+    set x $CONFIG_FILES ;; #(
+  *) :
+     ;;
+esac
   shift
-  for mf
+  # Used to flag and report bootstrapping failures.
+  am_rc=0
+  for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
+    am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile which includes
+    # dependency-tracking related rules and includes.
+    # Grep'ing the whole file directly is not great: AIX grep has a line
     # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
+    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+      || continue
+    am_dirpart=`$as_dirname -- "$am_mf" ||
+$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$am_mf" : 'X\(//\)[^/]' \| \
+        X"$am_mf" : 'X\(//\)$' \| \
+        X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$am_mf" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34645,111 +36522,107 @@ $as_echo X"$mf" |
            q
          }
          s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
+    am_filepart=`$as_basename -- "$am_mf" ||
+$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$am_mf" : 'X\(//\)$' \| \
+        X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$am_mf" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
          }
-         /^X\(\/\/\)$/{
+         /^X\/\(\/\/\)$/{
            s//\1/
            q
          }
-         /^X\(\/\).*/{
+         /^X\/\(\/\).*/{
            s//\1/
            q
          }
          s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
+    { echo "$as_me:$LINENO: cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles" >&5
+   (cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } || am_rc=$?
   done
+  if test $am_rc -ne 0; then
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Something went wrong bootstrapping makefile fragments
+    for automatic dependency tracking.  If GNU make was not used, consider
+    re-running the configure script with MAKE=\"gmake\" (or whatever is
+    necessary).  You can also try re-running configure with the
+    '--disable-dependency-tracking' option to at least be able to build
+    the package (albeit without support for automatic dependency tracking).
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+  { am_dirpart=; unset am_dirpart;}
+  { am_filepart=; unset am_filepart;}
+  { am_mf=; unset am_mf;}
+  { am_rc=; unset am_rc;}
+  rm -f conftest-deps.mk
 }
  ;;
     "libtool":C)
 
-    # See if we are running on zsh, and set the options which allow our
+    # See if we are running on zsh, and set the options that allow our
     # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
+    if test -n "${ZSH_VERSION+set}"; then
       setopt NO_GLOB_SUBST
     fi
 
-    cfgfile="${ofile}T"
+    cfgfile=${ofile}T
     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     $RM "$cfgfile"
 
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# Generated automatically by $as_me ($PACKAGE) $VERSION
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 2 of of the License, or
+# (at your option) any later version.
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
 #
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 # The names of the tagged configurations supported by this script.
-available_tags="GCJ "
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
 
 # ### BEGIN LIBTOOL CONFIG
 
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
 # Assembler program.
 AS=$lt_AS
 
@@ -34759,10 +36632,6 @@ DLLTOOL=$lt_DLLTOOL
 # Object dumper program.
 OBJDUMP=$lt_OBJDUMP
 
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
 # Whether or not to build shared libraries.
 build_libtool_libs=$enable_shared
 
@@ -34775,6 +36644,9 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -34886,18 +36758,27 @@ global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
 # Transform the output of nm in a proper C declaration.
 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
 
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
 # Transform the output of nm in a C name address pair.
 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
 
 # Transform the output of nm in a C name address pair when lib prefix is needed.
 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
 
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
 # Specify filename containing input files for \$NM.
 nm_file_list_spec=$lt_nm_file_list_spec
 
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
 lt_sysroot=$lt_sysroot
 
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
@@ -34988,8 +36869,11 @@ hardcode_into_libs=$hardcode_into_libs
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -35082,13 +36966,13 @@ hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary.
 hardcode_direct=$hardcode_direct
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
 # library is relocated.
 hardcode_direct_absolute=$hardcode_direct_absolute
 
@@ -35140,13 +37024,72 @@ hardcode_action=$hardcode_action
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
 # vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
   COLLECT_NAMES=
   export COLLECT_NAMES
 fi
@@ -35155,7 +37098,8 @@ _LT_EOF
   esac
 
 
-ltmain="$ac_aux_dir/ltmain.sh"
+
+ltmain=$ac_aux_dir/ltmain.sh
 
 
   # We use sed instead of cat because bash on DJGPP gets confused if
@@ -35165,308 +37109,10 @@ ltmain="$ac_aux_dir/ltmain.sh"
   sed '$q' "$ltmain" >> "$cfgfile" \
      || (rm -f "$cfgfile"; exit 1)
 
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
    mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
 
-
-    cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: GCJ
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag_GCJ
-reload_cmds=$lt_reload_cmds_GCJ
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-
-# A language specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_GCJ
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_GCJ
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute_GCJ
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_GCJ
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_GCJ
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds_GCJ
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_GCJ
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# ### END LIBTOOL TAG CONFIG: GCJ
-_LT_EOF
-
  ;;
     "po-directories":C)
     for ac_file in $CONFIG_FILES; do
@@ -35478,7 +37124,7 @@ _LT_EOF
       case "$ac_file" in */Makefile.in)
         # Adjust a relative srcdir.
         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
         # In autoconf-2.13 it is called $ac_given_srcdir.
         # In autoconf-2.50 it is called $srcdir.
@@ -35494,7 +37140,8 @@ _LT_EOF
         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
           rm -f "$ac_dir/POTFILES"
           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
           POMAKEFILEDEPS="POTFILES.in"
           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
           # on $ac_dir but don't depend on user-specified configuration
@@ -35505,12 +37152,12 @@ _LT_EOF
               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
             fi
             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
           fi
           # Compute POFILES
@@ -35615,38 +37262,73 @@ if test "$no_create" != yes; then
   $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: summary of build options:
-
-  version:          ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE
-  Host type:        ${host}
-  Install prefix:   ${prefix}
-  Compiler:         ${CC}
-  Warning flags:    ${WARN_CFLAGS}
-  Library types:    Shared=${enable_shared}, Static=${enable_static}
-  Libiconv:         $am_cv_func_iconv
-  Valgrind:         ${VALGRIND}
-  Version script:   $have_ld_version_script
-  TLD code:         $enable_tld
-  Build Java port:  $enable_java
-  Build C# port:    $enable_csharp
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: summary of main build options:
+
+  Version:            ${VERSION}
+  Libtool version     $LT_CURRENT:$LT_REVISION:$LT_AGE
+  DLL version:        $DLL_VERSION
+  Header version:     major $MAJOR_VERSION minor $MINOR_VERSION patch $PATCH_VERSION number $NUMBER_VERSION
+  Build system:       ${build}
+  Host/Target system: ${host}
+  Install prefix:     ${prefix}
+  Compiler:           ${CC}
+  CFLAGS:             ${CFLAGS}
+  CPPFLAGS:           ${CPPFLAGS}
+  LDFLAGS:            ${LDFLAGS}
+  Library types:      Shared=${enable_shared}, Static=${enable_static}
+
+  Warning flags:      $enable_gcc_warnings
+      WERROR_CFLAGS:  $WERROR_CFLAGS
+    WARN_LIB_CFLAGS:  $WARN_LIB_CFLAGS
+        WARN_CFLAGS:  $WARN_CFLAGS
+
+  Documentation:      ${enable_doc}
+  nl_langinfo:        $gl_cv_header_langinfo_codeset
+  iconv:              $am_cv_func_iconv_summary $LTLIBICONV
+  Version script:     $have_ld_version_script
+  TLD code:           $enable_tld
+  Build Java port:    $enable_java
+  Build C# port:      $enable_csharp
+  Address Sanitizer:  $asan
+  UB Sanitizer:       $ubsan
+
+  Valgrind:           $opt_valgrind_tests ${VALGRIND}
 " >&5
-$as_echo "$as_me: summary of build options:
-
-  version:          ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE
-  Host type:        ${host}
-  Install prefix:   ${prefix}
-  Compiler:         ${CC}
-  Warning flags:    ${WARN_CFLAGS}
-  Library types:    Shared=${enable_shared}, Static=${enable_static}
-  Libiconv:         $am_cv_func_iconv
-  Valgrind:         ${VALGRIND}
-  Version script:   $have_ld_version_script
-  TLD code:         $enable_tld
-  Build Java port:  $enable_java
-  Build C# port:    $enable_csharp
+printf "%s\n" "$as_me: summary of main build options:
+
+  Version:            ${VERSION}
+  Libtool version     $LT_CURRENT:$LT_REVISION:$LT_AGE
+  DLL version:        $DLL_VERSION
+  Header version:     major $MAJOR_VERSION minor $MINOR_VERSION patch $PATCH_VERSION number $NUMBER_VERSION
+  Build system:       ${build}
+  Host/Target system: ${host}
+  Install prefix:     ${prefix}
+  Compiler:           ${CC}
+  CFLAGS:             ${CFLAGS}
+  CPPFLAGS:           ${CPPFLAGS}
+  LDFLAGS:            ${LDFLAGS}
+  Library types:      Shared=${enable_shared}, Static=${enable_static}
+
+  Warning flags:      $enable_gcc_warnings
+      WERROR_CFLAGS:  $WERROR_CFLAGS
+    WARN_LIB_CFLAGS:  $WARN_LIB_CFLAGS
+        WARN_CFLAGS:  $WARN_CFLAGS
+
+  Documentation:      ${enable_doc}
+  nl_langinfo:        $gl_cv_header_langinfo_codeset
+  iconv:              $am_cv_func_iconv_summary $LTLIBICONV
+  Version script:     $have_ld_version_script
+  TLD code:           $enable_tld
+  Build Java port:    $enable_java
+  Build C# port:      $enable_csharp
+  Address Sanitizer:  $asan
+  UB Sanitizer:       $ubsan
+
+  Valgrind:           $opt_valgrind_tests ${VALGRIND}
 " >&6;}
+
index 4725137..4e87c0c 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2002-2012 Simon Josefsson
+dnl Copyright (C) 2002-2024 Simon Josefsson
 dnl
 dnl This file is part of GNU Libidn.
 dnl
@@ -15,72 +15,56 @@ dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
 dnl
 dnl You should have received a copy of the GNU General Public License
-dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
+dnl along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.61)
-AC_INIT([GNU Libidn], [1.25], [bug-libidn@gnu.org])
-AC_COPYRIGHT([Copyright (c) 2002-2012 Simon Josefsson <simon@josefsson.org>.])
-AC_CONFIG_AUX_DIR([build-aux])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_HEADERS(config.h)
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
-AM_SILENT_RULES([yes])
+AC_INIT([GNU Libidn],
+        m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+        [help-libidn@gnu.org])
 
 # Library code modified:                              REVISION++
 # Interfaces changed/added/removed:   CURRENT++       REVISION=0
 # Interfaces added:                             AGE++
 # Interfaces removed:                           AGE=0
-AC_SUBST(LT_CURRENT, 17)
-AC_SUBST(LT_REVISION, 8)
+AC_SUBST(LT_CURRENT, 18)
+AC_SUBST(LT_REVISION, 5)
 AC_SUBST(LT_AGE, 6)
 
-AC_PROG_CC
-gl_EARLY
-lgl_EARLY
-
-# For DEF file.
 DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
 AC_SUBST(DLL_VERSION)
 
-# We can't replace this with LT_INIT([win32-dll]) yet.  For example,
-# the Ubuntu 8.04 LTS is still shipping a libtool version that doesn't
-# have it.
-AC_LIBTOOL_WIN32_DLL
-AC_PROG_LIBTOOL
+AC_MSG_NOTICE([$PACKAGE_NAME $PACKAGE_VERSION $PACKAGE_TARNAME $LT_CURRENT:$LT_REVISION:$LT_AGE $DLL_VERSION])
+
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([lib/m4])
+AC_CONFIG_HEADERS([config.h])
+
+AM_INIT_AUTOMAKE([-Wall])
+AM_SILENT_RULES([yes])
+
+AC_PROG_CC
+gl_EARLY
+lgl_EARLY
 
 # Checks for programs.
+AM_PROG_AR
+LT_INIT([win32-dll])
 AM_MISSING_PROG(PERL, perl, $missing_dir)
 AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
-AM_GNU_GETTEXT(external)
-AM_GNU_GETTEXT_VERSION(0.18.1)
 AM_ICONV
 AM_PATH_LISPDIR
 
-if test "$am_cv_func_iconv" != "yes"; then
-  AC_MSG_NOTICE([
-***
-
-Your system does not have iconv().  The iconv() function is not
-strictly required by the source code.  However, that may change in
-the future, unless you report that this may be a problem for you.
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.19.8])
 
-Please report this to $PACKAGE_BUGREPORT.
-
-***])
-fi
-
-# Checks for header files.
-AC_HEADER_STDC
+AM_LANGINFO_CODESET
 
 # For gnulib stuff in gl/.
 gl_INIT
 lgl_INIT
-
-# Check if locale stuff works
-AM_LANGINFO_CODESET
+AC_DEFINE([GNULIB_NO_VLA], 1, [Disable VLA usage in gettext.h.])
 
 # Make it possible to disable TLD code.
-AC_ARG_ENABLE(tld, AC_HELP_STRING([--disable-tld], [disable TLD code]),
+AC_ARG_ENABLE(tld, AS_HELP_STRING([--disable-tld], [disable TLD code]),
                enable_tld=$enableval, enable_tld=yes)
 AM_CONDITIONAL(TLD, test "$enable_tld" != "no")
 if test "$enable_tld" != "no"; then
@@ -89,16 +73,24 @@ fi
 AC_MSG_CHECKING([if TLD API for specific TLD rules should be built])
 AC_MSG_RESULT($enable_tld)
 
-# Check for gtk-doc.
-GTK_DOC_CHECK(1.1)
+#
+# check for gtk-doc
+#
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
 
 # Check for java
-AC_ARG_ENABLE(java, AC_HELP_STRING([--enable-java], [enable Java API]),,
+AC_ARG_ENABLE(java, AS_HELP_STRING([--enable-java], [enable Java API]),,
                enable_java=no)
-AM_PROG_GCJ
 if test "$enable_java" != "no"; then
-       AC_PROG_JAR
-       AM_MISSING_PROG(GJDOC, gjdoc, $missing_dir)
+  AX_JAVA_OPTIONS
+  AX_PROG_JAVAC
+  AX_PROG_JAVADOC
+  AX_PROG_JAR
+  AM_MISSING_PROG(JAVADOC, javadoc, $missing_dir)
 fi
 AM_CONDITIONAL(JAVA, test "$enable_java" != "no")
 AC_MSG_CHECKING([if implementation in Java should be built])
@@ -117,46 +109,93 @@ fi
 AC_MSG_RESULT($enable_csharp)
 AM_CONDITIONAL(CSHARP, test "$enable_csharp" = yes)
 
-sj_UPDATE_HEADER_VERSION([$srcdir/lib/stringprep.h])
+ubsan=no
+AC_ARG_ENABLE([ubsan],
+  [AS_HELP_STRING([--enable-ubsan], [Turn on Undefined Behavior Sanitizer (UBSan)])],
+  [
+    if test "$enableval" = yes; then
+      ubsan=yes
+      CFLAGS=$CFLAGS" -fsanitize=undefined -fno-sanitize-recover=undefined"
+    fi
+  ])
+
+asan=no
+AC_ARG_ENABLE([asan],
+  [AS_HELP_STRING([--enable-asan], [Turn on Address Sanitizer (ASan)])],
+  [
+    if test "$enableval" = yes; then
+      asan=yes
+      CFLAGS=$CFLAGS" -fsanitize=address -fno-omit-frame-pointer"
+    fi
+  ])
 
 AC_ARG_ENABLE([gcc-warnings],
-  [AS_HELP_STRING([--enable-gcc-warnings],
-                 [turn on lots of GCC warnings (for developers)])],
-  [case $enableval in
-     yes|no) ;;
-     *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
-   esac
-   gl_gcc_warnings=$enableval],
-  [gl_gcc_warnings=no]
-)
-
-if test "$gl_gcc_warnings" = yes; then
-  gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
-  gl_WARN_ADD([-Wframe-larger-than=112], [WSTACK_CFLAGS])
-
-  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
-  nw="$nw -Wpadded"                 # Struct in src/idn_cmd.h is not padded
-  nw="$nw -Wformat"                 # Self tests and examples print size_t as %d
-  nw="$nw -Wc++-compat"             # We don't care strongly about C++ compilers
-  nw="$nw -Woverlength-strings"     # Some of our strings are too large
-  nw="$nw -Wsign-conversion"        # Too many warnings for now
-  nw="$nw -Wconversion"             # Too many warnings for now
-  nw="$nw -Wtraditional"            # Warns on #elif which we use often
-  nw="$nw -Wtraditional-conversion" # Too many warnings for now
-  nw="$nw -Wmissing-noreturn"       # Too many warnings for now
-  nw="$nw -Wunreachable-code"       # Too many false positives
-  nw="$nw -Wlogical-op"             # Too many false positives
-  nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes?
-  nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
-
-  gl_MANYWARN_ALL_GCC([ws])
-  gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw])
-  for w in $ws; do
-    gl_WARN_ADD([$w])
-  done
-
-  gl_WARN_ADD([-fdiagnostics-show-option])
-fi
+  [AS_HELP_STRING([[--enable-gcc-warnings[=TYPE]]],
+    [control generation of GCC warnings.  The TYPE 'no' disables
+     warnings; 'yes' (default) generates cheap warnings;
+     'expensive' in addition generates expensive warnings
+     and 'error' also turn warnings into errors.])])
+
+# https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html
+AS_IF([test "$enable_gcc_warnings" != no],
+  [
+   # Set up the list of unwanted warning options.
+   nw=
+   if test "$enable_gcc_warnings" = yes; then
+     nw="$nw -fanalyzer"
+   fi
+   nw="$nw -Wbad-function-cast" # Casting a function's result is not more
+                                # dangerous than casting any other value.
+   nw="$nw -Winline"            # It's OK to not inline.
+   nw="$nw -Wsign-compare"      # Too many false alarms.
+   nw="$nw -Wstrict-overflow"   # It's OK to optimize strictly.
+   nw="$nw -Wsystem-headers"    # Don't warn in system headers.
+
+   nw="$nw -Wsuggest-attribute=pure"  # Is it worth using attributes?
+   nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
+   nw="$nw -Wmissing-field-initializers" # We use missing fields = 0 a lot
+   gl_WARN_ADD([-Wframe-larger-than=208], [WARN_LIB_CFLAGS])
+
+   if test "$enable_gcc_warnings" = error; then
+     gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
+     gl_WARN_ADD([-Wno-error=suggest-attribute=malloc], [WERROR_CFLAGS])
+     gl_WARN_ADD([-Wno-error=overlength-strings], [WERROR_CFLAGS])
+     gl_WARN_ADD([-Wno-error=analyzer-out-of-bounds], [WERROR_CFLAGS])
+   fi
+
+   # Setup the list of meaningful warning options for the C compiler.
+   # The list comes from manywarnings.m4. Warning options that are not
+   # generally meaningful have already been filtered out (cf.
+   # build-aux/gcc-warning.spec).
+   gl_MANYWARN_ALL_GCC([possible_warning_options])
+
+   # Compute the list of warning options that are desired.
+   gl_MANYWARN_COMPLEMENT([desired_warning_options],
+                          [$possible_warning_options], [$nw])
+   # Compute the list of remaining undesired warning options.
+   # Namely those, that were not in manywarnings.m4 because they were
+   # already listed in build-aux/gcc-warning.spec; this includes those
+   # that are implied by -Wall.
+   gl_MANYWARN_COMPLEMENT([remaining_undesired_warning_options],
+                          [$nw], [$possible_warning_options])
+
+   # Add the desired warning options to WARN_CFLAGS.
+   for w in $desired_warning_options; do
+     gl_WARN_ADD([$w])
+   done
+
+   # Add the opposites of the remaining undesired warning options to
+   # WARN_CFLAGS.
+   for w in `echo "$remaining_undesired_warning_options" | sed -e 's/-W/-Wno-/g'`; do
+     gl_WARN_ADD([$w])
+   done
+])
+
+AC_ARG_ENABLE(doc,
+  AS_HELP_STRING([--disable-doc], [don't generate any documentation]),
+    enable_doc=$enableval, enable_doc=yes)
+AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no")
+
 
 AC_CONFIG_FILES([
   Makefile
@@ -170,36 +209,58 @@ AC_CONFIG_FILES([
   doc/specifications/Makefile
   doc/tld/Makefile
   examples/Makefile
+  fuzz/Makefile
   gl/Makefile
-  gltests/Makefile
   java/Makefile
-  java/gnu/Makefile
-  java/gnu/inet/Makefile
-  java/gnu/inet/encoding/Makefile
-  java/misc/Makefile
+  java/pom.xml
+  java/src/Makefile
+  java/src/main/Makefile
+  java/src/main/java/Makefile
+  java/src/main/java/gnu/Makefile
+  java/src/main/java/gnu/inet/Makefile
+  java/src/main/java/gnu/inet/encoding/Makefile
+  java/src/test/Makefile
+  java/src/test/java/Makefile
+  java/src/util/Makefile
+  java/src/util/java/Makefile
   lib/Makefile
   lib/gl/Makefile
-  lib/gltests/Makefile
-  libidn.pc
+  lib/libidn.pc
   po/Makefile.in
-  pom.xml
   src/Makefile
   tests/Makefile
 ])
 AC_OUTPUT
 
-AC_MSG_NOTICE([summary of build options:
-
-  version:          ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE
-  Host type:        ${host}
-  Install prefix:   ${prefix}
-  Compiler:         ${CC}
-  Warning flags:    ${WARN_CFLAGS}
-  Library types:    Shared=${enable_shared}, Static=${enable_static}
-  Libiconv:         $am_cv_func_iconv
-  Valgrind:         ${VALGRIND}
-  Version script:   $have_ld_version_script
-  TLD code:         $enable_tld
-  Build Java port:  $enable_java
-  Build C# port:    $enable_csharp
+AC_MSG_NOTICE([summary of main build options:
+
+  Version:            ${VERSION}
+  Libtool version     $LT_CURRENT:$LT_REVISION:$LT_AGE
+  DLL version:        $DLL_VERSION
+  Header version:     major $MAJOR_VERSION minor $MINOR_VERSION patch $PATCH_VERSION number $NUMBER_VERSION
+  Build system:       ${build}
+  Host/Target system: ${host}
+  Install prefix:     ${prefix}
+  Compiler:           ${CC}
+  CFLAGS:             ${CFLAGS}
+  CPPFLAGS:           ${CPPFLAGS}
+  LDFLAGS:            ${LDFLAGS}
+  Library types:      Shared=${enable_shared}, Static=${enable_static}
+
+  Warning flags:      $enable_gcc_warnings
+      WERROR_CFLAGS:  $WERROR_CFLAGS
+    WARN_LIB_CFLAGS:  $WARN_LIB_CFLAGS
+        WARN_CFLAGS:  $WARN_CFLAGS
+
+  Documentation:      ${enable_doc}
+  nl_langinfo:        $gl_cv_header_langinfo_codeset
+  iconv:              $am_cv_func_iconv_summary $LTLIBICONV
+  Version script:     $have_ld_version_script
+  TLD code:           $enable_tld
+  Build Java port:    $enable_java
+  Build C# port:      $enable_csharp
+  Address Sanitizer:  $asan
+  UB Sanitizer:       $ubsan
+
+  Valgrind:           $opt_valgrind_tests ${VALGRIND}
 ])
index f03b7e0..1b23b14 100644 (file)
@@ -1,5 +1,5 @@
 Libidn contrib/README -- Notes for the contrib/ subdirectory.
-Copyright (C) 2003-2012 Simon Josefsson
+Copyright (C) 2003-2024 Simon Josefsson
 See the end for copying conditions.
 
 The idn-python/ sub-directory contains a Python interface for Libidn,
index e8c6fe2..74a111b 100644 (file)
@@ -18,7 +18,7 @@
 # that follow. The default is UTF-8 which is also the encoding used for all 
 # text before the first occurrence of this tag. Doxygen uses libiconv (or the 
 # iconv built into libc) for the transcoding. See 
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
+# https://www.gnu.org/software/libiconv for the list of possible encodings.
 
 DOXYFILE_ENCODING      = UTF-8
 
@@ -539,7 +539,7 @@ INPUT                  = ../../lib
 # This tag can be used to specify the character encoding of the source files 
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
 # also the default input encoding. Doxygen uses libiconv (or the iconv built 
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# into libc) for the transcoding. See https://www.gnu.org/software/libiconv for 
 # the list of possible encodings.
 
 INPUT_ENCODING         = UTF-8
@@ -682,7 +682,7 @@ REFERENCES_LINK_SOURCE = YES
 # If the USE_HTAGS tag is set to YES then the references to source code 
 # will point to the HTML generated by the htags(1) tool instead of doxygen 
 # built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# tagging system (see https://www.gnu.org/software/global/global.html). You 
 # will need version 4.8.6 or higher.
 
 USE_HTAGS              = NO
index 1eeea5e..3864b12 100644 (file)
@@ -18,7 +18,7 @@
 # that follow. The default is UTF-8 which is also the encoding used for all 
 # text before the first occurrence of this tag. Doxygen uses libiconv (or the 
 # iconv built into libc) for the transcoding. See 
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
+# https://www.gnu.org/software/libiconv for the list of possible encodings.
 
 DOXYFILE_ENCODING      = UTF-8
 
@@ -539,7 +539,7 @@ INPUT                  =
 # This tag can be used to specify the character encoding of the source files 
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
 # also the default input encoding. Doxygen uses libiconv (or the iconv built 
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# into libc) for the transcoding. See https://www.gnu.org/software/libiconv for 
 # the list of possible encodings.
 
 INPUT_ENCODING         = UTF-8
@@ -682,7 +682,7 @@ REFERENCES_LINK_SOURCE = YES
 # If the USE_HTAGS tag is set to YES then the references to source code 
 # will point to the HTML generated by the htags(1) tool instead of doxygen 
 # built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# tagging system (see https://www.gnu.org/software/global/global.html). You 
 # will need version 4.8.6 or higher.
 
 USE_HTAGS              = NO
index da6e3f9..40c2e21 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# Copyright (C) 2003-2012 Simon Josefsson
+# Copyright (C) 2003-2024 Simon Josefsson
 
 # 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
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # I consider the output of this program to be unrestricted.  Use it as
 # you will.
index 0e0905e..5300932 100644 (file)
@@ -18,7 +18,7 @@ static PyObject *IDNInvLengthError;
 #define onError(message) { PyErr_SetString(IDNError, message); free(message); return NULL; }
 
 static PyObject *
-idn2ace (PyObject * self, PyObject * args)
+idn2ace (PyObject *self, PyObject *args)
 {
   char *instr, *result;
   int rc;
@@ -48,7 +48,7 @@ idn2ace (PyObject * self, PyObject * args)
 }
 
 static PyObject *
-ace2idn (PyObject * self, PyObject * args)
+ace2idn (PyObject *self, PyObject *args)
 {
   char *instr, *result;
   int rc;
index 086df8b..3056ee0 100644 (file)
@@ -8,7 +8,7 @@ import sys
 if len(sys.argv) <= 1:
     print "Usage: %s name" % sys.argv[0]
     sys.exit(1)
-    
+
 name = sys.argv[1]
 
 ustring = unicode(name, locale)
index 71a3912..831d234 100644 (file)
@@ -2,17 +2,17 @@
 #include "IDNA.h"
 
 JNIEXPORT jstring JNICALL
-Java_IDNA_toAscii(JNIEnv *env, jobject obj, jstring jstr)
+Java_IDNA_toAscii (JNIEnv *env, jobject obj, jstring jstr)
 {
   const char *in;
   const char *out;
   int rc;
 
-  in = (*env)->GetStringUTFChars(env, jstr, 0);
+  in = (*env)->GetStringUTFChars (env, jstr, 0);
 
   rc = idna_to_ascii_from_utf8 (in, &out, 0, 0);
 
-  (*env)->ReleaseStringUTFChars(env, jstr, in);
+  (*env)->ReleaseStringUTFChars (env, jstr, in);
 
-  return (*env)->NewStringUTF(env, out);
+  return (*env)->NewStringUTF (env, out);
 }
index 6115dd4..99f4c43 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson.
+# Copyright (C) 2002-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -14,7 +14,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 lib_LTLIBRARIES = libidn-java.la
 
index 2bb8e16..1f17f67 100644 (file)
@@ -1,5 +1,5 @@
 Libidn README -- Notes for the JAVA API proof of concept.
-Copyright (C) 2003-2012 Simon Josefsson
+Copyright (C) 2003-2024 Simon Josefsson
 See the end for copying conditions.
 
 This directory builds Java *.class files that implement the Libidn
@@ -21,7 +21,7 @@ $ su
 $ make ExampleIDNA
 $ gij ExampleIDNA räksmörgås
 xn--rksmrgs-5wao1o
-$ 
+$
 
 Please let me know if you want to finish and maintain the Java API
 glue.  It may involve some tedious work initially, but could be useful
index a77d8ea..483f58f 100644 (file)
@@ -29,7 +29,7 @@ header("Content-Type: text/html; charset=$charset");
 
     <p>This page allows you to try the string preparation, punycode
     encode/decode and ToASCII/ToUnicode operations of <a
-    href="http://www.gnu.org/software/libidn/">GNU Libidn</a>.  If you
+    href="https://www.gnu.org/software/libidn/">GNU Libidn</a>.  If you
     encounter a problem with this page, write a (detailed!) report to
     <A HREF="mailto:bug-libidn@gnu.org">bug-libidn@gnu.org</A>.
 
index 5e14dd9..af8cb4a 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System.Reflection;
index 47e999a..27dc268 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 2a1a6a5..b6946f9 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index e1d2f74..2badd64 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2005-2012 Simon Josefsson.
+# Copyright (C) 2005-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -14,7 +14,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 CSHARPEXEC = $(SHELL) $(top_builddir)/csharpexec.sh
 CSHARPCOMP = $(SHELL) $(top_builddir)/csharpcomp.sh
@@ -49,7 +49,7 @@ INSTALL_DATA_LOCAL_TARGETS += install-dll
 UNINSTALL_LOCAL_TARGETS += uninstall-dll
 
 Libidn.dll: $(SOURCES)
-       $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ \
+       $(AM_V_GEN)$(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ \
                `for src in $(SOURCES); do echo $(srcdir)/$$src; done`
 
 SPEC = $(top_srcdir)/doc/specifications
@@ -59,15 +59,15 @@ GenerateTables.exe: $(SOURCES_GENERATE)
                `for src in $(SOURCES_GENERATE); do echo $(srcdir)/$$src; done`
        if ! test -f rfc3454.txt; then \
                ln -s $(SPEC)/rfc3454.txt . \
-               || cp $(SPEC)/rfc3454.txt .; \
+               || cp $(SPEC)/rfc3454.txt . || true; \
        fi
        if ! test -f UnicodeData.txt; then \
                ln -s $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt \
-               || cp $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt; \
+               || cp $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt || true; \
        fi
        if ! test -f CompositionExclusions.txt; then \
                ln -s $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt \
-               || cp $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt; \
+               || cp $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt || true; \
        fi
 
 RFC3454.cs CombiningClass.cs DecompositionKeys.cs DecompositionMappings.cs Composition.cs: $(GEN_SOURCES)
index 6b223ed..3d1f028 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2005-2012 Simon Josefsson.
+# Copyright (C) 2005-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -55,103 +109,147 @@ host_triplet = @host@
 @CSHARP_TRUE@am__append_3 = install-dll
 @CSHARP_TRUE@am__append_4 = uninstall-dll
 subdir = csharp
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -170,9 +268,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = 
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -192,290 +293,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -485,16 +875,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -511,33 +906,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -552,28 +960,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -583,26 +999,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -621,6 +1045,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -642,9 +1067,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -662,36 +1086,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -700,12 +1126,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -718,11 +1148,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -755,27 +1187,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -788,71 +1242,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -861,11 +1349,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -878,45 +1376,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -924,7 +1435,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -942,8 +1452,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -956,8 +1468,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -973,6 +1487,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1018,14 +1533,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu csharp/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu csharp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1042,14 +1556,62 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
 
-ctags: CTAGS
-CTAGS:
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
 
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-distdir: $(DISTFILES)
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1120,7 +1682,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
        -rm -f Makefile
-distclean-am: clean-am distclean-generic
+distclean-am: clean-am distclean-generic distclean-tags
 
 dvi: dvi-am
 
@@ -1182,8 +1744,9 @@ uninstall-am: uninstall-local
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am all-local check check-am clean clean-generic \
-       clean-libtool distclean distclean-generic distclean-libtool \
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+       clean-generic clean-libtool cscopelist-am ctags ctags-am \
+       distclean distclean-generic distclean-libtool distclean-tags \
        distdir dvi dvi-am html html-am info info-am install \
        install-am install-data install-data-am install-data-local \
        install-dvi install-dvi-am install-exec install-exec-am \
@@ -1192,12 +1755,14 @@ uninstall-am: uninstall-local
        install-ps-am install-strip installcheck installcheck-am \
        installdirs installdirs-local maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-local
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am uninstall-local
+
+.PRECIOUS: Makefile
 
 
 @CSHARP_TRUE@Libidn.dll: $(SOURCES)
-@CSHARP_TRUE@  $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ \
+@CSHARP_TRUE@  $(AM_V_GEN)$(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ \
 @CSHARP_TRUE@          `for src in $(SOURCES); do echo $(srcdir)/$$src; done`
 
 @CSHARP_TRUE@GenerateTables.exe: $(SOURCES_GENERATE)
@@ -1205,15 +1770,15 @@ uninstall-am: uninstall-local
 @CSHARP_TRUE@          `for src in $(SOURCES_GENERATE); do echo $(srcdir)/$$src; done`
 @CSHARP_TRUE@  if ! test -f rfc3454.txt; then \
 @CSHARP_TRUE@          ln -s $(SPEC)/rfc3454.txt . \
-@CSHARP_TRUE@          || cp $(SPEC)/rfc3454.txt .; \
+@CSHARP_TRUE@          || cp $(SPEC)/rfc3454.txt . || true; \
 @CSHARP_TRUE@  fi
 @CSHARP_TRUE@  if ! test -f UnicodeData.txt; then \
 @CSHARP_TRUE@          ln -s $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt \
-@CSHARP_TRUE@          || cp $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt; \
+@CSHARP_TRUE@          || cp $(SPEC)/UnicodeData-3.2.0.txt UnicodeData.txt || true; \
 @CSHARP_TRUE@  fi
 @CSHARP_TRUE@  if ! test -f CompositionExclusions.txt; then \
 @CSHARP_TRUE@          ln -s $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt \
-@CSHARP_TRUE@          || cp $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt; \
+@CSHARP_TRUE@          || cp $(SPEC)/CompositionExclusions-3.2.0.txt CompositionExclusions.txt || true; \
 @CSHARP_TRUE@  fi
 
 @CSHARP_TRUE@RFC3454.cs CombiningClass.cs DecompositionKeys.cs DecompositionMappings.cs Composition.cs: $(GEN_SOURCES)
index 5ad4fb0..47e24b8 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 3595088..f790b53 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 371fc13..8615295 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index b87647b..beb8137 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index a1b0e31..1588c33 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 956476d..5038215 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System.Reflection;
index e7d321f..a12a38c 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index dffab70..0362705 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 28e1e04..e94c677 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index ee369f4..643aa72 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 1ed2ae2..8683184 100644 (file)
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2024 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
 ///
@@ -27,7 +27,7 @@
 ///
 /// You should have received copies of the GNU General Public License and
 /// the GNU Lesser General Public License along with this program.  If
-/// not, see <http://www.gnu.org/licenses/>.
+/// not, see <https://www.gnu.org/licenses/>.
 /// </summary>
 
 using System;
index 100eaf0..d63cafa 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson.
+# Copyright (C) 2002-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 SUBDIRS = specifications tld java cyclo
 if ENABLE_GTK_DOC
 SUBDIRS += . reference
 endif
 
-EXTRA_DIST = gdoc libidn.html libidn.ps libidn.pdf texinfo.css \
-       components.fig
+EXTRA_DIST = gdoc components.fig
 
 info_TEXINFOS = libidn.texi
-libidn_TEXINFOS = fdl-1.3.texi
+libidn_TEXINFOS = fdl-1.3.texi idn-help.texi
+libidn_TEXINFOS += example.txt example2.txt example3.txt example4.txt example5.txt
 libidn_TEXINFOS += $(gdoc_TEXINFOS)
 libidn_TEXINFOS += libidn-components.eps libidn-components.png \
                        libidn-components.pdf
@@ -34,32 +34,153 @@ imagesdir = $(infodir)
 images_DATA = libidn-components.png
 
 libidn-components.eps: components.fig
-       fig2dev -L eps $< $@
+       $(AM_V_GEN)fig2dev -L eps $(srcdir)/components.fig $@
 
 libidn-components.png: components.fig
-       fig2dev -L png $< $@
+       $(AM_V_GEN)fig2dev -L png $(srcdir)/components.fig $@
 
 libidn-components.pdf: components.fig
-       fig2dev -L pdf $< $@
+       $(AM_V_GEN)fig2dev -L pdf $(srcdir)/components.fig $@
 
-AM_MAKEINFOFLAGS = -I $(top_builddir)/doc -I $(top_srcdir)/examples
-TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS)
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \
-       --no-split --number-sections --css-include=texinfo.css
+idn-help.texi: $(top_srcdir)/src/idn.c
+       $(AM_V_GEN)$(top_builddir)/src/idn$(EXEEXT) --help | $(GREP) '^  *-' > tmp && \
+               mv tmp idn-help.texi
+
+example.txt: $(top_srcdir)/examples/example.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example.c > $@.tmp && \
+               mv $@.tmp $@
+
+example2.txt: $(top_srcdir)/examples/example2.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example2.c > $@.tmp && \
+               mv $@.tmp $@
+
+example3.txt: $(top_srcdir)/examples/example3.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example3.c > $@.tmp && \
+               mv $@.tmp $@
+
+example4.txt: $(top_srcdir)/examples/example4.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example4.c > $@.tmp && \
+               mv $@.tmp $@
+
+example5.txt: $(top_srcdir)/examples/example5.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example5.c > $@.tmp && \
+               mv $@.tmp $@
+
+BUILT_SOURCES = example.txt example2.txt example3.txt example4.txt example5.txt
 
 # Man pages.
 
 dist_man_MANS = idn.1 $(gdoc_MANS)
 MAINTAINERCLEANFILES = $(dist_man_MANS)
 
-idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo \
-               $(top_srcdir)/configure.ac
-       $(HELP2MAN) \
+idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo $(top_srcdir)/.version
+       $(MAKE) -C ../lib
+       $(MAKE) -C ../src
+       $(AM_V_GEN)$(HELP2MAN) \
                --name="Internationalized Domain Names command line tool" \
                --output=$@ $(top_builddir)/src/idn$(EXEEXT)
 
 # GDOC
 
+gdoc_TEXINFOS =
+gdoc_TEXINFOS += texi/idna_to_ascii_4i.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_44i.texi
+gdoc_TEXINFOS += texi/idna_to_ascii_4z.texi
+gdoc_TEXINFOS += texi/idna_to_ascii_8z.texi
+gdoc_TEXINFOS += texi/idna_to_ascii_lz.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_4z4z.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_8z4z.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_8z8z.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_8zlz.texi
+gdoc_TEXINFOS += texi/idna_to_unicode_lzlz.texi
+gdoc_TEXINFOS += texi/stringprep_utf8_to_unichar.texi
+gdoc_TEXINFOS += texi/stringprep_unichar_to_utf8.texi
+gdoc_TEXINFOS += texi/stringprep_utf8_to_ucs4.texi
+gdoc_TEXINFOS += texi/stringprep_ucs4_to_utf8.texi
+gdoc_TEXINFOS += texi/stringprep_utf8_nfkc_normalize.texi
+gdoc_TEXINFOS += texi/stringprep_ucs4_nfkc_normalize.texi
+gdoc_TEXINFOS += texi/pr29_4.texi
+gdoc_TEXINFOS += texi/pr29_4z.texi
+gdoc_TEXINFOS += texi/pr29_8z.texi
+gdoc_TEXINFOS += texi/punycode_encode.texi
+gdoc_TEXINFOS += texi/punycode_decode.texi
+gdoc_TEXINFOS += texi/stringprep_4i.texi
+gdoc_TEXINFOS += texi/stringprep_4zi.texi
+gdoc_TEXINFOS += texi/stringprep.texi
+gdoc_TEXINFOS += texi/stringprep_profile.texi
+gdoc_TEXINFOS += texi/tld_get_table.texi
+gdoc_TEXINFOS += texi/tld_default_table.texi
+gdoc_TEXINFOS += texi/tld_get_4.texi
+gdoc_TEXINFOS += texi/tld_get_4z.texi
+gdoc_TEXINFOS += texi/tld_get_z.texi
+gdoc_TEXINFOS += texi/tld_check_4t.texi
+gdoc_TEXINFOS += texi/tld_check_4tz.texi
+gdoc_TEXINFOS += texi/tld_check_4.texi
+gdoc_TEXINFOS += texi/tld_check_4z.texi
+gdoc_TEXINFOS += texi/tld_check_8z.texi
+gdoc_TEXINFOS += texi/tld_check_lz.texi
+gdoc_TEXINFOS += texi/stringprep_locale_charset.texi
+gdoc_TEXINFOS += texi/stringprep_convert.texi
+gdoc_TEXINFOS += texi/stringprep_locale_to_utf8.texi
+gdoc_TEXINFOS += texi/stringprep_utf8_to_locale.texi
+gdoc_TEXINFOS += texi/stringprep_check_version.texi
+gdoc_TEXINFOS += texi/idn_free.texi
+gdoc_TEXINFOS += texi/idna_strerror.texi
+gdoc_TEXINFOS += texi/pr29_strerror.texi
+gdoc_TEXINFOS += texi/punycode_strerror.texi
+gdoc_TEXINFOS += texi/stringprep_strerror.texi
+gdoc_TEXINFOS += texi/tld_strerror.texi
+gdoc_MANS =
+gdoc_MANS += man/idna_to_ascii_4i.3
+gdoc_MANS += man/idna_to_unicode_44i.3
+gdoc_MANS += man/idna_to_ascii_4z.3
+gdoc_MANS += man/idna_to_ascii_8z.3
+gdoc_MANS += man/idna_to_ascii_lz.3
+gdoc_MANS += man/idna_to_unicode_4z4z.3
+gdoc_MANS += man/idna_to_unicode_8z4z.3
+gdoc_MANS += man/idna_to_unicode_8z8z.3
+gdoc_MANS += man/idna_to_unicode_8zlz.3
+gdoc_MANS += man/idna_to_unicode_lzlz.3
+gdoc_MANS += man/stringprep_utf8_to_unichar.3
+gdoc_MANS += man/stringprep_unichar_to_utf8.3
+gdoc_MANS += man/stringprep_utf8_to_ucs4.3
+gdoc_MANS += man/stringprep_ucs4_to_utf8.3
+gdoc_MANS += man/stringprep_utf8_nfkc_normalize.3
+gdoc_MANS += man/stringprep_ucs4_nfkc_normalize.3
+gdoc_MANS += man/pr29_4.3
+gdoc_MANS += man/pr29_4z.3
+gdoc_MANS += man/pr29_8z.3
+gdoc_MANS += man/punycode_encode.3
+gdoc_MANS += man/punycode_decode.3
+gdoc_MANS += man/stringprep_4i.3
+gdoc_MANS += man/stringprep_4zi.3
+gdoc_MANS += man/stringprep.3
+gdoc_MANS += man/stringprep_profile.3
+gdoc_MANS += man/tld_get_table.3
+gdoc_MANS += man/tld_default_table.3
+gdoc_MANS += man/tld_get_4.3
+gdoc_MANS += man/tld_get_4z.3
+gdoc_MANS += man/tld_get_z.3
+gdoc_MANS += man/tld_check_4t.3
+gdoc_MANS += man/tld_check_4tz.3
+gdoc_MANS += man/tld_check_4.3
+gdoc_MANS += man/tld_check_4z.3
+gdoc_MANS += man/tld_check_8z.3
+gdoc_MANS += man/tld_check_lz.3
+gdoc_MANS += man/stringprep_locale_charset.3
+gdoc_MANS += man/stringprep_convert.3
+gdoc_MANS += man/stringprep_locale_to_utf8.3
+gdoc_MANS += man/stringprep_utf8_to_locale.3
+gdoc_MANS += man/stringprep_check_version.3
+gdoc_MANS += man/idn_free.3
+gdoc_MANS += man/idna_strerror.3
+gdoc_MANS += man/pr29_strerror.3
+gdoc_MANS += man/punycode_strerror.3
+gdoc_MANS += man/stringprep_strerror.3
+gdoc_MANS += man/tld_strerror.3
+
+BUILT_SOURCES += $(gdoc_MANS) $(gdoc_TEXINFOS)
+
 GDOC_SRC = $(top_srcdir)/lib/idna.c $(top_srcdir)/lib/nfkc.c   \
        $(top_srcdir)/lib/pr29.c $(top_srcdir)/lib/punycode.c   \
        $(top_srcdir)/lib/stringprep.c $(top_srcdir)/lib/tld.c  \
@@ -69,11 +190,47 @@ GDOC_SRC = $(top_srcdir)/lib/idna.c $(top_srcdir)/lib/nfkc.c       \
        $(top_srcdir)/lib/strerror-punycode.c \
        $(top_srcdir)/lib/strerror-stringprep.c \
        $(top_srcdir)/lib/strerror-tld.c
-GDOC_TEXI_PREFIX = texi/
-GDOC_MAN_PREFIX = man/
-GDOC_MAN_EXTRA_ARGS = -module $(PACKAGE) -sourceversion $(VERSION) \
-       -bugsto $(PACKAGE_BUGREPORT) -pkg-name "$(PACKAGE_NAME)" \
-       -includefuncprefix -seeinfo $(PACKAGE) \
-       -copyright "2002-2012 Simon Josefsson" \
-       -verbatimcopying
-include $(srcdir)/Makefile.gdoci
+
+.PHONY: compare-makefile
+
+compare-makefile:
+       $(AM_V_GEN) \
+       MANS=""; \
+       TEXINFOS=""; \
+       FUNCS=`$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; \
+       for i in $$FUNCS; do \
+               MANS="$$MANS\ngdoc_MANS += man/$$i.3"; \
+               TEXINFOS="$$TEXINFOS\ngdoc_TEXINFOS += texi/$$i.texi"; \
+       done && \
+       grep -v -e '^gdoc_MANS += ' -e '^gdoc_TEXINFOS += ' $(srcdir)/Makefile.am | \
+               perl -p -e "s,^gdoc_MANS =,gdoc_MANS =$$MANS,;" | \
+               perl -p -e "s,^gdoc_TEXINFOS =,gdoc_TEXINFOS =$$TEXINFOS,;" \
+               > tmp-$@ && \
+       diff -u $(srcdir)/Makefile.am tmp-$@ && \
+       rm -f tmp-$@
+
+EXTRA_DIST += stamp-gdoc
+
+$(gdoc_MANS) $(gdoc_TEXINFOS): stamp-gdoc
+
+clean-local:
+       -rm -f stamp-gdoc
+
+stamp-gdoc: $(top_srcdir)/.version $(GDOC_SRC)
+       $(AM_V_at)$(MKDIR_P) man texi
+       $(AM_V_GEN)for i in `$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; do \
+               $(srcdir)/gdoc -man \
+                       -bugsto $(PACKAGE_BUGREPORT) \
+                       -module $(PACKAGE) \
+                       -pkg-name "$(PACKAGE_NAME)" \
+                       -sourceversion $(VERSION) \
+                       -includefuncprefix \
+                       -seeinfo $(PACKAGE) \
+                       -verbatimcopying \
+                       -copyright "2002-2024 Simon Josefsson" \
+                       -function $$i \
+                       $(GDOC_SRC) > man/$$i.3 && \
+               $(srcdir)/gdoc -texinfo -function $$i \
+                       $(GDOC_SRC) > texi/$$i.texi; \
+       done
+       $(AM_V_at)touch $@
diff --git a/doc/Makefile.gdoc b/doc/Makefile.gdoc
deleted file mode 100644 (file)
index eb305bd..0000000
+++ /dev/null
@@ -1,648 +0,0 @@
-# This file is automatically generated.  DO NOT EDIT!          -*- makefile -*-
-
-gdoc_TEXINFOS =
-gdoc_MANS =
-
-#
-### idna.c
-#
-gdoc_TEXINFOS += texi/idna.c.texi
-texi/idna.c.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# idna.c: idna_to_ascii_4i
-gdoc_TEXINFOS += texi/idna_to_ascii_4i.texi
-texi/idna_to_ascii_4i.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_4i $< > $@
-
-gdoc_MANS += man/idna_to_ascii_4i.3
-man/idna_to_ascii_4i.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_4i $< > $@
-
-# idna.c: idna_to_unicode_44i
-gdoc_TEXINFOS += texi/idna_to_unicode_44i.texi
-texi/idna_to_unicode_44i.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_44i $< > $@
-
-gdoc_MANS += man/idna_to_unicode_44i.3
-man/idna_to_unicode_44i.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_44i $< > $@
-
-# idna.c: idna_to_ascii_4z
-gdoc_TEXINFOS += texi/idna_to_ascii_4z.texi
-texi/idna_to_ascii_4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_4z $< > $@
-
-gdoc_MANS += man/idna_to_ascii_4z.3
-man/idna_to_ascii_4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_4z $< > $@
-
-# idna.c: idna_to_ascii_8z
-gdoc_TEXINFOS += texi/idna_to_ascii_8z.texi
-texi/idna_to_ascii_8z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_8z $< > $@
-
-gdoc_MANS += man/idna_to_ascii_8z.3
-man/idna_to_ascii_8z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_8z $< > $@
-
-# idna.c: idna_to_ascii_lz
-gdoc_TEXINFOS += texi/idna_to_ascii_lz.texi
-texi/idna_to_ascii_lz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_lz $< > $@
-
-gdoc_MANS += man/idna_to_ascii_lz.3
-man/idna_to_ascii_lz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_lz $< > $@
-
-# idna.c: idna_to_unicode_4z4z
-gdoc_TEXINFOS += texi/idna_to_unicode_4z4z.texi
-texi/idna_to_unicode_4z4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_4z4z $< > $@
-
-gdoc_MANS += man/idna_to_unicode_4z4z.3
-man/idna_to_unicode_4z4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_4z4z $< > $@
-
-# idna.c: idna_to_unicode_8z4z
-gdoc_TEXINFOS += texi/idna_to_unicode_8z4z.texi
-texi/idna_to_unicode_8z4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8z4z $< > $@
-
-gdoc_MANS += man/idna_to_unicode_8z4z.3
-man/idna_to_unicode_8z4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8z4z $< > $@
-
-# idna.c: idna_to_unicode_8z8z
-gdoc_TEXINFOS += texi/idna_to_unicode_8z8z.texi
-texi/idna_to_unicode_8z8z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8z8z $< > $@
-
-gdoc_MANS += man/idna_to_unicode_8z8z.3
-man/idna_to_unicode_8z8z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8z8z $< > $@
-
-# idna.c: idna_to_unicode_8zlz
-gdoc_TEXINFOS += texi/idna_to_unicode_8zlz.texi
-texi/idna_to_unicode_8zlz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8zlz $< > $@
-
-gdoc_MANS += man/idna_to_unicode_8zlz.3
-man/idna_to_unicode_8zlz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8zlz $< > $@
-
-# idna.c: idna_to_unicode_lzlz
-gdoc_TEXINFOS += texi/idna_to_unicode_lzlz.texi
-texi/idna_to_unicode_lzlz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_lzlz $< > $@
-
-gdoc_MANS += man/idna_to_unicode_lzlz.3
-man/idna_to_unicode_lzlz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_lzlz $< > $@
-
-
-#
-### nfkc.c
-#
-gdoc_TEXINFOS += texi/nfkc.c.texi
-texi/nfkc.c.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# nfkc.c: stringprep_utf8_to_unichar
-gdoc_TEXINFOS += texi/stringprep_utf8_to_unichar.texi
-texi/stringprep_utf8_to_unichar.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_unichar $< > $@
-
-gdoc_MANS += man/stringprep_utf8_to_unichar.3
-man/stringprep_utf8_to_unichar.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_unichar $< > $@
-
-# nfkc.c: stringprep_unichar_to_utf8
-gdoc_TEXINFOS += texi/stringprep_unichar_to_utf8.texi
-texi/stringprep_unichar_to_utf8.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_unichar_to_utf8 $< > $@
-
-gdoc_MANS += man/stringprep_unichar_to_utf8.3
-man/stringprep_unichar_to_utf8.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_unichar_to_utf8 $< > $@
-
-# nfkc.c: stringprep_utf8_to_ucs4
-gdoc_TEXINFOS += texi/stringprep_utf8_to_ucs4.texi
-texi/stringprep_utf8_to_ucs4.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_ucs4 $< > $@
-
-gdoc_MANS += man/stringprep_utf8_to_ucs4.3
-man/stringprep_utf8_to_ucs4.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_ucs4 $< > $@
-
-# nfkc.c: stringprep_ucs4_to_utf8
-gdoc_TEXINFOS += texi/stringprep_ucs4_to_utf8.texi
-texi/stringprep_ucs4_to_utf8.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_ucs4_to_utf8 $< > $@
-
-gdoc_MANS += man/stringprep_ucs4_to_utf8.3
-man/stringprep_ucs4_to_utf8.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_ucs4_to_utf8 $< > $@
-
-# nfkc.c: stringprep_utf8_nfkc_normalize
-gdoc_TEXINFOS += texi/stringprep_utf8_nfkc_normalize.texi
-texi/stringprep_utf8_nfkc_normalize.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_nfkc_normalize $< > $@
-
-gdoc_MANS += man/stringprep_utf8_nfkc_normalize.3
-man/stringprep_utf8_nfkc_normalize.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_nfkc_normalize $< > $@
-
-# nfkc.c: stringprep_ucs4_nfkc_normalize
-gdoc_TEXINFOS += texi/stringprep_ucs4_nfkc_normalize.texi
-texi/stringprep_ucs4_nfkc_normalize.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_ucs4_nfkc_normalize $< > $@
-
-gdoc_MANS += man/stringprep_ucs4_nfkc_normalize.3
-man/stringprep_ucs4_nfkc_normalize.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_ucs4_nfkc_normalize $< > $@
-
-
-#
-### pr29.c
-#
-gdoc_TEXINFOS += texi/pr29.c.texi
-texi/pr29.c.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# pr29.c: pr29_4
-gdoc_TEXINFOS += texi/pr29_4.texi
-texi/pr29_4.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_4 $< > $@
-
-gdoc_MANS += man/pr29_4.3
-man/pr29_4.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_4 $< > $@
-
-# pr29.c: pr29_4z
-gdoc_TEXINFOS += texi/pr29_4z.texi
-texi/pr29_4z.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_4z $< > $@
-
-gdoc_MANS += man/pr29_4z.3
-man/pr29_4z.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_4z $< > $@
-
-# pr29.c: pr29_8z
-gdoc_TEXINFOS += texi/pr29_8z.texi
-texi/pr29_8z.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_8z $< > $@
-
-gdoc_MANS += man/pr29_8z.3
-man/pr29_8z.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_8z $< > $@
-
-
-#
-### punycode.c
-#
-gdoc_TEXINFOS += texi/punycode.c.texi
-texi/punycode.c.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# punycode.c: punycode_encode
-gdoc_TEXINFOS += texi/punycode_encode.texi
-texi/punycode_encode.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_encode $< > $@
-
-gdoc_MANS += man/punycode_encode.3
-man/punycode_encode.3: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_encode $< > $@
-
-# punycode.c: punycode_decode
-gdoc_TEXINFOS += texi/punycode_decode.texi
-texi/punycode_decode.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_decode $< > $@
-
-gdoc_MANS += man/punycode_decode.3
-man/punycode_decode.3: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_decode $< > $@
-
-
-#
-### stringprep.c
-#
-gdoc_TEXINFOS += texi/stringprep.c.texi
-texi/stringprep.c.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# stringprep.c: stringprep_4i
-gdoc_TEXINFOS += texi/stringprep_4i.texi
-texi/stringprep_4i.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_4i $< > $@
-
-gdoc_MANS += man/stringprep_4i.3
-man/stringprep_4i.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_4i $< > $@
-
-# stringprep.c: stringprep_4zi
-gdoc_TEXINFOS += texi/stringprep_4zi.texi
-texi/stringprep_4zi.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_4zi $< > $@
-
-gdoc_MANS += man/stringprep_4zi.3
-man/stringprep_4zi.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_4zi $< > $@
-
-# stringprep.c: stringprep
-gdoc_TEXINFOS += texi/stringprep.texi
-texi/stringprep.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep $< > $@
-
-gdoc_MANS += man/stringprep.3
-man/stringprep.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep $< > $@
-
-# stringprep.c: stringprep_profile
-gdoc_TEXINFOS += texi/stringprep_profile.texi
-texi/stringprep_profile.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_profile $< > $@
-
-gdoc_MANS += man/stringprep_profile.3
-man/stringprep_profile.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_profile $< > $@
-
-
-#
-### tld.c
-#
-gdoc_TEXINFOS += texi/tld.c.texi
-texi/tld.c.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# tld.c: tld_get_table
-gdoc_TEXINFOS += texi/tld_get_table.texi
-texi/tld_get_table.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_table $< > $@
-
-gdoc_MANS += man/tld_get_table.3
-man/tld_get_table.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_table $< > $@
-
-# tld.c: tld_default_table
-gdoc_TEXINFOS += texi/tld_default_table.texi
-texi/tld_default_table.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_default_table $< > $@
-
-gdoc_MANS += man/tld_default_table.3
-man/tld_default_table.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_default_table $< > $@
-
-# tld.c: tld_get_4
-gdoc_TEXINFOS += texi/tld_get_4.texi
-texi/tld_get_4.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_4 $< > $@
-
-gdoc_MANS += man/tld_get_4.3
-man/tld_get_4.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_4 $< > $@
-
-# tld.c: tld_get_4z
-gdoc_TEXINFOS += texi/tld_get_4z.texi
-texi/tld_get_4z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_4z $< > $@
-
-gdoc_MANS += man/tld_get_4z.3
-man/tld_get_4z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_4z $< > $@
-
-# tld.c: tld_get_z
-gdoc_TEXINFOS += texi/tld_get_z.texi
-texi/tld_get_z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_z $< > $@
-
-gdoc_MANS += man/tld_get_z.3
-man/tld_get_z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_z $< > $@
-
-# tld.c: tld_check_4t
-gdoc_TEXINFOS += texi/tld_check_4t.texi
-texi/tld_check_4t.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4t $< > $@
-
-gdoc_MANS += man/tld_check_4t.3
-man/tld_check_4t.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4t $< > $@
-
-# tld.c: tld_check_4tz
-gdoc_TEXINFOS += texi/tld_check_4tz.texi
-texi/tld_check_4tz.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4tz $< > $@
-
-gdoc_MANS += man/tld_check_4tz.3
-man/tld_check_4tz.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4tz $< > $@
-
-# tld.c: tld_check_4
-gdoc_TEXINFOS += texi/tld_check_4.texi
-texi/tld_check_4.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4 $< > $@
-
-gdoc_MANS += man/tld_check_4.3
-man/tld_check_4.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4 $< > $@
-
-# tld.c: tld_check_4z
-gdoc_TEXINFOS += texi/tld_check_4z.texi
-texi/tld_check_4z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4z $< > $@
-
-gdoc_MANS += man/tld_check_4z.3
-man/tld_check_4z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4z $< > $@
-
-# tld.c: tld_check_8z
-gdoc_TEXINFOS += texi/tld_check_8z.texi
-texi/tld_check_8z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_8z $< > $@
-
-gdoc_MANS += man/tld_check_8z.3
-man/tld_check_8z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_8z $< > $@
-
-# tld.c: tld_check_lz
-gdoc_TEXINFOS += texi/tld_check_lz.texi
-texi/tld_check_lz.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_lz $< > $@
-
-gdoc_MANS += man/tld_check_lz.3
-man/tld_check_lz.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_lz $< > $@
-
-
-#
-### toutf8.c
-#
-gdoc_TEXINFOS += texi/toutf8.c.texi
-texi/toutf8.c.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# toutf8.c: stringprep_locale_charset
-gdoc_TEXINFOS += texi/stringprep_locale_charset.texi
-texi/stringprep_locale_charset.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_locale_charset $< > $@
-
-gdoc_MANS += man/stringprep_locale_charset.3
-man/stringprep_locale_charset.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_locale_charset $< > $@
-
-# toutf8.c: stringprep_convert
-gdoc_TEXINFOS += texi/stringprep_convert.texi
-texi/stringprep_convert.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_convert $< > $@
-
-gdoc_MANS += man/stringprep_convert.3
-man/stringprep_convert.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_convert $< > $@
-
-# toutf8.c: stringprep_locale_to_utf8
-gdoc_TEXINFOS += texi/stringprep_locale_to_utf8.texi
-texi/stringprep_locale_to_utf8.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_locale_to_utf8 $< > $@
-
-gdoc_MANS += man/stringprep_locale_to_utf8.3
-man/stringprep_locale_to_utf8.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_locale_to_utf8 $< > $@
-
-# toutf8.c: stringprep_utf8_to_locale
-gdoc_TEXINFOS += texi/stringprep_utf8_to_locale.texi
-texi/stringprep_utf8_to_locale.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_locale $< > $@
-
-gdoc_MANS += man/stringprep_utf8_to_locale.3
-man/stringprep_utf8_to_locale.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_locale $< > $@
-
-
-#
-### version.c
-#
-gdoc_TEXINFOS += texi/version.c.texi
-texi/version.c.texi: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# version.c: stringprep_check_version
-gdoc_TEXINFOS += texi/stringprep_check_version.texi
-texi/stringprep_check_version.texi: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_check_version $< > $@
-
-gdoc_MANS += man/stringprep_check_version.3
-man/stringprep_check_version.3: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_check_version $< > $@
-
-
-#
-### idn-free.c
-#
-gdoc_TEXINFOS += texi/idn-free.c.texi
-texi/idn-free.c.texi: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# idn-free.c: idn_free
-gdoc_TEXINFOS += texi/idn_free.texi
-texi/idn_free.texi: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idn_free $< > $@
-
-gdoc_MANS += man/idn_free.3
-man/idn_free.3: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idn_free $< > $@
-
-
-#
-### strerror-idna.c
-#
-gdoc_TEXINFOS += texi/strerror-idna.c.texi
-texi/strerror-idna.c.texi: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# strerror-idna.c: idna_strerror
-gdoc_TEXINFOS += texi/idna_strerror.texi
-texi/idna_strerror.texi: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_strerror $< > $@
-
-gdoc_MANS += man/idna_strerror.3
-man/idna_strerror.3: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_strerror $< > $@
-
-
-#
-### strerror-pr29.c
-#
-gdoc_TEXINFOS += texi/strerror-pr29.c.texi
-texi/strerror-pr29.c.texi: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# strerror-pr29.c: pr29_strerror
-gdoc_TEXINFOS += texi/pr29_strerror.texi
-texi/pr29_strerror.texi: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_strerror $< > $@
-
-gdoc_MANS += man/pr29_strerror.3
-man/pr29_strerror.3: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_strerror $< > $@
-
-
-#
-### strerror-punycode.c
-#
-gdoc_TEXINFOS += texi/strerror-punycode.c.texi
-texi/strerror-punycode.c.texi: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# strerror-punycode.c: punycode_strerror
-gdoc_TEXINFOS += texi/punycode_strerror.texi
-texi/punycode_strerror.texi: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_strerror $< > $@
-
-gdoc_MANS += man/punycode_strerror.3
-man/punycode_strerror.3: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_strerror $< > $@
-
-
-#
-### strerror-stringprep.c
-#
-gdoc_TEXINFOS += texi/strerror-stringprep.c.texi
-texi/strerror-stringprep.c.texi: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# strerror-stringprep.c: stringprep_strerror
-gdoc_TEXINFOS += texi/stringprep_strerror.texi
-texi/stringprep_strerror.texi: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_strerror $< > $@
-
-gdoc_MANS += man/stringprep_strerror.3
-man/stringprep_strerror.3: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_strerror $< > $@
-
-
-#
-### strerror-tld.c
-#
-gdoc_TEXINFOS += texi/strerror-tld.c.texi
-texi/strerror-tld.c.texi: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-
-# strerror-tld.c: tld_strerror
-gdoc_TEXINFOS += texi/tld_strerror.texi
-texi/tld_strerror.texi: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_strerror $< > $@
-
-gdoc_MANS += man/tld_strerror.3
-man/tld_strerror.3: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_strerror $< > $@
-
-
diff --git a/doc/Makefile.gdoci b/doc/Makefile.gdoci
deleted file mode 100644 (file)
index 0198095..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- makefile -*-
-# Copyright (C) 2002-2012 Simon Josefsson
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-
-BUILT_SOURCES = Makefile.gdoc
-
-Makefile.gdoc: $(top_builddir)/configure Makefile.am Makefile.gdoci $(GDOC_SRC)
-       echo '# This file is automatically generated.  DO NOT EDIT!          -*- makefile -*-' > Makefile.gdoc
-       echo >> Makefile.gdoc
-       echo 'gdoc_TEXINFOS =' >> Makefile.gdoc
-       echo 'gdoc_MANS =' >> Makefile.gdoc
-       echo >> Makefile.gdoc
-       for file in $(GDOC_SRC); do \
-         shortfile=`basename $$file`; \
-         echo "#" >> Makefile.gdoc; \
-         echo "### $$shortfile" >> Makefile.gdoc; \
-         echo "#" >> Makefile.gdoc; \
-         echo "gdoc_TEXINFOS += $(GDOC_TEXI_PREFIX)$$shortfile.texi" >> Makefile.gdoc; \
-         echo "$(GDOC_TEXI_PREFIX)$$shortfile.texi: $$file" >> Makefile.gdoc; \
-         echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/        /" >> Makefile.gdoc; \
-         echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -texinfo $$(GDOC_TEXI_EXTRA_ARGS) $$< > $$@' | sed "s/TAB/  /" >> Makefile.gdoc; \
-         echo >> Makefile.gdoc; \
-         functions=`$(PERL) $(srcdir)/gdoc -listfunc $$file`; \
-         for function in $$functions; do \
-           echo "# $$shortfile: $$function" >> Makefile.gdoc; \
-           echo "gdoc_TEXINFOS += $(GDOC_TEXI_PREFIX)$$function.texi" >> Makefile.gdoc; \
-           echo "$(GDOC_TEXI_PREFIX)$$function.texi: $$file" >> Makefile.gdoc; \
-           echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/      /" >> Makefile.gdoc; \
-           echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -texinfo $$(GDOC_TEXI_EXTRA_ARGS) -function'" $$function"' $$< > $$@' | sed "s/TAB/       /" >> Makefile.gdoc; \
-           echo >> Makefile.gdoc; \
-           echo "gdoc_MANS += $(GDOC_MAN_PREFIX)$$function.3" >> Makefile.gdoc; \
-           echo "$(GDOC_MAN_PREFIX)$$function.3: $$file" >> Makefile.gdoc; \
-           echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/      /" >> Makefile.gdoc; \
-           echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -man $$(GDOC_MAN_EXTRA_ARGS) -function'" $$function"' $$< > $$@' | sed "s/TAB/    /" >> Makefile.gdoc; \
-           echo >> Makefile.gdoc; \
-         done; \
-         echo >> Makefile.gdoc; \
-       done
-       $(MAKE) Makefile
-
-include Makefile.gdoc
index e79dce9..1c07e8e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson.
+# Copyright (C) 2002-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
-
-# -*- makefile -*-
-# Copyright (C) 2002-2012 Simon Josefsson
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-
-# This file is automatically generated.  DO NOT EDIT!          -*- makefile -*-
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -72,98 +106,143 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 @ENABLE_GTK_DOC_TRUE@am__append_1 = . reference
-DIST_COMMON = $(dist_man_MANS) $(libidn_TEXINFOS) \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.gdoc \
-       $(srcdir)/Makefile.gdoci $(srcdir)/Makefile.in \
-       $(srcdir)/stamp-vti $(srcdir)/version.texi
 subdir = doc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \
+       $(srcdir)/stamp-vti $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo "  DVIPS   " $@;
+am__v_DVIPS_1 = 
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo "  MAKEINFO" $@;
+am__v_MAKEINFO_1 = 
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo "  INFOHTML" $@;
+am__v_INFOHTML_1 = 
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo "  TEXI2DVI" $@;
+am__v_TEXI2DVI_1 = 
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo "  TEXI2PDF" $@;
+am__v_TEXI2PDF_1 = 
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 = 
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 = 
 INFO_DEPS = $(srcdir)/libidn.info
 TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
 am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
@@ -172,16 +251,24 @@ PDFS = libidn.pdf
 PSS = libidn.ps
 HTMLS = libidn.html
 TEXINFOS = libidn.texi
+TEXI2DVI = texi2dvi
 TEXI2PDF = $(TEXI2DVI) --pdf --batch
 MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
 DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \
        "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(imagesdir)"
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -218,12 +305,33 @@ MANS = $(dist_man_MANS)
 DATA = $(images_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 DIST_SUBDIRS = specifications tld java cyclo . reference
+am__DIST_COMMON = $(dist_man_MANS) $(libidn_TEXINFOS) \
+       $(srcdir)/Makefile.in $(top_srcdir)/build-aux/mdate-sh \
+       $(top_srcdir)/build-aux/texinfo.tex
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -255,10 +363,12 @@ ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -277,9 +387,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -299,290 +412,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -592,16 +994,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -618,33 +1025,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -659,28 +1079,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -690,26 +1118,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -728,6 +1164,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -749,9 +1186,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -769,36 +1205,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -807,12 +1245,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -825,11 +1267,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -862,27 +1306,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -895,71 +1361,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -968,11 +1468,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -985,45 +1495,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1031,7 +1554,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1049,8 +1571,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1063,8 +1587,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1080,6 +1606,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1089,227 +1616,50 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 SUBDIRS = specifications tld java cyclo $(am__append_1)
-EXTRA_DIST = gdoc libidn.html libidn.ps libidn.pdf texinfo.css \
-       components.fig
-
+EXTRA_DIST = gdoc components.fig stamp-gdoc
 info_TEXINFOS = libidn.texi
-libidn_TEXINFOS = fdl-1.3.texi $(gdoc_TEXINFOS) libidn-components.eps \
-       libidn-components.png libidn-components.pdf
+libidn_TEXINFOS = fdl-1.3.texi idn-help.texi example.txt example2.txt \
+       example3.txt example4.txt example5.txt $(gdoc_TEXINFOS) \
+       libidn-components.eps libidn-components.png \
+       libidn-components.pdf
 imagesdir = $(infodir)
 images_DATA = libidn-components.png
-AM_MAKEINFOFLAGS = -I $(top_builddir)/doc -I $(top_srcdir)/examples
-TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS)
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \
-       --no-split --number-sections --css-include=texinfo.css
-
+BUILT_SOURCES = example.txt example2.txt example3.txt example4.txt \
+       example5.txt $(gdoc_MANS) $(gdoc_TEXINFOS)
 
 # Man pages.
 dist_man_MANS = idn.1 $(gdoc_MANS)
 MAINTAINERCLEANFILES = $(dist_man_MANS)
 
 # GDOC
-GDOC_SRC = $(top_srcdir)/lib/idna.c $(top_srcdir)/lib/nfkc.c   \
-       $(top_srcdir)/lib/pr29.c $(top_srcdir)/lib/punycode.c   \
-       $(top_srcdir)/lib/stringprep.c $(top_srcdir)/lib/tld.c  \
-       $(top_srcdir)/lib/toutf8.c $(top_srcdir)/lib/version.c \
-       $(top_srcdir)/lib/idn-free.c \
-       $(top_srcdir)/lib/strerror-idna.c $(top_srcdir)/lib/strerror-pr29.c \
-       $(top_srcdir)/lib/strerror-punycode.c \
-       $(top_srcdir)/lib/strerror-stringprep.c \
-       $(top_srcdir)/lib/strerror-tld.c
-
-GDOC_TEXI_PREFIX = texi/
-GDOC_MAN_PREFIX = man/
-GDOC_MAN_EXTRA_ARGS = -module $(PACKAGE) -sourceversion $(VERSION) \
-       -bugsto $(PACKAGE_BUGREPORT) -pkg-name "$(PACKAGE_NAME)" \
-       -includefuncprefix -seeinfo $(PACKAGE) \
-       -copyright "2002-2012 Simon Josefsson" \
-       -verbatimcopying
-
-BUILT_SOURCES = Makefile.gdoc
-
-#
-### idna.c
-#
-
-# idna.c: idna_to_ascii_4i
-
-# idna.c: idna_to_unicode_44i
-
-# idna.c: idna_to_ascii_4z
-
-# idna.c: idna_to_ascii_8z
-
-# idna.c: idna_to_ascii_lz
-
-# idna.c: idna_to_unicode_4z4z
-
-# idna.c: idna_to_unicode_8z4z
-
-# idna.c: idna_to_unicode_8z8z
-
-# idna.c: idna_to_unicode_8zlz
-
-# idna.c: idna_to_unicode_lzlz
-
-#
-### nfkc.c
-#
-
-# nfkc.c: stringprep_utf8_to_unichar
-
-# nfkc.c: stringprep_unichar_to_utf8
-
-# nfkc.c: stringprep_utf8_to_ucs4
-
-# nfkc.c: stringprep_ucs4_to_utf8
-
-# nfkc.c: stringprep_utf8_nfkc_normalize
-
-# nfkc.c: stringprep_ucs4_nfkc_normalize
-
-#
-### pr29.c
-#
-
-# pr29.c: pr29_4
-
-# pr29.c: pr29_4z
-
-# pr29.c: pr29_8z
-
-#
-### punycode.c
-#
-
-# punycode.c: punycode_encode
-
-# punycode.c: punycode_decode
-
-#
-### stringprep.c
-#
-
-# stringprep.c: stringprep_4i
-
-# stringprep.c: stringprep_4zi
-
-# stringprep.c: stringprep
-
-# stringprep.c: stringprep_profile
-
-#
-### tld.c
-#
-
-# tld.c: tld_get_table
-
-# tld.c: tld_default_table
-
-# tld.c: tld_get_4
-
-# tld.c: tld_get_4z
-
-# tld.c: tld_get_z
-
-# tld.c: tld_check_4t
-
-# tld.c: tld_check_4tz
-
-# tld.c: tld_check_4
-
-# tld.c: tld_check_4z
-
-# tld.c: tld_check_8z
-
-# tld.c: tld_check_lz
-
-#
-### toutf8.c
-#
-
-# toutf8.c: stringprep_locale_charset
-
-# toutf8.c: stringprep_convert
-
-# toutf8.c: stringprep_locale_to_utf8
-
-# toutf8.c: stringprep_utf8_to_locale
-
-#
-### version.c
-#
-
-# version.c: stringprep_check_version
-
-#
-### idn-free.c
-#
-
-# idn-free.c: idn_free
-
-#
-### strerror-idna.c
-#
-
-# strerror-idna.c: idna_strerror
-
-#
-### strerror-pr29.c
-#
-
-# strerror-pr29.c: pr29_strerror
-
-#
-### strerror-punycode.c
-#
-
-# strerror-punycode.c: punycode_strerror
-
-#
-### strerror-stringprep.c
-#
-
-# strerror-stringprep.c: stringprep_strerror
-
-#
-### strerror-tld.c
-#
-
-# strerror-tld.c: tld_strerror
-gdoc_TEXINFOS = texi/idna.c.texi texi/idna_to_ascii_4i.texi \
+gdoc_TEXINFOS = texi/idna_to_ascii_4i.texi \
        texi/idna_to_unicode_44i.texi texi/idna_to_ascii_4z.texi \
        texi/idna_to_ascii_8z.texi texi/idna_to_ascii_lz.texi \
        texi/idna_to_unicode_4z4z.texi texi/idna_to_unicode_8z4z.texi \
        texi/idna_to_unicode_8z8z.texi texi/idna_to_unicode_8zlz.texi \
-       texi/idna_to_unicode_lzlz.texi texi/nfkc.c.texi \
+       texi/idna_to_unicode_lzlz.texi \
        texi/stringprep_utf8_to_unichar.texi \
        texi/stringprep_unichar_to_utf8.texi \
        texi/stringprep_utf8_to_ucs4.texi \
        texi/stringprep_ucs4_to_utf8.texi \
        texi/stringprep_utf8_nfkc_normalize.texi \
-       texi/stringprep_ucs4_nfkc_normalize.texi texi/pr29.c.texi \
-       texi/pr29_4.texi texi/pr29_4z.texi texi/pr29_8z.texi \
-       texi/punycode.c.texi texi/punycode_encode.texi \
-       texi/punycode_decode.texi texi/stringprep.c.texi \
-       texi/stringprep_4i.texi texi/stringprep_4zi.texi \
-       texi/stringprep.texi texi/stringprep_profile.texi \
-       texi/tld.c.texi texi/tld_get_table.texi \
+       texi/stringprep_ucs4_nfkc_normalize.texi texi/pr29_4.texi \
+       texi/pr29_4z.texi texi/pr29_8z.texi texi/punycode_encode.texi \
+       texi/punycode_decode.texi texi/stringprep_4i.texi \
+       texi/stringprep_4zi.texi texi/stringprep.texi \
+       texi/stringprep_profile.texi texi/tld_get_table.texi \
        texi/tld_default_table.texi texi/tld_get_4.texi \
        texi/tld_get_4z.texi texi/tld_get_z.texi \
        texi/tld_check_4t.texi texi/tld_check_4tz.texi \
        texi/tld_check_4.texi texi/tld_check_4z.texi \
        texi/tld_check_8z.texi texi/tld_check_lz.texi \
-       texi/toutf8.c.texi texi/stringprep_locale_charset.texi \
+       texi/stringprep_locale_charset.texi \
        texi/stringprep_convert.texi \
        texi/stringprep_locale_to_utf8.texi \
-       texi/stringprep_utf8_to_locale.texi texi/version.c.texi \
-       texi/stringprep_check_version.texi texi/idn-free.c.texi \
-       texi/idn_free.texi texi/strerror-idna.c.texi \
-       texi/idna_strerror.texi texi/strerror-pr29.c.texi \
-       texi/pr29_strerror.texi texi/strerror-punycode.c.texi \
-       texi/punycode_strerror.texi texi/strerror-stringprep.c.texi \
-       texi/stringprep_strerror.texi texi/strerror-tld.c.texi \
+       texi/stringprep_utf8_to_locale.texi \
+       texi/stringprep_check_version.texi texi/idn_free.texi \
+       texi/idna_strerror.texi texi/pr29_strerror.texi \
+       texi/punycode_strerror.texi texi/stringprep_strerror.texi \
        texi/tld_strerror.texi
 gdoc_MANS = man/idna_to_ascii_4i.3 man/idna_to_unicode_44i.3 \
        man/idna_to_ascii_4z.3 man/idna_to_ascii_8z.3 \
@@ -1333,12 +1683,22 @@ gdoc_MANS = man/idna_to_ascii_4i.3 man/idna_to_unicode_44i.3 \
        man/idn_free.3 man/idna_strerror.3 man/pr29_strerror.3 \
        man/punycode_strerror.3 man/stringprep_strerror.3 \
        man/tld_strerror.3
+GDOC_SRC = $(top_srcdir)/lib/idna.c $(top_srcdir)/lib/nfkc.c   \
+       $(top_srcdir)/lib/pr29.c $(top_srcdir)/lib/punycode.c   \
+       $(top_srcdir)/lib/stringprep.c $(top_srcdir)/lib/tld.c  \
+       $(top_srcdir)/lib/toutf8.c $(top_srcdir)/lib/version.c \
+       $(top_srcdir)/lib/idn-free.c \
+       $(top_srcdir)/lib/strerror-idna.c $(top_srcdir)/lib/strerror-pr29.c \
+       $(top_srcdir)/lib/strerror-punycode.c \
+       $(top_srcdir)/lib/strerror-stringprep.c \
+       $(top_srcdir)/lib/strerror-tld.c
+
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
 .SUFFIXES: .dvi .html .info .pdf .ps .texi
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/Makefile.gdoci $(srcdir)/Makefile.gdoc $(am__configure_deps)
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -1350,16 +1710,14 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/Makefile.gdoci $(srcdir)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
-$(srcdir)/Makefile.gdoci $(srcdir)/Makefile.gdoc:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1377,7 +1735,7 @@ clean-libtool:
        -rm -rf .libs _libs
 
 .texi.info:
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+       $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
        am__cwd=`pwd` && $(am__cd) $(srcdir) && \
        rm -rf $$backupdir && mkdir $$backupdir && \
        if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
@@ -1399,27 +1757,25 @@ clean-libtool:
        rm -rf $$backupdir; exit $$rc
 
 .texi.dvi:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-       $(TEXI2DVI) $<
+       $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+       $<
 
 .texi.pdf:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-       $(TEXI2PDF) $<
+       $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+       $<
 
 .texi.html:
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+       $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+       $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
         -o $(@:.html=.htp) $<; \
        then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+         rm -rf $@ && mv $(@:.html=.htp) $@; \
        else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
+         rm -rf $(@:.html=.htp); exit 1; \
        fi
 $(srcdir)/libidn.info: libidn.texi $(srcdir)/version.texi $(libidn_TEXINFOS)
 libidn.dvi: libidn.texi $(srcdir)/version.texi $(libidn_TEXINFOS)
@@ -1432,21 +1788,22 @@ $(srcdir)/stamp-vti: libidn.texi $(top_srcdir)/configure
        echo "@set UPDATED $$1 $$2 $$3"; \
        echo "@set UPDATED-MONTH $$2 $$3"; \
        echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/version.texi \
-         || (echo "Updating $(srcdir)/version.texi"; \
-             cp vti.tmp $(srcdir)/version.texi)
-       -@rm -f vti.tmp
+       echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \
+       (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \
+         || (echo "Updating $(srcdir)/version.texi" && \
+             cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \
+             mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \
+       rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$
        @cp $(srcdir)/version.texi $@
 
 mostlyclean-vti:
-       -rm -f vti.tmp
+       -rm -f vti.tmp* $(srcdir)/version.texi.tmp*
 
 maintainer-clean-vti:
        -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
 .dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
+       $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(DVIPS) $(AM_V_texinfo) -o $@ $<
 
 uninstall-dvi-am:
        @$(NORMAL_UNINSTALL)
@@ -1468,9 +1825,7 @@ uninstall-html-am:
 
 uninstall-info-am:
        @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+       @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -1527,9 +1882,7 @@ dist-info: $(INFO_DEPS)
        done
 
 mostlyclean-aminfo:
-       -rm -rf libidn.aux libidn.cp libidn.cps libidn.fn libidn.fns libidn.ky \
-         libidn.kys libidn.log libidn.pg libidn.tmp libidn.toc \
-         libidn.tp libidn.tps libidn.vr libidn.vrs
+       -rm -rf libidn.t2d libidn.t2p
 
 clean-aminfo:
        -test -z "libidn.dvi libidn.pdf libidn.ps libidn.html" \
@@ -1543,11 +1896,18 @@ maintainer-clean-aminfo:
        done
 install-man1: $(dist_man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(dist_man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -1579,11 +1939,18 @@ uninstall-man1:
        dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 install-man3: $(dist_man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
-       @list=''; test -n "$(man3dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.3[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(dist_man_MANS)'; \
+       test -n "$(man3dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.3[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -1615,8 +1982,11 @@ uninstall-man3:
        dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
 install-imagesDATA: $(images_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(imagesdir)" || $(MKDIR_P) "$(DESTDIR)$(imagesdir)"
        @list='$(images_DATA)'; test -n "$(imagesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(imagesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(imagesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1633,22 +2003,25 @@ uninstall-imagesDATA:
        dir='$(DESTDIR)$(imagesdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1663,57 +2036,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1729,12 +2057,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1746,15 +2069,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1763,24 +2082,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1812,13 +2135,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1852,7 +2172,8 @@ installdirs-am:
        done
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
 
@@ -1885,7 +2206,8 @@ maintainer-clean-generic:
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-recursive
 
-clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
+clean-am: clean-aminfo clean-generic clean-libtool clean-local \
+       mostlyclean-am
 
 distclean: distclean-recursive
        -rm -f Makefile
@@ -1909,8 +2231,11 @@ install-dvi: install-dvi-recursive
 
 install-dvi-am: $(DVIS)
        @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
        @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1925,8 +2250,11 @@ install-html: install-html-recursive
 
 install-html-am: $(HTMLS)
        @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
        @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
@@ -1949,9 +2277,12 @@ install-info: install-info-recursive
 
 install-info-am: $(INFO_DEPS)
        @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+       fi; \
        for file in $$list; do \
          case $$file in \
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
@@ -1969,13 +2300,7 @@ install-info-am: $(INFO_DEPS)
          echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
-       @am__run_installinfo=yes; \
-       case $$AM_UPDATE_INFO_DIR in \
-         n|no|NO) am__run_installinfo=no;; \
-         *) (install-info --version) >/dev/null 2>&1 \
-              || am__run_installinfo=no;; \
-       esac; \
-       if test $$am__run_installinfo = yes; then \
+       @if $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -1989,8 +2314,11 @@ install-pdf: install-pdf-recursive
 
 install-pdf-am: $(PDFS)
        @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
        @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -2002,8 +2330,11 @@ install-ps: install-ps-recursive
 
 install-ps-am: $(PSS)
        @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
        @list='$(PSS)'; test -n "$(psdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -2037,13 +2368,12 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \
 
 uninstall-man: uninstall-man1 uninstall-man3
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       ctags-recursive install install-am install-strip \
-       tags-recursive
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-exec install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-aminfo clean-generic \
-       clean-libtool ctags ctags-recursive dist-info distclean \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-aminfo clean-generic clean-libtool \
+       clean-local cscopelist-am ctags ctags-am dist-info distclean \
        distclean-generic distclean-libtool distclean-tags distdir dvi \
        dvi-am html html-am info info-am install install-am \
        install-data install-data-am install-dvi install-dvi-am \
@@ -2055,384 +2385,95 @@ uninstall-man: uninstall-man1 uninstall-man3
        maintainer-clean-aminfo maintainer-clean-generic \
        maintainer-clean-vti mostlyclean mostlyclean-aminfo \
        mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am \
        uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \
        uninstall-info-am uninstall-man uninstall-man1 uninstall-man3 \
        uninstall-pdf-am uninstall-ps-am
 
+.PRECIOUS: Makefile
+
 
 libidn-components.eps: components.fig
-       fig2dev -L eps $< $@
+       $(AM_V_GEN)fig2dev -L eps $(srcdir)/components.fig $@
 
 libidn-components.png: components.fig
-       fig2dev -L png $< $@
+       $(AM_V_GEN)fig2dev -L png $(srcdir)/components.fig $@
 
 libidn-components.pdf: components.fig
-       fig2dev -L pdf $< $@
+       $(AM_V_GEN)fig2dev -L pdf $(srcdir)/components.fig $@
+
+idn-help.texi: $(top_srcdir)/src/idn.c
+       $(AM_V_GEN)$(top_builddir)/src/idn$(EXEEXT) --help | $(GREP) '^  *-' > tmp && \
+               mv tmp idn-help.texi
 
-idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo \
-               $(top_srcdir)/configure.ac
-       $(HELP2MAN) \
+example.txt: $(top_srcdir)/examples/example.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example.c > $@.tmp && \
+               mv $@.tmp $@
+
+example2.txt: $(top_srcdir)/examples/example2.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example2.c > $@.tmp && \
+               mv $@.tmp $@
+
+example3.txt: $(top_srcdir)/examples/example3.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example3.c > $@.tmp && \
+               mv $@.tmp $@
+
+example4.txt: $(top_srcdir)/examples/example4.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example4.c > $@.tmp && \
+               mv $@.tmp $@
+
+example5.txt: $(top_srcdir)/examples/example5.c
+       $(AM_V_GEN)sed -e '/* example/,/^$$/d' $(top_srcdir)/examples/example5.c > $@.tmp && \
+               mv $@.tmp $@
+
+idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo $(top_srcdir)/.version
+       $(MAKE) -C ../lib
+       $(MAKE) -C ../src
+       $(AM_V_GEN)$(HELP2MAN) \
                --name="Internationalized Domain Names command line tool" \
                --output=$@ $(top_builddir)/src/idn$(EXEEXT)
 
-Makefile.gdoc: $(top_builddir)/configure Makefile.am Makefile.gdoci $(GDOC_SRC)
-       echo '# This file is automatically generated.  DO NOT EDIT!          -*- makefile -*-' > Makefile.gdoc
-       echo >> Makefile.gdoc
-       echo 'gdoc_TEXINFOS =' >> Makefile.gdoc
-       echo 'gdoc_MANS =' >> Makefile.gdoc
-       echo >> Makefile.gdoc
-       for file in $(GDOC_SRC); do \
-         shortfile=`basename $$file`; \
-         echo "#" >> Makefile.gdoc; \
-         echo "### $$shortfile" >> Makefile.gdoc; \
-         echo "#" >> Makefile.gdoc; \
-         echo "gdoc_TEXINFOS += $(GDOC_TEXI_PREFIX)$$shortfile.texi" >> Makefile.gdoc; \
-         echo "$(GDOC_TEXI_PREFIX)$$shortfile.texi: $$file" >> Makefile.gdoc; \
-         echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/        /" >> Makefile.gdoc; \
-         echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -texinfo $$(GDOC_TEXI_EXTRA_ARGS) $$< > $$@' | sed "s/TAB/  /" >> Makefile.gdoc; \
-         echo >> Makefile.gdoc; \
-         functions=`$(PERL) $(srcdir)/gdoc -listfunc $$file`; \
-         for function in $$functions; do \
-           echo "# $$shortfile: $$function" >> Makefile.gdoc; \
-           echo "gdoc_TEXINFOS += $(GDOC_TEXI_PREFIX)$$function.texi" >> Makefile.gdoc; \
-           echo "$(GDOC_TEXI_PREFIX)$$function.texi: $$file" >> Makefile.gdoc; \
-           echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/      /" >> Makefile.gdoc; \
-           echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -texinfo $$(GDOC_TEXI_EXTRA_ARGS) -function'" $$function"' $$< > $$@' | sed "s/TAB/       /" >> Makefile.gdoc; \
-           echo >> Makefile.gdoc; \
-           echo "gdoc_MANS += $(GDOC_MAN_PREFIX)$$function.3" >> Makefile.gdoc; \
-           echo "$(GDOC_MAN_PREFIX)$$function.3: $$file" >> Makefile.gdoc; \
-           echo 'TABmkdir -p `dirname $$@`' | sed "s/TAB/      /" >> Makefile.gdoc; \
-           echo 'TAB$$(PERL) $$(top_srcdir)/doc/gdoc -man $$(GDOC_MAN_EXTRA_ARGS) -function'" $$function"' $$< > $$@' | sed "s/TAB/    /" >> Makefile.gdoc; \
-           echo >> Makefile.gdoc; \
-         done; \
-         echo >> Makefile.gdoc; \
+.PHONY: compare-makefile
+
+compare-makefile:
+       $(AM_V_GEN) \
+       MANS=""; \
+       TEXINFOS=""; \
+       FUNCS=`$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; \
+       for i in $$FUNCS; do \
+               MANS="$$MANS\ngdoc_MANS += man/$$i.3"; \
+               TEXINFOS="$$TEXINFOS\ngdoc_TEXINFOS += texi/$$i.texi"; \
+       done && \
+       grep -v -e '^gdoc_MANS += ' -e '^gdoc_TEXINFOS += ' $(srcdir)/Makefile.am | \
+               perl -p -e "s,^gdoc_MANS =,gdoc_MANS =$$MANS,;" | \
+               perl -p -e "s,^gdoc_TEXINFOS =,gdoc_TEXINFOS =$$TEXINFOS,;" \
+               > tmp-$@ && \
+       diff -u $(srcdir)/Makefile.am tmp-$@ && \
+       rm -f tmp-$@
+
+$(gdoc_MANS) $(gdoc_TEXINFOS): stamp-gdoc
+
+clean-local:
+       -rm -f stamp-gdoc
+
+stamp-gdoc: $(top_srcdir)/.version $(GDOC_SRC)
+       $(AM_V_at)$(MKDIR_P) man texi
+       $(AM_V_GEN)for i in `$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; do \
+               $(srcdir)/gdoc -man \
+                       -bugsto $(PACKAGE_BUGREPORT) \
+                       -module $(PACKAGE) \
+                       -pkg-name "$(PACKAGE_NAME)" \
+                       -sourceversion $(VERSION) \
+                       -includefuncprefix \
+                       -seeinfo $(PACKAGE) \
+                       -verbatimcopying \
+                       -copyright "2002-2024 Simon Josefsson" \
+                       -function $$i \
+                       $(GDOC_SRC) > man/$$i.3 && \
+               $(srcdir)/gdoc -texinfo -function $$i \
+                       $(GDOC_SRC) > texi/$$i.texi; \
        done
-       $(MAKE) Makefile
-texi/idna.c.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/idna_to_ascii_4i.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_4i $< > $@
-man/idna_to_ascii_4i.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_4i $< > $@
-texi/idna_to_unicode_44i.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_44i $< > $@
-man/idna_to_unicode_44i.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_44i $< > $@
-texi/idna_to_ascii_4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_4z $< > $@
-man/idna_to_ascii_4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_4z $< > $@
-texi/idna_to_ascii_8z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_8z $< > $@
-man/idna_to_ascii_8z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_8z $< > $@
-texi/idna_to_ascii_lz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_ascii_lz $< > $@
-man/idna_to_ascii_lz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_ascii_lz $< > $@
-texi/idna_to_unicode_4z4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_4z4z $< > $@
-man/idna_to_unicode_4z4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_4z4z $< > $@
-texi/idna_to_unicode_8z4z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8z4z $< > $@
-man/idna_to_unicode_8z4z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8z4z $< > $@
-texi/idna_to_unicode_8z8z.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8z8z $< > $@
-man/idna_to_unicode_8z8z.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8z8z $< > $@
-texi/idna_to_unicode_8zlz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_8zlz $< > $@
-man/idna_to_unicode_8zlz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_8zlz $< > $@
-texi/idna_to_unicode_lzlz.texi: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_to_unicode_lzlz $< > $@
-man/idna_to_unicode_lzlz.3: ../lib/idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_to_unicode_lzlz $< > $@
-texi/nfkc.c.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/stringprep_utf8_to_unichar.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_unichar $< > $@
-man/stringprep_utf8_to_unichar.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_unichar $< > $@
-texi/stringprep_unichar_to_utf8.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_unichar_to_utf8 $< > $@
-man/stringprep_unichar_to_utf8.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_unichar_to_utf8 $< > $@
-texi/stringprep_utf8_to_ucs4.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_ucs4 $< > $@
-man/stringprep_utf8_to_ucs4.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_ucs4 $< > $@
-texi/stringprep_ucs4_to_utf8.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_ucs4_to_utf8 $< > $@
-man/stringprep_ucs4_to_utf8.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_ucs4_to_utf8 $< > $@
-texi/stringprep_utf8_nfkc_normalize.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_nfkc_normalize $< > $@
-man/stringprep_utf8_nfkc_normalize.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_nfkc_normalize $< > $@
-texi/stringprep_ucs4_nfkc_normalize.texi: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_ucs4_nfkc_normalize $< > $@
-man/stringprep_ucs4_nfkc_normalize.3: ../lib/nfkc.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_ucs4_nfkc_normalize $< > $@
-texi/pr29.c.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/pr29_4.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_4 $< > $@
-man/pr29_4.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_4 $< > $@
-texi/pr29_4z.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_4z $< > $@
-man/pr29_4z.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_4z $< > $@
-texi/pr29_8z.texi: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_8z $< > $@
-man/pr29_8z.3: ../lib/pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_8z $< > $@
-texi/punycode.c.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/punycode_encode.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_encode $< > $@
-man/punycode_encode.3: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_encode $< > $@
-texi/punycode_decode.texi: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_decode $< > $@
-man/punycode_decode.3: ../lib/punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_decode $< > $@
-texi/stringprep.c.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/stringprep_4i.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_4i $< > $@
-man/stringprep_4i.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_4i $< > $@
-texi/stringprep_4zi.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_4zi $< > $@
-man/stringprep_4zi.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_4zi $< > $@
-texi/stringprep.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep $< > $@
-man/stringprep.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep $< > $@
-texi/stringprep_profile.texi: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_profile $< > $@
-man/stringprep_profile.3: ../lib/stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_profile $< > $@
-texi/tld.c.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/tld_get_table.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_table $< > $@
-man/tld_get_table.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_table $< > $@
-texi/tld_default_table.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_default_table $< > $@
-man/tld_default_table.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_default_table $< > $@
-texi/tld_get_4.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_4 $< > $@
-man/tld_get_4.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_4 $< > $@
-texi/tld_get_4z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_4z $< > $@
-man/tld_get_4z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_4z $< > $@
-texi/tld_get_z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_get_z $< > $@
-man/tld_get_z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_get_z $< > $@
-texi/tld_check_4t.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4t $< > $@
-man/tld_check_4t.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4t $< > $@
-texi/tld_check_4tz.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4tz $< > $@
-man/tld_check_4tz.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4tz $< > $@
-texi/tld_check_4.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4 $< > $@
-man/tld_check_4.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4 $< > $@
-texi/tld_check_4z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_4z $< > $@
-man/tld_check_4z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_4z $< > $@
-texi/tld_check_8z.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_8z $< > $@
-man/tld_check_8z.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_8z $< > $@
-texi/tld_check_lz.texi: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_check_lz $< > $@
-man/tld_check_lz.3: ../lib/tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_check_lz $< > $@
-texi/toutf8.c.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/stringprep_locale_charset.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_locale_charset $< > $@
-man/stringprep_locale_charset.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_locale_charset $< > $@
-texi/stringprep_convert.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_convert $< > $@
-man/stringprep_convert.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_convert $< > $@
-texi/stringprep_locale_to_utf8.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_locale_to_utf8 $< > $@
-man/stringprep_locale_to_utf8.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_locale_to_utf8 $< > $@
-texi/stringprep_utf8_to_locale.texi: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_utf8_to_locale $< > $@
-man/stringprep_utf8_to_locale.3: ../lib/toutf8.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_utf8_to_locale $< > $@
-texi/version.c.texi: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/stringprep_check_version.texi: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_check_version $< > $@
-man/stringprep_check_version.3: ../lib/version.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_check_version $< > $@
-texi/idn-free.c.texi: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/idn_free.texi: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idn_free $< > $@
-man/idn_free.3: ../lib/idn-free.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idn_free $< > $@
-texi/strerror-idna.c.texi: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/idna_strerror.texi: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function idna_strerror $< > $@
-man/idna_strerror.3: ../lib/strerror-idna.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function idna_strerror $< > $@
-texi/strerror-pr29.c.texi: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/pr29_strerror.texi: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function pr29_strerror $< > $@
-man/pr29_strerror.3: ../lib/strerror-pr29.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function pr29_strerror $< > $@
-texi/strerror-punycode.c.texi: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/punycode_strerror.texi: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function punycode_strerror $< > $@
-man/punycode_strerror.3: ../lib/strerror-punycode.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function punycode_strerror $< > $@
-texi/strerror-stringprep.c.texi: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/stringprep_strerror.texi: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function stringprep_strerror $< > $@
-man/stringprep_strerror.3: ../lib/strerror-stringprep.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function stringprep_strerror $< > $@
-texi/strerror-tld.c.texi: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) $< > $@
-texi/tld_strerror.texi: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -texinfo $(GDOC_TEXI_EXTRA_ARGS) -function tld_strerror $< > $@
-man/tld_strerror.3: ../lib/strerror-tld.c
-       mkdir -p `dirname $@`
-       $(PERL) $(top_srcdir)/doc/gdoc -man $(GDOC_MAN_EXTRA_ARGS) -function tld_strerror $< > $@
+       $(AM_V_at)touch $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 21dc67f..d583604 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2008-2012 Simon Josefsson.
+# Copyright (C) 2008-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-EXTRA_DIST = cyclo-$(PACKAGE).html
+vcurl = "https://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
 
-vcurl = "http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
-
-cyclo-$(PACKAGE).html:
-       (cd ${top_srcdir}/lib && \
+cyclo-$(PACKAGE).html: $(top_srcdir)/.version
+       $(AM_V_GEN)(cd ${top_srcdir}/lib && \
                $(PMCCABE) *.[ch] \
                | sort -nr \
                | LANG=C $(AWK) -f ${abs_top_srcdir}/build-aux/pmccabe2html \
                        -v lang=html -v name="$(PACKAGE_STRING)" \
                        -v vcurl=$(vcurl) \
-                       -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+                       -v url="https://www.gnu.org/software/$(PACKAGE)/" \
                        -v css=${abs_top_srcdir}/build-aux/pmccabe.css) \
-                       > tmp
+               > tmp && \
        mv tmp $@
index f434efe..35487cc 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2008-2012 Simon Josefsson.
+# Copyright (C) 2008-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -51,104 +105,132 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/cyclo
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -167,9 +249,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -189,290 +274,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -482,16 +856,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -508,33 +887,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -549,28 +941,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -580,26 +980,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -618,6 +1026,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -639,9 +1048,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -659,36 +1067,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -697,12 +1107,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -715,11 +1129,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -752,27 +1168,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -785,71 +1223,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -858,11 +1330,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -875,45 +1357,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -921,7 +1416,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -939,8 +1433,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -953,8 +1449,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -970,6 +1468,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -978,8 +1477,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = cyclo-$(PACKAGE).html
-vcurl = "http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
+vcurl = "https://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
 all: all-am
 
 .SUFFIXES:
@@ -995,14 +1493,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/cyclo/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/cyclo/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1019,14 +1516,16 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1159,27 +1658,30 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
-cyclo-$(PACKAGE).html:
-       (cd ${top_srcdir}/lib && \
+cyclo-$(PACKAGE).html: $(top_srcdir)/.version
+       $(AM_V_GEN)(cd ${top_srcdir}/lib && \
                $(PMCCABE) *.[ch] \
                | sort -nr \
                | LANG=C $(AWK) -f ${abs_top_srcdir}/build-aux/pmccabe2html \
                        -v lang=html -v name="$(PACKAGE_STRING)" \
                        -v vcurl=$(vcurl) \
-                       -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+                       -v url="https://www.gnu.org/software/$(PACKAGE)/" \
                        -v css=${abs_top_srcdir}/build-aux/pmccabe.css) \
-                       > tmp
+               > tmp && \
        mv tmp $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/doc/cyclo/cyclo-libidn.html b/doc/cyclo/cyclo-libidn.html
deleted file mode 100644 (file)
index f291b61..0000000
+++ /dev/null
@@ -1,2916 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
-<html>
-<!-- Generated by gnulib's pmccabe2html at 1337762385 -->
-<head>
-<title>Cyclomatic Complexity report for GNU Libidn 1.25</title>
-
-<meta name="description" content="Cyclomatic Complexity report for GNU Libidn 1.25">
-<meta name="keywords" content="Cyclomatic Complexity report for GNU Libidn 1.25">
-<meta name="resource-type" content="document">
-<meta name="distribution" content="global">
-<meta name="Generator" content="pmccabe2html">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<script language="javascript" type="text/javascript">
-function show_hide(idCapa, idButton, fuerzaVisibilidad){        var button = document.getElementById(idButton);        var capa = document.getElementById(idCapa);     if (capa)       {               if (fuerzaVisibilidad && fuerzaVisibilidad!="") {                       if (fuerzaVisibilidad=="visible") capa.style.display="";                        else capa.style.display="none";         }               else            {                       if (capa.style.display == "none") {                             capa.style.display = "";                                button.innerHTML = "&uarr;";                    } else {                                capa.style.display = "none";                                button.innerHTML = "&darr;";                        }               }       }}
-</script>
-<style type ="text/css" media="screen">
-<!--
-body {
-    font-family: Helvetica, sans-serif;
-}
-
-.page_title {
-    font: 18pt Georgia, serif;
-    color: darkred;
-}
-
-.section_title {
-    font: 14pt Georgia, serif;
-    color: darkred;
-}
-
-.report_timestamp {
-    color: darkred;
-    font-weight: bold;
-}
-
-.function_src {
-    text-align: left;
-    background: white;
-}
-
-.resume_table {
-}
-
-.resume_header_entry {
-    color: black;
-}
-
-.resume_number_entry {
-    color: darkred;
-    font-weight: bold;
-    text-align: right;
-}
-
-.ranges_table {
-    border-spacing: 0px;
-    border-bottom: solid 2px black;
-    border-top: solid 2px black;
-    border-left: solid 2px black;
-    border-right: solid 2px black;
-}
-
-.ranges_header_entry {
-    padding: 5px;
-    border-bottom: solid 1px black;
-    font-size: 1em;
-    font-weight: bold;
-    color: darkred;
-    text-align: left;
-}
-
-.ranges_entry {
-}
-
-.ranges_entry_simple {
-    background: #87ff75;
-}
-
-.ranges_entry_moderate {
-    background: #fffc60;
-}
-
-.ranges_entry_high {
-    background: #ff5a5d;
-}
-
-.ranges_entry_untestable {
-    background: #993300
-}
-
-
-.function_table {
-    border-spacing: 0px;
-    border-bottom: solid 2px black;
-    border-top: solid 2px black;
-    border-left: solid 2px black;
-    border-right: solid 2px black;
-}
-
-.function_table_caption {
-    font-size: 1.1em;
-    font-weight: bold;
-    color: black;
-    padding: 5px;
-}
-
-.function_table_header {
-}
-
-
-.function_table_header_entry {
-    padding: 5px;
-    border-bottom: solid 1px black;
-    font-size: 1em;
-    font-weight: bold;
-    color: darkred;
-    text-align: left;
-}
-
-.function_entry {
-}
-
-
-.function_entry_simple {
-    background: #87ff75;
-}
-
-.function_entry_moderate {
-    background: #fffc60;
-}
-
-.function_entry_high {
-    background: #ff5a5d;
-}
-
-.function_entry_untestable {
-    background: #993300
-}
-
-
-.function_entry_name {
-    font-size: 1em;
-    text-align: left;
-    font-weight: bold;
-    text-valign: top;
-
-    border-top: solid 1px black;
-    padding: 3px;
-}
-
-.function_entry_cyclo {
-    font-size: 1em;
-    text-align: right;
-    text-valign: top;
-
-    border-top: solid 1px black;
-    padding: 3px;
-}
-
-.function_entry_number {
-    font-size: 1em;
-    text-align: right;
-    text-valign: top;
-
-    border-top: solid 1px black;
-    padding: 3px;
-}
-
-.function_entry_filename {
-    font-size: 1em;
-    text-align: left;
-    text-valign: top;
-
-    border-top: solid 1px black;
-    padding: 3px;
-}
--->
-</style />
-</head>
-<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
-<a href="http://www.gnu.org/software/libidn/">Back to GNU Libidn 1.25 Homepage</a><br/><br/>
-<div class="page_title">GNU Libidn 1.25 Cyclomatic Complexity Report</div>
-<p>Report generated at: <span class="report_timestamp">Wed May 23 10:39:45 CEST 2012</div></p>
-<div class="section_title">Summary</div>
-<table class="summary_table">
-<tr>
-<td class="summary_header_entry">
-Total number of functions
-</td>
-<td class="summary_number_entry">
-72
-</td>
-</tr>
-<tr>
-<td class="summary_header_entry">
-Number of low risk functions
-</td>
-<td class="summary_number_entry">
-61
-</td>
-</tr>
-<tr>
-<td class="summary_header_entry">
-Number of moderate risk functions
-</td>
-<td class="summary_number_entry">
-6
-</td>
-</tr>
-<tr>
-<td class="summary_header_entry">
-Number of high risk functions
-</td>
-<td class="summary_number_entry">
-5
-</td>
-</tr>
-<tr>
-<td class="summary_header_entry">
-Number of untestable functions
-</td>
-<td class="summary_number_entry">
-0
-</td>
-</tr>
-</table>
-<br/>
-<div class="section_title">Details for all functions</div>
-<table class="ranges_table">
-<tr>
-<td class="ranges_header_entry">
-&nbsp;
-</td>
-<td class="ranges_header_entry">
-Cyclomatic Complexity
-</td>
-<td class="ranges_header_entry">
-Risk Evaluation
-</td>
-</tr>
-<tr>
-<td class="ranges_entry_simple">
-&nbsp;
-</td>
-<td class="ranges_entry">
-0 - 10
-</td>
-<td class="ranges_entry">
-Simple module, without much risk
-</td>
-</tr>
-<tr>
-<td class="ranges_entry_moderate">
-&nbsp;
-</td>
-<td class="ranges_entry">
-11 - 20
-</td>
-<td class="ranges_entry">
-More complex module, moderate risk
-</td>
-</tr>
-<tr>
-<td class="ranges_entry_high">
-&nbsp;
-</td>
-<td class="ranges_entry">
-21 - 50
-</td>
-<td class="ranges_entry">
-Complex module, high risk
-</td>
-</tr>
-<tr>
-<td class="ranges_entry_untestable">
-&nbsp;
-</td>
-<td class="ranges_entry">
-greater than 50
-</td>
-<td class="ranges_entry">
-Untestable module, very high risk
-</td>
-</tr>
-</table>
-<br/>
-<table width="90%" class="function_table" cellpadding="0" cellspacing="0">
-<tr class="function_table_header">
-<td class="function_table_header_entry">
-
-</td>
-<td class="function_table_header_entry">
-Function Name
-</td>
-<td class="function_table_header_entry">
-Modified Cyclo
-</td>
-<td class="function_table_header_entry">
-Number of
-<br/>
-Statements
-</td>
-<td class="function_table_header_entry">
-Number of
-<br/>
-Lines
-</td>
-<td class="function_table_header_entry">
-Source File
-</td>
-</tr>
-<tr class="function_entry_high">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('idna_to_ascii_4i_src', 'idna_to_ascii_4i_button')"><span id="idna_to_ascii_4i_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-idna_to_ascii_4i
-</td>
-<td class="function_entry_cyclo">
-37
-</td>
-<td class="function_entry_number">
-92
-</td>
-<td class="function_entry_number">
-191
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="idna_to_ascii_4i_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags)
-{
-  size_t len, outlen;
-  uint32_t *src;               /* XXX don't need to copy data? */
-  int rc;
-
-  /*
-   * ToASCII consists of the following steps:
-   *
-   * 1. If all code points in the sequence are in the ASCII range (0..7F)
-   * then skip to step 3.
-   */
-
-  {
-    size_t i;
-    int inasciirange;
-
-    inasciirange = 1;
-    for (i = 0; i < inlen; i++)
-      if (in[i] > 0x7F)
-       inasciirange = 0;
-    if (inasciirange)
-      {
-       src = malloc (sizeof (in[0]) * (inlen + 1));
-       if (src == NULL)
-         return IDNA_MALLOC_ERROR;
-
-       memcpy (src, in, sizeof (in[0]) * inlen);
-       src[inlen] = 0;
-
-       goto step3;
-      }
-  }
-
-  /*
-   * 2. Perform the steps specified in [NAMEPREP] and fail if there is
-   * an error. The AllowUnassigned flag is used in [NAMEPREP].
-   */
-
-  {
-    char *p;
-
-    p = stringprep_ucs4_to_utf8 (in, (ssize_t) inlen, NULL, NULL);
-    if (p == NULL)
-      return IDNA_MALLOC_ERROR;
-
-    len = strlen (p);
-    do
-      {
-       char *newp;
-
-       len = 2 * len + 10;     /* XXX better guess? */
-       newp = realloc (p, len);
-       if (newp == NULL)
-         {
-           free (p);
-           return IDNA_MALLOC_ERROR;
-         }
-       p = newp;
-
-       if (flags &amp; IDNA_ALLOW_UNASSIGNED)
-         rc = stringprep_nameprep (p, len);
-       else
-         rc = stringprep_nameprep_no_unassigned (p, len);
-      }
-    while (rc == STRINGPREP_TOO_SMALL_BUFFER);
-
-    if (rc != STRINGPREP_OK)
-      {
-       free (p);
-       return IDNA_STRINGPREP_ERROR;
-      }
-
-    src = stringprep_utf8_to_ucs4 (p, -1, NULL);
-
-    free (p);
-  }
-
-step3:
-  /*
-   * 3. If the UseSTD3ASCIIRules flag is set, then perform these checks:
-   *
-   * (a) Verify the absence of non-LDH ASCII code points; that is,
-   * the absence of 0..2C, 2E..2F, 3A..40, 5B..60, and 7B..7F.
-   *
-   * (b) Verify the absence of leading and trailing hyphen-minus;
-   * that is, the absence of U+002D at the beginning and end of
-   * the sequence.
-   */
-
-  if (flags &amp; IDNA_USE_STD3_ASCII_RULES)
-    {
-      size_t i;
-
-      for (i = 0; src[i]; i++)
-       if (src[i] <= 0x2C || src[i] == 0x2E || src[i] == 0x2F ||
-           (src[i] >= 0x3A &amp;& src[i] <= 0x40) ||
-           (src[i] >= 0x5B &amp;& src[i] <= 0x60) ||
-           (src[i] >= 0x7B &amp;& src[i] <= 0x7F))
-         {
-           free (src);
-           return IDNA_CONTAINS_NON_LDH;
-         }
-
-      if (src[0] == 0x002D || (i > 0 &amp;& src[i - 1] == 0x002D))
-       {
-         free (src);
-         return IDNA_CONTAINS_MINUS;
-       }
-    }
-
-  /*
-   * 4. If all code points in the sequence are in the ASCII range
-   * (0..7F), then skip to step 8.
-   */
-
-  {
-    size_t i;
-    int inasciirange;
-
-    inasciirange = 1;
-    for (i = 0; src[i]; i++)
-      {
-       if (src[i] > 0x7F)
-         inasciirange = 0;
-       /* copy string to output buffer if we are about to skip to step8 */
-       if (i < 64)
-         out[i] = src[i];
-      }
-    if (i < 64)
-      out[i] = '\0';
-    if (inasciirange)
-      goto step8;
-  }
-
-  /*
-   * 5. Verify that the sequence does NOT begin with the ACE prefix.
-   *
-   */
-
-  {
-    size_t i;
-    int match;
-
-    match = 1;
-    for (i = 0; match &amp;& i < strlen (IDNA_ACE_PREFIX); i++)
-      if (((uint32_t) IDNA_ACE_PREFIX[i] &amp; 0xFF) != src[i])
-       match = 0;
-    if (match)
-      {
-       free (src);
-       return IDNA_CONTAINS_ACE_PREFIX;
-      }
-  }
-
-  /*
-   * 6. Encode the sequence using the encoding algorithm in [PUNYCODE]
-   * and fail if there is an error.
-   */
-  for (len = 0; src[len]; len++)
-    ;
-  src[len] = '\0';
-  outlen = 63 - strlen (IDNA_ACE_PREFIX);
-  rc = punycode_encode (len, src, NULL,
-                       &amp;outlen, &out[strlen (IDNA_ACE_PREFIX)]);
-  if (rc != PUNYCODE_SUCCESS)
-    {
-      free (src);
-      return IDNA_PUNYCODE_ERROR;
-    }
-  out[strlen (IDNA_ACE_PREFIX) + outlen] = '\0';
-
-  /*
-   * 7. Prepend the ACE prefix.
-   */
-
-  memcpy (out, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX));
-
-  /*
-   * 8. Verify that the number of code points is in the range 1 to 63
-   * inclusive (0 is excluded).
-   */
-
-step8:
-  free (src);
-  if (strlen (out) < 1 || strlen (out) > 63)
-    return IDNA_INVALID_LENGTH;
-
-  return IDNA_SUCCESS;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_high">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('stringprep_4i_src', 'stringprep_4i_button')"><span id="stringprep_4i_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-stringprep_4i
-</td>
-<td class="function_entry_cyclo">
-30
-</td>
-<td class="function_entry_number">
-76
-</td>
-<td class="function_entry_number">
-137
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="stringprep_4i_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
-              Stringprep_profile_flags flags,
-              const Stringprep_profile * profile)
-{
-  size_t i, j;
-  ssize_t k;
-  size_t ucs4len = *len;
-  int rc;
-
-  for (i = 0; profile[i].operation; i++)
-    {
-      switch (profile[i].operation)
-       {
-       case STRINGPREP_NFKC:
-         {
-           uint32_t *q = 0;
-
-           if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
-             break;
-
-           if (flags &amp; STRINGPREP_NO_NFKC && !profile[i].flags)
-             /* Profile requires NFKC, but callee asked for no NFKC. */
-             return STRINGPREP_FLAG_ERROR;
-
-           q = stringprep_ucs4_nfkc_normalize (ucs4, ucs4len);
-           if (!q)
-             return STRINGPREP_NFKC_FAILED;
-
-           for (ucs4len = 0; q[ucs4len]; ucs4len++)
-             ;
-
-           if (ucs4len >= maxucs4len)
-             {
-               free (q);
-               return STRINGPREP_TOO_SMALL_BUFFER;
-             }
-
-           memcpy (ucs4, q, ucs4len * sizeof (ucs4[0]));
-
-           free (q);
-         }
-         break;
-
-       case STRINGPREP_PROHIBIT_TABLE:
-         k = stringprep_find_string_in_table (ucs4, ucs4len,
-                                              NULL, profile[i].table);
-         if (k != -1)
-           return STRINGPREP_CONTAINS_PROHIBITED;
-         break;
-
-       case STRINGPREP_UNASSIGNED_TABLE:
-         if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
-           break;
-         if (flags &amp; STRINGPREP_NO_UNASSIGNED)
-           {
-             k = stringprep_find_string_in_table
-               (ucs4, ucs4len, NULL, profile[i].table);
-             if (k != -1)
-               return STRINGPREP_CONTAINS_UNASSIGNED;
-           }
-         break;
-
-       case STRINGPREP_MAP_TABLE:
-         if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
-           break;
-         rc = stringprep_apply_table_to_string
-           (ucs4, &amp;ucs4len, maxucs4len, profile[i].table);
-         if (rc != STRINGPREP_OK)
-           return rc;
-         break;
-
-       case STRINGPREP_BIDI_PROHIBIT_TABLE:
-       case STRINGPREP_BIDI_RAL_TABLE:
-       case STRINGPREP_BIDI_L_TABLE:
-         break;
-
-       case STRINGPREP_BIDI:
-         {
-           int done_prohibited = 0;
-           int done_ral = 0;
-           int done_l = 0;
-           size_t contains_ral = SIZE_MAX;
-           size_t contains_l = SIZE_MAX;
-
-           for (j = 0; profile[j].operation; j++)
-             if (profile[j].operation == STRINGPREP_BIDI_PROHIBIT_TABLE)
-               {
-                 done_prohibited = 1;
-                 k = stringprep_find_string_in_table (ucs4, ucs4len,
-                                                      NULL,
-                                                      profile[j].table);
-                 if (k != -1)
-                   return STRINGPREP_BIDI_CONTAINS_PROHIBITED;
-               }
-             else if (profile[j].operation == STRINGPREP_BIDI_RAL_TABLE)
-               {
-                 done_ral = 1;
-                 if (stringprep_find_string_in_table
-                     (ucs4, ucs4len, NULL, profile[j].table) != -1)
-                   contains_ral = j;
-               }
-             else if (profile[j].operation == STRINGPREP_BIDI_L_TABLE)
-               {
-                 done_l = 1;
-                 if (stringprep_find_string_in_table
-                     (ucs4, ucs4len, NULL, profile[j].table) != -1)
-                   contains_l = j;
-               }
-
-           if (!done_prohibited || !done_ral || !done_l)
-             return STRINGPREP_PROFILE_ERROR;
-
-           if (contains_ral != SIZE_MAX &amp;& contains_l != SIZE_MAX)
-             return STRINGPREP_BIDI_BOTH_L_AND_RAL;
-
-           if (contains_ral != SIZE_MAX)
-             {
-               if (!(stringprep_find_character_in_table
-                     (ucs4[0], profile[contains_ral].table) != -1 &amp;&
-                     stringprep_find_character_in_table
-                     (ucs4[ucs4len - 1], profile[contains_ral].table) != -1))
-                 return STRINGPREP_BIDI_LEADTRAIL_NOT_RAL;
-             }
-         }
-         break;
-
-       default:
-         return STRINGPREP_PROFILE_ERROR;
-         break;
-       }
-    }
-
-  *len = ucs4len;
-
-  return STRINGPREP_OK;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_high">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('_g_utf8_normalize_wc_src', '_g_utf8_normalize_wc_button')"><span id="_g_utf8_normalize_wc_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-_g_utf8_normalize_wc
-</td>
-<td class="function_entry_cyclo">
-30
-</td>
-<td class="function_entry_number">
-77
-</td>
-<td class="function_entry_number">
-135
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="_g_utf8_normalize_wc_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-static gunichar *
-_g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
-{
-  gsize n_wc;
-  gunichar *wc_buffer;
-  const char *p;
-  gsize last_start;
-  gboolean do_compat = (mode == G_NORMALIZE_NFKC || mode == G_NORMALIZE_NFKD);
-  gboolean do_compose = (mode == G_NORMALIZE_NFC || mode == G_NORMALIZE_NFKC);
-
-  n_wc = 0;
-  p = str;
-  while ((max_len < 0 || p < str + max_len) &amp;& *p)
-    {
-      const gchar *decomp;
-      gunichar wc = g_utf8_get_char (p);
-
-      if (wc >= SBase &amp;& wc < SBase + SCount)
-       {
-         gsize result_len;
-         decompose_hangul (wc, NULL, &amp;result_len);
-         n_wc += result_len;
-       }
-      else
-       {
-         decomp = find_decomposition (wc, do_compat);
-
-         if (decomp)
-           n_wc += g_utf8_strlen (decomp, -1);
-         else
-           n_wc++;
-       }
-
-      p = g_utf8_next_char (p);
-    }
-
-  wc_buffer = g_malloc (sizeof (gunichar) * (n_wc + 1));
-  if (!wc_buffer)
-    return NULL;
-
-  last_start = 0;
-  n_wc = 0;
-  p = str;
-  while ((max_len < 0 || p < str + max_len) &amp;& *p)
-    {
-      gunichar wc = g_utf8_get_char (p);
-      const gchar *decomp;
-      int cc;
-      gsize old_n_wc = n_wc;
-
-      if (wc >= SBase &amp;& wc < SBase + SCount)
-       {
-         gsize result_len;
-         decompose_hangul (wc, wc_buffer + n_wc, &amp;result_len);
-         n_wc += result_len;
-       }
-      else
-       {
-         decomp = find_decomposition (wc, do_compat);
-
-         if (decomp)
-           {
-             const char *pd;
-             for (pd = decomp; *pd != '\0'; pd = g_utf8_next_char (pd))
-               wc_buffer[n_wc++] = g_utf8_get_char (pd);
-           }
-         else
-           wc_buffer[n_wc++] = wc;
-       }
-
-      if (n_wc > 0)
-       {
-         cc = COMBINING_CLASS (wc_buffer[old_n_wc]);
-
-         if (cc == 0)
-           {
-             g_unicode_canonical_ordering (wc_buffer + last_start,
-                                           n_wc - last_start);
-             last_start = old_n_wc;
-           }
-       }
-
-      p = g_utf8_next_char (p);
-    }
-
-  if (n_wc > 0)
-    {
-      g_unicode_canonical_ordering (wc_buffer + last_start,
-                                   n_wc - last_start);
-      last_start = n_wc;
-    }
-
-  wc_buffer[n_wc] = 0;
-
-  /* All decomposed and reordered */
-
-  if (do_compose &amp;& n_wc > 0)
-    {
-      gsize i, j;
-      int last_cc = 0;
-      last_start = 0;
-
-      for (i = 0; i < n_wc; i++)
-       {
-         int cc = COMBINING_CLASS (wc_buffer[i]);
-
-         if (i > 0 &amp;&
-             (last_cc == 0 || last_cc != cc) &amp;&
-             combine (wc_buffer[last_start], wc_buffer[i],
-                      &amp;wc_buffer[last_start]))
-           {
-             for (j = i + 1; j < n_wc; j++)
-               wc_buffer[j - 1] = wc_buffer[j];
-             n_wc--;
-             i--;
-
-             if (i == last_start)
-               last_cc = 0;
-             else
-               last_cc = COMBINING_CLASS (wc_buffer[i - 1]);
-
-             continue;
-           }
-
-         if (cc == 0)
-           last_start = i;
-
-         last_cc = cc;
-       }
-    }
-
-  wc_buffer[n_wc] = 0;
-
-  return wc_buffer;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_high">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('punycode_encode_src', 'punycode_encode_button')"><span id="punycode_encode_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-punycode_encode
-</td>
-<td class="function_entry_cyclo">
-22
-</td>
-<td class="function_entry_number">
-57
-</td>
-<td class="function_entry_number">
-111
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="punycode_encode_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-punycode_encode (size_t input_length,
-                const punycode_uint input[],
-                const unsigned char case_flags[],
-                size_t * output_length, char output[])
-{
-  punycode_uint input_len, n, delta, h, b, bias, j, m, q, k, t;
-  size_t out, max_out;
-
-  /* The Punycode spec assumes that the input length is the same type */
-  /* of integer as a code point, so we need to convert the size_t to  */
-  /* a punycode_uint, which could overflow.                           */
-
-  if (input_length > maxint)
-    return punycode_overflow;
-  input_len = (punycode_uint) input_length;
-
-  /* Initialize the state: */
-
-  n = initial_n;
-  delta = 0;
-  out = 0;
-  max_out = *output_length;
-  bias = initial_bias;
-
-  /* Handle the basic code points: */
-
-  for (j = 0; j < input_len; ++j)
-    {
-      if (basic (input[j]))
-       {
-         if (max_out - out < 2)
-           return punycode_big_output;
-         output[out++] = case_flags ?
-           encode_basic (input[j], case_flags[j]) : (char) input[j];
-       }
-      /* else if (input[j] < n) return punycode_bad_input; */
-      /* (not needed for Punycode with unsigned code points) */
-    }
-
-  h = b = (punycode_uint) out;
-  /* cannot overflow because out <= input_len <= maxint */
-
-  /* h is the number of code points that have been handled, b is the  */
-  /* number of basic code points, and out is the number of ASCII code */
-  /* points that have been output.                                    */
-
-  if (b > 0)
-    output[out++] = delimiter;
-
-  /* Main encoding loop: */
-
-  while (h < input_len)
-    {
-      /* All non-basic code points < n have been     */
-      /* handled already.  Find the next larger one: */
-
-      for (m = maxint, j = 0; j < input_len; ++j)
-       {
-         /* if (basic(input[j])) continue; */
-         /* (not needed for Punycode) */
-         if (input[j] >= n &amp;& input[j] < m)
-           m = input[j];
-       }
-
-      /* Increase delta enough to advance the decoder's    */
-      /* <n,i> state to <m,0>, but guard against overflow: */
-
-      if (m - n > (maxint - delta) / (h + 1))
-       return punycode_overflow;
-      delta += (m - n) * (h + 1);
-      n = m;
-
-      for (j = 0; j < input_len; ++j)
-       {
-         /* Punycode does not need to check whether input[j] is basic: */
-         if (input[j] < n /* || basic(input[j]) */ )
-           {
-             if (++delta == 0)
-               return punycode_overflow;
-           }
-
-         if (input[j] == n)
-           {
-             /* Represent delta as a generalized variable-length integer: */
-
-             for (q = delta, k = base;; k += base)
-               {
-                 if (out >= max_out)
-                   return punycode_big_output;
-                 t = k <= bias /* + tmin */ ? tmin :   /* +tmin not needed */
-                   k >= bias + tmax ? tmax : k - bias;
-                 if (q < t)
-                   break;
-                 output[out++] = encode_digit (t + (q - t) % (base - t), 0);
-                 q = (q - t) / (base - t);
-               }
-
-             output[out++] = encode_digit (q, case_flags &amp;& case_flags[j]);
-             bias = adapt (delta, h + 1, h == b);
-             delta = 0;
-             ++h;
-           }
-       }
-
-      ++delta, ++n;
-    }
-
-  *output_length = out;
-  return punycode_success;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_high">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('punycode_decode_src', 'punycode_decode_button')"><span id="punycode_decode_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-punycode_decode
-</td>
-<td class="function_entry_cyclo">
-21
-</td>
-<td class="function_entry_number">
-59
-</td>
-<td class="function_entry_number">
-101
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="punycode_decode_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-punycode_decode (size_t input_length,
-                const char input[],
-                size_t * output_length,
-                punycode_uint output[], unsigned char case_flags[])
-{
-  punycode_uint n, out, i, max_out, bias, oldi, w, k, digit, t;
-  size_t b, j, in;
-
-  /* Initialize the state: */
-
-  n = initial_n;
-  out = i = 0;
-  max_out = *output_length > maxint ? maxint
-    : (punycode_uint) * output_length;
-  bias = initial_bias;
-
-  /* Handle the basic code points:  Let b be the number of input code */
-  /* points before the last delimiter, or 0 if there is none, then    */
-  /* copy the first b code points to the output.                      */
-
-  for (b = j = 0; j < input_length; ++j)
-    if (delim (input[j]))
-      b = j;
-  if (b > max_out)
-    return punycode_big_output;
-
-  for (j = 0; j < b; ++j)
-    {
-      if (case_flags)
-       case_flags[out] = flagged (input[j]);
-      if (!basic (input[j]))
-       return punycode_bad_input;
-      output[out++] = input[j];
-    }
-
-  /* Main decoding loop:  Start just after the last delimiter if any  */
-  /* basic code points were copied; start at the beginning otherwise. */
-
-  for (in = b > 0 ? b + 1 : 0; in < input_length; ++out)
-    {
-
-      /* in is the index of the next ASCII code point to be consumed, */
-      /* and out is the number of code points in the output array.    */
-
-      /* Decode a generalized variable-length integer into delta,  */
-      /* which gets added to i.  The overflow checking is easier   */
-      /* if we increase i as we go, then subtract off its starting */
-      /* value at the end to obtain delta.                         */
-
-      for (oldi = i, w = 1, k = base;; k += base)
-       {
-         if (in >= input_length)
-           return punycode_bad_input;
-         digit = decode_digit (input[in++]);
-         if (digit >= base)
-           return punycode_bad_input;
-         if (digit > (maxint - i) / w)
-           return punycode_overflow;
-         i += digit * w;
-         t = k <= bias /* + tmin */ ? tmin :   /* +tmin not needed */
-           k >= bias + tmax ? tmax : k - bias;
-         if (digit < t)
-           break;
-         if (w > maxint / (base - t))
-           return punycode_overflow;
-         w *= (base - t);
-       }
-
-      bias = adapt (i - oldi, out + 1, oldi == 0);
-
-      /* i was supposed to wrap around from out+1 to 0,   */
-      /* incrementing n each time, so we'll fix that now: */
-
-      if (i / (out + 1) > maxint - n)
-       return punycode_overflow;
-      n += i / (out + 1);
-      i %= (out + 1);
-
-      /* Insert n at position i of the output: */
-
-      /* not needed for Punycode: */
-      /* if (basic(n)) return punycode_invalid_input; */
-      if (out >= max_out)
-       return punycode_big_output;
-
-      if (case_flags)
-       {
-         memmove (case_flags + i + 1, case_flags + i, out - i);
-         /* Case of last ASCII code point determines case flag: */
-         case_flags[i] = flagged (input[in - 1]);
-       }
-
-      memmove (output + i + 1, output + i, (out - i) * sizeof *output);
-      output[i++] = n;
-    }
-
-  *output_length = (size_t) out;
-  /* cannot overflow because out <= old value of *output_length */
-  return punycode_success;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('idna_to_ascii_4z_src', 'idna_to_ascii_4z_button')"><span id="idna_to_ascii_4z_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-idna_to_ascii_4z
-</td>
-<td class="function_entry_cyclo">
-15
-</td>
-<td class="function_entry_number">
-48
-</td>
-<td class="function_entry_number">
-87
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="idna_to_ascii_4z_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
-{
-  const uint32_t *start = input;
-  const uint32_t *end;
-  char buf[64];
-  char *out = NULL;
-  int rc;
-
-  /* 1) Whenever dots are used as label separators, the following
-     characters MUST be recognized as dots: U+002E (full stop),
-     U+3002 (ideographic full stop), U+FF0E (fullwidth full stop),
-     U+FF61 (halfwidth ideographic full stop). */
-
-  if (input[0] == 0)
-    {
-      /* Handle implicit zero-length root label. */
-      *output = malloc (1);
-      if (!*output)
-       return IDNA_MALLOC_ERROR;
-      strcpy (*output, "");
-      return IDNA_SUCCESS;
-    }
-
-  if (DOTP (input[0]) &amp;& input[1] == 0)
-    {
-      /* Handle explicit zero-length root label. */
-      *output = malloc (2);
-      if (!*output)
-       return IDNA_MALLOC_ERROR;
-      strcpy (*output, ".");
-      return IDNA_SUCCESS;
-    }
-
-  *output = NULL;
-  do
-    {
-      end = start;
-
-      for (; *end &amp;& !DOTP (*end); end++)
-       ;
-
-      if (*end == '\0' &amp;& start == end)
-       {
-         /* Handle explicit zero-length root label. */
-         buf[0] = '\0';
-       }
-      else
-       {
-         rc = idna_to_ascii_4i (start, (size_t) (end - start), buf, flags);
-         if (rc != IDNA_SUCCESS)
-           {
-             free (out);
-             return rc;
-           }
-       }
-
-      if (out)
-       {
-         size_t l = strlen (out) + 1 + strlen (buf) + 1;
-         char *newp = realloc (out, l);
-         if (!newp)
-           {
-             free (out);
-             return IDNA_MALLOC_ERROR;
-           }
-         out = newp;
-         strcat (out, ".");
-         strcat (out, buf);
-       }
-      else
-       {
-         size_t l = strlen (buf) + 1;
-         out = (char *) malloc (l);
-         if (!out)
-           return IDNA_MALLOC_ERROR;
-         strcpy (out, buf);
-       }
-
-      start = end + 1;
-    }
-  while (*end);
-
-  *output = out;
-
-  return IDNA_SUCCESS;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('tld_get_4_src', 'tld_get_4_button')"><span id="tld_get_4_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-tld_get_4
-</td>
-<td class="function_entry_cyclo">
-13
-</td>
-<td class="function_entry_number">
-24
-</td>
-<td class="function_entry_number">
-36
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="tld_get_4_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-int
-tld_get_4 (const uint32_t * in, size_t inlen, char **out)
-{
-  const uint32_t *ipos;
-  size_t olen;
-
-  *out = NULL;
-  if (!in || inlen == 0)
-    return TLD_NODATA;
-
-  ipos = &amp;in[inlen - 1];
-  olen = 0;
-  /* Scan backwards for non(latin)letters. */
-  while (ipos >= in &amp;& ((*ipos >= 0x41 && *ipos <= 0x5A) ||
-                       (*ipos >= 0x61 &amp;& *ipos <= 0x7A)))
-    ipos--, olen++;
-
-  if (olen > 0 &amp;& DOTP (*ipos))    /* Found something that appears a TLD. */
-    {
-      char *out_s = malloc (sizeof (char) * (olen + 1));
-      char *opos = out_s;
-
-      if (!opos)
-       return TLD_MALLOC_ERROR;
-
-      ipos++;
-      /* Transcribe to lowercase ascii string. */
-      for (; ipos < &amp;in[inlen]; ipos++, opos++)
-       *opos = *ipos > 0x5A ? *ipos : *ipos + 0x20;
-      *opos = 0;
-      *out = out_s;
-      return TLD_SUCCESS;
-    }
-
-  return TLD_NO_TLD;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('idna_to_unicode_internal_src', 'idna_to_unicode_internal_button')"><span id="idna_to_unicode_internal_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-idna_to_unicode_internal
-</td>
-<td class="function_entry_cyclo">
-12
-</td>
-<td class="function_entry_number">
-47
-</td>
-<td class="function_entry_number">
-118
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="idna_to_unicode_internal_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-static int
-idna_to_unicode_internal (char *utf8in,
-                         uint32_t * out, size_t * outlen, int flags)
-{
-  int rc;
-  char tmpout[64];
-  size_t utf8len = strlen (utf8in) + 1;
-  size_t addlen = 0;
-
-  /*
-   * ToUnicode consists of the following steps:
-   *
-   * 1. If the sequence contains any code points outside the ASCII range
-   * (0..7F) then proceed to step 2, otherwise skip to step 3.
-   */
-
-  {
-    size_t i;
-    int inasciirange;
-
-    inasciirange = 1;
-    for (i = 0; utf8in[i]; i++)
-      if (utf8in[i] &amp; ~0x7F)
-       inasciirange = 0;
-    if (inasciirange)
-      goto step3;
-  }
-
-  /*
-   * 2. Perform the steps specified in [NAMEPREP] and fail if there is an
-   * error. (If step 3 of ToASCII is also performed here, it will not
-   * affect the overall behavior of ToUnicode, but it is not
-   * necessary.) The AllowUnassigned flag is used in [NAMEPREP].
-   */
-  do
-    {
-      char *newp = realloc (utf8in, utf8len + addlen);
-      if (newp == NULL)
-       {
-         free (utf8in);
-         return IDNA_MALLOC_ERROR;
-       }
-      utf8in = newp;
-      if (flags &amp; IDNA_ALLOW_UNASSIGNED)
-       rc = stringprep_nameprep (utf8in, utf8len + addlen);
-      else
-       rc = stringprep_nameprep_no_unassigned (utf8in, utf8len + addlen);
-      addlen += 1;
-    }
-  while (rc == STRINGPREP_TOO_SMALL_BUFFER);
-
-  if (rc != STRINGPREP_OK)
-    {
-      free (utf8in);
-      return IDNA_STRINGPREP_ERROR;
-    }
-
-  /* 3. Verify that the sequence begins with the ACE prefix, and save a
-   * copy of the sequence.
-   * ... The ToASCII and ToUnicode operations MUST recognize the ACE
-   prefix in a case-insensitive manner.
-   */
-
-step3:
-  if (c_strncasecmp (utf8in, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX)) != 0)
-    {
-      free (utf8in);
-      return IDNA_NO_ACE_PREFIX;
-    }
-
-  /* 4. Remove the ACE prefix.
-   */
-
-  memmove (utf8in, &amp;utf8in[strlen (IDNA_ACE_PREFIX)],
-          strlen (utf8in) - strlen (IDNA_ACE_PREFIX) + 1);
-
-  /* 5. Decode the sequence using the decoding algorithm in [PUNYCODE]
-   * and fail if there is an error. Save a copy of the result of
-   * this step.
-   */
-
-  (*outlen)--;                 /* reserve one for the zero */
-
-  rc = punycode_decode (strlen (utf8in), utf8in, outlen, out, NULL);
-  if (rc != PUNYCODE_SUCCESS)
-    {
-      free (utf8in);
-      return IDNA_PUNYCODE_ERROR;
-    }
-
-  out[*outlen] = 0;            /* add zero */
-
-  /* 6. Apply ToASCII.
-   */
-
-  rc = idna_to_ascii_4i (out, *outlen, tmpout, flags);
-  if (rc != IDNA_SUCCESS)
-    {
-      free (utf8in);
-      return rc;
-    }
-
-  /* 7. Verify that the result of step 6 matches the saved copy from
-   * step 3, using a case-insensitive ASCII comparison.
-   */
-
-  if (c_strcasecmp (utf8in, tmpout + strlen (IDNA_ACE_PREFIX)) != 0)
-    {
-      free (utf8in);
-      return IDNA_ROUNDTRIP_VERIFY_ERROR;
-    }
-
-  /* 8. Return the saved copy from step 5.
-   */
-
-  free (utf8in);
-  return IDNA_SUCCESS;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('combine_src', 'combine_button')"><span id="combine_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-combine
-</td>
-<td class="function_entry_cyclo">
-12
-</td>
-<td class="function_entry_number">
-21
-</td>
-<td class="function_entry_number">
-54
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="combine_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-static gboolean
-combine (gunichar a, gunichar b, gunichar * result)
-{
-  gushort index_a, index_b;
-
-  if (combine_hangul (a, b, result))
-    return TRUE;
-
-  index_a = COMPOSE_INDEX (a);
-
-  if (index_a >= COMPOSE_FIRST_SINGLE_START &amp;& index_a < COMPOSE_SECOND_START)
-    {
-      if (b == compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][0])
-       {
-         *result =
-           compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][1];
-         return TRUE;
-       }
-      else
-       return FALSE;
-    }
-
-  index_b = COMPOSE_INDEX (b);
-
-  if (index_b >= COMPOSE_SECOND_SINGLE_START)
-    {
-      if (a ==
-         compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][0])
-       {
-         *result =
-           compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][1];
-         return TRUE;
-       }
-      else
-       return FALSE;
-    }
-
-  if (index_a >= COMPOSE_FIRST_START &amp;& index_a < COMPOSE_FIRST_SINGLE_START
-      &amp;& index_b >= COMPOSE_SECOND_START
-      &amp;& index_b < COMPOSE_SECOND_SINGLE_START)
-    {
-      gunichar res =
-       compose_array[index_a - COMPOSE_FIRST_START][index_b -
-                                                    COMPOSE_SECOND_START];
-
-      if (res)
-       {
-         *result = res;
-         return TRUE;
-       }
-    }
-
-  return FALSE;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('g_utf8_to_ucs4_fast_src', 'g_utf8_to_ucs4_fast_button')"><span id="g_utf8_to_ucs4_fast_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-g_utf8_to_ucs4_fast
-</td>
-<td class="function_entry_cyclo">
-11
-</td>
-<td class="function_entry_number">
-38
-</td>
-<td class="function_entry_number">
-75
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="g_utf8_to_ucs4_fast_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-static gunichar *
-g_utf8_to_ucs4_fast (const gchar * str, glong len, glong * items_written)
-{
-  gunichar *result;
-  gsize n_chars, i;
-  const gchar *p;
-
-  g_return_val_if_fail (str != NULL, NULL);
-
-  p = str;
-  n_chars = 0;
-  if (len < 0)
-    {
-      while (*p)
-       {
-         p = g_utf8_next_char (p);
-         ++n_chars;
-       }
-    }
-  else
-    {
-      while (p < str + len &amp;& *p)
-       {
-         p = g_utf8_next_char (p);
-         ++n_chars;
-       }
-    }
-
-  result = g_malloc (sizeof (gunichar) * (n_chars + 1));
-  if (!result)
-    return NULL;
-
-  p = str;
-  for (i = 0; i < n_chars; i++)
-    {
-      gunichar wc = (guchar) * p++;
-
-      if (wc < 0x80)
-       {
-         result[i] = wc;
-       }
-      else
-       {
-         gunichar mask = 0x40;
-
-         if (G_UNLIKELY ((wc &amp; mask) == 0))
-           {
-             /* It's an out-of-sequence 10xxxxxxx byte.
-              * Rather than making an ugly hash of this and the next byte
-              * and overrunning the buffer, it's more useful to treat it
-              * with a replacement character */
-             result[i] = 0xfffd;
-             continue;
-           }
-
-         do
-           {
-             wc <<= 6;
-             wc |= (guchar) (*p++) &amp; 0x3f;
-             mask <<= 5;
-           }
-         while ((wc &amp; mask) != 0);
-
-         wc &amp;= mask - 1;
-
-         result[i] = wc;
-       }
-    }
-  result[i] = 0;
-
-  if (items_written)
-    *items_written = i;
-
-  return result;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_moderate">
-<td class="function_entry_filename">
-<a href="javascript:void(0);" title="show/hide function source" onClick="javascript:show_hide('_tld_checkchar_src', '_tld_checkchar_button')"><span id="_tld_checkchar_button">&darr;</span></a>
-</td>
-<td class="function_entry_name">
-_tld_checkchar
-</td>
-<td class="function_entry_cyclo">
-11
-</td>
-<td class="function_entry_number">
-15
-</td>
-<td class="function_entry_number">
-28
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr>
-<td colspan="6" height="0">
-<div id="_tld_checkchar_src" class="function_src" style="position: relative; display: none;">
-<pre class="function_src">
-static int
-_tld_checkchar (uint32_t ch, const Tld_table * tld)
-{
-  const Tld_table_element *s, *e, *m;
-
-  if (!tld)
-    return TLD_SUCCESS;
-
-  /* Check for [-a-z0-9.]. */
-  if ((ch >= 0x61 &amp;& ch <= 0x7A) ||
-      (ch >= 0x30 &amp;& ch <= 0x39) || ch == 0x2D || DOTP (ch))
-    return TLD_SUCCESS;
-
-  s = tld->valid;
-  e = s + tld->nvalid;
-  while (s < e)
-    {
-      m = s + ((e - s) >> 1);
-      if (ch < m->start)
-       e = m;
-      else if (ch > m->end)
-       s = m + 1;
-      else
-       return TLD_SUCCESS;
-    }
-
-  return TLD_INVALID;
-}
-</pre>
-</div>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-find_decomposition
-</td>
-<td class="function_entry_cyclo">
-10
-</td>
-<td class="function_entry_number">
-21
-</td>
-<td class="function_entry_number">
-41
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-combine_hangul
-</td>
-<td class="function_entry_cyclo">
-10
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_number">
-23
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_ucs4_to_utf8
-</td>
-<td class="function_entry_cyclo">
-9
-</td>
-<td class="function_entry_number">
-26
-</td>
-<td class="function_entry_number">
-42
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_profile
-</td>
-<td class="function_entry_cyclo">
-9
-</td>
-<td class="function_entry_number">
-24
-</td>
-<td class="function_entry_number">
-38
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_utf8_strlen
-</td>
-<td class="function_entry_cyclo">
-9
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_number">
-37
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_unichar_to_utf8
-</td>
-<td class="function_entry_cyclo">
-8
-</td>
-<td class="function_entry_number">
-28
-</td>
-<td class="function_entry_number">
-51
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_4z4z
-</td>
-<td class="function_entry_cyclo">
-7
-</td>
-<td class="function_entry_number">
-37
-</td>
-<td class="function_entry_number">
-61
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_unicode_canonical_ordering
-</td>
-<td class="function_entry_cyclo">
-7
-</td>
-<td class="function_entry_number">
-24
-</td>
-<td class="function_entry_number">
-36
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-pr29_4
-</td>
-<td class="function_entry_cyclo">
-7
-</td>
-<td class="function_entry_number">
-15
-</td>
-<td class="function_entry_number">
-27
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_find_character_in_table
-</td>
-<td class="function_entry_cyclo">
-6
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-21
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep
-</td>
-<td class="function_entry_cyclo">
-6
-</td>
-<td class="function_entry_number">
-30
-</td>
-<td class="function_entry_number">
-53
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_get_table
-</td>
-<td class="function_entry_cyclo">
-5
-</td>
-<td class="function_entry_number">
-9
-</td>
-<td class="function_entry_number">
-14
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_locale_charset
-</td>
-<td class="function_entry_cyclo">
-5
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_number">
-17
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_apply_table_to_string
-</td>
-<td class="function_entry_cyclo">
-5
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_number">
-27
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_4t
-</td>
-<td class="function_entry_cyclo">
-5
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_number">
-24
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_default_table
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-decode_digit
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-4
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_4
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_number">
-28
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_44i
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-12
-</td>
-<td class="function_entry_number">
-24
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-decompose_hangul
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-10
-</td>
-<td class="function_entry_number">
-21
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_find_string_in_table
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-10
-</td>
-<td class="function_entry_number">
-19
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-first_column
-</td>
-<td class="function_entry_cyclo">
-4
-</td>
-<td class="function_entry_number">
-10
-</td>
-<td class="function_entry_number">
-12
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-adapt
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-9
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_4zi_1
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-18
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-combinationclass
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-in_last_column_row
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_4z
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-14
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_4zi
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-12
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_4tz
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_get_4z
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_check_version
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-3
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/version.c;hb=HEAD">version.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_get_z
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-14
-</td>
-<td class="function_entry_number">
-22
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_8z
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_number">
-21
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_check_lz
-</td>
-<td class="function_entry_cyclo">
-3
-</td>
-<td class="function_entry_number">
-10
-</td>
-<td class="function_entry_number">
-20
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-tld_strerror
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-17
-</td>
-<td class="function_entry_number">
-40
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-tld.c;hb=HEAD">strerror-tld.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-punycode_strerror
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-13
-</td>
-<td class="function_entry_number">
-32
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-punycode.c;hb=HEAD">strerror-punycode.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-pr29_strerror
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_number">
-28
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-pr29.c;hb=HEAD">strerror-pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_8z4z
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-9
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_ascii_8z
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-9
-</td>
-<td class="function_entry_number">
-18
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_lzlz
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-15
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_8zlz
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-15
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_unicode_8z8z
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-15
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_to_ascii_lz
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_utf8_get_char
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-14
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-pr29_8z
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-8
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_convert
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_number">
-16
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-pr29_4z
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-10
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-encode_basic
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-2
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_strerror
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-29
-</td>
-<td class="function_entry_number">
-64
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-stringprep.c;hb=HEAD">strerror-stringprep.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idna_strerror
-</td>
-<td class="function_entry_cyclo">
-2
-</td>
-<td class="function_entry_number">
-29
-</td>
-<td class="function_entry_number">
-64
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-idna.c;hb=HEAD">strerror-idna.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_ucs4_nfkc_normalize
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-6
-</td>
-<td class="function_entry_number">
-12
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-g_utf8_normalize
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_number">
-11
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_unichar_to_utf8
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_utf8_to_unichar
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-idn_free
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idn-free.c;hb=HEAD">idn-free.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_utf8_to_locale
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_locale_to_utf8
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_utf8_nfkc_normalize
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-encode_digit
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_ucs4_to_utf8
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-7
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-<tr class="function_entry_simple">
-<td class="function_entry_filename">
-&nbsp;
-</td>
-<td class="function_entry_name">
-stringprep_utf8_to_ucs4
-</td>
-<td class="function_entry_cyclo">
-1
-</td>
-<td class="function_entry_number">
-1
-</td>
-<td class="function_entry_number">
-5
-</td>
-<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
-</td>
-</tr>
-</table>
-<hr color="black" size="2"/> Copyright (c) 2007, 2008 Free Software Foundation, Inc.
-</body>
-</html>
diff --git a/doc/example.txt b/doc/example.txt
new file mode 100644 (file)
index 0000000..88c19b4
--- /dev/null
@@ -0,0 +1,67 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>            /* setlocale() */
+#include <stringprep.h>
+
+/*
+ * Compiling using libtool and pkg-config is recommended:
+ *
+ * $ libtool cc -o example example.c `pkg-config --cflags --libs libidn`
+ * $ ./example
+ * Input string encoded as `ISO-8859-1': ª
+ * Before locale2utf8 (length 2): aa 0a
+ * Before stringprep (length 3): c2 aa 0a
+ * After stringprep (length 2): 61 0a
+ * $
+ *
+ */
+
+int
+main (void)
+{
+  char buf[BUFSIZ];
+  char *p;
+  int rc;
+  size_t i;
+
+  setlocale (LC_ALL, "");
+
+  printf ("Input string encoded as `%s': ", stringprep_locale_charset ());
+  fflush (stdout);
+  if (!fgets (buf, BUFSIZ, stdin))
+    perror ("fgets");
+  buf[strlen (buf) - 1] = '\0';
+
+  printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
+  for (i = 0; i < strlen (buf); i++)
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+  printf ("\n");
+
+  p = stringprep_locale_to_utf8 (buf);
+  if (p)
+    {
+      strcpy (buf, p);
+      free (p);
+    }
+  else
+    printf ("Could not convert string to UTF-8, continuing anyway...\n");
+
+  printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
+  for (i = 0; i < strlen (buf); i++)
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+  printf ("\n");
+
+  rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
+  if (rc != STRINGPREP_OK)
+    printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
+  else
+    {
+      printf ("After stringprep (length %ld): ", (long int) strlen (buf));
+      for (i = 0; i < strlen (buf); i++)
+       printf ("%02x ", (unsigned) buf[i] & 0xFF);
+      printf ("\n");
+    }
+
+  return 0;
+}
diff --git a/doc/example2.txt b/doc/example2.txt
new file mode 100644 (file)
index 0000000..a8c89f5
--- /dev/null
@@ -0,0 +1,213 @@
+#include <locale.h>            /* setlocale() */
+
+/*
+ * This file is derived from RFC 3492 written by Adam M. Costello.
+ *
+ * Disclaimer and license: Regarding this entire document or any
+ * portion of it (including the pseudocode and C code), the author
+ * makes no guarantees and is not responsible for any damage resulting
+ * from its use.  The author grants irrevocable permission to anyone
+ * to use, modify, and distribute it in any way that does not diminish
+ * the rights of anyone else to use, modify, and distribute it,
+ * provided that redistributed derivative works do not contain
+ * misleading author or version information.  Derivative works need
+ * not be licensed under similar terms.
+ *
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <punycode.h>
+
+/* For testing, we'll just set some compile-time limits rather than */
+/* use malloc(), and set a compile-time option rather than using a  */
+/* command-line option.                                             */
+
+enum
+{
+  unicode_max_length = 256,
+  ace_max_length = 256
+};
+
+static void
+usage (char **argv)
+{
+  fprintf (stderr,
+          "\n"
+          "%s -e reads code points and writes a Punycode string.\n"
+          "%s -d reads a Punycode string and writes code points.\n"
+          "\n"
+          "Input and output are plain text in the native character set.\n"
+          "Code points are in the form u+hex separated by whitespace.\n"
+          "Although the specification allows Punycode strings to contain\n"
+          "any characters from the ASCII repertoire, this test code\n"
+          "supports only the printable characters, and needs the Punycode\n"
+          "string to be followed by a newline.\n"
+          "The case of the u in u+hex is the force-to-uppercase flag.\n",
+          argv[0], argv[0]);
+  exit (EXIT_FAILURE);
+}
+
+static void
+fail (const char *msg)
+{
+  fputs (msg, stderr);
+  exit (EXIT_FAILURE);
+}
+
+static const char too_big[] =
+  "input or output is too large, recompile with larger limits\n";
+static const char invalid_input[] = "invalid input\n";
+static const char overflow[] = "arithmetic overflow\n";
+static const char io_error[] = "I/O error\n";
+
+/* The following string is used to convert printable */
+/* characters between ASCII and the native charset:  */
+
+static const char print_ascii[] = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" " !\"#$%&'()*+,-./" "0123456789:;<=>?" "\0x40" /* at sign */
+  "ABCDEFGHIJKLMNO"
+  "PQRSTUVWXYZ[\\]^_" "`abcdefghijklmno" "pqrstuvwxyz{|}~\n";
+
+int
+main (int argc, char **argv)
+{
+  enum punycode_status status;
+  int r;
+  size_t input_length, output_length, j;
+  unsigned char case_flags[unicode_max_length];
+
+  setlocale (LC_ALL, "");
+
+  if (argc != 2)
+    usage (argv);
+  if (argv[1][0] != '-')
+    usage (argv);
+  if (argv[1][2] != 0)
+    usage (argv);
+
+  if (argv[1][1] == 'e')
+    {
+      uint32_t input[unicode_max_length];
+      unsigned long codept;
+      char output[ace_max_length + 1], uplus[3];
+      int c;
+
+      /* Read the input code points: */
+
+      input_length = 0;
+
+      for (;;)
+       {
+         r = scanf ("%2s%lx", uplus, &codept);
+         if (ferror (stdin))
+           fail (io_error);
+         if (r == EOF || r == 0)
+           break;
+
+         if (r != 2 || uplus[1] != '+' || codept > (uint32_t) - 1)
+           {
+             fail (invalid_input);
+           }
+
+         if (input_length == unicode_max_length)
+           fail (too_big);
+
+         if (uplus[0] == 'u')
+           case_flags[input_length] = 0;
+         else if (uplus[0] == 'U')
+           case_flags[input_length] = 1;
+         else
+           fail (invalid_input);
+
+         input[input_length++] = codept;
+       }
+
+      /* Encode: */
+
+      output_length = ace_max_length;
+      status = punycode_encode (input_length, input, case_flags,
+                               &output_length, output);
+      if (status == punycode_bad_input)
+       fail (invalid_input);
+      if (status == punycode_big_output)
+       fail (too_big);
+      if (status == punycode_overflow)
+       fail (overflow);
+      assert (status == punycode_success);
+
+      /* Convert to native charset and output: */
+
+      for (j = 0; j < output_length; ++j)
+       {
+         c = output[j];
+         assert (c >= 0 && c <= 127);
+         if (print_ascii[c] == 0)
+           fail (invalid_input);
+         output[j] = print_ascii[c];
+       }
+
+      output[j] = 0;
+      r = puts (output);
+      if (r == EOF)
+       fail (io_error);
+      return EXIT_SUCCESS;
+    }
+
+  if (argv[1][1] == 'd')
+    {
+      char input[ace_max_length + 2], *p, *pp;
+      uint32_t output[unicode_max_length];
+
+      /* Read the Punycode input string and convert to ASCII: */
+
+      if (!fgets (input, ace_max_length + 2, stdin))
+       fail (io_error);
+      if (ferror (stdin))
+       fail (io_error);
+      if (feof (stdin))
+       fail (invalid_input);
+      input_length = strlen (input) - 1;
+      if (input[input_length] != '\n')
+       fail (too_big);
+      input[input_length] = 0;
+
+      for (p = input; *p != 0; ++p)
+       {
+         pp = strchr (print_ascii, *p);
+         if (pp == 0)
+           fail (invalid_input);
+         *p = pp - print_ascii;
+       }
+
+      /* Decode: */
+
+      output_length = unicode_max_length;
+      status = punycode_decode (input_length, input, &output_length,
+                               output, case_flags);
+      if (status == punycode_bad_input)
+       fail (invalid_input);
+      if (status == punycode_big_output)
+       fail (too_big);
+      if (status == punycode_overflow)
+       fail (overflow);
+      assert (status == punycode_success);
+
+      /* Output the result: */
+
+      for (j = 0; j < output_length; ++j)
+       {
+         r = printf ("%s+%04lX\n",
+                     case_flags[j] ? "U" : "u", (unsigned long) output[j]);
+         if (r < 0)
+           fail (io_error);
+       }
+
+      return EXIT_SUCCESS;
+    }
+
+  usage (argv);
+  return EXIT_SUCCESS;         /* not reached, but quiets compiler warning */
+}
diff --git a/doc/example3.txt b/doc/example3.txt
new file mode 100644 (file)
index 0000000..933ac97
--- /dev/null
@@ -0,0 +1,57 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>            /* setlocale() */
+#include <stringprep.h>                /* stringprep_locale_charset() */
+#include <idna.h>              /* idna_to_ascii_lz() */
+
+/*
+ * Compiling using libtool and pkg-config is recommended:
+ *
+ * $ libtool cc -o example3 example3.c `pkg-config --cflags --libs libidn`
+ * $ ./example3
+ * Input domain encoded as `ISO-8859-1': www.räksmörgåsª.example
+ * Read string (length 23): 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 aa 2e 65 78 61 6d 70 6c 65
+ * ACE label (length 33): 'www.xn--rksmrgsa-0zap8p.example'
+ * 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
+ * $
+ *
+ */
+
+int
+main (void)
+{
+  char buf[BUFSIZ];
+  char *p;
+  int rc;
+  size_t i;
+
+  setlocale (LC_ALL, "");
+
+  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
+  fflush (stdout);
+  if (!fgets (buf, BUFSIZ, stdin))
+    perror ("fgets");
+  buf[strlen (buf) - 1] = '\0';
+
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
+  for (i = 0; i < strlen (buf); i++)
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+  printf ("\n");
+
+  rc = idna_to_ascii_lz (buf, &p, 0);
+  if (rc != IDNA_SUCCESS)
+    {
+      printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
+      return EXIT_FAILURE;
+    }
+
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
+  for (i = 0; i < strlen (p); i++)
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
+  printf ("\n");
+
+  free (p);
+
+  return 0;
+}
diff --git a/doc/example4.txt b/doc/example4.txt
new file mode 100644 (file)
index 0000000..a85dba5
--- /dev/null
@@ -0,0 +1,57 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>            /* setlocale() */
+#include <stringprep.h>                /* stringprep_locale_charset() */
+#include <idna.h>              /* idna_to_unicode_lzlz() */
+
+/*
+ * Compiling using libtool and pkg-config is recommended:
+ *
+ * $ libtool cc -o example4 example4.c `pkg-config --cflags --libs libidn`
+ * $ ./example4
+ * Input domain encoded as `ISO-8859-1': www.xn--rksmrgsa-0zap8p.example
+ * Read string (length 33): 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
+ * ACE label (length 23): 'www.räksmörgåsa.example'
+ * 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 61 2e 65 78 61 6d 70 6c 65
+ * $
+ *
+ */
+
+int
+main (void)
+{
+  char buf[BUFSIZ];
+  char *p;
+  int rc;
+  size_t i;
+
+  setlocale (LC_ALL, "");
+
+  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
+  fflush (stdout);
+  if (!fgets (buf, BUFSIZ, stdin))
+    perror ("fgets");
+  buf[strlen (buf) - 1] = '\0';
+
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
+  for (i = 0; i < strlen (buf); i++)
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+  printf ("\n");
+
+  rc = idna_to_unicode_lzlz (buf, &p, 0);
+  if (rc != IDNA_SUCCESS)
+    {
+      printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
+      return EXIT_FAILURE;
+    }
+
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
+  for (i = 0; i < strlen (p); i++)
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
+  printf ("\n");
+
+  free (p);
+
+  return 0;
+}
diff --git a/doc/example5.txt b/doc/example5.txt
new file mode 100644 (file)
index 0000000..7d0cbd6
--- /dev/null
@@ -0,0 +1,103 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* Get stringprep_locale_charset, etc. */
+#include <stringprep.h>
+
+/* Get idna_to_ascii_8z, etc. */
+#include <idna.h>
+
+/* Get tld_check_4z. */
+#include <tld.h>
+
+/*
+ * Compiling using libtool and pkg-config is recommended:
+ *
+ * $ libtool cc -o example5 example5.c `pkg-config --cflags --libs libidn`
+ * $ ./example5
+ * Input domain encoded as `UTF-8': fooß.no
+ * Read string (length 8): 66 6f 6f c3 9f 2e 6e 6f
+ * ToASCII string (length 8): fooss.no
+ * ToUnicode string: U+0066 U+006f U+006f U+0073 U+0073 U+002e U+006e U+006f
+ * Domain accepted by TLD check
+ *
+ * $ ./example5
+ * Input domain encoded as `UTF-8': gr€€n.no
+ * Read string (length 12): 67 72 e2 82 ac e2 82 ac 6e 2e 6e 6f
+ * ToASCII string (length 16): xn--grn-l50aa.no
+ * ToUnicode string: U+0067 U+0072 U+20ac U+20ac U+006e U+002e U+006e U+006f
+ * Domain rejected by TLD check, Unicode position 2
+ *
+ */
+
+int
+main (void)
+{
+  char buf[BUFSIZ];
+  char *p;
+  uint32_t *r;
+  int rc;
+  size_t errpos, i;
+
+  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
+  fflush (stdout);
+  if (!fgets (buf, BUFSIZ, stdin))
+    perror ("fgets");
+  buf[strlen (buf) - 1] = '\0';
+
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
+  for (i = 0; i < strlen (buf); i++)
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+  printf ("\n");
+
+  p = stringprep_locale_to_utf8 (buf);
+  if (p)
+    {
+      strcpy (buf, p);
+      free (p);
+    }
+  else
+    printf ("Could not convert string to UTF-8, continuing anyway...\n");
+
+  rc = idna_to_ascii_8z (buf, &p, 0);
+  if (rc != IDNA_SUCCESS)
+    {
+      printf ("idna_to_ascii_8z failed (%d): %s\n", rc, idna_strerror (rc));
+      return 2;
+    }
+
+  printf ("ToASCII string (length %ld): %s\n", (long int) strlen (p), p);
+
+  rc = idna_to_unicode_8z4z (p, &r, 0);
+  free (p);
+  if (rc != IDNA_SUCCESS)
+    {
+      printf ("idna_to_unicode_8z4z failed (%d): %s\n",
+             rc, idna_strerror (rc));
+      return 2;
+    }
+
+  printf ("ToUnicode string: ");
+  for (i = 0; r[i]; i++)
+    printf ("U+%04x ", r[i]);
+  printf ("\n");
+
+  rc = tld_check_4z (r, &errpos, NULL);
+  free (r);
+  if (rc == TLD_INVALID)
+    {
+      printf ("Domain rejected by TLD check, Unicode position %ld\n",
+             (long int) errpos);
+      return 1;
+    }
+  else if (rc != TLD_SUCCESS)
+    {
+      printf ("tld_check_4z() failed (%d): %s\n", rc, tld_strerror (rc));
+      return 2;
+    }
+
+  printf ("Domain accepted by TLD check\n");
+
+  return 0;
+}
index cb71f05..eaf3da0 100644 (file)
@@ -6,7 +6,7 @@
 
 @display
 Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-@uref{http://fsf.org/}
+@uref{https://fsf.org/}
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -97,7 +97,7 @@ format, SGML or XML using a publicly available
 DTD, and standard-conforming simple HTML,
 PostScript or PDF designed for human modification.  Examples
 of transparent image formats include PNG, XCF and
-JPG.  Opaque formats include proprietary formats that can be
+JPG@.  Opaque formats include proprietary formats that can be
 read and edited only by proprietary word processors, SGML or
 XML for which the DTD and/or processing tools are
 not generally available, and the machine-generated HTML,
@@ -414,7 +414,7 @@ The Free Software Foundation may publish new, revised versions
 of the GNU Free Documentation License from time to time.  Such new
 versions will be similar in spirit to the present version, but may
 differ in detail to address new problems or concerns.  See
-@uref{http://www.gnu.org/copyleft/}.
+@uref{https://www.gnu.org/licenses/}.
 
 Each version of the License is given a distinguishing version number.
 If the Document specifies that a particular numbered version of this
index 5012c3c..b262754 100755 (executable)
--- a/doc/gdoc
+++ b/doc/gdoc
@@ -1,15 +1,16 @@
-eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
-  & eval 'exec perl -S "$0" $argv:q'
+eval '(exit $?0)' && eval 'exec perl "$0" ${1+"$@"}' # -*- mode: perl -*- #
+  & eval 'exec perl "$0" $argv:q'
     if 0;
-# Generate documentation from source code.
 
-## Copyright (c) 2002-2012 Simon Josefsson
+## Copyright (c) 2002-2024 Simon Josefsson
 ##                    added -texinfo, -listfunc, -pkg-name
 ##                    man page revamp
 ##                    various improvements
 ## Copyright (c) 2001, 2002 Nikos Mavrogiannopoulos
 ##                    added -tex
 ## Copyright (c) 1998 Michael Zucchi
+## Copyright (c) 2013 Adam Sampson
+##                    made highlighting not depend on hash order, for Perl 5.18
 
 # 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
@@ -22,7 +23,7 @@ eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This will read a C source code file and scan for embedded comments
 # in the style of gnome comments (+minor extensions - see below).
@@ -103,14 +104,14 @@ eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
 #  * my_function - does my stuff
 #  * @my_arg: its mine damnit
 #  *
-#  * Does my stuff explained. 
+#  * Does my stuff explained.
 #  */
 #
 #  or, could also use:
 # /**
 #  * my_function - does my stuff
 #  * @my_arg: its mine damnit
-#  * Description: Does my stuff explained. 
+#  * Description: Does my stuff explained.
 #  */
 # etc.
 #
@@ -135,57 +136,59 @@ eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
 use POSIX qw(strftime);
 
 # match expressions used to find embedded type information
-$type_constant = "\\\%(\\w+)";
-$type_func = "(\\w+\\(\\))";
-$type_param = "\\\@(\\w+)";
-$type_struct = "\\\#(\\w+)";
-$type_env = "(\\\$\\w+)";
+$type_constant = "\\\%([A-Za-z0-9_]+)";
+$type_func = "([A-Za-z0-9_]+\\(\\))";
+$type_param = '\@([A-Za-z0-9_]+)\s*';
+$type_struct = "\\\#([A-Za-z0-9_]+)";
+$type_env = "(\\\$[A-Za-z0-9_]+)";
 
 
 # Output conversion substitutions.
 #  One for each output format
 
 # these work fairly well
-%highlights_html = ( $type_constant, "<i>\$1</i>",
-                    $type_func, "<b>\$1</b>",
-                    $type_struct, "<i>\$1</i>",
-                    $type_param, "<tt><b>\$1</b></tt>" );
+@highlights_html = ( [$type_constant, '"<i>$1</i>"'],
+                    [$type_func, '"<b>$1</b>"'],
+                    [$type_struct, '"<i>$1</i>"'],
+                    [$type_param, '" <tt><b>$1</b></tt> "'] );
 $blankline_html = "<p>";
 
-%highlights_texinfo = ( $type_constant, "\\\@code{\$1}",
-                       $type_func, "\\\@code{\$1}",
-                       $type_struct, "\\\@code{\$1}",
-                       $type_param, "\\\@code{\$1}" );
+@highlights_texinfo = ( [$type_param, '" \@code{$1} "'],
+                       [$type_constant, '"\@code{$1} "'],
+                       [$type_func, '"\@code{$1} "'],
+                       [$type_struct, '"\@code{$1} "'],
+                        );
 $blankline_texinfo = "";
 
-%highlights_tex = ( $type_constant, "{\\\\it \$1}",
-                    $type_func, "{\\\\bf \$1}",
-                    $type_struct, "{\\\\it \$1}",
-                    $type_param, "{\\\\bf \$1}" );
+@highlights_tex = ( [$type_param, '" {\\\bf $1} "'],
+               [$type_constant, '"{\\\it $1}"'],
+               [$type_func, '"{\\\bf $1}"'],
+               [$type_struct, '"{\\\it $1}"'],
+                     );
 $blankline_tex = "\\\\";
 
 # sgml, docbook format
-%highlights_sgml = ( $type_constant, "<replaceable class=\"option\">\$1</replaceable>",
-                    $type_func, "<function>\$1</function>",
-                    $type_struct, "<structname>\$1</structname>",
-                    $type_env, "<envar>\$1</envar>",
-                    $type_param, "<parameter>\$1</parameter>" );
+@highlights_sgml = ( [$type_constant, '"<replaceable class=\"option\">$1</replaceable>"'],
+                    [$type_func, '"<function>$1</function>"'],
+                    [$type_struct, '"<structname>$1</structname>"'],
+                    [$type_env, '"<envar>$1</envar>"'],
+                    [$type_param, '" <parameter>$1</parameter> "'] );
 $blankline_sgml = "</para><para>\n";
 
 # these are pretty rough
-%highlights_man = ( $type_constant, "\\\\fB\$1\\\\fP",
-                   $type_func, "\\\\fB\$1\\\\fP",
-                   $type_struct, "\\\\fB\$1\\\\fP",
-                   $type_param, "\\\\fI\$1\\\\fP" );
+@highlights_man = ( [$type_constant, '"\\\fB$1\\\fP"'],
+                   [$type_func, '"\\\fB$1\\\fP"'],
+                   [$type_struct, '"\\\fB$1\\\fP"'],
+                   [$type_param, '" \\\fI$1\\\fP "'] );
 $blankline_man = "";
 
 # text-mode
-%highlights_text = ( $type_constant, "\$1",
-                    $type_func, "\$1",
-                    $type_struct, "\$1",
-                    $type_param, "\$1" );
+@highlights_text = ( [$type_constant, '"$1"'],
+                    [$type_func, '"$1"'],
+                    [$type_struct, '"$1"'],
+                    [$type_param, '"$1 "'] );
 $blankline_text = "";
-
+my $lineprefix = "";
 
 sub usage {
     print "Usage: $0 [ -v ] [ -docbook | -html | -text | -man | -tex | -texinfo  -listfunc ]\n";
@@ -204,7 +207,7 @@ if ($#ARGV==-1) {
 
 $verbose = 0;
 $output_mode = "man";
-%highlights = %highlights_man;
+@highlights = @highlights_man;
 $blankline = $blankline_man;
 $modulename = "API Documentation";
 $sourceversion = strftime "%Y-%m-%d", localtime;
@@ -213,27 +216,27 @@ while ($ARGV[0] =~ m/^-(.*)/) {
     $cmd = shift @ARGV;
     if ($cmd eq "-html") {
        $output_mode = "html";
-       %highlights = %highlights_html;
+       @highlights = @highlights_html;
        $blankline = $blankline_html;
     } elsif ($cmd eq "-man") {
        $output_mode = "man";
-       %highlights = %highlights_man;
+       @highlights = @highlights_man;
        $blankline = $blankline_man;
     } elsif ($cmd eq "-tex") {
        $output_mode = "tex";
-       %highlights = %highlights_tex;
+       @highlights = @highlights_tex;
        $blankline = $blankline_tex;
     } elsif ($cmd eq "-texinfo") {
        $output_mode = "texinfo";
-       %highlights = %highlights_texinfo;
+       @highlights = @highlights_texinfo;
        $blankline = $blankline_texinfo;
     } elsif ($cmd eq "-text") {
        $output_mode = "text";
-       %highlights = %highlights_text;
+       @highlights = @highlights_text;
        $blankline = $blankline_text;
     } elsif ($cmd eq "-docbook") {
        $output_mode = "sgml";
-       %highlights = %highlights_sgml;
+       @highlights = @highlights_sgml;
        $blankline = $blankline_sgml;
     } elsif ($cmd eq "-listfunc") {
        $output_mode = "listfunc";
@@ -273,6 +276,8 @@ sub dump_section {
     my $name = shift @_;
     my $contents = join "\n", @_;
 
+    $name = " $name";
+
     if ($name =~ m/$type_constant/) {
        $name = $1;
 #      print STDERR "constant section '$1' = '$contents'\n";
@@ -283,6 +288,7 @@ sub dump_section {
        $parameters{$name} = $contents;
     } else {
 #      print STDERR "other section '$name' = '$contents'\n";
+       $name =~ tr/ //d;
        $sections{$name} = $contents;
        push @sectionlist, $name;
     }
@@ -297,37 +303,17 @@ sub dump_section {
 #  parameters => %parameter descriptions
 #  sectionlist => @list of sections
 #  sections => %descriont descriptions
-#  
-
-sub repstr {
-    $pattern = shift;
-    $repl = shift;
-    $match1 = shift;
-    $match2 = shift;
-    $match3 = shift;
-    $match4 = shift;
-
-    $output = $repl;
-    $output =~ s,\$1,$match1,g;
-    $output =~ s,\$2,$match2,g;
-    $output =~ s,\$3,$match3,g;
-    $output =~ s,\$4,$match4,g;
-
-    eval "\$return = qq/$output/";
-
-#    print "pattern $pattern matched 1=$match1 2=$match2 3=$match3 4=$match4 replace $repl yielded $output interpolated $return\n";
-
-    $return;
-}
+#
 
 sub just_highlight {
     my $contents = join "\n", @_;
     my $line;
     my $ret = "";
 
-    foreach $pattern (keys %highlights) {
-#      print "scanning pattern $pattern ($highlights{$pattern})\n";
-       $contents =~ s:$pattern:repstr($pattern, $highlights{$pattern}, $1, $2, $3, $4):gse;
+    foreach $highlight (@highlights) {
+       my ($pattern, $replace) = @$highlight;
+       #print "scanning pattern $pattern ($replace)\n";
+       $contents =~ s/$pattern/$replace/gees;
     }
     foreach $line (split "\n", $contents) {
        if ($line eq ""){
@@ -373,13 +359,45 @@ sub output_texinfo {
        }
     }
     foreach $section (@{$args{'sectionlist'}}) {
+       $section =~ s/\@//g;
        print "\n\@strong{$section:} " if $section ne $section_default;
-       $args{'sections'}{$section} =~ s:([{}]):\@\1:gs;
+       $args{'sections'}{$section} =~ s:([{}]):\@$1:gs;
        output_highlight($args{'sections'}{$section});
     }
     print "\@end deftypefun\n\n";
 }
 
+sub output_enum_texinfo {
+    my %args = %{$_[0]};
+    my ($parameter, $section);
+    my $count;
+    my $name = $args{'enum'};
+    my $param;
+    my $param2;
+    my $sec;
+    my $check;
+    my $type;
+
+    print "\n\@c $name\n";
+    print "\@table \@code\n";
+
+    $check=0;
+    foreach $parameter (@{$args{'parameterlist'}}) {
+        $param1 = $parameter;
+       $param1 =~ s/_/_\@-/g;
+
+       $check = 1;
+       print "\@item ".$param1."\n";
+#      print "\n";
+
+        $param2 = $args{'parameters'}{$parameter};
+       $out = just_highlight($param2);
+       chomp $out;
+       print $out . "\n";
+    }
+    print "\@end table\n";
+}
+
 # output in html
 sub output_html {
     my %args = %{$_[0]};
@@ -431,7 +449,9 @@ sub output_tex {
 
     $func =~ s/_/\\_/g;
 
-    print "\n\n\\subsection{". $func . "}\n\\label{" . $args{'function'} . "}\n";
+    print "\n\n\\begin{function}\n";
+    print "\\functionTitle{". $func . "}\n";
+    print "\\index{". $func . "}\n";
 
     $type = $args{'functiontype'};
     $type =~ s/_/\\_/g;
@@ -454,9 +474,8 @@ sub output_tex {
     }
     print ")\n";
 
-    print "\n{\\large{Arguments}}\n";
+    print "\n\\begin{functionArguments}\n";
 
-    print "\\begin{itemize}\n";
     $check=0;
     foreach $parameter (@{$args{'parameterlist'}}) {
         $param1 = $args{'parametertypes'}{$parameter};
@@ -465,11 +484,12 @@ sub output_tex {
        $param2 =~ s/_/\\_/g;
 
        $check = 1;
-       print "\\item {\\it ".$param1."} {\\bf ".$param2."}: \n";
+       print "\\functionArgument {\\it ".$param1."} {\\bf ".$param2."}: \n";
 #      print "\n";
 
        $param3 = $args{'parameters'}{$parameter};
-       $param3 =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
+       $param3 =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+       $param3 =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
 
        $out = just_highlight($param3);
        $out =~ s/_/\\_/g;
@@ -478,31 +498,72 @@ sub output_tex {
     if ($check==0) {
        print "\\item void\n";
     }
-    print "\\end{itemize}\n";
+    print "\\end{functionArguments}\n";
 
     foreach $section (@{$args{'sectionlist'}}) {
        $sec = $section;
        $sec =~ s/_/\\_/g;
-       $sec =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
+       $sec =~ s/#([a-zA-Z\_]+)/{\\it $1}/g;
+
+       print "\n\\begin{function${sec}}\n";
+       $out = $args{'sections'}{$section};
+
+       $out =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+       $out =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
+       $out =~ s/\@([a-zA-Z\_]+)/{\\bf $1}/g;
+       $out =~ s/_/\\_\\-/g;
+        $out =~ s/\$/\\\$/g;
+       $out =~ s/#/\\#/g;
+       $out =~ s/\n\n/\n/g;
+       $out =~ s/\\:/:/g;
+       $out =~ s/\-\>/\$\\rightarrow\$/g;
+       $out =~ s/([0-9]+)\^([0-9]+)/\$\{$1\}\^\{$2\}\$/g;
 
-       print "\n{\\large{$sec}}\\\\\n";
-       print "\\begin{rmfamily}\n";
+       print $out;
+       print "\\end{function${sec}}\n";
+    }
+    print "\\end{function}\n\n";
+}
 
-       $sec = $args{'sections'}{$section};
-       $sec =~ s/\\:/:/g;
-       $sec =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
-       $sec =~ s/->/\$\\rightarrow\$/g;
-       $sec =~ s/([0-9]+)\^([0-9]+)/\$\{\1\}\^\{\2\}\$/g;
+sub output_enum_tex {
+    my %args = %{$_[0]};
+    my ($parameter, $section);
+    my $count;
+    my $name = $args{'enum'};
+    my $param;
+    my $param2;
+    my $sec;
+    my $check;
+    my $type;
 
-       $out = just_highlight($sec);
-       $out =~ s/_/\\_/g;
+    print "\n\n\\begin{enum}\n";
+    $name =~ s/_/\\_/g;
+    print "\\enumTitle{". $name . "}\n";
+    print "\\index{". $name . "}\n";
 
-       print $out;
-       print "\\end{rmfamily}\n";
+    print "\n\\begin{enumList}\n";
+
+    $check=0;
+    foreach $parameter (@{$args{'parameterlist'}}) {
+        $param1 = $parameter;
+       $param1 =~ s/_/\\_\\-/g;
+
+       $check = 1;
+       print "\\enumElement{".$param1."}{";
+#      print "\n";
+
+        $param2 = $args{'parameters'}{$parameter};
+       $param2 =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+       $param2 =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
+       $out = just_highlight($param2);
+       $out =~ s/_/\\_/g;
+       chomp $out;
+       print $out . "}\n";
     }
-    print "\n";
-}
+    print "\\end{enumList}\n";
 
+    print "\\end{enum}\n\n";
+}
 
 # output in sgml DocBook
 sub output_sgml {
@@ -642,11 +703,14 @@ sub output_man {
     if ($args{'bugsto'}) {
        print ".SH \"REPORTING BUGS\"\n";
        print "Report bugs to <". $args{'bugsto'} . ">.\n";
+        print ".br\n";
+       print "General guidelines for reporting bugs: https://www.gnu.org/gethelp/\n";
+        print ".br\n";
        if ($args{'pkgname'}) {
            print $args{'pkgname'} . " home page: " .
-               "http://www.gnu.org/software/" . $args{'module'} . "/\n";
+               "https://www.gnu.org/software/" . $args{'module'} . "/\n";
        }
-       print "General help using GNU software: http://www.gnu.org/gethelp/\n";
+       print "\n";
     }
 
     if ($args{'copyright'}) {
@@ -673,6 +737,10 @@ sub output_man {
        print ".B info " . $args{'seeinfo'} . "\n";
        print ".PP\n";
        print "should give you access to the complete manual.\n";
+       print "As an alternative you may obtain the manual from:\n";
+       print ".IP\n";
+       print ".B https://www.gnu.org/software/" . $args{'module'} . "/manual/\n";
+       print ".PP\n";
     }
 }
 
@@ -708,6 +776,10 @@ sub output_function {
     eval "output_".$output_mode."(\@_);";
 }
 
+sub output_enum {
+    eval "output_enum_".$output_mode."(\@_);";
+}
+
 
 ##
 # takes a function prototype and spits out all the details
@@ -747,7 +819,7 @@ sub dump_function {
 #          print STDERR " :> @args\n";
            $type = join " ", @args;
 
-           if ($parameters{$param} eq "" && $param != "void") {
+           if ((!defined($parameters{$param}) || $parameters{$param} eq "") && $param ne "void") {
                $parameters{$param} = "-- undescribed --";
                print STDERR "warning: $lineno: Function parameter '$param' not described in '$function_name'\n";
            }
@@ -784,6 +856,56 @@ sub dump_function {
     }
 }
 
+sub dump_enum {
+    my $prototype = shift @_;
+
+    if (($prototype =~ m/^\s*typedef\s+enum\s*[a-zA-Z0-9_~:]*\s*\{([\-a-zA-Z0-9_~=,:\s\(\)\<]+)\s*\}\s*([a-zA-Z0-9_]+);.*/)) {
+#        || $prototype =~ m/^\s*enum\s+([a-zA-Z0-9_~:]+).*/) {
+        $args = $1;
+       $name = $2;
+
+       foreach $arg (split ',', $args) {
+           # strip leading/trailing spaces
+           $arg =~ s/^\s*//;
+           $arg =~ s/\s*$//;
+           $arg =~ s/([A-Za-z0-9_]+)\s*=.*/$1/g;
+#          print STDERR "SCAN ARG: '$arg'\n";
+
+            next if $arg eq '';
+           if ((!defined($parameters{$arg}) || $parameters{$arg} eq "")) {
+               $parameters{$arg} = "-- undescribed --";
+               print STDERR "warning: $lineno: Enumeration parameter '$arg' not described in '$name'\n";
+           }
+
+           push @parameterlist, $arg;
+
+#          print STDERR "param = '$arg'\n";
+       }
+    } else {
+#      print STDERR "warning: $lineno: Cannot understand enumeration: '$prototype'\n";
+       return;
+    }
+
+    output_enum({'enum' => $name,
+                        'module' => $modulename,
+                        'sourceversion' => $sourceversion,
+                        'include' => $include,
+                        'includefuncprefix' => $includefuncprefix,
+                        'bugsto' => $bugsto,
+                        'pkgname' => $pkgname,
+                        'copyright' => $copyright,
+                        'verbatimcopying' => $verbatimcopying,
+                        'seeinfo' => $seeinfo,
+                        'functiontype' => $return_type,
+                        'parameterlist' => \@parameterlist,
+                        'parameters' => \%parameters,
+                        'parametertypes' => \%parametertypes,
+                        'sectionlist' => \@sectionlist,
+                        'sections' => \%sections,
+                        'purpose' => $function_purpose
+                        });
+}
+
 ######################################################################
 # main
 # states
@@ -791,8 +913,6 @@ sub dump_function {
 # 1 - looking for function name
 # 2 - scanning field start.
 # 3 - scanning prototype.
-$state = 0;
-$section = "";
 
 $doc_special = "\@\%\$\#";
 
@@ -800,7 +920,7 @@ $doc_start = "^/\\*\\*\$";
 $doc_end = "\\*/";
 $doc_com = "\\s*\\*\\s*";
 $doc_func = $doc_com."(\\w+):?";
-$doc_sect = $doc_com."([".$doc_special."[:upper:]][\\w ]+):\\s*(.*)";
+$doc_sect = $doc_com."([".$doc_special."[:upper:]][\\w]+):\\s*(.*)";
 $doc_content = $doc_com."(.*)";
 
 %constants = ();
@@ -813,24 +933,30 @@ $contents = "";
 $section_default = "Description";      # default section
 $section = $section_default;
 
-$lineno = 0;
 foreach $file (@ARGV) {
     if (!open(IN,"<$file")) {
        print STDERR "Error: Cannot open file $file\n";
        next;
     }
-    while (<IN>) {
+    $state = 0;
+    $section = "";
+    $enum = 0;
+    $lineno = 0;
+    while ($line = <IN>) {
        $lineno++;
 
        if ($state == 0) {
-           if (/$doc_start/o) {
+           if ($line =~ /$doc_start/o) {
                $state = 1;             # next line is always the function name
+#          print STDERR "XXX: start of doc comment\n";
            }
        } elsif ($state == 1) { # this line is the function name (always)
-           if (/$doc_func/o) {
+           if ($line =~ /$doc_func/o) {
                $function = $1;
                $state = 2;
-               if (/-\s*(.*)/) {
+#          print STDERR "XXX: start of doc comment, looking for prototype\n";
+
+               if ($line =~ /-\s*(.*)/) {
                    $function_purpose = $1;
                } else {
                    $function_purpose = "";
@@ -844,11 +970,11 @@ foreach $file (@ARGV) {
                $state = 0;
            }
        } elsif ($state == 2) { # look for head: lines, and include content
-           if (/$doc_sect/o) {
+           if ($line =~ /$doc_sect/o) {
                $newsection = $1;
                $newcontents = $2;
 
-               if ($contents ne "") {
+               if ($contents ne '') {
                    dump_section($section, $contents);
                    $section = $section_default;
                }
@@ -858,7 +984,7 @@ foreach $file (@ARGV) {
                    $contents .= "\n";
                }
                $section = $newsection;
-           } elsif (/$doc_end/) {
+           } elsif ($line =~ /$doc_end/) {
 
                if ($contents ne "") {
                    dump_section($section, $contents);
@@ -866,13 +992,12 @@ foreach $file (@ARGV) {
                    $contents = "";
                }
 
-#          print STDERR "end of doc comment, looking for prototype\n";
-               $prototype = "";
+               $prototype = '';
                $state = 3;
-           } elsif (/$doc_content/) {
+           } elsif ($line =~ /$doc_content/) {
                # miguel-style comment kludge, look for blank lines after
                # @parameter line to signify start of description
-               if ($1 eq "" && $section =~ m/^@/) {
+               if ($1 eq '' && $section =~ m/^@/) {
                    dump_section($section, $contents);
                    $section = $section_default;
                    $contents = "";
@@ -884,16 +1009,25 @@ foreach $file (@ARGV) {
                print STDERR "warning: $lineno: Bad line: $_";
            }
        } elsif ($state == 3) { # scanning for function { (end of prototype)
-           if (m#\s*/\*\s+MACDOC\s*#io) {
+           if ($line =~ /([a-zA-Z\s]+)enum(.*)$/) {
+               $enum = 1;
+           }
+
+           if ($line =~ m#\s*/\*\s+MACDOC\s*#io) {
              # do nothing
            }
-           elsif (/([^\{]*)/) {
+           elsif ($enum == 1 && $line =~ /(\s*\{).*/) {
+               $prototype = "typedef enum {";
+           }
+           elsif ($line =~ /([^\{]*)/) {
                $prototype .= $1;
            }
-           if (/\{/) {
+
+           if ($enum == 0 && $line =~ /;/) {
                $prototype =~ s@/\*.*?\*/@@gos; # strip comments.
                $prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's.
                $prototype =~ s@^ +@@gos; # strip leading spaces
+
                dump_function($prototype);
 
                $function = "";
@@ -904,9 +1038,31 @@ foreach $file (@ARGV) {
                %sections = ();
                @sectionlist = ();
                $prototype = "";
+               $enum = 0;
 
                $state = 0;
            }
+           elsif ($enum == 1 && $line =~ /\}/) {
+               $prototype =~ s@/\*.*?\*/@@gos; # strip comments.
+               $prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's.
+               $prototype =~ s@^ +@@gos; # strip leading spaces
+
+               dump_enum($prototype);
+
+               $function = "";
+               %constants = ();
+               %parameters = ();
+               %parametertypes = ();
+               @parameterlist = ();
+               %sections = ();
+               @sectionlist = ();
+               $prototype = "";
+               $enum = 0;
+
+               $state = 0;
+           }
+
        }
     }
+
 }
diff --git a/doc/idn-help.texi b/doc/idn-help.texi
new file mode 100644 (file)
index 0000000..4bf6ff5
--- /dev/null
@@ -0,0 +1,14 @@
+  -h, --help               Print help and exit
+  -V, --version            Print version and exit
+  -s, --stringprep         Prepare string according to nameprep profile
+  -d, --punycode-decode    Decode Punycode
+  -e, --punycode-encode    Encode Punycode
+  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)
+  -u, --idna-to-unicode    Convert from ACE according to IDNA
+      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)
+      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)
+      --no-tld             Don't check string for TLD specific rules
+  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC
+  -p, --profile=STRING     Use specified stringprep profile instead
+      --debug              Print debugging information
+      --quiet              Silent operation
index 73da07f..623a9fc 100644 (file)
--- a/doc/idn.1
+++ b/doc/idn.1
@@ -1,21 +1,21 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
-.TH IDN "1" "May 2012" "idn 1.25" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.1.
+.TH IDN "1" "January 2024" "GNU Libidn 1.42" "User Commands"
 .SH NAME
 idn \- Internationalized Domain Names command line tool
 .SH SYNOPSIS
 .B idn
-[\fIOPTION\fR]... [\fISTRINGS\fR]...
+[\fI\,OPTION\/\fR]... [\fI\,STRINGS\/\fR]...
 .SH DESCRIPTION
 Internationalized Domain Name (IDN) convert STRINGS, or standard input.
 .PP
 Command line interface to the internationalized domain name library.
 .PP
 All strings are expected to be encoded in the preferred charset used
-by your locale.  Use `\-\-debug' to find out what this charset is.  You
+by your locale.  Use \fB\-\-debug\fR to find out what this charset is.  You
 can override the charset used by setting environment variable CHARSET.
 .PP
-To process a string that starts with `\-', for example `\-foo', use `\-\-'
-to signal the end of parameters, as in `idn \fB\-\-quiet\fR \fB\-a\fR \fB\-\-\fR \fB\-foo\fR'.
+To process a string that starts with '\-', for example '\-foo', use '\-\-'
+to signal the end of parameters, as in: idn \fB\-\-quiet\fR \fB\-a\fR \fB\-\-\fR \fB\-foo\fR
 .PP
 Mandatory arguments to long options are mandatory for short options too.
 .TP
@@ -53,11 +53,10 @@ Only for \fB\-\-idna\-to\-ascii\fR and \fB\-\-idna\-to\-unicode\fR
 \fB\-n\fR, \fB\-\-nfkc\fR
 Normalize string according to Unicode v3.2 NFKC
 .TP
-\fB\-p\fR, \fB\-\-profile\fR=\fISTRING\fR
+\fB\-p\fR, \fB\-\-profile\fR=\fI\,STRING\/\fR
 Use specified stringprep profile instead
-Valid stringprep profiles: `Nameprep',
-`iSCSI', `Nodeprep', `Resourceprep',
-`trace', `SASLprep'
+Valid stringprep profiles: Nameprep
+iSCSI Nodeprep Resourceprep trace SASLprep
 .TP
 \fB\-\-debug\fR
 Print debugging information
@@ -67,14 +66,14 @@ Silent operation
 .SH AUTHOR
 Written by Simon Josefsson.
 .SH "REPORTING BUGS"
-Report bugs to: bug\-libidn@gnu.org
+Report bugs to: help\-libidn@gnu.org
 .br
-GNU Libidn home page: <http://www.gnu.org/software/libidn/>
+GNU Libidn home page: <https://www.gnu.org/software/libidn/>
 .br
-General help using GNU software: <http://www.gnu.org/gethelp/>
+General help using GNU software: <https://www.gnu.org/gethelp/>
 .SH COPYRIGHT
-Copyright \(co 2012 Simon Josefsson.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
+Copyright \(co 2024 Simon Josefsson.
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
 .br
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
index d4b5b2c..6e9e46f 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 if JAVA
-HTML = about.html deprecated.html package-list alphaindex.html         \
-       index.html serialized-form.html                                 \
-       resources/gjdochtml-clean-color1.css                            \
-       resources/gjdochtml-clean-layout.css resources/gjdoc.js         \
-       resources/inherit.png gnu/inet/encoding/classes.html            \
-       gnu/inet/encoding/CombiningClass.html                           \
-       gnu/inet/encoding/Composition.html                              \
-       gnu/inet/encoding/DecompositionKeys.html                        \
-       gnu/inet/encoding/DecompositionMappings.html                    \
-       gnu/inet/encoding/IDNAException.html                            \
-       gnu/inet/encoding/IDNA.html gnu/inet/encoding/NFKC.html         \
-       gnu/inet/encoding/package-summary.html                          \
-       gnu/inet/encoding/PunycodeException.html                        \
-       gnu/inet/encoding/Punycode.html gnu/inet/encoding/RFC3454.html  \
-       gnu/inet/encoding/StringprepException.html                      \
-       gnu/inet/encoding/Stringprep.html gnu/inet/encoding/tree.html
-EXTRA_DIST = $(HTML)
+all-local: stamp-html
 
-all-local: $(HTML)
-
-$(HTML): $(top_srcdir)/java/gnu/inet/encoding/*.java
-       cd ../../java && make javadoc
+stamp-html: $(top_srcdir)/java/src/main/java/gnu/inet/encoding/*.java
+       $(MAKE) -C ../../java/src/main/java javadoc
+       touch stamp-html
 
 clean-local:
-       rm -f $(HTML)
+       rm -rf html stamp-html
 endif
index ed47647..53d83ac 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -51,104 +105,132 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/java
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -167,9 +249,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -189,290 +274,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -482,16 +856,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -508,33 +887,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -549,28 +941,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -580,26 +980,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -618,6 +1026,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -639,9 +1048,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -659,36 +1067,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -697,12 +1107,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -715,11 +1129,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -752,27 +1168,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -785,71 +1223,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -858,11 +1330,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -875,45 +1357,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -921,7 +1416,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -939,8 +1433,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -953,8 +1449,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -970,6 +1468,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -978,24 +1477,6 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-@JAVA_TRUE@HTML = about.html deprecated.html package-list alphaindex.html              \
-@JAVA_TRUE@    index.html serialized-form.html                                 \
-@JAVA_TRUE@    resources/gjdochtml-clean-color1.css                            \
-@JAVA_TRUE@    resources/gjdochtml-clean-layout.css resources/gjdoc.js         \
-@JAVA_TRUE@    resources/inherit.png gnu/inet/encoding/classes.html            \
-@JAVA_TRUE@    gnu/inet/encoding/CombiningClass.html                           \
-@JAVA_TRUE@    gnu/inet/encoding/Composition.html                              \
-@JAVA_TRUE@    gnu/inet/encoding/DecompositionKeys.html                        \
-@JAVA_TRUE@    gnu/inet/encoding/DecompositionMappings.html                    \
-@JAVA_TRUE@    gnu/inet/encoding/IDNAException.html                            \
-@JAVA_TRUE@    gnu/inet/encoding/IDNA.html gnu/inet/encoding/NFKC.html         \
-@JAVA_TRUE@    gnu/inet/encoding/package-summary.html                          \
-@JAVA_TRUE@    gnu/inet/encoding/PunycodeException.html                        \
-@JAVA_TRUE@    gnu/inet/encoding/Punycode.html gnu/inet/encoding/RFC3454.html  \
-@JAVA_TRUE@    gnu/inet/encoding/StringprepException.html                      \
-@JAVA_TRUE@    gnu/inet/encoding/Stringprep.html gnu/inet/encoding/tree.html
-
-@JAVA_TRUE@EXTRA_DIST = $(HTML)
 all: all-am
 
 .SUFFIXES:
@@ -1011,14 +1492,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/java/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/java/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1035,14 +1515,16 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
+cscope cscopelist:
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1177,25 +1659,29 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am all-local check check-am clean clean-generic \
-       clean-libtool clean-local distclean distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
+       clean-libtool clean-local cscopelist-am ctags-am distclean \
+       distclean-generic distclean-libtool distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am
+
+.PRECIOUS: Makefile
 
 
-@JAVA_TRUE@all-local: $(HTML)
+@JAVA_TRUE@all-local: stamp-html
 
-@JAVA_TRUE@$(HTML): $(top_srcdir)/java/gnu/inet/encoding/*.java
-@JAVA_TRUE@    cd ../../java && make javadoc
+@JAVA_TRUE@stamp-html: $(top_srcdir)/java/src/main/java/gnu/inet/encoding/*.java
+@JAVA_TRUE@    $(MAKE) -C ../../java/src/main/java javadoc
+@JAVA_TRUE@    touch stamp-html
 
 @JAVA_TRUE@clean-local:
-@JAVA_TRUE@    rm -f $(HTML)
+@JAVA_TRUE@    rm -rf html stamp-html
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/java/about.html b/doc/java/about.html
deleted file mode 100644 (file)
index 56ba01e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>About</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content about" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="about.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="about title">About</h1><p class="about generator">Generated by Gjdoc HtmlDoclet 0.98, part of <a href="http://www.gnu.org/software/classpath/cp-tools/" title="" target="_top">GNU Classpath Tools</a>, on May 23, 2012 8:37:35 a.m. GMT.</p><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/alphaindex.html b/doc/java/alphaindex.html
deleted file mode 100644 (file)
index a6f64c8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Alphabetical Index</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content index" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item active">Index</span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="alphaindex.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="index title">Alphabetical Index</h1><div class="index letters"><span class="index letter"><a href="#A">A</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#B">B</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#C">C</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#D">D</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#E">E</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#I">I</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#K">K</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#M">M</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#N">N</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#O">O</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#P">P</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#R">R</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#S">S</a></span><span class="index letter spacer"> </span><span class="index letter"><a href="#T">T</a></span><span class="index letter spacer"> </span></div><a name="A" id="A"/><h2 class="index category header">A</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNA.html#ACE_PREFIX">ACE_PREFIX</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#adapt(int,int,boolean)">adapt(int,int,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"></div></div></div><a name="B" id="B"/><h2 class="index category header">B</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/PunycodeException.html#BAD_INPUT">BAD_INPUT</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/StringprepException.html#BIDI_BOTHRAL">BIDI_BOTHRAL</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/StringprepException.html#BIDI_LTRAL">BIDI_LTRAL</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"></div></div></div><a name="C" id="C"/><h2 class="index category header">C</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/CombiningClass.html#c">c</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/CombiningClass.html" title="Class in gnu.inet.encoding">CombiningClass</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#codepoint2digit(int)">codepoint2digit(int)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/CombiningClass.html">CombiningClass</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/CombiningClass.html" title="Class in gnu.inet.encoding">CombiningClass</a></div><div class="description"> Auto-generated class containing Unicode NFKC tables.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#composeData">composeData</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#composePage">composePage</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/Composition.html">Composition</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"> Auto-generated class containing Unicode NFKC tables.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#CONTAINS_ACE_PREFIX">CONTAINS_ACE_PREFIX</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#CONTAINS_HYPHEN">CONTAINS_HYPHEN</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#CONTAINS_NON_LDH">CONTAINS_NON_LDH</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/StringprepException.html#CONTAINS_PROHIBITED">CONTAINS_PROHIBITED</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/StringprepException.html#CONTAINS_UNASSIGNED">CONTAINS_UNASSIGNED</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"></div></div></div><a name="D" id="D"/><h2 class="index category header">D</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#decode(String)">decode(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"> Decode a punycoded string.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/DecompositionKeys.html">DecompositionKeys</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/DecompositionKeys.html" title="Class in gnu.inet.encoding">DecompositionKeys</a></div><div class="description"> Auto-generated class containing Unicode NFKC tables.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/DecompositionMappings.html">DecompositionMappings</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/DecompositionMappings.html" title="Class in gnu.inet.encoding">DecompositionMappings</a></div><div class="description"> Auto-generated class containing Unicode NFKC tables.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#digit2codepoint(int)">digit2codepoint(int)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"></div></div></div><a name="E" id="E"/><h2 class="index category header">E</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#encode(String)">encode(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"> Punycodes a unicode string.</div></div></div><a name="I" id="I"/><h2 class="index category header">I</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/CombiningClass.html#i">i</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/CombiningClass.html" title="Class in gnu.inet.encoding">CombiningClass</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/IDNA.html">IDNA</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"> This class offers static methods for converting internationalized
- domain names to ACE and back.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/IDNAException.html">IDNAException</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"> Exception handling for IDNA class.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#IDNAException(gnu.inet.encoding.PunycodeException)">IDNAException(gnu.inet.encoding.PunycodeException)</a> - constructor for class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#IDNAException(gnu.inet.encoding.StringprepException)">IDNAException(gnu.inet.encoding.StringprepException)</a> - constructor for class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#IDNAException(String)">IDNAException(String)</a> - constructor for class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Punycode.html#isBasic(char)">isBasic(char)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"></div></div></div><a name="K" id="K"/><h2 class="index category header">K</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/DecompositionKeys.html#k">k</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/DecompositionKeys.html" title="Class in gnu.inet.encoding">DecompositionKeys</a></div><div class="description"></div></div></div><a name="M" id="M"/><h2 class="index category header">M</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/DecompositionMappings.html#m">m</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/DecompositionMappings.html" title="Class in gnu.inet.encoding">DecompositionMappings</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#multiFirst">multiFirst</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#multiSecondStart">multiSecondStart</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div></div><a name="N" id="N"/><h2 class="index category header">N</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#nameprep(String)">nameprep(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a name according to the Stringprep profile defined in
- RFC3491.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#nameprep(String,boolean)">nameprep(String,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a name according to the Stringprep profile defined in
- RFC3491.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/NFKC.html">NFKC</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/NFKC.html" title="Class in gnu.inet.encoding">NFKC</a></div><div class="description"> This class offers static methods for Unicode NFKC string normalization.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#nodeprep(String)">nodeprep(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a node name according to the Stringprep profile defined in
- RFC3920.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#nodeprep(String,boolean)">nodeprep(String,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a node name according to the Stringprep profile defined in
- RFC3920.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/NFKC.html#normalizeNFKC(String)">normalizeNFKC(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/NFKC.html" title="Class in gnu.inet.encoding">NFKC</a></div><div class="description"> Applies NFKC normalization to a string.</div></div></div><a name="O" id="O"/><h2 class="index category header">O</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/PunycodeException.html#OVERFLOW">OVERFLOW</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></div><div class="description"></div></div></div><a name="P" id="P"/><h2 class="index category header">P</h2><div class="index category"><div class="index entry"><div class="key"><a href="gnu/inet/encoding/Punycode.html">Punycode</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></div><div class="description"> This class offers static methods for encoding/decoding strings
- using the Punycode algorithm.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/PunycodeException.html">PunycodeException</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></div><div class="description"> Exception handling for Punycode class.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/PunycodeException.html#PunycodeException(String)">PunycodeException(String)</a> - constructor for class gnu.inet.encoding.<a href="./gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></div><div class="description"> Creates a new PunycodeException.</div></div></div><a name="R" id="R"/><h2 class="index category header">R</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#resourceprep(String)">resourceprep(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Stringprep.html#resourceprep(String,boolean)">resourceprep(String,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/RFC3454.html">RFC3454</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/RFC3454.html" title="Class in gnu.inet.encoding">RFC3454</a></div><div class="description"> Auto-generated class containing StringPrep mapping tables.</div></div></div><a name="S" id="S"/><h2 class="index category header">S</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#singleFirst">singleFirst</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#singleFirstStart">singleFirstStart</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#singleSecond">singleSecond</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/Composition.html#singleSecondStart">singleSecondStart</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/Stringprep.html">Stringprep</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></div><div class="description"> This class offers static methods for preparing internationalized
- strings.</div></div><div class="index entry"><div class="key"><a href="gnu/inet/encoding/StringprepException.html">StringprepException</a> - class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"> Exception handling for StringPrep class.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/StringprepException.html#StringprepException(String)">StringprepException(String)</a> - constructor for class gnu.inet.encoding.<a href="./gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></div><div class="description"></div></div></div><a name="T" id="T"/><h2 class="index category header">T</h2><div class="index category"><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNA.html#toASCII(String)">toASCII(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNA.html#toASCII(String,boolean,boolean)">toASCII(String,boolean,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNAException.html#TOO_LONG">TOO_LONG</a> - static field in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></div><div class="description"></div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNA.html#toUnicode(String)">toUnicode(String)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"> Converts an ASCII-encoded string to Unicode.</div></div><div class="index entry"><div class="key"><a href="./gnu/inet/encoding/IDNA.html#toUnicode(String,boolean,boolean)">toUnicode(String,boolean,boolean)</a> - static method in class gnu.inet.encoding.<a href="./gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></div><div class="description"> Converts an ASCII-encoded string to Unicode.</div></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item active">Index</span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/deprecated.html b/doc/java/deprecated.html
deleted file mode 100644 (file)
index e4b0025..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Deprecated API</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content deprecated" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item active">Deprecated</span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="deprecated.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="deprecation title">Deprecated API</h1><p class="dep-empty">No deprecated classes or class members in this API.</p><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item active">Deprecated</span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/CombiningClass.html b/doc/java/gnu/inet/encoding/CombiningClass.html
deleted file mode 100644 (file)
index 5aabc84..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>CombiningClass</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.CombiningClass class"/><meta name="keywords" content="c"/><meta name="keywords" content="i"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi">Prev Class | <a href="../../../gnu/inet/encoding/Composition.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="CombiningClass.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class CombiningClass</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.CombiningClass</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">CombiningClass</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> Auto-generated class containing Unicode NFKC tables.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int[][]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#c">c</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#i">i</a></code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="c" id="c"/><div class="member detail outer"><h3 class="member detail name">c</h3><pre class="member detail synopsis">public static final int[][] c</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="i" id="i"/><div class="member detail outer"><h3 class="member detail name">i</h3><pre class="member detail synopsis">public static final int[] i</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/Composition.html b/doc/java/gnu/inet/encoding/Composition.html
deleted file mode 100644 (file)
index 35b795c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Composition</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.Composition class"/><meta name="keywords" content="multiFirst"/><meta name="keywords" content="singleFirst"/><meta name="keywords" content="singleSecond"/><meta name="keywords" content="multiSecondStart"/><meta name="keywords" content="singleFirstStart"/><meta name="keywords" content="singleSecondStart"/><meta name="keywords" content="composePage"/><meta name="keywords" content="composeData"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/CombiningClass.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/DecompositionKeys.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="Composition.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class Composition</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.Composition</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">Composition</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> Auto-generated class containing Unicode NFKC tables.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int[][]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#composeData">composeData</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#composePage">composePage</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static char[][]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#multiFirst">multiFirst</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#multiSecondStart">multiSecondStart</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static char[][]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#singleFirst">singleFirst</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#singleFirstStart">singleFirstStart</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static char[][]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#singleSecond">singleSecond</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#singleSecondStart">singleSecondStart</a></code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="composeData" id="composeData"/><div class="member detail outer"><h3 class="member detail name">composeData</h3><pre class="member detail synopsis">public static final int[][] composeData</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="composePage" id="composePage"/><div class="member detail outer"><h3 class="member detail name">composePage</h3><pre class="member detail synopsis">public static final int[] composePage</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="multiFirst" id="multiFirst"/><div class="member detail outer"><h3 class="member detail name">multiFirst</h3><pre class="member detail synopsis">public static final char[][] multiFirst</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="multiSecondStart" id="multiSecondStart"/><div class="member detail outer"><h3 class="member detail name">multiSecondStart</h3><pre class="member detail synopsis">public static final int multiSecondStart</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">144</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="singleFirst" id="singleFirst"/><div class="member detail outer"><h3 class="member detail name">singleFirst</h3><pre class="member detail synopsis">public static final char[][] singleFirst</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="singleFirstStart" id="singleFirstStart"/><div class="member detail outer"><h3 class="member detail name">singleFirstStart</h3><pre class="member detail synopsis">public static final int singleFirstStart</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">181</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="singleSecond" id="singleSecond"/><div class="member detail outer"><h3 class="member detail name">singleSecond</h3><pre class="member detail synopsis">public static final char[][] singleSecond</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="singleSecondStart" id="singleSecondStart"/><div class="member detail outer"><h3 class="member detail name">singleSecondStart</h3><pre class="member detail synopsis">public static final int singleSecondStart</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">391</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/DecompositionKeys.html b/doc/java/gnu/inet/encoding/DecompositionKeys.html
deleted file mode 100644 (file)
index 83d7784..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>DecompositionKeys</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.DecompositionKeys class"/><meta name="keywords" content="k"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/Composition.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/DecompositionMappings.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="DecompositionKeys.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class DecompositionKeys</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.DecompositionKeys</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">DecompositionKeys</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> Auto-generated class containing Unicode NFKC tables.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#k">k</a></code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="k" id="k"/><div class="member detail outer"><h3 class="member detail name">k</h3><pre class="member detail synopsis">public static final int[] k</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/DecompositionMappings.html b/doc/java/gnu/inet/encoding/DecompositionMappings.html
deleted file mode 100644 (file)
index df872ca..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>DecompositionMappings</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.DecompositionMappings class"/><meta name="keywords" content="m"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/DecompositionKeys.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/IDNA.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="DecompositionMappings.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class DecompositionMappings</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.DecompositionMappings</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">DecompositionMappings</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> Auto-generated class containing Unicode NFKC tables.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#m">m</a></code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="m" id="m"/><div class="member detail outer"><h3 class="member detail name">m</h3><pre class="member detail synopsis">public static final String[] m</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/IDNA.html b/doc/java/gnu/inet/encoding/IDNA.html
deleted file mode 100644 (file)
index 5c1636f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>IDNA</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.IDNA class"/><meta name="keywords" content="ACE_PREFIX"/><meta name="keywords" content="toASCII()"/><meta name="keywords" content="toUnicode()"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/DecompositionMappings.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/IDNAException.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="IDNA.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | <a href="#summary-methods">Method</a> | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | <a href="#detail-methods">Method</a> | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class IDNA</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.IDNA</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">IDNA</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> This class offers static methods for converting internationalized
- domain names to ACE and back.
- <ul><li>RFC3490 IDNA
- </li></ul>
- Note that this implementation only supports 16-bit Unicode code
- points.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#ACE_PREFIX">ACE_PREFIX</a></code></dt></dl></td></tr></table></dd></dl><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toASCII(String)">toASCII</a>(String&nbsp;input)</code></dt><dd class="description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toASCII(String,boolean,boolean)">toASCII</a>(String&nbsp;input, boolean&nbsp;allowUnassigned, boolean&nbsp;useSTD3ASCIIRules)</code></dt><dd class="description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toUnicode(String)">toUnicode</a>(String&nbsp;input)</code></dt><dd class="description"> Converts an ASCII-encoded string to Unicode.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toUnicode(String,boolean,boolean)">toUnicode</a>(String&nbsp;input, boolean&nbsp;allowUnassigned, boolean&nbsp;useSTD3ASCIIRules)</code></dt><dd class="description"> Converts an ASCII-encoded string to Unicode.</dd></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="ACE_PREFIX" id="ACE_PREFIX"/><div class="member detail outer"><h3 class="member detail name">ACE_PREFIX</h3><pre class="member detail synopsis">public static final String ACE_PREFIX</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="toASCII(String)" id="toASCII(String)"/><div class="member detail outer"><h3 class="member detail name">toASCII</h3><pre class="member detail synopsis">public static String toASCII(String input)
-            throws <a href="../../../gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></pre><blockquote class="member detail name"><div class="member detail description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1. Unassigned characters are not allowed and STD3 ASCII
- rules are enforced. The input string may be a domain name
- containing dots.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">Unicode string.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Encoded string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="toASCII(String,boolean,boolean)" id="toASCII(String,boolean,boolean)"/><div class="member detail outer"><h3 class="member detail name">toASCII</h3><pre class="member detail synopsis">public static String toASCII(String input,
-                             boolean allowUnassigned,
-                             boolean useSTD3ASCIIRules)
-            throws <a href="../../../gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></pre><blockquote class="member detail name"><div class="member detail description"> Converts a Unicode string to ASCII using the procedure in RFC3490
- section 4.1. Unassigned characters are not allowed and STD3 ASCII
- rules are enforced.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">Unicode string.</span></dd><dd class="item"><code class="name">allowUnassigned</code><span class="separator"> - </span><span class="description">Unassigned characters, allowed or not?</span></dd><dd class="item"><code class="name">useSTD3ASCIIRules</code><span class="separator"> - </span><span class="description">STD3 ASCII rules, enforced or not?</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Encoded string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="toUnicode(String)" id="toUnicode(String)"/><div class="member detail outer"><h3 class="member detail name">toUnicode</h3><pre class="member detail synopsis">public static String toUnicode(String input)</pre><blockquote class="member detail name"><div class="member detail description"> Converts an ASCII-encoded string to Unicode. Unassigned
- characters are not allowed and STD3 hostnames are enforced. Input
- may be domain name containing dots.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">ASCII input string.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Unicode string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="toUnicode(String,boolean,boolean)" id="toUnicode(String,boolean,boolean)"/><div class="member detail outer"><h3 class="member detail name">toUnicode</h3><pre class="member detail synopsis">public static String toUnicode(String input,
-                               boolean allowUnassigned,
-                               boolean useSTD3ASCIIRules)</pre><blockquote class="member detail name"><div class="member detail description"> Converts an ASCII-encoded string to Unicode.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">ASCII input string.</span></dd><dd class="item"><code class="name">allowUnassigned</code><span class="separator"> - </span><span class="description">Allow unassigned Unicode characters.</span></dd><dd class="item"><code class="name">useSTD3ASCIIRules</code><span class="separator"> - </span><span class="description">Check that the output conforms to STD3.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Unicode string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/IDNAException.html b/doc/java/gnu/inet/encoding/IDNAException.html
deleted file mode 100644 (file)
index c64fd3e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>IDNAException</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.IDNAException class"/><meta name="keywords" content="CONTAINS_NON_LDH"/><meta name="keywords" content="CONTAINS_HYPHEN"/><meta name="keywords" content="CONTAINS_ACE_PREFIX"/><meta name="keywords" content="TOO_LONG"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/IDNA.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/NFKC.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="IDNAException.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | <a href="#summary-constructors">Constr</a></td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | <a href="#detail-constructors">Constr</a></td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class IDNAException</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>Exception</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.IDNAException</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">IDNAException</b></code></div><div class="class synopsis superclass"><code>extends Exception</code></div></div><hr/><div class="class description"> Exception handling for IDNA class.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#CONTAINS_ACE_PREFIX">CONTAINS_ACE_PREFIX</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#CONTAINS_HYPHEN">CONTAINS_HYPHEN</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#CONTAINS_NON_LDH">CONTAINS_NON_LDH</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#TOO_LONG">TOO_LONG</a></code></dt></dl></td></tr></table></dd></dl><a name="summary-constructors" id="summary-constructors"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Constructor Summary</h2></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#IDNAException(String)">IDNAException</a>(String&nbsp;m)</code></dt></dl></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#IDNAException(gnu.inet.encoding.PunycodeException)">IDNAException</a>(<a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a>&nbsp;e)</code></dt></dl></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#IDNAException(gnu.inet.encoding.StringprepException)">IDNAException</a>(<a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>&nbsp;e)</code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="CONTAINS_ACE_PREFIX" id="CONTAINS_ACE_PREFIX"/><div class="member detail outer"><h3 class="member detail name">CONTAINS_ACE_PREFIX</h3><pre class="member detail synopsis">public static String CONTAINS_ACE_PREFIX</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="CONTAINS_HYPHEN" id="CONTAINS_HYPHEN"/><div class="member detail outer"><h3 class="member detail name">CONTAINS_HYPHEN</h3><pre class="member detail synopsis">public static String CONTAINS_HYPHEN</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="CONTAINS_NON_LDH" id="CONTAINS_NON_LDH"/><div class="member detail outer"><h3 class="member detail name">CONTAINS_NON_LDH</h3><pre class="member detail synopsis">public static String CONTAINS_NON_LDH</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="TOO_LONG" id="TOO_LONG"/><div class="member detail outer"><h3 class="member detail name">TOO_LONG</h3><pre class="member detail synopsis">public static String TOO_LONG</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-constructors" id="detail-constructors"/><h2 class="section header">Constructor Details</h2><div class="section"><a name="IDNAException(String)" id="IDNAException(String)"/><div class="member detail outer"><h3 class="member detail name">IDNAException</h3><pre class="member detail synopsis">public IDNAException(String m)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="IDNAException(gnu.inet.encoding.PunycodeException)" id="IDNAException(gnu.inet.encoding.PunycodeException)"/><div class="member detail outer"><h3 class="member detail name">IDNAException</h3><pre class="member detail synopsis">public IDNAException(<a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a> e)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="IDNAException(gnu.inet.encoding.StringprepException)" id="IDNAException(gnu.inet.encoding.StringprepException)"/><div class="member detail outer"><h3 class="member detail name">IDNAException</h3><pre class="member detail synopsis">public IDNAException(<a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a> e)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/NFKC.html b/doc/java/gnu/inet/encoding/NFKC.html
deleted file mode 100644 (file)
index 4968cd8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>NFKC</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.NFKC class"/><meta name="keywords" content="normalizeNFKC()"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/IDNAException.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/Punycode.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="NFKC.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | Field | <a href="#summary-methods">Method</a> | Constr</td><td class="navi">Detail: Nested | Field | <a href="#detail-methods">Method</a> | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class NFKC</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.NFKC</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">NFKC</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> This class offers static methods for Unicode NFKC string normalization.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#normalizeNFKC(String)">normalizeNFKC</a>(String&nbsp;in)</code></dt><dd class="description"> Applies NFKC normalization to a string.</dd></dl></td></tr></table></dd></dl><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="normalizeNFKC(String)" id="normalizeNFKC(String)"/><div class="member detail outer"><h3 class="member detail name">normalizeNFKC</h3><pre class="member detail synopsis">public static String normalizeNFKC(String in)</pre><blockquote class="member detail name"><div class="member detail description"> Applies NFKC normalization to a string.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">in</code><span class="separator"> - </span><span class="description">The string to normalize.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">An NFKC normalized string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/Punycode.html b/doc/java/gnu/inet/encoding/Punycode.html
deleted file mode 100644 (file)
index 5251332..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Punycode</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.Punycode class"/><meta name="keywords" content="encode()"/><meta name="keywords" content="decode()"/><meta name="keywords" content="adapt()"/><meta name="keywords" content="isBasic()"/><meta name="keywords" content="digit2codepoint()"/><meta name="keywords" content="codepoint2digit()"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/NFKC.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/PunycodeException.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="Punycode.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | Field | <a href="#summary-methods">Method</a> | Constr</td><td class="navi">Detail: Nested | Field | <a href="#detail-methods">Method</a> | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class Punycode</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.Punycode</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">Punycode</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> This class offers static methods for encoding/decoding strings
- using the Punycode algorithm.
- <ul><li>RFC3492 Punycode
- </li></ul>
- Note that this implementation only supports 16-bit Unicode code
- points.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#adapt(int,int,boolean)">adapt</a>(int&nbsp;delta, int&nbsp;numpoints, boolean&nbsp;first)</code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#codepoint2digit(int)">codepoint2digit</a>(int&nbsp;c)</code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#decode(String)">decode</a>(String&nbsp;input)</code></dt><dd class="description"> Decode a punycoded string.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#digit2codepoint(int)">digit2codepoint</a>(int&nbsp;d)</code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#encode(String)">encode</a>(String&nbsp;input)</code></dt><dd class="description"> Punycodes a unicode string.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#isBasic(char)">isBasic</a>(char&nbsp;c)</code></dt></dl></td></tr></table></dd></dl><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="adapt(int,int,boolean)" id="adapt(int,int,boolean)"/><div class="member detail outer"><h3 class="member detail name">adapt</h3><pre class="member detail synopsis">public static final int adapt(int delta,
-                              int numpoints,
-                              boolean first)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="codepoint2digit(int)" id="codepoint2digit(int)"/><div class="member detail outer"><h3 class="member detail name">codepoint2digit</h3><pre class="member detail synopsis">public static final int codepoint2digit(int c)
-            throws <a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="decode(String)" id="decode(String)"/><div class="member detail outer"><h3 class="member detail name">decode</h3><pre class="member detail synopsis">public static String decode(String input)
-            throws <a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></pre><blockquote class="member detail name"><div class="member detail description"> Decode a punycoded string.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">Punycode string</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Unicode string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="digit2codepoint(int)" id="digit2codepoint(int)"/><div class="member detail outer"><h3 class="member detail name">digit2codepoint</h3><pre class="member detail synopsis">public static final int digit2codepoint(int d)
-            throws <a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="encode(String)" id="encode(String)"/><div class="member detail outer"><h3 class="member detail name">encode</h3><pre class="member detail synopsis">public static String encode(String input)
-            throws <a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></pre><blockquote class="member detail name"><div class="member detail description"> Punycodes a unicode string.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">Unicode string.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">Punycoded string.</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="isBasic(char)" id="isBasic(char)"/><div class="member detail outer"><h3 class="member detail name">isBasic</h3><pre class="member detail synopsis">public static final boolean isBasic(char c)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/PunycodeException.html b/doc/java/gnu/inet/encoding/PunycodeException.html
deleted file mode 100644 (file)
index e39c457..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>PunycodeException</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.PunycodeException class"/><meta name="keywords" content="OVERFLOW"/><meta name="keywords" content="BAD_INPUT"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/Punycode.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/RFC3454.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="PunycodeException.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | <a href="#summary-constructors">Constr</a></td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | <a href="#detail-constructors">Constr</a></td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class PunycodeException</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>Exception</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.PunycodeException</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">PunycodeException</b></code></div><div class="class synopsis superclass"><code>extends Exception</code></div></div><hr/><div class="class description"> Exception handling for Punycode class.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#BAD_INPUT">BAD_INPUT</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#OVERFLOW">OVERFLOW</a></code></dt></dl></td></tr></table></dd></dl><a name="summary-constructors" id="summary-constructors"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Constructor Summary</h2></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#PunycodeException(String)">PunycodeException</a>(String&nbsp;m)</code></dt><dd class="description"> Creates a new PunycodeException.</dd></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="BAD_INPUT" id="BAD_INPUT"/><div class="member detail outer"><h3 class="member detail name">BAD_INPUT</h3><pre class="member detail synopsis">public static String BAD_INPUT</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="OVERFLOW" id="OVERFLOW"/><div class="member detail outer"><h3 class="member detail name">OVERFLOW</h3><pre class="member detail synopsis">public static String OVERFLOW</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-constructors" id="detail-constructors"/><h2 class="section header">Constructor Details</h2><div class="section"><a name="PunycodeException(String)" id="PunycodeException(String)"/><div class="member detail outer"><h3 class="member detail name">PunycodeException</h3><pre class="member detail synopsis">public PunycodeException(String m)</pre><blockquote class="member detail name"><div class="member detail description"> Creates a new PunycodeException.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">m</code><span class="separator"> - </span><span class="description">message.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/RFC3454.html b/doc/java/gnu/inet/encoding/RFC3454.html
deleted file mode 100644 (file)
index b7bbc04..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>RFC3454</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.RFC3454 class"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/PunycodeException.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/Stringprep.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="RFC3454.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | Field | Method | Constr</td><td class="navi">Detail: Nested | Field | Method | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class RFC3454</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.RFC3454</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">RFC3454</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> Auto-generated class containing StringPrep mapping tables.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/Stringprep.html b/doc/java/gnu/inet/encoding/Stringprep.html
deleted file mode 100644 (file)
index 0143355..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Stringprep</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.Stringprep class"/><meta name="keywords" content="nameprep()"/><meta name="keywords" content="nodeprep()"/><meta name="keywords" content="resourceprep()"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/RFC3454.html">Prev Class</a> | <a href="../../../gnu/inet/encoding/StringprepException.html">Next Class</a></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="Stringprep.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | Field | <a href="#summary-methods">Method</a> | Constr</td><td class="navi">Detail: Nested | Field | <a href="#detail-methods">Method</a> | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class Stringprep</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.Stringprep</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">Stringprep</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description"> This class offers static methods for preparing internationalized
- strings. It supports the following stringprep profiles:
- <ul><li>RFC3491 nameprep
- </li><li>RFC3920 XMPP nodeprep and resourceprep
- </li></ul>
- Note that this implementation only supports 16-bit Unicode code
- points.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#nameprep(String)">nameprep</a>(String&nbsp;input)</code></dt><dd class="description"> Preps a name according to the Stringprep profile defined in
- RFC3491.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#nameprep(String,boolean)">nameprep</a>(String&nbsp;input, boolean&nbsp;allowUnassigned)</code></dt><dd class="description"> Preps a name according to the Stringprep profile defined in
- RFC3491.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#nodeprep(String)">nodeprep</a>(String&nbsp;input)</code></dt><dd class="description"> Preps a node name according to the Stringprep profile defined in
- RFC3920.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#nodeprep(String,boolean)">nodeprep</a>(String&nbsp;input, boolean&nbsp;allowUnassigned)</code></dt><dd class="description"> Preps a node name according to the Stringprep profile defined in
- RFC3920.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#resourceprep(String)">resourceprep</a>(String&nbsp;input)</code></dt><dd class="description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#resourceprep(String,boolean)">resourceprep</a>(String&nbsp;input, boolean&nbsp;allowUnassigned)</code></dt><dd class="description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920.</dd></dl></td></tr></table></dd></dl><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="nameprep(String)" id="nameprep(String)"/><div class="member detail outer"><h3 class="member detail name">nameprep</h3><pre class="member detail synopsis">public static String nameprep(String input)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a name according to the Stringprep profile defined in
- RFC3491. Unassigned code points are not allowed.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the name to prep.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the name cannot be prepped with
-this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="nameprep(String,boolean)" id="nameprep(String,boolean)"/><div class="member detail outer"><h3 class="member detail name">nameprep</h3><pre class="member detail synopsis">public static String nameprep(String input,
-                              boolean allowUnassigned)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a name according to the Stringprep profile defined in
- RFC3491.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the name to prep.</span></dd><dd class="item"><code class="name">allowUnassigned</code><span class="separator"> - </span><span class="description">true if the name may contain unassigned
-code points.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the name cannot be prepped with
-this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="nodeprep(String)" id="nodeprep(String)"/><div class="member detail outer"><h3 class="member detail name">nodeprep</h3><pre class="member detail synopsis">public static String nodeprep(String input)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a node name according to the Stringprep profile defined in
- RFC3920. Unassigned code points are not allowed.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the node name to prep.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped node name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the node name cannot be prepped
-with this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="nodeprep(String,boolean)" id="nodeprep(String,boolean)"/><div class="member detail outer"><h3 class="member detail name">nodeprep</h3><pre class="member detail synopsis">public static String nodeprep(String input,
-                              boolean allowUnassigned)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a node name according to the Stringprep profile defined in
- RFC3920.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the node name to prep.</span></dd><dd class="item"><code class="name">allowUnassigned</code><span class="separator"> - </span><span class="description">true if the node name may contain
-unassigned code points.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped node name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the node name cannot be prepped
-with this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="resourceprep(String)" id="resourceprep(String)"/><div class="member detail outer"><h3 class="member detail name">resourceprep</h3><pre class="member detail synopsis">public static String resourceprep(String input)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920. Unassigned code points are not allowed.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the resource name to prep.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped node name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the resource name cannot be prepped
-with this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="resourceprep(String,boolean)" id="resourceprep(String,boolean)"/><div class="member detail outer"><h3 class="member detail name">resourceprep</h3><pre class="member detail synopsis">public static String resourceprep(String input,
-                                  boolean allowUnassigned)
-            throws <a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a>,
-                   NullPointerException</pre><blockquote class="member detail name"><div class="member detail description"> Preps a resource name according to the Stringprep profile defined
- in RFC3920.
-</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">input</code><span class="separator"> - </span><span class="description">the resource name to prep.</span></dd><dd class="item"><code class="name">allowUnassigned</code><span class="separator"> - </span><span class="description">true if the resource name may contain
-unassigned code points.</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">the prepped node name.</dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></code><span class="separator"> - </span><span class="description">If the resource name cannot be prepped
-with this profile.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/StringprepException.html b/doc/java/gnu/inet/encoding/StringprepException.html
deleted file mode 100644 (file)
index c0d6438..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>StringprepException</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding.StringprepException class"/><meta name="keywords" content="CONTAINS_UNASSIGNED"/><meta name="keywords" content="CONTAINS_PROHIBITED"/><meta name="keywords" content="BIDI_BOTHRAL"/><meta name="keywords" content="BIDI_LTRAL"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../../gnu/inet/encoding/Stringprep.html">Prev Class</a> | Next Class</td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="StringprepException.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | Method | <a href="#summary-constructors">Constr</a></td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | Method | <a href="#detail-constructors">Constr</a></td></tr></table><div class="class title outer"><h3 class="class title-package">gnu.inet.encoding</h3><h1 class="class title-class">Class StringprepException</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>Exception</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>gnu.inet.encoding.StringprepException</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">StringprepException</b></code></div><div class="class synopsis superclass"><code>extends Exception</code></div></div><hr/><div class="class description"> Exception handling for StringPrep class.
-</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#BIDI_BOTHRAL">BIDI_BOTHRAL</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#BIDI_LTRAL">BIDI_LTRAL</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#CONTAINS_PROHIBITED">CONTAINS_PROHIBITED</a></code></dt></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#CONTAINS_UNASSIGNED">CONTAINS_UNASSIGNED</a></code></dt></dl></td></tr></table></dd></dl><a name="summary-constructors" id="summary-constructors"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Constructor Summary</h2></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#StringprepException(String)">StringprepException</a>(String&nbsp;m)</code></dt></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="BIDI_BOTHRAL" id="BIDI_BOTHRAL"/><div class="member detail outer"><h3 class="member detail name">BIDI_BOTHRAL</h3><pre class="member detail synopsis">public static String BIDI_BOTHRAL</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="BIDI_LTRAL" id="BIDI_LTRAL"/><div class="member detail outer"><h3 class="member detail name">BIDI_LTRAL</h3><pre class="member detail synopsis">public static String BIDI_LTRAL</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="CONTAINS_PROHIBITED" id="CONTAINS_PROHIBITED"/><div class="member detail outer"><h3 class="member detail name">CONTAINS_PROHIBITED</h3><pre class="member detail synopsis">public static String CONTAINS_PROHIBITED</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="CONTAINS_UNASSIGNED" id="CONTAINS_UNASSIGNED"/><div class="member detail outer"><h3 class="member detail name">CONTAINS_UNASSIGNED</h3><pre class="member detail synopsis">public static String CONTAINS_UNASSIGNED</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-constructors" id="detail-constructors"/><h2 class="section header">Constructor Details</h2><div class="section"><a name="StringprepException(String)" id="StringprepException(String)"/><div class="member detail outer"><h3 class="member detail name">StringprepException</h3><pre class="member detail synopsis">public StringprepException(String m)</pre><blockquote class="member detail name"><div class="member detail description"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/classes.html b/doc/java/gnu/inet/encoding/classes.html
deleted file mode 100644 (file)
index fd7f91d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>gnu.inet.encoding Class Menu</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="menu classes" onload="if(parent.contentPageLoaded)parent.contentPageLoaded()"><h4 class="classes menu-title"><a href="package-summary.html" title="" target="content">gnu.inet.encoding</a></h4><div class="classes menu-list"><p class="classes menu-subtitle">Classes</p><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/CombiningClass.html" title="gnu.inet.encoding.CombiningClass" target="content">CombiningClass</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/Composition.html" title="gnu.inet.encoding.Composition" target="content">Composition</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/DecompositionKeys.html" title="gnu.inet.encoding.DecompositionKeys" target="content">DecompositionKeys</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/DecompositionMappings.html" title="gnu.inet.encoding.DecompositionMappings" target="content">DecompositionMappings</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/IDNA.html" title="gnu.inet.encoding.IDNA" target="content">IDNA</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/IDNAException.html" title="gnu.inet.encoding.IDNAException" target="content">IDNAException</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/NFKC.html" title="gnu.inet.encoding.NFKC" target="content">NFKC</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/Punycode.html" title="gnu.inet.encoding.Punycode" target="content">Punycode</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/PunycodeException.html" title="gnu.inet.encoding.PunycodeException" target="content">PunycodeException</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/RFC3454.html" title="gnu.inet.encoding.RFC3454" target="content">RFC3454</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/Stringprep.html" title="gnu.inet.encoding.Stringprep" target="content">Stringprep</a></span><br/><span class="classes menu-entry class"><a href="../../../gnu/inet/encoding/StringprepException.html" title="gnu.inet.encoding.StringprepException" target="content">StringprepException</a></span><br/></div></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/package-summary.html b/doc/java/gnu/inet/encoding/package-summary.html
deleted file mode 100644 (file)
index 0c592e9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>gnu.inet.encoding</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="gnu.inet.encoding packages"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content package" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item active">Package</span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi">Prev Package | Next Package</td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="package-summary.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="package title">Package gnu.inet.encoding</h1><div class="package description top"></div><dl class="table container"><dd><table class="package summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Class Summary</h2></td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/CombiningClass.html" title="Class in gnu.inet.encoding">CombiningClass</a></td><td class="right"> Auto-generated class containing Unicode NFKC tables.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></td><td class="right"> Auto-generated class containing Unicode NFKC tables.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/DecompositionKeys.html" title="Class in gnu.inet.encoding">DecompositionKeys</a></td><td class="right"> Auto-generated class containing Unicode NFKC tables.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/DecompositionMappings.html" title="Class in gnu.inet.encoding">DecompositionMappings</a></td><td class="right"> Auto-generated class containing Unicode NFKC tables.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></td><td class="right"> This class offers static methods for converting internationalized
- domain names to ACE and back.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/IDNAException.html" title="Class in gnu.inet.encoding">IDNAException</a></td><td class="right"> Exception handling for IDNA class.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/NFKC.html" title="Class in gnu.inet.encoding">NFKC</a></td><td class="right"> This class offers static methods for Unicode NFKC string normalization.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></td><td class="right"> This class offers static methods for encoding/decoding strings
- using the Punycode algorithm.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/PunycodeException.html" title="Class in gnu.inet.encoding">PunycodeException</a></td><td class="right"> Exception handling for Punycode class.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/RFC3454.html" title="Class in gnu.inet.encoding">RFC3454</a></td><td class="right"> Auto-generated class containing StringPrep mapping tables.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></td><td class="right"> This class offers static methods for preparing internationalized
- strings.</td></tr><tr><td class="left"><a href="../../../gnu/inet/encoding/StringprepException.html" title="Class in gnu.inet.encoding">StringprepException</a></td><td class="right"> Exception handling for StringPrep class.</td></tr></table></dd></dl>
-<a name="description" id="description"/><div class="package description full"></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item active">Package</span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/gnu/inet/encoding/tree.html b/doc/java/gnu/inet/encoding/tree.html
deleted file mode 100644 (file)
index 6ecb9cd..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>gnu.inet.encoding Hierarchy</title><script src="../../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content packagetree" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item active">Tree</span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="../../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="tree.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="package tree title">Hierarchy for Package gnu.inet.encoding</h1><h2 class="package tree section title">Class Hierarchy</h2><ul class="tree"><li class="node"><div>java.lang.Object</div></li><li class="level"><ul><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/CombiningClass.html" title="Class in gnu.inet.encoding">CombiningClass</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/Composition.html" title="Class in gnu.inet.encoding">Composition</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/DecompositionKeys.html" title="Class in gnu.inet.encoding">DecompositionKeys</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/DecompositionMappings.html" title="Class in gnu.inet.encoding">DecompositionMappings</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/IDNA.html" title="Class in gnu.inet.encoding">IDNA</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/NFKC.html" title="Class in gnu.inet.encoding">NFKC</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/Punycode.html" title="Class in gnu.inet.encoding">Punycode</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/RFC3454.html" title="Class in gnu.inet.encoding">RFC3454</a></b></div></li><li class="node"><div>gnu.inet.encoding.<b class="tree link"><a href="../../../gnu/inet/encoding/Stringprep.html" title="Class in gnu.inet.encoding">Stringprep</a></b></div></li></ul></li></ul><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../../gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item active">Tree</span> <span class="navbar item enabled"><a href="../../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../../about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
diff --git a/doc/java/index.html b/doc/java/index.html
deleted file mode 100644 (file)
index 8565935..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Generated API Documentation</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><frameset cols="20%,80%"><frame src="gnu/inet/encoding/classes.html" name="classes"/><frame src="gnu/inet/encoding/package-summary.html" name="content"/></frameset></html>
\ No newline at end of file
diff --git a/doc/java/package-list b/doc/java/package-list
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/doc/java/resources/gjdoc.js b/doc/java/resources/gjdoc.js
deleted file mode 100644 (file)
index 91f8ba2..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/* gjdoc.js
- Copyright (C) 2004 Free Software Foundation, Inc.
-
- This file is part of GNU Classpath.
-
- GNU Classpath 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 2, or (at your option)
- any later version.
- GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
- Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/**
- *  Sets a new stylesheet for a single frame.
- */
-function setStyleSheetForFrame(title, frame_name)
-{
-   var i, num, a, main;
-   f = eval("top.frames." + frame_name);
-   for(i=0; (a = f.document.getElementsByTagName("link")[i]); i++) {
-      if(a.getAttribute("rel").indexOf("style") != -1
-         && a.getAttribute("title")) {
-         a.disabled = true;
-         a.disabled = (a.getAttribute("title") != title);
-      }
-   }
-}
-
-/**
- *  Sets a new stylesheet for a single document.
- */
-function setStyleSheetForDocument(title) 
-{
-   var i, num, a, main;
-   for(i=0; (a = top.document.getElementsByTagName("link")[i]); i++) {
-      if(a.getAttribute("rel").indexOf("style") != -1
-         && a.getAttribute("title")) {
-         a.disabled = true;
-         a.disabled = (a.getAttribute("title") != title);        
-      }
-   }
-}
-
-/**
- *  Sets a new stylesheets for all frames.
- */
-function setStyleSheet(title)
-{
-   var i, num, a, main;
-   num = top.frames.length;
-   if (num > 0) {
-      for (i=0; i<num; i++) {
-         setStyleSheetForFrame(title, top.frames[i].name);
-      }
-   }
-   else {
-      setStyleSheetForDocument(title);
-   }
-   top.selectedSheet = title;
-   return false;
-}
-
-/**
- *  Returns the title of the set of stylesheets that is active in the
- *  given frame.
- */
-function getActiveStylesheetTitle(frame)
-{ 
-   for(i=0; (a = frame.document.getElementsByTagName("link")[i]); i++) {
-      if(a.getAttribute("rel").indexOf("style") != -1
-         && a.getAttribute("title")) {
-         if (!a.disabled) {
-            return a.getAttribute("title");
-         }    
-      }
-   }
-   return "";
-}
-
-/**
- *  Invoked when a page in the main content frame has been loaded.
- */
-function contentPageLoaded(title) 
-{ 
-   if (title) {
-      top.document.title = title;
-   }
-   /** 20050204: removed since there is only one stylesheet at the time
-   if (top.frames.length > 0) {
-      setStyleSheet(getActiveStylesheetTitle(top.frames.packages), "content");
-   }
-   else if (top.selectedSheet) { 
-      setStyleSheet(top.selectedSheet, "content");
-   }
-   **/
-}
-
-/**
- *  Invoked when a page in one of the two frames on the left hand has
- *  been loaded.
- */
-function secondaryPageLoaded(frame_name)
-{ 
-   /** 20050204: removed since there is only one stylesheet at the time
-   setStyleSheet(getActiveStylesheetTitle(top.frames.packages), frame_name);
-   **/
-}
diff --git a/doc/java/resources/gjdochtml-clean-color1.css b/doc/java/resources/gjdochtml-clean-color1.css
deleted file mode 100644 (file)
index 28452fa..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* gjdochtml-clean-layout.css
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath 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 2, or (at your option)
-any later version.
-GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-/* --- GNU Clean Style: Color Scheme #1 --- */
-
-[class~="title"],
-[class="table header"],
-[class="table sub header"],
-[class="section header"],
-[class="serialized package header"],
-[class="serialized class header"]
-{
-        background-color: #E8EAFF;
-}
-
-[class~="navbar"][class~="item"]
-{
-         border-color: #000000;
-         color: #000000;
-}
-
-[class~="navbar"][class~="item"][class~="disabled"]
-{
-         border-color: #aaaaaa;
-         color: #aaaaaa;
-}
-
-[class~="navbar"][class~="item"][class~="active"]
-{
-        color: #000000;
-        background-color: #E8EAFF;
-}
-
-[class~="navbar"][class~="item"][class~="active"]
-{
-        border-color:  #222222;
-}
-
-.navbar .header a
-{
-        color: #777777;
-}
-
-a[href] {
-  color: #141EB8;
-}
-
-a[href]:visited {
-  color: #0C126E;
-}
-
-
-/* ---- source highlighting ---- */
-
-.comment      { color: #777777; }
-.tag          { color: #444444; }
-.keyword      { color: #B36B00; }
-.header.type  { color: #00248F; }
-.type         { color: #0033CC; }
-.literal      { color: #809FFF; }
-.variable     { color: #007D48; }
-.method       { color: #B32400; }
-.line-number  { color: #AAAAAA; }
diff --git a/doc/java/resources/gjdochtml-clean-layout.css b/doc/java/resources/gjdochtml-clean-layout.css
deleted file mode 100644 (file)
index 9d45909..0000000
+++ /dev/null
@@ -1,460 +0,0 @@
-/* gjdochtml-clean-layout.css
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath 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 2, or (at your option)
-any later version.
-GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA. */
-
-/* --- GNU Clean Style: Layout --- */
-
-body
-{
-        background: white;
-        color: black;
-}
-
-body.content
-{
-        margin-left: 1.3em;        
-        margin-right: 1.3em;        
-        margin-top: 0.9em;        
-        margin-bottom: 1.3em;        
-}
-
-div[class="class title outer"]
-{
-        margin: 0em;
-        margin-bottom: 1em;
-        border: 1px solid;
-        padding: 10pt;
-}
-
-[class="class title-package"]
-{
-        margin: 0em;
-        padding: 0em;
-}
-
-[class="class title-class"]
-{
-        margin: 0em;
-        margin-top: 0.2em;
-        padding: 0em;
-}
-
-[class="table header"],
-[class="table sub header"]
-{
-        margin: 0em;
-        padding: 0.25em;
-}
-
-[class="section header"]
-{
-        margin: 0em;
-        padding: 0.25em;
-        border: 1px solid;
-}
-
-.serialized.package.header
-{
-        margin: 0em;
-        padding: 0.25em;
-        border: 1px solid;
-        margin-bottom: 1em;
-}
-
-
-.serialized.class.header
-{
-        margin: 0em;
-        padding: 0.25em;
-        padding-left: 3.25em;
-        border: 1px solid;
-        text-indent: -3em;
-        font-weight: normal;
-        font-size: 1.2em;
-}
-
-.serialized.section.header
-{
-        font-size: 1.15em;
-}
-
-div.serialized.section
-{
-        padding-left: 1em;
-}
-
-.summary td,
-.summary .inherited
-{
-        padding: 0.25em;
-}
-
-table[border]
-{
-        border-spacing: 0em;
-        border-collapse: collapse;
-}
-
-table[border] td
-{
-        border-spacing: 0em;
-        border-collapse: collapse;
-}
-
-hr
-{
-        border-top: 1px solid;
-        border-bottom: 0px;
-        border-left: 0px;
-        border-right: 0px;
-}
-
-.class.summary .left
-{
-        width: 10%;
-}
-
-.class.summary td.left
-{
-        text-align: right;
-}
-
-.class.summary .left .synopsis
-{
-        font-size: small;
-}
-
-
-[class="package summary left"]
-{
-        width: 20%;
-}
-
-ul.inheritance
-{       
-        margin-left: 1.8em;
-        padding-left: 0em;
-        marker-offset: 0em !important;
-        list-style-type: none;
-        list-style-image: none;
-}
-
-li.inheritance
-{
-        margin: 0em !important;
-        margin-top: 0.1em !important;
-        padding: 0em !important;
-        marker-offset: 0em !important;
-}
-
-ul.inheritance > li.inheritance:before
-{
-        display: marker;
-        width: 12px;
-        margin: 0em !important;
-        padding: 0em !important;
-        marker-offset: 0em !important;
-        content: url(inherit.png);
-        vertical-align: center !important;
-}
-
-[class="inheritance 0"] > li.inheritance:before
-{
-        display: none;
-}
-
-ul [class="inheritance 0"]
-{
-        margin-left: 12px !important;
-        padding-left: 0em;
-        list-style-type: none !important;
-        list-style-image: none !important;
-}
-
-.inheritance-tree
-{
-        position: relative;
-        left: -24px;
-}
-
-.synopsis.outer
-{
-        padding: 0em;
-        margin-bottom: 0.3em;
-}
-
-.synopsis.outer > *
-{
-        margin: 0em;
-        padding: 0em;
-        line-height: 1.0em;
-}
-
-div.navbar.div
-{
-        padding: 0em;
-        margin: 0em;
-        position: relative;
-        left: -0.2em;
-}
-
-.navbar.div,
-.navbar.div tr,
-.navbar.div td
-{
-        margin: 0em;
-        padding: 0em;
-        border-spacing: 0em;
-        border-collapse: collapse;
-}
-
-table.navbar.div
-{
-        width: 100%;
-}
-
-table.navbar.div td
-{
-        line-height: 1.9em;
-        text-align: top;
-}
-
-.navbar.item
-{
-        /* float: left; */
-        border: 1px solid;
-        /* width: 7.5em; */
-        text-align: center;
-        margin: 0.05em;
-        padding-top: 0.2em;
-        padding-bottom: 0.3em;
-        padding-left: 0.5em;
-        padding-right: 0.5em;
-        font-size: 0.75em;
-        margin-bottom: 0.5em;
-}
-
-.navbar.item.active
-{
-        /* font-weight: bold; */
-        border: 1px solid;
-}
-
-[class~="title"]
-{
-        border: 1px solid;
-        padding: 0.3em;
-        margin-top: 0em;
-}
-
-.table.container,
-.table.container dd
-{
-        padding: 0em;
-        margin: 0em;
-}
-
-.overview.summary
-{
-        padding: 0em;
-        margin: 0em;
-}
-
-.summary
-{
-        margin-bottom: 1.2em;
-}
-        
-table.navbar.top
-{
-        margin-bottom: 1em !important;
-}
-
-.package.description
-{
-        margin-top: 0.0em;
-        margin-bottom: 1.0em;
-}
-
-.class.description
-{
-        margin-top: 1em;
-        margin-bottom: 0.8em;
-}
-
-[class="overview description top"]
-{
-        margin-top: 0.0em;
-        margin-bottom: 1.0em;
-}
-
-[class="overview description full"]
-{
-        margin-top: 1.0em;
-        margin-bottom: 0.0em;
-}
-
-.class.summary .right .list
-{
-        margin: 0em;
-        padding: 0em;  
-}
-
-.class.summary .right .list .synopsis
-{
-        margin: 0em;
-        padding: 0em;         
-}
-
-.classes .menu-subtitle
-{
-        padding: 0em;
-        margin-top: 0.5em;
-        margin-bottom: 0em;
-}
-
-.menu-title
-{
-        padding: 0em;
-        margin-top: 0.8em;
-        margin-bottom: 0.2em;
-}
-
-.menu-entry
-{
-        font-size: 0.8em;
-}
-
-.class.summary .right
-{
-        vertical-align: top;
-}
-
-.class.summary .right .list
-{
-        vertical-align: top;
-}
-
-.navi
-{
-        padding-top: 0.5em;
-        font-size: x-small;
-}
-
-.navbar .header
-{
-        vertical-align: top;
-}
-
-.navbar .header span
-{
-        border: none;
-        white-space: nowrap;
-        padding-top: 0.2em;
-        padding-bottom: 0.3em;
-        padding-left: 0.5em;
-}
-
-.navbar .header a
-{
-        font-weight: bold;
-        font-size: 11pt;
-}
-
-h1
-{
-        font-size: 1.5em;
-}
-
-h2
-{
-        font-size: 1.3em;
-}
-
-h3
-{
-        font-size: 1.1em;
-}
-
-.summary .right .synopsis
-{
-        padding-left: 5.25em !important;
-        text-indent: -5em !important;
-}
-
-.summary .right .description
-{
-        text-indent: 1em !important;
-        padding-top: 0.25em !important;
-        padding-bottom: 0.1em !important;
-        padding-left: 0.25em !important;
-}
-
-td.usage.summary
-{
-        vertical-align: top;
-}
-
-.index .entry .description
-{
-        padding-left: 3em;
-}
-
-.index .entry .key
-{
-        padding-left: 5.25em;
-        text-indent: -5em;
-}
-
-.dep-list .summary .description
-{
-        padding-top: 0.1em;
-        padding-left: 3em;
-}
-
-.dep-toc .header
-{
-        padding-bottom: 0em;
-        margin-bottom: 0.2em;
-}
-
-.dep-toc .list
-{
-        margin-top: 0em;
-        margin-bottom: 1.5em;
-        padding-top: 0em;
-        padding-bottom: 0em;
-        padding-left: 2em;
-}
-
-ul.tree li.node
-{
-        list-style-type: disc;
-}
-
-ul.tree ul
-{
-        margin-left: 0em;
-        padding-left: 1.8em;
-}
-
-li.level
-{
-        list-style-type: none;
-}
diff --git a/doc/java/resources/inherit.png b/doc/java/resources/inherit.png
deleted file mode 100644 (file)
index 50ca474..0000000
Binary files a/doc/java/resources/inherit.png and /dev/null differ
diff --git a/doc/java/serialized-form.html b/doc/java/serialized-form.html
deleted file mode 100644 (file)
index ce406aa..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Serialized Form</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content deprecated" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="serialized-form.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="serialized title">Serialized Form</h1><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="./about.html">About</a></span></div></td></tr></table></body></html>
\ No newline at end of file
index c565df4..b41a406 100644 (file)
@@ -1,9 +1,9 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%Title: components.fig
-%%Creator: fig2dev Version 3.2 Patchlevel 5d
-%%CreationDate: Wed May 23 10:37:37 2012
+%%Title: ./components.fig
+%%Creator: fig2dev Version 3.2.8b
+%%CreationDate: 2024-01-13 20:29:46
 %%BoundingBox: 0 0 382 350
-%Magnification: 1.0000
+%%Magnification: 1.0000
 %%EndComments
 %%BeginProlog
 /$F2psDict 200 dict def
@@ -11,37 +11,7 @@ $F2psDict begin
 $F2psDict /mtrx matrix put
 /col-1 {0 setgray} bind def
 /col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
 /col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
 
 end
 
@@ -52,6 +22,7 @@ end
 /sa {save} bind def
 /rs {restore} bind def
 /l {lineto} bind def
+/rl {rlineto} bind def
 /m {moveto} bind def
 /rm {rmoveto} bind def
 /n {newpath} bind def
@@ -76,14 +47,15 @@ end
   bind def
 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
   4 -2 roll mul srgb} bind def
+/xfig_image {image Data flushfile} def
 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
 /$F2psEnd {$F2psEnteredState restore end} def
 
 /pageheader {
-save
-newpath 0 350 moveto 0 0 lineto 382 0 lineto 382 350 lineto closepath clip newpath
--47.4 405.1 translate
-1 -1 scale
+sa
+n 0 350 m 0 0 l 382 0 l 382 350 l cp clip
+-47.4 405.1 tr
+1 -1 sc
 $F2psBegin
 10 setmiterlimit
 0 slj 0 slc
@@ -108,133 +80,137 @@ n 3355 1845 m 3295 1845 3295 2235 60 arcto 4 {pop} repeat
   3295 2295 4609 2295 60 arcto 4 {pop} repeat
   4669 2295 4669 1905 60 arcto 4 {pop} repeat
   4669 1845 3355 1845 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 165.00 scf sf
+3600 2107 m
+gs 1 -1 sc (Nameprep) col0 sh gr
 % Polyline
 n 2663 1845 m 2618 1845 2618 2250 45 arcto 4 {pop} repeat
   2618 2295 3141 2295 45 arcto 4 {pop} repeat
   3186 2295 3186 1890 45 arcto 4 {pop} repeat
   3186 1845 2663 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 165.00 scf sf
+2700 2130 m
+gs 1 -1 sc (iSCSI) col0 sh gr
 % Polyline
 n 1988 1845 m 1943 1845 1943 2250 45 arcto 4 {pop} repeat
   1943 2295 2467 2295 45 arcto 4 {pop} repeat
   2512 2295 2512 1890 45 arcto 4 {pop} repeat
   2512 1845 1988 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 165.00 scf sf
+2025 2130 m
+gs 1 -1 sc (SASL) col0 sh gr
 % Polyline
 n 1313 1845 m 1268 1845 1268 2250 45 arcto 4 {pop} repeat
   1268 2295 1792 2295 45 arcto 4 {pop} repeat
   1837 2295 1837 1890 45 arcto 4 {pop} repeat
   1837 1845 1313 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 165.00 scf sf
+1327 2130 m
+gs 1 -1 sc (XMPP) col0 sh gr
 % Polyline
 n 870 4560 m 810 4560 810 5099 60 arcto 4 {pop} repeat
   810 5159 6735 5159 60 arcto 4 {pop} repeat
   6795 5159 6795 4620 60 arcto 4 {pop} repeat
   6795 4560 870 4560 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica-Bold ff 165.00 scf sf
+3150 4905 m
+gs 1 -1 sc (GNU IDN Library) col0 sh gr
 % Polyline
 n 4065 2837 m 4005 2837 4005 3448 60 arcto 4 {pop} repeat
   4005 3508 5790 3508 60 arcto 4 {pop} repeat
   5850 3508 5850 2897 60 arcto 4 {pop} repeat
   5850 2837 4065 2837 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 150.00 scf sf
+4751 3227 m
+gs 1 -1 sc (IDNA) col0 sh gr
 % Polyline
 n 4110 900 m 4050 900 4050 1338 60 arcto 4 {pop} repeat
   4050 1398 5520 1398 60 arcto 4 {pop} repeat
   5580 1398 5580 960 60 arcto 4 {pop} repeat
   5580 900 4110 900 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
+ cp gs col0 s gr /Helvetica ff 165.00 scf sf
+4455 1215 m
+gs 1 -1 sc (Punycode) col0 sh gr
 % Polyline
 gs  clippath
-2864 1768 m 2864 1863 l 2895 1863 l 2895 1768 l 2895 1768 l 2880 1832 l 2864 1768 l cp
+2887 1855 m 2873 1855 l 2864 1769 l 2896 1769 l cp
 eoclip
 n 2880 1398 m
  2880 1848 l gs col0 s gr gr
-
 % arrowhead
-n 2864 1768 m 2880 1832 l 2895 1768 l 2864 1768 l  cp gs 0.00 setgray ef gr  col0 s
+n 2864 1769 m 2880 1832 l 2896 1769 l 2864 1769 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-3674 1768 m 3674 1863 l 3705 1863 l 3705 1768 l 3705 1768 l 3690 1832 l 3674 1768 l cp
+3697 1855 m 3683 1855 l 3674 1769 l 3706 1769 l cp
 eoclip
 n 3690 1395 m
  3690 1848 l gs col0 s gr gr
-
 % arrowhead
-n 3674 1768 m 3690 1832 l 3705 1768 l 3674 1768 l  cp gs 0.00 setgray ef gr  col0 s
+n 3674 1769 m 3690 1832 l 3706 1769 l 3674 1769 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-2864 4493 m 2864 4588 l 2895 4588 l 2895 4493 l 2895 4493 l 2880 4557 l 2864 4493 l cp
+2887 4580 m 2873 4580 l 2864 4494 l 2896 4494 l cp
 eoclip
 n 2880 2298 m
  2880 4573 l gs col0 s gr gr
-
 % arrowhead
-n 2864 4493 m 2880 4557 l 2895 4493 l 2864 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 2864 4494 m 2880 4557 l 2896 4494 l 2864 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-2144 4493 m 2144 4588 l 2175 4588 l 2175 4493 l 2175 4493 l 2160 4557 l 2144 4493 l cp
+2167 4580 m 2153 4580 l 2144 4494 l 2176 4494 l cp
 eoclip
 n 2160 2298 m
  2160 4573 l gs col0 s gr gr
-
 % arrowhead
-n 2144 4493 m 2160 4557 l 2175 4493 l 2144 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 2144 4494 m 2160 4557 l 2176 4494 l 2144 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-1514 4493 m 1514 4588 l 1545 4588 l 1545 4493 l 1545 4493 l 1530 4557 l 1514 4493 l cp
+1537 4580 m 1523 4580 l 1514 4494 l 1546 4494 l cp
 eoclip
 n 1530 2298 m
  1530 4573 l gs col0 s gr gr
-
 % arrowhead
-n 1514 4493 m 1530 4557 l 1545 4493 l 1514 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 1514 4494 m 1530 4557 l 1546 4494 l 1514 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-1019 4493 m 1019 4588 l 1050 4588 l 1050 4493 l 1050 4493 l 1035 4557 l 1019 4493 l cp
+1042 4580 m 1028 4580 l 1019 4494 l 1051 4494 l cp
 eoclip
 n 1035 1398 m
  1035 4573 l gs col0 s gr gr
-
 % arrowhead
-n 1019 4493 m 1035 4557 l 1050 4493 l 1019 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 1019 4494 m 1035 4557 l 1051 4494 l 1019 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-1514 1768 m 1514 1863 l 1545 1863 l 1545 1768 l 1545 1768 l 1530 1832 l 1514 1768 l cp
+1537 1855 m 1523 1855 l 1514 1769 l 1546 1769 l cp
 eoclip
 n 1530 1398 m
  1530 1848 l gs col0 s gr gr
-
 % arrowhead
-n 1514 1768 m 1530 1832 l 1545 1768 l 1514 1768 l  cp gs 0.00 setgray ef gr  col0 s
+n 1514 1769 m 1530 1832 l 1546 1769 l 1514 1769 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-2189 1768 m 2189 1863 l 2220 1863 l 2220 1768 l 2220 1768 l 2205 1832 l 2189 1768 l cp
+2212 1855 m 2198 1855 l 2189 1769 l 2221 1769 l cp
 eoclip
 n 2205 1398 m
  2205 1848 l gs col0 s gr gr
-
 % arrowhead
-n 2189 1768 m 2205 1832 l 2220 1768 l 2189 1768 l  cp gs 0.00 setgray ef gr  col0 s
+n 2189 1769 m 2205 1832 l 2221 1769 l 2189 1769 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-3539 4493 m 3539 4588 l 3570 4588 l 3570 4493 l 3570 4493 l 3555 4557 l 3539 4493 l cp
+3562 4580 m 3548 4580 l 3539 4494 l 3571 4494 l cp
 eoclip
 n 3555 2298 m
  3555 4573 l gs col0 s gr gr
-
 % arrowhead
-n 3539 4493 m 3555 4557 l 3570 4493 l 3539 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 3539 4494 m 3555 4557 l 3571 4494 l 3539 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-4889 4493 m 4889 4588 l 4920 4588 l 4920 4493 l 4920 4493 l 4905 4557 l 4889 4493 l cp
+4912 4580 m 4898 4580 l 4889 4494 l 4921 4494 l cp
 eoclip
 n 4905 3506 m
  4905 4573 l gs col0 s gr gr
-
 % arrowhead
-n 4889 4493 m 4905 4557 l 4920 4493 l 4889 4493 l  cp gs 0.00 setgray ef gr  col0 s
+n 4889 4494 m 4905 4557 l 4921 4494 l 4889 4494 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
  [15 45] 45 sd
 n 870 5820 m 810 5820 810 6359 60 arcto 4 {pop} repeat
@@ -245,8 +221,8 @@ n 870 5820 m 810 5820 810 6359 60 arcto 4 {pop} repeat
 % Polyline
  [15 45] 45 sd
 gs  clippath
-3705 5669 m 3705 5820 l 3765 5820 l 3765 5669 l 3765 5669 l 3735 5789 l 3705 5669 l cp
-3765 5311 m 3765 5160 l 3705 5160 l 3705 5311 l 3705 5311 l 3735 5191 l 3765 5311 l cp
+3742 5812 m 3728 5812 l 3705 5669 l 3765 5669 l cp
+3728 5168 m 3742 5168 l 3765 5311 l 3705 5311 l cp
 eoclip
 n 3735 5175 m
  3735 5805 l gs col0 s gr gr
@@ -260,61 +236,35 @@ n 840 900 m 765 900 765 1323 75 arcto 4 {pop} repeat
   765 1398 3841 1398 75 arcto 4 {pop} repeat
   3916 1398 3916 975 75 arcto 4 {pop} repeat
   3916 900 840 900 75 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
+ cp gs col0 s gr % Polyline
 gs  clippath
-4349 2755 m 4349 2850 l 4380 2850 l 4380 2755 l 4380 2755 l 4365 2819 l 4349 2755 l cp
+4372 2842 m 4358 2842 l 4349 2756 l 4381 2756 l cp
 eoclip
 n 4365 2277 m
  4365 2835 l gs col0 s gr gr
-
 % arrowhead
-n 4349 2755 m 4365 2819 l 4380 2755 l 4349 2755 l  cp gs 0.00 setgray ef gr  col0 s
+n 4349 2756 m 4365 2819 l 4381 2756 l 4349 2756 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 gs  clippath
-4844 2783 m 4844 2878 l 4875 2878 l 4875 2783 l 4875 2783 l 4860 2847 l 4844 2783 l cp
+4867 2870 m 4853 2870 l 4844 2784 l 4876 2784 l cp
 eoclip
 n 4860 1395 m
  4860 2863 l gs col0 s gr gr
-
 % arrowhead
-n 4844 2783 m 4860 2847 l 4875 2783 l 4844 2783 l  cp gs 0.00 setgray ef gr  col0 s
+n 4844 2784 m 4860 2847 l 4876 2784 l 4844 2784 l  cp gs 0.00 setgray ef gr  col0 s
 % Polyline
 n 5715 900 m 5670 900 5670 1350 45 arcto 4 {pop} repeat
   5670 1395 6750 1395 45 arcto 4 {pop} repeat
   6795 1395 6795 945 45 arcto 4 {pop} repeat
   6795 900 5715 900 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
+ cp gs col0 s gr % Polyline
 gs  clippath
-6149 4493 m 6149 4588 l 6180 4588 l 6180 4493 l 6180 4493 l 6165 4557 l 6149 4493 l cp
+6172 4580 m 6158 4580 l 6149 4494 l 6181 4494 l cp
 eoclip
 n 6165 1398 m
  6165 4573 l gs col0 s gr gr
-
 % arrowhead
-n 6149 4493 m 6165 4557 l 6180 4493 l 6149 4493 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 165.00 scf sf
-3600 2107 m
-gs 1 -1 sc (Nameprep) col0 sh gr
-/Helvetica ff 165.00 scf sf
-2700 2130 m
-gs 1 -1 sc (iSCSI) col0 sh gr
-/Helvetica ff 165.00 scf sf
-2025 2130 m
-gs 1 -1 sc (SASL) col0 sh gr
-/Helvetica ff 165.00 scf sf
-1327 2130 m
-gs 1 -1 sc (XMPP) col0 sh gr
-/Helvetica-Bold ff 165.00 scf sf
-3150 4905 m
-gs 1 -1 sc (GNU IDN Library) col0 sh gr
-/Helvetica ff 150.00 scf sf
-4751 3227 m
-gs 1 -1 sc (IDNA) col0 sh gr
-/Helvetica ff 165.00 scf sf
-4455 1215 m
-gs 1 -1 sc (Punycode) col0 sh gr
+n 6149 4494 m 6165 4557 l 6181 4494 l 6149 4494 l  cp gs 0.00 setgray ef gr  col0 s
 /Helvetica ff 165.00 scf sf
 3345 6157 m
 gs 1 -1 sc (Application) col0 sh gr
index dae63bd..042164b 100644 (file)
Binary files a/doc/libidn-components.pdf and b/doc/libidn-components.pdf differ
index 1330f91..b841290 100644 (file)
Binary files a/doc/libidn-components.png and b/doc/libidn-components.png differ
diff --git a/doc/libidn.html b/doc/libidn.html
deleted file mode 100644 (file)
index fb61c4f..0000000
+++ /dev/null
@@ -1,4874 +0,0 @@
-<html lang="en">
-<head>
-<title>GNU Libidn 1.25</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="description" content="GNU Libidn 1.25">
-<meta name="generator" content="makeinfo 4.13">
-<link title="Top" rel="top" href="#Top">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This manual is last updated 27 April 2012 for version
-1.25 of GNU Libidn.
-
-Copyright (C) 2002-2012 Simon Josefsson.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
-   -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
-  pre.display { font-family:inherit }
-  pre.format  { font-family:inherit }
-  pre.smalldisplay { font-family:inherit; font-size:smaller }
-  pre.smallformat  { font-family:inherit; font-size:smaller }
-  pre.smallexample { font-size:smaller }
-  pre.smalllisp    { font-size:smaller }
-  span.sc    { font-variant:small-caps }
-  span.roman { font-family:serif; font-weight:normal; } 
-  span.sansserif { font-family:sans-serif; font-weight:normal; } 
-body {
-       margin: 2%;
-       padding: 0 5%;
-       background: #ffffff;
-}
-h1,h2,h3,h4,h5 {
-    font-weight: bold;
-    padding: 5px 5px 5px 5px;
-    background-color: #c2e0ff;
-    color: #336699;
-}
-h1 {
-    padding: 2em 2em 2em 5%;
-    color: white;
-    background: #336699;
-    text-align: center;
-    letter-spacing: 3px;
-}
-h2 { text-decoration: underline; }
-pre {
-  margin: 0 5%;
-  padding: 0.5em;
-}
-pre.example {
-  border: solid 1px;
-  background: #eeeeff;
-  padding-bottom: 1em;
-}
-pre.verbatim {
-  border: solid 1px gray;
-  background: white;
-  padding-bottom: 1em;
-}
-div.node {
-  margin: 0 -5% 0 -2%;
-  padding: 0.5em 0.5em;
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-  font-weight: bold;
-}
-dd, li {
-  padding-top: 0.1em;
-  padding-bottom: 0.1em;
-}
---></style>
-</head>
-<body>
-<h1 class="settitle">GNU Libidn 1.25</h1>
-   <div class="contents">
-<h2>Table of Contents</h2>
-<ul>
-<li><a name="toc_Top" href="#Top">GNU Libidn</a>
-<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a>
-<ul>
-<li><a href="#Getting-Started">1.1 Getting Started</a>
-<li><a href="#Features">1.2 Features</a>
-<li><a href="#Library-Overview">1.3 Library Overview</a>
-<li><a href="#Supported-Platforms">1.4 Supported Platforms</a>
-<li><a href="#Getting-help">1.5 Getting help</a>
-<li><a href="#Commercial-Support">1.6 Commercial Support</a>
-<li><a href="#Downloading-and-Installing">1.7 Downloading and Installing</a>
-<ul>
-<li><a href="#Installing-under-Windows">1.7.1 Installing under Windows</a>
-</li></ul>
-<li><a href="#Bug-Reports">1.8 Bug Reports</a>
-<li><a href="#Contributing">1.9 Contributing</a>
-</li></ul>
-<li><a name="toc_Preparation" href="#Preparation">2 Preparation</a>
-<ul>
-<li><a href="#Header">2.1 Header</a>
-<li><a href="#Initialization">2.2 Initialization</a>
-<li><a href="#Version-Check">2.3 Version Check</a>
-<li><a href="#Building-the-source">2.4 Building the source</a>
-<li><a href="#Autoconf-tests">2.5 Autoconf tests</a>
-<li><a href="#Memory-handling-under-Windows">2.6 Memory handling under Windows</a>
-<li><a href="#Memory-handling-under-Windows">2.7 Header file <code>idn-free.h</code></a>
-<li><a href="#Memory-handling-under-Windows">2.8 Memory de-allocation function</a>
-</li></ul>
-<li><a name="toc_Utility-Functions" href="#Utility-Functions">3 Utility Functions</a>
-<ul>
-<li><a href="#Utility-Functions">3.1 Header file <code>stringprep.h</code></a>
-<li><a href="#Utility-Functions">3.2 Unicode Encoding Transformation</a>
-<li><a href="#Utility-Functions">3.3 Unicode Normalization</a>
-<li><a href="#Utility-Functions">3.4 Character Set Conversion</a>
-</li></ul>
-<li><a name="toc_Stringprep-Functions" href="#Stringprep-Functions">4 Stringprep Functions</a>
-<ul>
-<li><a href="#Stringprep-Functions">4.1 Header file <code>stringprep.h</code></a>
-<li><a href="#Stringprep-Functions">4.2 Defining A Stringprep Profile</a>
-<li><a href="#Stringprep-Functions">4.3 Control Flags</a>
-<li><a href="#Stringprep-Functions">4.4 Core Functions</a>
-<li><a href="#Stringprep-Functions">4.5 Error Handling</a>
-<li><a href="#Stringprep-Functions">4.6 Stringprep Profile Macros</a>
-</li></ul>
-<li><a name="toc_Punycode-Functions" href="#Punycode-Functions">5 Punycode Functions</a>
-<ul>
-<li><a href="#Punycode-Functions">5.1 Header file <code>punycode.h</code></a>
-<li><a href="#Punycode-Functions">5.2 Unicode Code Point Data Type</a>
-<li><a href="#Punycode-Functions">5.3 Core Functions</a>
-<li><a href="#Punycode-Functions">5.4 Error Handling</a>
-</li></ul>
-<li><a name="toc_IDNA-Functions" href="#IDNA-Functions">6 IDNA Functions</a>
-<ul>
-<li><a href="#IDNA-Functions">6.1 Header file <code>idna.h</code></a>
-<li><a href="#IDNA-Functions">6.2 Control Flags</a>
-<li><a href="#IDNA-Functions">6.3 Prefix String</a>
-<li><a href="#IDNA-Functions">6.4 Core Functions</a>
-<li><a href="#IDNA-Functions">6.5 Simplified ToASCII Interface</a>
-<li><a href="#IDNA-Functions">6.6 Simplified ToUnicode Interface</a>
-<li><a href="#IDNA-Functions">6.7 Error Handling</a>
-</li></ul>
-<li><a name="toc_TLD-Functions" href="#TLD-Functions">7 TLD Functions</a>
-<ul>
-<li><a href="#TLD-Functions">7.1 Header file <code>tld.h</code></a>
-<li><a href="#TLD-Functions">7.2 Core Functions</a>
-<li><a href="#TLD-Functions">7.3 Utility Functions</a>
-<li><a href="#TLD-Functions">7.4 High-Level Wrapper Functions</a>
-<li><a href="#TLD-Functions">7.5 Error Handling</a>
-</li></ul>
-<li><a name="toc_PR29-Functions" href="#PR29-Functions">8 PR29 Functions</a>
-<ul>
-<li><a href="#PR29-Functions">8.1 Header file <code>pr29.h</code></a>
-<li><a href="#PR29-Functions">8.2 Core Functions</a>
-<li><a href="#PR29-Functions">8.3 Utility Functions</a>
-<li><a href="#PR29-Functions">8.4 Error Handling</a>
-</li></ul>
-<li><a name="toc_Examples" href="#Examples">9 Examples</a>
-<ul>
-<li><a href="#Example-1">9.1 Example 1</a>
-<li><a href="#Example-2">9.2 Example 2</a>
-<li><a href="#Example-3">9.3 Example 3</a>
-<li><a href="#Example-4">9.4 Example 4</a>
-<li><a href="#Example-5">9.5 Example 5</a>
-</li></ul>
-<li><a name="toc_Invoking-idn" href="#Invoking-idn">10 Invoking idn</a>
-<ul>
-<li><a href="#Invoking-idn">10.1 Name</a>
-<li><a href="#Invoking-idn">10.2 Description</a>
-<li><a href="#Invoking-idn">10.3 Options</a>
-<li><a href="#Invoking-idn">10.4 Environment Variables</a>
-<li><a href="#Invoking-idn">10.5 Examples</a>
-<li><a href="#Invoking-idn">10.6 Troubleshooting</a>
-</li></ul>
-<li><a name="toc_Emacs-API" href="#Emacs-API">11 Emacs API</a>
-<ul>
-<li><a href="#Emacs-API">11.1 Punycode Emacs API</a>
-<li><a href="#Emacs-API">11.2 IDNA Emacs API</a>
-</li></ul>
-<li><a name="toc_Java-API" href="#Java-API">12 Java API</a>
-<ul>
-<li><a href="#Java-API">12.1 Overview</a>
-<li><a href="#Java-API">12.2 Miscellaneous Programs</a>
-<ul>
-<li><a href="#Java-API">12.2.1 GenerateRFC3454</a>
-<li><a href="#Java-API">12.2.2 GenerateNFKC</a>
-<li><a href="#Java-API">12.2.3 TestIDNA</a>
-<li><a href="#Java-API">12.2.4 TestNFKC</a>
-</li></ul>
-<li><a href="#Java-API">12.3 Possible Problems</a>
-<li><a href="#Java-API">12.4 A Note on Java and Unicode</a>
-</li></ul>
-<li><a name="toc_C_0023-API" href="#C_0023-API">13 C# API</a>
-<li><a name="toc_Acknowledgements" href="#Acknowledgements">14 Acknowledgements</a>
-<li><a name="toc_History" href="#History">15 History</a>
-<li><a name="toc_PR29-discussion" href="#PR29-discussion">Appendix A PR29 discussion</a>
-<li><a name="toc_On-Label-Separators" href="#On-Label-Separators">Appendix B On Label Separators</a>
-<ul>
-<li><a href="#On-Label-Separators">B.1 Recommended Workaround</a>
-</li></ul>
-<li><a name="toc_Copying-Information" href="#Copying-Information">Appendix C Copying Information</a>
-<ul>
-<li><a href="#GNU-Free-Documentation-License">C.1 GNU Free Documentation License</a>
-</li></ul>
-<li><a name="toc_Function-and-Variable-Index" href="#Function-and-Variable-Index">Function and Variable Index</a>
-<li><a name="toc_Concept-Index" href="#Concept-Index">Concept Index</a>
-</li></ul>
-</div>
-
-
-
-<div class="node">
-<a name="Top"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
-
-</div>
-
-<h2 class="unnumbered">GNU Libidn</h2>
-
-<p>This manual is last updated 27 April 2012 for version
-1.25 of GNU Libidn.
-
-   <p>Copyright &copy; 2002-2012 Simon Josefsson.
-
-   <blockquote>
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
-copy of the license is included in the section entitled &ldquo;GNU Free
-Documentation License&rdquo;. 
-</blockquote>
-
-<ul class="menu">
-<li><a accesskey="1" href="#Introduction">Introduction</a>:            How to use this manual. 
-<li><a accesskey="2" href="#Preparation">Preparation</a>:                      What you should do before using the library. 
-<li><a accesskey="3" href="#Utility-Functions">Utility Functions</a>:          Unicode transformation utility functions. 
-<li><a accesskey="4" href="#Stringprep-Functions">Stringprep Functions</a>:    Stringprep functions. 
-<li><a accesskey="5" href="#Punycode-Functions">Punycode Functions</a>:                Punycode functions. 
-<li><a accesskey="6" href="#IDNA-Functions">IDNA Functions</a>:                IDNA functions. 
-<li><a accesskey="7" href="#TLD-Functions">TLD Functions</a>:          TLD functions. 
-<li><a accesskey="8" href="#PR29-Functions">PR29 Functions</a>:                Detect strings non-idempotent under NFKC. 
-<li><a accesskey="9" href="#Examples">Examples</a>:                     Demonstrate how to use the library. 
-<li><a href="#Invoking-idn">Invoking idn</a>:          Command line interface to the library. 
-<li><a href="#Emacs-API">Emacs API</a>:                    Emacs Lisp API for Libidn. 
-<li><a href="#Java-API">Java API</a>:                     Notes on the Java port of Libidn. 
-<li><a href="#C_0023-API">C# API</a>:                       Notes on the C# port of Libidn. 
-<li><a href="#Acknowledgements">Acknowledgements</a>:             Whom to blame. 
-<li><a href="#History">History</a>:                      Rough outline of development history.
-
-</li></ul>
-<p>Appendices
-
-</p>
-<ul class="menu">
-<li><a href="#PR29-discussion">PR29 discussion</a>:              Implementation aspects of the PR29 flaw. 
-<li><a href="#On-Label-Separators">On Label Separators</a>:          Discussions of a flaw in the IDNA spec. 
-<li><a href="#Copying-Information">Copying Information</a>:            License texts.
-
-</li></ul>
-<p>Indices
-
-</p>
-<ul class="menu">
-<li><a href="#Function-and-Variable-Index">Function and Variable Index</a>
-<li><a href="#Concept-Index">Concept Index</a>
-
-   </ul>
-
-<div class="node">
-<a name="Introduction"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Preparation">Preparation</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">1 Introduction</h2>
-
-<p>GNU Libidn is a fully documented implementation of the Stringprep,
-Punycode and IDNA specifications.  Libidn's purpose is to encode and
-decode internationalized domain name strings.  There are native C, C#
-and Java libraries.
-
-   <p>The C library contains a generic Stringprep implementation.  Profiles
-for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included. 
-Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported. 
-A mechanism to define Top-Level Domain (TLD) specific validation
-tables, and to compare strings against those tables, is included. 
-Default tables for some TLDs are also included.
-
-   <p>The Stringprep API consists of two main functions, one for converting
-data from the system's native representation into UTF-8, and one
-function to perform the Stringprep processing.  Adding a new
-Stringprep profile for your application within the API is
-straightforward.  The Punycode API consists of one encoding function
-and one decoding function.  The IDNA API consists of the ToASCII and
-ToUnicode functions, as well as an high-level interface for converting
-entire domain names to and from the ACE encoded form.  The TLD API
-consists of one set of functions to extract the TLD name from a domain
-string, one set of functions to locate the proper TLD table to use
-based on the TLD name, and core functions to validate a string against
-a TLD table, and some utility wrappers to perform all the steps in one
-call.
-
-   <p>The library is used by, e.g., GNU SASL and Shishi to process user
-names and passwords.  Libidn can be built into GNU Libc to enable a
-new system-wide getaddrinfo flag for IDN processing.
-
-   <p>Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
-platforms (including Solaris, IRIX, AIX, and Tru64) and Windows.  The
-library is written in C and (parts of) the API is also accessible from
-C++, Emacs Lisp, Python and Java.  A native Java and C# port is
-included.
-
-   <p>Also included is a command line tool, several self tests, code
-examples, and more.
-
-<ul class="menu">
-<li><a accesskey="1" href="#Getting-Started">Getting Started</a>
-<li><a accesskey="2" href="#Features">Features</a>
-<li><a accesskey="3" href="#Library-Overview">Library Overview</a>
-<li><a accesskey="4" href="#Supported-Platforms">Supported Platforms</a>
-<li><a accesskey="5" href="#Getting-help">Getting help</a>
-<li><a accesskey="6" href="#Commercial-Support">Commercial Support</a>
-<li><a accesskey="7" href="#Downloading-and-Installing">Downloading and Installing</a>
-<li><a accesskey="8" href="#Bug-Reports">Bug Reports</a>
-<li><a accesskey="9" href="#Contributing">Contributing</a>
-</ul>
-
-<div class="node">
-<a name="Getting-Started"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Features">Features</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.1 Getting Started</h3>
-
-<p>This manual documents the library programming interface.  All
-functions and data types provided by the library are explained. 
-Included are also examples, and documentation for the command line
-tool <samp><span class="file">idn</span></samp> that provide a quick interface to the library.  The
-Emacs Lisp bindings for the library is also discussed.
-
-   <p>The reader is assumed to possess basic familiarity with
-internationalization concepts and network programming in C or C++.
-
-   <p>This manual can be used in several ways.  If read from the beginning
-to the end, it gives a good introduction into the library and how it
-can be used in an application.  Forward references are included where
-necessary.  Later on, the manual can be used as a reference manual to
-get just the information needed about any particular interface of the
-library.  Experienced programmers might want to start looking at the
-examples at the end of the manual (see <a href="#Examples">Examples</a>), and then only
-read up those parts of the interface which are unclear.
-
-<div class="node">
-<a name="Features"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Library-Overview">Library Overview</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Getting-Started">Getting Started</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.2 Features</h3>
-
-<p>This library might have a couple of advantages over other libraries
-doing a similar job.
-
-     <dl>
-<dt>It's Free Software<dd>Anybody can use, modify, and redistribute it under the terms of a free
-software license.
-
-     <br><dt>It's thread-safe<dd>No global state is kept in the library.  All functions are re-entrant.
-
-     <br><dt>It's portable<dd>The code is intended to be written in pure ANSI C89.  It has been
-tested on many Unix like operating systems, and Windows.
-
-     <br><dt>It's modularized<dd>The library is composed of several modules, and the only interaction
-between modules is through each modules' public API.  If you only need
-one piece of functionality, it is possible to take the files you need
-and incorporate them into your own project.
-
-     <br><dt>It's not bloated<dd>The design of the library is based on the smallest API necessary to
-implement the basic functionality.  It has been carefully extended
-with a small number of high-level wrappers to make it comfortable to
-use the library.  However, it does not implement additional
-functionality just for the sake of completeness.
-
-     <br><dt>It's documented<dd>Sadly, not all software comes with documentation these days.  This one
-does.
-
-   </dl>
-
-<div class="node">
-<a name="Library-Overview"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Supported-Platforms">Supported Platforms</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Features">Features</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.3 Library Overview</h3>
-
-<p>The following illustration show the components that make up Libidn,
-and how your application relates to the library.  In the illustration,
-various components are shown as boxes.  You see the generic StringPrep
-component, the various StringPrep profiles including Nameprep, the
-Punycode component, the IDNA component, and the TLD component.  The
-arrows indicate aggregation, e.g., IDNA uses Punycode and Nameprep,
-and in turn Nameprep uses the generic StringPrep interface.  The
-interfaces to all components are available for applications, no
-component within the library is hidden from the application.
-
-   <div class="block-image"><img src="libidn-components.png" alt="libidn-components.png"></div>
-
-<div class="node">
-<a name="Supported-Platforms"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Getting-help">Getting help</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Library-Overview">Library Overview</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.4 Supported Platforms</h3>
-
-<p>Libidn has at some point in time been tested on the following
-platforms.  Build reports for each platforms and Libidn version is
-available at <a href="http://autobuild.josefsson.org/libidn/">http://autobuild.josefsson.org/libidn/</a>.
-
-     <ol type=1 start=1>
-
-     <li>Debian GNU/Linux 3.0 (Woody)
-<a name="index-Debian-1"></a>
-GCC 2.95.4 and GNU Make. This is the main development platform. 
-<code>alphaev67-unknown-linux-gnu</code>, <code>alphaev6-unknown-linux-gnu</code>,
-<code>arm-unknown-linux-gnu</code>, <code>armv4l-unknown-linux-gnu</code>,
-<code>hppa-unknown-linux-gnu</code>, <code>hppa64-unknown-linux-gnu</code>,
-<code>i686-pc-linux-gnu</code>, <code>ia64-unknown-linux-gnu</code>,
-<code>m68k-unknown-linux-gnu</code>, <code>mips-unknown-linux-gnu</code>,
-<code>mipsel-unknown-linux-gnu</code>, <code>powerpc-unknown-linux-gnu</code>,
-<code>s390-ibm-linux-gnu</code>, <code>sparc-unknown-linux-gnu</code>,
-<code>sparc64-unknown-linux-gnu</code>.
-
-     <li>Debian GNU/Linux 2.1
-<a name="index-Debian-2"></a>
-GCC 2.95.1 and GNU Make. <code>armv4l-unknown-linux-gnu</code>.
-
-     <li>Tru64 UNIX
-<a name="index-Tru64-3"></a>
-Tru64 UNIX C compiler and Tru64 Make. <code>alphaev67-dec-osf5.1</code>,
-<code>alphaev68-dec-osf5.1</code>.
-
-     <li>SuSE Linux 7.1
-<a name="index-SuSE-4"></a>
-GCC 2.96 and GNU Make. <code>alphaev6-unknown-linux-gnu</code>,
-<code>alphaev67-unknown-linux-gnu</code>.
-
-     <li>SuSE Linux 7.2a
-<a name="index-SuSE-Linux-5"></a>
-GCC 3.0 and GNU Make. <code>ia64-unknown-linux-gnu</code>.
-
-     <li>SuSE Linux
-<a name="index-SuSE-Linux-6"></a>
-GCC 3.2.2 and GNU Make.  <code>x86_64-unknown-linux-gnu</code> (AMD64
-Opteron &ldquo;Melody&rdquo;).
-
-     <li>SuSE Enterprise Server 9 on IBM OpenPower 720
-<a name="index-SuSE-Linux-7"></a><a name="index-OpenPower-720-8"></a>
-GCC 3.3.3 and GNU Make.  <code>powerpc64-unknown-linux-gnu</code>.
-
-     <li>RedHat Linux 7.2
-<a name="index-RedHat-9"></a>
-GCC 2.96 and GNU Make. <code>alphaev6-unknown-linux-gnu</code>,
-<code>alphaev67-unknown-linux-gnu</code>, <code>ia64-unknown-linux-gnu</code>.
-
-     <li>RedHat Linux 8.0
-<a name="index-RedHat-10"></a>
-GCC 3.2 and GNU Make. <code>i686-pc-linux-gnu</code>.
-
-     <li>RedHat Advanced Server 2.1
-<a name="index-RedHat-Advanced-Server-11"></a>
-GCC 2.96 and GNU Make. <code>i686-pc-linux-gnu</code>.
-
-     <li>Slackware Linux 8.0.01
-<a name="index-RedHat-12"></a>
-GCC 2.95.3 and GNU Make. <code>i686-pc-linux-gnu</code>.
-
-     <li>Mandrake Linux 9.0
-<a name="index-Mandrake-13"></a>
-GCC 3.2 and GNU Make. <code>i686-pc-linux-gnu</code>.
-
-     <li>IRIX 6.5
-<a name="index-IRIX-14"></a>
-MIPS C compiler, IRIX Make. <code>mips-sgi-irix6.5</code>.
-
-     <li>AIX 4.3.2
-<a name="index-AIX-15"></a>
-IBM C for AIX compiler, AIX Make.  <code>rs6000-ibm-aix4.3.2.0</code>.
-
-     <li>Microsoft Windows 2000 (Cygwin)
-<a name="index-Windows-16"></a>
-GCC 3.2, GNU make. <code>i686-pc-cygwin</code>.
-
-     <li>HP-UX 11
-<a name="index-HP_002dUX-17"></a>
-HP-UX C compiler and HP Make. <code>ia64-hp-hpux11.22</code>,
-<code>hppa2.0w-hp-hpux11.11</code>.
-
-     <li>SUN Solaris 2.7
-<a name="index-Solaris-18"></a>
-GCC 3.0.4 and GNU Make. <code>sparc-sun-solaris2.7</code>.
-
-     <li>SUN Solaris 2.8
-<a name="index-Solaris-19"></a>
-Sun WorkShop Compiler C 6.0 and SUN Make. <code>sparc-sun-solaris2.8</code>.
-
-     <li>SUN Solaris 2.9
-<a name="index-Solaris-20"></a>
-Sun Forte Developer 7 C compiler and GNU
-Make. <code>sparc-sun-solaris2.9</code>.
-
-     <li>NetBSD 1.6
-<a name="index-NetBSD-21"></a>
-GCC 2.95.3 and GNU Make. <code>alpha-unknown-netbsd1.6</code>,
-<code>i386-unknown-netbsdelf1.6</code>.
-
-     <li>OpenBSD 3.1 and 3.2
-<a name="index-OpenBSD-22"></a>
-GCC 2.95.3 and GNU Make. <code>alpha-unknown-openbsd3.1</code>,
-<code>i386-unknown-openbsd3.1</code>.
-
-     <li>FreeBSD 4.7 and 4.8
-<a name="index-FreeBSD-23"></a>
-GCC 2.95.4 and GNU Make. <code>alpha-unknown-freebsd4.7</code>,
-<code>alpha-unknown-freebsd4.8</code>, <code>i386-unknown-freebsd4.7</code>,
-<code>i386-unknown-freebsd4.8</code>.
-
-     <li>MacOS X 10.2 Server Edition
-<a name="index-MacOS-X-24"></a>
-GCC 3.1 and GNU Make. <code>powerpc-apple-darwin6.5</code>.
-
-     <li>MacOS X 10.4 &ldquo;Tiger&rdquo; with Xcode 2.0
-<a name="index-MacOS-X-25"></a>
-GCC 4.0 and GNU Make. <code>powerpc-apple-darwin8.0</code>.
-
-     <li>Cross compiled to uClinux/uClibc on Motorola Coldfire
-<a name="index-Motorola-Coldfire-26"></a><a name="index-uClinux-27"></a><a name="index-uClibc-28"></a>
-GCC 3.4 and GNU Make <code>m68k-uclinux-elf</code>.
-
-     <li>Cross compiled to ARM using Glibc
-<a name="index-ARM-29"></a>
-GCC 2.95 and GNU Make <code>arm-linux</code>.
-
-     <li>Cross compiled to Mingw32. 
-<a name="index-Windows-30"></a><a name="index-Microsoft-31"></a><a name="index-mingw32-32"></a>
-GCC 3.4.4 and GNU Make <code>i586-mingw32msvc</code>.
-
-     <li>OS/2
-<a name="index-OS_002f2-33"></a><a name="index-IBM-34"></a>
-GCC.
-
-        </ol>
-
-   <p>If you use Libidn on, or port Libidn to, a new platform please report
-it to the author.
-
-<div class="node">
-<a name="Getting-help"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Commercial-Support">Commercial Support</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Supported-Platforms">Supported Platforms</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.5 Getting help</h3>
-
-<p>A mailing list where users of Libidn may help each other exists, and
-you can reach it by sending e-mail to <a href="mailto:help-libidn@gnu.org">help-libidn@gnu.org</a>. 
-Archives of the mailing list discussions, and an interface to manage
-subscriptions, is available through the World Wide Web at
-<a href="http://lists.gnu.org/mailman/listinfo/help-libidn">http://lists.gnu.org/mailman/listinfo/help-libidn</a>.
-
-<div class="node">
-<a name="Commercial-Support"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Downloading-and-Installing">Downloading and Installing</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Getting-help">Getting help</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.6 Commercial Support</h3>
-
-<p>Commercial support is available for users of GNU Libidn.  The kind of
-support that can be purchased may include:
-
-     <ul>
-<li>Implement new features. 
-Such as country code specific profiling to support a restricted subset
-of Unicode.
-
-     <li>Port Libidn to new platforms. 
-This could include porting Libidn to an embedded platforms that may
-need memory or size optimization.
-
-     <li>Integrating IDN support in your existing project.
-
-     <li>System design of components related to IDN.
-
-   </ul>
-
-   <p>If you are interested, please write to:
-
-<pre class="verbatim">Simon Josefsson Datakonsult AB
-Hagagatan 24
-113 47 Stockholm
-Sweden
-
-E-mail: simon@josefsson.org
-</pre>
-
-   <p>If your company provides support related to GNU Libidn and would like
-to be mentioned here, contact the author (see <a href="#Bug-Reports">Bug Reports</a>).
-
-<div class="node">
-<a name="Downloading-and-Installing"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Bug-Reports">Bug Reports</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Commercial-Support">Commercial Support</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.7 Downloading and Installing</h3>
-
-<p><a name="index-Installation-35"></a><a name="index-Download-36"></a>
-The package can be downloaded from several places, including:
-
-   <p><a href="ftp://alpha.gnu.org/pub/gnu/libidn/">ftp://alpha.gnu.org/pub/gnu/libidn/</a>
-
-   <p>The latest version is stored in a file, e.g.,
-&lsquo;<samp><span class="samp">libidn-1.25.tar.gz</span></samp>&rsquo; where the &lsquo;<samp><span class="samp">1.25</span></samp>&rsquo;
-value is the highest version number in the directory.
-
-   <p>The package is then extracted, configured and built like many other
-packages that use Autoconf.  For detailed information on configuring
-and building it, refer to the <samp><span class="file">INSTALL</span></samp> file that is part of the
-distribution archive.
-
-   <p>Here is an example terminal session that download, configure, build
-and install the package.  You will need a few basic tools, such as
-&lsquo;<samp><span class="samp">sh</span></samp>&rsquo;, &lsquo;<samp><span class="samp">make</span></samp>&rsquo; and &lsquo;<samp><span class="samp">cc</span></samp>&rsquo;.
-
-<pre class="example">     $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.25.tar.gz
-     $ tar xfz libidn-1.25.tar.gz
-     $ cd libidn-1.25/
-     $ ./configure
-     ...
-     $ make
-     ...
-     $ make install
-     ...
-</pre>
-   <p>After that Libidn should be properly installed and ready for use.
-
-   <p>A few <code>configure</code> options may be relevant, summarized in the
-table.
-
-     <dl>
-<dt><code>--enable-java</code><dd>Build the Java port into a *.JAR file.  See <a href="#Java-API">Java API</a>, for more
-information.
-
-     <br><dt><code>--disable-tld</code><dd>Disable the TLD module.  This would typically only be useful if you
-are building on a memory restricted platforms.  See <a href="#TLD-Functions">TLD Functions</a>,
-for more information.
-
-     <br><dt><code>--enable-csharp[=IMPL]</code><dd>Build the <code>C#</code> port into a <code>*.DLL</code> file.  See <a href="#C_0023-API">C# API</a>, for
-more information.  Here, <code>IMPL</code> is <code>pnet</code> or <code>mono</code>,
-indicating whether the PNET <samp><span class="command">cscc</span></samp> compiler or the Mono
-<samp><span class="command">mcs</span></samp> compiler should be used, respectively.
-
-     <br><dt><code>--disable-valgrind-tests</code><dd>Disable running the self-checks under Valgrind
-(<a href="http://valgrind.org/">http://valgrind.org/</a>).  Normally Valgrind does not cause
-problems and can detect some severe memory errors.  If you are getting
-errors from Valgrind that are caused by the compiler or libc (possibly
-as a result of special optimization flags), you may use this option to
-disable the use of Valgrind.
-
-   </dl>
-
-   <p>For the complete list, refer to the output from <code>configure
---help</code>.
-
-<ul class="menu">
-<li><a accesskey="1" href="#Installing-under-Windows">Installing under Windows</a>:     Windows specific build instructions. 
-</ul>
-
-<div class="node">
-<a name="Installing-under-Windows"></a>
-<p><hr>
-Up:&nbsp;<a rel="up" accesskey="u" href="#Downloading-and-Installing">Downloading and Installing</a>
-
-</div>
-
-<h4 class="subsection">1.7.1 Installing under Windows</h4>
-
-<p>There are two ways to build Libidn on Windows: via MinGW or via Visual
-Studio.
-
-   <p>With MinGW, you can build a Libidn DLL and use it from other
-applications.  After installing MinGW (<a href="http://mingw.org/">http://mingw.org/</a>) follow
-the generic installation instructions (see <a href="#Downloading-and-Installing">Downloading and Installing</a>).  The DLL is installed by default.
-
-   <p>For information on how to use the DLL in other applications, see:
-<a href="http://www.mingw.org/mingwfaq.shtml#faq-msvcdll">http://www.mingw.org/mingwfaq.shtml#faq-msvcdll</a>.
-
-   <p>You can build Libidn as a native Visual Studio C++ project.  This
-allows you to build the code for other platforms that VS supports,
-such as Windows Mobile.  You need Visual Studio 2005 or later.
-
-   <p>First download and unpack the archive as described in the generic
-installation instructions (see <a href="#Downloading-and-Installing">Downloading and Installing</a>).  Don't
-run <code>./configure</code>.  Instead, start Visual Studio and open the
-project file <samp><span class="file">win32/libidn.sln</span></samp> inside the Libidn directory.  You
-should be able to build the project using Build Project.
-
-   <p>Output libraries will be written into the <code>win32/lib</code> (or
-<code>win32/lib/debug</code> for Debug versions) folder.
-
-   <p>When working with Windows you may want to look into the special memory
-handling functions that may be needed (see <a href="#Memory-handling-under-Windows">Memory handling under Windows</a>).
-
-<div class="node">
-<a name="Bug-Reports"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Contributing">Contributing</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Downloading-and-Installing">Downloading and Installing</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.8 Bug Reports</h3>
-
-<p><a name="index-Reporting-Bugs-37"></a>
-If you think you have found a bug in Libidn, please investigate it and
-report it.
-
-     <ul>
-<li>Please make sure that the bug is really in Libidn, and
-preferably also check that it hasn't already been fixed in the latest
-version.
-
-     <li>You have to send us a test case that makes it possible for us to
-reproduce the bug.
-
-     <li>You also have to explain what is wrong; if you get a crash, or
-if the results printed are not good and in that case, in what way. 
-Make sure that the bug report includes all information you would need
-to fix this kind of bug for someone else.
-
-   </ul>
-
-   <p>Please make an effort to produce a self-contained report, with
-something definite that can be tested or debugged.  Vague queries or
-piecemeal messages are difficult to act on and don't help the
-development effort.
-
-   <p>If your bug report is good, we will do our best to help you to get a
-corrected version of the software; if the bug report is poor, we won't
-do anything about it (apart from asking you to send better bug
-reports).
-
-   <p>If you think something in this manual is unclear, or downright
-incorrect, or if the language needs to be improved, please also send a
-note.
-
-   <p>Send your bug report to:
-
-<div align="center">&lsquo;<samp><span class="samp">bug-libidn@gnu.org</span></samp>&rsquo;</div>
-
-<div class="node">
-<a name="Contributing"></a>
-<p><hr>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Bug-Reports">Bug Reports</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Introduction">Introduction</a>
-
-</div>
-
-<h3 class="section">1.9 Contributing</h3>
-
-<p><a name="index-Contributing-38"></a><a name="index-Hacking-39"></a>
-If you want to submit a patch for inclusion &ndash; from solve a typo you
-discovered, up to adding support for a new feature &ndash; you should
-submit it as a bug report (see <a href="#Bug-Reports">Bug Reports</a>).  There are some
-things that you can do to increase the chances for it to be included
-in the official package.
-
-   <p>Unless your patch is very small (say, under 10 lines) we require that
-you assign the copyright of your work to the Free Software Foundation. 
-This is to protect the freedom of the project.  If you have not
-already signed papers, we will send you the necessary information when
-you submit your contribution.
-
-   <p>For contributions that doesn't consist of actual programming code, the
-only guidelines are common sense.  Use it.
-
-   <p>For code contributions, a number of style guides will help you:
-
-     <ul>
-<li>Coding Style. 
-Follow the GNU Standards document (see <a href="standards.html#Top">GNU Coding Standards</a>).
-
-     <p>If you normally code using another coding standard, there is no
-problem, but you should use &lsquo;<samp><span class="samp">indent</span></samp>&rsquo; to reformat the code
-(see <a href="indent.html#Top">GNU Indent</a>) before submitting your work.
-
-     <li>Use the unified diff format &lsquo;<samp><span class="samp">diff -u</span></samp>&rsquo;.
-
-     <li>Return errors. 
-No reason whatsoever should abort the execution of the library.  Even
-memory allocation errors, e.g. when malloc return NULL, should work
-although result in an error code.
-
-     <li>Design with thread safety in mind. 
-Don't use global variables and the like.
-
-     <li>Avoid using the C math library. 
-It causes problems for embedded implementations, and in most
-situations it is very easy to avoid using it.
-
-     <li>Document your functions. 
-Use comments before each function headers, that, if properly
-formatted, are extracted into GTK-DOC web pages.  Don't forget to
-update the Texinfo manual as well.
-
-     <li>Supply a ChangeLog and NEWS entries, where appropriate.
-
-   </ul>
-
-<!-- ********************************************************** -->
-<!-- *******************  Preparation  ************************ -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Preparation"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Utility-Functions">Utility Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Introduction">Introduction</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">2 Preparation</h2>
-
-<p>To use `Libidn', you have to perform some changes to your sources and
-the build system.  The necessary changes are small and explained in
-the following sections.  At the end of this chapter, it is described
-how the library is initialized, and how the requirements of the
-library are verified.
-
-   <p>A faster way to find out how to adapt your application for use with
-`Libidn' may be to look at the examples at the end of this manual
-(see <a href="#Examples">Examples</a>).
-
-<ul class="menu">
-<li><a accesskey="1" href="#Header">Header</a>
-<li><a accesskey="2" href="#Initialization">Initialization</a>
-<li><a accesskey="3" href="#Version-Check">Version Check</a>
-<li><a accesskey="4" href="#Building-the-source">Building the source</a>
-<li><a accesskey="5" href="#Autoconf-tests">Autoconf tests</a>
-<li><a accesskey="6" href="#Memory-handling-under-Windows">Memory handling under Windows</a>
-</ul>
-
-<div class="node">
-<a name="Header"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Initialization">Initialization</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.1 Header</h3>
-
-<p>The library contains a few independent parts, and each part export the
-interfaces (data types and functions) in a header file.  You must
-include the appropriate header files in all programs using the
-library, either directly or through some other header file, like this:
-
-<pre class="example">     #include &lt;stringprep.h&gt;
-</pre>
-   <p>The header files and the functions they define are categorized as
-follows:
-
-     <dl>
-<dt>stringprep.h<dd>
-The low-level stringprep API entry point.  For IDN applications, this
-is usually invoked via IDNA. Some applications, specifically non-IDN
-ones, may want to prepare strings directly though, and should include
-this header file.
-
-     <p>The name space of the stringprep part of Libidn is <code>stringprep*</code>
-for function names, <code>Stringprep*</code> for data types and
-<code>STRINGPREP_*</code> for other symbols.  In addition,
-<code>_stringprep*</code> is reserved for internal use and should never be
-used by applications.
-
-     <br><dt>punycode.h<dd>
-The entry point to Punycode encoding and decoding functions.  Normally
-punycode is used via the idna.h interface, but some application may
-want to perform raw punycode operations.
-
-     <p>The name space of the punycode part of Libidn is <code>punycode_*</code> for
-function names, <code>Punycode*</code> for data types and <code>PUNYCODE_*</code>
-for other symbols.  In addition, <code>_punycode*</code> is reserved for
-internal use and should never be used by applications. 
-<br><dt>idna.h<dd>
-The entry point to the IDNA functions.  This is the normal entry point
-for applications that need IDN functionality.
-
-     <p>The name space of the IDNA part of Libidn is <code>idna_*</code> for
-function names, <code>Idna*</code> for data types and <code>IDNA_*</code> for
-other symbols.  In addition, <code>_idna*</code> is reserved for internal
-use and should never be used by applications.
-
-     <br><dt>tld.h<dd>
-The entry point to the TLD functions.  Normal applications are not
-expected to need this functionality, but it is present for
-applications that are used by TLDs to validate customer input.
-
-     <p>The name space of the TLD part of Libidn is <code>tld_*</code> for function
-names, <code>Tld_*</code> for data types and <code>TLD_*</code> for other symbols. 
-In addition, <code>_tld*</code> is reserved for internal use and should
-never be used by applications.
-
-     <br><dt>pr29.h<dd>
-The entry point to the PR29 functions.  These functions are used to
-detect &ldquo;problem sequences&rdquo; (see <a href="#PR29-Functions">PR29 Functions</a>), mostly for use
-in security critical applications.
-
-     <p>The name space of the PR29 part of Libidn is <code>pr29_*</code> for
-function names, <code>Pr29_*</code> for data types and <code>PR29_*</code> for
-other symbols.  In addition, <code>_pr29*</code> is reserved for internal
-use and should never be used by applications.
-
-     <br><dt>idn-free.h<dd>
-The entry point to the Windows memory de-allocation function
-(see <a href="#Memory-handling-under-Windows">Memory handling under Windows</a>).  It contains only one
-function <code>idn_free</code>.
-
-   </dl>
-
-   <p>All header files defined and use the symbol <code>IDNAPI</code> to decorate
-the API functions.
-
-<div class="node">
-<a name="Initialization"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Version-Check">Version Check</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Header">Header</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.2 Initialization</h3>
-
-<p>Libidn is stateless and does not need any initialization.
-
-<div class="node">
-<a name="Version-Check"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Building-the-source">Building the source</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Initialization">Initialization</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.3 Version Check</h3>
-
-<p>It is often desirable to check that the version of `Libidn' used is
-indeed one which fits all requirements.  Even with binary
-compatibility new features may have been introduced but due to problem
-with the dynamic linker an old version is actually used.  So you may
-want to check that the version is okay right after program startup.
-
-<h4 class="subheading">stringprep_check_version</h4>
-
-<p><a name="stringprep_005fcheck_005fversion"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>stringprep_check_version</b> (<var>const char * req_version</var>)<var><a name="index-stringprep_005fcheck_005fversion-40"></a></var><br>
-<blockquote><p><var>req_version</var>: Required version number, or NULL.
-
-        <p>Check that the version of the library is at minimum the requested one
-and return the version string; return NULL if the condition is not
-satisfied.  If a NULL is passed to this function, no check is done,
-but the version string is simply returned.
-
-        <p>See <code>STRINGPREP_VERSION</code> for a suitable <code>req_version</code> string.
-
-        <p><strong>Return value:</strong> Version string of run-time library, or NULL if the
-run-time library does not meet the required version number. 
-</p></blockquote></div>
-
-   <p>The normal way to use the function is to put something similar to the
-following first in your <code>main</code>:
-
-<pre class="example">       if (!stringprep_check_version (STRINGPREP_VERSION))
-         {
-           printf ("stringprep_check_version() failed:\n"
-                   "Header file incompatible with shared library.\n");
-           exit(EXIT_FAILURE);
-         }
-</pre>
-   <div class="node">
-<a name="Building-the-source"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Autoconf-tests">Autoconf tests</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Version-Check">Version Check</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.4 Building the source</h3>
-
-<p><a name="index-Compiling-your-application-41"></a>
-If you want to compile a source file including e.g. the `idna.h' header
-file, you must make sure that the compiler can find it in the
-directory hierarchy.  This is accomplished by adding the path to the
-directory in which the header file is located to the compilers include
-file search path (via the <samp><span class="option">-I</span></samp> option).
-
-   <p>However, the path to the include file is determined at the time the
-source is configured.  To solve this problem, `Libidn' uses the
-external package <samp><span class="command">pkg-config</span></samp> that knows the path to the
-include file and other configuration options.  The options that need
-to be added to the compiler invocation at compile time are output by
-the <samp><span class="option">--cflags</span></samp> option to <samp><span class="command">pkg-config libidn</span></samp>.  The
-following example shows how it can be used at the command line:
-
-<pre class="example">     gcc -c foo.c `pkg-config libidn --cflags`
-</pre>
-   <p>Adding the output of &lsquo;<samp><span class="samp">pkg-config libidn --cflags</span></samp>&rsquo; to the
-compilers command line will ensure that the compiler can find e.g. the
-idna.h header file.
-
-   <p>A similar problem occurs when linking the program with the library. 
-Again, the compiler has to find the library files.  For this to work,
-the path to the library files has to be added to the library search
-path (via the <samp><span class="option">-L</span></samp> option).  For this, the option
-<samp><span class="option">--libs</span></samp> to <samp><span class="command">pkg-config libidn</span></samp> can be used.  For
-convenience, this option also outputs all other options that are
-required to link the program with the `libidn' library.  The example
-shows how to link <samp><span class="file">foo.o</span></samp> with the `libidn' library to a program
-<samp><span class="command">foo</span></samp>.
-
-<pre class="example">     gcc -o foo foo.o `pkg-config libidn --libs`
-</pre>
-   <p>Of course you can also combine both examples to a single command by
-specifying both options to <samp><span class="command">pkg-config</span></samp>:
-
-<pre class="example">     gcc -o foo foo.c `pkg-config libidn --cflags --libs`
-</pre>
-   <div class="node">
-<a name="Autoconf-tests"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Memory-handling-under-Windows">Memory handling under Windows</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Building-the-source">Building the source</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.5 Autoconf tests</h3>
-
-<p><a name="index-Autoconf-tests-42"></a><a name="index-Configure-tests-43"></a>
-If your project uses Autoconf (see <a href="autoconf.html#Top">GNU Autoconf</a>)
-to check for installed libraries, you might find the following snippet
-illustrative.  It add a new <samp><span class="file">configure</span></samp> parameter
-<code>--with-libidn</code>, and check for <samp><span class="file">idna.h</span></samp> and &lsquo;<samp><span class="samp">-lidn</span></samp>&rsquo;
-(possibly below the directory specified as the optional argument to
-<code>--with-libidn</code>), and define the CPP symbol <code>LIBIDN</code> if the
-library is found.  The default behaviour is to search for the library
-and enable the functionality (that is, define the symbol) when the
-library is found, but if you wish to make the default behaviour of
-your package be that Libidn is not used (even if it is installed on
-the system), change &lsquo;<samp><span class="samp">libidn=yes</span></samp>&rsquo; to &lsquo;<samp><span class="samp">libidn=no</span></samp>&rsquo; on the third
-line.
-
-<pre class="example">     AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
-                                     [Support IDN (needs GNU Libidn)]),
-       libidn=$withval, libidn=yes)
-     if test "$libidn" != "no"; then
-       if test "$libidn" != "yes"; then
-         LDFLAGS="${LDFLAGS} -L$libidn/lib"
-         CPPFLAGS="${CPPFLAGS} -I$libidn/include"
-       fi
-       AC_CHECK_HEADER(idna.h,
-         AC_CHECK_LIB(idn, stringprep_check_version,
-           [libidn=yes LIBS="${LIBS} -lidn"], libidn=no),
-         libidn=no)
-     fi
-     if test "$libidn" != "no" ; then
-       AC_DEFINE(LIBIDN, 1, [Define to 1 if you want IDN support.])
-     else
-       AC_MSG_WARN([Libidn not found])
-     fi
-     AC_MSG_CHECKING([if Libidn should be used])
-     AC_MSG_RESULT($libidn)
-</pre>
-   <p>If you require that your users have installed <code>pkg-config</code> (which
-I cannot recommend generally), the above can be done more easily as
-follows.
-
-<pre class="example">     AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
-                                     [Support IDN (needs GNU Libidn)]),
-       libidn=$withval, libidn=yes)
-     if test "$libidn" != "no" ; then
-       PKG_CHECK_MODULES(LIBIDN, libidn &gt;= 0.0.0, [libidn=yes], [libidn=no])
-       if test "$libidn" != "yes" ; then
-         libidn=no
-         AC_MSG_WARN([Libidn not found])
-       else
-         libidn=yes
-         AC_DEFINE(LIBIDN, 1, [Define to 1 if you want Libidn.])
-       fi
-     fi
-     AC_MSG_CHECKING([if Libidn should be used])
-     AC_MSG_RESULT($libidn)
-</pre>
-   <div class="node">
-<a name="Memory-handling-under-Windows"></a>
-<p><hr>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Autoconf-tests">Autoconf tests</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Preparation">Preparation</a>
-
-</div>
-
-<h3 class="section">2.6 Memory handling under Windows</h3>
-
-<p><a name="index-free-44"></a><a name="index-Memory-handling-45"></a><a name="index-de_002dallocation-46"></a><a name="index-heap-memory-47"></a>
-Several functions in the library allocates memory.  The memory is
-expected to be de-allocated using the <code>free</code> function.  Under
-Windows, it is sometimes necessary to de-allocate memory in the same
-module that allocated a memory region.  The reason is that different
-modules use separate heap memory regions.  To solve this problem we
-provide a function to de-allocate memory inside the library.
-
-   <p>Note that we do not recommend using this interface generally if you do
-not care about Windows portability.
-
-<h3 class="section">2.7 Header file <code>idn-free.h</code></h3>
-
-<p>To use the function explained in this chapter, you need to include the
-file <samp><span class="file">idn-free.h</span></samp> using:
-
-<pre class="example">     #include &lt;idn-free.h&gt;
-</pre>
-   <h3 class="section">2.8 Memory de-allocation function</h3>
-
-<h4 class="subheading">idn_free</h4>
-
-<p><a name="idn_005ffree"></a>
-
-<div class="defun">
-&mdash; Function: void <b>idn_free</b> (<var>void * ptr</var>)<var><a name="index-idn_005ffree-48"></a></var><br>
-<blockquote><p><var>ptr</var>: memory region to deallocate, or <code>NULL</code>.
-
-        <p>Deallocates memory region by calling <code>free()</code>.  If <code>ptr</code> is <code>NULL</code> no
-operation is performed.
-
-        <p>Normally applications de-allocate strings allocated by libidn by
-calling <code>free()</code> directly.  Under Windows, different parts of the
-same application may use different heap memory, and then it is
-important to deallocate memory allocated within the same module
-that allocated it.  This function makes that possible. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ********************  Utility Functions ****************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Utility-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Stringprep-Functions">Stringprep Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Preparation">Preparation</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">3 Utility Functions</h2>
-
-<p><a name="index-Utility-Functions-49"></a>
-The rest of this library makes extensive use of Unicode characters. 
-In order to interface this library with the outside world, your
-application may need to make various Unicode transformations.
-
-<h3 class="section">3.1 Header file <code>stringprep.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">stringprep.h</span></samp> using:
-
-<pre class="example">     #include &lt;stringprep.h&gt;
-</pre>
-   <h3 class="section">3.2 Unicode Encoding Transformation</h3>
-
-<h4 class="subheading">stringprep_unichar_to_utf8</h4>
-
-<p><a name="stringprep_005funichar_005fto_005futf8"></a>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_unichar_to_utf8</b> (<var>uint32_t c, char * outbuf</var>)<var><a name="index-stringprep_005funichar_005fto_005futf8-50"></a></var><br>
-<blockquote><p><var>c</var>: a ISO10646 character code
-
-        <p><var>outbuf</var>: output buffer, must have at least 6 bytes of space. 
-If <code>NULL</code>, the length will be computed and returned
-and nothing will be written to <code>outbuf</code>.
-
-        <p>Converts a single character to UTF-8.
-
-        <p><strong>Return value:</strong> number of bytes written. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_utf8_to_unichar</h4>
-
-<p><a name="stringprep_005futf8_005fto_005funichar"></a>
-
-<div class="defun">
-&mdash; Function: uint32_t <b>stringprep_utf8_to_unichar</b> (<var>const char * p</var>)<var><a name="index-stringprep_005futf8_005fto_005funichar-51"></a></var><br>
-<blockquote><p><var>p</var>: a pointer to Unicode character encoded as UTF-8
-
-        <p>Converts a sequence of bytes encoded as UTF-8 to a Unicode character. 
-If <code>p</code> does not point to a valid UTF-8 encoded character, results are
-undefined.
-
-        <p><strong>Return value:</strong> the resulting character. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_ucs4_to_utf8</h4>
-
-<p><a name="stringprep_005fucs4_005fto_005futf8"></a>
-
-<div class="defun">
-&mdash; Function: char * <b>stringprep_ucs4_to_utf8</b> (<var>const uint32_t * str, ssize_t len, size_t * items_read, size_t * items_written</var>)<var><a name="index-stringprep_005fucs4_005fto_005futf8-52"></a></var><br>
-<blockquote><p><var>str</var>: a UCS-4 encoded string
-
-        <p><var>len</var>: the maximum length of <code>str</code> to use. If <code>len</code> &lt; 0, then
-the string is terminated with a 0 character.
-
-        <p><var>items_read</var>: location to store number of characters read read, or <code>NULL</code>.
-
-        <p><var>items_written</var>: location to store number of bytes written or <code>NULL</code>. 
-The value here stored does not include the trailing 0
-byte.
-
-        <p>Convert a string from a 32-bit fixed width representation as UCS-4. 
-to UTF-8. The result will be terminated with a 0 byte.
-
-        <p><strong>Return value:</strong> a pointer to a newly allocated UTF-8 string. 
-This value must be deallocated by the caller. 
-If an error occurs, <code>NULL</code> will be returned. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_utf8_to_ucs4</h4>
-
-<p><a name="stringprep_005futf8_005fto_005fucs4"></a>
-
-<div class="defun">
-&mdash; Function: uint32_t * <b>stringprep_utf8_to_ucs4</b> (<var>const char * str, ssize_t len, size_t * items_written</var>)<var><a name="index-stringprep_005futf8_005fto_005fucs4-53"></a></var><br>
-<blockquote><p><var>str</var>: a UTF-8 encoded string
-
-        <p><var>len</var>: the maximum length of <code>str</code> to use. If <code>len</code> &lt; 0, then
-the string is nul-terminated.
-
-        <p><var>items_written</var>: location to store the number of characters in the
-result, or <code>NULL</code>.
-
-        <p>Convert a string from UTF-8 to a 32-bit fixed width
-representation as UCS-4, assuming valid UTF-8 input. 
-This function does no error checking on the input.
-
-        <p><strong>Return value:</strong> a pointer to a newly allocated UCS-4 string. 
-This value must be deallocated by the caller. 
-</p></blockquote></div>
-
-<h3 class="section">3.3 Unicode Normalization</h3>
-
-<h4 class="subheading">stringprep_ucs4_nfkc_normalize</h4>
-
-<p><a name="stringprep_005fucs4_005fnfkc_005fnormalize"></a>
-
-<div class="defun">
-&mdash; Function: uint32_t * <b>stringprep_ucs4_nfkc_normalize</b> (<var>const uint32_t * str, ssize_t len</var>)<var><a name="index-stringprep_005fucs4_005fnfkc_005fnormalize-54"></a></var><br>
-<blockquote><p><var>str</var>: a Unicode string.
-
-        <p><var>len</var>: length of <code>str</code> array, or -1 if <code>str</code> is nul-terminated.
-
-        <p>Converts a UCS4 string into canonical form, see
-<code>stringprep_utf8_nfkc_normalize()</code> for more information.
-
-        <p><strong>Return value:</strong> a newly allocated Unicode string, that is the NFKC
-normalized form of <code>str</code>. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_utf8_nfkc_normalize</h4>
-
-<p><a name="stringprep_005futf8_005fnfkc_005fnormalize"></a>
-
-<div class="defun">
-&mdash; Function: char * <b>stringprep_utf8_nfkc_normalize</b> (<var>const char * str, ssize_t len</var>)<var><a name="index-stringprep_005futf8_005fnfkc_005fnormalize-55"></a></var><br>
-<blockquote><p><var>str</var>: a UTF-8 encoded string.
-
-        <p><var>len</var>: length of <code>str</code>, in bytes, or -1 if <code>str</code> is nul-terminated.
-
-        <p>Converts a string into canonical form, standardizing
-such issues as whether a character with an accent
-is represented as a base character and combining
-accent or as a single precomposed character.
-
-        <p>The normalization mode is NFKC (ALL COMPOSE).  It standardizes
-differences that do not affect the text content, such as the
-above-mentioned accent representation. It standardizes the
-"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
-the standard forms (in this case DIGIT THREE). Formatting
-information may be lost but for most text operations such
-characters should be considered the same. It returns a result with
-composed forms rather than a maximally decomposed form.
-
-        <p><strong>Return value:</strong> a newly allocated string, that is the
-NFKC normalized form of <code>str</code>. 
-</p></blockquote></div>
-
-<h3 class="section">3.4 Character Set Conversion</h3>
-
-<h4 class="subheading">stringprep_locale_charset</h4>
-
-<p><a name="stringprep_005flocale_005fcharset"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>stringprep_locale_charset</b> (<var> void</var>)<var><a name="index-stringprep_005flocale_005fcharset-56"></a></var><br>
-<blockquote>
-        <p>Find out current locale charset.  The function respect the CHARSET
-environment variable, but typically uses nl_langinfo(CODESET) when
-it is supported.  It fall back on "ASCII" if CHARSET isn't set and
-nl_langinfo isn't supported or return anything.
-
-        <p>Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
-support thread-specific locales).  It does not return what the
-system may be using.  Thus, if you receive data from external
-sources you cannot in general use this function to guess what
-charset it is encoded in.  Use stringprep_convert from the external
-representation into the charset returned by this function, to have
-data in the locale encoding.
-
-        <p><strong>Return value:</strong> Return the character set used by the current locale. 
-It will never return NULL, but use "ASCII" as a fallback. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_convert</h4>
-
-<p><a name="stringprep_005fconvert"></a>
-
-<div class="defun">
-&mdash; Function: char * <b>stringprep_convert</b> (<var>const char * str, const char * to_codeset, const char * from_codeset</var>)<var><a name="index-stringprep_005fconvert-57"></a></var><br>
-<blockquote><p><var>str</var>: input zero-terminated string.
-
-        <p><var>to_codeset</var>: name of destination character set.
-
-        <p><var>from_codeset</var>: name of origin character set, as used by <code>str</code>.
-
-        <p>Convert the string from one character set to another using the
-system's <code>iconv()</code> function.
-
-        <p><strong>Return value:</strong> Returns newly allocated zero-terminated string which
-is <code>str</code> transcoded into to_codeset. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_locale_to_utf8</h4>
-
-<p><a name="stringprep_005flocale_005fto_005futf8"></a>
-
-<div class="defun">
-&mdash; Function: char * <b>stringprep_locale_to_utf8</b> (<var>const char * str</var>)<var><a name="index-stringprep_005flocale_005fto_005futf8-58"></a></var><br>
-<blockquote><p><var>str</var>: input zero terminated string.
-
-        <p>Convert string encoded in the locale's character set into UTF-8 by
-using <code>stringprep_convert()</code>.
-
-        <p><strong>Return value:</strong> Returns newly allocated zero-terminated string which
-is <code>str</code> transcoded into UTF-8. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_utf8_to_locale</h4>
-
-<p><a name="stringprep_005futf8_005fto_005flocale"></a>
-
-<div class="defun">
-&mdash; Function: char * <b>stringprep_utf8_to_locale</b> (<var>const char * str</var>)<var><a name="index-stringprep_005futf8_005fto_005flocale-59"></a></var><br>
-<blockquote><p><var>str</var>: input zero terminated string.
-
-        <p>Convert string encoded in UTF-8 into the locale's character set by
-using <code>stringprep_convert()</code>.
-
-        <p><strong>Return value:</strong> Returns newly allocated zero-terminated string which
-is <code>str</code> transcoded into the locale's character set. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ******************  Stringprep Functions ***************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Stringprep-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Punycode-Functions">Punycode Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Utility-Functions">Utility Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">4 Stringprep Functions</h2>
-
-<p><a name="index-Stringprep-Functions-60"></a>
-Stringprep describes a framework for preparing Unicode text strings in
-order to increase the likelihood that string input and string
-comparison work in ways that make sense for typical users throughout
-the world. The stringprep protocol is useful for protocol identifier
-values, company and personal names, internationalized domain names,
-and other text strings.
-
-<h3 class="section">4.1 Header file <code>stringprep.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">stringprep.h</span></samp> using:
-
-<pre class="example">     #include &lt;stringprep.h&gt;
-</pre>
-   <h3 class="section">4.2 Defining A Stringprep Profile</h3>
-
-<p>Further types and structures are defined for applications that want to
-specify their own stringprep profile.  As these are fairly obscure,
-and by necessity tied to the implementation, we do not document them
-here.  Look into the <samp><span class="file">stringprep.h</span></samp> header file, and the
-<samp><span class="file">profiles.c</span></samp> source code for the details.
-
-<h3 class="section">4.3 Control Flags</h3>
-
-<div class="defun">
-&mdash; Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_NFKC</b><var><a name="index-STRINGPREP_005fNO_005fNFKC-61"></a></var><br>
-<blockquote><p>Disable the NFKC normalization, as well as selecting the non-NFKC case
-folding tables.  Usually the profile specifies BIDI and NFKC settings,
-and applications should not override it unless in special situations. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_BIDI</b><var><a name="index-STRINGPREP_005fNO_005fBIDI-62"></a></var><br>
-<blockquote><p>Disable the BIDI step.  Usually the profile specifies BIDI and NFKC
-settings, and applications should not override it unless in special
-situations. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_UNASSIGNED</b><var><a name="index-STRINGPREP_005fNO_005fUNASSIGNED-63"></a></var><br>
-<blockquote><p>Make the library return with an error if string contains unassigned
-characters according to profile. 
-</p></blockquote></div>
-
-<h3 class="section">4.4 Core Functions</h3>
-
-<h4 class="subheading">stringprep_4i</h4>
-
-<p><a name="stringprep_005f4i"></a>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_4i</b> (<var>uint32_t * ucs4, size_t * len, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4i-64"></a></var><br>
-<blockquote><p><var>ucs4</var>: input/output array with string to prepare.
-
-        <p><var>len</var>: on input, length of input array with Unicode code points,
-on exit, length of output array with Unicode code points.
-
-        <p><var>maxucs4len</var>: maximum length of input/output array.
-
-        <p><var>flags</var>: a <code>Stringprep_profile_flags</code> value, or 0.
-
-        <p><var>profile</var>: pointer to <code>Stringprep_profile</code> to use.
-
-        <p>Prepare the input UCS-4 string according to the stringprep profile,
-and write back the result to the input string.
-
-        <p>The input is not required to be zero terminated (<code>ucs4</code>[<code>len</code>] = 0). 
-The output will not be zero terminated unless <code>ucs4</code>[<code>len</code>] = 0. 
-Instead, see <code>stringprep_4zi()</code> if your input is zero terminated or
-if you want the output to be.
-
-        <p>Since the stringprep operation can expand the string, <code>maxucs4len</code>
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-
-        <p>The <code>flags</code> are one of <code>Stringprep_profile_flags</code> values, or 0.
-
-        <p>The <code>profile</code> contain the <code>Stringprep_profile</code> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-        <p><strong>Return value:</strong> Returns <code>STRINGPREP_OK</code> iff successful, or an
-<code>Stringprep_rc</code> error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_4zi</h4>
-
-<p><a name="stringprep_005f4zi"></a>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_4zi</b> (<var>uint32_t * ucs4, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4zi-65"></a></var><br>
-<blockquote><p><var>ucs4</var>: input/output array with zero terminated string to prepare.
-
-        <p><var>maxucs4len</var>: maximum length of input/output array.
-
-        <p><var>flags</var>: a <code>Stringprep_profile_flags</code> value, or 0.
-
-        <p><var>profile</var>: pointer to <code>Stringprep_profile</code> to use.
-
-        <p>Prepare the input zero terminated UCS-4 string according to the
-stringprep profile, and write back the result to the input string.
-
-        <p>Since the stringprep operation can expand the string, <code>maxucs4len</code>
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-
-        <p>The <code>flags</code> are one of <code>Stringprep_profile_flags</code> values, or 0.
-
-        <p>The <code>profile</code> contain the <code>Stringprep_profile</code> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-        <p><strong>Return value:</strong> Returns <code>STRINGPREP_OK</code> iff successful, or an
-<code>Stringprep_rc</code> error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep</h4>
-
-<p><a name="stringprep"></a>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep</b> (<var>char * in, size_t maxlen, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep-66"></a></var><br>
-<blockquote><p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p><var>flags</var>: a <code>Stringprep_profile_flags</code> value, or 0.
-
-        <p><var>profile</var>: pointer to <code>Stringprep_profile</code> to use.
-
-        <p>Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and write back the result to the input string.
-
-        <p>Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<code>stringprep_locale_to_utf8()</code>.
-
-        <p>Since the stringprep operation can expand the string, <code>maxlen</code>
-indicate how large the buffer holding the string is.  This function
-will not read or write to characters outside that size.
-
-        <p>The <code>flags</code> are one of <code>Stringprep_profile_flags</code> values, or 0.
-
-        <p>The <code>profile</code> contain the <code>Stringprep_profile</code> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-        <p><strong>Return value:</strong> Returns <code>STRINGPREP_OK</code> iff successful, or an error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">stringprep_profile</h4>
-
-<p><a name="stringprep_005fprofile"></a>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_profile</b> (<var>const char * in, char ** out, const char * profile, Stringprep_profile_flags flags</var>)<var><a name="index-stringprep_005fprofile-67"></a></var><br>
-<blockquote><p><var>in</var>: input array with UTF-8 string to prepare.
-
-        <p><var>out</var>: output variable with pointer to newly allocate string.
-
-        <p><var>profile</var>: name of stringprep profile to use.
-
-        <p><var>flags</var>: a <code>Stringprep_profile_flags</code> value, or 0.
-
-        <p>Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and return the result in a newly allocated
-variable.
-
-        <p>Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<code>stringprep_locale_to_utf8()</code>.
-
-        <p>The output <code>out</code> variable must be deallocated by the caller.
-
-        <p>The <code>flags</code> are one of <code>Stringprep_profile_flags</code> values, or 0.
-
-        <p>The <code>profile</code> specifies the name of the stringprep profile to use. 
-It must be one of the internally supported stringprep profiles.
-
-        <p><strong>Return value:</strong> Returns <code>STRINGPREP_OK</code> iff successful, or an error code. 
-</p></blockquote></div>
-
-<h3 class="section">4.5 Error Handling</h3>
-
-<h4 class="subheading">stringprep_strerror</h4>
-
-<p><a name="stringprep_005fstrerror"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>stringprep_strerror</b> (<var>Stringprep_rc rc</var>)<var><a name="index-stringprep_005fstrerror-68"></a></var><br>
-<blockquote><p><var>rc</var>: a <code>Stringprep_rc</code> return code.
-
-        <p>Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-        <p><strong>STRINGPREP_OK:</strong> Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-        <p><strong>STRINGPREP_CONTAINS_UNASSIGNED:</strong> String contain unassigned Unicode
-code points, which is forbidden by the profile.
-
-        <p><strong>STRINGPREP_CONTAINS_PROHIBITED:</strong> String contain code points
-prohibited by the profile.
-
-        <p><strong>STRINGPREP_BIDI_BOTH_L_AND_RAL:</strong> String contain code points with
-conflicting bidirection category.
-
-        <p><strong>STRINGPREP_BIDI_LEADTRAIL_NOT_RAL:</strong> Leading and trailing character
-in string not of proper bidirectional category.
-
-        <p><strong>STRINGPREP_BIDI_CONTAINS_PROHIBITED:</strong> Contains prohibited code
-points detected by bidirectional code.
-
-        <p><strong>STRINGPREP_TOO_SMALL_BUFFER:</strong> Buffer handed to function was too
-small.  This usually indicate a problem in the calling
-application.
-
-        <p><strong>STRINGPREP_PROFILE_ERROR:</strong> The stringprep profile was inconsistent. 
-This usually indicate an internal error in the library.
-
-        <p><strong>STRINGPREP_FLAG_ERROR:</strong> The supplied flag conflicted with profile. 
-This usually indicate a problem in the calling application.
-
-        <p><strong>STRINGPREP_UNKNOWN_PROFILE:</strong> The supplied profile name was not
-known to the library.
-
-        <p><strong>STRINGPREP_NFKC_FAILED:</strong> The Unicode NFKC operation failed.  This
-usually indicate an internal error in the library.
-
-        <p><strong>STRINGPREP_MALLOC_ERROR:</strong> The <code>malloc()</code> was out of memory.  This is
-usually a fatal error.
-
-        <p><strong>Return value:</strong> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <code>rc</code>. 
-</p></blockquote></div>
-
-<h3 class="section">4.6 Stringprep Profile Macros</h3>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_nameprep_no_unassigned</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fnameprep_005fno_005funassigned-69"></a></var><br>
-<blockquote>
-        <p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p>Prepare the input UTF-8 string according to the nameprep profile.  The
-AllowUnassigned flag is false, use <code>stringprep_nameprep</code> for
-true AllowUnassigned.  Returns 0 iff successful, or an error code. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_iscsi</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fiscsi-70"></a></var><br>
-<blockquote>
-        <p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p>Prepare the input UTF-8 string according to the draft iSCSI stringprep
-profile.  Returns 0 iff successful, or an error code. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_plain</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fplain-71"></a></var><br>
-<blockquote>
-        <p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p>Prepare the input UTF-8 string according to the draft SASL ANONYMOUS
-profile.  Returns 0 iff successful, or an error code. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_xmpp_nodeprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fnodeprep-72"></a></var><br>
-<blockquote>
-        <p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p>Prepare the input UTF-8 string according to the draft XMPP node
-identifier profile.  Returns 0 iff successful, or an error code. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: int <b>stringprep_xmpp_resourceprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fresourceprep-73"></a></var><br>
-<blockquote>
-        <p><var>in</var>: input/ouput array with string to prepare.
-
-        <p><var>maxlen</var>: maximum length of input/output array.
-
-        <p>Prepare the input UTF-8 string according to the draft XMPP resource
-identifier profile.  Returns 0 iff successful, or an error code. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- *******************  Punycode Functions ****************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Punycode-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#IDNA-Functions">IDNA Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Stringprep-Functions">Stringprep Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">5 Punycode Functions</h2>
-
-<p><a name="index-Punycode-Functions-74"></a>
-Punycode is a simple and efficient transfer encoding syntax designed
-for use with Internationalized Domain Names in Applications. It
-uniquely and reversibly transforms a Unicode string into an ASCII
-string. ASCII characters in the Unicode string are represented
-literally, and non-ASCII characters are represented by ASCII
-characters that are allowed in host name labels (letters, digits, and
-hyphens). A general algorithm called Bootstring allows a string of
-basic code points to uniquely represent any string of code points
-drawn from a larger set. Punycode is an instance of Bootstring that
-uses particular parameter values, appropriate for IDNA.
-
-<h3 class="section">5.1 Header file <code>punycode.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">punycode.h</span></samp> using:
-
-<pre class="example">     #include &lt;punycode.h&gt;
-</pre>
-   <h3 class="section">5.2 Unicode Code Point Data Type</h3>
-
-<p>The punycode function uses a special type to denote Unicode code
-points.  It is guaranteed to always be a 32 bit unsigned integer.
-
-<div class="defun">
-&mdash; Punycode Unicode code point: uint32_t <b>punycode_uint</b><var><a name="index-punycode_005fuint-75"></a></var><br>
-<blockquote><p>A unsigned integer that hold Unicode code points. 
-</p></blockquote></div>
-
-<h3 class="section">5.3 Core Functions</h3>
-
-<p>Note that the current implementation will fail if the
-<code>input_length</code> exceed 4294967295 (the size of
-<code>punycode_uint</code>).  This restriction may be removed in the future. 
-Meanwhile applications are encouraged to not depend on this problem,
-and use <code>sizeof</code> to initialize <code>input_length</code> and
-<code>output_length</code>.
-
-   <p>The functions provided are the following two entry points:
-
-<h4 class="subheading">punycode_encode</h4>
-
-<p><a name="punycode_005fencode"></a>
-
-<div class="defun">
-&mdash; Function: int <b>punycode_encode</b> (<var>size_t input_length, const punycode_uint </var>[]<var> input, const unsigned char </var>[]<var> case_flags, size_t * output_length, char </var>[]<var> output</var>)<var><a name="index-punycode_005fencode-76"></a></var><br>
-<blockquote><p><var>input_length</var>: The number of code points in the <code>input</code> array and
-the number of flags in the <code>case_flags</code> array.
-
-        <p><var>input</var>: An array of code points.  They are presumed to be Unicode
-code points, but that is not strictly REQUIRED.  The array
-contains code points, not code units.  UTF-16 uses code units
-D800 through DFFF to refer to code points 10000..10FFFF.  The
-code points D800..DFFF do not occur in any valid Unicode string. 
-The code points that can occur in Unicode strings (0..D7FF and
-E000..10FFFF) are also called Unicode scalar values.
-
-        <p><var>case_flags</var>: A <code>NULL</code> pointer or an array of boolean values parallel
-to the <code>input</code> array.  Nonzero (true, flagged) suggests that the
-corresponding Unicode character be forced to uppercase after
-being decoded (if possible), and zero (false, unflagged) suggests
-that it be forced to lowercase (if possible).  ASCII code points
-(0..7F) are encoded literally, except that ASCII letters are
-forced to uppercase or lowercase according to the corresponding
-case flags.  If <code>case_flags</code> is a <code>NULL</code> pointer then ASCII letters
-are left as they are, and other code points are treated as
-unflagged.
-
-        <p><var>output_length</var>: The caller passes in the maximum number of ASCII
-code points that it can receive.  On successful return it will
-contain the number of ASCII code points actually output.
-
-        <p><var>output</var>: An array of ASCII code points.  It is *not*
-null-terminated; it will contain zeros if and only if the <code>input</code>
-contains zeros.  (Of course the caller can leave room for a
-terminator and add one if needed.)
-
-        <p>Converts a sequence of code points (presumed to be Unicode code
-points) to Punycode.
-
-        <p><strong>Return value:</strong> The return value can be any of the <code>Punycode_status</code>
-values defined above except <code>PUNYCODE_BAD_INPUT</code>.  If not
-<code>PUNYCODE_SUCCESS</code>, then <code>output_size</code> and <code>output</code> might contain
-garbage. 
-</p></blockquote></div>
-
-<h4 class="subheading">punycode_decode</h4>
-
-<p><a name="punycode_005fdecode"></a>
-
-<div class="defun">
-&mdash; Function: int <b>punycode_decode</b> (<var>size_t input_length, const char </var>[]<var> input, size_t * output_length, punycode_uint </var>[]<var> output, unsigned char </var>[]<var> case_flags</var>)<var><a name="index-punycode_005fdecode-77"></a></var><br>
-<blockquote><p><var>input_length</var>: The number of ASCII code points in the <code>input</code> array.
-
-        <p><var>input</var>: An array of ASCII code points (0..7F).
-
-        <p><var>output_length</var>: The caller passes in the maximum number of code
-points that it can receive into the <code>output</code> array (which is also
-the maximum number of flags that it can receive into the
-<code>case_flags</code> array, if <code>case_flags</code> is not a <code>NULL</code> pointer).  On
-successful return it will contain the number of code points
-actually output (which is also the number of flags actually
-output, if case_flags is not a null pointer).  The decoder will
-never need to output more code points than the number of ASCII
-code points in the input, because of the way the encoding is
-defined.  The number of code points output cannot exceed the
-maximum possible value of a punycode_uint, even if the supplied
-<code>output_length</code> is greater than that.
-
-        <p><var>output</var>: An array of code points like the input argument of
-<code>punycode_encode()</code> (see above).
-
-        <p><var>case_flags</var>: A <code>NULL</code> pointer (if the flags are not needed by the
-caller) or an array of boolean values parallel to the <code>output</code>
-array.  Nonzero (true, flagged) suggests that the corresponding
-Unicode character be forced to uppercase by the caller (if
-possible), and zero (false, unflagged) suggests that it be forced
-to lowercase (if possible).  ASCII code points (0..7F) are output
-already in the proper case, but their flags will be set
-appropriately so that applying the flags would be harmless.
-
-        <p>Converts Punycode to a sequence of code points (presumed to be
-Unicode code points).
-
-        <p><strong>Return value:</strong> The return value can be any of the <code>Punycode_status</code>
-values defined above.  If not <code>PUNYCODE_SUCCESS</code>, then
-<code>output_length</code>, <code>output</code>, and <code>case_flags</code> might contain garbage. 
-</p></blockquote></div>
-
-<h3 class="section">5.4 Error Handling</h3>
-
-<h4 class="subheading">punycode_strerror</h4>
-
-<p><a name="punycode_005fstrerror"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>punycode_strerror</b> (<var>Punycode_status rc</var>)<var><a name="index-punycode_005fstrerror-78"></a></var><br>
-<blockquote><p><var>rc</var>: an <code>Punycode_status</code> return code.
-
-        <p>Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-        <p><strong>PUNYCODE_SUCCESS:</strong> Successful operation.  This value is guaranteed
-to always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-        <p><strong>PUNYCODE_BAD_INPUT:</strong> Input is invalid.
-
-        <p><strong>PUNYCODE_BIG_OUTPUT:</strong> Output would exceed the space provided.
-
-        <p><strong>PUNYCODE_OVERFLOW:</strong> Input needs wider integers to process.
-
-        <p><strong>Return value:</strong> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <code>rc</code>. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ********************* IDNA Functions ********************* -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="IDNA-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#TLD-Functions">TLD Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Punycode-Functions">Punycode Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">6 IDNA Functions</h2>
-
-<p><a name="index-IDNA-Functions-79"></a>
-Until now, there has been no standard method for domain names to use
-characters outside the ASCII repertoire. The IDNA document defines
-internationalized domain names (IDNs) and a mechanism called IDNA for
-handling them in a standard fashion. IDNs use characters drawn from a
-large repertoire (Unicode), but IDNA allows the non-ASCII characters
-to be represented using only the ASCII characters already allowed in
-so-called host names today. This backward-compatible representation is
-required in existing protocols like DNS, so that IDNs can be
-introduced with no changes to the existing infrastructure. IDNA is
-only meant for processing domain names, not free text.
-
-<h3 class="section">6.1 Header file <code>idna.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">idna.h</span></samp> using:
-
-<pre class="example">     #include &lt;idna.h&gt;
-</pre>
-   <h3 class="section">6.2 Control Flags</h3>
-
-<p>The IDNA <code>flags</code> parameter can take on the following values, or a
-bit-wise inclusive or of any subset of the parameters:
-
-<div class="defun">
-&mdash; Return code: Idna_flags <b>IDNA_ALLOW_UNASSIGNED</b><var><a name="index-IDNA_005fALLOW_005fUNASSIGNED-80"></a></var><br>
-<blockquote><p>Allow unassigned Unicode code points. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Return code: Idna_flags <b>IDNA_USE_STD3_ASCII_RULES</b><var><a name="index-IDNA_005fUSE_005fSTD3_005fASCII_005fRULES-81"></a></var><br>
-<blockquote><p>Check output to make sure it is a STD3 conforming host name. 
-</p></blockquote></div>
-
-<h3 class="section">6.3 Prefix String</h3>
-
-<div class="defun">
-&mdash; Macro: #define <b>IDNA_ACE_PREFIX</b><var><a name="index-IDNA_005fACE_005fPREFIX-82"></a></var><br>
-<blockquote><p>String with the official IDNA prefix, <code>xn--</code>. 
-</p></blockquote></div>
-
-<h3 class="section">6.4 Core Functions</h3>
-
-<p>The idea behind the IDNA function names are as follows: the
-<code>idna_to_ascii_4i</code> and <code>idna_to_unicode_44i</code> functions are
-the core IDNA primitives.  The <code>4</code> indicate that the function
-takes UCS-4 strings (i.e., Unicode code points encoded in a 32-bit
-unsigned integer type) of the specified length.  The <code>i</code> indicate
-that the data is written &ldquo;inline&rdquo; into the buffer.  This means the
-caller is responsible for allocating (and de-allocating) the string,
-and providing the library with the allocated length of the string. 
-The output length is written in the output length variable.  The
-remaining functions all contain the <code>z</code> indicator, which means
-the strings are zero terminated.  All output strings are allocated by
-the library, and must be de-allocated by the caller.  The <code>4</code>
-indicator again means that the string is UCS-4, the <code>8</code> means the
-strings are UTF-8 and the <code>l</code> indicator means the strings are
-encoded in the encoding used by the current locale.
-
-   <p>The functions provided are the following entry points:
-
-<h4 class="subheading">idna_to_ascii_4i</h4>
-
-<p><a name="idna_005fto_005fascii_005f4i"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_ascii_4i</b> (<var>const uint32_t * in, size_t inlen, char * out, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4i-83"></a></var><br>
-<blockquote><p><var>in</var>: input array with unicode code points.
-
-        <p><var>inlen</var>: length of input array with unicode code points.
-
-        <p><var>out</var>: output zero terminated string that must have room for at
-least 63 characters plus the terminating zero.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>The ToASCII operation takes a sequence of Unicode code points that
-make up one domain label and transforms it into a sequence of code
-points in the ASCII range (0..7F). If ToASCII succeeds, the
-original sequence and the resulting sequence are equivalent labels.
-
-        <p>It is important to note that the ToASCII operation can fail. ToASCII
-fails if any step of it fails. If any step of the ToASCII operation
-fails on any label in a domain name, that domain name MUST NOT be used
-as an internationalized domain name. The method for deadling with this
-failure is application-specific.
-
-        <p>The inputs to ToASCII are a sequence of code points, the AllowUnassigned
-flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
-sequence of ASCII code points or a failure condition.
-
-        <p>ToASCII never alters a sequence of code points that are all in the ASCII
-range to begin with (although it could fail). Applying the ToASCII
-operation multiple times has exactly the same effect as applying it just
-once.
-
-        <p><strong>Return value:</strong> Returns 0 on success, or an <code>Idna_rc</code> error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_unicode_44i</h4>
-
-<p><a name="idna_005fto_005funicode_005f44i"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_44i</b> (<var>const uint32_t * in, size_t inlen, uint32_t * out, size_t * outlen, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f44i-84"></a></var><br>
-<blockquote><p><var>in</var>: input array with unicode code points.
-
-        <p><var>inlen</var>: length of input array with unicode code points.
-
-        <p><var>out</var>: output array with unicode code points.
-
-        <p><var>outlen</var>: on input, maximum size of output array with unicode code points,
-on exit, actual size of output array with unicode code points.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>The ToUnicode operation takes a sequence of Unicode code points
-that make up one domain label and returns a sequence of Unicode
-code points. If the input sequence is a label in ACE form, then the
-result is an equivalent internationalized label that is not in ACE
-form, otherwise the original sequence is returned unaltered.
-
-        <p>ToUnicode never fails. If any step fails, then the original input
-sequence is returned immediately in that step.
-
-        <p>The Punycode decoder can never output more code points than it
-inputs, but Nameprep can, and therefore ToUnicode can.  Note that
-the number of octets needed to represent a sequence of code points
-depends on the particular character encoding used.
-
-        <p>The inputs to ToUnicode are a sequence of code points, the
-AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-ToUnicode is always a sequence of Unicode code points.
-
-        <p><strong>Return value:</strong> Returns <code>Idna_rc</code> error condition, but it must only be
-used for debugging purposes.  The output buffer is always
-guaranteed to contain the correct data according to the
-specification (sans malloc induced errors).  NB!  This means that
-you normally ignore the return code from this function, as
-checking it means breaking the standard. 
-</p></blockquote></div>
-
-<h3 class="section">6.5 Simplified ToASCII Interface</h3>
-
-<h4 class="subheading">idna_to_ascii_4z</h4>
-
-<p><a name="idna_005fto_005fascii_005f4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_ascii_4z</b> (<var>const uint32_t * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4z-85"></a></var><br>
-<blockquote><p><var>input</var>: zero terminated input Unicode string.
-
-        <p><var>output</var>: pointer to newly allocated output string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert UCS-4 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_ascii_8z</h4>
-
-<p><a name="idna_005fto_005fascii_005f8z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_ascii_8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f8z-86"></a></var><br>
-<blockquote><p><var>input</var>: zero terminated input UTF-8 string.
-
-        <p><var>output</var>: pointer to newly allocated output string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert UTF-8 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_ascii_lz</h4>
-
-<p><a name="idna_005fto_005fascii_005flz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_ascii_lz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005flz-87"></a></var><br>
-<blockquote><p><var>input</var>: zero terminated input string encoded in the current locale's
-character set.
-
-        <p><var>output</var>: pointer to newly allocated output string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert domain name in the locale's encoding to ASCII string.  The
-domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h3 class="section">6.6 Simplified ToUnicode Interface</h3>
-
-<h4 class="subheading">idna_to_unicode_4z4z</h4>
-
-<p><a name="idna_005fto_005funicode_005f4z4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_4z4z</b> (<var>const uint32_t * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f4z4z-88"></a></var><br>
-<blockquote><p><var>input</var>: zero-terminated Unicode string.
-
-        <p><var>output</var>: pointer to newly allocated output Unicode string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert possibly ACE encoded domain name in UCS-4 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_unicode_8z4z</h4>
-
-<p><a name="idna_005fto_005funicode_005f8z4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_8z4z</b> (<var>const char * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z4z-89"></a></var><br>
-<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
-
-        <p><var>output</var>: pointer to newly allocated output Unicode string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert possibly ACE encoded domain name in UTF-8 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_unicode_8z8z</h4>
-
-<p><a name="idna_005fto_005funicode_005f8z8z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_8z8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z8z-90"></a></var><br>
-<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
-
-        <p><var>output</var>: pointer to newly allocated output UTF-8 string.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert possibly ACE encoded domain name in UTF-8 format into a
-UTF-8 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_unicode_8zlz</h4>
-
-<p><a name="idna_005fto_005funicode_005f8zlz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_8zlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8zlz-91"></a></var><br>
-<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
-
-        <p><var>output</var>: pointer to newly allocated output string encoded in the
-current locale's character set.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert possibly ACE encoded domain name in UTF-8 format into a
-string encoded in the current locale's character set.  The domain
-name may contain several labels, separated by dots.  The output
-buffer must be deallocated by the caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h4 class="subheading">idna_to_unicode_lzlz</h4>
-
-<p><a name="idna_005fto_005funicode_005flzlz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>idna_to_unicode_lzlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005flzlz-92"></a></var><br>
-<blockquote><p><var>input</var>: zero-terminated string encoded in the current locale's
-character set.
-
-        <p><var>output</var>: pointer to newly allocated output string encoded in the
-current locale's character set.
-
-        <p><var>flags</var>: an <code>Idna_flags</code> value, e.g., <code>IDNA_ALLOW_UNASSIGNED</code> or
-<code>IDNA_USE_STD3_ASCII_RULES</code>.
-
-        <p>Convert possibly ACE encoded domain name in the locale's character
-set into a string encoded in the current locale's character set. 
-The domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-
-        <p><strong>Return value:</strong> Returns <code>IDNA_SUCCESS</code> on success, or error code. 
-</p></blockquote></div>
-
-<h3 class="section">6.7 Error Handling</h3>
-
-<h4 class="subheading">idna_strerror</h4>
-
-<p><a name="idna_005fstrerror"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>idna_strerror</b> (<var>Idna_rc rc</var>)<var><a name="index-idna_005fstrerror-93"></a></var><br>
-<blockquote><p><var>rc</var>: an <code>Idna_rc</code> return code.
-
-        <p>Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-        <p><strong>IDNA_SUCCESS:</strong> Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-        <p><strong>IDNA_STRINGPREP_ERROR:</strong> Error during string preparation.
-
-        <p><strong>IDNA_PUNYCODE_ERROR:</strong> Error during punycode operation.
-
-        <p><strong>IDNA_CONTAINS_NON_LDH:</strong> For IDNA_USE_STD3_ASCII_RULES, indicate that
-the string contains non-LDH ASCII characters.
-
-        <p><strong>IDNA_CONTAINS_MINUS:</strong> For IDNA_USE_STD3_ASCII_RULES, indicate that
-the string contains a leading or trailing hyphen-minus (U+002D).
-
-        <p><strong>IDNA_INVALID_LENGTH:</strong> The final output string is not within the
-(inclusive) range 1 to 63 characters.
-
-        <p><strong>IDNA_NO_ACE_PREFIX:</strong> The string does not contain the ACE prefix
-(for ToUnicode).
-
-        <p><strong>IDNA_ROUNDTRIP_VERIFY_ERROR:</strong> The ToASCII operation on output
-string does not equal the input.
-
-        <p><strong>IDNA_CONTAINS_ACE_PREFIX:</strong> The input contains the ACE prefix (for
-ToASCII).
-
-        <p><strong>IDNA_ICONV_ERROR:</strong> Could not convert string in locale encoding.
-
-        <p><strong>IDNA_MALLOC_ERROR:</strong> Could not allocate buffer (this is typically a
-fatal error).
-
-        <p><strong>IDNA_DLOPEN_ERROR:</strong> Could not dlopen the libcidn DSO (only used
-internally in libc).
-
-        <p><strong>Return value:</strong> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <code>rc</code>. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ********************** TLD Functions ********************* -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="TLD-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#PR29-Functions">PR29 Functions</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#IDNA-Functions">IDNA Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">7 TLD Functions</h2>
-
-<p><a name="index-TLD-Functions-94"></a>
-Organizations that manage some Top Level Domains (TLDs) have published
-tables with characters they accept within the domain.  The reason may
-be to reduce complexity that come from using the full Unicode range,
-and to protect themselves from future (backwards incompatible) changes
-in the IDN or Unicode specifications.  Libidn implement an
-infrastructure for defining and checking strings against such tables. 
-Libidn also ship some tables from TLDs that we have managed to get
-permission to use them from.  Because these tables are even less
-static than Unicode or StringPrep tables, it is likely that they will
-be updated from time to time (even in backwards incompatible ways). 
-The Libidn interface provide a &ldquo;version&rdquo; field for each TLD table,
-which can be compared for equality to guarantee the same operation
-over time.
-
-   <p>From a design point of view, you can regard the TLD tables for IDN as
-the &ldquo;localization&rdquo; step that come after the &ldquo;internationalization&rdquo;
-step provided by the IETF standards.
-
-   <p>The TLD functionality rely on up-to-date tables.  The latest version
-of Libidn aim to provide these, but tables with unclear copying
-conditions, or generally experimental tables, are not included.  Some
-such tables can be found at <a href="https://github.com/gnuthor/tldchk">https://github.com/gnuthor/tldchk</a>.
-
-<h3 class="section">7.1 Header file <code>tld.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">tld.h</span></samp> using:
-
-<pre class="example">     #include &lt;tld.h&gt;
-</pre>
-   <!-- @section Data Types -->
-<!-- @deftp {Data type} {Tld_table_element} @var{start} @var{end} -->
-<!-- @example -->
-<!-- /* Interval of valid code points in the TLD. */ -->
-<!-- struct Tld_table_element -->
-<!-- @{ -->
-<!-- uint32_t start;           /* Start of range. */ -->
-<!-- uint32_t end;             /* End of range, end == start if single. */ -->
-<!-- @}; -->
-<!-- typedef struct Tld_table_element Tld_table_element; -->
-<!-- @end example -->
-<!-- This @code{struct} contain the @var{start} and @var{end} positions -->
-<!-- (inclusive) of a range.  If the range is a single (i.e., starts and -->
-<!-- ends in the same character), then set @var{end} to the same as -->
-<!-- @var{start}.  This structure is normally used as an array. -->
-<!-- @end deftp -->
-<!-- @deftp {Data type} {Tld_table} @var{name} @var{version} @var{nvalid} @var{valid} -->
-<!-- @example -->
-<!-- /* List valid code points in a TLD. */ -->
-<!-- struct Tld_table -->
-<!-- @{ -->
-<!-- char *name;                       /* TLD name, e.g., "no". */ -->
-<!-- char *version;            /* Version string from TLD file. */ -->
-<!-- size_t nvalid;            /* Number of entries in data. */ -->
-<!-- Tld_table_element *valid[];       /* Sorted array of valid code points. */ -->
-<!-- @}; -->
-<!-- typedef struct Tld_table Tld_table; -->
-<!-- @end example -->
-<!-- In this @code{struct}, the @var{name} field is a string (@samp{char*}) -->
-<!-- indicating the TLD name (e.g., ``no'').  The @var{version} field is a -->
-<!-- string (@samp{char*}) containing a free form humanly readable string -->
-<!-- that can be used for equality comparison to compare different versions -->
-<!-- of the table.  The @var{nvalid} field indicate how many entries there -->
-<!-- are in @var{valid}, which brings us finally to @var{valid} that -->
-<!-- contain the actual code points that are valid for this TLD (see -->
-<!-- @code{Tld_table_element} above). -->
-<!-- @end deftp -->
-<h3 class="section">7.2 Core Functions</h3>
-
-<h4 class="subheading">tld_check_4t</h4>
-
-<p><a name="tld_005fcheck_005f4t"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_4t</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4t-95"></a></var><br>
-<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-        <p><var>inlen</var>: Number of unicode code points.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>tld</var>: A <code>Tld_table</code> data structure representing the restrictions for
-which the input should be tested.
-
-        <p>Test each of the code points in <code>in</code> for whether or not
-they are allowed by the data structure in <code>tld</code>, return
-the position of the first character for which this is not
-the case in <code>errpos</code>.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all code
-points are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_check_4tz</h4>
-
-<p><a name="tld_005fcheck_005f4tz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_4tz</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4tz-96"></a></var><br>
-<blockquote><p><var>in</var>: Zero terminated array of unicode code points to process.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>tld</var>: A <code>Tld_table</code> data structure representing the restrictions for
-which the input should be tested.
-
-        <p>Test each of the code points in <code>in</code> for whether or not
-they are allowed by the data structure in <code>tld</code>, return
-the position of the first character for which this is not
-the case in <code>errpos</code>.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all code
-points are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h3 class="section">7.3 Utility Functions</h3>
-
-<h4 class="subheading">tld_get_4</h4>
-
-<p><a name="tld_005fget_005f4"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_get_4</b> (<var>const uint32_t * in, size_t inlen, char ** out</var>)<var><a name="index-tld_005fget_005f4-97"></a></var><br>
-<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-        <p><var>inlen</var>: Number of unicode code points.
-
-        <p><var>out</var>: Zero terminated ascii result string pointer.
-
-        <p>Isolate the top-level domain of <code>in</code> and return it as an ASCII
-string in <code>out</code>.
-
-        <p><strong>Return value:</strong> Return <code>TLD_SUCCESS</code> on success, or the corresponding
-<code>Tld_rc</code> error code otherwise. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_get_4z</h4>
-
-<p><a name="tld_005fget_005f4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_get_4z</b> (<var>const uint32_t * in, char ** out</var>)<var><a name="index-tld_005fget_005f4z-98"></a></var><br>
-<blockquote><p><var>in</var>: Zero terminated array of unicode code points to process.
-
-        <p><var>out</var>: Zero terminated ascii result string pointer.
-
-        <p>Isolate the top-level domain of <code>in</code> and return it as an ASCII
-string in <code>out</code>.
-
-        <p><strong>Return value:</strong> Return <code>TLD_SUCCESS</code> on success, or the corresponding
-<code>Tld_rc</code> error code otherwise. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_get_z</h4>
-
-<p><a name="tld_005fget_005fz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_get_z</b> (<var>const char * in, char ** out</var>)<var><a name="index-tld_005fget_005fz-99"></a></var><br>
-<blockquote><p><var>in</var>: Zero terminated character array to process.
-
-        <p><var>out</var>: Zero terminated ascii result string pointer.
-
-        <p>Isolate the top-level domain of <code>in</code> and return it as an ASCII
-string in <code>out</code>.  The input string <code>in</code> may be UTF-8, ISO-8859-1 or
-any ASCII compatible character encoding.
-
-        <p><strong>Return value:</strong> Return <code>TLD_SUCCESS</code> on success, or the corresponding
-<code>Tld_rc</code> error code otherwise. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_get_table</h4>
-
-<p><a name="tld_005fget_005ftable"></a>
-
-<div class="defun">
-&mdash; Function: const Tld_table * <b>tld_get_table</b> (<var>const char * tld, const Tld_table ** tables</var>)<var><a name="index-tld_005fget_005ftable-100"></a></var><br>
-<blockquote><p><var>tld</var>: TLD name (e.g. "com") as zero terminated ASCII byte string.
-
-        <p><var>tables</var>: Zero terminated array of <code>Tld_table</code> info-structures for
-TLDs.
-
-        <p>Get the TLD table for a named TLD by searching through the given
-TLD table array.
-
-        <p><strong>Return value:</strong> Return structure corresponding to TLD <code>tld</code> by going
-thru <code>tables</code>, or return <code>NULL</code> if no such structure is found. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_default_table</h4>
-
-<p><a name="tld_005fdefault_005ftable"></a>
-
-<div class="defun">
-&mdash; Function: const Tld_table * <b>tld_default_table</b> (<var>const char * tld, const Tld_table ** overrides</var>)<var><a name="index-tld_005fdefault_005ftable-101"></a></var><br>
-<blockquote><p><var>tld</var>: TLD name (e.g. "com") as zero terminated ASCII byte string.
-
-        <p><var>overrides</var>: Additional zero terminated array of <code>Tld_table</code>
-info-structures for TLDs, or <code>NULL</code> to only use library deault
-tables.
-
-        <p>Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.
-
-        <p><strong>Return value:</strong> Return structure corresponding to TLD <code>tld_str</code>, first
-looking through <code>overrides</code> then thru built-in list, or <code>NULL</code> if
-no such structure found. 
-</p></blockquote></div>
-
-<h3 class="section">7.4 High-Level Wrapper Functions</h3>
-
-<h4 class="subheading">tld_check_4</h4>
-
-<p><a name="tld_005fcheck_005f4"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_4</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4-102"></a></var><br>
-<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-        <p><var>inlen</var>: Number of unicode code points.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>overrides</var>: A <code>Tld_table</code> array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-        <p>Test each of the code points in <code>in</code> for whether or not they are
-allowed by the information in <code>overrides</code> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <code>overrides</code>, the information in <code>overrides</code> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <code>overrides</code> is <code>NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <code>errpos</code>.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all code
-points are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_check_4z</h4>
-
-<p><a name="tld_005fcheck_005f4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_4z</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4z-103"></a></var><br>
-<blockquote><p><var>in</var>: Zero-terminated array of unicode code points to process.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>overrides</var>: A <code>Tld_table</code> array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-        <p>Test each of the code points in <code>in</code> for whether or not they are
-allowed by the information in <code>overrides</code> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <code>overrides</code>, the information in <code>overrides</code> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <code>overrides</code> is <code>NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <code>errpos</code>.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all code
-points are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_check_8z</h4>
-
-<p><a name="tld_005fcheck_005f8z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_8z</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f8z-104"></a></var><br>
-<blockquote><p><var>in</var>: Zero-terminated UTF8 string to process.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>overrides</var>: A <code>Tld_table</code> array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-        <p>Test each of the characters in <code>in</code> for whether or not they are
-allowed by the information in <code>overrides</code> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <code>overrides</code>, the information in <code>overrides</code> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <code>overrides</code> is <code>NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <code>errpos</code>.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all
-characters are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h4 class="subheading">tld_check_lz</h4>
-
-<p><a name="tld_005fcheck_005flz"></a>
-
-<div class="defun">
-&mdash; Function: int <b>tld_check_lz</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005flz-105"></a></var><br>
-<blockquote><p><var>in</var>: Zero-terminated string in the current locales encoding to process.
-
-        <p><var>errpos</var>: Position of offending character is returned here.
-
-        <p><var>overrides</var>: A <code>Tld_table</code> array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-        <p>Test each of the characters in <code>in</code> for whether or not they are
-allowed by the information in <code>overrides</code> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <code>overrides</code>, the information in <code>overrides</code> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <code>overrides</code> is <code>NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <code>errpos</code>.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-
-        <p><strong>Return value:</strong> Returns the <code>Tld_rc</code> value <code>TLD_SUCCESS</code> if all
-characters are valid or when <code>tld</code> is null, <code>TLD_INVALID</code> if a
-character is not allowed, or additional error codes on general
-failure conditions. 
-</p></blockquote></div>
-
-<h3 class="section">7.5 Error Handling</h3>
-
-<h4 class="subheading">tld_strerror</h4>
-
-<p><a name="tld_005fstrerror"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>tld_strerror</b> (<var>Tld_rc rc</var>)<var><a name="index-tld_005fstrerror-106"></a></var><br>
-<blockquote><p><var>rc</var>: tld return code
-
-        <p>Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-        <p><strong>TLD_SUCCESS:</strong> Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-        <p><strong>TLD_INVALID:</strong> Invalid character found.
-
-        <p><strong>TLD_NODATA:</strong> No input data was provided.
-
-        <p><strong>TLD_MALLOC_ERROR:</strong> Error during memory allocation.
-
-        <p><strong>TLD_ICONV_ERROR:</strong> Error during iconv string conversion.
-
-        <p><strong>TLD_NO_TLD:</strong> No top-level domain found in domain string.
-
-        <p><strong>Return value:</strong> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <code>rc</code>. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ********************** PR29 Functions ******************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="PR29-Functions"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Examples">Examples</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#TLD-Functions">TLD Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">8 PR29 Functions</h2>
-
-<p><a name="index-PR29-Functions-107"></a>
-A deficiency in the specification of Unicode Normalization Forms has
-been found.  The consequence is that some strings can be normalized
-into different strings by different implementations.  In other words,
-two different implementations may return different output for the same
-input (because the interpretation of the specification is
-ambiguous). Further, an implementation invoked again on the one of the
-output strings may return a different string (because one of the
-interpretation of the ambiguous specification make normalization
-non-idempotent).  Fortunately, only a select few character sequence
-exhibit this problem, and none of them are expected to occur in
-natural languages (due to different linguistic uses of the involved
-characters).
-
-   <p>A full discussion of the problem may be found at:
-
-   <p><a href="http://www.unicode.org/review/pr-29.html">http://www.unicode.org/review/pr-29.html</a>
-
-   <p>The PR29 functions below allow you to detect the problem sequence.  So
-when would you want to use these functions?  For most applications,
-such as those using Nameprep for IDN, this is likely only to be an
-interoperability problem.  Thus, you may not want to care about it, as
-the character sequences will rarely occur naturally.  However, if you
-are using a profile, such as SASLPrep, to process authentication
-tokens; authorization tokens; or passwords, there is a real danger
-that attackers may try to use the peculiarities in these strings to
-attack parts of your system.  As only a small number of strings, and
-no naturally occurring strings, exhibit this problem, the conservative
-approach of rejecting the strings is recommended.  If this approach is
-not used, you should instead verify that all parts of your system,
-that process the tokens and passwords, use a NFKC implementation that
-produce the same output for the same input.
-
-   <p>Technically inclined readers may be interested in knowing more about
-the implementation aspects of the PR29 flaw. See <a href="#PR29-discussion">PR29 discussion</a>.
-
-<h3 class="section">8.1 Header file <code>pr29.h</code></h3>
-
-<p>To use the functions explained in this chapter, you need to include
-the file <samp><span class="file">pr29.h</span></samp> using:
-
-<pre class="example">     #include &lt;pr29.h&gt;
-</pre>
-   <h3 class="section">8.2 Core Functions</h3>
-
-<h4 class="subheading">pr29_4</h4>
-
-<p><a name="pr29_005f4"></a>
-
-<div class="defun">
-&mdash; Function: int <b>pr29_4</b> (<var>const uint32_t * in, size_t len</var>)<var><a name="index-pr29_005f4-108"></a></var><br>
-<blockquote><p><var>in</var>: input array with unicode code points.
-
-        <p><var>len</var>: length of input array with unicode code points.
-
-        <p>Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-        <p><strong>Return value:</strong> Returns the <code>Pr29_rc</code> value <code>PR29_SUCCESS</code> on success,
-and <code>PR29_PROBLEM</code> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations). 
-</p></blockquote></div>
-
-<h3 class="section">8.3 Utility Functions</h3>
-
-<h4 class="subheading">pr29_4z</h4>
-
-<p><a name="pr29_005f4z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>pr29_4z</b> (<var>const uint32_t * in</var>)<var><a name="index-pr29_005f4z-109"></a></var><br>
-<blockquote><p><var>in</var>: zero terminated array of Unicode code points.
-
-        <p>Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-        <p><strong>Return value:</strong> Returns the <code>Pr29_rc</code> value <code>PR29_SUCCESS</code> on success,
-and <code>PR29_PROBLEM</code> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations). 
-</p></blockquote></div>
-
-<h4 class="subheading">pr29_8z</h4>
-
-<p><a name="pr29_005f8z"></a>
-
-<div class="defun">
-&mdash; Function: int <b>pr29_8z</b> (<var>const char * in</var>)<var><a name="index-pr29_005f8z-110"></a></var><br>
-<blockquote><p><var>in</var>: zero terminated input UTF-8 string.
-
-        <p>Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-        <p><strong>Return value:</strong> Returns the <code>Pr29_rc</code> value <code>PR29_SUCCESS</code> on success,
-and <code>PR29_PROBLEM</code> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations), or <code>PR29_STRINGPREP_ERROR</code> if there was a
-problem converting the string from UTF-8 to UCS-4. 
-</p></blockquote></div>
-
-<h3 class="section">8.4 Error Handling</h3>
-
-<h4 class="subheading">pr29_strerror</h4>
-
-<p><a name="pr29_005fstrerror"></a>
-
-<div class="defun">
-&mdash; Function: const char * <b>pr29_strerror</b> (<var>Pr29_rc rc</var>)<var><a name="index-pr29_005fstrerror-111"></a></var><br>
-<blockquote><p><var>rc</var>: an <code>Pr29_rc</code> return code.
-
-        <p>Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-        <p><strong>PR29_SUCCESS:</strong> Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-        <p><strong>PR29_PROBLEM:</strong> A problem sequence was encountered.
-
-        <p><strong>PR29_STRINGPREP_ERROR:</strong> The character set conversion failed (only
-for <code>pr29_8z()</code>).
-
-        <p><strong>Return value:</strong> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <code>rc</code>. 
-</p></blockquote></div>
-
-<!-- ********************************************************** -->
-<!-- ***********************  Examples  *********************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Examples"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Invoking-idn">Invoking idn</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#PR29-Functions">PR29 Functions</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">9 Examples</h2>
-
-<p><a name="index-Examples-112"></a>
-This chapter contains example code which illustrate how `Libidn' can
-be used when writing your own application.
-
-<ul class="menu">
-<li><a accesskey="1" href="#Example-1">Example 1</a>:          Example using stringprep. 
-<li><a accesskey="2" href="#Example-2">Example 2</a>:          Example using punycode. 
-<li><a accesskey="3" href="#Example-3">Example 3</a>:          Example using IDNA ToASCII. 
-<li><a accesskey="4" href="#Example-4">Example 4</a>:          Example using IDNA ToUnicode. 
-<li><a accesskey="5" href="#Example-5">Example 5</a>:          Example using TLD checking. 
-</ul>
-
-<div class="node">
-<a name="Example-1"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Example-2">Example 2</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Examples">Examples</a>
-
-</div>
-
-<h3 class="section">9.1 Example 1</h3>
-
-<p>This example demonstrates how the stringprep functions are used.
-
-<pre class="verbatim">/* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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 &lt;http://www.gnu.org/licenses/>.
- *
- */
-
-#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;string.h>
-#include &lt;locale.h>         /* setlocale() */
-#include &lt;stringprep.h>
-
-/*
- * Compiling using libtool and pkg-config is recommended:
- *
- * $ libtool cc -o example example.c `pkg-config --cflags --libs libidn`
- * $ ./example
- * Input string encoded as `ISO-8859-1': ª
- * Before locale2utf8 (length 2): aa 0a
- * Before stringprep (length 3): c2 aa 0a
- * After stringprep (length 2): 61 0a
- * $
- *
- */
-
-int
-main (void)
-{
-  char buf[BUFSIZ];
-  char *p;
-  int rc;
-  size_t i;
-
-  setlocale (LC_ALL, "");
-
-  printf ("Input string encoded as `%s': ", stringprep_locale_charset ());
-  fflush (stdout);
-  if (!fgets (buf, BUFSIZ, stdin))
-    perror ("fgets");
-  buf[strlen (buf) - 1] = '\0';
-
-  printf ("Before locale2utf8 (length %ld): ", strlen (buf));
-  for (i = 0; i &lt; strlen (buf); i++)
-    printf ("%02x ", buf[i] &amp; 0xFF);
-  printf ("\n");
-
-  p = stringprep_locale_to_utf8 (buf);
-  if (p)
-    {
-      strcpy (buf, p);
-      free (p);
-    }
-  else
-    printf ("Could not convert string to UTF-8, continuing anyway...\n");
-
-  printf ("Before stringprep (length %ld): ", strlen (buf));
-  for (i = 0; i &lt; strlen (buf); i++)
-    printf ("%02x ", buf[i] &amp; 0xFF);
-  printf ("\n");
-
-  rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
-  if (rc != STRINGPREP_OK)
-    printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
-  else
-    {
-      printf ("After stringprep (length %ld): ", strlen (buf));
-      for (i = 0; i &lt; strlen (buf); i++)
-       printf ("%02x ", buf[i] &amp; 0xFF);
-      printf ("\n");
-    }
-
-  return 0;
-}
-</pre>
-<div class="node">
-<a name="Example-2"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Example-3">Example 3</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Example-1">Example 1</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Examples">Examples</a>
-
-</div>
-
-<h3 class="section">9.2 Example 2</h3>
-
-<p>This example demonstrates how the punycode functions are used.
-
-<pre class="verbatim">/* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002-2012 Simon Josefsson
- * Copyright (C) 2002  Adam M. Costello
- *
- * This file is part of GNU Libidn.
- *
- * 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 &lt;http://www.gnu.org/licenses/>.
- *
- */
-
-#include &lt;locale.h>         /* setlocale() */
-
-/*
- * This file is derived from RFC 3492 written by Adam M. Costello.
- *
- * Disclaimer and license: Regarding this entire document or any
- * portion of it (including the pseudocode and C code), the author
- * makes no guarantees and is not responsible for any damage resulting
- * from its use.  The author grants irrevocable permission to anyone
- * to use, modify, and distribute it in any way that does not diminish
- * the rights of anyone else to use, modify, and distribute it,
- * provided that redistributed derivative works do not contain
- * misleading author or version information.  Derivative works need
- * not be licensed under similar terms.
- *
- */
-
-#include &lt;assert.h>
-#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;string.h>
-
-#include &lt;punycode.h>
-
-/* For testing, we'll just set some compile-time limits rather than */
-/* use malloc(), and set a compile-time option rather than using a  */
-/* command-line option.                                             */
-
-enum
-{
-  unicode_max_length = 256,
-  ace_max_length = 256
-};
-
-static void
-usage (char **argv)
-{
-  fprintf (stderr,
-          "\n"
-          "%s -e reads code points and writes a Punycode string.\n"
-          "%s -d reads a Punycode string and writes code points.\n"
-          "\n"
-          "Input and output are plain text in the native character set.\n"
-          "Code points are in the form u+hex separated by whitespace.\n"
-          "Although the specification allows Punycode strings to contain\n"
-          "any characters from the ASCII repertoire, this test code\n"
-          "supports only the printable characters, and needs the Punycode\n"
-          "string to be followed by a newline.\n"
-          "The case of the u in u+hex is the force-to-uppercase flag.\n",
-          argv[0], argv[0]);
-  exit (EXIT_FAILURE);
-}
-
-static void
-fail (const char *msg)
-{
-  fputs (msg, stderr);
-  exit (EXIT_FAILURE);
-}
-
-static const char too_big[] =
-  "input or output is too large, recompile with larger limits\n";
-static const char invalid_input[] = "invalid input\n";
-static const char overflow[] = "arithmetic overflow\n";
-static const char io_error[] = "I/O error\n";
-
-/* The following string is used to convert printable */
-/* characters between ASCII and the native charset:  */
-
-static const char print_ascii[] = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" " !\"#$%&amp;'()*+,-./" "0123456789:;&lt;=>?" "\0x40"  /* at sign */
-  "ABCDEFGHIJKLMNO"
-  "PQRSTUVWXYZ[\\]^_" "`abcdefghijklmno" "pqrstuvwxyz{|}~\n";
-
-int
-main (int argc, char **argv)
-{
-  enum punycode_status status;
-  int r;
-  size_t input_length, output_length, j;
-  unsigned char case_flags[unicode_max_length];
-
-  setlocale (LC_ALL, "");
-
-  if (argc != 2)
-    usage (argv);
-  if (argv[1][0] != '-')
-    usage (argv);
-  if (argv[1][2] != 0)
-    usage (argv);
-
-  if (argv[1][1] == 'e')
-    {
-      uint32_t input[unicode_max_length];
-      unsigned long codept;
-      char output[ace_max_length + 1], uplus[3];
-      int c;
-
-      /* Read the input code points: */
-
-      input_length = 0;
-
-      for (;;)
-       {
-         r = scanf ("%2s%lx", uplus, &amp;codept);
-         if (ferror (stdin))
-           fail (io_error);
-         if (r == EOF || r == 0)
-           break;
-
-         if (r != 2 || uplus[1] != '+' || codept > (uint32_t) - 1)
-           {
-             fail (invalid_input);
-           }
-
-         if (input_length == unicode_max_length)
-           fail (too_big);
-
-         if (uplus[0] == 'u')
-           case_flags[input_length] = 0;
-         else if (uplus[0] == 'U')
-           case_flags[input_length] = 1;
-         else
-           fail (invalid_input);
-
-         input[input_length++] = codept;
-       }
-
-      /* Encode: */
-
-      output_length = ace_max_length;
-      status = punycode_encode (input_length, input, case_flags,
-                               &amp;output_length, output);
-      if (status == punycode_bad_input)
-       fail (invalid_input);
-      if (status == punycode_big_output)
-       fail (too_big);
-      if (status == punycode_overflow)
-       fail (overflow);
-      assert (status == punycode_success);
-
-      /* Convert to native charset and output: */
-
-      for (j = 0; j &lt; output_length; ++j)
-       {
-         c = output[j];
-         assert (c >= 0 &amp;&amp; c &lt;= 127);
-         if (print_ascii[c] == 0)
-           fail (invalid_input);
-         output[j] = print_ascii[c];
-       }
-
-      output[j] = 0;
-      r = puts (output);
-      if (r == EOF)
-       fail (io_error);
-      return EXIT_SUCCESS;
-    }
-
-  if (argv[1][1] == 'd')
-    {
-      char input[ace_max_length + 2], *p, *pp;
-      uint32_t output[unicode_max_length];
-
-      /* Read the Punycode input string and convert to ASCII: */
-
-      if (!fgets (input, ace_max_length + 2, stdin))
-       fail (io_error);
-      if (ferror (stdin))
-       fail (io_error);
-      if (feof (stdin))
-       fail (invalid_input);
-      input_length = strlen (input) - 1;
-      if (input[input_length] != '\n')
-       fail (too_big);
-      input[input_length] = 0;
-
-      for (p = input; *p != 0; ++p)
-       {
-         pp = strchr (print_ascii, *p);
-         if (pp == 0)
-           fail (invalid_input);
-         *p = pp - print_ascii;
-       }
-
-      /* Decode: */
-
-      output_length = unicode_max_length;
-      status = punycode_decode (input_length, input, &amp;output_length,
-                               output, case_flags);
-      if (status == punycode_bad_input)
-       fail (invalid_input);
-      if (status == punycode_big_output)
-       fail (too_big);
-      if (status == punycode_overflow)
-       fail (overflow);
-      assert (status == punycode_success);
-
-      /* Output the result: */
-
-      for (j = 0; j &lt; output_length; ++j)
-       {
-         r = printf ("%s+%04lX\n",
-                     case_flags[j] ? "U" : "u", (unsigned long) output[j]);
-         if (r &lt; 0)
-           fail (io_error);
-       }
-
-      return EXIT_SUCCESS;
-    }
-
-  usage (argv);
-  return EXIT_SUCCESS;         /* not reached, but quiets compiler warning */
-}
-</pre>
-<div class="node">
-<a name="Example-3"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Example-4">Example 4</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Example-2">Example 2</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Examples">Examples</a>
-
-</div>
-
-<h3 class="section">9.3 Example 3</h3>
-
-<p>This example demonstrates how the library is used to convert
-internationalized domain names into ASCII compatible names.
-
-<pre class="verbatim">/* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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 &lt;http://www.gnu.org/licenses/>.
- *
- */
-
-#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;string.h>
-#include &lt;locale.h>         /* setlocale() */
-#include &lt;stringprep.h>             /* stringprep_locale_charset() */
-#include &lt;idna.h>           /* idna_to_ascii_lz() */
-
-/*
- * Compiling using libtool and pkg-config is recommended:
- *
- * $ libtool cc -o example3 example3.c `pkg-config --cflags --libs libidn`
- * $ ./example3
- * Input domain encoded as `ISO-8859-1': www.räksmörgåsª.example
- * Read string (length 23): 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 aa 2e 65 78 61 6d 70 6c 65
- * ACE label (length 33): 'www.xn--rksmrgsa-0zap8p.example'
- * 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
- * $
- *
- */
-
-int
-main (void)
-{
-  char buf[BUFSIZ];
-  char *p;
-  int rc;
-  size_t i;
-
-  setlocale (LC_ALL, "");
-
-  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
-  fflush (stdout);
-  if (!fgets (buf, BUFSIZ, stdin))
-    perror ("fgets");
-  buf[strlen (buf) - 1] = '\0';
-
-  printf ("Read string (length %ld): ", strlen (buf));
-  for (i = 0; i &lt; strlen (buf); i++)
-    printf ("%02x ", buf[i] &amp; 0xFF);
-  printf ("\n");
-
-  rc = idna_to_ascii_lz (buf, &amp;p, 0);
-  if (rc != IDNA_SUCCESS)
-    {
-      printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
-      return EXIT_FAILURE;
-    }
-
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
-  for (i = 0; i &lt; strlen (p); i++)
-    printf ("%02x ", p[i] &amp; 0xFF);
-  printf ("\n");
-
-  free (p);
-
-  return 0;
-}
-</pre>
-<div class="node">
-<a name="Example-4"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Example-5">Example 5</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Example-3">Example 3</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Examples">Examples</a>
-
-</div>
-
-<h3 class="section">9.4 Example 4</h3>
-
-<p>This example demonstrates how the library is used to convert ASCII
-compatible names to internationalized domain names.
-
-<pre class="verbatim">/* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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 &lt;http://www.gnu.org/licenses/>.
- *
- */
-
-#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;string.h>
-#include &lt;locale.h>         /* setlocale() */
-#include &lt;stringprep.h>             /* stringprep_locale_charset() */
-#include &lt;idna.h>           /* idna_to_unicode_lzlz() */
-
-/*
- * Compiling using libtool and pkg-config is recommended:
- *
- * $ libtool cc -o example4 example4.c `pkg-config --cflags --libs libidn`
- * $ ./example4
- * Input domain encoded as `ISO-8859-1': www.xn--rksmrgsa-0zap8p.example
- * Read string (length 33): 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
- * ACE label (length 23): 'www.räksmörgåsa.example'
- * 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 61 2e 65 78 61 6d 70 6c 65
- * $
- *
- */
-
-int
-main (void)
-{
-  char buf[BUFSIZ];
-  char *p;
-  int rc;
-  size_t i;
-
-  setlocale (LC_ALL, "");
-
-  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
-  fflush (stdout);
-  if (!fgets (buf, BUFSIZ, stdin))
-    perror ("fgets");
-  buf[strlen (buf) - 1] = '\0';
-
-  printf ("Read string (length %ld): ", strlen (buf));
-  for (i = 0; i &lt; strlen (buf); i++)
-    printf ("%02x ", buf[i] &amp; 0xFF);
-  printf ("\n");
-
-  rc = idna_to_unicode_lzlz (buf, &amp;p, 0);
-  if (rc != IDNA_SUCCESS)
-    {
-      printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
-      return EXIT_FAILURE;
-    }
-
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
-  for (i = 0; i &lt; strlen (p); i++)
-    printf ("%02x ", p[i] &amp; 0xFF);
-  printf ("\n");
-
-  free (p);
-
-  return 0;
-}
-</pre>
-<div class="node">
-<a name="Example-5"></a>
-<p><hr>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Example-4">Example 4</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Examples">Examples</a>
-
-</div>
-
-<h3 class="section">9.5 Example 5</h3>
-
-<p>This example demonstrates how the library is used to check a string
-for invalid characters within a specific TLD.
-
-<pre class="verbatim">/* example5.c --- Example TLD checking.
- * Copyright (C) 2004-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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 &lt;http://www.gnu.org/licenses/>.
- *
- */
-
-#include &lt;stdio.h>
-#include &lt;stdlib.h>
-#include &lt;string.h>
-
-/* Get stringprep_locale_charset, etc. */
-#include &lt;stringprep.h>
-
-/* Get idna_to_ascii_8z, etc. */
-#include &lt;idna.h>
-
-/* Get tld_check_4z. */
-#include &lt;tld.h>
-
-/*
- * Compiling using libtool and pkg-config is recommended:
- *
- * $ libtool cc -o example5 example5.c `pkg-config --cflags --libs libidn`
- * $ ./example5
- * Input domain encoded as `UTF-8': fooß.no
- * Read string (length 8): 66 6f 6f c3 9f 2e 6e 6f
- * ToASCII string (length 8): fooss.no
- * ToUnicode string: U+0066 U+006f U+006f U+0073 U+0073 U+002e U+006e U+006f
- * Domain accepted by TLD check
- *
- * $ ./example5
- * Input domain encoded as `UTF-8': gr€€n.no
- * Read string (length 12): 67 72 e2 82 ac e2 82 ac 6e 2e 6e 6f
- * ToASCII string (length 16): xn--grn-l50aa.no
- * ToUnicode string: U+0067 U+0072 U+20ac U+20ac U+006e U+002e U+006e U+006f
- * Domain rejected by TLD check, Unicode position 2
- *
- */
-
-int
-main (void)
-{
-  char buf[BUFSIZ];
-  char *p;
-  uint32_t *r;
-  int rc;
-  size_t errpos, i;
-
-  printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
-  fflush (stdout);
-  if (!fgets (buf, BUFSIZ, stdin))
-    perror ("fgets");
-  buf[strlen (buf) - 1] = '\0';
-
-  printf ("Read string (length %ld): ", strlen (buf));
-  for (i = 0; i &lt; strlen (buf); i++)
-    printf ("%02x ", buf[i] &amp; 0xFF);
-  printf ("\n");
-
-  p = stringprep_locale_to_utf8 (buf);
-  if (p)
-    {
-      strcpy (buf, p);
-      free (p);
-    }
-  else
-    printf ("Could not convert string to UTF-8, continuing anyway...\n");
-
-  rc = idna_to_ascii_8z (buf, &amp;p, 0);
-  if (rc != IDNA_SUCCESS)
-    {
-      printf ("idna_to_ascii_8z failed (%d): %s\n", rc, idna_strerror (rc));
-      return 2;
-    }
-
-  printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
-
-  rc = idna_to_unicode_8z4z (p, &amp;r, 0);
-  free (p);
-  if (rc != IDNA_SUCCESS)
-    {
-      printf ("idna_to_unicode_8z4z failed (%d): %s\n",
-             rc, idna_strerror (rc));
-      return 2;
-    }
-
-  printf ("ToUnicode string: ");
-  for (i = 0; r[i]; i++)
-    printf ("U+%04x ", r[i]);
-  printf ("\n");
-
-  rc = tld_check_4z (r, &amp;errpos, NULL);
-  free (r);
-  if (rc == TLD_INVALID)
-    {
-      printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
-      return 1;
-    }
-  else if (rc != TLD_SUCCESS)
-    {
-      printf ("tld_check_4z() failed (%d): %s\n", rc, tld_strerror (rc));
-      return 2;
-    }
-
-  printf ("Domain accepted by TLD check\n");
-
-  return 0;
-}
-</pre>
-<!-- ********************************************************** -->
-<!-- *********************  Invoking idn  ********************* -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Invoking-idn"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Emacs-API">Emacs API</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Examples">Examples</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">10 Invoking idn</h2>
-
-<p><a name="index-idn-113"></a><a name="index-invoking-_0040command_007bidn_007d-114"></a><a name="index-command-line-115"></a>
-
-<h3 class="section">10.1 Name</h3>
-
-<p>GNU Libidn (idn) &ndash; Internationalized Domain Names command line tool
-
-<h3 class="section">10.2 Description</h3>
-
-<p><code>idn</code> allows internationalized string preparation
-(&lsquo;<samp><span class="samp">stringprep</span></samp>&rsquo;), encoding and decoding of punycode data, and IDNA
-ToASCII/ToUnicode operations to be performed on the command line.
-
-   <p>If strings are specified on the command line, they are used as input
-and the computed output is printed to standard output <code>stdout</code>. 
-If no strings are specified on the command line, the program read
-data, line by line, from the standard input <code>stdin</code>, and print
-the computed output to standard output.  What processing is performed
-(e.g., ToASCII, or Punycode encode) is indicated by options.  If any
-errors are encountered, the execution of the applications is aborted.
-
-   <p>All strings are expected to be encoded in the preferred charset used
-by your locale.  Use <code>--debug</code> to find out what this charset is. 
-You can override the charset used by setting environment variable
-<code>CHARSET</code>.
-
-   <p>To process a string that starts with <code>-</code>, for example
-<code>-foo</code>, use <code>--</code> to signal the end of parameters, as in
-<code>idn --quiet -a -- -foo</code>.
-
-<h3 class="section">10.3 Options</h3>
-
-<p><code>idn</code> recognizes these commands:
-
-<pre class="verbatim">  -h, --help               Print help and exit
-
-  -V, --version            Print version and exit
-
-  -s, --stringprep         Prepare string according to nameprep profile
-
-  -d, --punycode-decode    Decode Punycode
-
-  -e, --punycode-encode    Encode Punycode
-
-  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)
-
-  -u, --idna-to-unicode    Convert from ACE according to IDNA
-
-      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)
-
-      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)
-
-      --no-tld             Don't check string for TLD specific rules
-                             Only for --idna-to-ascii and --idna-to-unicode
-
-  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC
-
-  -p, --profile=STRING     Use specified stringprep profile instead
-                             Valid stringprep profiles: `Nameprep',
-                             `iSCSI', `Nodeprep', `Resourceprep',
-                             `trace', `SASLprep'
-
-      --debug              Print debugging information
-
-      --quiet              Silent operation
-</pre>
-
-<h3 class="section">10.4 Environment Variables</h3>
-
-<p>The <var>CHARSET</var> environment variable can be used to override what
-character set to be used for decoding incoming data (i.e., on the
-command line or on the standard input stream), and to encode data to
-the standard output.  If your system is set up correctly, however, the
-application will guess which character set is used automatically. 
-Example usage:
-
-<pre class="example">     $ CHARSET=ISO-8859-1 idn --punycode-encode
-     ...
-</pre>
-   <h3 class="section">10.5 Examples</h3>
-
-<p>Standard usage, reading input from standard input:
-
-<pre class="example">     jas@latte:~$ idn
-     libidn 0.3.5
-     Copyright 2002, 2003 Simon Josefsson.
-     GNU Libidn comes with NO WARRANTY, to the extent permitted by law.
-     You may redistribute copies of GNU Libidn under the terms of
-     the GNU Lesser General Public License.  For more information
-     about these matters, see the file named COPYING.LIB.
-     Type each input string on a line by itself, terminated by a newline character.
-     r&auml;ksm&ouml;rg&aring;s.se
-     xn--rksmrgs-5wao1o.se
-     jas@latte:~$
-</pre>
-   <p>Reading input from command line, and disable printing copyright and
-license information:
-
-<pre class="example">     jas@latte:~$ idn --quiet r&auml;ksm&ouml;rg&aring;s.se bl&aring;b&aelig;rgr&oslash;d.no
-     xn--rksmrgs-5wao1o.se
-     xn--blbrgrd-fxak7p.no
-     jas@latte:~$
-</pre>
-   <p>Accessing a specific StringPrep profile directly:
-
-<pre class="example">     jas@latte:~$ idn --quiet --profile=SASLprep --stringprep te&szlig;t&ordf;
-     te&szlig;ta
-     jas@latte:~$
-</pre>
-   <h3 class="section">10.6 Troubleshooting</h3>
-
-<p>Getting character data encoded right, and making sure Libidn use the
-same encoding, can be difficult.  The reason for this is that most
-systems encode character data in more than one character encoding,
-i.e., using <code>UTF-8</code> together with <code>ISO-8859-1</code> or
-<code>ISO-2022-JP</code>.  This problem is likely to continue to exist until
-only one character encoding come out as the evolutionary winner, or
-(more likely, at least to some extents) forever.
-
-   <p>The first step to troubleshooting character encoding problems with
-Libidn is to use the &lsquo;<samp><span class="samp">--debug</span></samp>&rsquo; parameter to find out which
-character set encoding &lsquo;<samp><span class="samp">idn</span></samp>&rsquo; believe your locale uses.
-
-<pre class="example">     jas@latte:~$ idn --debug --quiet ""
-     system locale uses charset `UTF-8'.
-     
-     jas@latte:~$
-</pre>
-   <p>If it prints <code>ANSI_X3.4-1968</code> (i.e., <code>US-ASCII</code>), this
-indicate you have not configured your locale properly.  To configure
-the locale, you can, for example, use &lsquo;<samp><span class="samp">LANG=sv_SE.UTF-8; export
-LANG</span></samp>&rsquo; at a <code>/bin/sh</code> prompt, to set up your locale for a Swedish
-environment using <code>UTF-8</code> as the encoding.
-
-   <p>Sometimes &lsquo;<samp><span class="samp">idn</span></samp>&rsquo; appear to be unable to translate from your system
-locale into <code>UTF-8</code> (which is used internally), and you get an
-error like the following:
-
-<pre class="example">     jas@latte:~$ idn --quiet foo
-     idn: could not convert from ISO-8859-1 to UTF-8.
-     jas@latte:~$
-</pre>
-   <p>The simplest explanation is that you haven't installed the
-&lsquo;<samp><span class="samp">iconv</span></samp>&rsquo; conversion tools.  You can find it as a standalone
-library in GNU Libiconv
-(<a href="http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</a>).  On many GNU/Linux
-systems, this library is part of the system, but you may have to
-install additional packages (e.g., &lsquo;<samp><span class="samp">glibc-locale</span></samp>&rsquo; for Debian) to
-be able to use it.
-
-   <p>Another explanation is that the error is correct and you are feeding
-&lsquo;<samp><span class="samp">idn</span></samp>&rsquo; invalid data.  This can happen inadvertently if you are not
-careful with the character set encoding you use.  For example, if your
-shell run in a <code>ISO-8859-1</code> environment, and you invoke
-&lsquo;<samp><span class="samp">idn</span></samp>&rsquo; with the &lsquo;<samp><span class="samp">CHARSET</span></samp>&rsquo; environment variable as follows,
-you will feed it <code>ISO-8859-1</code> characters but force it to believe
-they are <code>UTF-8</code>.  Naturally this will lead to an error, unless
-the byte sequences happen to be valid <code>UTF-8</code>.  Note that even if
-you don't get an error, the output may be incorrect in this situation,
-because <code>ISO-8859-1</code> and <code>UTF-8</code> does not in general encode
-the same characters as the same byte sequences.
-
-<pre class="example">     jas@latte:~$ idn --quiet --debug ""
-     system locale uses charset `ISO-8859-1'.
-     
-     jas@latte:~$ CHARSET=UTF-8 idn --quiet --debug r&auml;ksm&ouml;rg&aring;s
-     system locale uses charset `UTF-8'.
-     input[0] = U+0072
-     input[1] = U+4af3
-     input[2] = U+006d
-     input[3] = U+1b29e5
-     input[4] = U+0073
-     output[0] = U+0078
-     output[1] = U+006e
-     output[2] = U+002d
-     output[3] = U+002d
-     output[4] = U+0072
-     output[5] = U+006d
-     output[6] = U+0073
-     output[7] = U+002d
-     output[8] = U+0068
-     output[9] = U+0069
-     output[10] = U+0036
-     output[11] = U+0064
-     output[12] = U+0035
-     output[13] = U+0039
-     output[14] = U+0037
-     output[15] = U+0035
-     output[16] = U+0035
-     output[17] = U+0032
-     output[18] = U+0061
-     xn--rms-hi6d597552a
-     jas@latte:~$
-</pre>
-   <p>The sense moral here is to forget about &lsquo;<samp><span class="samp">CHARSET</span></samp>&rsquo; (configure your
-locales properly instead) unless you know what you are doing, and if
-you want to use it, do it carefully, after verifying with
-&lsquo;<samp><span class="samp">--debug</span></samp>&rsquo; that you get the desired results.
-
-<div class="node">
-<a name="Emacs-API"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Java-API">Java API</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Invoking-idn">Invoking idn</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">11 Emacs API</h2>
-
-<p>Included in Libidn are <samp><span class="file">punycode.el</span></samp> and <samp><span class="file">idna.el</span></samp> that
-provides an Emacs Lisp API to (a limited set of) the Libidn API.  This
-section describes the API.  Currently the IDNA API always set the
-<code>UseSTD3ASCIIRules</code> flag and clear the <code>AllowUnassigned</code>
-flag, in the future there may be functionality to specify these flags
-via the API.
-
-<h3 class="section">11.1 Punycode Emacs API</h3>
-
-<div class="defun">
-&mdash; Variable: <b>punycode-program</b><var><a name="index-punycode_002dprogram-116"></a></var><br>
-<blockquote><p>Name of the GNU Libidn <samp><span class="file">idn</span></samp> application.  The default is
-&lsquo;<samp><span class="samp">idn</span></samp>&rsquo;.  This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>punycode-environment</b><var><a name="index-punycode_002denvironment-117"></a></var><br>
-<blockquote><p>List of environment variable definitions prepended to
-&lsquo;<samp><span class="samp">process-environment</span></samp>&rsquo;.  The default is &lsquo;<samp><span class="samp">("CHARSET=UTF-8")</span></samp>&rsquo;. 
-This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>punycode-encode-parameters</b><var><a name="index-punycode_002dencode_002dparameters-118"></a></var><br>
-<blockquote><p>List of parameters passed to <var>punycode-program</var> to invoke punycode
-encoding mode.  The default is &lsquo;<samp><span class="samp">("--quiet" "--punycode-encode")</span></samp>&rsquo;. 
-This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>punycode-decode-parameters</b><var><a name="index-punycode_002ddecode_002dparameters-119"></a></var><br>
-<blockquote><p>Parameters passed to <var>punycode-program</var> to invoke punycode
-decoding mode.  The default is &lsquo;<samp><span class="samp">("--quiet" "--punycode-decode")</span></samp>&rsquo;. 
-This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: <b>punycode-encode</b><var> string<a name="index-punycode_002dencode-120"></a></var><br>
-<blockquote><p>Returns a Punycode encoding of the <var>string</var>, after converting the
-input into UTF-8. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: <b>punycode-decode</b><var> string<a name="index-punycode_002ddecode-121"></a></var><br>
-<blockquote><p>Returns a possibly multibyte string which is the decoding of the
-<var>string</var> which is a punycode encoded string. 
-</p></blockquote></div>
-
-<h3 class="section">11.2 IDNA Emacs API</h3>
-
-<div class="defun">
-&mdash; Variable: <b>idna-program</b><var><a name="index-idna_002dprogram-122"></a></var><br>
-<blockquote><p>Name of the GNU Libidn <samp><span class="file">idn</span></samp> application.  The default is
-&lsquo;<samp><span class="samp">idn</span></samp>&rsquo;.  This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>idna-environment</b><var><a name="index-idna_002denvironment-123"></a></var><br>
-<blockquote><p>List of environment variable definitions prepended to
-&lsquo;<samp><span class="samp">process-environment</span></samp>&rsquo;.  The default is &lsquo;<samp><span class="samp">("CHARSET=UTF-8")</span></samp>&rsquo;. 
-This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>idna-to-ascii-parameters</b><var><a name="index-idna_002dto_002dascii_002dparameters-124"></a></var><br>
-<blockquote><p>List of parameters passed to <var>idna-program</var> to invoke IDNA ToASCII
-mode.  The default is &lsquo;<samp><span class="samp">("--quiet" "--idna-to-ascii"
-"--usestd3asciirules")</span></samp>&rsquo;.  This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Variable: <b>idna-to-unicode-parameters</b><var><a name="index-idna_002dto_002dunicode_002dparameters-125"></a></var><br>
-<blockquote><p>Parameters passed <var>idna-program</var> to invoke IDNA ToUnicode mode. 
-The default is &lsquo;<samp><span class="samp">("--quiet" "--idna-to-unicode"
-"--usestd3asciirules")</span></samp>&rsquo;.  This variable can be customized. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: <b>idna-to-ascii</b><var> string<a name="index-idna_002dto_002dascii-126"></a></var><br>
-<blockquote><p>Returns an ASCII Compatible Encoding (ACE) of the string computed by
-the IDNA ToASCII operation on the input <var>string</var>, after converting
-the input to UTF-8. 
-</p></blockquote></div>
-
-<div class="defun">
-&mdash; Function: <b>idna-to-unicode</b><var> string<a name="index-idna_002dto_002dunicode-127"></a></var><br>
-<blockquote><p>Returns a possibly multibyte string which is the output of the IDNA
-ToUnicode operation computed on the input <var>string</var>. 
-</p></blockquote></div>
-
-<div class="node">
-<a name="Java-API"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#C_0023-API">C# API</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Emacs-API">Emacs API</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">12 Java API</h2>
-
-<p>Libidn has been ported to the Java programming language, and as a
-consequence most of the API is available to native Java applications. 
-This section contain notes on this support, complete documentation is
-pending.
-
-   <p>The Java library, if Libidn has been built with Java support
-(see <a href="#Downloading-and-Installing">Downloading and Installing</a>), will be placed in
-<samp><span class="file">java/libidn-1.25.jar</span></samp>.  The source code is located in
-<samp><span class="file">java/gnu/inet/encoding/</span></samp>.
-
-<h3 class="section">12.1 Overview</h3>
-
-<p>This package provides a Java implementation of the Internationalized
-Domain Names in Applications (IDNA) standard. It is written entirely
-in Java and does not require any additional libraries to be set up.
-
-   <p>The gnu.inet.encoding.IDNA class offers two public functions, toASCII
-and toUnicode which can be used as follows:
-
-<pre class="example">     gnu.inet.encoding.IDNA.toASCII("bl&ouml;ds.z&uuml;g");
-     gnu.inet.encoding.IDNA.toUnicode("xn--blds-6qa.xn--zg-xka");
-</pre>
-   <h3 class="section">12.2 Miscellaneous Programs</h3>
-
-<p>The <samp><span class="file">misc/</span></samp> directory contains several programs that are related
-to the Java part of GNU Libidn, but that don't need to be included in
-the main source tree.
-
-<h4 class="subsection">12.2.1 GenerateRFC3454</h4>
-
-<p>This program parses RFC3454 and creates the RFC3454.java program that
-is required during the StringPrep phase.
-
-   <p>The RFC can be found at various locations, for example at
-<a href="http://www.ietf.org/rfc/rfc3454.txt">http://www.ietf.org/rfc/rfc3454.txt</a>.
-
-   <p>Invoke the program as follows:
-
-<pre class="example">     $ java GenerateRFC3454
-     Creating RFC3454.java... Ok.
-</pre>
-   <h4 class="subsection">12.2.2 GenerateNFKC</h4>
-
-<p>The GenerateNFKC program parses the Unicode character database file
-and generates all the tables required for NFKC. This program requires
-the two files UnicodeData.txt and CompositionExclusions.txt of version
-3.2 of the Unicode files. Note that RFC3454 (Stringprep) defines that
-Unicode version 3.2 is to be used, not the latest version.
-
-   <p>The Unicode data files can be found at
-<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>.
-
-   <p>Invoke the program as follows:
-
-<pre class="example">     $ java GenerateNFKC
-     Creating CombiningClass.java... Ok.
-     Creating DecompositionKeys.java... Ok.
-     Creating DecompositionMappings.java... Ok.
-     Creating Composition.java... Ok.
-</pre>
-   <h4 class="subsection">12.2.3 TestIDNA</h4>
-
-<p>The TestIDNA program allows to test the IDNA implementation manually
-or against Simon Josefsson's test vectors.
-
-   <p>The test vectors can be found at the Libidn homepage,
-<a href="http://www.gnu.org/software/libidn/">http://www.gnu.org/software/libidn/</a>.
-
-   <p>To test the transformation manually, use:
-
-<pre class="example">     $ java -cp .:../libidn.jar TestIDNA -a &lt;string to test&gt;
-     Input: &lt;string to test&gt;
-     Output: &lt;toASCII(string to test)&gt;
-     $ java -cp .:../libidn.jar TestIDNA -u &lt;string to test&gt;
-     Input: &lt;string to test&gt;
-     Output: &lt;toUnicode(string to test)&gt;
-</pre>
-   <p>To test against draft-josefsson-idn-test-vectors.html, use:
-
-<pre class="example">     $ java -cp .:../libidn.jar TestIDNA -t
-     No errors detected!
-</pre>
-   <h4 class="subsection">12.2.4 TestNFKC</h4>
-
-<p>The TestNFKC program allows to test the NFKC implementation manually
-or against the NormalizationTest.txt file from the Unicode data files.
-
-   <p>To test the normalization manually, use:
-
-<pre class="example">     $ java -cp .:../libidn.jar TestNFKC &lt;string to test&gt;
-     Input: &lt;string to test&gt;
-     Output: &lt;nfkc version of the string to test&gt;
-</pre>
-   <p>To test against NormalizationTest.txt:
-
-<pre class="example">     $ java -cp .:../libidn.jar TestNFKC
-     No errors detected!
-</pre>
-   <h3 class="section">12.3 Possible Problems</h3>
-
-<p>Beware of Bugs: This Java API needs a lot more testing, especially
-with "exotic" character sets. While it works for me, it may not work
-for you.
-
-   <p>Encoding of your Java sources: If you are using non-ASCII characters
-in your Java source code, make sure javac compiles your programs with
-the correct encoding. If necessary specify the encoding using the
--encoding parameter.
-
-   <p>Java Unicode handling: Java 1.4 only handles 16-bit Unicode code
-points (i.e. characters in the Basic Multilingual Plane), this
-implementation therefore ignores all references to so-called
-Supplementary Characters (U+10000 to U+10FFFF). Starting from Java
-1.5, these characters will also be supported by Java, but this will
-require changes to this library.  See also the next section.
-
-<h3 class="section">12.4 A Note on Java and Unicode</h3>
-
-<p>This library uses Java's built-in 'char' datatype. Up to Java 1.4, this
-datatype only supports 16-bit Unicode code points, also called the
-Basic Multilingual Plane. For this reason, this library doesn't work
-for Supplementary Characters (i.e. characters from U+10000 to
-U+10FFFF). All references to such characters are silently ignored.
-
-   <p>Starting from Java 1.5, also Supplementary Characters will be
-supported. However, this will require changes in the present version
-of the library. Java 1.5 is currently in beta status.
-
-   <p>For more information refer to the documentation of java.lang.Character
-in the JDK API.
-
-<div class="node">
-<a name="C%23-API"></a>
-<a name="C_0023-API"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Acknowledgements">Acknowledgements</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Java-API">Java API</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">13 C# API</h2>
-
-<p>The Libidn library has been ported to the C# language.  The port
-reside in the top-level <samp><span class="file">csharp/</span></samp> directory.  Currently, no
-further documentation about the implementation or the API is
-available.  However, the C# port was based on the Java port, and the
-API is exactly the same as in the Java version.  The help files for
-the Java API may thus be useful.
-
-<!-- ********************************************************** -->
-<!-- *******************  Acknowledgements  ******************* -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="Acknowledgements"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#History">History</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#C_0023-API">C# API</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">14 Acknowledgements</h2>
-
-<p>The punycode implementation was taken from the IETF IDN Punycode
-specification, by Adam M. Costello.  The TLD code was contributed by
-Thomas Jacob.  The Java implementation was contributed by Oliver Hitz. 
-The C# implementation was contributed by Alexander Gnauck.  The
-Unicode tables were provided by Unicode, Inc.  Some functions for
-dealing with Unicode (see nfkc.c and toutf8.c) were borrowed from
-GLib, downloaded from <a href="http://www.gtk.org/">http://www.gtk.org/</a>.  The manual borrowed
-text from Libgcrypt by Werner Koch.
-
-   <p>Inspiration for many things that, consciously or not, have gone into
-this package is due to a number of free software package that the
-author has been exposed to.  The author wishes to acknowledge the free
-software community in general, for giving an example on what role
-software development can play in the modern society.
-
-   <p>Several people reported bugs, sent patches or suggested improvements,
-see the file THANKS in the top-level directory of the source code.
-
-<!-- ********************************************************** -->
-<!-- ************************  History  *********************** -->
-<!-- ********************************************************** -->
-<div class="node">
-<a name="History"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#PR29-discussion">PR29 discussion</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Acknowledgements">Acknowledgements</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="chapter">15 History</h2>
-
-<p>The complete history of user visible changes is stored in the file
-<samp><span class="file">NEWS</span></samp> in the top-level directory of the source code tree.  The
-complete history of modifications to each file is stored in the file
-<samp><span class="file">ChangeLog</span></samp> in the same directory.  This section contain a
-condensed version of that information, in the form of &ldquo;milestones&rdquo;
-for the project.
-
-     <dl>
-<dt>Stringprep implementation.<dd>Version 0.0.0 released on 2002-11-05.
-
-     <br><dt>IDNA and Punycode implementations, part of the GNU project.<dd>Version 0.1.0 released on 2003-01-05.
-
-     <br><dt>Uses official IDNA ACE prefix <code>xn--</code>.<dd>Version 0.1.7 released on 2003-02-12.
-
-     <br><dt>Command line interface.<dd>Version 0.1.11 released on 2003-02-26.
-
-     <br><dt>GNU Libc add-on proposed.<dd>Version 0.1.12 released on 2003-03-06.
-
-     <br><dt>Interoperability testing during IDNConnect.<dd>Version 0.3.1 released on 2003-10-02.
-
-     <br><dt>TLD restriction testing.<dd>Version 0.4.0 released on 2004-02-28.
-
-     <br><dt>GNU Libc add-on integrated.<dd>Version 0.4.1 released on 2004-03-08.
-
-     <br><dt>Native Java implementation.<dd>Version 0.4.2-0.4.9 released between 2004-03-20 and 2004-06-11.
-
-     <br><dt>PR-29 functions for &ldquo;problem sequences&rdquo;.<dd>Version 0.5.0 released on 2004-06-26.
-
-     <br><dt>Many small portability fixes and wider use.<dd>Version 0.5.1 through 0.5.20, released between 2004-07-09 and
-2005-10-23.
-
-     <br><dt>Native C# implementation.<dd>Version 0.6.0 released on 2005-12-03.
-
-     <br><dt>Windows support through cross-compilation.<dd>Version 0.6.1 released on 2006-01-20.
-
-     <br><dt>Library declared stable by releasing v1.0.<dd>Version 1.0 released on 2007-07-31.
-
-   </dl>
-
-<div class="node">
-<a name="PR29-discussion"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#On-Label-Separators">On Label Separators</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#History">History</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="appendix">Appendix A PR29 discussion</h2>
-
-<p>If you wish to experiment with a modified Unicode NFKC implementation
-according to the PR29 proposal, you may find the following bug report
-useful.  However, I have not verified that the suggested modifications
-are correct.  For reference, I'm including my response to the report
-as well.
-
-<pre class="verbatim">From: Rick McGowan &lt;rick@unicode.org>
-Subject: Possible bug and status of PR 29 change(s)
-To: bug-libidn@gnu.org
-Date: Wed, 27 Oct 2004 14:49:17 -0700
-
-Hello. On behalf of the Unicode Consortium editorial committee, I would
-like to find out more information about the PR 29 fixes, if any, and
-functions in Libidn. Your implementation was listed in the text of PR29 as
-needing investigation, so I am following up on several implementations.
-
-The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
-draft of UAX #15 has been issued.
-
-I have looked at Libidn 0.5.8 (today), and there may still be a possible
-bug in NFKC.java and nfkc.c.
-
-------------------------------------------------------
-
-1. In NFKC.java, this line in canonicalOrdering():
-
-      if (i > 0 &amp;&amp; (last_cc == 0 || last_cc != cc)) {
-
-should perhaps be changed to:
-
-      if (i > 0 &amp;&amp; (last_cc == 0 || last_cc &lt; cc)) {
-
-but I'm not sure of the sense of this comparison.
-
-------------------------------------------------------
-
-2. In nfkc.c, function _g_utf8_normalize_wc() has this code:
-
-         if (i > 0 &amp;&amp;
-             (last_cc == 0 || last_cc != cc) &amp;&amp;
-             combine (wc_buffer[last_start], wc_buffer[i],
-                      &amp;wc_buffer[last_start]))
-           {
-
-This appears to have the same bug as the current Python implementation (in
-Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
-update, that the next combining character is the same or HIGHER than the
-current one. It now checks to see if it's non-zero and not equal.
-
-The above line(s) should perhaps be changed to:
-
-         if (i > 0 &amp;&amp;
-             (last_cc == 0 || last_cc &lt; cc) &amp;&amp;
-             combine (wc_buffer[last_start], wc_buffer[i],
-                      &amp;wc_buffer[last_start]))
-           {
-
-but I'm not sure of the sense of the comparison (&lt; or > or &lt;=?) here.
-
-In the text of PR29, I will be marking Libidn as "needs change" and adding
-the version number that I checked. If any further change is made, please
-let me know the release version, and I'll update again.
-
-Regards,
-       Rick McGowan
-</pre>
-
-<pre class="verbatim">From: Simon Josefsson &lt;jas@extundo.com>
-Subject: Re: Possible bug and status of PR 29 change(s)
-To: Rick McGowan &lt;rick@unicode.org>
-Cc: bug-libidn@gnu.org
-Date: Thu, 28 Oct 2004 09:47:47 +0200
-
-Rick McGowan &lt;rick@unicode.org> writes:
-
-> Hello. On behalf of the Unicode Consortium editorial committee, I would
-> like to find out more information about the PR 29 fixes, if any, and
-> functions in Libidn. Your implementation was listed in the text of PR29 as
-> needing investigation, so I am following up on several implementations.
->
-> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
-> draft of UAX #15 has been issued.
->
-> I have looked at Libidn 0.5.8 (today), and there may still be a possible
-> bug in NFKC.java and nfkc.c.
-
-Hello Rick.
-
-I believe the current behavior is intentional.  Libidn do not aim to
-implement latest-and-greatest NFKC, it aim to implement the NFKC
-functionality required for StringPrep and IDN.  As you may know,
-StringPrep/IDN reference Unicode 3.2.0, and explicitly says any later
-changes (which I consider PR29 as) do not apply.
-
-In fact, I believe that would I incorporate the changes suggested in
-PR29, I would in fact be violating the IDN specifications.
-
-Thanks for looking into the code and finding the place where the
-change could be made.  I'll see if I can mention this in the manual
-somewhere, for technically interested readers.
-
-Regards,
-Simon
-</pre>
-
-<div class="node">
-<a name="On-Label-Separators"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Copying-Information">Copying Information</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#PR29-discussion">PR29 discussion</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="appendix">Appendix B On Label Separators</h2>
-
-<p>Some strings contains characters whose NFKC normalized form contain
-the ASCII dot (0x2E, &ldquo;.&rdquo;).  Examples of these characters are U+2024
-(ONE DOT LEADER) and U+248C (DIGIT FIVE FULL STOP).  The strings have
-the interesting property that their IDNA ToASCII output will contain
-embedded dots.  For example:
-
-<pre class="example">     ToASCII (hi U+248C com) = hi5.com
-     ToASCII (r&auml;ksm&ouml;rg&aring;s U+2024 com) = xn--rksmrgs.com-l8as9u
-</pre>
-   <p>This demonstrate the two general cases: The first where the ASCII dot
-is part of an output that do not begin with the IDN prefix
-<code>xn--</code>.  The second example illustrate when the dot is part of
-IDN prefixed with <code>xn--</code>.
-
-   <p>The input strings are, from the DNS point of view, a single label. 
-The IDNA algorithm translate one label at a time.  Thus, the output is
-expected to be only one label.  What is important here is to make sure
-the DNS resolver receives the correct query.  The DNS protocol does
-not use the dot to delimit labels on the wire, rather it uses
-length-value pairs.  Thus the correct query would be for
-<code>{7}hi5.com</code> and <code>{22}xn--rksmrgs.com-l8as9u</code>
-respectively.
-
-   <p>Some implementations <a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a> have decided that
-these inputs strings are potentially confusing for the user.  The
-string <code>hi U+248C com</code> looks like <code>hi5.com</code> on systems that
-support Unicode properly.  These implementations do not follow RFC
-3490.  They yield:
-
-<pre class="example">     ToASCII (hi U+248C com) = hi5.com
-     ToASCII (r&auml;ksm&ouml;rg&aring;s U+2024 com) = xn--rksmrgs-5wao1o.com
-</pre>
-   <p>The DNS query they perform are <code>{3}hi5{3}com</code> and
-<code>{18}xn--rksmrgs-5wao1o{3}com</code> respectively.  Arguably, this
-leads to a better user experience, and suggests that the IDNA
-specification is sub-optimal in this area.
-
-<h3 class="section">B.1 Recommended Workaround</h3>
-
-<p>It has been suggested to normalize the entire input string using NFKC
-before passing it to IDNA ToASCII.  You may use
-<code>stringprep_utf8_nfkc_normalize</code> or
-<code>stringprep_ucs4_nfkc_normalize</code>.  This appears to lead to
-similar behaviour as IE/Firefox, which would avoid the problem, but
-this needs to be confirmed.  Feel free to discuss the issue with us.
-
-   <p>Alternative workarounds are being considered.  Eventually Libidn may
-implement a new flag to the <code>idna_*</code> functions that implements a
-recommended way to work around this problem.
-
-<div class="node">
-<a name="Copying-Information"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Function-and-Variable-Index">Function and Variable Index</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#On-Label-Separators">On Label Separators</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="appendix">Appendix C Copying Information</h2>
-
-<ul class="menu">
-<li><a accesskey="1" href="#GNU-Free-Documentation-License">GNU Free Documentation License</a>:    License for copying this manual. 
-</ul>
-
-<div class="node">
-<a name="GNU-Free-Documentation-License"></a>
-<p><hr>
-Up:&nbsp;<a rel="up" accesskey="u" href="#Copying-Information">Copying Information</a>
-
-</div>
-
-<h3 class="appendixsec">C.1 GNU Free Documentation License</h3>
-
-<p><a name="index-FDL_002c-GNU-Free-Documentation-License-128"></a>
-
-<!-- The GNU Free Documentation License. -->
-<div align="center">Version 1.3, 3 November 2008</div>
-
-<!-- This file is intended to be included within another document, -->
-<!-- hence no sectioning command or @node. -->
-<pre class="display">     Copyright &copy; 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     <a href="http://fsf.org/">http://fsf.org/</a>
-     
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-</pre>
-     <ol type=1 start=0>
-<li>PREAMBLE
-
-     <p>The purpose of this License is to make a manual, textbook, or other
-functional and useful document <dfn>free</dfn> in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially. 
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-     <p>This License is a kind of &ldquo;copyleft&rdquo;, which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-     <p>We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-     <li>APPLICABILITY AND DEFINITIONS
-
-     <p>This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The &ldquo;Document&rdquo;, below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as &ldquo;you&rdquo;.  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-     <p>A &ldquo;Modified Version&rdquo; of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-     <p>A &ldquo;Secondary Section&rdquo; is a named appendix or a front-matter section
-of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject.  (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-     <p>The &ldquo;Invariant Sections&rdquo; are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-     <p>The &ldquo;Cover Texts&rdquo; are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-     <p>A &ldquo;Transparent&rdquo; copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent. 
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not &ldquo;Transparent&rdquo; is called &ldquo;Opaque&rdquo;.
-
-     <p>Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input
-format, SGML or XML using a publicly available
-DTD, and standard-conforming simple HTML,
-PostScript or PDF designed for human modification.  Examples
-of transparent image formats include PNG, XCF and
-JPG.  Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, SGML or
-XML for which the DTD and/or processing tools are
-not generally available, and the machine-generated HTML,
-PostScript or PDF produced by some word processors for
-output purposes only.
-
-     <p>The &ldquo;Title Page&rdquo; means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, &ldquo;Title Page&rdquo; means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-     <p>The &ldquo;publisher&rdquo; means any person or entity that distributes copies
-of the Document to the public.
-
-     <p>A section &ldquo;Entitled XYZ&rdquo; means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as &ldquo;Acknowledgements&rdquo;,
-&ldquo;Dedications&rdquo;, &ldquo;Endorsements&rdquo;, or &ldquo;History&rdquo;.)  To &ldquo;Preserve the Title&rdquo;
-of such a section when you modify the Document means that it remains a
-section &ldquo;Entitled XYZ&rdquo; according to this definition.
-
-     <p>The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-     <li>VERBATIM COPYING
-
-     <p>You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-     <p>You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-     <li>COPYING IN QUANTITY
-
-     <p>If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition. 
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-     <p>If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-     <p>If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material. 
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-     <p>It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-     <li>MODIFICATIONS
-
-     <p>You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-          <ol type=A start=1>
-<li>Use in the Title Page (and on the covers, if any) a title distinct
-from that of the Document, and from those of previous versions
-(which should, if there were any, be listed in the History section
-of the Document).  You may use the same title as a previous version
-if the original publisher of that version gives permission.
-
-          <li>List on the Title Page, as authors, one or more persons or entities
-responsible for authorship of the modifications in the Modified
-Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has fewer than five),
-unless they release you from this requirement.
-
-          <li>State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
-          <li>Preserve all the copyright notices of the Document.
-
-          <li>Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
-          <li>Include, immediately after the copyright notices, a license notice
-giving the public permission to use the Modified Version under the
-terms of this License, in the form shown in the Addendum below.
-
-          <li>Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
-          <li>Include an unaltered copy of this License.
-
-          <li>Preserve the section Entitled &ldquo;History&rdquo;, Preserve its Title, and add
-to it an item stating at least the title, year, new authors, and
-publisher of the Modified Version as given on the Title Page.  If
-there is no section Entitled &ldquo;History&rdquo; in the Document, create one
-stating the title, year, authors, and publisher of the Document as
-given on its Title Page, then add an item describing the Modified
-Version as stated in the previous sentence.
-
-          <li>Preserve the network location, if any, given in the Document for
-public access to a Transparent copy of the Document, and likewise
-the network locations given in the Document for previous versions
-it was based on.  These may be placed in the &ldquo;History&rdquo; section. 
-You may omit a network location for a work that was published at
-least four years before the Document itself, or if the original
-publisher of the version it refers to gives permission.
-
-          <li>For any section Entitled &ldquo;Acknowledgements&rdquo; or &ldquo;Dedications&rdquo;, Preserve
-the Title of the section, and preserve in the section all the
-substance and tone of each of the contributor acknowledgements and/or
-dedications given therein.
-
-          <li>Preserve all the Invariant Sections of the Document,
-unaltered in their text and in their titles.  Section numbers
-or the equivalent are not considered part of the section titles.
-
-          <li>Delete any section Entitled &ldquo;Endorsements&rdquo;.  Such a section
-may not be included in the Modified Version.
-
-          <li>Do not retitle any existing section to be Entitled &ldquo;Endorsements&rdquo; or
-to conflict in title with any Invariant Section.
-
-          <li>Preserve any Warranty Disclaimers.
-          </ol>
-
-     <p>If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice. 
-These titles must be distinct from any other section titles.
-
-     <p>You may add a section Entitled &ldquo;Endorsements&rdquo;, provided it contains
-nothing but endorsements of your Modified Version by various
-parties&mdash;for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-     <p>You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-     <p>The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-     <li>COMBINING DOCUMENTS
-
-     <p>You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-     <p>The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number. 
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-     <p>In the combination, you must combine any sections Entitled &ldquo;History&rdquo;
-in the various original documents, forming one section Entitled
-&ldquo;History&rdquo;; likewise combine any sections Entitled &ldquo;Acknowledgements&rdquo;,
-and any sections Entitled &ldquo;Dedications&rdquo;.  You must delete all
-sections Entitled &ldquo;Endorsements.&rdquo;
-
-     <li>COLLECTIONS OF DOCUMENTS
-
-     <p>You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-     <p>You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-     <li>AGGREGATION WITH INDEPENDENT WORKS
-
-     <p>A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an &ldquo;aggregate&rdquo; if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit. 
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-     <p>If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form. 
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-     <li>TRANSLATION
-
-     <p>Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4. 
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-     <p>If a section in the Document is Entitled &ldquo;Acknowledgements&rdquo;,
-&ldquo;Dedications&rdquo;, or &ldquo;History&rdquo;, the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-     <li>TERMINATION
-
-     <p>You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-     <p>However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-     <p>Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-     <p>Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
-     <li>FUTURE REVISIONS OF THIS LICENSE
-
-     <p>The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
-
-     <p>Each version of the License is given a distinguishing version number. 
-If the Document specifies that a particular numbered version of this
-License &ldquo;or any later version&rdquo; applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.  If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
-     <li>RELICENSING
-
-     <p>&ldquo;Massive Multiauthor Collaboration Site&rdquo; (or &ldquo;MMC Site&rdquo;) means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works.  A
-public wiki that anybody can edit is an example of such a server.  A
-&ldquo;Massive Multiauthor Collaboration&rdquo; (or &ldquo;MMC&rdquo;) contained in the
-site means any set of copyrightable works thus published on the MMC
-site.
-
-     <p>&ldquo;CC-BY-SA&rdquo; means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-     <p>&ldquo;Incorporate&rdquo; means to publish or republish a Document, in whole or
-in part, as part of another Document.
-
-     <p>An MMC is &ldquo;eligible for relicensing&rdquo; if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole
-or in part into the MMC, (1) had no cover texts or invariant sections,
-and (2) were thus incorporated prior to November 1, 2008.
-
-     <p>The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
-        </ol>
-
-<h3 class="heading">ADDENDUM: How to use this License for your documents</h3>
-
-<p>To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-<pre class="smallexample">       Copyright (C)  <var>year</var>  <var>your name</var>.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-</pre>
-   <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the &ldquo;with<small class="dots">...</small>Texts.&rdquo; line with this:
-
-<pre class="smallexample">         with the Invariant Sections being <var>list their titles</var>, with
-         the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
-         being <var>list</var>.
-</pre>
-   <p>If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   <p>If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-<!-- Local Variables: -->
-<!-- ispell-local-pdict: "ispell-dict" -->
-<!-- End: -->
-<div class="node">
-<a name="Function-and-Variable-Index"></a>
-<p><hr>
-Next:&nbsp;<a rel="next" accesskey="n" href="#Concept-Index">Concept Index</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Copying-Information">Copying Information</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="unnumbered">Function and Variable Index</h2>
-
-<ul class="index-fn" compact>
-<li><a href="#index-idn_005ffree-48"><code>idn_free</code></a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-idna_002dto_002dascii-126"><code>idna-to-ascii</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-idna_002dto_002dunicode-127"><code>idna-to-unicode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-idna_005fstrerror-93"><code>idna_strerror</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f4i-83"><code>idna_to_ascii_4i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f4z-85"><code>idna_to_ascii_4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f8z-86"><code>idna_to_ascii_8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005flz-87"><code>idna_to_ascii_lz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f44i-84"><code>idna_to_unicode_44i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f4z4z-88"><code>idna_to_unicode_4z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8z4z-89"><code>idna_to_unicode_8z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8z8z-90"><code>idna_to_unicode_8z8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8zlz-91"><code>idna_to_unicode_8zlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005flzlz-92"><code>idna_to_unicode_lzlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-pr29_005f4-108"><code>pr29_4</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005f4z-109"><code>pr29_4z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005f8z-110"><code>pr29_8z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005fstrerror-111"><code>pr29_strerror</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-punycode_002ddecode-121"><code>punycode-decode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-punycode_002dencode-120"><code>punycode-encode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-punycode_005fdecode-77"><code>punycode_decode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-punycode_005fencode-76"><code>punycode_encode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-punycode_005fstrerror-78"><code>punycode_strerror</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-stringprep-66"><code>stringprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005f4i-64"><code>stringprep_4i</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005f4zi-65"><code>stringprep_4zi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fcheck_005fversion-40"><code>stringprep_check_version</code></a>: <a href="#Version-Check">Version Check</a></li>
-<li><a href="#index-stringprep_005fconvert-57"><code>stringprep_convert</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fiscsi-70"><code>stringprep_iscsi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005flocale_005fcharset-56"><code>stringprep_locale_charset</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005flocale_005fto_005futf8-58"><code>stringprep_locale_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fnameprep_005fno_005funassigned-69"><code>stringprep_nameprep_no_unassigned</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fplain-71"><code>stringprep_plain</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fprofile-67"><code>stringprep_profile</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fstrerror-68"><code>stringprep_strerror</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fucs4_005fnfkc_005fnormalize-54"><code>stringprep_ucs4_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fucs4_005fto_005futf8-52"><code>stringprep_ucs4_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005funichar_005fto_005futf8-50"><code>stringprep_unichar_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fnfkc_005fnormalize-55"><code>stringprep_utf8_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005flocale-59"><code>stringprep_utf8_to_locale</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005fucs4-53"><code>stringprep_utf8_to_ucs4</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005funichar-51"><code>stringprep_utf8_to_unichar</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fxmpp_005fnodeprep-72"><code>stringprep_xmpp_nodeprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fxmpp_005fresourceprep-73"><code>stringprep_xmpp_resourceprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4-102"><code>tld_check_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4t-95"><code>tld_check_4t</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4tz-96"><code>tld_check_4tz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4z-103"><code>tld_check_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f8z-104"><code>tld_check_8z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005flz-105"><code>tld_check_lz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fdefault_005ftable-101"><code>tld_default_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005f4-97"><code>tld_get_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005f4z-98"><code>tld_get_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005ftable-100"><code>tld_get_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005fz-99"><code>tld_get_z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fstrerror-106"><code>tld_strerror</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-   </ul><div class="node">
-<a name="Concept-Index"></a>
-<p><hr>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="#Function-and-Variable-Index">Function and Variable Index</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
-
-<h2 class="unnumbered">Concept Index</h2>
-
-
-
-<ul class="index-cp" compact>
-<li><a href="#index-AIX-15">AIX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-ARM-29">ARM</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Autoconf-tests-42">Autoconf tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
-<li><a href="#index-command-line-115">command line</a>: <a href="#Invoking-idn">Invoking idn</a></li>
-<li><a href="#index-Compiling-your-application-41">Compiling your application</a>: <a href="#Building-the-source">Building the source</a></li>
-<li><a href="#index-Configure-tests-43">Configure tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
-<li><a href="#index-Contributing-38">Contributing</a>: <a href="#Contributing">Contributing</a></li>
-<li><a href="#index-de_002dallocation-46">de-allocation</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-Debian-1">Debian</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Download-36">Download</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
-<li><a href="#index-Examples-112">Examples</a>: <a href="#Examples">Examples</a></li>
-<li><a href="#index-FDL_002c-GNU-Free-Documentation-License-128">FDL, GNU Free Documentation License</a>: <a href="#GNU-Free-Documentation-License">GNU Free Documentation License</a></li>
-<li><a href="#index-free-44">free</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-FreeBSD-23">FreeBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Hacking-39">Hacking</a>: <a href="#Contributing">Contributing</a></li>
-<li><a href="#index-heap-memory-47">heap memory</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-HP_002dUX-17">HP-UX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-IBM-34">IBM</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-idn-113"><code>idn</code></a>: <a href="#Invoking-idn">Invoking idn</a></li>
-<li><a href="#index-IDNA-Functions-79">IDNA Functions</a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-Installation-35">Installation</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
-<li><a href="#index-invoking-_0040command_007bidn_007d-114">invoking <samp><span class="command">idn</span></samp></a>: <a href="#Invoking-idn">Invoking idn</a></li>
-<li><a href="#index-IRIX-14">IRIX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-MacOS-X-24">MacOS X</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Mandrake-13">Mandrake</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Memory-handling-45">Memory handling</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-Microsoft-31">Microsoft</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-mingw32-32">mingw32</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Motorola-Coldfire-26">Motorola Coldfire</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-NetBSD-21">NetBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-OpenBSD-22">OpenBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-OpenPower-720-8">OpenPower 720</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-OS_002f2-33">OS/2</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-PR29-Functions-107">PR29 Functions</a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-Punycode-Functions-74">Punycode Functions</a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-RedHat-9">RedHat</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-RedHat-Advanced-Server-11">RedHat Advanced Server</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Reporting-Bugs-37">Reporting Bugs</a>: <a href="#Bug-Reports">Bug Reports</a></li>
-<li><a href="#index-Solaris-18">Solaris</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Stringprep-Functions-60">Stringprep Functions</a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-SuSE-4">SuSE</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-SuSE-Linux-5">SuSE Linux</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-TLD-Functions-94">TLD Functions</a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-Tru64-3">Tru64</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-uClibc-28">uClibc</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-uClinux-27">uClinux</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Utility-Functions-49">Utility Functions</a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-Windows-16">Windows</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-   </ul><div class="footnote">
-<hr>
-<a name="texinfo-footnotes-in-document"></a><h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> Notably Microsoft's Internet Explorer
-and Mozilla's Firefox, but not Apple's Safari.</p>
-
-   <hr></div>
-
-</body></html>
-
-<!--
-\1f
-Local Variables:
-coding: utf-8
-End:
-
--->
index 6da9424..6975bbf 100644 (file)
@@ -1,17 +1,16 @@
-This is libidn.info, produced by makeinfo version 4.13 from libidn.texi.
+This is libidn.info, produced by makeinfo version 6.8 from libidn.texi.
 
-This manual is last updated 27 April 2012 for version 1.25 of GNU
+This manual is last updated 12 January 2024 for version 1.42 of GNU
 Libidn.
 
-   Copyright (C) 2002-2012 Simon Josefsson.
+   Copyright © 2002–2024 Simon Josefsson.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
      Version 1.3 or any later version published by the Free Software
      Foundation; with no Invariant Sections, no Front-Cover Texts, and
      no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
-
+     section entitled “GNU Free Documentation License”.
 INFO-DIR-SECTION Software libraries
 START-INFO-DIR-ENTRY
 * libidn: (libidn).    Internationalized string processing library.
@@ -33,17 +32,17 @@ File: libidn.info,  Node: Top,  Next: Introduction,  Up: (dir)
 GNU Libidn
 **********
 
-This manual is last updated 27 April 2012 for version 1.25 of GNU
+This manual is last updated 12 January 2024 for version 1.42 of GNU
 Libidn.
 
-   Copyright (C) 2002-2012 Simon Josefsson.
+   Copyright © 2002–2024 Simon Josefsson.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
      Version 1.3 or any later version published by the Free Software
      Foundation; with no Invariant Sections, no Front-Cover Texts, and
      no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
+     section entitled “GNU Free Documentation License”.
 
 * Menu:
 
@@ -67,7 +66,10 @@ Appendices
 
 * PR29 discussion::             Implementation aspects of the PR29 flaw.
 * On Label Separators::         Discussions of a flaw in the IDNA spec.
-* Copying Information::                License texts.
+
+Copying This Manual
+
+* GNU Free Documentation License::     Copying and sharing this manual
 
 Indices
 
@@ -81,29 +83,29 @@ File: libidn.info,  Node: Introduction,  Next: Preparation,  Prev: Top,  Up: Top
 **************
 
 GNU Libidn is a fully documented implementation of the Stringprep,
-Punycode and IDNA specifications.  Libidn's purpose is to encode and
+Punycode and IDNA specifications.  Libidns purpose is to encode and
 decode internationalized domain name strings.  There are native C, C#
 and Java libraries.
 
    The C library contains a generic Stringprep implementation.  Profiles
 for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included.  Punycode
-and ASCII Compatible Encoding (ACE) via IDNA are supported.  A
-mechanism to define Top-Level Domain (TLD) specific validation tables,
-and to compare strings against those tables, is included.  Default
-tables for some TLDs are also included.
+and ASCII Compatible Encoding (ACE) via IDNA are supported.  A mechanism
+to define Top-Level Domain (TLD) specific validation tables, and to
+compare strings against those tables, is included.  Default tables for
+some TLDs are also included.
 
    The Stringprep API consists of two main functions, one for converting
-data from the system's native representation into UTF-8, and one
+data from the systems native representation into UTF-8, and one
 function to perform the Stringprep processing.  Adding a new Stringprep
 profile for your application within the API is straightforward.  The
 Punycode API consists of one encoding function and one decoding
-function.  The IDNA API consists of the ToASCII and ToUnicode
-functions, as well as an high-level interface for converting entire
-domain names to and from the ACE encoded form.  The TLD API consists of
-one set of functions to extract the TLD name from a domain string, one
-set of functions to locate the proper TLD table to use based on the TLD
-name, and core functions to validate a string against a TLD table, and
-some utility wrappers to perform all the steps in one call.
+function.  The IDNA API consists of the ToASCII and ToUnicode functions,
+as well as an high-level interface for converting entire domain names to
+and from the ACE encoded form.  The TLD API consists of one set of
+functions to extract the TLD name from a domain string, one set of
+functions to locate the proper TLD table to use based on the TLD name,
+and core functions to validate a string against a TLD table, and some
+utility wrappers to perform all the steps in one call.
 
    The library is used by, e.g., GNU SASL and Shishi to process user
 names and passwords.  Libidn can be built into GNU Libc to enable a new
@@ -137,22 +139,22 @@ File: libidn.info,  Node: Getting Started,  Next: Features,  Up: Introduction
 ===================
 
 This manual documents the library programming interface.  All functions
-and data types provided by the library are explained.  Included are
-also examples, and documentation for the command line tool `idn' that
-provide a quick interface to the library.  The Emacs Lisp bindings for
-the library is also discussed.
+and data types provided by the library are explained.  Included are also
+examples, and documentation for the command line tool ‘idn’ that provide
+a quick interface to the library.  The Emacs Lisp bindings for the
+library is also discussed.
 
    The reader is assumed to possess basic familiarity with
 internationalization concepts and network programming in C or C++.
 
    This manual can be used in several ways.  If read from the beginning
-to the end, it gives a good introduction into the library and how it
-can be used in an application.  Forward references are included where
+to the end, it gives a good introduction into the library and how it can
+be used in an application.  Forward references are included where
 necessary.  Later on, the manual can be used as a reference manual to
 get just the information needed about any particular interface of the
 library.  Experienced programmers might want to start looking at the
-examples at the end of the manual (*note Examples::), and then only
-read up those parts of the interface which are unclear.
+examples at the end of the manual (*note Examples::), and then only read
+up those parts of the interface which are unclear.
 
 \1f
 File: libidn.info,  Node: Features,  Next: Library Overview,  Prev: Getting Started,  Up: Introduction
@@ -163,36 +165,35 @@ File: libidn.info,  Node: Features,  Next: Library Overview,  Prev: Getting Star
 This library might have a couple of advantages over other libraries
 doing a similar job.
 
-It's Free Software
+Its Free Software
      Anybody can use, modify, and redistribute it under the terms of a
      free software license.
 
-It's thread-safe
+Its thread-safe
      No global state is kept in the library.  All functions are
      re-entrant.
 
-It's portable
+Its portable
      The code is intended to be written in pure ANSI C89.  It has been
      tested on many Unix like operating systems, and Windows.
 
-It's modularized
+Its modularized
      The library is composed of several modules, and the only
-     interaction between modules is through each modules' public API.
-     If you only need one piece of functionality, it is possible to
-     take the files you need and incorporate them into your own project.
+     interaction between modules is through each modules’ public API. If
+     you only need one piece of functionality, it is possible to take
+     the files you need and incorporate them into your own project.
 
-It's not bloated
+Its not bloated
      The design of the library is based on the smallest API necessary to
      implement the basic functionality.  It has been carefully extended
      with a small number of high-level wrappers to make it comfortable
      to use the library.  However, it does not implement additional
      functionality just for the sake of completeness.
 
-It's documented
+Its documented
      Sadly, not all software comes with documentation these days.  This
      one does.
 
-
 \1f
 File: libidn.info,  Node: Library Overview,  Next: Supported Platforms,  Prev: Features,  Up: Introduction
 
@@ -211,147 +212,147 @@ the library is hidden from the application.
 
 \0\b[image src="libidn-components.png"\0\b]
 
+
 \1f
 File: libidn.info,  Node: Supported Platforms,  Next: Getting help,  Prev: Library Overview,  Up: Introduction
 
 1.4 Supported Platforms
 =======================
 
-Libidn has at some point in time been tested on the following
-platforms.  Build reports for each platforms and Libidn version is
-available at `http://autobuild.josefsson.org/libidn/'.
+Libidn has at some point in time been tested on the following platforms.
+Build reports for each platforms and Libidn version is available at
+<http://autobuild.josefsson.org/libidn/>.
 
-  1. Debian GNU/Linux 3.0 (Woody) 
+  1. Debian GNU/Linux 3.0 (Woody)
 
-     GCC 2.95.4 and GNU Make. This is the main development platform.
-     `alphaev67-unknown-linux-gnu', `alphaev6-unknown-linux-gnu',
-     `arm-unknown-linux-gnu', `armv4l-unknown-linux-gnu',
-     `hppa-unknown-linux-gnu', `hppa64-unknown-linux-gnu',
-     `i686-pc-linux-gnu', `ia64-unknown-linux-gnu',
-     `m68k-unknown-linux-gnu', `mips-unknown-linux-gnu',
-     `mipsel-unknown-linux-gnu', `powerpc-unknown-linux-gnu',
-     `s390-ibm-linux-gnu', `sparc-unknown-linux-gnu',
-     `sparc64-unknown-linux-gnu'.
+     GCC 2.95.4 and GNU Make.  This is the main development platform.
+     ‘alphaev67-unknown-linux-gnu’, ‘alphaev6-unknown-linux-gnu’,
+     ‘arm-unknown-linux-gnu’, ‘armv4l-unknown-linux-gnu’,
+     ‘hppa-unknown-linux-gnu’, ‘hppa64-unknown-linux-gnu’,
+     ‘i686-pc-linux-gnu’, ‘ia64-unknown-linux-gnu’,
+     ‘m68k-unknown-linux-gnu’, ‘mips-unknown-linux-gnu’,
+     ‘mipsel-unknown-linux-gnu’, ‘powerpc-unknown-linux-gnu’,
+     ‘s390-ibm-linux-gnu’, ‘sparc-unknown-linux-gnu’,
+     ‘sparc64-unknown-linux-gnu’.
 
-  2. Debian GNU/Linux 2.1 
+  2. Debian GNU/Linux 2.1
 
-     GCC 2.95.1 and GNU Make. `armv4l-unknown-linux-gnu'.
+     GCC 2.95.1 and GNU Make.  ‘armv4l-unknown-linux-gnu’.
 
-  3. Tru64 UNIX 
+  3. Tru64 UNIX
 
-     Tru64 UNIX C compiler and Tru64 Make. `alphaev67-dec-osf5.1',
-     `alphaev68-dec-osf5.1'.
+     Tru64 UNIX C compiler and Tru64 Make.  ‘alphaev67-dec-osf5.1’,
+     ‘alphaev68-dec-osf5.1’.
 
-  4. SuSE Linux 7.1 
+  4. SuSE Linux 7.1
 
-     GCC 2.96 and GNU Make. `alphaev6-unknown-linux-gnu',
-     `alphaev67-unknown-linux-gnu'.
+     GCC 2.96 and GNU Make.  ‘alphaev6-unknown-linux-gnu’,
+     ‘alphaev67-unknown-linux-gnu’.
 
-  5. SuSE Linux 7.2a 
+  5. SuSE Linux 7.2a
 
-     GCC 3.0 and GNU Make. `ia64-unknown-linux-gnu'.
+     GCC 3.0 and GNU Make.  ‘ia64-unknown-linux-gnu’.
 
-  6. SuSE Linux 
+  6. SuSE Linux
 
-     GCC 3.2.2 and GNU Make.  `x86_64-unknown-linux-gnu' (AMD64 Opteron
-     "Melody").
+     GCC 3.2.2 and GNU Make.  ‘x86_64-unknown-linux-gnu’ (AMD64 Opteron
+     “Melody”).
 
-  7. SuSE Enterprise Server 9 on IBM OpenPower 720 
+  7. SuSE Enterprise Server 9 on IBM OpenPower 720
 
-     GCC 3.3.3 and GNU Make.  `powerpc64-unknown-linux-gnu'.
+     GCC 3.3.3 and GNU Make.  ‘powerpc64-unknown-linux-gnu’.
 
-  8. RedHat Linux 7.2 
+  8. RedHat Linux 7.2
 
-     GCC 2.96 and GNU Make. `alphaev6-unknown-linux-gnu',
-     `alphaev67-unknown-linux-gnu', `ia64-unknown-linux-gnu'.
+     GCC 2.96 and GNU Make.  ‘alphaev6-unknown-linux-gnu’,
+     ‘alphaev67-unknown-linux-gnu’, ‘ia64-unknown-linux-gnu’.
 
-  9. RedHat Linux 8.0 
+  9. RedHat Linux 8.0
 
-     GCC 3.2 and GNU Make. `i686-pc-linux-gnu'.
+     GCC 3.2 and GNU Make.  ‘i686-pc-linux-gnu’.
 
- 10. RedHat Advanced Server 2.1 
+  10. RedHat Advanced Server 2.1
 
-     GCC 2.96 and GNU Make. `i686-pc-linux-gnu'.
+     GCC 2.96 and GNU Make.  ‘i686-pc-linux-gnu’.
 
- 11. Slackware Linux 8.0.01 
+  11. Slackware Linux 8.0.01
 
-     GCC 2.95.3 and GNU Make. `i686-pc-linux-gnu'.
+     GCC 2.95.3 and GNU Make.  ‘i686-pc-linux-gnu’.
 
- 12. Mandrake Linux 9.0 
+  12. Mandrake Linux 9.0
 
-     GCC 3.2 and GNU Make. `i686-pc-linux-gnu'.
+     GCC 3.2 and GNU Make.  ‘i686-pc-linux-gnu’.
 
- 13. IRIX 6.5 
+  13. IRIX 6.5
 
-     MIPS C compiler, IRIX Make. `mips-sgi-irix6.5'.
+     MIPS C compiler, IRIX Make.  ‘mips-sgi-irix6.5’.
 
- 14. AIX 4.3.2 
+  14. AIX 4.3.2
 
-     IBM C for AIX compiler, AIX Make.  `rs6000-ibm-aix4.3.2.0'.
+     IBM C for AIX compiler, AIX Make.  ‘rs6000-ibm-aix4.3.2.0’.
 
- 15. Microsoft Windows 2000 (Cygwin) 
+  15. Microsoft Windows 2000 (Cygwin)
 
-     GCC 3.2, GNU make. `i686-pc-cygwin'.
+     GCC 3.2, GNU make.  ‘i686-pc-cygwin’.
 
- 16. HP-UX 11 
+  16. HP-UX 11
 
-     HP-UX C compiler and HP Make. `ia64-hp-hpux11.22',
-     `hppa2.0w-hp-hpux11.11'.
+     HP-UX C compiler and HP Make.  ‘ia64-hp-hpux11.22’,
+     ‘hppa2.0w-hp-hpux11.11’.
 
- 17. SUN Solaris 2.7 
+  17. SUN Solaris 2.7
 
-     GCC 3.0.4 and GNU Make. `sparc-sun-solaris2.7'.
+     GCC 3.0.4 and GNU Make.  ‘sparc-sun-solaris2.7’.
 
- 18. SUN Solaris 2.8 
+  18. SUN Solaris 2.8
 
-     Sun WorkShop Compiler C 6.0 and SUN Make. `sparc-sun-solaris2.8'.
+     Sun WorkShop Compiler C 6.0 and SUN Make.  ‘sparc-sun-solaris2.8’.
 
- 19. SUN Solaris 2.9 
+  19. SUN Solaris 2.9
 
      Sun Forte Developer 7 C compiler and GNU Make.
-     `sparc-sun-solaris2.9'.
+     ‘sparc-sun-solaris2.9’.
 
- 20. NetBSD 1.6 
+  20. NetBSD 1.6
 
-     GCC 2.95.3 and GNU Make. `alpha-unknown-netbsd1.6',
-     `i386-unknown-netbsdelf1.6'.
+     GCC 2.95.3 and GNU Make.  ‘alpha-unknown-netbsd1.6’,
+     ‘i386-unknown-netbsdelf1.6’.
 
- 21. OpenBSD 3.1 and 3.2 
+  21. OpenBSD 3.1 and 3.2
 
-     GCC 2.95.3 and GNU Make. `alpha-unknown-openbsd3.1',
-     `i386-unknown-openbsd3.1'.
+     GCC 2.95.3 and GNU Make.  ‘alpha-unknown-openbsd3.1’,
+     ‘i386-unknown-openbsd3.1’.
 
- 22. FreeBSD 4.7 and 4.8 
+  22. FreeBSD 4.7 and 4.8
 
-     GCC 2.95.4 and GNU Make. `alpha-unknown-freebsd4.7',
-     `alpha-unknown-freebsd4.8', `i386-unknown-freebsd4.7',
-     `i386-unknown-freebsd4.8'.
+     GCC 2.95.4 and GNU Make.  ‘alpha-unknown-freebsd4.7’,
+     ‘alpha-unknown-freebsd4.8’, ‘i386-unknown-freebsd4.7’,
+     ‘i386-unknown-freebsd4.8’.
 
- 23. MacOS X 10.2 Server Edition 
+  23. MacOS X 10.2 Server Edition
 
-     GCC 3.1 and GNU Make. `powerpc-apple-darwin6.5'.
+     GCC 3.1 and GNU Make.  ‘powerpc-apple-darwin6.5’.
 
- 24. MacOS X 10.4 "Tiger" with Xcode 2.0 
+  24. MacOS X 10.4 “Tiger” with Xcode 2.0
 
-     GCC 4.0 and GNU Make. `powerpc-apple-darwin8.0'.
+     GCC 4.0 and GNU Make.  ‘powerpc-apple-darwin8.0’.
 
- 25. Cross compiled to uClinux/uClibc on Motorola Coldfire 
+  25. Cross compiled to uClinux/uClibc on Motorola Coldfire
 
-     GCC 3.4 and GNU Make `m68k-uclinux-elf'.
+     GCC 3.4 and GNU Make ‘m68k-uclinux-elf’.
 
- 26. Cross compiled to ARM using Glibc 
+  26. Cross compiled to ARM using Glibc
 
-     GCC 2.95 and GNU Make `arm-linux'.
+     GCC 2.95 and GNU Make ‘arm-linux’.
 
- 27. Cross compiled to Mingw32.  
+  27. Cross compiled to Mingw32.
 
-     GCC 3.4.4 and GNU Make `i586-mingw32msvc'.
+     GCC 3.4.4 and GNU Make ‘i586-mingw32msvc’.
 
- 28. OS/2 
+  28. OS/2
 
      GCC.
 
-
    If you use Libidn on, or port Libidn to, a new platform please report
 it to the author.
 
@@ -361,11 +362,11 @@ File: libidn.info,  Node: Getting help,  Next: Commercial Support,  Prev: Suppor
 1.5 Getting help
 ================
 
-A mailing list where users of Libidn may help each other exists, and
-you can reach it by sending e-mail to <help-libidn@gnu.org>.  Archives
-of the mailing list discussions, and an interface to manage
-subscriptions, is available through the World Wide Web at
-`http://lists.gnu.org/mailman/listinfo/help-libidn'.
+A mailing list where users of Libidn may help each other exists, and you
+can reach it by sending e-mail to <help-libidn@gnu.org>.  Archives of
+the mailing list discussions, and an interface to manage subscriptions,
+is available through the World Wide Web at
+<http://lists.gnu.org/mailman/listinfo/help-libidn>.
 
 \1f
 File: libidn.info,  Node: Commercial Support,  Next: Downloading and Installing,  Prev: Getting help,  Up: Introduction
@@ -376,16 +377,15 @@ File: libidn.info,  Node: Commercial Support,  Next: Downloading and Installing,
 Commercial support is available for users of GNU Libidn.  The kind of
 support that can be purchased may include:
 
-   * Implement new features.  Such as country code specific profiling
-     to support a restricted subset of Unicode.
-
-   * Port Libidn to new platforms.  This could include porting Libidn
-     to an embedded platforms that may need memory or size optimization.
+   • Implement new features.  Such as country code specific profiling to
+     support a restricted subset of Unicode.
 
-   * Integrating IDN support in your existing project.
+   • Port Libidn to new platforms.  This could include porting Libidn to
+     an embedded platforms that may need memory or size optimization.
 
-   * System design of components related to IDN.
+   • Integrating IDN support in your existing project.
 
+   • System design of components related to IDN.
 
    If you are interested, please write to:
 
@@ -407,23 +407,23 @@ File: libidn.info,  Node: Downloading and Installing,  Next: Bug Reports,  Prev:
 
 The package can be downloaded from several places, including:
 
-   `ftp://alpha.gnu.org/pub/gnu/libidn/'
+   <ftp://alpha.gnu.org/pub/gnu/libidn/>
 
-   The latest version is stored in a file, e.g., `libidn-1.25.tar.gz'
-where the `1.25' value is the highest version number in the directory.
+   The latest version is stored in a file, e.g., ‘libidn-1.42.tar.gz’
+where the ‘1.42’ value is the highest version number in the directory.
 
    The package is then extracted, configured and built like many other
-packages that use Autoconf.  For detailed information on configuring
-and building it, refer to the `INSTALL' file that is part of the
+packages that use Autoconf.  For detailed information on configuring and
+building it, refer to the ‘INSTALL’ file that is part of the
 distribution archive.
 
    Here is an example terminal session that download, configure, build
-and install the package.  You will need a few basic tools, such as
-`sh', `make' and `cc'.
+and install the package.  You will need a few basic tools, such as ‘sh’,
+‘make’ and ‘cc’.
 
-     $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.25.tar.gz
-     $ tar xfz libidn-1.25.tar.gz
-     $ cd libidn-1.25/
+     $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.42.tar.gz
+     $ tar xfz libidn-1.42.tar.gz
+     $ cd libidn-1.42/
      $ ./configure
      ...
      $ make
@@ -433,33 +433,32 @@ and install the package.  You will need a few basic tools, such as
 
    After that Libidn should be properly installed and ready for use.
 
-   A few `configure' options may be relevant, summarized in the table.
+   A few ‘configure’ options may be relevant, summarized in the table.
 
-`--enable-java'
+‘--enable-java’
      Build the Java port into a *.JAR file.  *Note Java API::, for more
      information.
 
-`--disable-tld'
+‘--disable-tld’
      Disable the TLD module.  This would typically only be useful if you
      are building on a memory restricted platforms.  *Note TLD
      Functions::, for more information.
 
-`--enable-csharp[=IMPL]'
-     Build the `C#' port into a `*.DLL' file.  *Note C# API::, for more
-     information.  Here, `IMPL' is `pnet' or `mono', indicating whether
-     the PNET `cscc' compiler or the Mono `mcs' compiler should be
-     used, respectively.
+‘--enable-csharp[=IMPL]’
+     Build the ‘C#’ port into a ‘*.DLL’ file.  *Note C# API::, for more
+     information.  Here, ‘IMPL’ is ‘pnet’ or ‘mono’, indicating whether
+     the PNET ‘cscc’ compiler or the Mono ‘mcs’ compiler should be used,
+     respectively.
 
-`--disable-valgrind-tests'
+‘--disable-valgrind-tests’
      Disable running the self-checks under Valgrind
-     (`http://valgrind.org/').  Normally Valgrind does not cause
+     (<http://valgrind.org/>).  Normally Valgrind does not cause
      problems and can detect some severe memory errors.  If you are
      getting errors from Valgrind that are caused by the compiler or
      libc (possibly as a result of special optimization flags), you may
      use this option to disable the use of Valgrind.
 
-
-   For the complete list, refer to the output from `configure --help'.
+   For the complete list, refer to the output from ‘configure --help’.
 
 * Menu:
 
@@ -475,25 +474,25 @@ There are two ways to build Libidn on Windows: via MinGW or via Visual
 Studio.
 
    With MinGW, you can build a Libidn DLL and use it from other
-applications.  After installing MinGW (`http://mingw.org/') follow the
+applications.  After installing MinGW (<http://mingw.org/>) follow the
 generic installation instructions (*note Downloading and Installing::).
 The DLL is installed by default.
 
    For information on how to use the DLL in other applications, see:
-`http://www.mingw.org/mingwfaq.shtml#faq-msvcdll'.
+<http://www.mingw.org/mingwfaq.shtml#faq-msvcdll>.
 
    You can build Libidn as a native Visual Studio C++ project.  This
 allows you to build the code for other platforms that VS supports, such
 as Windows Mobile.  You need Visual Studio 2005 or later.
 
    First download and unpack the archive as described in the generic
-installation instructions (*note Downloading and Installing::).  Don't
-run `./configure'.  Instead, start Visual Studio and open the project
-file `win32/libidn.sln' inside the Libidn directory.  You should be
+installation instructions (*note Downloading and Installing::).  Dont
+run ‘./configure’.  Instead, start Visual Studio and open the project
+file ‘windows/libidn.sln’ inside the Libidn directory.  You should be
 able to build the project using Build Project.
 
-   Output libraries will be written into the `win32/lib' (or
-`win32/lib/debug' for Debug versions) folder.
+   Output libraries will be written into the ‘windows/lib’ (or
+‘windows/lib/debug’ for Debug versions) folder.
 
    When working with Windows you may want to look into the special
 memory handling functions that may be needed (*note Memory handling
@@ -508,25 +507,24 @@ File: libidn.info,  Node: Bug Reports,  Next: Contributing,  Prev: Downloading a
 If you think you have found a bug in Libidn, please investigate it and
 report it.
 
-   * Please make sure that the bug is really in Libidn, and preferably
-     also check that it hasn't already been fixed in the latest version.
+    Please make sure that the bug is really in Libidn, and preferably
+     also check that it hasnt already been fixed in the latest version.
 
-   * You have to send us a test case that makes it possible for us to
+    You have to send us a test case that makes it possible for us to
      reproduce the bug.
 
-   * You also have to explain what is wrong; if you get a crash, or if
+    You also have to explain what is wrong; if you get a crash, or if
      the results printed are not good and in that case, in what way.
      Make sure that the bug report includes all information you would
      need to fix this kind of bug for someone else.
 
-
    Please make an effort to produce a self-contained report, with
 something definite that can be tested or debugged.  Vague queries or
-piecemeal messages are difficult to act on and don't help the
+piecemeal messages are difficult to act on and dont help the
 development effort.
 
    If your bug report is good, we will do our best to help you to get a
-corrected version of the software; if the bug report is poor, we won't
+corrected version of the software; if the bug report is poor, we wont
 do anything about it (apart from asking you to send better bug reports).
 
    If you think something in this manual is unclear, or downright
@@ -535,7 +533,7 @@ note.
 
    Send your bug report to:
 
-                         `bug-libidn@gnu.org'
+                         ‘bug-libidn@gnu.org’
 
 \1f
 File: libidn.info,  Node: Contributing,  Prev: Bug Reports,  Up: Introduction
@@ -543,11 +541,11 @@ File: libidn.info,  Node: Contributing,  Prev: Bug Reports,  Up: Introduction
 1.9 Contributing
 ================
 
-If you want to submit a patch for inclusion - from solve a typo you
-discovered, up to adding support for a new feature - you should submit
+If you want to submit a patch for inclusion  from solve a typo you
+discovered, up to adding support for a new feature  you should submit
 it as a bug report (*note Bug Reports::).  There are some things that
-you can do to increase the chances for it to be included in the
-official package.
+you can do to increase the chances for it to be included in the official
+package.
 
    Unless your patch is very small (say, under 10 lines) we require that
 you assign the copyright of your work to the Free Software Foundation.
@@ -555,37 +553,36 @@ This is to protect the freedom of the project.  If you have not already
 signed papers, we will send you the necessary information when you
 submit your contribution.
 
-   For contributions that doesn't consist of actual programming code,
+   For contributions that doesnt consist of actual programming code,
 the only guidelines are common sense.  Use it.
 
    For code contributions, a number of style guides will help you:
 
-   * Coding Style.  Follow the GNU Standards document (*note GNU Coding
+    Coding Style.  Follow the GNU Standards document (*note GNU Coding
      Standards: (standards)top.).
 
      If you normally code using another coding standard, there is no
-     problem, but you should use `indent' to reformat the code (*note
+     problem, but you should use ‘indent’ to reformat the code (*note
      GNU Indent: (indent)top.) before submitting your work.
 
-   * Use the unified diff format `diff -u'.
+   • Use the unified diff format ‘diff -u’.
 
-   * Return errors.  No reason whatsoever should abort the execution of
-     the library.  Even memory allocation errors, e.g. when malloc
+    Return errors.  No reason whatsoever should abort the execution of
+     the library.  Even memory allocation errors, e.g.  when malloc
      return NULL, should work although result in an error code.
 
-   * Design with thread safety in mind.  Don't use global variables and
+   • Design with thread safety in mind.  Don’t use global variables and
      the like.
 
-   * Avoid using the C math library.  It causes problems for embedded
+    Avoid using the C math library.  It causes problems for embedded
      implementations, and in most situations it is very easy to avoid
      using it.
 
-   * Document your functions.  Use comments before each function
+    Document your functions.  Use comments before each function
      headers, that, if properly formatted, are extracted into GTK-DOC
-     web pages.  Don't forget to update the Texinfo manual as well.
-
-   * Supply a ChangeLog and NEWS entries, where appropriate.
+     web pages.  Don’t forget to update the Texinfo manual as well.
 
+   • Supply a ChangeLog and NEWS entries, where appropriate.
 
 \1f
 File: libidn.info,  Node: Preparation,  Next: Utility Functions,  Prev: Introduction,  Up: Top
@@ -593,15 +590,15 @@ File: libidn.info,  Node: Preparation,  Next: Utility Functions,  Prev: Introduc
 2 Preparation
 *************
 
-To use `Libidn', you have to perform some changes to your sources and
+To use ‘Libidn’, you have to perform some changes to your sources and
 the build system.  The necessary changes are small and explained in the
-following sections.  At the end of this chapter, it is described how
-the library is initialized, and how the requirements of the library are
+following sections.  At the end of this chapter, it is described how the
+library is initialized, and how the requirements of the library are
 verified.
 
    A faster way to find out how to adapt your application for use with
-`Libidn' may be to look at the examples at the end of this manual
-(*note Examples::).
+‘Libidn’ may be to look at the examples at the end of this manual (*note
+Examples::).
 
 * Menu:
 
@@ -629,62 +626,66 @@ either directly or through some other header file, like this:
 follows:
 
 stringprep.h
+
      The low-level stringprep API entry point.  For IDN applications,
      this is usually invoked via IDNA. Some applications, specifically
      non-IDN ones, may want to prepare strings directly though, and
      should include this header file.
 
-     The name space of the stringprep part of Libidn is `stringprep*'
-     for function names, `Stringprep*' for data types and
-     `STRINGPREP_*' for other symbols.  In addition, `_stringprep*' is
-     reserved for internal use and should never be used by applications.
+     The name space of the stringprep part of Libidn is ‘stringprep*’
+     for function names, ‘Stringprep*’ for data types and ‘STRINGPREP_*’
+     for other symbols.  In addition, ‘_stringprep*’ is reserved for
+     internal use and should never be used by applications.
 
 punycode.h
+
      The entry point to Punycode encoding and decoding functions.
      Normally punycode is used via the idna.h interface, but some
      application may want to perform raw punycode operations.
 
-     The name space of the punycode part of Libidn is `punycode_*' for
-     function names, `Punycode*' for data types and `PUNYCODE_*' for
-     other symbols.  In addition, `_punycode*' is reserved for internal
+     The name space of the punycode part of Libidn is ‘punycode_*’ for
+     function names, ‘Punycode*’ for data types and ‘PUNYCODE_*’ for
+     other symbols.  In addition, ‘_punycode*’ is reserved for internal
      use and should never be used by applications.
-
 idna.h
+
      The entry point to the IDNA functions.  This is the normal entry
      point for applications that need IDN functionality.
 
-     The name space of the IDNA part of Libidn is `idna_*' for function
-     names, `Idna*' for data types and `IDNA_*' for other symbols.  In
-     addition, `_idna*' is reserved for internal use and should never
-     be used by applications.
+     The name space of the IDNA part of Libidn is ‘idna_*’ for function
+     names, ‘Idna*’ for data types and ‘IDNA_*’ for other symbols.  In
+     addition, ‘_idna*’ is reserved for internal use and should never be
+     used by applications.
 
 tld.h
+
      The entry point to the TLD functions.  Normal applications are not
      expected to need this functionality, but it is present for
      applications that are used by TLDs to validate customer input.
 
-     The name space of the TLD part of Libidn is `tld_*' for function
-     names, `Tld_*' for data types and `TLD_*' for other symbols.  In
-     addition, `_tld*' is reserved for internal use and should never be
+     The name space of the TLD part of Libidn is ‘tld_*’ for function
+     names, ‘Tld_*’ for data types and ‘TLD_*’ for other symbols.  In
+     addition, ‘_tld*’ is reserved for internal use and should never be
      used by applications.
 
 pr29.h
+
      The entry point to the PR29 functions.  These functions are used to
-     detect "problem sequences" (*note PR29 Functions::), mostly for use
+     detect “problem sequences” (*note PR29 Functions::), mostly for use
      in security critical applications.
 
-     The name space of the PR29 part of Libidn is `pr29_*' for function
-     names, `Pr29_*' for data types and `PR29_*' for other symbols.  In
-     addition, `_pr29*' is reserved for internal use and should never
-     be used by applications.
+     The name space of the PR29 part of Libidn is ‘pr29_*’ for function
+     names, ‘Pr29_*’ for data types and ‘PR29_*’ for other symbols.  In
+     addition, ‘_pr29*’ is reserved for internal use and should never be
+     used by applications.
 
 idn-free.h
-     The entry point to the Windows memory de-allocation function
-     (*note Memory handling under Windows::).  It contains only one
-     function `idn_free'.
 
+     The entry point to the Windows memory de-allocation function (*note
+     Memory handling under Windows::).  It contains only one function
+     ‘idn_free’.
 
-   All header files defined and use the symbol `IDNAPI' to decorate the
+   All header files defined and use the symbol ‘IDNAPI’ to decorate the
 API functions.
 
 \1f
@@ -701,7 +702,7 @@ File: libidn.info,  Node: Version Check,  Next: Building the source,  Prev: Init
 2.3 Version Check
 =================
 
-It is often desirable to check that the version of `Libidn' used is
+It is often desirable to check that the version of ‘Libidn’ used is
 indeed one which fits all requirements.  Even with binary compatibility
 new features may have been introduced but due to problem with the
 dynamic linker an old version is actually used.  So you may want to
@@ -719,13 +720,13 @@ stringprep_check_version
      not satisfied.  If a NULL is passed to this function, no check is
      done, but the version string is simply returned.
 
-     See `STRINGPREP_VERSION' for a suitable `req_version' string.
+     See ‘STRINGPREP_VERSION’ for a suitable ‘req_version’ string.
 
-     *Return value:* Version string of run-time library, or NULL if the
+     Return value: Version string of run-time library, or NULL if the
      run-time library does not meet the required version number.
 
    The normal way to use the function is to put something similar to the
-following first in your `main':
+following first in your ‘main’:
 
        if (!stringprep_check_version (STRINGPREP_VERSION))
          {
@@ -740,39 +741,39 @@ File: libidn.info,  Node: Building the source,  Next: Autoconf tests,  Prev: Ver
 2.4 Building the source
 =======================
 
-If you want to compile a source file including e.g. the `idna.h' header
+If you want to compile a source file including e.g.  the ‘idna.h’ header
 file, you must make sure that the compiler can find it in the directory
 hierarchy.  This is accomplished by adding the path to the directory in
 which the header file is located to the compilers include file search
-path (via the `-I' option).
+path (via the ‘-I’ option).
 
    However, the path to the include file is determined at the time the
-source is configured.  To solve this problem, `Libidn' uses the
-external package `pkg-config' that knows the path to the include file
-and other configuration options.  The options that need to be added to
-the compiler invocation at compile time are output by the `--cflags'
-option to `pkg-config libidn'.  The following example shows how it can
-be used at the command line:
+source is configured.  To solve this problem, ‘Libidn’ uses the external
+package ‘pkg-config’ that knows the path to the include file and other
+configuration options.  The options that need to be added to the
+compiler invocation at compile time are output by the ‘--cflags’ option
+to ‘pkg-config libidn’.  The following example shows how it can be used
+at the command line:
 
      gcc -c foo.c `pkg-config libidn --cflags`
 
-   Adding the output of `pkg-config libidn --cflags' to the compilers
-command line will ensure that the compiler can find e.g. the idna.h
+   Adding the output of ‘pkg-config libidn --cflags’ to the compilers
+command line will ensure that the compiler can find e.g.  the idna.h
 header file.
 
    A similar problem occurs when linking the program with the library.
 Again, the compiler has to find the library files.  For this to work,
-the path to the library files has to be added to the library search
-path (via the `-L' option).  For this, the option `--libs' to
-`pkg-config libidn' can be used.  For convenience, this option also
-outputs all other options that are required to link the program with
-the `libidn' library.  The example shows how to link `foo.o' with the
-`libidn' library to a program `foo'.
+the path to the library files has to be added to the library search path
+(via the ‘-L’ option).  For this, the option ‘--libs’ to ‘pkg-config
+libidn’ can be used.  For convenience, this option also outputs all
+other options that are required to link the program with the ‘libidn’
+library.  The example shows how to link ‘foo.o’ with the ‘libidn’
+library to a program ‘foo’.
 
      gcc -o foo foo.o `pkg-config libidn --libs`
 
    Of course you can also combine both examples to a single command by
-specifying both options to `pkg-config':
+specifying both options to ‘pkg-config’:
 
      gcc -o foo foo.c `pkg-config libidn --cflags --libs`
 
@@ -782,19 +783,19 @@ File: libidn.info,  Node: Autoconf tests,  Next: Memory handling under Windows,
 2.5 Autoconf tests
 ==================
 
-If your project uses Autoconf (*note GNU Autoconf: (autoconf)top.)  to
+If your project uses Autoconf (*note GNU Autoconf: (autoconf)top.) to
 check for installed libraries, you might find the following snippet
-illustrative.  It add a new `configure' parameter `--with-libidn', and
-check for `idna.h' and `-lidn' (possibly below the directory specified
-as the optional argument to `--with-libidn'), and define the CPP symbol
-`LIBIDN' if the library is found.  The default behaviour is to search
+illustrative.  It add a new ‘configure’ parameter ‘--with-libidn’, and
+check for ‘idna.h’ and ‘-lidn’ (possibly below the directory specified
+as the optional argument to ‘--with-libidn’), and define the CPP symbol
+‘LIBIDN’ if the library is found.  The default behaviour is to search
 for the library and enable the functionality (that is, define the
 symbol) when the library is found, but if you wish to make the default
 behaviour of your package be that Libidn is not used (even if it is
-installed on the system), change `libidn=yes' to `libidn=no' on the
+installed on the system), change ‘libidn=yes’ to ‘libidn=no’ on the
 third line.
 
-     AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
+     AC_ARG_WITH(libidn, AS_HELP_STRING([--with-libidn=[DIR]],
                                      [Support IDN (needs GNU Libidn)]),
        libidn=$withval, libidn=yes)
      if test "$libidn" != "no"; then
@@ -815,11 +816,11 @@ third line.
      AC_MSG_CHECKING([if Libidn should be used])
      AC_MSG_RESULT($libidn)
 
-   If you require that your users have installed `pkg-config' (which I
+   If you require that your users have installed ‘pkg-config’ (which I
 cannot recommend generally), the above can be done more easily as
 follows.
 
-     AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
+     AC_ARG_WITH(libidn, AS_HELP_STRING([--with-libidn=[DIR]],
                                      [Support IDN (needs GNU Libidn)]),
        libidn=$withval, libidn=yes)
      if test "$libidn" != "no" ; then
@@ -842,7 +843,7 @@ File: libidn.info,  Node: Memory handling under Windows,  Prev: Autoconf tests,
 =================================
 
 Several functions in the library allocates memory.  The memory is
-expected to be de-allocated using the `free' function.  Under Windows,
+expected to be de-allocated using the ‘free’ function.  Under Windows,
 it is sometimes necessary to de-allocate memory in the same module that
 allocated a memory region.  The reason is that different modules use
 separate heap memory regions.  To solve this problem we provide a
@@ -851,11 +852,11 @@ function to de-allocate memory inside the library.
    Note that we do not recommend using this interface generally if you
 do not care about Windows portability.
 
-2.7 Header file `idn-free.h'
+2.7 Header file ‘idn-free.h’
 ============================
 
 To use the function explained in this chapter, you need to include the
-file `idn-free.h' using:
+file ‘idn-free.h’ using:
 
      #include <idn-free.h>
 
@@ -866,13 +867,13 @@ idn_free
 --------
 
  -- Function: void idn_free (void * PTR)
-     PTR: memory region to deallocate, or `NULL'.
+     PTR: memory region to deallocate, or ‘NULL’ .
 
-     Deallocates memory region by calling `free()'.  If `ptr' is `NULL'
+     Deallocates memory region by calling ‘free()’ .  If ‘ptr’ is ‘NULL’
      no operation is performed.
 
      Normally applications de-allocate strings allocated by libidn by
-     calling `free()' directly.  Under Windows, different parts of the
+     calling ‘free()’ directly.  Under Windows, different parts of the
      same application may use different heap memory, and then it is
      important to deallocate memory allocated within the same module
      that allocated it.  This function makes that possible.
@@ -884,14 +885,14 @@ File: libidn.info,  Node: Utility Functions,  Next: Stringprep Functions,  Prev:
 *******************
 
 The rest of this library makes extensive use of Unicode characters.  In
-order to interface this library with the outside world, your
-application may need to make various Unicode transformations.
+order to interface this library with the outside world, your application
+may need to make various Unicode transformations.
 
-3.1 Header file `stringprep.h'
+3.1 Header file ‘stringprep.h’
 ==============================
 
 To use the functions explained in this chapter, you need to include the
-file `stringprep.h' using:
+file ‘stringprep.h’ using:
 
      #include <stringprep.h>
 
@@ -905,12 +906,12 @@ stringprep_unichar_to_utf8
      C: a ISO10646 character code
 
      OUTBUF: output buffer, must have at least 6 bytes of space.  If
-     `NULL', the length will be computed and returned and nothing will
-     be written to `outbuf'.
+     ‘NULL’ , the length will be computed and returned and nothing will
+     be written to ‘outbuf’ .
 
      Converts a single character to UTF-8.
 
-     *Return value:* number of bytes written.
+     Return value: number of bytes written.
 
 stringprep_utf8_to_unichar
 --------------------------
@@ -919,10 +920,14 @@ stringprep_utf8_to_unichar
      P: a pointer to Unicode character encoded as UTF-8
 
      Converts a sequence of bytes encoded as UTF-8 to a Unicode
-     character.  If `p' does not point to a valid UTF-8 encoded
+     character.  If ‘p’ does not point to a valid UTF-8 encoded
      character, results are undefined.
 
-     *Return value:* the resulting character.
+     Return value: the resulting character.  Converts a sequence of
+     bytes encoded as UTF-8 to a Unicode character.  If ‘p’ does not
+     point to a valid UTF-8 encoded character, results are undefined.
+
+     Return value: the resulting character.
 
 stringprep_ucs4_to_utf8
 -----------------------
@@ -931,21 +936,21 @@ stringprep_ucs4_to_utf8
           ssize_t LEN, size_t * ITEMS_READ, size_t * ITEMS_WRITTEN)
      STR: a UCS-4 encoded string
 
-     LEN: the maximum length of `str' to use. If `len' < 0, then the
+     LEN: the maximum length of ‘str’ to use.  If ‘len’ < 0, then the
      string is terminated with a 0 character.
 
      ITEMS_READ: location to store number of characters read read, or
-     `NULL'.
+     ‘NULL’ .
 
-     ITEMS_WRITTEN: location to store number of bytes written or `NULL'.
-     The value here stored does not include the trailing 0 byte.
+     ITEMS_WRITTEN: location to store number of bytes written or ‘NULL’
+     .  The value here stored does not include the trailing 0 byte.
 
      Convert a string from a 32-bit fixed width representation as UCS-4.
-     to UTF-8. The result will be terminated with a 0 byte.
+     to UTF-8.  The result will be terminated with a 0 byte.
 
-     *Return value:* a pointer to a newly allocated UTF-8 string.  This
+     Return value: a pointer to a newly allocated UTF-8 string.  This
      value must be deallocated by the caller.  If an error occurs,
-     `NULL' will be returned.
+     ‘NULL’ will be returned.
 
 stringprep_utf8_to_ucs4
 -----------------------
@@ -954,17 +959,18 @@ stringprep_utf8_to_ucs4
           ssize_t LEN, size_t * ITEMS_WRITTEN)
      STR: a UTF-8 encoded string
 
-     LEN: the maximum length of `str' to use. If `len' < 0, then the
+     LEN: the maximum length of ‘str’ to use.  If ‘len’ < 0, then the
      string is nul-terminated.
 
      ITEMS_WRITTEN: location to store the number of characters in the
-     result, or `NULL'.
+     result, or ‘NULL’ .
 
      Convert a string from UTF-8 to a 32-bit fixed width representation
-     as UCS-4, assuming valid UTF-8 input.  This function does no error
-     checking on the input.
+     as UCS-4.  The function now performs error checking to verify that
+     the input is valid UTF-8 (before it was documented to not do error
+     checking).
 
-     *Return value:* a pointer to a newly allocated UCS-4 string.  This
+     Return value: a pointer to a newly allocated UCS-4 string.  This
      value must be deallocated by the caller.
 
 3.3 Unicode Normalization
@@ -977,13 +983,13 @@ stringprep_ucs4_nfkc_normalize
           * STR, ssize_t LEN)
      STR: a Unicode string.
 
-     LEN: length of `str' array, or -1 if `str' is nul-terminated.
+     LEN: length of ‘str’ array, or -1 if ‘str’ is nul-terminated.
 
      Converts a UCS4 string into canonical form, see
-     `stringprep_utf8_nfkc_normalize()' for more information.
+     ‘stringprep_utf8_nfkc_normalize()’ for more information.
 
-     *Return value:* a newly allocated Unicode string, that is the NFKC
-     normalized form of `str'.
+     Return value: a newly allocated Unicode string, that is the NFKC
+     normalized form of ‘str’ .
 
 stringprep_utf8_nfkc_normalize
 ------------------------------
@@ -992,24 +998,24 @@ stringprep_utf8_nfkc_normalize
           ssize_t LEN)
      STR: a UTF-8 encoded string.
 
-     LEN: length of `str', in bytes, or -1 if `str' is nul-terminated.
+     LEN: length of ‘str’ , in bytes, or -1 if ‘str’ is nul-terminated.
 
-     Converts a string into canonical form, standardizing such issues
-     as whether a character with an accent is represented as a base
+     Converts a string into canonical form, standardizing such issues as
+     whether a character with an accent is represented as a base
      character and combining accent or as a single precomposed
      character.
 
-     The normalization mode is NFKC (ALL COMPOSE).  It standardizes
+     The normalization mode is NFKC (ALL COMPOSE). It standardizes
      differences that do not affect the text content, such as the
-     above-mentioned accent representation. It standardizes the
+     above-mentioned accent representation.  It standardizes the
      "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
      the standard forms (in this case DIGIT THREE). Formatting
      information may be lost but for most text operations such
-     characters should be considered the same. It returns a result with
+     characters should be considered the same.  It returns a result with
      composed forms rather than a maximally decomposed form.
 
-     *Return value:* a newly allocated string, that is the NFKC
-     normalized form of `str'.
+     Return value: a newly allocated string, that is the NFKC normalized
+     form of ‘str’ .
 
 3.4 Character Set Conversion
 ============================
@@ -1018,13 +1024,17 @@ stringprep_locale_charset
 -------------------------
 
  -- Function: const char * stringprep_locale_charset ( VOID)
-     Find out current locale charset.  The function respect the CHARSET
-     environment variable, but typically uses nl_langinfo(CODESET) when
-     it is supported.  It fall back on "ASCII" if CHARSET isn't set and
-     nl_langinfo isn't supported or return anything.
+     Enumerated return codes of the TLD checking functions.  The value 0
+     is guaranteed to always correspond to success.
+
+     *:* Find out current locale charset.  The function respect the
+     CHARSET environment variable, but typically uses
+     nl_langinfo(CODESET) when it is supported.  It fall back on "ASCII"
+     if CHARSET isn’t set and nl_langinfo isn’t supported or return
+     anything.
 
-     Note that this function return the application's locale's preferred
-     charset (or thread's locale's preffered charset, if your system
+     Note that this function return the application’s locale’s preferred
+     charset (or thread’s locale’s preferred charset, if your system
      support thread-specific locales).  It does not return what the
      system may be using.  Thus, if you receive data from external
      sources you cannot in general use this function to guess what
@@ -1032,8 +1042,8 @@ stringprep_locale_charset
      representation into the charset returned by this function, to have
      data in the locale encoding.
 
-     *Return value:* Return the character set used by the current
-     locale.  It will never return NULL, but use "ASCII" as a fallback.
+     Return value: Return the character set used by the current locale.
+     It will never return NULL, but use "ASCII" as a fallback.
 
 stringprep_convert
 ------------------
@@ -1044,13 +1054,13 @@ stringprep_convert
 
      TO_CODESET: name of destination character set.
 
-     FROM_CODESET: name of origin character set, as used by `str'.
+     FROM_CODESET: name of origin character set, as used by ‘str’ .
 
      Convert the string from one character set to another using the
-     system's `iconv()' function.
+     system’s ‘iconv()’ function.
 
-     *Return value:* Returns newly allocated zero-terminated string
-     which is `str' transcoded into to_codeset.
+     Return value: Returns newly allocated zero-terminated string which
+     is ‘str’ transcoded into to_codeset.
 
 stringprep_locale_to_utf8
 -------------------------
@@ -1058,11 +1068,11 @@ stringprep_locale_to_utf8
  -- Function: char * stringprep_locale_to_utf8 (const char * STR)
      STR: input zero terminated string.
 
-     Convert string encoded in the locale's character set into UTF-8 by
-     using `stringprep_convert()'.
+     Convert string encoded in the locales character set into UTF-8 by
+     using ‘stringprep_convert()’ .
 
-     *Return value:* Returns newly allocated zero-terminated string
-     which is `str' transcoded into UTF-8.
+     Return value: Returns newly allocated zero-terminated string which
+     is ‘str’ transcoded into UTF-8.
 
 stringprep_utf8_to_locale
 -------------------------
@@ -1070,11 +1080,11 @@ stringprep_utf8_to_locale
  -- Function: char * stringprep_utf8_to_locale (const char * STR)
      STR: input zero terminated string.
 
-     Convert string encoded in UTF-8 into the locale's character set by
-     using `stringprep_convert()'.
+     Convert string encoded in UTF-8 into the locales character set by
+     using ‘stringprep_convert()’ .
 
-     *Return value:* Returns newly allocated zero-terminated string
-     which is `str' transcoded into the locale's character set.
+     Return value: Returns newly allocated zero-terminated string which
+     is ‘str’ transcoded into the locale’s character set.
 
 \1f
 File: libidn.info,  Node: Stringprep Functions,  Next: Punycode Functions,  Prev: Utility Functions,  Up: Top
@@ -1083,17 +1093,17 @@ File: libidn.info,  Node: Stringprep Functions,  Next: Punycode Functions,  Prev
 **********************
 
 Stringprep describes a framework for preparing Unicode text strings in
-order to increase the likelihood that string input and string
-comparison work in ways that make sense for typical users throughout
-the world. The stringprep protocol is useful for protocol identifier
-values, company and personal names, internationalized domain names, and
-other text strings.
+order to increase the likelihood that string input and string comparison
+work in ways that make sense for typical users throughout the world.
+The stringprep protocol is useful for protocol identifier values,
+company and personal names, internationalized domain names, and other
+text strings.
 
-4.1 Header file `stringprep.h'
+4.1 Header file ‘stringprep.h’
 ==============================
 
 To use the functions explained in this chapter, you need to include the
-file `stringprep.h' using:
+file ‘stringprep.h’ using:
 
      #include <stringprep.h>
 
@@ -1103,7 +1113,7 @@ file `stringprep.h' using:
 Further types and structures are defined for applications that want to
 specify their own stringprep profile.  As these are fairly obscure, and
 by necessity tied to the implementation, we do not document them here.
-Look into the `stringprep.h' header file, and the `profiles.c' source
+Look into the ‘stringprep.h’ header file, and the ‘profiles.c’ source
 code for the details.
 
 4.3 Control Flags
@@ -1112,8 +1122,8 @@ code for the details.
  -- Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_NFKC
      Disable the NFKC normalization, as well as selecting the non-NFKC
      case folding tables.  Usually the profile specifies BIDI and NFKC
-     settings, and applications should not override it unless in
-     special situations.
+     settings, and applications should not override it unless in special
+     situations.
 
  -- Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_BIDI
      Disable the BIDI step.  Usually the profile specifies BIDI and NFKC
@@ -1140,31 +1150,52 @@ stringprep_4i
 
      MAXUCS4LEN: maximum length of input/output array.
 
-     FLAGS: a `Stringprep_profile_flags' value, or 0.
+     FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
 
-     PROFILE: pointer to `Stringprep_profile' to use.
+     PROFILE: pointer to ‘Stringprep_profile’ to use.
 
      Prepare the input UCS-4 string according to the stringprep profile,
      and write back the result to the input string.
 
-     The input is not required to be zero terminated (`ucs4'[`len'] =
-     0).  The output will not be zero terminated unless `ucs4'[`len'] =
-     0.  Instead, see `stringprep_4zi()' if your input is zero
+     The input is not required to be zero terminated ( ‘ucs4’ [ ‘len’ ]
+     = 0).  The output will not be zero terminated unless ‘ucs4’ [ ‘len’
+     ] = 0.  Instead, see ‘stringprep_4zi()’ if your input is zero
+     terminated or if you want the output to be.
+
+     Since the stringprep operation can expand the string, ‘maxucs4len’
+     indicate how large the buffer holding the string is.  This function
+     will not read or write to code points outside that size.
+
+     The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
+
+     The ‘profile’ contain the ‘Stringprep_profile’ instructions to
+     perform.  Your application can define new profiles, possibly
+     re-using the generic stringprep tables that always will be part of
+     the library, or use one of the currently supported profiles.
+
+     Return value: Returns ‘STRINGPREP_OK’ iff successful, or an
+     ‘Stringprep_rc’ error code.  Prepare the input UCS-4 string
+     according to the stringprep profile, and write back the result to
+     the input string.
+
+     The input is not required to be zero terminated ( ‘ucs4’ [ ‘len’ ]
+     = 0).  The output will not be zero terminated unless ‘ucs4’ [ ‘len’
+     ] = 0.  Instead, see ‘stringprep_4zi()’ if your input is zero
      terminated or if you want the output to be.
 
-     Since the stringprep operation can expand the string, `maxucs4len'
+     Since the stringprep operation can expand the string, ‘maxucs4len’
      indicate how large the buffer holding the string is.  This function
      will not read or write to code points outside that size.
 
-     The `flags' are one of `Stringprep_profile_flags' values, or 0.
+     The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
 
-     The `profile' contain the `Stringprep_profile' instructions to
+     The ‘profile’ contain the ‘Stringprep_profile’ instructions to
      perform.  Your application can define new profiles, possibly
      re-using the generic stringprep tables that always will be part of
      the library, or use one of the currently supported profiles.
 
-     *Return value:* Returns `STRINGPREP_OK' iff successful, or an
-     `Stringprep_rc' error code.
+     Return value: Returns ‘STRINGPREP_OK’ iff successful, or an
+     ‘Stringprep_rc’ error code.
 
 stringprep_4zi
 --------------
@@ -1176,26 +1207,26 @@ stringprep_4zi
 
      MAXUCS4LEN: maximum length of input/output array.
 
-     FLAGS: a `Stringprep_profile_flags' value, or 0.
+     FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
 
-     PROFILE: pointer to `Stringprep_profile' to use.
+     PROFILE: pointer to ‘Stringprep_profile’ to use.
 
      Prepare the input zero terminated UCS-4 string according to the
      stringprep profile, and write back the result to the input string.
 
-     Since the stringprep operation can expand the string, `maxucs4len'
+     Since the stringprep operation can expand the string, ‘maxucs4len’
      indicate how large the buffer holding the string is.  This function
      will not read or write to code points outside that size.
 
-     The `flags' are one of `Stringprep_profile_flags' values, or 0.
+     The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
 
-     The `profile' contain the `Stringprep_profile' instructions to
+     The ‘profile’ contain the ‘Stringprep_profile’ instructions to
      perform.  Your application can define new profiles, possibly
      re-using the generic stringprep tables that always will be part of
      the library, or use one of the currently supported profiles.
 
-     *Return value:* Returns `STRINGPREP_OK' iff successful, or an
-     `Stringprep_rc' error code.
+     Return value: Returns ‘STRINGPREP_OK’ iff successful, or an
+     ‘Stringprep_rc’ error code.
 
 stringprep
 ----------
@@ -1203,34 +1234,34 @@ stringprep
  -- Function: int stringprep (char * IN, size_t MAXLEN,
           Stringprep_profile_flags FLAGS, const Stringprep_profile *
           PROFILE)
-     IN: input/ouput array with string to prepare.
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
-     FLAGS: a `Stringprep_profile_flags' value, or 0.
+     FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
 
-     PROFILE: pointer to `Stringprep_profile' to use.
+     PROFILE: pointer to ‘Stringprep_profile’ to use.
 
      Prepare the input zero terminated UTF-8 string according to the
      stringprep profile, and write back the result to the input string.
 
      Note that you must convert strings entered in the systems locale
      into UTF-8 before using this function, see
-     `stringprep_locale_to_utf8()'.
+     ‘stringprep_locale_to_utf8()’ .
 
-     Since the stringprep operation can expand the string, `maxlen'
+     Since the stringprep operation can expand the string, ‘maxlen’
      indicate how large the buffer holding the string is.  This function
      will not read or write to characters outside that size.
 
-     The `flags' are one of `Stringprep_profile_flags' values, or 0.
+     The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
 
-     The `profile' contain the `Stringprep_profile' instructions to
+     The ‘profile’ contain the ‘Stringprep_profile’ instructions to
      perform.  Your application can define new profiles, possibly
      re-using the generic stringprep tables that always will be part of
      the library, or use one of the currently supported profiles.
 
-     *Return value:* Returns `STRINGPREP_OK' iff successful, or an
-     error code.
+     Return value: Returns ‘STRINGPREP_OK’ iff successful, or an error
+     code.
 
 stringprep_profile
 ------------------
@@ -1243,7 +1274,7 @@ stringprep_profile
 
      PROFILE: name of stringprep profile to use.
 
-     FLAGS: a `Stringprep_profile_flags' value, or 0.
+     FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
 
      Prepare the input zero terminated UTF-8 string according to the
      stringprep profile, and return the result in a newly allocated
@@ -1251,17 +1282,17 @@ stringprep_profile
 
      Note that you must convert strings entered in the systems locale
      into UTF-8 before using this function, see
-     `stringprep_locale_to_utf8()'.
+     ‘stringprep_locale_to_utf8()’ .
 
-     The output `out' variable must be deallocated by the caller.
+     The output ‘out’ variable must be deallocated by the caller.
 
-     The `flags' are one of `Stringprep_profile_flags' values, or 0.
+     The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
 
-     The `profile' specifies the name of the stringprep profile to use.
+     The ‘profile’ specifies the name of the stringprep profile to use.
      It must be one of the internally supported stringprep profiles.
 
-     *Return value:* Returns `STRINGPREP_OK' iff successful, or an
-     error code.
+     Return value: Returns ‘STRINGPREP_OK’ iff successful, or an error
+     code.
 
 4.5 Error Handling
 ==================
@@ -1270,7 +1301,7 @@ stringprep_strerror
 -------------------
 
  -- Function: const char * stringprep_strerror (Stringprep_rc RC)
-     RC: a `Stringprep_rc' return code.
+     RC: a ‘Stringprep_rc’ return code.
 
      Convert a return code integer to a text string.  This string can be
      used to output a diagnostic message to the user.
@@ -1307,30 +1338,34 @@ stringprep_strerror
      *STRINGPREP_UNKNOWN_PROFILE:* The supplied profile name was not
      known to the library.
 
+     *STRINGPREP_ICONV_ERROR:* Character encoding conversion error.
+
      *STRINGPREP_NFKC_FAILED:* The Unicode NFKC operation failed.  This
      usually indicate an internal error in the library.
 
-     *STRINGPREP_MALLOC_ERROR:* The `malloc()' was out of memory.  This
+     *STRINGPREP_MALLOC_ERROR:* The ‘malloc()’ was out of memory.  This
      is usually a fatal error.
 
-     *Return value:* Returns a pointer to a statically allocated string
-     containing a description of the error with the return code `rc'.
+     Return value: Returns a pointer to a statically allocated string
+     containing a description of the error with the return code ‘rc’ .
 
 4.6 Stringprep Profile Macros
 =============================
 
  -- Function: int stringprep_nameprep_no_unassigned (char * IN, int
           MAXLEN)
-     IN: input/ouput array with string to prepare.
+
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
      Prepare the input UTF-8 string according to the nameprep profile.
-     The AllowUnassigned flag is false, use `stringprep_nameprep' for
+     The AllowUnassigned flag is false, use ‘stringprep_nameprep’ for
      true AllowUnassigned.  Returns 0 iff successful, or an error code.
 
  -- Function: int stringprep_iscsi (char * IN, int MAXLEN)
-     IN: input/ouput array with string to prepare.
+
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
@@ -1338,7 +1373,8 @@ stringprep_strerror
      stringprep profile.  Returns 0 iff successful, or an error code.
 
  -- Function: int stringprep_plain (char * IN, int MAXLEN)
-     IN: input/ouput array with string to prepare.
+
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
@@ -1346,7 +1382,8 @@ stringprep_strerror
      ANONYMOUS profile.  Returns 0 iff successful, or an error code.
 
  -- Function: int stringprep_xmpp_nodeprep (char * IN, int MAXLEN)
-     IN: input/ouput array with string to prepare.
+
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
@@ -1354,7 +1391,8 @@ stringprep_strerror
      identifier profile.  Returns 0 iff successful, or an error code.
 
  -- Function: int stringprep_xmpp_resourceprep (char * IN, int MAXLEN)
-     IN: input/ouput array with string to prepare.
+
+     IN: input/output array with string to prepare.
 
      MAXLEN: maximum length of input/output array.
 
@@ -1367,30 +1405,30 @@ File: libidn.info,  Node: Punycode Functions,  Next: IDNA Functions,  Prev: Stri
 5 Punycode Functions
 ********************
 
-Punycode is a simple and efficient transfer encoding syntax designed
-for use with Internationalized Domain Names in Applications. It
-uniquely and reversibly transforms a Unicode string into an ASCII
-string. ASCII characters in the Unicode string are represented
-literally, and non-ASCII characters are represented by ASCII characters
-that are allowed in host name labels (letters, digits, and hyphens). A
-general algorithm called Bootstring allows a string of basic code
-points to uniquely represent any string of code points drawn from a
-larger set. Punycode is an instance of Bootstring that uses particular
-parameter values, appropriate for IDNA.
-
-5.1 Header file `punycode.h'
+Punycode is a simple and efficient transfer encoding syntax designed for
+use with Internationalized Domain Names in Applications.  It uniquely
+and reversibly transforms a Unicode string into an ASCII string.  ASCII
+characters in the Unicode string are represented literally, and
+non-ASCII characters are represented by ASCII characters that are
+allowed in host name labels (letters, digits, and hyphens).  A general
+algorithm called Bootstring allows a string of basic code points to
+uniquely represent any string of code points drawn from a larger set.
+Punycode is an instance of Bootstring that uses particular parameter
+values, appropriate for IDNA.
+
+5.1 Header file ‘punycode.h’
 ============================
 
 To use the functions explained in this chapter, you need to include the
-file `punycode.h' using:
+file ‘punycode.h’ using:
 
      #include <punycode.h>
 
 5.2 Unicode Code Point Data Type
 ================================
 
-The punycode function uses a special type to denote Unicode code
-points.  It is guaranteed to always be a 32 bit unsigned integer.
+The punycode function uses a special type to denote Unicode code points.
+It is guaranteed to always be a 32 bit unsigned integer.
 
  -- Punycode Unicode code point: uint32_t punycode_uint
      A unsigned integer that hold Unicode code points.
@@ -1398,11 +1436,11 @@ points.  It is guaranteed to always be a 32 bit unsigned integer.
 5.3 Core Functions
 ==================
 
-Note that the current implementation will fail if the `input_length'
-exceed 4294967295 (the size of `punycode_uint').  This restriction may
+Note that the current implementation will fail if the ‘input_length’
+exceed 4294967295 (the size of ‘punycode_uint’).  This restriction may
 be removed in the future.  Meanwhile applications are encouraged to not
-depend on this problem, and use `sizeof' to initialize `input_length'
-and `output_length'.
+depend on this problem, and use ‘sizeof’ to initialize ‘input_length’
+and ‘output_length’.
 
    The functions provided are the following two entry points:
 
@@ -1412,44 +1450,49 @@ punycode_encode
  -- Function: int punycode_encode (size_t INPUT_LENGTH, const
           punycode_uint [] INPUT, const unsigned char [] CASE_FLAGS,
           size_t * OUTPUT_LENGTH, char [] OUTPUT)
-     INPUT_LENGTH: The number of code points in the `input' array and
-     the number of flags in the `case_flags' array.
+     INPUT_LENGTH: The number of code points in the ‘input’ array and
+     the number of flags in the ‘case_flags’ array.
 
      INPUT: An array of code points.  They are presumed to be Unicode
-     code points, but that is not strictly REQUIRED.  The array
-     contains code points, not code units.  UTF-16 uses code units D800
-     through DFFF to refer to code points 10000..10FFFF.  The code
-     points D800..DFFF do not occur in any valid Unicode string.  The
-     code points that can occur in Unicode strings (0..D7FF and
-     E000..10FFFF) are also called Unicode scalar values.
-
-     CASE_FLAGS: A `NULL' pointer or an array of boolean values parallel
-     to the `input' array.  Nonzero (true, flagged) suggests that the
+     code points, but that is not strictly REQUIRED. The array contains
+     code points, not code units.  UTF-16 uses code units D800 through
+     DFFF to refer to code points 10000..10FFFF. The code points
+     D800..DFFF do not occur in any valid Unicode string.  The code
+     points that can occur in Unicode strings (0..D7FF and E000..10FFFF)
+     are also called Unicode scalar values.
+
+     CASE_FLAGS: A ‘NULL’ pointer or an array of boolean values parallel
+     to the ‘input’ array.  Nonzero (true, flagged) suggests that the
      corresponding Unicode character be forced to uppercase after being
-     decoded (if possible), and zero (false, unflagged) suggests that
-     it be forced to lowercase (if possible).  ASCII code points
-     (0..7F) are encoded literally, except that ASCII letters are
-     forced to uppercase or lowercase according to the corresponding
-     case flags.  If `case_flags' is a `NULL' pointer then ASCII letters
-     are left as they are, and other code points are treated as
-     unflagged.
+     decoded (if possible), and zero (false, unflagged) suggests that it
+     be forced to lowercase (if possible).  ASCII code points (0..7F)
+     are encoded literally, except that ASCII letters are forced to
+     uppercase or lowercase according to the corresponding case flags.
+     If ‘case_flags’ is a ‘NULL’ pointer then ASCII letters are left as
+     they are, and other code points are treated as unflagged.
 
      OUTPUT_LENGTH: The caller passes in the maximum number of ASCII
      code points that it can receive.  On successful return it will
      contain the number of ASCII code points actually output.
 
      OUTPUT: An array of ASCII code points.  It is *not*
-     null-terminated; it will contain zeros if and only if the `input'
+     null-terminated; it will contain zeros if and only if the ‘input’
      contains zeros.  (Of course the caller can leave room for a
      terminator and add one if needed.)
 
      Converts a sequence of code points (presumed to be Unicode code
      points) to Punycode.
 
-     *Return value:* The return value can be any of the
-     `Punycode_status' values defined above except
-     `PUNYCODE_BAD_INPUT'.  If not `PUNYCODE_SUCCESS', then
-     `output_size' and `output' might contain garbage.
+     Return value: The return value can be any of the ‘Punycode_status’
+     values defined above except ‘PUNYCODE_BAD_INPUT’ .  If not
+     ‘PUNYCODE_SUCCESS’ , then ‘output_size’ and ‘output’ might contain
+     garbage.  Converts a sequence of code points (presumed to be
+     Unicode code points) to Punycode.
+
+     Return value: The return value can be any of the ‘Punycode_status’
+     values defined above except ‘PUNYCODE_BAD_INPUT’ .  If not
+     ‘PUNYCODE_SUCCESS’ , then ‘output_size’ and ‘output’ might contain
+     garbage.
 
 punycode_decode
 ---------------
@@ -1457,28 +1500,28 @@ punycode_decode
  -- Function: int punycode_decode (size_t INPUT_LENGTH, const char []
           INPUT, size_t * OUTPUT_LENGTH, punycode_uint [] OUTPUT,
           unsigned char [] CASE_FLAGS)
-     INPUT_LENGTH: The number of ASCII code points in the `input' array.
+     INPUT_LENGTH: The number of ASCII code points in the ‘input’ array.
 
      INPUT: An array of ASCII code points (0..7F).
 
      OUTPUT_LENGTH: The caller passes in the maximum number of code
-     points that it can receive into the `output' array (which is also
+     points that it can receive into the ‘output’ array (which is also
      the maximum number of flags that it can receive into the
-     `case_flags' array, if `case_flags' is not a `NULL' pointer).  On
+     ‘case_flags’ array, if ‘case_flags’ is not a ‘NULL’ pointer).  On
      successful return it will contain the number of code points
-     actually output (which is also the number of flags actually
-     output, if case_flags is not a null pointer).  The decoder will
-     never need to output more code points than the number of ASCII
-     code points in the input, because of the way the encoding is
-     defined.  The number of code points output cannot exceed the
-     maximum possible value of a punycode_uint, even if the supplied
-     `output_length' is greater than that.
+     actually output (which is also the number of flags actually output,
+     if case_flags is not a null pointer).  The decoder will never need
+     to output more code points than the number of ASCII code points in
+     the input, because of the way the encoding is defined.  The number
+     of code points output cannot exceed the maximum possible value of a
+     punycode_uint, even if the supplied ‘output_length’ is greater than
+     that.
 
      OUTPUT: An array of code points like the input argument of
-     `punycode_encode()' (see above).
+     ‘punycode_encode()’ (see above).
 
-     CASE_FLAGS: A `NULL' pointer (if the flags are not needed by the
-     caller) or an array of boolean values parallel to the `output'
+     CASE_FLAGS: A ‘NULL’ pointer (if the flags are not needed by the
+     caller) or an array of boolean values parallel to the ‘output’
      array.  Nonzero (true, flagged) suggests that the corresponding
      Unicode character be forced to uppercase by the caller (if
      possible), and zero (false, unflagged) suggests that it be forced
@@ -1489,10 +1532,10 @@ punycode_decode
      Converts Punycode to a sequence of code points (presumed to be
      Unicode code points).
 
-     *Return value:* The return value can be any of the
-     `Punycode_status' values defined above.  If not
-     `PUNYCODE_SUCCESS', then `output_length', `output', and
-     `case_flags' might contain garbage.
+     Return value: The return value can be any of the ‘Punycode_status’
+     values defined above.  If not ‘PUNYCODE_SUCCESS’ , then
+     ‘output_length’ , ‘output’ , and ‘case_flags’ might contain
+     garbage.
 
 5.4 Error Handling
 ==================
@@ -1501,7 +1544,7 @@ punycode_strerror
 -----------------
 
  -- Function: const char * punycode_strerror (Punycode_status RC)
-     RC: an `Punycode_status' return code.
+     RC: an ‘Punycode_status’ return code.
 
      Convert a return code integer to a text string.  This string can be
      used to output a diagnostic message to the user.
@@ -1516,8 +1559,8 @@ punycode_strerror
 
      *PUNYCODE_OVERFLOW:* Input needs wider integers to process.
 
-     *Return value:* Returns a pointer to a statically allocated string
-     containing a description of the error with the return code `rc'.
+     Return value: Returns a pointer to a statically allocated string
+     containing a description of the error with the return code ‘rc’ .
 
 \1f
 File: libidn.info,  Node: IDNA Functions,  Next: TLD Functions,  Prev: Punycode Functions,  Up: Top
@@ -1526,28 +1569,28 @@ File: libidn.info,  Node: IDNA Functions,  Next: TLD Functions,  Prev: Punycode
 ****************
 
 Until now, there has been no standard method for domain names to use
-characters outside the ASCII repertoire. The IDNA document defines
+characters outside the ASCII repertoire.  The IDNA document defines
 internationalized domain names (IDNs) and a mechanism called IDNA for
-handling them in a standard fashion. IDNs use characters drawn from a
+handling them in a standard fashion.  IDNs use characters drawn from a
 large repertoire (Unicode), but IDNA allows the non-ASCII characters to
 be represented using only the ASCII characters already allowed in
-so-called host names today. This backward-compatible representation is
+so-called host names today.  This backward-compatible representation is
 required in existing protocols like DNS, so that IDNs can be introduced
-with no changes to the existing infrastructure. IDNA is only meant for
+with no changes to the existing infrastructure.  IDNA is only meant for
 processing domain names, not free text.
 
-6.1 Header file `idna.h'
+6.1 Header file ‘idna.h’
 ========================
 
 To use the functions explained in this chapter, you need to include the
-file `idna.h' using:
+file ‘idna.h’ using:
 
      #include <idna.h>
 
 6.2 Control Flags
 =================
 
-The IDNA `flags' parameter can take on the following values, or a
+The IDNA ‘flags’ parameter can take on the following values, or a
 bit-wise inclusive or of any subset of the parameters:
 
  -- Return code: Idna_flags IDNA_ALLOW_UNASSIGNED
@@ -1560,26 +1603,25 @@ bit-wise inclusive or of any subset of the parameters:
 =================
 
  -- Macro: #define IDNA_ACE_PREFIX
-     String with the official IDNA prefix, `xn--'.
+     String with the official IDNA prefix, ‘xn--’.
 
 6.4 Core Functions
 ==================
 
 The idea behind the IDNA function names are as follows: the
-`idna_to_ascii_4i' and `idna_to_unicode_44i' functions are the core
-IDNA primitives.  The `4' indicate that the function takes UCS-4
-strings (i.e., Unicode code points encoded in a 32-bit unsigned integer
-type) of the specified length.  The `i' indicate that the data is
-written "inline" into the buffer.  This means the caller is responsible
-for allocating (and de-allocating) the string, and providing the
-library with the allocated length of the string.  The output length is
-written in the output length variable.  The remaining functions all
-contain the `z' indicator, which means the strings are zero terminated.
-All output strings are allocated by the library, and must be
-de-allocated by the caller.  The `4' indicator again means that the
-string is UCS-4, the `8' means the strings are UTF-8 and the `l'
-indicator means the strings are encoded in the encoding used by the
-current locale.
+‘idna_to_ascii_4i’ and ‘idna_to_unicode_44i’ functions are the core IDNA
+primitives.  The ‘4’ indicate that the function takes UCS-4 strings
+(i.e., Unicode code points encoded in a 32-bit unsigned integer type) of
+the specified length.  The ‘i’ indicate that the data is written
+“inline” into the buffer.  This means the caller is responsible for
+allocating (and de-allocating) the string, and providing the library
+with the allocated length of the string.  The output length is written
+in the output length variable.  The remaining functions all contain the
+‘z’ indicator, which means the strings are zero terminated.  All output
+strings are allocated by the library, and must be de-allocated by the
+caller.  The ‘4’ indicator again means that the string is UCS-4, the ‘8’
+means the strings are UTF-8 and the ‘l’ indicator means the strings are
+encoded in the encoding used by the current locale.
 
    The functions provided are the following entry points:
 
@@ -1592,11 +1634,11 @@ idna_to_ascii_4i
 
      INLEN: length of input array with unicode code points.
 
-     OUT: output zero terminated string that must have room for at
-     least 63 characters plus the terminating zero.
+     OUT: output zero terminated string that must have room for at least
+     63 characters plus the terminating zero.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      The ToASCII operation takes a sequence of Unicode code points that
      make up one domain label and transforms it into a sequence of code
@@ -1604,22 +1646,22 @@ idna_to_ascii_4i
      original sequence and the resulting sequence are equivalent labels.
 
      It is important to note that the ToASCII operation can fail.
-     ToASCII fails if any step of it fails. If any step of the ToASCII
+     ToASCII fails if any step of it fails.  If any step of the ToASCII
      operation fails on any label in a domain name, that domain name
-     MUST NOT be used as an internationalized domain name. The method
+     MUST NOT be used as an internationalized domain name.  The method
      for deadling with this failure is application-specific.
 
      The inputs to ToASCII are a sequence of code points, the
-     AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output
+     AllowUnassigned flag, and the UseSTD3ASCIIRules flag.  The output
      of ToASCII is either a sequence of ASCII code points or a failure
      condition.
 
      ToASCII never alters a sequence of code points that are all in the
-     ASCII range to begin with (although it could fail). Applying the
+     ASCII range to begin with (although it could fail).  Applying the
      ToASCII operation multiple times has exactly the same effect as
      applying it just once.
 
-     *Return value:* Returns 0 on success, or an `Idna_rc' error code.
+     Return value: Returns 0 on success, or an ‘Idna_rc’ error code.
 
 idna_to_unicode_44i
 -------------------
@@ -1636,16 +1678,16 @@ idna_to_unicode_44i
      points, on exit, actual size of output array with unicode code
      points.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      The ToUnicode operation takes a sequence of Unicode code points
      that make up one domain label and returns a sequence of Unicode
-     code points. If the input sequence is a label in ACE form, then the
-     result is an equivalent internationalized label that is not in ACE
-     form, otherwise the original sequence is returned unaltered.
+     code points.  If the input sequence is a label in ACE form, then
+     the result is an equivalent internationalized label that is not in
+     ACE form, otherwise the original sequence is returned unaltered.
 
-     ToUnicode never fails. If any step fails, then the original input
+     ToUnicode never fails.  If any step fails, then the original input
      sequence is returned immediately in that step.
 
      The Punycode decoder can never output more code points than it
@@ -1654,15 +1696,15 @@ idna_to_unicode_44i
      depends on the particular character encoding used.
 
      The inputs to ToUnicode are a sequence of code points, the
-     AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-     ToUnicode is always a sequence of Unicode code points.
+     AllowUnassigned flag, and the UseSTD3ASCIIRules flag.  The output
+     of ToUnicode is always a sequence of Unicode code points.
 
-     *Return value:* Returns `Idna_rc' error condition, but it must
-     only be used for debugging purposes.  The output buffer is always
+     Return value: Returns ‘Idna_rc’ error condition, but it must only
+     be used for debugging purposes.  The output buffer is always
      guaranteed to contain the correct data according to the
-     specification (sans malloc induced errors).  NB!  This means that
-     you normally ignore the return code from this function, as
-     checking it means breaking the standard.
+     specification (sans malloc induced errors).  NB! This means that
+     you normally ignore the return code from this function, as checking
+     it means breaking the standard.
 
 6.5 Simplified ToASCII Interface
 ================================
@@ -1676,14 +1718,14 @@ idna_to_ascii_4z
 
      OUTPUT: pointer to newly allocated output string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert UCS-4 domain name to ASCII string.  The domain name may
      contain several labels, separated by dots.  The output buffer must
      be deallocated by the caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_ascii_8z
 ----------------
@@ -1694,33 +1736,33 @@ idna_to_ascii_8z
 
      OUTPUT: pointer to newly allocated output string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert UTF-8 domain name to ASCII string.  The domain name may
      contain several labels, separated by dots.  The output buffer must
      be deallocated by the caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_ascii_lz
 ----------------
 
  -- Function: int idna_to_ascii_lz (const char * INPUT, char ** OUTPUT,
           int FLAGS)
-     INPUT: zero terminated input string encoded in the current locale's
+     INPUT: zero terminated input string encoded in the current locales
      character set.
 
      OUTPUT: pointer to newly allocated output string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
-     Convert domain name in the locale's encoding to ASCII string.  The
+     Convert domain name in the locales encoding to ASCII string.  The
      domain name may contain several labels, separated by dots.  The
      output buffer must be deallocated by the caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 6.6 Simplified ToUnicode Interface
 ==================================
@@ -1728,21 +1770,21 @@ idna_to_ascii_lz
 idna_to_unicode_4z4z
 --------------------
 
- -- Function: int idna_to_unicode_4z4z (const uint32_t * INPUT,
-          uint32_t ** OUTPUT, int FLAGS)
+ -- Function: int idna_to_unicode_4z4z (const uint32_t * INPUT, uint32_t
+          ** OUTPUT, int FLAGS)
      INPUT: zero-terminated Unicode string.
 
      OUTPUT: pointer to newly allocated output Unicode string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert possibly ACE encoded domain name in UCS-4 format into a
      UCS-4 string.  The domain name may contain several labels,
      separated by dots.  The output buffer must be deallocated by the
      caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_unicode_8z4z
 --------------------
@@ -1753,15 +1795,15 @@ idna_to_unicode_8z4z
 
      OUTPUT: pointer to newly allocated output Unicode string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert possibly ACE encoded domain name in UTF-8 format into a
      UCS-4 string.  The domain name may contain several labels,
      separated by dots.  The output buffer must be deallocated by the
      caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_unicode_8z8z
 --------------------
@@ -1772,15 +1814,15 @@ idna_to_unicode_8z8z
 
      OUTPUT: pointer to newly allocated output UTF-8 string.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert possibly ACE encoded domain name in UTF-8 format into a
      UTF-8 string.  The domain name may contain several labels,
      separated by dots.  The output buffer must be deallocated by the
      caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_unicode_8zlz
 --------------------
@@ -1790,38 +1832,38 @@ idna_to_unicode_8zlz
      INPUT: zero-terminated UTF-8 string.
 
      OUTPUT: pointer to newly allocated output string encoded in the
-     current locale's character set.
+     current locales character set.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
      Convert possibly ACE encoded domain name in UTF-8 format into a
-     string encoded in the current locale's character set.  The domain
+     string encoded in the current locales character set.  The domain
      name may contain several labels, separated by dots.  The output
      buffer must be deallocated by the caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 idna_to_unicode_lzlz
 --------------------
 
  -- Function: int idna_to_unicode_lzlz (const char * INPUT, char **
           OUTPUT, int FLAGS)
-     INPUT: zero-terminated string encoded in the current locale's
+     INPUT: zero-terminated string encoded in the current locales
      character set.
 
      OUTPUT: pointer to newly allocated output string encoded in the
-     current locale's character set.
+     current locales character set.
 
-     FLAGS: an `Idna_flags' value, e.g., `IDNA_ALLOW_UNASSIGNED' or
-     `IDNA_USE_STD3_ASCII_RULES'.
+     FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
+     ‘IDNA_USE_STD3_ASCII_RULES’ .
 
-     Convert possibly ACE encoded domain name in the locale's character
-     set into a string encoded in the current locale's character set.
+     Convert possibly ACE encoded domain name in the locales character
+     set into a string encoded in the current locales character set.
      The domain name may contain several labels, separated by dots.  The
      output buffer must be deallocated by the caller.
 
-     *Return value:* Returns `IDNA_SUCCESS' on success, or error code.
+     Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
 
 6.7 Error Handling
 ==================
@@ -1830,7 +1872,7 @@ idna_strerror
 -------------
 
  -- Function: const char * idna_strerror (Idna_rc RC)
-     RC: an `Idna_rc' return code.
+     RC: an ‘Idna_rc’ return code.
 
      Convert a return code integer to a text string.  This string can be
      used to output a diagnostic message to the user.
@@ -1861,7 +1903,7 @@ idna_strerror
      *IDNA_CONTAINS_ACE_PREFIX:* The input contains the ACE prefix (for
      ToASCII).
 
-     *IDNA_ICONV_ERROR:* Could not convert string in locale encoding.
+     *IDNA_ICONV_ERROR:* Character encoding conversion error.
 
      *IDNA_MALLOC_ERROR:* Could not allocate buffer (this is typically a
      fatal error).
@@ -1869,8 +1911,8 @@ idna_strerror
      *IDNA_DLOPEN_ERROR:* Could not dlopen the libcidn DSO (only used
      internally in libc).
 
-     *Return value:* Returns a pointer to a statically allocated string
-     containing a description of the error with the return code `rc'.
+     Return value: Returns a pointer to a statically allocated string
+     containing a description of the error with the return code ‘rc’ .
 
 \1f
 File: libidn.info,  Node: TLD Functions,  Next: PR29 Functions,  Prev: IDNA Functions,  Up: Top
@@ -1879,32 +1921,32 @@ File: libidn.info,  Node: TLD Functions,  Next: PR29 Functions,  Prev: IDNA Func
 ***************
 
 Organizations that manage some Top Level Domains (TLDs) have published
-tables with characters they accept within the domain.  The reason may
-be to reduce complexity that come from using the full Unicode range,
-and to protect themselves from future (backwards incompatible) changes
-in the IDN or Unicode specifications.  Libidn implement an
-infrastructure for defining and checking strings against such tables.
-Libidn also ship some tables from TLDs that we have managed to get
-permission to use them from.  Because these tables are even less static
-than Unicode or StringPrep tables, it is likely that they will be
-updated from time to time (even in backwards incompatible ways).  The
-Libidn interface provide a "version" field for each TLD table, which
-can be compared for equality to guarantee the same operation over time.
+tables with characters they accept within the domain.  The reason may be
+to reduce complexity that come from using the full Unicode range, and to
+protect themselves from future (backwards incompatible) changes in the
+IDN or Unicode specifications.  Libidn implement an infrastructure for
+defining and checking strings against such tables.  Libidn also ship
+some tables from TLDs that we have managed to get permission to use them
+from.  Because these tables are even less static than Unicode or
+StringPrep tables, it is likely that they will be updated from time to
+time (even in backwards incompatible ways).  The Libidn interface
+provide a “version” field for each TLD table, which can be compared for
+equality to guarantee the same operation over time.
 
    From a design point of view, you can regard the TLD tables for IDN as
-the "localization" step that come after the "internationalization" step
+the “localization” step that come after the “internationalization” step
 provided by the IETF standards.
 
    The TLD functionality rely on up-to-date tables.  The latest version
 of Libidn aim to provide these, but tables with unclear copying
 conditions, or generally experimental tables, are not included.  Some
-such tables can be found at `https://github.com/gnuthor/tldchk'.
+such tables can be found at <https://github.com/gnuthor/tldchk>.
 
-7.1 Header file `tld.h'
+7.1 Header file ‘tld.h’
 =======================
 
 To use the functions explained in this chapter, you need to include the
-file `tld.h' using:
+file ‘tld.h’ using:
 
      #include <tld.h>
 
@@ -1916,22 +1958,22 @@ tld_check_4t
 
  -- Function: int tld_check_4t (const uint32_t * IN, size_t INLEN,
           size_t * ERRPOS, const Tld_table * TLD)
-     IN: Array of unicode code points to process. Does not need to be
+     IN: Array of unicode code points to process.  Does not need to be
      zero terminated.
 
      INLEN: Number of unicode code points.
 
      ERRPOS: Position of offending character is returned here.
 
-     TLD: A `Tld_table' data structure representing the restrictions for
+     TLD: A ‘Tld_table’ data structure representing the restrictions for
      which the input should be tested.
 
-     Test each of the code points in `in' for whether or not they are
-     allowed by the data structure in `tld', return the position of the
-     first character for which this is not the case in `errpos'.
+     Test each of the code points in ‘in’ for whether or not they are
+     allowed by the data structure in ‘tld’ , return the position of the
+     first character for which this is not the case in ‘errpos’ .
 
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     code points are valid or when `tld' is null, `TLD_INVALID' if a
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
+     points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -1944,15 +1986,15 @@ tld_check_4tz
 
      ERRPOS: Position of offending character is returned here.
 
-     TLD: A `Tld_table' data structure representing the restrictions for
+     TLD: A ‘Tld_table’ data structure representing the restrictions for
      which the input should be tested.
 
-     Test each of the code points in `in' for whether or not they are
-     allowed by the data structure in `tld', return the position of the
-     first character for which this is not the case in `errpos'.
+     Test each of the code points in ‘in’ for whether or not they are
+     allowed by the data structure in ‘tld’ , return the position of the
+     first character for which this is not the case in ‘errpos’ .
 
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     code points are valid or when `tld' is null, `TLD_INVALID' if a
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
+     points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -1964,18 +2006,18 @@ tld_get_4
 
  -- Function: int tld_get_4 (const uint32_t * IN, size_t INLEN, char **
           OUT)
-     IN: Array of unicode code points to process. Does not need to be
+     IN: Array of unicode code points to process.  Does not need to be
      zero terminated.
 
      INLEN: Number of unicode code points.
 
      OUT: Zero terminated ascii result string pointer.
 
-     Isolate the top-level domain of `in' and return it as an ASCII
-     string in `out'.
+     Isolate the top-level domain of ‘in’ and return it as an ASCII
+     string in ‘out’ .
 
-     *Return value:* Return `TLD_SUCCESS' on success, or the
-     corresponding `Tld_rc' error code otherwise.
+     Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
+     ‘Tld_rc’ error code otherwise.
 
 tld_get_4z
 ----------
@@ -1985,11 +2027,11 @@ tld_get_4z
 
      OUT: Zero terminated ascii result string pointer.
 
-     Isolate the top-level domain of `in' and return it as an ASCII
-     string in `out'.
+     Isolate the top-level domain of ‘in’ and return it as an ASCII
+     string in ‘out’ .
 
-     *Return value:* Return `TLD_SUCCESS' on success, or the
-     corresponding `Tld_rc' error code otherwise.
+     Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
+     ‘Tld_rc’ error code otherwise.
 
 tld_get_z
 ---------
@@ -1999,47 +2041,51 @@ tld_get_z
 
      OUT: Zero terminated ascii result string pointer.
 
-     Isolate the top-level domain of `in' and return it as an ASCII
-     string in `out'.  The input string `in' may be UTF-8, ISO-8859-1 or
-     any ASCII compatible character encoding.
+     Isolate the top-level domain of ‘in’ and return it as an ASCII
+     string in ‘out’ .  The input string ‘in’ may be UTF-8, ISO-8859-1
+     or any ASCII compatible character encoding.
 
-     *Return value:* Return `TLD_SUCCESS' on success, or the
-     corresponding `Tld_rc' error code otherwise.
+     Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
+     ‘Tld_rc’ error code otherwise.
 
 tld_get_table
 -------------
 
  -- Function: const Tld_table * tld_get_table (const char * TLD, const
           Tld_table ** TABLES)
-     TLD: TLD name (e.g. "com") as zero terminated ASCII byte string.
+     TLD: TLD name (e.g.  "com") as zero terminated ASCII byte string.
 
-     TABLES: Zero terminated array of `Tld_table' info-structures for
+     TABLES: Zero terminated array of ‘Tld_table’ info-structures for
      TLDs.
 
      Get the TLD table for a named TLD by searching through the given
      TLD table array.
 
-     *Return value:* Return structure corresponding to TLD `tld' by
-     going thru `tables', or return `NULL' if no such structure is
-     found.
+     Return value: Return structure corresponding to TLD ‘tld’ by going
+     thru ‘tables’ , or return ‘NULL’ if no such structure is found.
+     Get the TLD table for a named TLD by searching through the given
+     TLD table array.
+
+     Return value: Return structure corresponding to TLD ‘tld’ by going
+     thru ‘tables’ , or return ‘NULL’ if no such structure is found.
 
 tld_default_table
 -----------------
 
  -- Function: const Tld_table * tld_default_table (const char * TLD,
           const Tld_table ** OVERRIDES)
-     TLD: TLD name (e.g. "com") as zero terminated ASCII byte string.
+     TLD: TLD name (e.g.  "com") as zero terminated ASCII byte string.
 
-     OVERRIDES: Additional zero terminated array of `Tld_table'
-     info-structures for TLDs, or `NULL' to only use library deault
+     OVERRIDES: Additional zero terminated array of ‘Tld_table’
+     info-structures for TLDs, or ‘NULL’ to only use library default
      tables.
 
      Get the TLD table for a named TLD, using the internal defaults,
-     possibly overrided by the (optional) supplied tables.
+     possibly overridden by the (optional) supplied tables.
 
-     *Return value:* Return structure corresponding to TLD `tld_str',
-     first looking through `overrides' then thru built-in list, or
-     `NULL' if no such structure found.
+     Return value: Return structure corresponding to TLD ‘tld_str’ ,
+     first looking through ‘overrides’ then thru built-in list, or
+     ‘NULL’ if no such structure found.
 
 7.4 High-Level Wrapper Functions
 ================================
@@ -2047,29 +2093,29 @@ tld_default_table
 tld_check_4
 -----------
 
- -- Function: int tld_check_4 (const uint32_t * IN, size_t INLEN,
-          size_t * ERRPOS, const Tld_table ** OVERRIDES)
-     IN: Array of unicode code points to process. Does not need to be
+ -- Function: int tld_check_4 (const uint32_t * IN, size_t INLEN, size_t
+          * ERRPOS, const Tld_table ** OVERRIDES)
+     IN: Array of unicode code points to process.  Does not need to be
      zero terminated.
 
      INLEN: Number of unicode code points.
 
      ERRPOS: Position of offending character is returned here.
 
-     OVERRIDES: A `Tld_table' array of additional domain restriction
+     OVERRIDES: A ‘Tld_table’ array of additional domain restriction
      structures that complement and supersede the built-in information.
 
-     Test each of the code points in `in' for whether or not they are
-     allowed by the information in `overrides' or by the built-in TLD
-     restriction data. When data for the same TLD is available both
-     internally and in `overrides', the information in `overrides' takes
-     precedence. If several entries for a specific TLD are found, the
-     first one is used.  If `overrides' is `NULL', only the built-in
-     information is used.  The position of the first offending character
-     is returned in `errpos'.
-
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     code points are valid or when `tld' is null, `TLD_INVALID' if a
+     Test each of the code points in ‘in’ for whether or not they are
+     allowed by the information in ‘overrides’ or by the built-in TLD
+     restriction data.  When data for the same TLD is available both
+     internally and in ‘overrides’ , the information in ‘overrides’
+     takes precedence.  If several entries for a specific TLD are found,
+     the first one is used.  If ‘overrides’ is ‘NULL’ , only the
+     built-in information is used.  The position of the first offending
+     character is returned in ‘errpos’ .
+
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
+     points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -2082,20 +2128,20 @@ tld_check_4z
 
      ERRPOS: Position of offending character is returned here.
 
-     OVERRIDES: A `Tld_table' array of additional domain restriction
+     OVERRIDES: A ‘Tld_table’ array of additional domain restriction
      structures that complement and supersede the built-in information.
 
-     Test each of the code points in `in' for whether or not they are
-     allowed by the information in `overrides' or by the built-in TLD
-     restriction data. When data for the same TLD is available both
-     internally and in `overrides', the information in `overrides' takes
-     precedence. If several entries for a specific TLD are found, the
-     first one is used.  If `overrides' is `NULL', only the built-in
-     information is used.  The position of the first offending character
-     is returned in `errpos'.
-
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     code points are valid or when `tld' is null, `TLD_INVALID' if a
+     Test each of the code points in ‘in’ for whether or not they are
+     allowed by the information in ‘overrides’ or by the built-in TLD
+     restriction data.  When data for the same TLD is available both
+     internally and in ‘overrides’ , the information in ‘overrides’
+     takes precedence.  If several entries for a specific TLD are found,
+     the first one is used.  If ‘overrides’ is ‘NULL’ , only the
+     built-in information is used.  The position of the first offending
+     character is returned in ‘errpos’ .
+
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
+     points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -2108,22 +2154,22 @@ tld_check_8z
 
      ERRPOS: Position of offending character is returned here.
 
-     OVERRIDES: A `Tld_table' array of additional domain restriction
+     OVERRIDES: A ‘Tld_table’ array of additional domain restriction
      structures that complement and supersede the built-in information.
 
-     Test each of the characters in `in' for whether or not they are
-     allowed by the information in `overrides' or by the built-in TLD
-     restriction data. When data for the same TLD is available both
-     internally and in `overrides', the information in `overrides' takes
-     precedence. If several entries for a specific TLD are found, the
-     first one is used.  If `overrides' is `NULL', only the built-in
-     information is used.  The position of the first offending character
-     is returned in `errpos'.  Note that the error position refers to
-     the decoded character offset rather than the byte position in the
-     string.
-
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     characters are valid or when `tld' is null, `TLD_INVALID' if a
+     Test each of the characters in ‘in’ for whether or not they are
+     allowed by the information in ‘overrides’ or by the built-in TLD
+     restriction data.  When data for the same TLD is available both
+     internally and in ‘overrides’ , the information in ‘overrides’
+     takes precedence.  If several entries for a specific TLD are found,
+     the first one is used.  If ‘overrides’ is ‘NULL’ , only the
+     built-in information is used.  The position of the first offending
+     character is returned in ‘errpos’ .  Note that the error position
+     refers to the decoded character offset rather than the byte
+     position in the string.
+
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all
+     characters are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -2137,22 +2183,22 @@ tld_check_lz
 
      ERRPOS: Position of offending character is returned here.
 
-     OVERRIDES: A `Tld_table' array of additional domain restriction
+     OVERRIDES: A ‘Tld_table’ array of additional domain restriction
      structures that complement and supersede the built-in information.
 
-     Test each of the characters in `in' for whether or not they are
-     allowed by the information in `overrides' or by the built-in TLD
-     restriction data. When data for the same TLD is available both
-     internally and in `overrides', the information in `overrides' takes
-     precedence. If several entries for a specific TLD are found, the
-     first one is used.  If `overrides' is `NULL', only the built-in
-     information is used.  The position of the first offending character
-     is returned in `errpos'.  Note that the error position refers to
-     the decoded character offset rather than the byte position in the
-     string.
-
-     *Return value:* Returns the `Tld_rc' value `TLD_SUCCESS' if all
-     characters are valid or when `tld' is null, `TLD_INVALID' if a
+     Test each of the characters in ‘in’ for whether or not they are
+     allowed by the information in ‘overrides’ or by the built-in TLD
+     restriction data.  When data for the same TLD is available both
+     internally and in ‘overrides’ , the information in ‘overrides’
+     takes precedence.  If several entries for a specific TLD are found,
+     the first one is used.  If ‘overrides’ is ‘NULL’ , only the
+     built-in information is used.  The position of the first offending
+     character is returned in ‘errpos’ .  Note that the error position
+     refers to the decoded character offset rather than the byte
+     position in the string.
+
+     Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all
+     characters are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
      character is not allowed, or additional error codes on general
      failure conditions.
 
@@ -2178,12 +2224,12 @@ tld_strerror
 
      *TLD_MALLOC_ERROR:* Error during memory allocation.
 
-     *TLD_ICONV_ERROR:* Error during iconv string conversion.
+     *TLD_ICONV_ERROR:* Character encoding conversion error.
 
      *TLD_NO_TLD:* No top-level domain found in domain string.
 
-     *Return value:* Returns a pointer to a statically allocated string
-     containing a description of the error with the return code `rc'.
+     Return value: Returns a pointer to a statically allocated string
+     containing a description of the error with the return code ‘rc’ .
 
 \1f
 File: libidn.info,  Node: PR29 Functions,  Next: Examples,  Prev: TLD Functions,  Up: Top
@@ -2192,44 +2238,44 @@ File: libidn.info,  Node: PR29 Functions,  Next: Examples,  Prev: TLD Functions,
 ****************
 
 A deficiency in the specification of Unicode Normalization Forms has
-been found.  The consequence is that some strings can be normalized
-into different strings by different implementations.  In other words,
-two different implementations may return different output for the same
-input (because the interpretation of the specification is ambiguous).
+been found.  The consequence is that some strings can be normalized into
+different strings by different implementations.  In other words, two
+different implementations may return different output for the same input
+(because the interpretation of the specification is ambiguous).
 Further, an implementation invoked again on the one of the output
-strings may return a different string (because one of the
-interpretation of the ambiguous specification make normalization
-non-idempotent).  Fortunately, only a select few character sequence
-exhibit this problem, and none of them are expected to occur in natural
-languages (due to different linguistic uses of the involved characters).
+strings may return a different string (because one of the interpretation
+of the ambiguous specification make normalization non-idempotent).
+Fortunately, only a select few character sequence exhibit this problem,
+and none of them are expected to occur in natural languages (due to
+different linguistic uses of the involved characters).
 
    A full discussion of the problem may be found at:
 
-   `http://www.unicode.org/review/pr-29.html'
+   <http://www.unicode.org/review/pr-29.html>
 
    The PR29 functions below allow you to detect the problem sequence.
 So when would you want to use these functions?  For most applications,
 such as those using Nameprep for IDN, this is likely only to be an
 interoperability problem.  Thus, you may not want to care about it, as
 the character sequences will rarely occur naturally.  However, if you
-are using a profile, such as SASLPrep, to process authentication
-tokens; authorization tokens; or passwords, there is a real danger that
+are using a profile, such as SASLPrep, to process authentication tokens;
+authorization tokens; or passwords, there is a real danger that
 attackers may try to use the peculiarities in these strings to attack
 parts of your system.  As only a small number of strings, and no
 naturally occurring strings, exhibit this problem, the conservative
 approach of rejecting the strings is recommended.  If this approach is
 not used, you should instead verify that all parts of your system, that
-process the tokens and passwords, use a NFKC implementation that
-produce the same output for the same input.
+process the tokens and passwords, use a NFKC implementation that produce
+the same output for the same input.
 
    Technically inclined readers may be interested in knowing more about
-the implementation aspects of the PR29 flaw. *Note PR29 discussion::.
+the implementation aspects of the PR29 flaw.  *Note PR29 discussion::.
 
-8.1 Header file `pr29.h'
+8.1 Header file ‘pr29.h’
 ========================
 
 To use the functions explained in this chapter, you need to include the
-file `pr29.h' using:
+file ‘pr29.h’ using:
 
      #include <pr29.h>
 
@@ -2248,8 +2294,8 @@ pr29_4
      strings by different NFKC implementations, due to an anomaly in the
      NFKC specifications.
 
-     *Return value:* Returns the `Pr29_rc' value `PR29_SUCCESS' on
-     success, and `PR29_PROBLEM' if the input sequence is a "problem
+     Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
+     success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
      sequence" (i.e., may be normalized into different strings by
      different implementations).
 
@@ -2266,8 +2312,8 @@ pr29_4z
      strings by different NFKC implementations, due to an anomaly in the
      NFKC specifications.
 
-     *Return value:* Returns the `Pr29_rc' value `PR29_SUCCESS' on
-     success, and `PR29_PROBLEM' if the input sequence is a "problem
+     Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
+     success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
      sequence" (i.e., may be normalized into different strings by
      different implementations).
 
@@ -2281,11 +2327,11 @@ pr29_8z
      strings by different NFKC implementations, due to an anomaly in the
      NFKC specifications.
 
-     *Return value:* Returns the `Pr29_rc' value `PR29_SUCCESS' on
-     success, and `PR29_PROBLEM' if the input sequence is a "problem
+     Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
+     success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
      sequence" (i.e., may be normalized into different strings by
-     different implementations), or `PR29_STRINGPREP_ERROR' if there
-     was a problem converting the string from UTF-8 to UCS-4.
+     different implementations), or ‘PR29_STRINGPREP_ERROR’ if there was
+     a problem converting the string from UTF-8 to UCS-4.
 
 8.4 Error Handling
 ==================
@@ -2294,7 +2340,7 @@ pr29_strerror
 -------------
 
  -- Function: const char * pr29_strerror (Pr29_rc RC)
-     RC: an `Pr29_rc' return code.
+     RC: an ‘Pr29_rc’ return code.
 
      Convert a return code integer to a text string.  This string can be
      used to output a diagnostic message to the user.
@@ -2306,10 +2352,10 @@ pr29_strerror
      *PR29_PROBLEM:* A problem sequence was encountered.
 
      *PR29_STRINGPREP_ERROR:* The character set conversion failed (only
-     for `pr29_8z()').
+     for ‘pr29_8z()’ ).
 
-     *Return value:* Returns a pointer to a statically allocated string
-     containing a description of the error with the return code `rc'.
+     Return value: Returns a pointer to a statically allocated string
+     containing a description of the error with the return code ‘rc’ .
 
 \1f
 File: libidn.info,  Node: Examples,  Next: Invoking idn,  Prev: PR29 Functions,  Up: Top
@@ -2317,7 +2363,7 @@ File: libidn.info,  Node: Examples,  Next: Invoking idn,  Prev: PR29 Functions,
 9 Examples
 **********
 
-This chapter contains example code which illustrate how `Libidn' can be
+This chapter contains example code which illustrate how ‘Libidn’ can be
 used when writing your own application.
 
 * Menu:
@@ -2336,26 +2382,6 @@ File: libidn.info,  Node: Example 1,  Next: Example 2,  Up: Examples
 
 This example demonstrates how the stringprep functions are used.
 
-/* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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/>.
- *
- */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -2391,9 +2417,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Before locale2utf8 (length %ld): ", strlen (buf));
+  printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   p = stringprep_locale_to_utf8 (buf);
@@ -2405,9 +2431,9 @@ main (void)
   else
     printf ("Could not convert string to UTF-8, continuing anyway...\n");
 
-  printf ("Before stringprep (length %ld): ", strlen (buf));
+  printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
@@ -2415,9 +2441,9 @@ main (void)
     printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
   else
     {
-      printf ("After stringprep (length %ld): ", strlen (buf));
+      printf ("After stringprep (length %ld): ", (long int) strlen (buf));
       for (i = 0; i < strlen (buf); i++)
-       printf ("%02x ", buf[i] & 0xFF);
+       printf ("%02x ", (unsigned) buf[i] & 0xFF);
       printf ("\n");
     }
 
@@ -2432,27 +2458,6 @@ File: libidn.info,  Node: Example 2,  Next: Example 3,  Prev: Example 1,  Up: Ex
 
 This example demonstrates how the punycode functions are used.
 
-/* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002-2012 Simon Josefsson
- * Copyright (C) 2002  Adam M. Costello
- *
- * This file is part of GNU Libidn.
- *
- * 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/>.
- *
- */
-
 #include <locale.h>            /* setlocale() */
 
 /*
@@ -2676,26 +2681,6 @@ File: libidn.info,  Node: Example 3,  Next: Example 4,  Prev: Example 2,  Up: Ex
 This example demonstrates how the library is used to convert
 internationalized domain names into ASCII compatible names.
 
-/* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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/>.
- *
- */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -2732,9 +2717,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = idna_to_ascii_lz (buf, &p, 0);
@@ -2744,9 +2729,9 @@ main (void)
       return EXIT_FAILURE;
     }
 
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
   for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
   printf ("\n");
 
   free (p);
@@ -2763,26 +2748,6 @@ File: libidn.info,  Node: Example 4,  Next: Example 5,  Prev: Example 3,  Up: Ex
 This example demonstrates how the library is used to convert ASCII
 compatible names to internationalized domain names.
 
-/* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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/>.
- *
- */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -2819,9 +2784,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = idna_to_unicode_lzlz (buf, &p, 0);
@@ -2831,9 +2796,9 @@ main (void)
       return EXIT_FAILURE;
     }
 
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
   for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
   printf ("\n");
 
   free (p);
@@ -2850,26 +2815,6 @@ File: libidn.info,  Node: Example 5,  Prev: Example 4,  Up: Examples
 This example demonstrates how the library is used to check a string for
 invalid characters within a specific TLD.
 
-/* example5.c --- Example TLD checking.
- * Copyright (C) 2004-2012 Simon Josefsson
- *
- * This file is part of GNU Libidn.
- *
- * 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/>.
- *
- */
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -2918,9 +2863,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   p = stringprep_locale_to_utf8 (buf);
@@ -2939,7 +2884,7 @@ main (void)
       return 2;
     }
 
-  printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
+  printf ("ToASCII string (length %ld): %s\n", (long int) strlen (p), p);
 
   rc = idna_to_unicode_8z4z (p, &r, 0);
   free (p);
@@ -2959,7 +2904,8 @@ main (void)
   free (r);
   if (rc == TLD_INVALID)
     {
-      printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
+      printf ("Domain rejected by TLD check, Unicode position %ld\n",
+             (long int) errpos);
       return 1;
     }
   else if (rc != TLD_SUCCESS)
@@ -2982,65 +2928,48 @@ File: libidn.info,  Node: Invoking idn,  Next: Emacs API,  Prev: Examples,  Up:
 10.1 Name
 =========
 
-GNU Libidn (idn) - Internationalized Domain Names command line tool
+GNU Libidn (idn)  Internationalized Domain Names command line tool
 
 10.2 Description
 ================
 
-`idn' allows internationalized string preparation (`stringprep'),
+‘idn’ allows internationalized string preparation (‘stringprep’),
 encoding and decoding of punycode data, and IDNA ToASCII/ToUnicode
 operations to be performed on the command line.
 
    If strings are specified on the command line, they are used as input
-and the computed output is printed to standard output `stdout'.  If no
+and the computed output is printed to standard output ‘stdout’.  If no
 strings are specified on the command line, the program read data, line
-by line, from the standard input `stdin', and print the computed output
+by line, from the standard input ‘stdin’, and print the computed output
 to standard output.  What processing is performed (e.g., ToASCII, or
 Punycode encode) is indicated by options.  If any errors are
 encountered, the execution of the applications is aborted.
 
    All strings are expected to be encoded in the preferred charset used
-by your locale.  Use `--debug' to find out what this charset is.  You
-can override the charset used by setting environment variable `CHARSET'.
+by your locale.  Use ‘--debug’ to find out what this charset is.  You
+can override the charset used by setting environment variable ‘CHARSET’.
 
-   To process a string that starts with `-', for example `-foo', use
-`--' to signal the end of parameters, as in `idn --quiet -a -- -foo'.
+   To process a string that starts with ‘-’, for example ‘-foo’, use
+‘--’ to signal the end of parameters, as in ‘idn --quiet -a -- -foo’.
 
 10.3 Options
 ============
 
-`idn' recognizes these commands:
+‘idn’ recognizes these commands:
 
   -h, --help               Print help and exit
-
   -V, --version            Print version and exit
-
   -s, --stringprep         Prepare string according to nameprep profile
-
   -d, --punycode-decode    Decode Punycode
-
   -e, --punycode-encode    Encode Punycode
-
   -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)
-
   -u, --idna-to-unicode    Convert from ACE according to IDNA
-
       --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)
-
       --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)
-
       --no-tld             Don't check string for TLD specific rules
-                             Only for --idna-to-ascii and --idna-to-unicode
-
   -n, --nfkc               Normalize string according to Unicode v3.2 NFKC
-
   -p, --profile=STRING     Use specified stringprep profile instead
-                             Valid stringprep profiles: `Nameprep',
-                             `iSCSI', `Nodeprep', `Resourceprep',
-                             `trace', `SASLprep'
-
       --debug              Print debugging information
-
       --quiet              Silent operation
 
 10.4 Environment Variables
@@ -3058,22 +2987,15 @@ will guess which character set is used automatically.  Example usage:
 10.5 Examples
 =============
 
-Standard usage, reading input from standard input:
+Standard usage, reading input from standard input.  The parameter
+‘--quiet’ disable printing copyright, license and usage instructions.
 
-     jas@latte:~$ idn
-     libidn 0.3.5
-     Copyright 2002, 2003 Simon Josefsson.
-     GNU Libidn comes with NO WARRANTY, to the extent permitted by law.
-     You may redistribute copies of GNU Libidn under the terms of
-     the GNU Lesser General Public License.  For more information
-     about these matters, see the file named COPYING.LIB.
-     Type each input string on a line by itself, terminated by a newline character.
+     jas@latte:~$ idn --quiet
      räksmörgås.se
      xn--rksmrgs-5wao1o.se
      jas@latte:~$
 
-   Reading input from command line, and disable printing copyright and
-license information:
+   Reading input from command line:
 
      jas@latte:~$ idn --quiet räksmörgås.se blåbærgrød.no
      xn--rksmrgs-5wao1o.se
@@ -3091,53 +3013,52 @@ license information:
 
 Getting character data encoded right, and making sure Libidn use the
 same encoding, can be difficult.  The reason for this is that most
-systems encode character data in more than one character encoding,
-i.e., using `UTF-8' together with `ISO-8859-1' or `ISO-2022-JP'.  This
-problem is likely to continue to exist until only one character
-encoding come out as the evolutionary winner, or (more likely, at least
-to some extents) forever.
+systems encode character data in more than one character encoding, i.e.,
+using ‘UTF-8’ together with ‘ISO-8859-1’ or ‘ISO-2022-JP’.  This problem
+is likely to continue to exist until only one character encoding come
+out as the evolutionary winner, or (more likely, at least to some
+extents) forever.
 
    The first step to troubleshooting character encoding problems with
-Libidn is to use the `--debug' parameter to find out which character
-set encoding `idn' believe your locale uses.
+Libidn is to use the ‘--debug’ parameter to find out which character set
+encoding ‘idn’ believe your locale uses.
 
      jas@latte:~$ idn --debug --quiet ""
      system locale uses charset `UTF-8'.
 
      jas@latte:~$
 
-   If it prints `ANSI_X3.4-1968' (i.e., `US-ASCII'), this indicate you
+   If it prints ‘ANSI_X3.4-1968’ (i.e., ‘US-ASCII’), this indicate you
 have not configured your locale properly.  To configure the locale, you
-can, for example, use `LANG=sv_SE.UTF-8; export LANG' at a `/bin/sh'
-prompt, to set up your locale for a Swedish environment using `UTF-8'
-as the encoding.
+can, for example, use ‘LANG=sv_SE.UTF-8; export LANG’ at a ‘/bin/sh’
+prompt, to set up your locale for a Swedish environment using ‘UTF-8’ as
+the encoding.
 
-   Sometimes `idn' appear to be unable to translate from your system
-locale into `UTF-8' (which is used internally), and you get an error
+   Sometimes ‘idn’ appear to be unable to translate from your system
+locale into ‘UTF-8’ (which is used internally), and you get an error
 like the following:
 
      jas@latte:~$ idn --quiet foo
      idn: could not convert from ISO-8859-1 to UTF-8.
      jas@latte:~$
 
-   The simplest explanation is that you haven't installed the `iconv'
+   The simplest explanation is that you haven’t installed the ‘iconv’
 conversion tools.  You can find it as a standalone library in GNU
-Libiconv (`http://www.gnu.org/software/libiconv/').  On many GNU/Linux
-systems, this library is part of the system, but you may have to
-install additional packages (e.g., `glibc-locale' for Debian) to be
-able to use it.
+Libiconv (<https://www.gnu.org/software/libiconv/>).  On many GNU/Linux
+systems, this library is part of the system, but you may have to install
+additional packages (e.g., ‘glibc-locale’ for Debian) to be able to use
+it.
 
    Another explanation is that the error is correct and you are feeding
-`idn' invalid data.  This can happen inadvertently if you are not
+‘idn’ invalid data.  This can happen inadvertently if you are not
 careful with the character set encoding you use.  For example, if your
-shell run in a `ISO-8859-1' environment, and you invoke `idn' with the
-`CHARSET' environment variable as follows, you will feed it
-`ISO-8859-1' characters but force it to believe they are `UTF-8'.
-Naturally this will lead to an error, unless the byte sequences happen
-to be valid `UTF-8'.  Note that even if you don't get an error, the
-output may be incorrect in this situation, because `ISO-8859-1' and
-`UTF-8' does not in general encode the same characters as the same byte
-sequences.
+shell run in a ‘ISO-8859-1’ environment, and you invoke ‘idn’ with the
+‘CHARSET’ environment variable as follows, you will feed it ‘ISO-8859-1’
+characters but force it to believe they are ‘UTF-8’.  Naturally this
+will lead to an error, unless the byte sequences happen to be valid
+‘UTF-8’.  Note that even if you don’t get an error, the output may be
+incorrect in this situation, because ‘ISO-8859-1’ and ‘UTF-8’ does not
+in general encode the same characters as the same byte sequences.
 
      jas@latte:~$ idn --quiet --debug ""
      system locale uses charset `ISO-8859-1'.
@@ -3171,10 +3092,10 @@ sequences.
      xn--rms-hi6d597552a
      jas@latte:~$
 
-   The sense moral here is to forget about `CHARSET' (configure your
-locales properly instead) unless you know what you are doing, and if
-you want to use it, do it carefully, after verifying with `--debug'
-that you get the desired results.
+   The sense moral here is to forget about ‘CHARSET’ (configure your
+locales properly instead) unless you know what you are doing, and if you
+want to use it, do it carefully, after verifying with ‘--debug’ that you
+get the desired results.
 
 \1f
 File: libidn.info,  Node: Emacs API,  Next: Java API,  Prev: Invoking idn,  Up: Top
@@ -3182,32 +3103,32 @@ File: libidn.info,  Node: Emacs API,  Next: Java API,  Prev: Invoking idn,  Up:
 11 Emacs API
 ************
 
-Included in Libidn are `punycode.el' and `idna.el' that provides an
-Emacs Lisp API to (a limited set of) the Libidn API.  This section
-describes the API.  Currently the IDNA API always set the
-`UseSTD3ASCIIRules' flag and clear the `AllowUnassigned' flag, in the
+Included in Libidn are ‘punycode.el’ and ‘idna.el’ that provides an
+Emacs Lisp API to (a limited set of) the Libidn API. This section
+describes the API. Currently the IDNA API always set the
+‘UseSTD3ASCIIRules’ flag and clear the ‘AllowUnassigned’ flag, in the
 future there may be functionality to specify these flags via the API.
 
 11.1 Punycode Emacs API
 =======================
 
  -- Variable: punycode-program
-     Name of the GNU Libidn `idn' application.  The default is `idn'.
+     Name of the GNU Libidn ‘idn’ application.  The default is ‘idn’.
      This variable can be customized.
 
  -- Variable: punycode-environment
      List of environment variable definitions prepended to
-     `process-environment'.  The default is `("CHARSET=UTF-8")'.  This
+     ‘process-environment’.  The default is ‘("CHARSET=UTF-8")’.  This
      variable can be customized.
 
  -- Variable: punycode-encode-parameters
      List of parameters passed to PUNYCODE-PROGRAM to invoke punycode
-     encoding mode.  The default is `("--quiet" "--punycode-encode")'.
+     encoding mode.  The default is ‘("--quiet" "--punycode-encode")’.
      This variable can be customized.
 
  -- Variable: punycode-decode-parameters
      Parameters passed to PUNYCODE-PROGRAM to invoke punycode decoding
-     mode.  The default is `("--quiet" "--punycode-decode")'.  This
+     mode.  The default is ‘("--quiet" "--punycode-decode")’.  This
      variable can be customized.
 
  -- Function: punycode-encode string
@@ -3222,23 +3143,23 @@ future there may be functionality to specify these flags via the API.
 ===================
 
  -- Variable: idna-program
-     Name of the GNU Libidn `idn' application.  The default is `idn'.
+     Name of the GNU Libidn ‘idn’ application.  The default is ‘idn’.
      This variable can be customized.
 
  -- Variable: idna-environment
      List of environment variable definitions prepended to
-     `process-environment'.  The default is `("CHARSET=UTF-8")'.  This
+     ‘process-environment’.  The default is ‘("CHARSET=UTF-8")’.  This
      variable can be customized.
 
  -- Variable: idna-to-ascii-parameters
      List of parameters passed to IDNA-PROGRAM to invoke IDNA ToASCII
-     mode.  The default is `("--quiet" "--idna-to-ascii"
-     "--usestd3asciirules")'.  This variable can be customized.
+     mode.  The default is ("--quiet" "--idna-to-ascii"
+     "--usestd3asciirules").  This variable can be customized.
 
  -- Variable: idna-to-unicode-parameters
      Parameters passed IDNA-PROGRAM to invoke IDNA ToUnicode mode.  The
-     default is `("--quiet" "--idna-to-unicode"
-     "--usestd3asciirules")'.  This variable can be customized.
+     default is ‘("--quiet" "--idna-to-unicode" "--usestd3asciirules")’.
+     This variable can be customized.
 
  -- Function: idna-to-ascii string
      Returns an ASCII Compatible Encoding (ACE) of the string computed
@@ -3261,15 +3182,16 @@ This section contain notes on this support, complete documentation is
 pending.
 
    The Java library, if Libidn has been built with Java support (*note
-Downloading and Installing::), will be placed in
-`java/libidn-1.25.jar'.  The source code is located in
-`java/gnu/inet/encoding/'.
+Downloading and Installing::), will be placed in ‘java/libidn-1.42.jar’.
+The source code is below ‘java/’ in Maven directory layout, and there is
+a Maven ‘pom.xml’ build script as well.  Source code files are in
+‘java/src/main/java/gnu/inet/encoding/’.
 
 12.1 Overview
 =============
 
 This package provides a Java implementation of the Internationalized
-Domain Names in Applications (IDNA) standard. It is written entirely in
+Domain Names in Applications (IDNA) standard.  It is written entirely in
 Java and does not require any additional libraries to be set up.
 
    The gnu.inet.encoding.IDNA class offers two public functions, toASCII
@@ -3281,18 +3203,18 @@ and toUnicode which can be used as follows:
 12.2 Miscellaneous Programs
 ===========================
 
-The `misc/' directory contains several programs that are related to the
-Java part of GNU Libidn, but that don't need to be included in the main
-source tree.
+The ‘java/src/util/java/’ directory contains several programs that are
+related to the Java part of GNU Libidn, but that don’t need to be
+included in the main source tree or the JAR file.
 
 12.2.1 GenerateRFC3454
 ----------------------
 
-This program parses RFC3454 and creates the RFC3454.java program that
-is required during the StringPrep phase.
+This program parses RFC3454 and creates the RFC3454.java program that is
+required during the StringPrep phase.
 
    The RFC can be found at various locations, for example at
-`http://www.ietf.org/rfc/rfc3454.txt'.
+<http://www.ietf.org/rfc/rfc3454.txt>.
 
    Invoke the program as follows:
 
@@ -3305,11 +3227,11 @@ is required during the StringPrep phase.
 The GenerateNFKC program parses the Unicode character database file and
 generates all the tables required for NFKC. This program requires the
 two files UnicodeData.txt and CompositionExclusions.txt of version 3.2
-of the Unicode files. Note that RFC3454 (Stringprep) defines that
+of the Unicode files.  Note that RFC3454 (Stringprep) defines that
 Unicode version 3.2 is to be used, not the latest version.
 
    The Unicode data files can be found at
-`http://www.unicode.org/Public/'.
+<http://www.unicode.org/Public/>.
 
    Invoke the program as follows:
 
@@ -3323,23 +3245,23 @@ Unicode version 3.2 is to be used, not the latest version.
 ---------------
 
 The TestIDNA program allows to test the IDNA implementation manually or
-against Simon Josefsson's test vectors.
+against Simon Josefssons test vectors.
 
    The test vectors can be found at the Libidn homepage,
-`http://www.gnu.org/software/libidn/'.
+<https://www.gnu.org/software/libidn/>.
 
    To test the transformation manually, use:
 
-     $ java -cp .:../libidn.jar TestIDNA -a <string to test>
+     $ java -cp .:/usr/share/java/libidn.jar TestIDNA -a <string to test>
      Input: <string to test>
      Output: <toASCII(string to test)>
-     $ java -cp .:../libidn.jar TestIDNA -u <string to test>
+     $ java -cp .:/usr/share/java/libidn.jar TestIDNA -u <string to test>
      Input: <string to test>
      Output: <toUnicode(string to test)>
 
    To test against draft-josefsson-idn-test-vectors.html, use:
 
-     $ java -cp .:../libidn.jar TestIDNA -t
+     $ java -cp .:/usr/share/java/libidn/libidn.jar TestIDNA -t
      No errors detected!
 
 12.2.4 TestNFKC
@@ -3350,28 +3272,29 @@ against the NormalizationTest.txt file from the Unicode data files.
 
    To test the normalization manually, use:
 
-     $ java -cp .:../libidn.jar TestNFKC <string to test>
+     $ java -cp .:/usr/share/java/libidn.jar TestNFKC <string to test>
      Input: <string to test>
      Output: <nfkc version of the string to test>
 
    To test against NormalizationTest.txt:
 
-     $ java -cp .:../libidn.jar TestNFKC
+     $ java -cp .:/usr/share/java/libidn.jar TestNFKC
      No errors detected!
 
 12.3 Possible Problems
 ======================
 
 Beware of Bugs: This Java API needs a lot more testing, especially with
-"exotic" character sets. While it works for me, it may not work for you.
+"exotic" character sets.  While it works for me, it may not work for
+you.
 
    Encoding of your Java sources: If you are using non-ASCII characters
 in your Java source code, make sure javac compiles your programs with
-the correct encoding. If necessary specify the encoding using the
+the correct encoding.  If necessary specify the encoding using the
 -encoding parameter.
 
    Java Unicode handling: Java 1.4 only handles 16-bit Unicode code
-points (i.e. characters in the Basic Multilingual Plane), this
+points (i.e.  characters in the Basic Multilingual Plane), this
 implementation therefore ignores all references to so-called
 Supplementary Characters (U+10000 to U+10FFFF). Starting from Java 1.5,
 these characters will also be supported by Java, but this will require
@@ -3380,15 +3303,15 @@ changes to this library.  See also the next section.
 12.4 A Note on Java and Unicode
 ===============================
 
-This library uses Java's built-in 'char' datatype. Up to Java 1.4, this
-datatype only supports 16-bit Unicode code points, also called the
-Basic Multilingual Plane. For this reason, this library doesn't work
-for Supplementary Characters (i.e. characters from U+10000 to
-U+10FFFF). All references to such characters are silently ignored.
+This library uses Java’s built-in ’char’ datatype.  Up to Java 1.4, this
+datatype only supports 16-bit Unicode code points, also called the Basic
+Multilingual Plane.  For this reason, this library doesn’t work for
+Supplementary Characters (i.e.  characters from U+10000 to U+10FFFF).
+All references to such characters are silently ignored.
 
    Starting from Java 1.5, also Supplementary Characters will be
-supported. However, this will require changes in the present version of
-the library. Java 1.5 is currently in beta status.
+supported.  However, this will require changes in the present version of
+the library.  Java 1.5 is currently in beta status.
 
    For more information refer to the documentation of
 java.lang.Character in the JDK API.
@@ -3400,7 +3323,7 @@ File: libidn.info,  Node: C# API,  Next: Acknowledgements,  Prev: Java API,  Up:
 *********
 
 The Libidn library has been ported to the C# language.  The port reside
-in the top-level `csharp/' directory.  Currently, no further
+in the top-level ‘csharp/’ directory.  Currently, no further
 documentation about the implementation or the API is available.
 However, the C# port was based on the Java port, and the API is exactly
 the same as in the Java version.  The help files for the Java API may
@@ -3418,14 +3341,14 @@ Thomas Jacob.  The Java implementation was contributed by Oliver Hitz.
 The C# implementation was contributed by Alexander Gnauck.  The Unicode
 tables were provided by Unicode, Inc.  Some functions for dealing with
 Unicode (see nfkc.c and toutf8.c) were borrowed from GLib, downloaded
-from `http://www.gtk.org/'.  The manual borrowed text from Libgcrypt by
+from <http://www.gtk.org/>.  The manual borrowed text from Libgcrypt by
 Werner Koch.
 
    Inspiration for many things that, consciously or not, have gone into
-this package is due to a number of free software package that the
-author has been exposed to.  The author wishes to acknowledge the free
-software community in general, for giving an example on what role
-software development can play in the modern society.
+this package is due to a number of free software package that the author
+has been exposed to.  The author wishes to acknowledge the free software
+community in general, for giving an example on what role software
+development can play in the modern society.
 
    Several people reported bugs, sent patches or suggested improvements,
 see the file THANKS in the top-level directory of the source code.
@@ -3437,11 +3360,10 @@ File: libidn.info,  Node: History,  Next: PR29 discussion,  Prev: Acknowledgemen
 **********
 
 The complete history of user visible changes is stored in the file
-`NEWS' in the top-level directory of the source code tree.  The
-complete history of modifications to each file is stored in the file
-`ChangeLog' in the same directory.  This section contain a condensed
-version of that information, in the form of "milestones" for the
-project.
+‘NEWS’ in the top-level directory of the source code tree.  The complete
+history of modifications to each file is stored in the file ‘ChangeLog’
+in the same directory.  This section contain a condensed version of that
+information, in the form of “milestones” for the project.
 
 Stringprep implementation.
      Version 0.0.0 released on 2002-11-05.
@@ -3449,7 +3371,7 @@ Stringprep implementation.
 IDNA and Punycode implementations, part of the GNU project.
      Version 0.1.0 released on 2003-01-05.
 
-Uses official IDNA ACE prefix `xn--'.
+Uses official IDNA ACE prefix ‘xn--’.
      Version 0.1.7 released on 2003-02-12.
 
 Command line interface.
@@ -3470,7 +3392,7 @@ GNU Libc add-on integrated.
 Native Java implementation.
      Version 0.4.2-0.4.9 released between 2004-03-20 and 2004-06-11.
 
-PR-29 functions for "problem sequences".
+PR-29 functions for “problem sequences”.
      Version 0.5.0 released on 2004-06-26.
 
 Many small portability fixes and wider use.
@@ -3486,7 +3408,6 @@ Windows support through cross-compilation.
 Library declared stable by releasing v1.0.
      Version 1.0 released on 2007-07-31.
 
-
 \1f
 File: libidn.info,  Node: PR29 discussion,  Next: On Label Separators,  Prev: History,  Up: Top
 
@@ -3496,7 +3417,7 @@ Appendix A PR29 discussion
 If you wish to experiment with a modified Unicode NFKC implementation
 according to the PR29 proposal, you may find the following bug report
 useful.  However, I have not verified that the suggested modifications
-are correct.  For reference, I'm including my response to the report as
+are correct.  For reference, Im including my response to the report as
 well.
 
 From: Rick McGowan <rick@unicode.org>
@@ -3597,14 +3518,14 @@ Regards,
 Simon
 
 \1f
-File: libidn.info,  Node: On Label Separators,  Next: Copying Information,  Prev: PR29 discussion,  Up: Top
+File: libidn.info,  Node: On Label Separators,  Next: GNU Free Documentation License,  Prev: PR29 discussion,  Up: Top
 
 Appendix B On Label Separators
 ******************************
 
 Some strings contains characters whose NFKC normalized form contain the
-ASCII dot (0x2E, ".").  Examples of these characters are U+2024 (ONE
-DOT LEADER) and U+248C (DIGIT FIVE FULL STOP).  The strings have the
+ASCII dot (0x2E, “.”).  Examples of these characters are U+2024 (ONE DOT
+LEADER) and U+248C (DIGIT FIVE FULL STOP). The strings have the
 interesting property that their IDNA ToASCII output will contain
 embedded dots.  For example:
 
@@ -3612,28 +3533,28 @@ embedded dots.  For example:
      ToASCII (räksmörgås U+2024 com) = xn--rksmrgs.com-l8as9u
 
    This demonstrate the two general cases: The first where the ASCII dot
-is part of an output that do not begin with the IDN prefix `xn--'.  The
+is part of an output that do not begin with the IDN prefix ‘xn--’.  The
 second example illustrate when the dot is part of IDN prefixed with
-`xn--'.
+‘xn--’.
 
    The input strings are, from the DNS point of view, a single label.
 The IDNA algorithm translate one label at a time.  Thus, the output is
 expected to be only one label.  What is important here is to make sure
 the DNS resolver receives the correct query.  The DNS protocol does not
 use the dot to delimit labels on the wire, rather it uses length-value
-pairs.  Thus the correct query would be for `{7}hi5.com' and
-`{22}xn--rksmrgs.com-l8as9u' respectively.
+pairs.  Thus the correct query would be for ‘{7}hi5.com’ and
+‘{22}xn--rksmrgs.com-l8as9u’ respectively.
 
    Some implementations (1) have decided that these inputs strings are
-potentially confusing for the user.  The string `hi U+248C com' looks
-like `hi5.com' on systems that support Unicode properly.  These
+potentially confusing for the user.  The string ‘hi U+248C com’ looks
+like ‘hi5.com’ on systems that support Unicode properly.  These
 implementations do not follow RFC 3490.  They yield:
 
      ToASCII (hi U+248C com) = hi5.com
      ToASCII (räksmörgås U+2024 com) = xn--rksmrgs-5wao1o.com
 
-   The DNS query they perform are `{3}hi5{3}com' and
-`{18}xn--rksmrgs-5wao1o{3}com' respectively.  Arguably, this leads to a
+   The DNS query they perform are ‘{3}hi5{3}com’ and
+‘{18}xn--rksmrgs-5wao1o{3}com’ respectively.  Arguably, this leads to a
 better user experience, and suggests that the IDNA specification is
 sub-optimal in this area.
 
@@ -3641,41 +3562,31 @@ B.1 Recommended Workaround
 ==========================
 
 It has been suggested to normalize the entire input string using NFKC
-before passing it to IDNA ToASCII.  You may use
-`stringprep_utf8_nfkc_normalize' or `stringprep_ucs4_nfkc_normalize'.
+before passing it to IDNA ToASCII. You may use
+‘stringprep_utf8_nfkc_normalize’ or ‘stringprep_ucs4_nfkc_normalize’.
 This appears to lead to similar behaviour as IE/Firefox, which would
-avoid the problem, but this needs to be confirmed.  Feel free to
-discuss the issue with us.
+avoid the problem, but this needs to be confirmed.  Feel free to discuss
+the issue with us.
 
    Alternative workarounds are being considered.  Eventually Libidn may
-implement a new flag to the `idna_*' functions that implements a
+implement a new flag to the ‘idna_*’ functions that implements a
 recommended way to work around this problem.
 
    ---------- Footnotes ----------
 
-   (1) Notably Microsoft's Internet Explorer and Mozilla's Firefox, but
-not Apple's Safari.
-
-\1f
-File: libidn.info,  Node: Copying Information,  Next: Function and Variable Index,  Prev: On Label Separators,  Up: Top
-
-Appendix C Copying Information
-******************************
-
-* Menu:
-
-* GNU Free Documentation License::   License for copying this manual.
+   (1) Notably Microsoft’s Internet Explorer and Mozilla’s Firefox, but
+not Apple’s Safari.
 
 \1f
-File: libidn.info,  Node: GNU Free Documentation License,  Up: Copying Information
+File: libidn.info,  Node: GNU Free Documentation License,  Next: Function and Variable Index,  Prev: On Label Separators,  Up: Top
 
-C.1 GNU Free Documentation License
-==================================
+Appendix C GNU Free Documentation License
+*****************************************
 
                      Version 1.3, 3 November 2008
 
-     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     `http://fsf.org/'
+     Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+     <https://fsf.org/>
 
      Everyone is permitted to copy and distribute verbatim copies
      of this license document, but changing it is not allowed.
@@ -3683,14 +3594,14 @@ C.1 GNU Free Documentation License
   0. PREAMBLE
 
      The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
+     functional and useful document “free” in the sense of freedom: to
      assure everyone the effective freedom to copy and redistribute it,
      with or without modifying it, either commercially or
      noncommercially.  Secondarily, this License preserves for the
      author and publisher a way to get credit for their work, while not
      being considered responsible for modifications made by others.
 
-     This License is a kind of "copyleft", which means that derivative
+     This License is a kind of “copyleft”, which means that derivative
      works of the document must themselves be free in the same sense.
      It complements the GNU General Public License, which is a copyleft
      license designed for free software.
@@ -3700,29 +3611,29 @@ C.1 GNU Free Documentation License
      free program should come with manuals providing the same freedoms
      that the software does.  But this License is not limited to
      software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.
-     We recommend this License principally for works whose purpose is
+     of subject matter or whether it is published as a printed book.  We
+     recommend this License principally for works whose purpose is
      instruction or reference.
 
   1. APPLICABILITY AND DEFINITIONS
 
      This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it
-     can be distributed under the terms of this License.  Such a notice
+     that contains a notice placed by the copyright holder saying it can
+     be distributed under the terms of this License.  Such a notice
      grants a world-wide, royalty-free license, unlimited in duration,
      to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You
-     accept the license if you copy, modify or distribute the work in a
-     way requiring permission under copyright law.
+     “Document”, below, refers to any such manual or work.  Any member
+     of the public is a licensee, and is addressed as “you”.  You accept
+     the license if you copy, modify or distribute the work in a way
+     requiring permission under copyright law.
 
-     A "Modified Version" of the Document means any work containing the
+     A “Modified Version” of the Document means any work containing the
      Document or a portion of it, either copied verbatim, or with
      modifications and/or translated into another language.
 
-     A "Secondary Section" is a named appendix or a front-matter section
+     A “Secondary Section” is a named appendix or a front-matter section
      of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
+     publishers or authors of the Document to the Documents overall
      subject (or to related matters) and contains nothing that could
      fall directly within that overall subject.  (Thus, if the Document
      is in part a textbook of mathematics, a Secondary Section may not
@@ -3731,62 +3642,62 @@ C.1 GNU Free Documentation License
      of legal, commercial, philosophical, ethical or political position
      regarding them.
 
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in
-     the notice that says that the Document is released under this
-     License.  If a section does not fit the above definition of
-     Secondary then it is not allowed to be designated as Invariant.
-     The Document may contain zero Invariant Sections.  If the Document
-     does not identify any Invariant Sections then there are none.
+     The “Invariant Sections” are certain Secondary Sections whose
+     titles are designated, as being those of Invariant Sections, in the
+     notice that says that the Document is released under this License.
+     If a section does not fit the above definition of Secondary then it
+     is not allowed to be designated as Invariant.  The Document may
+     contain zero Invariant Sections.  If the Document does not identify
+     any Invariant Sections then there are none.
 
-     The "Cover Texts" are certain short passages of text that are
+     The “Cover Texts” are certain short passages of text that are
      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
      that says that the Document is released under this License.  A
      Front-Cover Text may be at most 5 words, and a Back-Cover Text may
      be at most 25 words.
 
-     A "Transparent" copy of the Document means a machine-readable copy,
+     A “Transparent” copy of the Document means a machine-readable copy,
      represented in a format whose specification is available to the
      general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images
-     composed of pixels) generic paint programs or (for drawings) some
-     widely available drawing editor, and that is suitable for input to
-     text formatters or for automatic translation to a variety of
-     formats suitable for input to text formatters.  A copy made in an
-     otherwise Transparent file format whose markup, or absence of
-     markup, has been arranged to thwart or discourage subsequent
-     modification by readers is not Transparent.  An image format is
-     not Transparent if used for any substantial amount of text.  A
-     copy that is not "Transparent" is called "Opaque".
+     straightforwardly with generic text editors or (for images composed
+     of pixels) generic paint programs or (for drawings) some widely
+     available drawing editor, and that is suitable for input to text
+     formatters or for automatic translation to a variety of formats
+     suitable for input to text formatters.  A copy made in an otherwise
+     Transparent file format whose markup, or absence of markup, has
+     been arranged to thwart or discourage subsequent modification by
+     readers is not Transparent.  An image format is not Transparent if
+     used for any substantial amount of text.  A copy that is not
+     “Transparent” is called “Opaque”.
 
      Examples of suitable formats for Transparent copies include plain
      ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and
-     standard-conforming simple HTML, PostScript or PDF designed for
-     human modification.  Examples of transparent image formats include
-     PNG, XCF and JPG.  Opaque formats include proprietary formats that
-     can be read and edited only by proprietary word processors, SGML or
-     XML for which the DTD and/or processing tools are not generally
-     available, and the machine-generated HTML, PostScript or PDF
-     produced by some word processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
+     SGML or XML using a publicly available DTD, and standard-conforming
+     simple HTML, PostScript or PDF designed for human modification.
+     Examples of transparent image formats include PNG, XCF and JPG.
+     Opaque formats include proprietary formats that can be read and
+     edited only by proprietary word processors, SGML or XML for which
+     the DTD and/or processing tools are not generally available, and
+     the machine-generated HTML, PostScript or PDF produced by some word
+     processors for output purposes only.
+
+     The “Title Page” means, for a printed book, the title page itself,
      plus such following pages as are needed to hold, legibly, the
      material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
+     works in formats which do not have any title page as such, Title
+     Page means the text near the most prominent appearance of the
+     works title, preceding the beginning of the body of the text.
 
-     The "publisher" means any person or entity that distributes copies
+     The “publisher” means any person or entity that distributes copies
      of the Document to the public.
 
-     A section "Entitled XYZ" means a named subunit of the Document
+     A section “Entitled XYZ” means a named subunit of the Document
      whose title either is precisely XYZ or contains XYZ in parentheses
      following text that translates XYZ in another language.  (Here XYZ
      stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
+     “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
+     To “Preserve the Title” of such a section when you modify the
+     Document means that it remains a section “Entitled XYZ” according
      to this definition.
 
      The Document may include Warranty Disclaimers next to the notice
@@ -3806,8 +3717,8 @@ C.1 GNU Free Documentation License
      may not use technical measures to obstruct or control the reading
      or further copying of the copies you make or distribute.  However,
      you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow
-     the conditions in section 3.
+     distribute a large enough number of copies you must also follow the
+     conditions in section 3.
 
      You may also lend copies, under the same conditions stated above,
      and you may publicly display copies.
@@ -3816,17 +3727,16 @@ C.1 GNU Free Documentation License
 
      If you publish printed copies (or copies in media that commonly
      have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
+     the Documents license notice requires Cover Texts, you must
      enclose the copies in covers that carry, clearly and legibly, all
      these Cover Texts: Front-Cover Texts on the front cover, and
      Back-Cover Texts on the back cover.  Both covers must also clearly
      and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the
-     title equally prominent and visible.  You may add other material
-     on the covers in addition.  Copying with changes limited to the
-     covers, as long as they preserve the title of the Document and
-     satisfy these conditions, can be treated as verbatim copying in
-     other respects.
+     front cover must present the full title with all words of the title
+     equally prominent and visible.  You may add other material on the
+     covers in addition.  Copying with changes limited to the covers, as
+     long as they preserve the title of the Document and satisfy these
+     conditions, can be treated as verbatim copying in other respects.
 
      If the required texts for either cover are too voluminous to fit
      legibly, you should put the first ones listed (as many as fit
@@ -3834,40 +3744,39 @@ C.1 GNU Free Documentation License
      adjacent pages.
 
      If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a
-     machine-readable Transparent copy along with each Opaque copy, or
-     state in or with each Opaque copy a computer-network location from
-     which the general network-using public has access to download
-     using public-standard network protocols a complete Transparent
-     copy of the Document, free of added material.  If you use the
-     latter option, you must take reasonably prudent steps, when you
-     begin distribution of Opaque copies in quantity, to ensure that
-     this Transparent copy will remain thus accessible at the stated
-     location until at least one year after the last time you
-     distribute an Opaque copy (directly or through your agents or
-     retailers) of that edition to the public.
+     numbering more than 100, you must either include a machine-readable
+     Transparent copy along with each Opaque copy, or state in or with
+     each Opaque copy a computer-network location from which the general
+     network-using public has access to download using public-standard
+     network protocols a complete Transparent copy of the Document, free
+     of added material.  If you use the latter option, you must take
+     reasonably prudent steps, when you begin distribution of Opaque
+     copies in quantity, to ensure that this Transparent copy will
+     remain thus accessible at the stated location until at least one
+     year after the last time you distribute an Opaque copy (directly or
+     through your agents or retailers) of that edition to the public.
 
      It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of
-     copies, to give them a chance to provide you with an updated
-     version of the Document.
+     the Document well before redistributing any large number of copies,
+     to give them a chance to provide you with an updated version of the
+     Document.
 
   4. MODIFICATIONS
 
      You may copy and distribute a Modified Version of the Document
      under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with
-     the Modified Version filling the role of the Document, thus
-     licensing distribution and modification of the Modified Version to
-     whoever possesses a copy of it.  In addition, you must do these
-     things in the Modified Version:
+     release the Modified Version under precisely this License, with the
+     Modified Version filling the role of the Document, thus licensing
+     distribution and modification of the Modified Version to whoever
+     possesses a copy of it.  In addition, you must do these things in
+     the Modified Version:
 
        A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of
-          previous versions (which should, if there were any, be listed
-          in the History section of the Document).  You may use the
-          same title as a previous version if the original publisher of
-          that version gives permission.
+          distinct from that of the Document, and from those of previous
+          versions (which should, if there were any, be listed in the
+          History section of the Document).  You may use the same title
+          as a previous version if the original publisher of that
+          version gives permission.
 
        B. List on the Title Page, as authors, one or more persons or
           entities responsible for authorship of the modifications in
@@ -3890,72 +3799,71 @@ C.1 GNU Free Documentation License
           the Addendum below.
 
        G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
+          Sections and required Cover Texts given in the Documents
           license notice.
 
        H. Include an unaltered copy of this License.
 
-       I. Preserve the section Entitled "History", Preserve its Title,
+       I. Preserve the section Entitled “History”, Preserve its Title,
           and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on
-          the Title Page.  If there is no section Entitled "History" in
-          the Document, create one stating the title, year, authors,
-          and publisher of the Document as given on its Title Page,
-          then add an item describing the Modified Version as stated in
-          the previous sentence.
+          authors, and publisher of the Modified Version as given on the
+          Title Page.  If there is no section Entitled “History” in the
+          Document, create one stating the title, year, authors, and
+          publisher of the Document as given on its Title Page, then add
+          an item describing the Modified Version as stated in the
+          previous sentence.
 
        J. Preserve the network location, if any, given in the Document
           for public access to a Transparent copy of the Document, and
           likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in
-          the "History" section.  You may omit a network location for a
-          work that was published at least four years before the
-          Document itself, or if the original publisher of the version
-          it refers to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the
-          section all the substance and tone of each of the contributor
+          previous versions it was based on.  These may be placed in the
+          “History” section.  You may omit a network location for a work
+          that was published at least four years before the Document
+          itself, or if the original publisher of the version it refers
+          to gives permission.
+
+       K. For any section Entitled “Acknowledgements” or “Dedications”,
+          Preserve the Title of the section, and preserve in the section
+          all the substance and tone of each of the contributor
           acknowledgements and/or dedications given therein.
 
-       L. Preserve all the Invariant Sections of the Document,
-          unaltered in their text and in their titles.  Section numbers
-          or the equivalent are not considered part of the section
-          titles.
+       L. Preserve all the Invariant Sections of the Document, unaltered
+          in their text and in their titles.  Section numbers or the
+          equivalent are not considered part of the section titles.
 
-       M. Delete any section Entitled "Endorsements".  Such a section
+       M. Delete any section Entitled “Endorsements”.  Such a section
           may not be included in the Modified Version.
 
        N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
+          “Endorsements” or to conflict in title with any Invariant
           Section.
 
        O. Preserve any Warranty Disclaimers.
 
      If the Modified Version includes new front-matter sections or
      appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option
-     designate some or all of these sections as invariant.  To do this,
-     add their titles to the list of Invariant Sections in the Modified
-     Version's license notice.  These titles must be distinct from any
-     other section titles.
+     material copied from the Document, you may at your option designate
+     some or all of these sections as invariant.  To do this, add their
+     titles to the list of Invariant Sections in the Modified Version’s
+     license notice.  These titles must be distinct from any other
+     section titles.
 
-     You may add a section Entitled "Endorsements", provided it contains
+     You may add a section Entitled “Endorsements”, provided it contains
      nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
+     parties—for example, statements of peer review or that the text has
+     been approved by an organization as the authoritative definition of
+     a standard.
 
      You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end
-     of the list of Cover Texts in the Modified Version.  Only one
-     passage of Front-Cover Text and one of Back-Cover Text may be
-     added by (or through arrangements made by) any one entity.  If the
-     Document already includes a cover text for the same cover,
-     previously added by you or by arrangement made by the same entity
-     you are acting on behalf of, you may not add another; but you may
-     replace the old one, on explicit permission from the previous
-     publisher that added the old one.
+     and a passage of up to 25 words as a Back-Cover Text, to the end of
+     the list of Cover Texts in the Modified Version.  Only one passage
+     of Front-Cover Text and one of Back-Cover Text may be added by (or
+     through arrangements made by) any one entity.  If the Document
+     already includes a cover text for the same cover, previously added
+     by you or by arrangement made by the same entity you are acting on
+     behalf of, you may not add another; but you may replace the old
+     one, on explicit permission from the previous publisher that added
+     the old one.
 
      The author(s) and publisher(s) of the Document do not by this
      License give permission to use their names for publicity for or to
@@ -3965,8 +3873,8 @@ C.1 GNU Free Documentation License
 
      You may combine the Document with other documents released under
      this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination
-     all of the Invariant Sections of all of the original documents,
+     modified versions, provided that you include in the combination all
+     of the Invariant Sections of all of the original documents,
      unmodified, and list them all as Invariant Sections of your
      combined work in its license notice, and that you preserve all
      their Warranty Disclaimers.
@@ -3982,10 +3890,10 @@ C.1 GNU Free Documentation License
      combined work.
 
      In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
+     “History” in the various original documents, forming one section
+     Entitled “History”; likewise combine any sections Entitled
+     “Acknowledgements”, and any sections Entitled “Dedications”.  You
+     must delete all sections Entitled “Endorsements.”
 
   6. COLLECTIONS OF DOCUMENTS
 
@@ -3993,29 +3901,29 @@ C.1 GNU Free Documentation License
      documents released under this License, and replace the individual
      copies of this License in the various documents with a single copy
      that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the
-     documents in all other respects.
+     rules of this License for verbatim copying of each of the documents
+     in all other respects.
 
      You may extract a single document from such a collection, and
      distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow
-     this License in all other respects regarding verbatim copying of
-     that document.
+     a copy of this License into the extracted document, and follow this
+     License in all other respects regarding verbatim copying of that
+     document.
 
   7. AGGREGATION WITH INDEPENDENT WORKS
 
      A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of
-     a storage or distribution medium, is called an "aggregate" if the
+     separate and independent documents or works, in or on a volume of a
+     storage or distribution medium, is called an “aggregate” if the
      copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
+     legal rights of the compilations users beyond what the individual
      works permit.  When the Document is included in an aggregate, this
      License does not apply to the other works in the aggregate which
      are not themselves derivative works of the Document.
 
      If the Cover Text requirement of section 3 is applicable to these
      copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
+     of the entire aggregate, the Documents Cover Texts may be placed
      on covers that bracket the Document within the aggregate, or the
      electronic equivalent of covers if the Document is in electronic
      form.  Otherwise they must appear on printed covers that bracket
@@ -4037,8 +3945,8 @@ C.1 GNU Free Documentation License
      this License or a notice or disclaimer, the original version will
      prevail.
 
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
+     If a section in the Document is Entitled “Acknowledgements”,
+     “Dedications”, or “History”, the requirement (section 4) to
      Preserve its Title (section 1) will typically require changing the
      actual title.
 
@@ -4051,8 +3959,8 @@ C.1 GNU Free Documentation License
 
      However, if you cease all violation of this License, then your
      license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly
-     and finally terminates your license, and (b) permanently, if the
+     provisionally, unless and until the copyright holder explicitly and
+     finally terminates your license, and (b) permanently, if the
      copyright holder fails to notify you of the violation by some
      reasonable means prior to 60 days after the cessation.
 
@@ -4064,52 +3972,52 @@ C.1 GNU Free Documentation License
      after your receipt of the notice.
 
      Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from
-     you under this License.  If your rights have been terminated and
-     not permanently reinstated, receipt of a copy of some or all of
-     the same material does not give you any rights to use it.
+     the licenses of parties who have received copies or rights from you
+     under this License.  If your rights have been terminated and not
+     permanently reinstated, receipt of a copy of some or all of the
+     same material does not give you any rights to use it.
 
- 10. FUTURE REVISIONS OF THIS LICENSE
 10. FUTURE REVISIONS OF THIS LICENSE
 
      The Free Software Foundation may publish new, revised versions of
      the GNU Free Documentation License from time to time.  Such new
      versions will be similar in spirit to the present version, but may
      differ in detail to address new problems or concerns.  See
-     `http://www.gnu.org/copyleft/'.
+     <https://www.gnu.org/licenses/>.
 
      Each version of the License is given a distinguishing version
      number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
+     version of this License “or any later version” applies to it, you
      have the option of following the terms and conditions either of
      that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If
-     the Document does not specify a version number of this License,
-     you may choose any version ever published (not as a draft) by the
-     Free Software Foundation.  If the Document specifies that a proxy
-     can decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
+     published (not as a draft) by the Free Software Foundation.  If the
+     Document does not specify a version number of this License, you may
+     choose any version ever published (not as a draft) by the Free
+     Software Foundation.  If the Document specifies that a proxy can
+     decide which future versions of this License can be used, that
+     proxys public statement of acceptance of a version permanently
      authorizes you to choose that version for the Document.
 
- 11. RELICENSING
 11. RELICENSING
 
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+     “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
      World Wide Web server that publishes copyrightable works and also
      provides prominent facilities for anybody to edit those works.  A
      public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+     A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
      site means any set of copyrightable works thus published on the MMC
      site.
 
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+     “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
      license published by Creative Commons Corporation, a not-for-profit
      corporation with a principal place of business in San Francisco,
      California, as well as future copyleft versions of that license
      published by that same organization.
 
-     "Incorporate" means to publish or republish a Document, in whole or
+     “Incorporate” means to publish or republish a Document, in whole or
      in part, as part of another Document.
 
-     An MMC is "eligible for relicensing" if it is licensed under this
+     An MMC is “eligible for relicensing” if it is licensed under this
      License, and if all works that were first published under this
      License somewhere other than this MMC, and subsequently
      incorporated in whole or in part into the MMC, (1) had no cover
@@ -4120,7 +4028,6 @@ C.1 GNU Free Documentation License
      site under CC-BY-SA on the same site at any time before August 1,
      2009, provided the MMC is eligible for relicensing.
 
-
 ADDENDUM: How to use this License for your documents
 ====================================================
 
@@ -4137,7 +4044,7 @@ notices just after the title page:
        Free Documentation License''.
 
    If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
+Texts, replace the “with...Texts.” line with this:
 
          with the Invariant Sections being LIST THEIR TITLES, with
          the Front-Cover Texts being LIST, and with the Back-Cover Texts
@@ -4148,12 +4055,12 @@ combination of the three, merge those two alternatives to suit the
 situation.
 
    If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.
 
 \1f
-File: libidn.info,  Node: Function and Variable Index,  Next: Concept Index,  Prev: Copying Information,  Up: Top
+File: libidn.info,  Node: Function and Variable Index,  Next: Concept Index,  Prev: GNU Free Documentation License,  Up: Top
 
 Function and Variable Index
 ***************************
@@ -4161,73 +4068,73 @@ Function and Variable Index
 \0\b[index\0\b]
 * Menu:
 
+* idna-to-ascii:                         Emacs API.           (line  64)
+* idna-to-unicode:                       Emacs API.           (line  69)
+* idna_strerror:                         IDNA Functions.      (line 309)
+* idna_to_ascii_4i:                      IDNA Functions.      (line  66)
+* idna_to_ascii_4z:                      IDNA Functions.      (line 150)
+* idna_to_ascii_8z:                      IDNA Functions.      (line 168)
+* idna_to_ascii_lz:                      IDNA Functions.      (line 186)
+* idna_to_unicode_44i:                   IDNA Functions.      (line 104)
+* idna_to_unicode_4z4z:                  IDNA Functions.      (line 208)
+* idna_to_unicode_8z4z:                  IDNA Functions.      (line 227)
+* idna_to_unicode_8z8z:                  IDNA Functions.      (line 246)
+* idna_to_unicode_8zlz:                  IDNA Functions.      (line 265)
+* idna_to_unicode_lzlz:                  IDNA Functions.      (line 285)
 * idn_free:                              Memory handling under Windows.
-                                                              (line  31)
-* idna-to-ascii:                         Emacs API.           (line  65)
-* idna-to-unicode:                       Emacs API.           (line  70)
-* idna_strerror:                         IDNA Functions.      (line 311)
-* idna_to_ascii_4i:                      IDNA Functions.      (line  69)
-* idna_to_ascii_4z:                      IDNA Functions.      (line 153)
-* idna_to_ascii_8z:                      IDNA Functions.      (line 171)
-* idna_to_ascii_lz:                      IDNA Functions.      (line 189)
-* idna_to_unicode_44i:                   IDNA Functions.      (line 107)
-* idna_to_unicode_4z4z:                  IDNA Functions.      (line 211)
-* idna_to_unicode_8z4z:                  IDNA Functions.      (line 230)
-* idna_to_unicode_8z8z:                  IDNA Functions.      (line 249)
-* idna_to_unicode_8zlz:                  IDNA Functions.      (line 268)
-* idna_to_unicode_lzlz:                  IDNA Functions.      (line 288)
-* pr29_4:                                PR29 Functions.      (line  55)
-* pr29_4z:                               PR29 Functions.      (line  75)
-* pr29_8z:                               PR29 Functions.      (line  90)
-* pr29_strerror:                         PR29 Functions.      (line 109)
-* punycode-decode:                       Emacs API.           (line  39)
-* punycode-encode:                       Emacs API.           (line  35)
-* punycode_decode:                       Punycode Functions.  (line  96)
-* punycode_encode:                       Punycode Functions.  (line  51)
-* punycode_strerror:                     Punycode Functions.  (line 140)
+                                                              (line  30)
+* pr29_4:                                PR29 Functions.      (line  54)
+* pr29_4z:                               PR29 Functions.      (line  74)
+* pr29_8z:                               PR29 Functions.      (line  89)
+* pr29_strerror:                         PR29 Functions.      (line 108)
+* punycode-decode:                       Emacs API.           (line  38)
+* punycode-encode:                       Emacs API.           (line  34)
+* punycode_decode:                       Punycode Functions.  (line  98)
+* punycode_encode:                       Punycode Functions.  (line  48)
+* punycode_strerror:                     Punycode Functions.  (line 144)
 * stringprep:                            Stringprep Functions.
-                                                              (line 127)
+                                                              (line 145)
 * stringprep_4i:                         Stringprep Functions.
-                                                              (line  57)
+                                                              (line  54)
 * stringprep_4zi:                        Stringprep Functions.
-                                                              (line  96)
-* stringprep_check_version:              Version Check.       (line  17)
-* stringprep_convert:                    Utility Functions.   (line 163)
+                                                              (line 114)
+* stringprep_check_version:              Version Check.       (line  15)
+* stringprep_convert:                    Utility Functions.   (line 170)
 * stringprep_iscsi:                      Stringprep Functions.
-                                                              (line 254)
-* stringprep_locale_charset:             Utility Functions.   (line 141)
-* stringprep_locale_to_utf8:             Utility Functions.   (line 179)
+                                                              (line 277)
+* stringprep_locale_charset:             Utility Functions.   (line 145)
+* stringprep_locale_to_utf8:             Utility Functions.   (line 187)
 * stringprep_nameprep_no_unassigned:     Stringprep Functions.
-                                                              (line 245)
+                                                              (line 266)
 * stringprep_plain:                      Stringprep Functions.
-                                                              (line 262)
+                                                              (line 286)
 * stringprep_profile:                    Stringprep Functions.
-                                                              (line 161)
+                                                              (line 180)
 * stringprep_strerror:                   Stringprep Functions.
-                                                              (line 194)
-* stringprep_ucs4_nfkc_normalize:        Utility Functions.   (line  98)
-* stringprep_ucs4_to_utf8:               Utility Functions.   (line  52)
-* stringprep_unichar_to_utf8:            Utility Functions.   (line  25)
-* stringprep_utf8_nfkc_normalize:        Utility Functions.   (line 113)
-* stringprep_utf8_to_locale:             Utility Functions.   (line 191)
-* stringprep_utf8_to_ucs4:               Utility Functions.   (line  75)
-* stringprep_utf8_to_unichar:            Utility Functions.   (line  39)
+                                                              (line 214)
+* stringprep_ucs4_nfkc_normalize:        Utility Functions.   (line 101)
+* stringprep_ucs4_to_utf8:               Utility Functions.   (line  54)
+* stringprep_unichar_to_utf8:            Utility Functions.   (line  24)
+* stringprep_utf8_nfkc_normalize:        Utility Functions.   (line 116)
+* stringprep_utf8_to_locale:             Utility Functions.   (line 199)
+* stringprep_utf8_to_ucs4:               Utility Functions.   (line  77)
+* stringprep_utf8_to_unichar:            Utility Functions.   (line  38)
 * stringprep_xmpp_nodeprep:              Stringprep Functions.
-                                                              (line 270)
+                                                              (line 295)
 * stringprep_xmpp_resourceprep:          Stringprep Functions.
-                                                              (line 278)
-* tld_check_4:                           TLD Functions.       (line 177)
-* tld_check_4t:                          TLD Functions.       (line  44)
-* tld_check_4tz:                         TLD Functions.       (line  68)
-* tld_check_4z:                          TLD Functions.       (line 206)
-* tld_check_8z:                          TLD Functions.       (line 232)
-* tld_check_lz:                          TLD Functions.       (line 260)
-* tld_default_table:                     TLD Functions.       (line 156)
-* tld_get_4:                             TLD Functions.       (line  92)
-* tld_get_4z:                            TLD Functions.       (line 109)
-* tld_get_table:                         TLD Functions.       (line 139)
-* tld_get_z:                             TLD Functions.       (line 123)
-* tld_strerror:                          TLD Functions.       (line 291)
+                                                              (line 304)
+* tld_check_4:                           TLD Functions.       (line 179)
+* tld_check_4t:                          TLD Functions.       (line  42)
+* tld_check_4tz:                         TLD Functions.       (line  66)
+* tld_check_4z:                          TLD Functions.       (line 208)
+* tld_check_8z:                          TLD Functions.       (line 234)
+* tld_check_lz:                          TLD Functions.       (line 262)
+* tld_default_table:                     TLD Functions.       (line 158)
+* tld_get_4:                             TLD Functions.       (line  90)
+* tld_get_4z:                            TLD Functions.       (line 108)
+* tld_get_table:                         TLD Functions.       (line 137)
+* tld_get_z:                             TLD Functions.       (line 122)
+* tld_strerror:                          TLD Functions.       (line 294)
 
 \1f
 File: libidn.info,  Node: Concept Index,  Prev: Function and Variable Index,  Up: Top
@@ -4241,22 +4148,21 @@ Concept Index
 * AIX:                                   Supported Platforms. (line  74)
 * ARM:                                   Supported Platforms. (line 128)
 * Autoconf tests:                        Autoconf tests.      (line   6)
-* command line:                          Invoking idn.        (line   6)
+* command line:                          Invoking idn.        (line   5)
 * Compiling your application:            Building the source. (line   6)
 * Configure tests:                       Autoconf tests.      (line   6)
-* Contributing:                          Contributing.        (line   7)
+* Contributing:                          Contributing.        (line   6)
 * de-allocation:                         Memory handling under Windows.
                                                               (line   6)
 * Debian:                                Supported Platforms. (line  10)
+* Debian <1>:                            Supported Platforms. (line  22)
 * Download:                              Downloading and Installing.
                                                               (line   6)
 * Examples:                              Examples.            (line   6)
-* FDL, GNU Free Documentation License:   GNU Free Documentation License.
-                                                              (line   6)
 * free:                                  Memory handling under Windows.
                                                               (line   6)
 * FreeBSD:                               Supported Platforms. (line 110)
-* Hacking:                               Contributing.        (line   7)
+* Hacking:                               Contributing.        (line   6)
 * heap memory:                           Memory handling under Windows.
                                                               (line   6)
 * HP-UX:                                 Supported Platforms. (line  82)
@@ -4268,6 +4174,7 @@ Concept Index
 * invoking idn:                          Invoking idn.        (line   6)
 * IRIX:                                  Supported Platforms. (line  70)
 * MacOS X:                               Supported Platforms. (line 116)
+* MacOS X <1>:                           Supported Platforms. (line 120)
 * Mandrake:                              Supported Platforms. (line  66)
 * Memory handling:                       Memory handling under Windows.
                                                               (line   6)
@@ -4281,114 +4188,120 @@ Concept Index
 * PR29 Functions:                        PR29 Functions.      (line   6)
 * Punycode Functions:                    Punycode Functions.  (line   6)
 * RedHat:                                Supported Platforms. (line  49)
+* RedHat <1>:                            Supported Platforms. (line  54)
+* RedHat <2>:                            Supported Platforms. (line  62)
 * RedHat Advanced Server:                Supported Platforms. (line  58)
 * Reporting Bugs:                        Bug Reports.         (line   6)
 * Solaris:                               Supported Platforms. (line  87)
+* Solaris <1>:                           Supported Platforms. (line  91)
+* Solaris <2>:                           Supported Platforms. (line  95)
 * Stringprep Functions:                  Stringprep Functions.
                                                               (line   6)
 * SuSE:                                  Supported Platforms. (line  31)
 * SuSE Linux:                            Supported Platforms. (line  36)
+* SuSE Linux <1>:                        Supported Platforms. (line  40)
+* SuSE Linux <2>:                        Supported Platforms. (line  45)
 * TLD Functions:                         TLD Functions.       (line   6)
 * Tru64:                                 Supported Platforms. (line  26)
 * uClibc:                                Supported Platforms. (line 124)
 * uClinux:                               Supported Platforms. (line 124)
 * Utility Functions:                     Utility Functions.   (line   6)
 * Windows:                               Supported Platforms. (line  78)
+* Windows <1>:                           Supported Platforms. (line 132)
 
 
 \1f
 Tag Table:
-Node: Top\7f1018
-Node: Introduction\7f2719
-Node: Getting Started\7f5027
-Node: Features\7f6134
-Node: Library Overview\7f7475
-Node: Supported Platforms\7f8273
-Node: Getting help\7f11845
-Node: Commercial Support\7f12308
-Node: Downloading and Installing\7f13242
-Node: Installing under Windows\7f15532
-Node: Bug Reports\7f16912
-Node: Contributing\7f18302
-Node: Preparation\7f20274
-Node: Header\7f20988
-Node: Initialization\7f24003
-Node: Version Check\7f24200
-Ref: stringprep_check_version\7f24735
-Node: Building the source\7f25700
-Node: Autoconf tests\7f27560
-Node: Memory handling under Windows\7f29926
-Ref: idn_free\7f30874
-Node: Utility Functions\7f31410
-Ref: stringprep_unichar_to_utf8\7f32074
-Ref: stringprep_utf8_to_unichar\7f32498
-Ref: stringprep_ucs4_to_utf8\7f32886
-Ref: stringprep_utf8_to_ucs4\7f33748
-Ref: stringprep_ucs4_nfkc_normalize\7f34501
-Ref: stringprep_utf8_nfkc_normalize\7f34983
-Ref: stringprep_locale_charset\7f36141
-Ref: stringprep_convert\7f37174
-Ref: stringprep_locale_to_utf8\7f37730
-Ref: stringprep_utf8_to_locale\7f38110
-Node: Stringprep Functions\7f38458
-Ref: stringprep_4i\7f40369
-Ref: stringprep_4zi\7f41957
-Ref: stringprep\7f43169
-Ref: stringprep_profile\7f44494
-Ref: stringprep_strerror\7f45601
-Node: Punycode Functions\7f49200
-Ref: punycode_encode\7f50939
-Ref: punycode_decode\7f53134
-Ref: punycode_strerror\7f55246
-Node: IDNA Functions\7f56008
-Ref: idna_to_ascii_4i\7f58573
-Ref: idna_to_unicode_44i\7f60203
-Ref: idna_to_ascii_4z\7f62169
-Ref: idna_to_ascii_8z\7f62760
-Ref: idna_to_ascii_lz\7f63345
-Ref: idna_to_unicode_4z4z\7f64073
-Ref: idna_to_unicode_8z4z\7f64722
-Ref: idna_to_unicode_8z8z\7f65365
-Ref: idna_to_unicode_8zlz\7f66002
-Ref: idna_to_unicode_lzlz\7f66724
-Ref: idna_strerror\7f67529
-Node: TLD Functions\7f69146
-Ref: tld_check_4t\7f70786
-Ref: tld_check_4tz\7f71686
-Ref: tld_get_4\7f72540
-Ref: tld_get_4z\7f73046
-Ref: tld_get_z\7f73457
-Ref: tld_get_table\7f73955
-Ref: tld_default_table\7f74488
-Ref: tld_check_4\7f75213
-Ref: tld_check_4z\7f76462
-Ref: tld_check_8z\7f77628
-Ref: tld_check_lz\7f78895
-Ref: tld_strerror\7f80233
-Node: PR29 Functions\7f81056
-Ref: pr29_4\7f83344
-Ref: pr29_4z\7f83975
-Ref: pr29_8z\7f84499
-Ref: pr29_strerror\7f85158
-Node: Examples\7f85869
-Node: Example 1\7f86318
-Node: Example 2\7f88864
-Node: Example 3\7f95483
-Node: Example 4\7f98003
-Node: Example 5\7f100532
-Node: Invoking idn\7f103984
-Node: Emacs API\7f111306
-Node: Java API\7f114063
-Node: C# API\7f118969
-Node: Acknowledgements\7f119434
-Node: History\7f120536
-Node: PR29 discussion\7f122180
-Node: On Label Separators\7f126048
-Ref: On Label Separators-Footnote-1\7f128522
-Node: Copying Information\7f128615
-Node: GNU Free Documentation License\7f128881
-Node: Function and Variable Index\7f154014
-Node: Concept Index\7f159000
+Node: Top\7f1023
+Node: Introduction\7f2784
+Node: Getting Started\7f5096
+Node: Features\7f6207
+Node: Library Overview\7f7561
+Node: Supported Platforms\7f8360
+Node: Getting help\7f12152
+Node: Commercial Support\7f12615
+Node: Downloading and Installing\7f13556
+Node: Installing under Windows\7f15921
+Node: Bug Reports\7f17325
+Node: Contributing\7f18731
+Node: Preparation\7f20734
+Node: Header\7f21456
+Node: Initialization\7f24567
+Node: Version Check\7f24764
+Ref: stringprep_check_version\7f25303
+Node: Building the source\7f26278
+Node: Autoconf tests\7f28200
+Node: Memory handling under Windows\7f30601
+Ref: idn_free\7f31561
+Node: Utility Functions\7f32119
+Ref: stringprep_unichar_to_utf8\7f32791
+Ref: stringprep_utf8_to_unichar\7f33223
+Ref: stringprep_ucs4_to_utf8\7f33825
+Ref: stringprep_utf8_to_ucs4\7f34710
+Ref: stringprep_ucs4_nfkc_normalize\7f35535
+Ref: stringprep_utf8_nfkc_normalize\7f36032
+Ref: stringprep_locale_charset\7f37203
+Ref: stringprep_convert\7f38380
+Ref: stringprep_locale_to_utf8\7f38949
+Ref: stringprep_utf8_to_locale\7f39338
+Node: Stringprep Functions\7f39697
+Ref: stringprep_4i\7f41624
+Ref: stringprep_4zi\7f44359
+Ref: stringprep\7f45605
+Ref: stringprep_profile\7f46966
+Ref: stringprep_strerror\7f48100
+Node: Punycode Functions\7f51793
+Ref: punycode_encode\7f53562
+Ref: punycode_decode\7f56131
+Ref: punycode_strerror\7f58300
+Node: IDNA Functions\7f59069
+Ref: idna_to_ascii_4i\7f61691
+Ref: idna_to_unicode_44i\7f63340
+Ref: idna_to_ascii_4z\7f65323
+Ref: idna_to_ascii_8z\7f65929
+Ref: idna_to_ascii_lz\7f66529
+Ref: idna_to_unicode_4z4z\7f67276
+Ref: idna_to_unicode_8z4z\7f67940
+Ref: idna_to_unicode_8z8z\7f68598
+Ref: idna_to_unicode_8zlz\7f69250
+Ref: idna_to_unicode_lzlz\7f69991
+Ref: idna_strerror\7f70819
+Node: TLD Functions\7f72435
+Ref: tld_check_4t\7f74096
+Ref: tld_check_4tz\7f75029
+Ref: tld_get_4\7f75915
+Ref: tld_get_4z\7f76437
+Ref: tld_get_z\7f76863
+Ref: tld_get_table\7f77380
+Ref: tld_default_table\7f78170
+Ref: tld_check_4\7f78917
+Ref: tld_check_4z\7f80218
+Ref: tld_check_8z\7f81435
+Ref: tld_check_lz\7f82753
+Ref: tld_strerror\7f84142
+Node: PR29 Functions\7f84967
+Ref: pr29_4\7f87263
+Ref: pr29_4z\7f87904
+Ref: pr29_8z\7f88438
+Ref: pr29_strerror\7f89111
+Node: Examples\7f89834
+Node: Example 1\7f90287
+Node: Example 2\7f92097
+Node: Example 3\7f97877
+Node: Example 4\7f99634
+Node: Example 5\7f101398
+Node: Invoking idn\7f104122
+Node: Emacs API\7f110958
+Node: Java API\7f113776
+Node: C# API\7f118949
+Node: Acknowledgements\7f119418
+Node: History\7f120520
+Node: PR29 discussion\7f122183
+Node: On Label Separators\7f126053
+Ref: On Label Separators-Footnote-1\7f128584
+Node: GNU Free Documentation License\7f128683
+Node: Function and Variable Index\7f154064
+Node: Concept Index\7f159061
 \1f
 End Tag Table
 
diff --git a/doc/libidn.pdf b/doc/libidn.pdf
deleted file mode 100644 (file)
index 8ca4ebd..0000000
Binary files a/doc/libidn.pdf and /dev/null differ
diff --git a/doc/libidn.ps b/doc/libidn.ps
deleted file mode 100644 (file)
index 5c9276b..0000000
+++ /dev/null
@@ -1,11936 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software
-%%Title: libidn.dvi
-%%CreationDate: Wed May 23 10:39:44 2012
-%%Pages: 82
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
-%%DocumentFonts: CMBX12 CMR10 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10 CMSL10
-%%+ CMSLTT10 CMB10 CMTT12 CMTT8 CMR7 CMR9 CMTT9 CMMI9
-%%DocumentPaperSizes: a4
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -o libidn.ps libidn.dvi
-%DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2012.05.23:1039
-%%BeginProcSet: tex.pro 0 0
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: texps.pro 0 0
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginProcSet: special.pro 0 0
-%!
-TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
-/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
-/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
-/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
-/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
-X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
-/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
-/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
-{userdict/md get type/dicttype eq{userdict begin md length 10 add md
-maxlength ge{/md md dup length 20 add dict copy def}if end md begin
-/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
-atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
-itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
-transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
-curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
-pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
-if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
--1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
-get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
-yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
-neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
-noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
-90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
-neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
-1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
-2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
--1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
-TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
-Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
-}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
-save N userdict maxlength dict begin/magscale true def normalscale
-currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
-/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
-psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
-psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
-TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
-@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
-newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
-closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
-/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
-currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
-N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
-neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
-rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
-scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
-lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
-ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
-/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
-pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
-restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
-/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
-setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
-moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
-matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
-savematrix setmatrix}N end
-
-%%EndProcSet
-%%BeginFont: CMMI9
-%!PS-AdobeFont-1.0: CMMI9 003.002
-%%Title: CMMI9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup
-/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI9 def
-/FontBBox {-29 -250 1075 750 }readonly def
-/UniqueID 5087384 def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI9.) readonly def
-/FullName (CMMI9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB
-7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67
-7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8
-BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365
-82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC
-E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74
-91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E
-540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112
-7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8
-93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D
-EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756
-972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A
-6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149
-796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94
-DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B
-D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80
-E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D
-0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83
-F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9
-ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97
-72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F
-F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9
-4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1
-692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C
-BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109
-4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1
-CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59
-41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A
-9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20
-5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292
-2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5
-8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B
-33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28
-03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1
-749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE
-CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE
-3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F
-64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F
-90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05
-DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8
-F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D
-4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF
-49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4
-E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117
-58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE
-88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3
-B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE
-7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776
-01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46
-19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41
-194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55
-53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3
-F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4
-412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6
-C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC
-C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108
-4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831
-E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81
-AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF
-00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A
-E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91
-C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC
-B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8
-2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980
-F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50
-0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023
-28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4
-E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A
-C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42
-20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B
-7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE
-5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4
-74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4
-90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55
-3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621
-98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066
-54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7
-93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC
-19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A
-9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD
-E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84
-A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB
-107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA
-5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08
-22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95
-B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D
-403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789
-D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6
-20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6
-943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33
-AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F
-A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70
-B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA
-2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84
-2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F
-E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D
-E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F
-8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642
-87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4
-2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842
-D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC
-512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4
-4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559
-6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9
-9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A
-0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040
-9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B
-FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1
-430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8
-56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE
-718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3
-F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE
-95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B
-EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE
-6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7
-6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867
-630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111
-6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA
-89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475
-3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2
-90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47
-38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34
-EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9
-B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376
-9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9
-1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF
-1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C
-62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5
-84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2
-AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618
-D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196
-BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6
-4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6
-531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24
-FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2
-43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256
-D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6
-0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4
-E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53
-DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358
-99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD
-8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1
-8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73
-A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5
-362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3
-C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79
-E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2
-07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F
-0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6
-190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4
-5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D
-F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50
-005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8
-6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C
-D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9
-F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087
-F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE
-2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752
-F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0
-0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD
-73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2
-62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79
-5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98
-F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F
-6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7
-DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109
-EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222
-E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107
-536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18
-36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF
-B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3
-F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0
-431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB598E51CAE7E4900
-5CD570C914EFBA426BAFF7A56FC775ECF5BE13F2C42E51EF96784E5201C0B64C
-074AC229FF0BFDF71E6D5E08D8755D2C12B770B6466A9C9C61C15582DCD2FF78
-E9E74DC2B1CAA344EC0339EBFF92CD2CC1D62E2FA8FF15E7459A83C6CFA58A77
-2F1A40BD276E76B675FD6834052B33BF9190F04DF6AA5FA3BB7D77A88DD5B600
-324C5E28216F47682EC29EABF35BA842BA2294A3D72B126EBB852AB741186C9F
-FC84B12DC4A6CEC08F2D03EE61B65C845841EE17F1B765649A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMSLTT10
-%!PS-AdobeFont-1.0: CMSLTT10 003.002
-%%Title: CMSLTT10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSLTT10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup
-/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSLTT10 def
-/FontBBox {-20 -233 617 696 }readonly def
-/UniqueID 5000800 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSLTT10.) readonly def
-/FullName (CMSLTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -9.46 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 52 /four put
-dup 95 /underscore put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
-2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
-6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
-979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
-ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
-B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
-A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA
-3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F
-D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC
-6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F
-3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C
-4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90
-DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2
-753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131
-54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D
-107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3
-7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231
-328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9
-85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C
-2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7
-308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450
-CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195
-739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93
-FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6
-F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312
-3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A
-A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F
-55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC
-A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB
-69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50
-82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0
-8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8
-0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6
-0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8
-1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1
-D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F
-B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737
-170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863
-767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D
-EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F
-AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3
-826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235
-8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048
-345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE
-67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD
-802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E
-20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127
-5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07
-0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36
-22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC
-4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF
-CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B
-4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880
-0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5
-220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403
-7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005
-27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE
-B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300
-7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07
-A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D
-45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10
-F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7
-C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65
-AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012
-DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781
-FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA
-997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4
-3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A
-2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605
-31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22
-A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891
-43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D
-4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5
-94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E
-425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616
-FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5
-51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9
-859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852
-E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F
-2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910
-82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA
-22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D
-200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5
-892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32
-0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140
-437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3
-BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9
-E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402
-DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1
-CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551
-80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F
-FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA
-9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41
-031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90
-9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3
-9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891
-4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB
-57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B
-2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39
-0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9
-03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067
-22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79
-06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC
-39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD
-E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163
-A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6
-9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6
-B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F
-79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553
-2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5
-8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA
-1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA
-0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2
-BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3
-312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3
-B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F
-9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16
-A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6
-91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F
-7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D
-78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC
-7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09
-766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11
-016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D
-C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3
-8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278
-E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC
-6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8
-B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959
-44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB
-C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE
-5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB
-42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A
-F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57
-CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009
-9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2
-82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72
-0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5
-F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9
-EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA
-E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD
-D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD
-F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F
-14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8
-BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2
-9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5
-6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A
-6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116
-4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE
-C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B
-A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C
-9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780
-42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE
-7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024
-1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D
-4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540
-CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4
-D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81
-CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1
-0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9
-92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0
-57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4
-5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4
-57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158
-8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0
-C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3
-7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7
-B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674
-EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521
-D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9
-DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074
-F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D
-D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0
-56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8
-46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40
-52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA
-19477F075ACF608CD94CE466C1FC3EDAEA3ED25C96FE89A7CBFE528A33C4E84D
-465FE6FB031B48D904C5120D428D6B51F3232847CB0B7521E5CEA887FFC56F02
-0882B3BB7F5B0B954E7078DE3E31D8AE65F9EA55F4C169DB7C35DB9645617AFE
-078E03BF9A1BCE4E489AC9495A1E6CC7D1FFDCC03CEC1A32490186FE8B53B09B
-DBA7F0E23C8F5E5270D039B409D504203A458EEF12C035039A8AA12C719C0339
-F766BE6275511D585F82E9D4AC9B5424312755C4B74383FD094BBB24817D6525
-EE62456392E5DCAD0A0157A4A033E440AA014D5682606312F72248E13C43EC3F
-BBC9B4A2CF19A4AC6ED7F561EB13C3AB22FB3F3EF644B5B47DACE807262DE5C9
-50578464845B950140ADD91D72D28470A5A5FB134EC52F4DBBB9C50A7523592B
-C5BAA056E46F8C004062298BEA010C1CF9F49DEAB58C4D2012E04E630F54C985
-328DB2B6FEAC584308D71A9F5FD945A37EA13F3DEB1748320870057A362E70CD
-50C269D32993CE9CD1E8CB35BC6F69E7574F37032219C6E1C960F36800BCE507
-169855846959F2F55F4F45FC8EFFB021C0C7985D76C140E7C6842F37CFD0C445
-1839AEA72A8CDC5B7032A9E021A334BA7CC9FD874959462454773F9390001C0C
-2A23883262131F3520C531DB024C0AD69F3510316F719B1A2E34700E7F478F10
-3108757F0497F1DD572D4809D495CDAB7F63CF9319E82564A74D04E908DF62CD
-97DC70FD80A75CBF2252C2633EE21920C4096006B6F5005E949BD3832C532229
-778AD9FCD0043D57005D46387A1FBD5183427D065010F5285F7D4CD4BC9C0FD1
-5835764889CDDEF45B406BC6D58A796D354E352D037A1569A2758198972C45E1
-E2E499E6412476E7B378DC015F3AC651D077D6A4FB13BBC00783B07D44AC6AAD
-F6F1AE355CA726FD9FF7E43DD77D3192B51B68585A30AA1CA4DF81DEA02DFFCE
-B395E659385B1981ED856572BA54A70ADD6A4B6FA80AD429543ADC2354631183
-0CA6B05DC9C0D8FB18423F846ECC4E525989B77787D14D89EB5FF06652612474
-ADEA7A1B4B3BE9607E33838C57FF78DC46F526093844B0983D99875360965185
-890FF254BDA5441320F8DBFE406BE8A446B2BFC6879E3A0C35A9B16EB5ECF6F4
-F2EADD879278916BA6DE59A65267338660293E0ACA341B6B9F2B3D0DAE9F49C1
-232C21CF969955FA4D5016EB6E0FF23D01C3575A967B7C2F2915FF07FACED72F
-D9073CE7ED48AE79B67767CEB1706EDD4D22C0F641BD4391A671F5A0713E700D
-10CB68E588006A31A061F9515090CBF63F3734F101206EE276A2828A07A4915C
-077CC3EC2B405E52DD6BCEC8DF4292CC4A807FAC74A0EC50B27BE654642ADF22
-DF510B6FF0E942C8B4084769E9CBF547F19AA22430DA145EE102DDE2AD216172
-4D86D3786272E2296993A6D9F40503E59733B00B6C7ACFC0F679ADB3DC045285
-C5125C4BE4140325114C5985353261834AA8C427459622321E7C11E6D7B27794
-C50111E94E528B89EF1A10315C0FA30C5EA0A3A9CD2E12EC266EFAE29FEB4397
-265E77D716F5D702D3E8BD60DFA15E6FF8D623802912A42F081C9086EBFCC33F
-4FABBE1B2639884EA8EEC68B4FD7F16DFBF0DD3B9D0948916D2F1606C89D343C
-33385639BD555A399B30C027E80564A3EEC0B785AF31FF49BCA15DE028497642
-5EE3131F97C6E5AC3C9907BB7B6830E6BF94028E738A20F24109B8E4BF726484
-85BE3E7BFED36A7C4B41B7E37F837FC5204E1DB8316490811BDD1D56574878A4
-A2642DC44E2ABDCAA40C9A1368F9483708A8AF4D76AE276CE6E055900C5D924B
-00CF8ED14203A8CA83E84CAA728B54E8A25CB1A39CED5355B699C1B652855107
-EBAD3CE4E4640A2422AB980B7CF0A2C30EC596B6ECC302E2444ECF68AA397521
-41BCBA1C806DE1A2F41B418FF4A7016567EC479ACEABC96D75C4D2CB63B745FC
-ED926442880213613F51CC4D3830259421935D912BF814A245ECE46CD603322A
-1969795CEDC22A3CE04BB857723370FF70F5479CF4F34E952498DE49D0C25494
-680158BFA26214879AE4E0A180CF568B88EAFEE8288945B40089D4C18F187D26
-CC492063FBE38EDAA9D35779156BD42103E9C81BA63D8711A60FEB896F354C62
-745C939E802FCAED6CF6389B8EAC8F7FE266B34C77C667A372787F7C76AAA13E
-CC89DDE3213B6DD3C8B4FF3C6FED75D508A665C027A77ECF265A34908892BB07
-39387FEC38CE30EDEAA83D5EFCF66D945605CBCFC6AFAAED61B5B898FCDBFF0B
-90DAD65366D26CF29D6C594D698B782B3EF4B2972736C76B8621487AD4199C68
-C7094460162AC76C648DD6639D2373A8C691382257831C9975DE35E935056350
-45F35708A4541FE9BD4A9F06B9C2D5FC7C219CCCCE64C94BA31857281F62142B
-C110671E62D6A1FE4EF4B76AB7BF41CDB035A366EB6FB7268CA2C0041EB09842
-E5EF42BF6C6EF2C176979E8338F889B01AD1D77D4E5EF6EDDA9C9178BEDED195
-03DE2C9BC90B6B3682F6BED6BAFF829ACBEB632368E3236B0EC792508D4C9F98
-49A35476B8D757794AC4B4DF0DDA7D78A032CF67F094FCF22E8EEF5C392DDBDB
-CF679E647B6E292CD057030992A5C03CBEF25E4D30FE245D1221B31DC88F7C7F
-0316728BE658FD6BF8A60FD42073CA6D123DF2A46C7E37EAAC4B7BC505726C04
-B66C3760BB3AD1F1CDDDA87404354FCFDF973D1A1C7E4621FA3E825D80C6ED98
-32536B8C2607CE39015105750D4B90CF2EA126EF9BD984F91C32A429C26C9575
-FE8D7EAFF473A89A25DCD53664D34D0AC8D3FE75A1AC5E7D7B86914CCF381F84
-0DEBF996B5E7425DC82CA73AE4285BAE05411CAF6FBB9734129DD9E3C6BAACC1
-86E17C3985E359C713F1AFB88F00976B89B509C6D8FAE64E75056230A452D041
-942CBB42F654F46F032C934D8CF514A2650B7DAF342E1497929B51CDDD797568
-CFF6E5301222A720C7A5296B1650F38C3835D849537AC77531C65485AEC1355C
-A050D943F75C623A6E063026B44E9B770D850AD9B288071707A1FE5ADA89C2B6
-A64B410FFB1C89E02A911FC47A1CB5DE7263A03BD1C7780535CFB1702CF3B9D5
-69F94F087997A42EBBECC58F2CCCB614F332CFF6B83D411B1B30CC4C22BC58CF
-49496B3824EA34054BEF8E383066610B7388F1F4A4A978CC615ECF9DC25D759A
-DF4660ED87DBAE6E5620DF478B702D2B77D484B45D1523A82D98BDBCB3DE2CC7
-C45133874FEC88DB8E59E40B150D677AE002A05E00537610B8F2C769B5779363
-80125309A9CA34D52066B3418FDA9D4EE5BEBD4CB94FC622B160945F93BAF802
-B231BDC0A11FD607C2A5A1DF6EAEB0D6B26A1359F0A2833FF3AA5DC388F63C13
-F713741090C347A8E9D359812675475A771F120E4A9DDE09852D72A76DC49637
-FC83D558F5A15D8F695A917A6C274C0BB50D14553DF3F726195FAABB07B2426D
-A9F55237BF04A0CB98AC36B12445F274061839949E5B2F41D4BFC6842322950F
-23B4897696BB1973CDDFCC97DE5CC9BB1FE6A4DE6D04A75A4086C372920E12BF
-04694F39C1F8ECE526BB3BDDCDF3B22BAFBA80E9CAC1636C779B0411EE6E9E34
-9724195D4BFA36EA64A774A018019ED9A7775BE2B18456BE599E232949773BB5
-670A99A1507BF45411CB9EB2888753AE2894826D8D33A66E59C951A080D96ACE
-7A1A7F3C0AC79E414BFC06055E7A432E9C91DDABBD520E33D63F369F41E469CC
-13EF9F71A261F5D8A4B311A0776CFD28727248DF1190C5F37D9FA62559DA74FB
-69508979AD6C48DA85539CDFDD472CCB6D2C5E91C57CF4BC499DDD860B1FAF6E
-06EA7A57C445ECA44AA6FF896F84BB8FE81BBCCB954021B97F61A1459470209F
-5548B60F41B50531B1C2CBB35B44C3F7CB30B474D66C31A6F4DCA88E6D27BB8C
-052116174250679B21ED88C8CAE75BB6465560D6D514EEC707A956470B0A5260
-9D27FB84F2096805DBCA65B1C140450B2E06CFFA117F502DD01FE7695B402EB2
-3141458A7B926ABD67AD7CE29DC574EB6F62692BCDDAAE2C69914685EF74C132
-C154C498CBFD6CD8398632430E5F2E97573BE0207E659D1C57649095ECA8B3B8
-7BF2A2F4B970A594F67A0960178E34DE258726708ABD61F304D8864B70212EE4
-8A44BC304A42BD1B393D32036925AC3B98AB984343F55BFBF0FD4BD8DF4193F4
-40CAB3EDBE27207ECB820A1B64285FD3C40E14732957533487AF31BAE0D2703B
-1B0CDB29D74FE2D926D2599A1BED99B5522AD939AF6051584F7C66E4F07CD515
-F1485F401CE18E37E72DAD1C878ADAC83529C1999543F549EB516868DCA7BDEF
-91E281755AAA1C966BF5E51B42C692846D56BD7D4F2C6ED46F0CB8C50AB13846
-A65A7E0162DB2636D43138E606E156159C4826F636B02CB7903FA3D4E08C730F
-9CB4386A259DB5B3A4133A59E6B20DF3DA4A10C2410FD9322B0FE22096DEBDA4
-32EB544D4E35D7D5352E6A7A45DF45DC2B03B77FFDA7AEF233857FD6DB5579D6
-2E057E4648B8C2FD96FFDA88A1B15583A1445D9E6BCF6AC56E370F99F4F0BC11
-13EAC22939E904EF134D2709B24EFDB628E98E45C68FD25B58AED6F9D87DD40B
-684044BF06CCCCAA8600C35F59F2BC060BDB6B765CC8F2C763A09834F001F667
-078E87DC080D69B423C1FD121DD2F6315F6E19044BD9896B5B4CC134EC2CB8E4
-796682EEC87D6FB40D6B10D5211058BAB89FCA487C98E84E9EBEAE3AACDB1C76
-195BFE12EC3C4B9D563E628CAF2BAA4A76CA7C6044225DAE0CB516F5168487EE
-ABCEA001049A981FB6AD80AF23AAFB42678B933D519B75788C91C5B507062671
-5218BBB204AFE6ACBE0534F5316D006B9FA65EAC82C3E962F86A44122F7AE4CA
-1A1ACBF1ED6F7C2F0B4F119FFDDBF4AE0625C5872986E77E402A9AC3EFE1DA12
-B301F8FDA173D08F93F5FDB01B436BEEA2849F126828F99844B861C6178A4D6D
-DC0944BF16BD915AD610FDC6892551E23590A61DEE66572DF28F638F55CDCED1
-790BF457E44FC616C476E24A4FB28E8D45DCB483E89FD9EAF6C4097420D2FB4B
-CE9A7E39077D5ADA25ED554223950CD2F915CECDB7384013FC45CAA26FCC42AF
-3C6CBC32E9F8CC535814823EE3B872E76894759181A51853D4389915C684E081
-56EA4A7067E6DB218C3C0332CB82502E3763D4A2118EBA8F93EBE38E784BFBA6
-0FC22E964C376A870FCBA2D9D44EA3B256F696A14C5213F1326E25D9DD375E51
-F982F79F3A22DB3449CAE509327EEB9BB4431AE3C70DB1EFF4D014A03B3020BA
-D563DFE8582D76D0553BDF3DDFC8977BBD74745F6063758F10FC4FEE11F27509
-284C6D167DF040A3E36B5CC9A1FDD3EA35A4CD8AE3EB41883C79E8CD3F11E9BB
-808892EDA42936702EDA7F6B5C4942AA65FF701A07F96262867A059A89968166
-E8BD52B04504EEE4AC16620F045914A381FD9F5B9BC43D2299CD114F13AC36E5
-696DCE73225CF0DCED51583BACF621D19043B603EA8F8648524E37CA0166F483
-EA0AEC8C396B7C996F8FD91BD40F0726577256CB4B49394E81D294A3866A15FC
-21E4BF150FE0C98AF48D4C46340EF03721F9572C016CB5A4E04E8361875DC724
-0DB0B038E6F2EE189C4386DFF0D79C6F618BE34E672DABFE5A4AB9B78D833E48
-39BC4C0595F35371070EF3C60F3A9AF7FC9EA24EEA9BDDAC5C8AD0B4438B3928
-429EBF27565DD0AE507EE90B797DB5194DAE23D250EB573F5AEBA015E02294BC
-4098913C0B449AD140D6326BFD00F8E2C4FDFF18EAD88369A669CC0B2DC0996C
-25186219BC22727287F62A309BEB95472A3541016C80EF538F4779EBC8CABA17
-BA36E19DA91582B9DD4D9ACD9FBEFA18ED6D2C5C9017CEF2644DAD8047C2DADF
-8C34E778AAFAC415845D0F68C958F0BAB66C189FBF87A418F0DE9F7A4145383B
-F2253B5B7A44310A6B9DD8301C4D533FB3D3D243F4521A778E7E8259C7CE6BA2
-7BAC9B8C16DE7882759A3EEF6E486C128A174649898D744382F2F42B2C5B8C39
-4CE88CB8D528BEC7DDD64B46301643C1FF6933137729AA5FA480B6049864054D
-8830F9316861F55A1F401C28BCCBD542E628858D156B1784A842F9477FB5BDB3
-83634E74
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMTT9
-%!PS-AdobeFont-1.0: CMTT9 003.002
-%%Title: CMTT9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup
-/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT9 def
-/FontBBox {-6 -233 542 698 }readonly def
-/UniqueID 5000831 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT9.) readonly def
-/FullName (CMTT9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 56 /eight put
-dup 57 /nine put
-dup 59 /semicolon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 70 /F put
-dup 71 /G put
-dup 73 /I put
-dup 76 /L put
-dup 78 /N put
-dup 80 /P put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 95 /underscore put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0
-42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259
-4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457
-689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521
-0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA
-610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8
-3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735
-C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933
-995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE
-EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723
-2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0
-4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC
-B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014
-D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE
-510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5
-BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF
-93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC
-F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385
-45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757
-4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47
-088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8
-9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A
-09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988
-E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C
-0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A
-FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C
-94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741
-03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF
-409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71
-45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95
-39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971
-58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85
-84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A
-0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F
-F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD
-B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD
-D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B
-3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B
-7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D
-8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737
-712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E
-C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3
-E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA
-A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC
-2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467
-757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C
-54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981
-DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9
-08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD
-6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2
-A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5
-336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D
-E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB
-3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A
-E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627
-1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903
-FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72
-A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6
-465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0
-3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32
-CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF
-573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA
-9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D
-15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D
-D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5
-15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1
-64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789
-D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C
-D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8
-576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540
-ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135
-EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC
-9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099
-3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A
-1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD
-FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598
-C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA
-4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0
-CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7
-3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D
-D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9
-BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6
-1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D
-4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442
-C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D
-80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C
-AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6
-59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647
-3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6
-14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59
-B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34
-F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8
-54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588
-34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191
-825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439
-BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54
-4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F
-66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E
-2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF
-F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A
-1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416
-37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6
-741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1
-39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC
-887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49
-B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD
-15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526
-5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1
-80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839
-A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404
-BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048
-2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B
-B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598
-F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B
-9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483
-CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91
-DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62
-6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B
-7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7
-D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B
-9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9
-EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12
-0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2
-1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10
-85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0
-EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F
-D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518
-E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0
-88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842
-E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8
-01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68
-54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A
-97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78
-B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2
-D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9
-18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE
-A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13
-1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62
-31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5
-408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF
-1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E
-29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33
-BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B
-AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8
-0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D
-99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE
-480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC
-D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481
-FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB
-587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51
-A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C
-C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C
-AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D
-AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4
-48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367
-385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56
-8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38
-4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C
-839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C
-320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63
-7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E
-DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D
-DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F
-461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A
-BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449
-1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A
-3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500
-0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77
-EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA
-AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8
-F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4
-097C4995B60BF4D8B3AFD0A002B3A6E4FA114131410D5658999B86DFDD3005F3
-AED1FA8F077AD1F27EA249221585703F20FB70E37A26C6C3F2E101693C94612B
-65BF89F37AA3C10A40EE8E49915F1A1B95D2193D8003DECEF9D76FDAA33B1AA9
-CEDCB21C2A3B05747FB3ABDBD904B66EEC60CED2867442F5FE445587EB8C6D14
-87A6B1B4871A8371A7ECA6A159EAB295B167CC35ADEB8512FD0C237421773BE8
-A081FB687F9C5D676F2944DE6E6B639C37E8E49BD4A6F0903E0C31EAFC4C7ED2
-C3C67E71D8BE2B8D5784E8A6F19A9A8929DF9833440E160945274682F435DFAC
-575048CC768BB8F13AA21C6B125E6073611BE138AE06D13E62E7EDE3D0239474
-E040B3E446165FFE60E20B75D2A5F9EE021B22256621C290A8F3342F0347B8EC
-CFA6AD68D47C05268EE3AC8683F4840D736EAB585C6284018DC94FC103B4A882
-ADAEFB625EA966F3877B3FFEA518B809A4BD1971E9D94F0AEA63053FD293D3DA
-B47CDAB1DDC5F7A844B1759783E1089845046259EA790949458926207716EF51
-381D6555E2316CF6935A994E4BAA942280A326B0C4C9431C90C129DC0FDEF43E
-EB277B6DBF695BA2EC66029AED7BA881E26F47164E0633BC83FC5A704E0DDD23
-370DB203C7A17BA7BFD43606EC7A3723643608298A8AF697A1DA2CC7CF9661C3
-88E168B10C77221671642505DEA32A9A89119372E17E4F9354DC900685CE8F84
-7BC76BCF8F50BB0160B0FB09B179461FF36D553606A2B18792FBE17540B5F291
-BD45C7FF1D285C297B535FD974442D38AF0964F257A8CD77FB77668C3E154221
-C9134548C6FD484A1450DDE4408DB4A38153E4AF60C79EB6F5B8100100CF26A5
-61B83E0E369EF14E6813ED16371020188CA061153A631D123BEAE2E4475F4800
-E25F85C4358EC7922969783DA11F6DA2C03C07696D06D5553179269013DA75FD
-3EF65FC0C5C43B4EB868AFEDA0B31EA04F08A8A358281F560D0C4BCE4C03E9B0
-2950763DFFB05EF35F5A7ADC7BAD25C6E72314A79107EB92680F992EC29C3E1B
-D9981244A2BECB5354D18730FCD42CCC82F27040419C8075DAFE5B6FBB2D3C1A
-2358DC1BF344AA344B15455D7FECCE7412C3928B468F5BFAC95B86893503924E
-95483C12C3B352BC7DD6961E31BBC725BF5C17C51182CE9941FCAE2FD7C76CA0
-629AE014D25D83EB330227D1C724DA3BCEA0C965EBB26530A66AB919502E1767
-67571EDF9F37292F7E8185DE98F13B4EA7FA22C79AD824FDF1BD82527CA75CD1
-CBFBF980F06F2F0816A45F7D343CF1F2F897CD648B09D217496E3C3AB97D7124
-C992800768189528FF8515DDD4F93D35D5C3C519C4EF3931244134EF3A6DE4CE
-77994A79B45456F7C65D9BAC5E7DAF461B3397312631E6DEAAFE7F2D40ED99B8
-0F6647F3855FCD36D89811D25FDA43865C528C7E83CEF414773C21E2ADBA3119
-1B930CEB9DEA5B599AE95D199C2002F6B0968B5A97CFAD4405C2D8DAC3C32B97
-CB8FB352BCC2A3D1269D9392319563077AA4C7A578D33A25D1A8575F0472F365
-2A98091BBFCCB1E999C21B775DA61AE0A0AC86F829393F4523DD1A060A0D29AC
-436AF379E4D92597B0ED1481C24F192EB716E1A85022518DABF9361A084C1199
-D2CDFE70994885C0A679F90D8BE8D2C8ACEE9A331928C26E6C50101D600D0B7B
-6F9CF517AEC9EED18E9D42AFB1682C040A75AA4EB90D69AC4293FF3DDD3543B5
-5BC4EF719F639294B55EF1F3154DA63D0410786B55E01C437014A35B549D2651
-E6178280CD7256753719C8375CDE80642BCE846EFEDA8C48F926DD9EAB06D175
-6D8F07687C36DFEFC773D549256F91CBBF6422C03CFA8DB3E52BE6D906EC3449
-2C784E430B24A0DACA2345CA75F38488E820BA0BDF5B2DA2DC5A6B86BDA693E3
-9EFF6CFE980237864D48A6639DCBA57C28A62D1CD8B6501653677A14A9826B14
-36BE2A6C9E27575C98F550D97A445CA9E25F8D99AA97EBC97385D0FD325D2A06
-3155A63115D1A8E4F90028DDE737261ED592CB85AC4DFF30F6C7393372E3739A
-38368ED2F0F66FBD7DE1D976BA9A90F152D62DD459120F06588D6743F2BD69C2
-D993AD4E4BF9FB26EF8B1A78B65851952864C17B35C57A64C60E1E478DAE3067
-681E425D0B4F83B82AAB0456F17E74232298C310C4105177F4DDEF25920A2459
-F3388A661730D73FFC13BF85ED880D818E63C302B154C71F7A060CCFCDF4FEAF
-5EE9CA55D761F9452F0DDA1AF1B2C665D3AE876075EE08763A61D276383392BD
-66838C90A91A6EC7C5502664015AA2F5102192BD8BE4532873130538E506B7AB
-0228459C4AF8994205F8C350CFEC4A4B4FAC737FE9F70BAAE137677E064A95E5
-EA4C4E8341B91BBC5F51B326EE05CE2DB03172CAF4118D975487767801EE08AF
-9A764A3B1DDB8C6A235315921B0FF66C8C7E82515D3FB1DC1D65AD7246A58009
-C649AF9F73B840415556ED7C5513B0E7960D23D8A7D0D767B6E29FF11A11BFDE
-30E58B820DC3E24C1184B233F497FD440C8BD547C63FC845DFA0EF2649AC56A6
-7691D2498A6A28B5534B2D4AE1EFF8FAFB92B767012B7E564065CF286A7FE540
-99B2A9CDC326AE91D68E756CF7654FD2ABC1D34FF5809307F127049A5DDBA751
-7248AE047164464A6EAC1002A087BE6A166AA5CB21A16BED0E66969B6E260E93
-7539F666365A4087B1A8A06EED734D75078AF1FA54D534573BBA75D1A8D38F3D
-3747BBF4584CFD6155E8541FF67E3ED5C3BAD2ACBC2ED4ABE15BAAC28F26727F
-48E19DDB47766A04C4A343144EB8B3B98E36432392D7FB86C468656F0AF0F7B7
-C6B8F00707BD6A084271C415444799A7428EB4F50CD9E93DCBB247827309D680
-812D89AA07B7009236E7D86766D26C9578E5217E3D15DAEAA6D84886B06D9B71
-27DFFA9ABFF8C8F481F092ABBE211E54731D67BB0D41A68C3216D4CCF5C8AD4A
-E3FEDC73EB6B38D48920E23ACE48F1480661DFB533FDAE34017C1D95A1840BAE
-243717712D29C0D9FEB6DF11191E7F398499B111BC9574AF45A8F3EB28D1B26C
-CF8DA368BB62A396DDEBEA7B7A61B0975AC851B84BF47BAD147D8A12C7950E66
-C80306147DB5B461CE0774DA3C3A9B517A3085049242AED70EA59FABA7030EFE
-A92540AE5BE3FBC771F217C12E5778E2D4934BD03310565DACDCD38822D91088
-C87EFDF220BB2BA003FD1ED4979938F6AFFFC6409AC427BB70DD7F3815A360D7
-693611189A7EF21A26AE0A45AD3D60596765EDBE4A9DD63E352F64EAB6D09C6D
-0D8E64FAC2B737FF19C4E2DDF18E4C6F773B125491BA8CBBAD6F7E06862AA9C8
-576251DDAB170B2C30C030979EBCCBC4FBE708BB29D311ADA43C40ED284A2E57
-75DE0367B0DCFC1B73A408D84126CB307A8A5B3A9365E78D6EBB8F469A65A014
-B122B2F45268B0BA922565CC644CE5354199570608066EBD7C74B0F814C2EDE2
-BC4407B298E2CE2B5BBAE960653BD1F14AC473BFF51D308358C52E24FA1D1337
-CAF8551337B5B334A4220C051DC65BFF79B84CD7CC7795A8F17758A8E69FA1C5
-ADD252E51A799A731CC2FBA41337F38CF98180ACBD62A41FF2D5E93FAD7D3440
-256182F22FBE4745A6FA267E9E2D56043AC00D867A4C590ACF3859D9EE0F3D7C
-6F5A0239F5CACAABB76C543971CBF8B7F8742D96443FE576DD5ED96AC7E5E22D
-DB231E0E8333769BF9018622DD3F3655C23D5955209383A4EC27CF02F96D1E16
-BB661D1C897AE76116540D641811FE7C8088D1BC4A87FAD5B49C653D9E1BFDC0
-2B94EC59856A4633236675B08F4076A9B8525B4CAEDCF6318CD9DFFDDCD49548
-D30716319D38122D1B1B40D300F7CC7ED6ED6AF674437852056E6C21C46E51C9
-949F064D76D996EBC511A2EF1BFF7EE6C605DC773CD93FF562260792EC185707
-C235AB646AE6A4CDBA4625ECB721074897A51500083D2A479BDA80089DA126BB
-B2EC20EB6F5A854AE19B1AD1780662EFFECD1E741AAA3843D25D91CA63317B5D
-DF5891D348ED47C744D5DB623F380FBC25B36294335E75FE70304D77F88BF1E4
-AEBE5B36158F2B09323A3287A637205B7A0F8F32ECC02D4FDBC0E6208F810DC9
-2B563AE0BE6F4ACF1862298B6B898F9B636135919E7232D044371F437BE1DDDC
-E4B5F36DC8C3B7174DDC5A9552DC8943ADED0E6AA86848062D7A1316CD907E67
-62CF4292F5BE6BCBC9D67F7FA7ED0A40E155C5D9AF0C1E0D89218D30FCD2D217
-84E791D808C5AE6E59D4BE2191443075806486B0EA6A13E50A38CABE21B9F125
-882A033464895E839703B642A0A6E96711E1FCA17D6C0F9C8599271AD8A1AD59
-E0EF51DCE0F45353BF6BF0B4A78FC272B2F499487AC04A83879CABEF64B37E1C
-FEBBC5F65860334C994C7CD3414DF9E85873254242B26A45742425DC62AC78F7
-E2A793D44763E4F30B2EA43990531169CD7436A61DA69B8748AADB149AB48843
-B74684C8ADE4800AC9F6DC582BFE13BD15B62FB58122E8F97B9C7DD81B21A97F
-1E99D923C1FEA4E70553C34E8B4FA479DBA0292D2161124A10413C19413F7DB1
-4C141720E284A85A715AE52597D954D65C8BB7AF254107F735E3AAA4E0F9F0C7
-1B4A5F92DFE1A4318C1EC6C87F8B2C2B4935C8F6609A6F77F18B9D67C5F24A31
-BF274C8389C40B23D6217057A466CD203BFCF36DB986C6C618AADF4AFD83ABEC
-20373E4F5C1DC2BA76AF0D952923B3281FDB8D75096B519A161119B01363565A
-8DFD3F24E68C467BD9722DB5F241E75801E9A41F8A79C13BE63D7B9FC51895AB
-6A8B3F16204B12E5DBF0F5F0ECAD27A49D189260EE2A97BC3254CBDCB2177DDB
-AD254E9A0C1278B8D7865483D3F3CC8E02E18FE3DCF624D75BE999B8BC8B009A
-64EF62DAB5FE7013FB073CAFF621385FB0FEA7D707001F7D1B58D5890FDD6D09
-D130C435F58B67F216B58019AAA3FAEBEA34A7039FCF3F3D1D3F9CE7CE2B7288
-A26CEA5CBC44B758E3C21AD2C6BBF114C4C007F63344A5FA097E123F7DC18FD9
-BAA6CB668667D1133D9B25299AD46AF29757BB1A2DCC43FAB20D2A21BF845455
-4C181503518AD5104E98FFD1F68B69DAE593DB10495B3AA4D9CC6A8E82B213C3
-FF23A87B963E2DFBA27A860D241F3A56FC8BEFD9101CE9218A2E2B8BE2E4492D
-8EC8922E914FB6242EEF243B2103536019D4A5497665F5127727557A2C4E7B57
-03BFC9A54BA6E9CDB63F2AD8773172BF32E79C7DA87F93F2B6C1F2B31486109C
-276129AFCDAD8FEEE5FE0F7924A306081A9056624966ABC890AB001ADF9D9F33
-763DDB64938B656925F12F1131EA42E84DB63BEFF0373598A644B7489D3AEA31
-BF31631299FB0560F1C7CEA8499CBAE670DCAFF5773BA849B091939616565863
-8DD012F816177DC9E76374C01B6B11F065F729CF20A8822B8F7CE8698F489AFF
-372D9444C76377D3B04E2941AAB537E0296ACDF68B3BDCAF1CED32C8C31F18DB
-2923F37CBFE5ADEE2E7DBD913A69237C89E18647437BF39E2F080346E0F7873B
-A3F39B98DDA52AFE998AECD9655D30B1B88F10293263B8775DA3074AFB0C83E8
-E4BB62782D8F8A369A8DA5B4D022BB6B31906B72A771D4E8C0ACBD6D437497CD
-12AC271F0A436D6DB4C034EB192B7519EA75CDCEE334C685630DA135D235D252
-8554C079DEE7A0A9315EEFABF52E2658BBB98764AC2D846E5B678CB5DEE55C12
-832B91A9AEBF21A6B52386EA8669B241B87C8B2ACBE0EE9D671DCE591BCB77F3
-B99F2A1EA693A51C23C96133F6F3C221A21FA278E829D8889863BF97B84EF4F7
-C87974F88137064E0CD13A19AF5814FFA8397935C9DBF73D719A19CB131F9970
-A33ECDF1A95E6E4E9F5C355504194445373E1C2CBB527F6F9649E75BE2A4D9E7
-9FFCE77B22AA3ECA90BC2602FDBD99D3015F6D8CCC32D2C92B67F44F15BB6334
-13628F7B6FC29A9424B594DEAA1F35E91FF468E8483399D311161E96BC619E87
-05D059260648C82A72D50A9CD996737CE1F708D4E64E7BF391AA9FDC6788D32F
-A5896C29DF108694D762B86A0317F5030CE7CCCA7900914E68BDC8E3B65163CC
-138638EF15430010D2D064F695C9871CE85062532DDF0342A4A142AB8F53DB29
-477670BFB212F2B5728BE7045DF33975747F2E8EACA18EA238E931746AE348F3
-2F56191E262D4C727D801F9D748322017EDE13C6641BC96F9531A07C24EEE493
-A9BF0BFA0576AC1252917B03D0DFEE69CAB3B45EA305309F6C7B0FC0DD478395
-CE7DE0E239AE26CED315B245FB43A4E0B0980DF99EFC386C38C8CBB946801696
-8525BF24D5DD6BC9E0A58575DE81CA6806FD91728EDF0055C79CA250E315EEC1
-7F4E6029CBAB65B4CF1A0FAE23175834624D758D92D1986465D011F179C9AC49
-72801FB1F4FE11EA3F4735539F5EE62703A2470A42CCF1191E2D16B35EEE3311
-976A0FAAACF690499767FFA0DB479791F9D23A3363D21EE42DA19A0BBAE457EE
-8D8394C03954EB52928D656A086AC0832D3B17C2B109C49396FC6D081EFF0D43
-918536A6A594DF197882362D60A583C7B6875FD4B7F0D5FC1FEFFC426B9A6006
-7527FAFF5CAD8AEBAAFB63D9BAFCD3095F51CB1D61BDB5691B4C8B460F4439EA
-85DF52D2AF81F21E1DCA27D14239573935FFCB7425C46ABBD9A2141AEFDFCD3C
-13BF24D742CCF065FAA68C921701CCED7ED546422FB51C0AB52CCFB26FA07F29
-559D66AF1DD079F79B2B9E66C6CE045D6FB050FFB5AE210A6F650C75EE0E0E5C
-A38958583A7653165719521EA2E74AA0A4DB89204CCA0C5DA66BD998EFD15FB1
-78EFF5A689295C2A4E1364FA886054D9F5BB6D5FBE6C7582DAAB15BB949132B1
-C6D12D3A73BDC458B53C20E3506DFDF88F8EA29635359A0AE8126693F52D6115
-8ABDF17B3DD384D4DD96D30CF7E5E15BB07D8B37A75ED323DAD1940A514AB656
-0CB9A58A7CF455BB471329904C755BC22F7F9062B7D1D2A92F40142ECBB1B13F
-5D22256A6926F942328833DB194992D29ECAEC96960CE6D37CE31BE3EEF67AEA
-464BBCC410CB04E5A931F07B9117032F35754D4EC76CEBD5B3AF22DD18106135
-28015B47047828D514FCE46C9879FAAC59E5D8D8B0707D25A33D1182E3DED240
-23863C0E37C9F3616333084E0DF239A9D16DED8B65324D289177E8500491D8AA
-DB72BA6B9E77330FC759D540C50DCA94F299A40B11CBA1D26293C1C063E4A952
-D1E1324F47CF6683E69F2D5ABD679FB8584D9FDFF40370FF9B3B67FAE5CBF690
-4CEE37BE738EC0A4AA8F08970EFF021948B2E220565B5A5BB3ACFF61C1936152
-6284207B07F808430ADC5DE466E3B002054F96412C642D864B3D9EC3F285C4D1
-9E28FA5C4F6D9562B13408D521A5D12940E17DA5FF811945FFAB9BE24C3AE43D
-477D2043F09663CEB51B84557E14678AFE0753CF8207A035E23A886A92AE7A8F
-DE380743DAA578549E919D0E323314F198FBABC0FCF90AC51DB3C1E5F77C2AF6
-F61D31080E0F9D14B2082086202742EE01EF601D4605670AC7DF3DDED9341C16
-27500151FAAF37C69EE45E41B6C0692BC287BF6188CD92E6C9AFA72A45275140
-42952A8004DB720AE2C739EEDD4062DA824049DEA9416A45D54B79572B315CF0
-F1F816F0B2C1B392252975CC405AAC76B9D5DC8EE8071D5415CA0828FDCB8BFB
-81D9BEC0C7EACD143E0E1A6185A0B2B990C7E163B793CBFBE9B09FF385B1DED0
-EDEC4C51C6D51E7A335459ABEA779C15A11F2DABE0D2EEFD1B6D73320ACB1FFB
-FCA750146B6E7386E2CE4C646E3FEA620538096F0850BAA1B7E33E84EAA5C3CB
-B27FF19C819AE93D9D42B2D9A1A2AE24B5EA9BF8FE80DE233842ED140C04CA25
-21EE490E8CFCA06CBB7CA1EC4FE063DB2B43D450384755DB93E8058594CB7E04
-0EAB7CC1B15A616312072A9EA5D381AE64755F5651F697467A3DBBB280B3F7D1
-F341B776C52FA49EB4E2F33019AB7207AC40938B4B02FCBE2EE1FBCB850C9FCF
-40E7E8AF25609FABF7DF498A75437FCA443EE152C955BF231982661F3988BE6B
-83E0423FA0F902FCC87D51C83B6492B4DBEC34D5E9120C21B1AF846AA2F22128
-19F08A4D5BB2380550496DC603DE21B4D4D87BD2135FDD613FB5E1FE029A8B85
-F806B299A15C4562A98537061D300B32E906DBF15FD058D48B24FA792BD32C5B
-23584BCAA1B313FD22983A1E31AC5E4E04EAC314DF784F44F5F86CC19DED18C9
-446CE2E6B104DF104C895452DA7630478A6441FE30908B3DE8D8081ACB5AB440
-C12C53FBA92D5F326D2477C57C88E3B05A0894CF2184CAC7A54D90C4372AB82E
-63BC057E474973EF7DFC997D270526E3EC4EC99560DE59DDAAE8B9A34DB48718
-EB59B4A9209CB029E8F4A2BC98BDC586C632F66434FE6F8F57600D4E19ECE69A
-17424D444ACB2FD9FE1AAAD75CA3B0FD20C1E0A61561EE45CE5839AD4EB354AE
-C73ACA1C075DAEB2932F48D2550A99B8612FAE97DE5AFCA4EBBA7E0E754BAB95
-BA7DFBE5CA4AAFBDA7ECBFEACC74E8F8ED14127E819CF36B69E5A36DB62D0E5C
-E23BF82C6CFC4DD5369DEEDD406ADEACB232DD8D383EFB23992C74C263CB16E3
-FC6EB5F9C73183AA9C9B80D0F9EB9BE81630C673E4597BE83ACD6DA8790B8760
-35941F0C307A702834A7D4A447948D6DBD76B8F1AAD544526F2A9CA8176C10E1
-B25964252DDCD3A0396BF68B841FC2117A0F1851664D735E8EDF5C7002A80608
-3E0EAD12A1F9F9933E06FFCCB623AB938CBA6D95C14B77E44EAA43B3A51FCE5B
-6002A1947211894CE963DADC3591C0AD0F7E3EEDD53B515F34B8B2B55612D2DB
-B15C3132B04C9A195F64F3FC84E6475971DCD271F040C16969DADD4843255E5D
-C283A45326EEE5DD7097992D4105B678D1D541293BF408CD651FEE2DBBD90B07
-DAE4B472CD0C2D04544E752B3B89715F7504D85DF0A7D9E5011887D536775885
-E5C001F8CF7497B85699B438B6BA7A1BA4F8B44F9C3240D1DC632ACEAE796FE2
-E2DEE67D6E811AF44806C290E89D5928B27DC8B2EABFACBE8148AAFDAA6FA849
-6B5DA58D09B6F7D3984FC1E30BA9E93EE28FD415AB4C0CA9324365AAFFEAA4BD
-CBED51450982149F892A78CEAB3B05CCB2CB6248B986F96D324124A6530056BC
-0CDE8577D236A6CF81BEFC80E3E1F200987146051E0A88C8022775C314E8FD79
-C3B78A6C26777B1FB8E4B39FFE306BBA9CCCDCF7CA2F5761AC8B199E8850A4C0
-F9332B03C1FAA82ABAF5042543473DD0FD9C8E50F5F0C702B4FC579F89E1AFE2
-901BFFB6AC3D5D62A88B49449CFB8FC5791848F06EA14AAD2D2B568DDEA9B3BD
-D9098158C3A78D7BAF7BD9793CDBE417BB4CC681427E26887D475E69F300D48A
-7F014F2DC6EFBA5BE1F043F38CB1ACC47D978DAB3F75CA66065EA4B38C0B5F70
-0A2F10F8D7182E86359731692793B7B7F0ACC39746B8D178CA9F195F1BD6E6A7
-0B7E2BD51B8CED733C21B747461AFB8BBB297DFDDE09B395D5C9E2C39285ED31
-68B61B1DEF2EE26D690201A2360F24438162BE2FF2444DEBAD90EA8A5269A65D
-51B3284B94C23FD4E9C75A824F52840B0A6545ABBE5FE43100D75089149A7E67
-893487CDDCDBC61BEA297414FF1BF0F7C51CC736865E591A5DE85B72C639225D
-DCEFC5A9FFAB3B549D40F04A0D1E55D53896DD53C8678B407AC5C2F4D552C096
-15147F08B057379AB9CC3CAE805F1C7AF38824CF161B58E703324118258DDD74
-B7F6554BE8A8B53D7291368859690E918B1F435C111C24493F9917A3FD0B7D1A
-E43A4ABDED0D4E490A9CB9922E19A1DD2FF8D35F4C24160BA8A1DC79A75F68B4
-FE95075A93E23050E043C07EAA1ECD8340481C3753F006FC6B6FD1CF18C96F02
-710805660225301188BE0C08D6375A897904292DB081D758C25DDC4A67FD776D
-61621ECB9B1F3952D101D6CEF0BF914B15991AD18BBAE220A33AF8E6B754ACAC
-A9E9EB73219E91BC9B69E3A7B03CB582F9CB73B678D8E87AEBA6377AD5AC4FB1
-9A6AC9778D2ACD077748B4024FA34632ADA3E089EE57AA26C09E783B3CCD1BD0
-947D117C71F8F3B8FD6C5B01EA9D0291C497E31683F4C5A43A44541B3C99FD72
-CBF870D532B08D9B1528D8E4E64C53C9C36AF2C44BF4244BC19CF94D1C5ED08E
-112623C1A0D5DEC7346B3BED3C95C9C714702577E031343E236869175728BC61
-F37F02EE0F2F0CA7C629D362DCE8452DA006564893BF579E872D52F786239EA1
-5CBA3F160FCBA142C8F104BE54DA85D93C9E7866B08E7F86A6DDC982B01FF333
-D0A9BE142E1907C46D7959C32FDD3E76434140709B1697ECA7B648C6869BBD58
-D1E706B270E5EBB42491635F553187405A4A971B9435275AE5D9DAB43F14FB16
-FC65CBB32389EED476FB63397A2FF5882C201F5F9CBFF0866B792FCC6F434D32
-02BA667D49F63853CFFBD52AC75845F37108FE61C89EE50CA3D4705D5527F964
-A599FA83B74E8998C9560C8A45D5251FDA6E5B35CD8254E1DFD634D62938FA8A
-D42ACFAEE72394BF294B9584EDAB703803BF52D157A0C71EDA7DB137DDA99F57
-F60754D0A8CBE0E3B59F0896276CE4EA6E245C4D21B8B1AA28FAD0188883257E
-94DAE91D890461297937D714728BCAEDD9212A276A2CFEB431CAB8D668442C88
-561F86BF4A6DA3CBC378E34F3A5F29CD260772D0544950EF165C9773A5C71523
-EEB4B0965C52B191AE01D58023BB2FDDF364445E0A8840DA8021119F869DDC93
-95CC8C211F8BADB4D30F3217B55FC9A434B8FC5407FCD3A65626AB055E4A0838
-61F2155914E667AC2EFDC3DF3ADAB3F2AD4C76127045B37E7336A0BDBE1056F0
-593697CAC9147CEEEFAF6E7A01814C6EE5ABB5E64CC0EEC0450D6D5349292EB1
-B65B187E63A4C2A2D90AF72F04FE8C0901C09C09C3582C4013454DA2E01EF704
-F31CB3F709103B983234AA02F7CB78E98EA31460925162786F6CF8B1E045B49B
-53484D7B20A5FAF845CB5A7926014B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMR9
-%!PS-AdobeFont-1.0: CMR9 003.002
-%%Title: CMR9
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup
-/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMR9 def
-/FontBBox {-39 -250 1036 750 }readonly def
-/UniqueID 5000792 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def
-/FullName (CMR9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 39 /quoteright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 87 /W put
-dup 88 /X put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340
-15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E
-ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4
-B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029
-85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C
-DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955
-F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D
-2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5
-B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7
-78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7
-E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3
-41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277
-B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072
-55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA
-700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9
-8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A
-F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4
-FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4
-3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15
-B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2
-AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013
-461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC
-CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85
-CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C
-4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F
-291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223
-D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181
-C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115
-D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9
-9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405
-2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380
-A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB
-2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E
-2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6
-AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577
-9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB
-B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67
-0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D
-9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B
-42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0
-C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35
-623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6
-B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4
-E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97
-CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D
-07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7
-53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350
-EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9
-52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88
-F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC
-D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3
-81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D
-B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6
-B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A
-31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF
-E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293
-846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733
-46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E
-44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08
-A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A
-BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5
-1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4
-D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344
-6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A
-E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E
-24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E
-75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D
-EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51
-C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0
-5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034
-099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281
-7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE
-53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84
-7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F
-7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C
-D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933
-CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD
-866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B
-B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826
-ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B
-B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64
-FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B
-40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643
-D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8
-2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787
-39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2
-1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4
-F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9
-253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B
-14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085
-6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E
-E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B
-9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E
-EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339
-FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F
-289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3
-A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5
-5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46
-5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652
-152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE
-67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3
-BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59
-3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88
-713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF
-2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5
-D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143
-6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB
-A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9
-F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95
-26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A
-C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970
-350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700
-70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5
-F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95
-F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8
-9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2
-DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473
-F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D
-064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF
-1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325
-A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E
-E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF
-01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C
-40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C
-72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645
-24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1
-EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775
-D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311
-83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483
-5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448
-1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69
-AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC
-4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3
-7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9
-65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063
-B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6
-FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6
-4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490
-8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6
-1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3
-10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B
-C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4
-8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A
-C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0
-7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F
-852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C
-3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997
-648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD
-855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE
-1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C
-1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0
-B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7
-D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99
-24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C
-552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733
-6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0
-800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8
-6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659
-E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4
-5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2
-00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F
-E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4
-82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7
-6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3
-128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D
-744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
-84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
-AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
-5D24AB1323A0BDCC0A8FCCAD408E091D37B62D3D1BF8537CFC619A78488DA0CF
-87FF97E3181A579D373539E8AFF22856FD03F4C387BA307983EDE87FE0F320FF
-41E45F60704B913C7381D84E98411045E4AC9FFDF8168FA2286D8C7EBF681EA8
-787E7960CFCAF502B7A3066310BE7A1159A02F1BF2C5C11A3A9A52E01DE3E108
-8ECF6C9F892370DE073A17C26D92487DC47818C92555B5FA22B8E2D726EBDC07
-7B0E0DBF8060AEAD5106824D748D9C085BAC95E031069395B41D5BB131FCDAFB
-5CB678DA317AA3082296487B40E1D4297E22905E096C47A26F4DF5975ED35156
-F33D505FE3ED168177598CA0CE444A03F66032BD7D1C1ACA0EF9FC36C4C9CE25
-C9B1F2420CF9A96365BAA62E2704F2C662090D58BB4E0B099DDB4EEBF8D05F97
-A5CBC658236F5E4D62BAEFB5996AB9E8EC4F4F9AC53FF17CC7A87BF1B8EC4626
-1C500327CCB89B0EB07A9F4903E0C5A5E7370D90B50C010286EB368B0503D038
-A2EF77A39178507E41DBE433DF19D3F69A70793D051F813CD263B5DA690579AC
-1789D2D4CA15488F73F1F01CA8FC188FA30CB08809D8228AAC5A10954A6E5471
-F8D84AF40CBD5C92F789EB1742E17D5EF1F7212D71A06BD7091360023093F101
-36EB44A8DE87A4A196B0140641000B445FD8F603A9A7F2C6F77EF6963811F7C9
-15649EE1D81DC3E988A7A797D76DB89758A73428D690AAC6CAF6E216CA40F8C6
-2E05352428D4C5BDF539C8E423815555A1051370EFB3A9606D3D58F46E7D0B97
-CCA0C589D0E36D25CE3938B059FB0E2C8361014B57098F96088C5C98E7AF24CF
-F8A8308EA440CD67106B94310E4C81D9D739DF88C655165C148CA55C7A1E2F7E
-A6F673ED5F34F1C1D20B609A152EDECFA26875C005B5D3394AFC2E2FC73EC0D8
-693A9561AD2C3F9B9E9C9325EA9497425941EC3A0CEF1A59E6669429B08600DA
-86C38D78CFA1AE7634B2C0423F951E647B2AE424776519ABCB28AB77F98AE76A
-2F70CC3FC78E82702743AB7022329C56ED8AE3BE873992E131DDC094E1E6E683
-D2545B0E6044A8F3626CD111A9C0940AD0A7D86CE7038A74907C8E9A28945C73
-CC08B2B5F0D608B7A4B741D9F35104F476DC5B7C9E09D0BA369B0502062B3ACA
-061ACE401105AAFAB82C4AA821E8523BC287BAFD83AFA05B719CBFD536B82B6D
-A6E549A9FF74858C3DCC717457691AD5BAB068DFD9AC47F9426F7148BB8FA709
-24316D211D3A0EA27C36EEA1E76C0BB1068594DC152E58825290920E6DDEA892
-BE5622E1C421994E1338424D82156895529BDDBF81ED48361530BFB2C763E138
-777FF1CA8846EF2343E735E9EB00E50971C1E7B50917CFD0E82E5F05D1F96031
-216DB9AC8A26B00280FE57F64038938E7E48429061C48B21F9B051F6147B984B
-193B34B606F5A5B8583654F891D0E7256870F71A8898783B772AFA05228231D0
-69EDB2E2ADF1F8CD734ABE140A34004817B886A717BAF0239A5B8A0874412F72
-C49ECA2EF65E34A8B9C3288D95EBA49A57783A51198028FF2CC674E022F6C6F9
-91F40145A7A1313A8C12793F71E79A58BEF6ED7DDD3CD527317F3063086D8B67
-46817FD31B267DD7B61DF90BED14A3164DA8B2883B0B2CA52A8B48F33D055173
-A804F2704D9367231B9B797CD55E7D512BF3D4EF1709BE4290C627E04330E3CB
-CA9D10AA2F41A42DC3089F2C51AFB51A3A0A5E68F99F61F05D7DE8ED84DEEA3F
-3F2A64C59AB48E9137F101552C270F6B5AE64868FC6AEE59C276C7DBDB0D7835
-9D58E3BAE73B32391C040298C4B93B8149ACCEBDB0D1D481F6C795004617D445
-4108A2BA61E53ADD1BCB8E528A1E982E5211458978B071E20C6A2FB7BFB3FBB1
-BCBDB5E18BE8CBDBBF8B28BC56E147DE26DE432ABC8F6CE4663CEEFC7E2B7232
-0948A931575B3F6D7C5C29F5E59914FD00CFA0B64E595CA37FF9328FCB3E5DFC
-1ECD5C2CED3A0113096F86466E0EBB27A3AE1D793090520DAFAB5A00545DAA99
-500D452137475078B1996A96CDB7C12ABE78F41CF4DB7207C66394AD669BB39A
-19492926069ECD6A5FFFB23654B0877618512E706301A7DDC2B76C42CECCB2A4
-0F5388B9759429AF631A262C6F5C1DFFE78F9FB4371E98D29FCF91F4CD7A9DB8
-5665151FB63CCEE8039BB28E82A7A73ACF6434AE97F67BDD7BDC6FC671A90D09
-2EF97519795B91C4AD666EBC36188457390B902BEC72BE9F0AFCB70EB75CCA91
-270C5367C18CCA4396C5D97BC3D1F1C93A6E82767543FEF3277C1DAB981944E0
-D8B3EB3AE74B1CE21F7C41C9A7FA5FAE2F6892FA7B8AA3866FB247E9FB015004
-48E74475596253F968537227DE9FF96147F79044A86E9046A57E21128FEB458B
-194E8E4C3ABF558D1178D2FAF63B1F44F15600E01692752C2AFFFB88B95C23A4
-2A3FD624778B37C56CE88C2F005A4561679F7EF91967AF1B2F900F8EEE4A8264
-2D30067D42CE88A5A5C7792D88715A4CEBF3B85D6028CFB8B7018F52A695C63D
-B1DC68D73C592D5283541004E877FDE4E81E152F9E171201E9A88EEC6659BE7B
-6A7F9255F6988FCDE5BDE0F31DD4D282C8743CBF831B9C2C1A703BB9A4B1791F
-7E680BE9FED244D0DF33D24B535BA45145CB9D760D603DD269E8C049EDE168CF
-539C729CF86A23750F8B09959C77350AE33E5DB69E8A53B8777BDC1E4BE06A8B
-8F4629742053C333643EAAF492A7C00354F81B131CB81B379D8FF88201D25DAB
-530341925F14267F61CE0E68632E090207695319FA5AA0878E49597D6738BAB2
-DF3A56898655772A5556F9DBEDB7C93533B3C2279001A48EE229E94A864671DF
-2AE8B4BD90A9E4392A01B8D3D76B5883613ACF6F527C10C47CC38A4A413231F7
-20FD2EA9A38CE5BC9C148B3C94E2D9832DACA6E6478972DA8FCE275D1EF7434B
-E7A89C5A762A216D1B1B436334C94B6EFAC7C3A0AE6C5E61025927524CCDD698
-FE851712EE72BD6DCF19E80F3CB2E5709EFA9A8AC8FE9E72952A3477775E5AA4
-6F9236F411724807B43621A40F3F9F398A48B1DC37C89A7BC2BB2FE8CDFFFF87
-543E002F539616A994F5C9391887C89F1CA5E562DD1BDC67873F3AB0EC4064D4
-5345416F4B1A369B016AD889C4DF3B17434C04694D39E05F5E2A065E47056E06
-46B9902581982562BA577DD1AB2C8DF789290DC603D0D643ACD7BB349FD4FAD3
-87D7E5991FFFEE550C520E504FB024D02CCF6E9740576B9DB43647BC9D91DAA0
-926D16D5A9EC52435744503A563F06AE339DF6E6441D74A245732D8215878D92
-C3CA6E6F1E259FEC912B721D85338F90F43F01F216E2009FFE57F62317258585
-92DC75A95F78DD51C0382B48E25BD93190E51E5CDD27FE3107B0914B9E996CBF
-597BFC5B935DD7D4413A40B60F1A1A5A6F8B0D962EC98F793C6EB93D7901AD7C
-A9E537F23016238555E8228801BD3524141DBF1F9EA47BD1DB3727AF9BF17B8A
-508C3009662E2D20420C7A6DAEC54F05214F9AFE0E170A07F821B9C14A3B606B
-F2BF8BD370B7803421B5B7EEA030BC8F7627D26DE058C0677079BB64EEBCB911
-EF57E2F7190842A1F01C58A5D9264DB42A21AF20C16A9830788440E1926D8042
-8B69FC257330633D041A270F49089DA16EE3D1E9CBA0AC228DD7AD384E6558D5
-A4E283621C8A28286D14AFC126A184209C4CD7606CDBD9CAB352585EC22A7A6E
-8D5849DB210ECCC58E043413DB8FD3F354912A400A1A972458C1965BF8BED449
-002DF6C6A89F675B8F8FF4E2B841AE3F263FEE88285B8B373C11F8DA5ABAF93A
-EA1A2B5FA0D028CA2F88D17430F9974C882252C1E7F27958B9363FA6A2DA0D3E
-CE09A39652060A8BC1BC2190C49188C1A6DC323069C232451D1A95FCABF01ABD
-72674082FB4F0D7BB7CE53156A46C7AC7F01320D777EA1EBFEE780E040423DDC
-EBD27C9860BE334D2229F2C8B09F0CD18F0A0BF033859C66C2CE3105F06013F2
-DB2173850DB823FB7F3979DF4147B329DEC8C9EC8B063AEDBEFBF41EEB9B5565
-E90DE4B2DDA3D51D9484C03FA8731987A2B9D9189E8C9105B9325C899ABBA6E3
-D46043BD135FB1807D66D69DED4DA0CA5AFD2D732F8EF17F21DC429D3BB5E105
-5376F2C19524650D0EE7C7B38A228434070BF82CE461097EE436CD8295AD890E
-3F6D6BD351901BA0004015725527988EC75B06F20A37D520B2921021E8C0183F
-DDF12BECBB7FB640A592A8E7AC4F42E14B5D281C3E1E958FF9D6170C83C89591
-A90D8C3CEBB14BF119A4954F626B225EE36D9DE7E0F4EFCEA30771E0935F164C
-48FE03884428C4FCE87AB96322F74DDC6AB8F444AF89B625C372B9216F6F9DB2
-BF889D75275CD02BDFE481CE6E2C12376C987EEB9695459D42CE4F6AF59D3668
-1AA6A43DC0B8A8C17D6CBD10CDD64640DBE1ED20DAFC5A1C4566A4D241B6F6B2
-B57B012BC0E83EC563990F4C2A5101CD6704F132A0E4E4756D5576B20317C441
-5A7990FB1B77404C1254B187D4AA02F959E8B88F3B9B01ACBCE153E5D11C3843
-2AF90E8CBB20221A3DE14D6E8494072C7F5E3C49247AABCA001FA7DA6118032F
-BF76661C1E4A47828A80636F7E6F91E751395442177EA0EBC1EADF9678E32301
-A26979BA38449572155C33DB42AFE6BDF6F98C1F92EE10F25700A192EC12EA2C
-F09F1AF20E640577E73EF73D0A32E0E59B9B4C64DD0347F0B6BFFB58BDAB5AD8
-59770FA18C3F2E84AE62387160BDDE90786435D435910631633C15433BD8C3D3
-656660E62916FCD625B7569744122209FF10C12C745A5B51A771314D66F89F74
-FDEF6BE8FC9198F9C19C3FBAED296E4986B5E9ED11CEF5F968F9E1D8B79E4CE4
-04886808E91411CC444A5612CC7D6A206CABB17DB865D4A3B0F63FF6FB78126D
-3C0BFC32DD3D6469F8663207EE06DB544357F5F195ECCB1C8E4ADBE0980C586E
-082966D038B9030E8F5046A2568942D22B33CBA8723481F47BFB68D94A5A0C77
-9FFBDD083C0EB5EFD9D00FC3A9AEA49E1C01384D3585536BD89DA690268B5546
-54F24D080A916CD5CB5CA277633A0970B205DD6523FA72A4FAD7DEF6A1B1147E
-78BD062EC737AD4D738681200FBE446B5AB4A032AADD1EDF211DB2B4722812BB
-6DB9AA5CA0B83055DC576846D526AEF8C7E481B7726611012CD47676E8C38990
-0B6D6F195B94F8BD002F0C7B2420A838A51A1E428765EA31DE32603DA4255A17
-60475CAD33FC79DA8D973E79A769AC76464C4E38A020969695B2C20B4B9C31CD
-35EDD94A698E9EE9B9EF83060B9EB9BC42D586C6100EDA02FFCA76CB5B8C51A7
-1EA1EFD5FE0C54CD0F24883779644A3C942BB04763C4C9B3B16BE077741AA7D2
-42B8D425C749A6DE08861D3523E411B99CF670B8DC108D731FBD4C7929725B26
-6B716D2B0FA1B4BF06BA9251C3FBD6DCC019B8729F2FD2871BBE7B70D7AC8F4D
-616B644A322F063C606716A8F65C1620D964826AB0D071D2262DD1A5A1F159B0
-00A721CB400D95F63C12E9FBA2F567B63DBBCE47008DCB293A4AE746C916A9D2
-9C0912801BE2767AF023A39F822F2C9362414E03C67EA05B0016156E48C8B426
-D4D8A97B1EC4C53032AB0692871D304508027BBADCF9AB64EA09DB71CCB50554
-758BDED49B3619C117A45CBF6DD94991110C153C5EE2F6A45747000DB6E8574E
-6695C67F0D7786E428318B8601BCC41E8A55B9C84D27D781550218043DDD0454
-FF6CE4FEACB37D474359DA4C877403429DA8AE3C43A73709C22E067E3164F54F
-E4BC345AC6DE1ED1B6B63BCD9229CAD7358A8A4CB183DC8CE6BA6EEFB35D084D
-0B2EE594AC327201B54F65C23BFCEE042E74D58121534F51EE6E134798FDEC51
-1C360EBC415A3A9B9259948CC516E398C25DFADBA43DFCB1A1839986A2B75049
-63DECF8C97530ACF8CB05119A7796CA215AF4A83E5C5C4C950D6C5CEDE810969
-43381E08118F22327AF39A6AAA84F591174BE943A27B6EFCED3F188EADDF55E9
-C6A3E1257112FEBF6E5F503C89DDA360FF877D607A6AC219A7C623B448A7D944
-415E61A47EF919D55F11A20776B323061C67102203E6C6A59C9A8189B1ED8EB7
-97A813AD7BF8C56DE4F2DC98119C1116975974AAEE8A7E1B43265201F10B76EB
-319D926AAEEA3AF9F175BA2A40F9099228875A9D4C7E97A861A16EBF75144725
-2F7022778D2EF28FBCCD473C8A510F10A619C3A59EA4FD487BE926C6779BA20C
-9145050F262D487A0CF69836032F10D1D79BD2AD76B3F9F965205DB56F6D96CB
-E6DB338AAC7A4383BF8BFC4A7F7612CF5E7B87AB9D4EC67CA202F329782C78ED
-7C0F58150BD216209890529F740D29B83C3AD9DB41237487EA328592C124AD59
-DE409C06985A9E256DF18B8B74AD60740B92FC446A2CA4242E10D6CD4845832D
-2E52E92B02CD46C69B55B7730CB973005F272F0454C2E287087B0DAAC14489B1
-BAB6069F31830D65FE1A948BB30D930C146FB64C234484DA889055D49E9F8B33
-4C3082AFE1E2074BFF72A0EC80B6CAE5E71FDA2565339EB96E6A51C18E0B7CF7
-A2DCAF765251C17D932662D95FE44641CE5585E468757D0F7220C45AD45ED13C
-C44DA66C6480FF5E1F59647DE8821DBC0190EB70EA7335BA3753802236EC9607
-8BBFE119BA80BD4FA8EE9E152AE434F7E7DB1DD828FBEE40823E435902A8D138
-3D891A320B17719ED023BC6A5515492B7B04D017158A8726CD4315E0EB207CAA
-1C2C81ED388D2F853F22F870E9D63654770C0EB7E16E1EC4E5C8661152B1D282
-AA292416FF98E95152E8D4F9665CBA7493958DEEB4F35B17D14A21A45C87EF8C
-AAFA6329866ECAC0C31940022B7C7BC4CB89F6B76CFFA2F864B69324188ECF7D
-441D1D754FCF1A520C4F9CB46A6B46BE0403EF9FB9CFFC7FB3117B4CE57786E1
-3FD192482B87B4A248FFE1D2947353648C62BC47A82FDEC77C0B4597A6ABDD5B
-39DB2D2AF00B6CB6ACB4E7832FD565134C87D3ED5655D3D0A5FE5C9C09379D29
-E2C7AFFAA26F35BDF22FB7DC407C6C47ED4B5B9E0D157C7C104B2AE495E2C1F5
-3D74C790D190F9A8E3E9E6A2CB271288B963CF500364E36715AD39783950805C
-93FA367571C1E2D5520E0A0E3EFD5005D2871DB2BF4F47A535F1818C6BD5AFB6
-F54EA0039F95B4C609D3A3C097713A38868B6574B0CB7782FB069AA69C732BA9
-245DF75775D6250F79A092E0C2012B518C79D38778D3E213AB9BE93BEFD774EA
-63544ABFBA971F16AF6C14D9C52D371AAD8569230BC37E7EE6FA0FD458B4305B
-A52993BAA6AB2AE208DF3FC1875FD0B34315F6DC75B88EF009A419F728A38519
-63D1C7DFD8567DC63F62935F594F88BEDAD3922DD5424C168832F28A0F5A6C7D
-C8342E582049B7EB2505CA31CE87A6C347FFA74F8CD92E5F02A0E5ADF072FEED
-85A0D2C5330E61E340EF83F767C63F3BE5C37692143134A753A37C471E90CEA5
-D9EF9E3B8B0B75BE556C0E6F205415C83F3223ADCB0B534F480634B6B119F589
-87708D6C604D952A879B9AC69A83A09590A2D760BC54AE561FF1F904B4844399
-D374F08E13DADE5BF241558E43BAB7F646D8987F0DDAADD743E1932DE01B9BAE
-0D7AE91D113A0995FD3C4603EE4A8B10DD708D65E33E6B40004D37E0E2E14C5A
-C3799BC51EFC3E0CAD8B3FDAC906881B44FE63E0DFCE94F4AEEFA7AE094FF4D2
-42102DC429484AC6579F2046F0964B543CC07E81E1B0ED408E06BBE133099F24
-974AF29D5161CC065CC8816EF055E90B1616C16CB3A7C995D1CEAFAE11632826
-C24685D17A70D152AE9734A9965C470E20F679A073F959433F8CE3104AB0B3B7
-F1025BCA8C5CCBFFB83BEAB17C2D67CAD6340F59B5B9536609AFD44D79A7FFDA
-57929ECC164363EF8CF51F88BC0748E0281C17170511789139B80DF8B3DA0282
-6BA0705C4B764667AE9C9FA63BE71D1257493E55AEB4BD8756FA0A44439B3C8E
-FAA06172E526A4F04E37A3C04FFA996D483C51E79F43A6CEC0C1B16886B66542
-1A332CE6E6D89B36589D5502AABAFA40EFF5C4DABF178DAFDB9954CB5509BA7F
-D7AF145DD905BB6F525411CD04F95B6B926B8021DD2F5917C5A9DC1639B76D3F
-BC9214BAFED58A5F124449AA0C21C14BE650061CEF1D65A116F276C5AC48357E
-9D19942684ED38CD61EB800655341E52D6E11FD00743FEDE2CA5FC499AF5E473
-4AD200F3B5DEACEC0BFF991154F8B465BAD8D9CF6DB3AA15939ABFD71CB487B6
-3F2B92F1061F0A1E36694DA35A10E935BEF6212A988906A2562E20ED442839D9
-BC468BCD1D16C924B4BA175734549E601EE7A8CD6AF8EB3801FDAF844C97AC5B
-0AF213D176A6724E478EFC482C1742B4EE006D79236E2CB5CBBAB7DD3137A0CE
-595241BCB90C086318AF9A7D5B7E5A9E6773D0E25F90275BC5666DB0D9D5FAFA
-0401EF29A8B098EDDE6963B9986ED3307F91B3CFCB1BD832FAA14B245FFCA444
-CAB9FAAE8D07C30FAC211A281874F185A80C98495510B8083D831C099E553FE9
-155C2CA5CED5F36953CD63122AF1674742BDD73A18BA7F9C91F4572C5DB96154
-EDC3F49AC9EF36A2E2821A6951537FDAF333476FFA4DEE65D1E32C1759A14CE3
-B2F05355E4C01F1836A438B6CF57B9A74CDF6C0E4A82EC17DC1C3C6ACDB24CDC
-70B159F2C83CC3D8A519DDFDD7FCBBCA712BE6C8645C77583AC4F2EF4A8BE053
-097ED265E7038D0A21D895FA2FFED6BCB554A425137B0BB7B6AD8195784D530B
-A9FA9900D368C3C6B225F261259B86B36C523A2FFA7E91CBFBD226005C44FA60
-5777C49E4B4F06A3D9136A3C834AEE0034825208F5F5DB1F7D046ECF0EAC00ED
-E706780E789241308E3F7423B8232369BAF20F4D9432BDB18863BF4AA61E22CA
-77FE2CC260949C0130FD656958C8AD82769DA1A6DEE0E8D50AFC5097FC2B9AA9
-88C932817F7DD2AB6F0011564A06CDDB099A306AE17CDF3A5472ED102E3F2178
-B23AF6EDDF390A97E6A1C4278B672B6E80DB0655103EC6DAB53637C7C6E642AB
-405D1C04DCC6D7479A34E1B75657B4D0462B5AB8C33A3EAFD513502919B31153
-9E903E688EF8B84DD3A067EB10B821BA5D16BEC6CD45266FA0CF22B7DAD22B14
-543195E23F5925E34A0C558459401050D92DD22D77D9BD1234205A958E261748
-66D39BBAAE7BBAF62F87A99E790D87BD91B7AF9B6038ABE52748EDB776AFFAEC
-4E3DFA2DBFF2A1AFA4DB0457FB5E1D72BC534EAC1F98BFDB73089FB1AD4A1191
-FD1E9D4CE6192B7911551D8777E9BE9AF2345BC54992743E5323F2204157595F
-BA8D738728C177F12BEE767FBBB079092A19661F68F4C283EBE264CA1BD128A3
-3F22A54508AEE46B65058CAE98458D28CE163B9C0B1C899298122E98A424E216
-7F7BDD45A97A020221F99BD4F97A0AD0883D4AB60403AA1E683D358181022FB5
-48465B82DB0E713A409BA8C2DF5B71F9AA79079D5C46BB9165CAFEC6A1FE4DE8
-E0377765774075E65522351037E6BDC55F3E05D4525BF2F1FE9CCBBA30D1B68A
-FC06536C6E2BF2A4D96B438340E2CB6900402D9ED59EDFDBAE3B29649610A349
-8E4C4CBF6CA12A8EB245494A1EA5DE3AB566FFD26542C15BBDA47A36C9E5B298
-41368B797815B77023DB8BA961C4208ED6ADCB475CF3B14BD2429B9A125A6E59
-7507E97901279CD74D7430BD45A2900806B37EDE2C2A082793EBCA37174EC0E1
-C944AA6B493F8DE445ECCF2E0F7BBCD9E9B6AAF63DB36034030092FFF195C42C
-CB618D28BA546E24FF73DB915C2CBD47B7C2064BE1D9CC276032918A7BB1A5D0
-A1BDD93213C71FD022142E04DB5EC2F41043FDCA2018A7492973B9C98089D9A4
-BB89016755FEAFB2975112C4054CC115A1365201B35D90A6F6D081D1A38F2BF8
-FB85C2FBBCEB9C35737B31007AEB9248D3669053108C00E156400794707736D3
-73B3B7597A54F3786613B84321B8DA03E9BD7E9A35BCA3738820B8927E6AFB05
-1F79E0BCF8B475A9BA17F74166A213981434CE4052389219DA5E5346A296E71C
-809FA687FE1FA0A1A4419AB5293B1A4571AFBA46CA7CE5FB981D97ADC10C4D11
-45FFFF864F663B0C6B3BACC5C7724E8FD1B40C126C6DFC2D394291F03F670CCF
-C9E1BF44CFA3DDDB545FF2D943EA3CDE776535741CDFA694CDF9A3D7F33E432E
-23173D18FD65B6AD6392200257F2B8B9381C3C89207A66579716D1C1185C6492
-D3E8DC3119E819A40DFD117453C8D8D98295AC9C7A0B3F2F2944CC9E6B2EC1AC
-8E6827E80B69C5E881D8CD2AA6A4ABE11B958E5147CD646223EF5D5CA524201D
-3294B2A79A9981B900B94DD442117D21485D4706CD114FB5DE0DF0EDCBECDF19
-41494B3A56FC1E7ACCCBD34714DE2F60FC8A9B18C1BB837524F3CC1407E076BE
-63A1224A25A49414818F82D2884CBE891FC2BB9B22C90FAD614A3F25DCC950B0
-8FA22C9466C52D0CB80789E3762D6CF9ED0D15B7CFEE3AFD9B3BECB5E349D530
-08B1758E4006DE89F35D2C5A3FC450FF2A0A1FAAD14FD5A6D3C73E4EB5D5FFA8
-5407F87174CAE265D681F4F27C913CBE95768F09BCFAFBE3B0466459A039D6BB
-9BDD1A7871D5C343E6998F8098FFA1F85DE7DFDA01B5D1866BB2348D7DB9D83C
-09E13F7EA27BF6472C1401D27D7EF0F344F6255BCAE49FCF1BD54A31B6836162
-301B59435E4915F3462C79D1FB94C632FF8CE567191E3A281075E30CFF912107
-56A8651ABD90775495E49376C03DD37139ED09A3D77A671381695D8A12AA8C9A
-77DD3D64C373590792DFF7FF3CED3A78C48A3F73AD6C310930871E52E05F5B72
-331821D0E88C190508207B94AECC3BD74C0DD560750CA720D7B0B07D691DAE40
-5A6F866C001F2DC608C24786830A3DDCD02F02938147FC8BF5F849B5B591BD4E
-5CECACE55ED5CF9A73CD1DFCD7AA82E0B500BCDCDCB677E1286AFAC7AC73C42E
-926B9A3EAA0C636D70963896F491CC74749AA1E5EB9E894236FAB9B490FEB386
-E2E9AB5EB491AC0C48D82D08B3C1827AE1849A99D5707A2E7C150283FDE31C48
-BF614B8334775C9F3D186E0F554DFDA9E240774081A9B7E892FE894D2E2CD135
-B947718B81AF7874FE2DCA91E95BAFE76DAC27BB21DEAC7327B91428D1F5F045
-FA2FCBC3A7618436C3FDD8A0C38CC374638E06AF705741F3BEF782AB42428030
-C0121263A1EF15A461944D64FA8295BD1804B4AE54EFDC87C2C50E559C6D83F2
-8D3B5A9598A40A452D9EF6DDBAB67D3B346FBCC2307713A7C30F501AACF83565
-425DDF915954D2B564AF114A986B70F83BC4E93927072B241CF1D91CCE0949C5
-5B1F4B7C7132AB5D08D8CE9A97541A7F1C10CC5D4127EF86A56AA12FA32A0A3E
-1ACD7F80E6F1C489F50AC0EE2168977ED64C49E3C38CF3E13B708F577F542231
-10AEE67D6E0F4068D4D1F92FFDC61F47C4CDB09A6A820FBB62412F2B8FECB562
-E4E62A9A54EE76066C397FAAA8600F9FC232FFF8AB2FB9410F30209F976D2191
-6412EBA9B22D1CD263D877086A797443EFA2C1522C2801BAE765F4E01A91F911
-1E29E64E8C636A0B571652B5BE4E42A9E2D446150183A0AE8B3822FA5C8580FC
-039D390602F780DBB79AF3568C74A86BFE3B1E4A28A00BBB93113A2197614DD0
-C5B31CDDFDEC03C4D1E02A8ACB06499EB1A0DF6AC4FEBB73442E7E1AF84D4CB2
-F205798EB0295BB3566E51FB458A785F4C2537DFC8DBE81C83EF1200012E0CCD
-6E049305F271B2F7434899D11EA9C426A39661AA1B5F0861367DA0C02D1526DA
-505C696886820D032D68A2AAD83675BEF74D37A7E261C4579842F2FA4108C6AD
-6D8139840572130496838F4B67E876C05F559BA1D4ACE7170640ABAF4F6B435D
-C450C631EEAF8A2EFE266A01DA0CBF59BF715842775DE350C53D52121B4902ED
-4ABC1C6823FF26E472BCA9D3B26F3A8FD30314D38C260789C911351A9E6DF636
-DCA8259895B7421871479FA2AF27DE8A4C7EAD454275706266E620FB19508123
-9D970760251C8AE57029AEA2F8750B4A18689AD6C7AEBD1E615897B34515DD07
-3C2B0757EF38A5B46CD2E43273713E812654273AC3CED58EFF6BB2078D62983E
-8F48CDC5DF7EAD2B6FE6C001AA6F5CB251B4D20AC5E069296CA9EB275A815721
-31EEF47153074128EAAAEFADC2676F7251B6A3AF6448573251000E28DE6C8221
-EDF4030AC95D5D1F0BD940E13F3A13E4DC51286C2B1D8AFF3CE1C9C701066CBC
-1CE0CB96E34D617D0DF866389D03EB013FC5B3B0F01690AB5297F744B6E96476
-73B4952B0D5604980DC993E4A29CE8435B3963906AD786A5902CC18A4E74F3EE
-74589BC150843653CA397EA1318FCBBF76E8633D588B475926141A542F2B3643
-17466DED4A2C921010D92182BF36E33D367DD4C3CC5471366BE754D14924B8EE
-3F9A4A4FF85EB52A400F18B27A789AB3913CF09B24C5AF0C1D70BCFBFC8D11C0
-B02EDA3A368BD89A330A2726738177867624FE31A1030AB5C0BC028FBCA17C9E
-B5ACA171E05F5F8C10AC1BFEDE50324A3F3E1D118DB0457CA99E904696CA0DD8
-D5CAA78D67D98C567796E14857E1181660E7EC92610481AC9DA74914F2D9E6AB
-EEC3ED4AAA521E239B56525903FDF7B1FAE3EC587845A72ABEC4FFA02D16A21D
-F6D51D5ED62C2884D8F2EDB3C7D0A237530A06DC2723E54F4458121B7FCE0403
-0DD890BC31BF1490FBB711B0FF3CEA9E6C6751508547A19258FA75F928D0FB46
-1AE7A6FBA515A21CEE095D9B44F0B7FD0575D0B5A4978E9D59D9A8D6F8FC8AD1
-2B6C12CDA6BBAFC54EAE71062D6F74F4044D3B1837D55124C400CDBF7319E6F8
-BEC9AE767C533B79126763046E3DF6FF720B146D5E8DCFCC45D430EE4D729139
-87BD70B28A05D45DF3B94720DA054B775F275B1B3C17EB0E1F2B1C98C96E6DD7
-46A04E17C460FAAD710BE3CF810BBCBFB1589702B1B92C6DF78B703612CE6079
-0C200196AA16A54B7F15A65A1A4658D1248E6D815ACF5CAA8E645481D1707D5A
-C2BB9A9DA12FC8734BCD8739BEFD53823FD413FCF3BEDBBC53CD8EB601CE05B5
-54E25DFBF1867AB662915F39D1A26520C742DDFB2196E7F147E1E08A4AFE3A4B
-30D6A02DAD7628F432D8801B73B3DC3C3AE3B70BA2EB2370F606056799CB2DAA
-CA6280A31731EDAAAF92970438CEC515E0DBBD8EBF163E58651D2D017DAD5470
-3E21C060BCC7589579DF72F4AF10028E8C5E5B908AC6261A8D8E73E94D230ABC
-AC1E5D0C49B3781A85E047A86C7EEDE7A97991DA25F8F6ADA242D5C84B1E6A94
-67EB1B0902726E2753E5EE29D8B3C30BB924DF363C4E00D6ADC18DFFA35B08C4
-F83240EA1515CBA31B4A01CA17E1DCCEBCA0B16FE5FAAB58A48174C19CD7A8E4
-E312C485EDBAFB5015A7228E657234A9AE42A60F99E183561679C93A799C5F06
-584729B8BD882FB0658468DF16A03910670056AC1794552D91F0A17E906397F2
-1C612F9FBF2EB19D992EC29C3E11863133C3402700E4F6522AC98C552091DFCA
-2060DF6E2566760375050F33E9D2A22583B90FDFD175A503B5E656D959E37CA1
-F699E8250642E37C3115D19D6FC467A809CFE06ED9E2455311AB787E08E7F20E
-A6930F912BC36E83DC0F2283CDDF82BC92B1CE7C31C9DBFCDED8DBC1AF27CCFB
-5679B34D22A4F1D4727AD43F92B274920AAD50646F514B0E2ADB99F2A0CDE100
-1C3459B5106B150BFC4568F56919B91E8739520316053056768ED8C28E783556
-8229CF175FE29F72AC14114CF5D93F6C57A14F4C65FDDA148CA7CA93A895E9BF
-6A09CB837C31F153F9EDD86AF88B0F4BBEFB9242EACF441E092388EAD66F3278
-064D2BAF9298E206CD48AB6DE605CF6E936BD73F6141A8B4E4884A1BA2B819D6
-9BDCA4EBB2BB215862EB665D539AC05C2A83D153C896E915139293672727AAC4
-D62C801A1E3284B65571B08B581781BF273DD768FCB17F2AAA232D968EC19D45
-6CE948CD0CCCC08F17A110B7FCD5755D9B431B064BDA103DC94FB5C698437DD0
-5E31EE2D252296710825294A71EB04C58A21496382B45CF6BFFC55B6276C97E6
-C5D7F17D962490AF81340626DD22F7B883642FD614C9C39C263A5A4CB36B1EC5
-0C7E57499421A7C731A05A05851A2E40B3E5A1642164F9FFD46F74E9530057B9
-49E2E4117394344CA7628A08751261671634230F9E082F71B2B8C4573B2F185C
-EBA617A5A789BDD683A26BA33B584AC029A4047457D560247C4EAE9DE389B383
-6F41A3FFD62C984FDCBBD404E4F93B4AD9FE2AD07526ECF0163BE05A6F30EA97
-307EC94575414CBCBD0B579DC18E0655F85FF0383227D602ADAA59EB56AD5DC7
-318F1D2B4493A8CBBD3D41F037F006AEAB382C75DFB50D0A2CAEC469D4E3CCDC
-84F42CA82A973DFD1C277EB8B5EA53AAD23860FA8C0CBCBB6698606801E0310B
-B6CA330B0C752E25E102C232E538FF160AF8633133DA7EC4222F4026C952057C
-01B950D58628F541ADB9DED497EF9CAE6319F3A1BCFDA464AF0D049E7C13EAFE
-A35EA5EAF44A2311AF291B670A658232C7C66B3DB632C1706208B0CAC36ABBFB
-FBE8AB0D6964C735F1EE1447F594DE31351BCD98C822F48B4A07E1CB62484BBC
-2DB4EDF3099126E90E7770F7DCC6E0344620D3F7364972398D73016879C1CA4E
-377DD28CCBB7AF8F2548B37446979146D001903D0E575D9187694ED0CD46431C
-3B08B93B581E1D14F6FAB37703B13AB93B0F384D496FAFDF5B8F8D58F8ED54A3
-09044EF9455B227DD0CFF8271D075525562C58F035F9214E76CF83BCD3A5E9BC
-5B6C6713D5633C5604C04518B6119A50A0C8841C679D49EC675278C50760A43D
-89B9CA3000F9195A7570E96B3B5344FAA4DCE47794458DC4788F1C9A322871B7
-1618FFAF13E1270B9CC49D6C8EE2BC6B27FA114969E5715DC0F06BCAEEFE5041
-9DD9DF85098A8CF1CCE9790068FFF31F9259FC94D250508DF5806425E3862A9C
-004E762B1884885D8846E92AC77FC1643D67CF4C3E8F0712FB876BEF144D8C48
-B7F731BC9DD1678AA0B99D57EB84ABE91E4458D0045AEE739CDF6E7F276793A0
-EE1C8A25CF08A787A3C33E1F2C6C54406335BFD852C4667E305EF796DF691873
-FEE9933948D71268866DBA53973061966C98DB1738EB6AF514AB437708A4ADB3
-6650B0EF2784D1356EC4BCAB419D870A65C8C76B47EA5D9313F57B18BE475516
-5D88C82FF2B9CB84CECD725D9C45237952389A24ACF8584C9695B84D6705A163
-B00FC442C65B4CC6CC79EC654377C87100286522580F2A45FD5F595B83322969
-5F90906C9D34056FA4CC7F128D288E8D6A63812F67506FD9289F5C09A4E50BC4
-847EB431EACFE122D3CA10F76AFEC873D4BE61AC5BEAFD4F012E5F6BEFED5B2B
-FEDF4CEFCB3F09C6E34D0EC3ED3971B35117B7F84058F51A1E478ED895440D29
-88535AE88827F6F6469A6AB088FEAD5C887BB5986B95E39FE6E2E01FC7E3B80B
-892D353821CACA2B86DF53EFB85ED96AFA7F28411CDB2AC597C57925F67A32AB
-BDF33CCC1D2A319EF9D267513DAE25CFBB30C97B4D72A191192A9748BDC4B0D5
-08F929C62BE60D2B8FCFF339C0D12472D1D1AA7F4C67E59B58C6D9BAD0C53621
-8564F2945C1B80C57437A756F40B54AC20D61B3DEBA4975B795D242E1D32CD8F
-C7C446C04E47326C66695398A7900574A0C9A933018E547BD41C08390E55374A
-E2A526B7A36EF69804613423994CEDD730DA3E7DDB11DE861DE2C55AD18B8FA4
-3DF91FE11648F8E11EFA022953AC78C6DE6EC953FF3E9D6C56D70FFFB8A1EECA
-A9624F970C132C4338CB93F26941C0AC3FEFDC903CC3FF19EBAB992D7465F10E
-44B51FD31325CAD0BBD5AC70E02F1568F499247CCB21FDEEA0A72F5B08C405A0
-C1772C8B2CD8541D4066FFB81ED265061BE85E4C47FE9D77AC501F0085215EE8
-71D441E9126E1F576B6D87003B4983CE57500401ED20AB1D7191820BAB5BBD6D
-DE495CFA488B277FD842A15D9849962043D669A6BC2FC4260F1AF6AA7AD8DA62
-2345F51B73073727A61AD3B7DB9F1AEDFAD985607455C6C434A63B2754A2D8EF
-6CBC7B3EAFD6EADF9F7B183019D7C9E0D67B134C23AA9A4E680D03FB08092DE2
-AA2318DF3A9B64B8E8DE1B9A2D497BEE259A7F892DBB8788D7392B676512537A
-19BC19753D7A202CE365C4BA4E1D228B1544ABBE5D924C07B6123F25D2E5978D
-91D771BEBFD9949C5AFEBFB8A3DDB9155D37B05DC1E0E31D2663D6A16CE5DB0A
-1C87B8D9A8EE291B5D0AA96295929CD4D6BF0E88C890EDBA753748A1F7879901
-819E4BA68D5B264E792B8E6F11D95A09837D153248E7B05F887FA083FA89780E
-1F54D0C6782E496DD13C74812CBB1B76557EA4C094C6304466AE8DCBDEF65606
-E15A5D5D50FFA05B7F612176C16F965994ECC62382D92B949A2A1C11DA8A198B
-C6012869500260B87AC5B8F90C86F2E59B26D82FE850B2C5F75A39887840927B
-1DAC4D69D3542AA43722748E2E6E645BA23A775C5E7A3E76D323CAD2FFC455B4
-4E236C7CD109DD9126D23D554BB312DDEF14B7FAED299F057B62F89F4F0CB605
-A7A826DF893FD503E4E5BBB3B98A52A4649FC8DBBBAC5003A15FD5E0D03BAD11
-1F4F0BC2A9DF317281DF665CFEAA679066404644BD18DEC33ED8117FC6B4B2ED
-F9B078C5CB73A41ACFA6BAC5F1C8427C9AE24C3B6D406943B7F306F258CD91E1
-EA69F3D6D045B5FA2527A06CA79FDBF552F394B530E689F54791CC14C1A18C8E
-91E5CDEB7943B27D42E3427FD9BD27123C37050948F911811FC94C0878BEAE93
-54EFDBD8906C827F6566DEBE5B3A333054779E4F92924A141F0E8A81899C316D
-AD3B53E32CF5E177D13AB847CA600DF9F72E3C9BDC9BD16526B4BB1B295B4553
-30C5C4369E78B168BBA3C565A45B8AE33B2106794FC24A4EA456226B2E1544C1
-0E0FB344B66647CA7D648670E197F740DDE9F250C95BFF29CE077C7705C852D1
-3186BED7E7B3F0A0F094ADEFC7A8584A21408D43F9AAB1A2D8857137FE04B21A
-F0A635E2C95F68DCE021184DCF0A02BF5F63FC60E1403E08691F7D65FD33DD72
-A2A17A875B1DFAE1B77836D4E33292B8C4677D86C901D0E5C7FB38A0714829BD
-3D92BEF9C4B6F6FEA416D54C7DC477B5E758B832542E4FB197055764F7094D2C
-24A83D3A1D4AAB6DFA6E991A9574038F34BAA2196266C854952429BD43362544
-9E19E70D6198D9E51C14846DD92B41DCBAFC5BFFDB0D9C33AFACBE8D8C4F2C11
-82A99B3FA52EF06CF5EDE26545A765DB94504F79F16F9E07E2245F1B10F75C43
-AEF53A952ADD6189584C06E219B0F3F57A6ECA59A79AF0874C48CE52D908A6F8
-CBAEBD764933153FD6AC28D7FC87938AAD47E5875487E29C12634611179E8998
-C8D05B0A3AB1D634AF62120734C5EA3D87857EC4E89BD770FA7D1D986DBFD899
-C86EAA91839D038ED7CB2A898737BB3CFE50336289A98A9C76689B6BCC4C25E8
-71B7F1EC63E7B7B1B528ED5D2CB205DBDD18ACD66852D632A887B977C85E2A48
-174A701D33A229DCD63C2BA164D86482FE1570E312B7E8F137DF83A8FE4D4720
-6756683F83354DD9310A68D49F361B83FAB390030A939D53BF69236252166B35
-3B25FFC9A0BF047BD86158DD8FC94ED2C9CDCC3E258399213D32CC8B35274A9B
-61269DE206594F18973C14ED9E5EAFBFF50FD728512468AB5AB8DAFA46470813
-C766CDC2B84C52260CD6C03B8F9A0B4A5422561C13B67D57D64EBC2AC31BABA9
-274BA92B3ECECE804C40390CCAA4ED604061242B4B1983A5D01217A2E8193E41
-A9342B9694E39AF57CCA2CDF00C683224B155F6AC4E306B9848ECF2F27D0B1C8
-F766973D7DE4300B45104C47BA98560CA21CDFB7C7B615542993A51D3D51D361
-28F67CCDA3C495A9BD153BFA82C9B8BF5D4AE6C2C7A78F3EA3697982852DEAF5
-6C96BA9CA6D32562EF6F84DD2A3AA36F0CB4B6D371105122A8C99FCDF07E4E05
-938EF82644DFEC40525F01BB06B958F787B3F94B4467EDC4F0515C9D69896A44
-2EF69E9123012121EEE3B9CB2CA3F1AD1D07AA0E45
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMR7
-%!PS-AdobeFont-1.0: CMR7 003.002
-%%Title: CMR7
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup
-/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMR7 def
-/FontBBox {-27 -250 1122 750 }readonly def
-/UniqueID 5000790 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def
-/FullName (CMR7) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 49 /one put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5
-3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C
-CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707
-9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71
-D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D
-BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9
-F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939
-F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3
-D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E
-52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681
-7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E
-A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627
-C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824
-DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C
-67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC
-10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F
-DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5
-EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B
-C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF
-C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC
-E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7
-7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74
-2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6
-1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449
-672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6
-BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7
-8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F
-E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A
-A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01
-2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5
-E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2
-F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333
-5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E
-80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800
-B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA
-4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F
-D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56
-A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C
-4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8
-081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1
-067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7
-58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5
-AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B
-653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E
-9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14
-0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA
-41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF
-75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA
-C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1
-3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA
-AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7
-E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC
-B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63
-73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28
-7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962
-64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410
-B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE
-61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08
-8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08
-61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741
-2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C
-BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6
-B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08
-22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98
-28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181
-047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A
-8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25
-A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7
-B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A
-6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90
-7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2
-9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5
-E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E
-00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3
-9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4
-E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E
-4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3
-AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF
-9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B
-4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7
-D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69
-EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33
-41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9
-722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09
-B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56
-D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B
-82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29
-37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67
-54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC
-796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA
-28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D
-BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF
-0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F
-422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8
-71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9
-D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246
-10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C
-0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A
-065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E
-644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B
-4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09
-C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930
-DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92
-60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05
-6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD
-6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8
-F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A
-40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA
-F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6
-A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E
-176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF
-99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25
-21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5
-305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D
-775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879
-16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119
-0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39
-F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8
-AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702
-E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A
-ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB
-437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949
-C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF
-0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA
-BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE
-9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE
-933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0
-ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E
-F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818
-60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892
-4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD
-FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43
-5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB
-F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083
-EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E
-CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E
-26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F
-A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81
-9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A
-6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605
-999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D
-72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC
-5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407
-530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527
-10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72
-FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE
-7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE
-AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F
-15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39
-81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543
-BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A
-116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A
-B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70
-55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC
-6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893
-BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717
-A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE
-A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715
-D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8
-A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0
-127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34
-0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F
-7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5
-F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3
-61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060
-C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2
-C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB
-402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57
-8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE
-B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD
-0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE
-5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0
-AA2163A447D5FBE86D961AE4D4251149F11C4BC269E10B48E8C42DC2484EDE87
-6540CB8A5EA2494148D09CC9D5014EB73C29368A3945AAA1BA4C17BF640D2A0D
-414293480FD600A77D37471828C4645C5A4AC4729F4EA76FC946810B4968EB0A
-719D8F3E61D2B740AE9A33E9F02982A13ED4B6ED0C6C4A93A9E9EC045D0CDADF
-DC01ABAD0BD95692907C04F06F06F1BF6259C8E71099FB64B4FE263D06C5854B
-070C8B864D8ACA6EBF440DE14DA34A2A548C9F1557C70A4D718F4F881707851A
-6DCC39BD8791D806F5DE551CDF8612C7EE6707D554CD826CF352CA634FCFAFC7
-232F32B3F0EE3D2577915BEB212005E06625FFC9F49383C9C64F51B6541F6AC6
-12D2359547103898D05E52CE54B46835
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMTT8
-%!PS-AdobeFont-1.0: CMTT8 003.002
-%%Title: CMTT8
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT8.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup
-/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT8 def
-/FontBBox {-5 -232 545 699 }readonly def
-/UniqueID 5000830 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT8.) readonly def
-/FullName (CMTT8) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 97 /a put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8
-C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D
-24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570
-BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357
-08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F
-298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C
-9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6
-7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033
-2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C
-FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6
-F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191
-CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F
-2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE
-32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092
-D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C
-3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4
-97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E
-951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF
-F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D7D91
-D93C5C0B1E4BC9C5097DA97E893335D6F25B0215755AE271340453DCF8252782
-8607B0F972DB969DB772EB7BEEB185D4E20EAEE6BC04104F3D484B0A702514C1
-55113C7286CDADFF3B72732ACEE29B3711F5B1AD864B05DC35F1472686B200B2
-3FCE6AC13FAE056EA1993EC64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49
-F41ABD24C4CABFB9769EAD51191410C4D8EDC60F0EE5702FF3AF9E14ACB750D9
-8062B2D208E618459B7CFF801A19CD1EA697D9786D901579C497C3277CBE65A9
-606F8977813CCA03C91A43B254E4642655FC85AC4F1846F40C12EC9D84B65048
-F288A4930B5718ADCBE9693946FC085B0B7B8F0A78107BFDEFF431736BAA421D
-CA836D9A7521F66B140E49D55E2BAC0F0CE27709AD06E535C963EC33384E7307
-A94769B4EDE9CE0001FAB7A0D9FB3DC22B07EAAB04AAC36CE0DF7B9BBB53E2BF
-651A22EE851F2F6729A0532C6B7C056991E80F1755D0062855ADE2EBEF7F86F1
-0D4E29DA22849F223CFA8DADD219996CE79567CDF9BFDC150EFEF8CE36CE0BF7
-488D9DDCF32A977EE94BE881A44B694A5B0286AF7BC53A0869210832A514CDFB
-60474202B8BEC4B4EE01
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMB10
-%!PS-AdobeFont-1.0: CMB10 003.002
-%%Title: CMB10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMB10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMB10 known{/CMB10 findfont dup/UniqueID known{dup
-/UniqueID get 5000761 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMB10 def
-/FontBBox {-62 -250 1011 750 }readonly def
-/UniqueID 5000761 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMB10.) readonly def
-/FullName (CMB10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 50 /two put
-dup 57 /nine put
-dup 58 /colon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 91 /bracketleft put
-dup 93 /bracketright put
-dup 97 /a put
-dup 101 /e put
-dup 108 /l put
-dup 110 /n put
-dup 114 /r put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2D432E1428FB6D5BDAF
-3F02C975AA4E0072BE5F8CC7D3D59BA3FD04709FC9E52189F55C7747056EDBF5
-F85CCBDB1DDE9F9163AC7158EE8DBFBE8D94A46510118ECE6A280C4872F448F2
-E6A6B36AE3224FA448DAF204D1C998D010C6BF52DDCC45831DF1EC22528B00C7
-70525CAC9F6BAD892E7D5C81295A2AEFA8A5E4B6BA2C4EF61FD3FECFA2A8551B
-DC84DAC597222341E762620D3D3C1A4AFF2F6D68C4813004318FDBBDE23AE224
-617F7BC1F3846943E915624D6BBFC555E2EDD013F190492F03CB64E5F2403723
-7A2D4652BFFAD1FAA1DBA4538F2C3E608367BF95E09B853A2BBF9930D9B3BE46
-0BFBEF05DA75DF3D8E11A09D472A9E45C626428A1A599C111ADDEC7A4E70407A
-014F792395A2A12303EF51698D487854EA15000AB08BCCA8B2E35A5018F5460C
-9B223315D7B838BFEB224E8D1DC9A0C1077DA31F5FCE0D9D499EB0507B90E9A0
-1F92FB5FBB8D40568C1E8B8CD6E1DD27CAE6E107AEAC5696CFEB19091B40FD77
-7A4B4F0F261702BFF5E2320C62EB5C6E9DDE142E9FC7DEAB99D90297AE0F15A7
-04C0E3B39FBC85CB6B92BDA7917698230B5374D9159807ED1D07947D95802693
-A856C84812ABD3EBA336B88CC8F37288CAB59790B0882A4ED6815FF6D7A1BB35
-5C7B7437D2ED76E806813478007886ED1009A1E73CCE210FFA69A20D6E05A713
-F6EFAB133D146B0EBD547CD29FFE7870973C1E71854C1C643BADC69974BE360A
-4CF84FAB098EA3DCD2DD8B2FAAD19429B0ACC7C312B03E6446F1C1D51E6AB45F
-72F11FFA078DF3196EA970B24B1BE607571795A2FDC2EE7194E9422C483799EE
-23E16A737951BB935EE2C2BF008B6190E0138D551E75C9E6D0EA48E64E9750C4
-BAAE32B894BE25D092CFAE894230430E43C585D0F06636C8D56BB80A4597A0AA
-547FBCF12821C20F0E62369E1A9CD2343B8A8647B2FBB1F4C86CAB1F7A14669B
-69DC857F9BC7538A864E523C2DF7C830315E0907CB17C8FB6E412A2A9E88317C
-0026A6A402B36BDC433015AEBAD775835E5ADB4EE75FD8CA06C199E000CEDF93
-00692F29C5394DEE45DFF2D42872B1370C8D4A14E144FF36163C849F9339AB97
-EA87BD445733162A34E609BA1E92DC92F9AC892E7A0B39AB0FFE517856491695
-56155FF0C2B231EF1314CD4A146EDB1CA9AF7DD546CACDE1E6B49BF0D4ACBC09
-55C85E2D38DF84E0B779642F7E9C26CE19EDBF328104B9E803D1B03F3FC24C4C
-9EF0D27C8E5AFA420A63981C000A0C1F0B3D3F853FF300EEC524C586376AF998
-DF4ED5AA16D8E298C159C2A3E33048D4EF192A11287F69B11BE24D49A033B334
-83CB8783383F92EFB9E3BE84CEF37796BA4211E534B0360970B9C57EA7CB54FB
-F582789A83113ADD2415B3F84AC4ECA15DC70878A32559198DAE67B083B0EE6D
-68A92511FA8FD6BA88A42769E3FBBBBDFDAD61F99A6C274B48CB044D16FD5953
-44F1503D8D1D6DBAC41C1246A71EBCEE5B1F0DCE3EE7E3A99792DD8FFBD94DD4
-3A5ED347A62D301B6739AD2BCCC7C57378C29FA5A83759E7AC6F1505DF6C0E16
-71587914F698608AD93ABEC43611DE709ABC3F1C0A1343CBED5F09DDB4FACE0A
-8BBA9DE5B85FE9B4365358DFE877BBFD9AF08BC60BAD7C41433BBDBA17EA9A7B
-92F76358612FE44F43A85588DAACCF7846ECF5C58B22F18120F895317609AFA1
-06E88CA1D73C4CD5098CF44093207C31F46977B6D22665AACAD5A169906640F6
-3DFFEB3937BD6CE1501C52783743F8F6110DF43ECF512D49A55379432CAB1C33
-7C38B7A38DDB91F0683A052378CBED8BDE4E6DC32FFF6D723A4D1469D32AEDA9
-FBF89B9604656DD0D44ADFAC39BA893808676E1E08444CE56F6CAFF3E93D8D41
-F164049193BA11AF94B43515BC79D6A538C00B08FB518EB67C27E73380A651DC
-4B244E8A2E4ED405EA5C7EEDDB09D44C458A883C839B98D9D6A2209516E0310C
-AD777536190ED06F47EB2ED61C53A2E0AD0CA4E4035324DE75F272B1CA6BC1FB
-B912807B7331D932DADA30F1975A1C9A8B55604EEE8A0CB514C6CAEECAF9C46B
-5D5563E8934B421EA1CCE3B96412D78DBEEABA59FC603CC6ECF65BDB5B66EAF9
-14B852CC04286EBEDD560713090BC417A10BB834944E007F45B61AD6E6150B9C
-10A6FBA56C1B45EA5F9A5379B1A0788513DD4100B82BD61D89E6841A26B362B1
-D4762EAF4FF3BEABD882700BE9832115405728C5292BE942F871661EB0E6B29D
-430CB271A090B6F5399184F21ED6728171B1783C982E61DB7C0BF90CBC1482CE
-C6982B4F0AA39076B64CCA5A71BE73CA65F2CB60B89AFACA957EF8E6429F2182
-CA36220F80EEC5D01AD7061DF45CC5109D9F0B7E2B6DB9D6C6326A45DC6C05D1
-E81B636A82592D99C7B7ADA0E958A0D7570BFF1830017A6241AD62C53D4CB36C
-583672FBA265142DCE545F4855CA3D9E528143AAC66EBC9527B76EE43B4F4E2B
-B209BD265D6AEF18D168CA7BA2CEC40DF86FF352029597A5A3B2941D467DF229
-50C788D4276C5B400F360AB596E35983262A215047C9714912B2E69CABC0DBDF
-BF6925E19EDF3A6638CF5794722C8B92C6DCF5853DF288B9DA52A2152F98227C
-FC04D3C318E7D942E9D33582A490888F0C1CC1A8C4474091B4956222DE467632
-33CF5DB7DA165B59A648AC6945687B0ADB83EF5B286CC469B2C9E4AE92ACAE8E
-86E4C62A092B8F6C05EB2ED346DAA7C573A03760ADB3CD55B6C794FF4463BAC4
-2F4A738F9C4237107C503A7EBF4F4BB4380DBB64F5F5C9B268111752FD2204CF
-F25085683D071FB4149A64426859D407936A3D1E2C627652C126D8F9264E2919
-960ACB9DD61BDF973492CDB1FD20EA81E06BECF5E164A8ABAC12926DE1CBC0FC
-6693737B4875F465B5623C899FE129B3A52A2BDF104F8B8429890AC870580C7D
-B078A9E26C322D1A8AC1C6B2BF340813D989EE8D054882B965905D33EC3F4278
-DC41BE055E0E5F73B5A1F45E9E69718F5E155B4EA30B28BD28C52C6C322F2E84
-674CE600D699CEE1D2CFB7212BD8168B45824890273A0AAE4757D112980DF2DC
-C3026300B4BBC9B081817AC7F4D48B309E66CC7455708C772A08EF6FAC829363
-E27AEBC3E7D0A91984C05935B16E102E81D6AAAC347E38EBA40125543263BCA6
-9C6F4AD6BF8C3A90279FCA4A99D9290C3B8E0DEBB4B2DF932F66FD47AAC3094B
-7582FF8265CFF8BBC7F79C8C74B1FF94B26F3817A39B5FFC6BB562BF6DBF9CEC
-31CC3BE4D7E431D41D55D96C4F020486F993781828E9E8850192F9F6BA350AAA
-5E292210B0EFA4061EC8BD6EE15E3FAA4AB2F54110D17D29BA32C0D28559FF32
-D164DCC98EAC78822D6D6AC6F4871D47290A11C83670374F072A9DC723096C89
-EA584D43BBB13584D9B8B1820C415DA2E0DCA1B50655E81B47B9AC8343DD8FAF
-95F4771ABF81361EBFA9259EE8901F31C21E95DD22FE04BDB77D23DA561FFCE5
-A7708647AAF65FBA2FD95E843D839E5734D4C08A215180C7244924E002A965D8
-AB29470A1B86065B4133A9A6EBA05EF1AC67DFB5ED8DD8C11450233D2624EFEF
-3E6D3DCA7E23ADF174BC83AF25A1D7529E52D39C27DA86A2DF4BE4F8A96361CE
-7025BC1954C75A765ABC95B4AFE0AF5474653E6808F85893BE6ECA1A37F8B666
-05A9E9FBAADB0DD86848D6FC48A1000FAB396F756513798E09D29ED6DBCC8466
-40181BB71C92CAAF8E240E16304DB9F4B0FB6880004A0F9AF6228E60646647D1
-669577DA709B4FDB8721B95B07B4599652A303FFCEBF858A41F08BF3B83EBD31
-74EFA947A8ABFC7467D6CC544B655A7BD4B6A4F5EA9BF11CFC9CDCE14FEEDEC5
-9116A3FEF962932F8B105BC4C51744916E8976815AC286B1E682D83091E9C533
-839223A68B9D977C41107F597E05C3D8C1C3E79542A990B0E8E22F34BBDD8E47
-B6C2CAF54B72E8F0E8A41DB343934FD2C33B6D77AF2E9061C4E76BF258CFD615
-30AEAECE9D04569D358541C346C922A01D017BCE85D4F083AA9B6939D85EEF29
-335D1BDCC9E6D5F7F58EC2BA2D8CE50CCB38AE6A2DE2F695B76831F8F591BEC4
-EC6391563D18E4169151F552B5E1601B1DDA6F93E5C8B5F4FE63F5E002AA3C15
-E0C8DE2C735EE00E9A2A01530FF37B7FEB0FB182A4E381CF1BBC80D743209814
-F99002980CEBCBE3E677005766CE1D0AF4DCC9F103499D1961771FFBF01B833F
-1701EF6EB1A381A287F73E519C01084241335905661B2E8B86B398C88F39BBC5
-09FACC1344E15CC7685708BCB3F43EAD4E24A84AA0687FCE0A2178D9BA84EBB9
-68E8A727DAF9A0B28A7CA3B119798603F9BBC6728C5A6B4BFC84C95DC4F36839
-C2649E364CEA39A4EDBBA4C0E27C61648D38CA46B64E8CE797CA3464C80214EE
-28A1E58B387AE0A663A39F04F57899ED62FB0E542EA108AC32490B4B2BC068F6
-2087BE9C9C3CBFDD80F2E632BC4C971A79A0A3C3A5607B997223A9F6373EE51F
-C58EBEE7756A391C91758A1F6567F532A5EB762A2927F57CF9F0E845E4F66B3D
-8100D1795B706FD32944CEF24A054650EC911A54A22F4F35E3034AC70F07C98B
-8DD43BE9F7D68C50D6449791F5331A189706D9CD18417348B9F296D8D01368E3
-2523FCC0EF33B998FE925B4CC7BE329B32D6AF791BFFACB60E4874412C8C8676
-34914A453A592C7614AEE5001DF3E5E8D9335A155C65174B940E1AE61ACBCBD8
-A41D7E1C6FC0680E094ECF65C60CE714E6EB2A1897D8A3F39FF58D64EF7E9A41
-4CD8E55BE32CE8CA29239A9BE3FD6B1DD5CA5A035AB1FE57CAFACB8A39B6A877
-C853BE6BAAEF5714982FBFA414EC128B61326B60D83076E690FDCBE3D2AD256B
-FA7A15B804402826684AAD933E94853CD0CDEA3CCA7DC833E486F431EC4764DB
-F3FB244DB99FA0CA2FA14DFA75A326385B3AF92AF8E4C6D437DC3DCC07FAF25B
-6C0F270333ED377B08E498BC3004C25C7A991DAC9A3E0D1FC43E2EB6996C7269
-7A864CEF35FE312DD8F87E37AC69490299CEF9B059EC7E7492D1D6E5640E0AC6
-35B97F7A629B6B7CDF3BF86D2B518EA807B03E4F79DEA59C84D98E4C94102EE3
-71A29649ED75F5ED02EFEED8064E2D54E8F9CA0C4284B987B81B7F41FD7DCAC4
-FB9C3ED70774F9FD09F3321CE1D0319C1129F5868DABBD183045984748C8A3E4
-53E085818729A1353B13C78E63E837DE483E9E2ABFDAD16534420BE4D7976D35
-F56B86EEB90F663E9778A6E0CD698E6324EC2D19901972B74EDAB8F4073E4F37
-89082F08735E8345BA167B2B76C77703C586CA5DAF41C0DD0E231184DECD8A9C
-DE8FD239B6CC636507A5BE6EE5283C06A1D8D59E98A31AA76F4D358DBC641DE2
-ECE3D9F2D262FE2E878E909A950A7642A3F59995519D541B96D459F24F12682A
-9AE61FC08CF436D9DF060DAAA90884A1281B370A2F824704B5347FEC65E14E7E
-3D212E29723427BBB12C1CB91B28CA47D6FA8259A875EDAE4B49C33B2F73938A
-784C1E7A7F21873CAD55A868A1451B070A3F259A983293289B131E07C903D7A6
-3CC66CEF8C4D2B6736282896A2683EEB944B67240CAC5FBD8A1392A875245A9E
-2611B511909A041846063E465473D41958104E92519C0F86706AD640FC6CEA10
-620C9718C4589D9D562D8810CF6F461B776D5A1B040F8272D43C029C2A695D2E
-86CF508C4AB11104E575E13C2EF56914E241279BE0558CD3D59D25BF13CE8212
-3D7AD1F25FA5A9155AA06306C7CD0F49E3498856318B0ADF279731E1769839EF
-98657EE73CF07B0585EECB67F5FF609E0E3DA1B78F6A8FBE2F2E0C051237AB4B
-1587DD72BBFD962E865EAE0CAF1A5C592F5019C7533BAF297C0F78F3287838D6
-CEBFC8B5969486A5134DA76B4961C8056E1EF1F2AD17F19D7998175D66B3149A
-2CF21CCABA281EA0345EF50C1EBE7004ED495C6D03963B639A66638A43C049C6
-DCD311B5F86EBC814BE42D432EEC87B861FCBA9C8729FA5AE87E20C5B30B8E5A
-BB41189A42B9853CA408BA01A559CAB722AAC3DA28E70AD79E1BBC8B6FCC937C
-180B5C2E20B03D3FBAC60C83F765CDCDB3146FE5C0B02911F6E120D63EDFB0B0
-86CCF83C2AB62922450206D3701588B54A8B232126BE120432E6BB2E25C50B13
-708D742A44E20176C54FF89F4589B10D5396C94625AEA1914AC168899FE7AE9A
-7D90DA67A5EF3DDA25CCBB18DBAC3AF4AB889528A381542185821B96CCFB4302
-987611DD5B5B8514FDD7F5148D1BAC9C34567F75EDAB317E0B8A7A76604A42F3
-1D46332C4791006DD1AB657308CDBBC7314592707EB163326E345C2C5EA05B33
-01FEA5B7A346E6B1B6EF58B692150C6116B149B6A26B493674337A9C1CB4F42B
-A7A80AC587F9BBD7A487F407EBBF9978840A01B5E7E772DF7EF28481E7AD14F2
-424816AAA958320A0E6F318C757A474F7B05AC0F570094372CDE877B479AE3F4
-90C257A2B3F443DE43D8A58594BE8D4B5C7E5E075ACFB1AFAD4C06415266E168
-FB38C1CA256287953EDAB1D40537A3633CB52FECF3D35BEB8C2C6CBEECB54BBA
-CD6E043EEF68A21D7639FAB8D1006B1119CF92350D9773502F7554B4B3036EA3
-D747596506FC674DC01ADEA9B45ADC43B9E6947235E9BA30FF462252038D91D1
-D908E9132A946FD03B86A08885AC44CEE72F0E27AA63A901F2DCCB86D87702D9
-A66F35F06D6640115B075B0260FB116E24E795E24DAE988CD48A95FFD3116E92
-63D02221D272531186E2AAB74496FB78A4064C9C9772608C49D46E40FE28088E
-B5109171E7AF69599BD8BC1186C196EB11FB4132F5C9FC1395220392E17B66E2
-32215E54E9483196341D6DC691FCCEFBD00DFF4C095FA8AB36A374BD5E1F5082
-730A698AAB7B57A5399196ABCF7B7963E2970CCAC5E9A5EC552CDBE1E2EE1968
-B81CF5BDDFF9D385C9C1FFD726A0C52A4CB0C8121E77AEA16157C1EDCD1AEFF5
-5607E8F5C44072DC54332B95AF28417E2D45B4685F270821EB6C455AC147F938
-50CC9F7F2006D933D0664AADBF5D7E3E6DAD57527AB59DDD13BCA392B059FAD2
-E7833AD00F62EB89CD7BECA9DD479F7CD7C981859EF43CBB1EC1681081B58A39
-2CEC9FEC039082771E1BF48968431F72817C8156D0D6B65DD33D472BCC49496D
-1F5FB1796892C6A45BCC65BECF41D8604B811824739647D87A7B28FDB3574478
-9807DA2557F411E0BA7479F31B9E3BBE6F3CAAA653883A9D2BEF2073F47F057A
-CFD20BE1371F17F5B6F0A9520F2EFCC3C04A24EC272C43E1F587ACDAFEAD7076
-6139D04FD9A50F67301D7765109C76D6270D2DECC94017A877EF386AC7F625C0
-ABCA9A6D15D71AF7A5889403DDB83EDE87EF5A69EEA97995CC1601160B296750
-32AD8D65A456F5471AD4536F1AF41A4D370203F897686CAE7C89577D3A843E90
-9C08CF3E3D489625256DA5E0984BF971E0D8D251AE5B09C17883CE07750051DF
-770B920AABB2E80A4944EF613891B4EC3F9E214339AEDFDD5DD15240933DC82C
-D878BCB743ACBB562A41BBD86191E1129718826681FD12981D4159C7432DC3D9
-AD4C6C478EEEA0A34030BDD0B9122E8AE5F0B473AC5A48346D56C2DE42815D19
-FE378D252960D3F56654B31C58CBBBE0D634FF6EB81295809AF12222C58345C0
-4595590B2DAEF5F3CCACE8AD4CE8585DF4099665B05B32FC49160ED307573D18
-6C4D88C07CCD1BD4A0179BDDE6524D8CC9A70318578646EE6F4DE040C56C90C3
-C5C5827A77DB584E95F55F083D07AF133B31DB611D1831D93180F66A13E86AAD
-573C57B42DA521764563F69E7D4E26057622C17A135716EBB2552F644065C733
-451295216950B589D09E00FE06779D50AA82A4653649B7CDCA11A1FF27AFA7FF
-189A798A6DD355CE23F77BF90DD88672ED1AE3C262A2071CD9E6E8710E44EA18
-8EAF3FC2FD7A203792FD5A925E03F5FDF5FC3C0D975724B9C0EB5891CFFFAAF7
-AC4180C714BFB1BC100B055AEC13D255FDD48CDE21EFBBE6A2A5CCC75DEAEB75
-CA1B5C649CF209DAF2ED786DC4D0E02F1AEFAA8A7B2B96971E35DE1AEB60A50B
-B4E5B18753CB1E6E18FD08BF00E01DB6497645F29D666701A930476B878C7843
-D729490D64FDFA946762B2F71AFD7E3CD2A7B155D6445774A471A84FD5CDEF48
-1419EBD5CA76742B84B005FD3D7F5D0A2024B166273ADA29E9891D2F00A8BD02
-C3370AB11216BE08A6980E49A2F385A84BB64B275A896E359C7C4463E4A0C65D
-B9018D6795DF5019EAF0494ABA7E4F6D9D4C7973C6F2FADC73060FE5F1C71BE3
-0DC7D9B88FC0EFBC9DC151F616D7D9590E90F149684940B27488ACD676FBFB4B
-EEE9903F3D6438DDA0E1E7584B6A7CB299F1AE1EE2DCD117AE588D37F773ED9F
-30578CB0F17114788427846A8FD3444D08E4240AB0440D93DB2CBF1F89994B0A
-232F91510518B3A5E691A9BE235392FFF25B9301868952A3712B54578F2F7C99
-0A33652361F7557FEF701AA6C58BF44830AECA7B70D7CB3A43F166C4766EB5BA
-76941F080A01535610D05C4EF71D21C2D0D335B0655904CB73E0110FEB59FA57
-746BEE9AFDAE267B1705CA776BE9A4BB6A4A29E421029F5671B7B189AC9D4B08
-7E9BB099B5CAD3BE79A3BA1D328FC990BDFDC5B37EAE5D77E62113EBA172DAEE
-53B21DBC3C8C1DFB14A8A4F7738A0B83F4BD86BB35CD048AC5C7882B5AF63354
-E659450E2CF733B8182BA6CDF05F421FFD9F591516A461625CFD4748E0A1C890
-97F95A50D6228678BE234F50981EB928B80A2E542544CC8567F1888DA9ADF4E6
-718549F33D19D149211F4EFFEFC80C81E4FFD0CD79FFC83FE1C28D676727C1AE
-B5197B8E21C95937AD04C84D619335C8134DD0080C0B40FFDD608199E6DE7BE2
-E03991AC2BA35B314CB60F5003D4F345CC2CDBF0C34420CB3FDC2879E0B76823
-B03ECD30B8BE42833C92AE93AF019841F7B4BF85CA15CFA0B1CCBB182D6B9666
-DA5308EB60EB5E43F66C00CC78928DD488AF24FF77433B88DAAEDFBE8862A5FC
-66F66CDD5713FB15188985BA34062F888F00B1A21ADEA87AAAF235A477E234E0
-33AE31A0D04E1AD436313B015EAE43D76F589FD4FC3BCDA8305D901E3104918A
-FCDBFBAE0E9A22FC3479C3E350E571D93F9691AAD85E484D3F76E65C21AF309C
-0858A4108769C021EEB91267F2F4D279AA57C8006B823A9D4D7AAFA788FE75E2
-85E0BC49D47196186D89CD2F38D704B0A470393767ADC34992CCDAFA9D4A4555
-332A79D1B3B0A3CF6DF6CCD95BEDBF920886BDE88C5509DB96C347C27CC55696
-BD00E0EFF2C5222830E7FC1685E4A1E53872F4DAA0299EDB0034672E2A162BAF
-0AFFBB1509D70715709D393A7B2F2D802B1E5006A9CAD8EC5A632349E0E54517
-F0122B76C5351599CAB0655FEEAD1158FA174112B0BAE4B6AC72102D21AFD41E
-563CE5393BCAA3C84EC7604FF766913910B8BF48923B58CC588213AAA9ACFF89
-55319B2DD16652D3F69FFD47B95DF54EB9CC2759E87468E54103CEBE79A50CFF
-4E4A6A5B6EFF4D774CDD176A70429DDDDF5F6A0C772216715004FA94162518F8
-DEE14A3BB74C7AAA5AF40EABEC110E50D39E49C100F13BD7259F2D38F51A02B2
-9BDF3E2D9A53725B3CC6BB22D76537A21E21FE489A80DA157A673F9EC345AC38
-66F22602E21DD28EB91C6067C7A9D66FDF2004C2B5207835A3EFA1CB50131CF3
-9F1784F3FA64AE03CD09DE7F49F2A5F994D17A439067508536C8AB589A5270EB
-FFD1171E420ECF7CE6510049D86F5D5E6A1D1A554C57101B2500CF736E2F25A7
-5F3DB2BAF1E92CC788E0CA65DE1BA77C9C6AEBB65699847E07C5E1D25EC74165
-D88043631CCF3A07AB883145EB92A5A1A258B940991CF094E6BEB51CB5796866
-0F9AAE0389D9B66CDB068CD10758E6FB302F7D1A420560FE7E4F0F78AD1B5C86
-A8F12C493B0BBB78802B082825D3CCBA8C0C64DF8D68B06E01868DA26C51F6A4
-DCF6165354F95AF1ACD164281DE5C3248D8FBFCECE8F23C5816F4CA1A0C130A6
-7D5025F75612A556EEA7CB381C50A9C2CC47A8528FBA647453BFB6595659C435
-A5FFE3F4C878C041ADE6918211E115E36CB91C12FFDAAD8280E4F5C0E86E6914
-6AAE95DA0AEBFEAD38B6C94ABCBDA25B3CA358170DF79F82A879DA0FEEE0E7E6
-D8FB55454DB92D1EE2D0CE1932BAE35CF22776BCB092183C7345694E3E272EBE
-7CDEEEDF773625EBF265549E12B48D04D9D97A659D89E21D333C1B0109B10434
-40A05BC8A1C642291C398C415C875B72C30334B9F4660D62604D9A223DB29ED5
-0DA516B1355DC99A6A21EEC2653504ACC313060C6B2009991AB4D49310569DA5
-46177F041056C425E03DF6B51C9E3E8D82976AF45370C2463A4A626BBDAE669B
-37671A0DDFECD1D7E2E0D65FF29E5AA0273872BBC38B2E6E72CA132568CFD12D
-55D65A53AC7D019A289E09DD7B4C16B806FA0B730093330F75747A64B3388C74
-AA007ABB5281ECF775F2FB21144FCAC16FAAE9C0AA3B89C5EB18DBCFCDE98ED4
-482E33CD2D3A21A7A7A6BD4A9236B5A0C43A594F8015A099BD39A7EF9D2443A8
-046E4EB280353B539AC460126016B055FF57CC523A518B183575339BBFF4D553
-9152868EE01103E98FB49E8305A25640F7EB2EDA1A3DBE2BFB60C76F346F185A
-446E90A1A6AB0F1DD929B71E5F1D2D66582D2AAFDF28E66A3368EF9C670B530E
-BBB88F0E6141F5A111CCAA55644AB17488420F1CD55CE290FE0D02EF617B9020
-62D5B3BCFFB103A10EF24724ED83B04C6B7BC8915936CB7D4DA48332A7F40118
-4F09722E203036AC85BCDA93FF36B7F1589F61A1E0FF2F4AE19DBA2BFA67306C
-1B7757618821EC1D9098E321BA1661BC925AA45F95925AC4DC1AEC11B303C935
-D80016CD29C4095C224CFB87A808E7BE42404FE660DE6DB4BAA0CAD7C4F6C673
-82EE82DF49D1C5116E9CC7956D0CBEC338DBB041875C8C14B0DB941F5A1F8911
-98CE9F83DA1356532231EF7BFCF7B0E686A8D28F4E921CBF2B3B022CB96FC8A9
-04AC60DFC4B6AD8C5A7A8D212D8B213FD9C0527F9576C96C61D494DA83CCBF52
-18FF44F6E6C85C5743D8EA3CCC79F1FF36189F7E8E2603B35C893C57C392CC48
-CF1CA67E407683BF9C0E775FEE0E95CE377064B49F0439C711CEBFBC70ED478E
-0E2BE3EB72D8CDB77DE7B2BAE99859B020287D4EF7C38D3E7926F92B97CD1142
-F3D697E12BCE4ED6E6B0521166F26BAC5244946B6926989C422620EDB1D46AB2
-1E0C430C9856DC2CADC8C441AF472062236F27F8E6E21E94F15633EF10AC3495
-B59E3AB83AB1ACB24E1A5C62B8E0E9CC8F38AFD47E7307BCFAFA794514B1BDBE
-52D9217476F9E4D1C55CC8D416C5AB6426F7676F18B0B0B4DFFA36A66DD1AA8F
-E01296442895ED090357865C5DBA9A36B9919B040032D6D62741979F1C72917C
-3297365B629F855A7799D767CE0A2AE9D1C71D4EBDD304879BC72D5673863355
-F60662AE2D30CCD0A6A9BFAA49F87CE9CF5A26F0F4892ACFA0FA7BD3EBC5159F
-91F32BB94B6009760C726CD9821F596879E177D1256E02B8E2C18E3395587FB2
-C52F373C6503819D4F71D6EA28305B46C9AFB1A51F0BAF2F22DE43AD779BE2E6
-3B527AA5CBDD01788C3A078562961FE0AF92EA11D70EBC46F5FF338B13A1D800
-0628016B5509AA74D73D0AB3FB750DA31C6718A90B486A2F8F60FAD0472B62F2
-D6E18B534801E5D768B4560331B7EBCD132396710523DD6C33E6A20990B1996B
-E94AF98CC5D8CD0DE2BDD3173C48BB0146C5D11BD9D62C1F9DAECBD466B84E88
-BF54916913B952CBC5A360AF39CEB5A5CF1C96E121B51E888BD0D72A75BECF37
-A0667E69E919E94FF3749B17F6490DE0506E492FD65EC2E68E885A4ED882B006
-B576FF42D7920A58F461899D443F0F733903B0DC32E68B05CC55279E613AEA29
-148C4F7AD0402F21B7049558256E93AD266861768F30D5DB964A6E890E830C81
-A4350372E0CC46A356D6208FF00A427B8137BB95C3D64577DE3AD2BEDF9EC625
-0B2EE6358484E616EF7829C82CEF5C69D9001DEA93EF573FEE6DE97C0F847C45
-59268108177E6545A3DB7798CE768B82B93348B56316DA86005E00C560B171E8
-2845DC79187FD5DD7B1376D02C5D9B0CA59955E01AD1C7D60C83A954AA3BAAB5
-747CBAE465AA0021EA26B717EE38CE2549FDA9B6905A742E09D7AD61A18FDB40
-FE8950738E64BDF8CE111144B9187366A4144468B4EC4673C04C40EF6D260335
-371C3D727AE71C42A43FEDA8431E7E169EAF5386717828DB6A6E898DD952E69C
-02FC4D4F47448AF587691EA3892729252AD885F3BBD2D0BDEEA72355F5A2C29E
-B1FD7FA0F6EB5061CC397A98D3C7B56B8E83E915E51402C9EE862FB11DEAC89C
-3886FAE4AD937D76D2964FB47DA7DFB8F671BAE54327A4DED7A49FA2892906B7
-BD76C52D4D7FC763175B3EDAC012257D22FD3CBF57521CEEF2C1C0CFD4822C0B
-C3A810E9DC10CEB60A27FA76934B8FF4C777D2D3774B4AF875C44E299B6FAA23
-A025383EF4159AFB5CFFA761F4611C6A03E1A88D80C743672A6DB457514A28D7
-4876DE74D635520606A6BC31ABC8A30B752E85610BD3D81A52FBB7016237BE80
-D433C19734729C8A1554DBD004B4C7734A7D9F615EA1A30DDDE9CD814AF2B76D
-087473795A1B32379A06878A824E9AAB2732C58F2841AEE04DCC3E0C4CC56360
-63BDDFAC2BE66B4870A43171241368167A93037B988025D564A047A6D50A6505
-EBFB2149F0B957B94A5611D896D93D599C423F78586B9406B9536B65A0444036
-4616563F287330FDA3B8451BCD713EA95CDA0DD5D13EB0B4E6E5A1C66C5FD797
-5123AB914483C900244278BBCD8E92FEE64CF3C94509A4F19074363CD77713F7
-C25438B400C03E74DEAA89B98C74E69CB22C7D33B2F1A972408DEFB1DCA22293
-CD08158B839DE26189A9352FA6A67B1787DEC947ACF9BE43AEFE9B453494E29F
-2B0949F221DE4C5D4D9536D8ACDE81E971BAC1DBEB859886E1C9D8EAB9CB9117
-48BEE11AB09475E4EA114D8D4BE59FFD537AA7EDE66B75ADC3C6F06B08C2C2C0
-35F5FA805596AAFF107525BD8A0A9D778336A3C93DD3ADB200C60A36B6D9161B
-157C14F83E972BECFF234068D0E919642F936DC260056466B5EA3C85B31AED7F
-71DC99CFF3B49990A411650F9C1DB203B262CA46FB8C980756777A4A8BCAAED3
-E70B53CFE7FBD50F6EB51CEBB80494E5EB173201F74E20945D8FA2AC2B24945C
-A0CB15CF4FFE0D1A55EC22FE883FE5E7A238EDD98810F4D2029CDB3E10EB340E
-17E5403CB130D4A32F6C6BBED6C9B7FA6F7B6027086A1A6A610EB9A7D230F660
-DAED80A1F25297FE06409E5283D722F2BFA5260290BDDB73CE9C4F76F673AED3
-BCE96CC9297C3CAFA5F99ABE792B93EF4583CAB5D9EC5D5CCB712BC47B34C8E5
-E3CB5D3A1E8A58FC4F33089B49B15AC133F27C808422998FA6CAAA294CB4C917
-B9CDB2DDF0004B8030389DC0C518922164C96B2005E60F4FD2DEC0ADE52077CD
-E268A7A6C63BADD18E562CE31F706C059C21A5F7F5FF9293574D7804D85E6DED
-10612B809C79C3F582201D1A89C8F471447520FB95FEB69D590CD426DBA7FCCD
-509CEBD7B9E7947ABFC08BCC1B015A6825AB1FBF2C88CC93446272C0AF61B18F
-C6276DF00CF02E3FD975C0D5C3BC98DD18D82E5C7CA6696B7B10A1ABDB92B793
-BD25F18040CF0404E48EEA87EF31E9CF4AD20F2B6D936FA11FBC82C3BCFB86C5
-9B0C97E87C8A5DA4C44AC5551F0B4F0EB15203E2D38EF169A780C25F10F4ED2F
-ACA7DE088D9A5C311A4B53969D2E7D4CB67AA3BE59B3E3E8FF22B60A9B3AE6A2
-6198650DBF58EB189F86E4E9EE30F27F90A9FCA323AC0E888444BC9F74B9701A
-5F720233F8F3173F6B180067B2F9E62643146615A3D9125F1A402F0EB5656A31
-1D2C709E7ACD1AF2A1F4107E09E0D9D7160E1649C488DE50C062A92252DF55C7
-26AE97D77E1333DCCCFD8728D025B26796B2B244C8B54B768CFB5645F1AC95AB
-1CFE40126A5BA55A5347918F67035EB1B29526335CF4266D25A5674F4D21CDC1
-BB64096D2C53E48B5EFA5F556343A79BF60132BB1ED1BFBF6136C7EAD2454585
-629B099848790D1FBF4783F708049BFB6A7AEC41026B68531034060FC9F06E92
-BAD21A358AD82CF2CAC1F157ECC5A336CDAD2AF534DC300136E550A55A8DC6C4
-A2CE205165DF24E138872A018365C997B17FB03C2E5802054419500134B3F901
-9513EB8465195C667F46A8B6AD5EA9E51B2FC3501BC6085121655EE71755E9BC
-CAD9EED6781825A9C9D04B6F298615DA8275A65774749509AB7797D0AAC57169
-21102FC8138F0B5D24DED788F062113E0FAB71D617D280F893570F344010AE19
-98B73B56C5EC2C64507E32FE981B35A47EDC4DE5D23AD15894BD2C6937DB99BF
-E4A9C5929590BB0D1BD5CF2253644822658DF7295946E2541B116EE8A2208489
-E9CB1D1D1EA90CD09DA7E630129BC1EFECE31C465BD787B73356A90A415BE41E
-EC353C2B592D0408E1DF2F68A75FF2AA16F2539F680C5D72A31A07412B5458A0
-E16C1D5E33B3EC50F956E6712CC48B06196495E7ABD1CB2AA2989182E8CCDB6C
-78095F1B400AEA75497B15E028312593CBF441EC656334F77C498D4BC3B9ACDA
-0713F53DCD7F8D0DC9F201CB38756302C82A0498ECC20396B9D215B51AF51A9E
-2EF9BEE33AE70974A26D6593C887E363C4656E2B7E9F686D09ED7AD3BE77207E
-387982118BA024365A0AB4D544D021A0FFC0138CA15F6317047CCD982D7976C4
-E1BBA0F647D38D3D2FC7EB4D79F6F8894FE56F1E1BAF64E3AFAA32AA5646EA4C
-06190A8E4C9C9F7C7C940BCDBF4F23F6101A22006D31D028BDD67620404621C8
-8676D6BAD5F7D593971C62359F306C8C0F4AC8AC5D0BC9E12D1A3D7056FD0D5B
-26145109681FB1A48204D506B5417506B71DA736F4645290AA945ACB40E022D0
-9AA3B123C2166927CFBA23AC760B4F5D6687C7E7F9D986C5BF04E0025ECD9EAA
-0E759E306F00188AF1AF057B7CF41BA8BCA34082E7C0B1878BBBA974E68AF573
-1B9D0C6D45E6B2B803951A842D663096309DE189ADE283BB8B33BCEF97F150F5
-1F411D1678FFD8E116EA23232E077F874421BAAC4D86610192B21E2ABF3A814A
-EAE64F8EC72039BA060EE790D53D65BEBDDF52532C14E6C98D3C2D0C16278C57
-2BFD26CBBD3ECEEF5E70732C089E2FC2B92121EE7940D288B14FAC010B9CFE81
-34F18637D2AC74962849E1F24733C585A906A56962BE8F0CEE17E75660B45BFB
-929DFFA22F9EAF354BE7A8C60AF2A53E63DC1A2E6716650CFDA57CEF95DD92B6
-E430505ED2BC54CA3F22C1C0EBED56FE11228DCA431AE137A9C17920A20F8607
-78E80F471FA91B2D1D1330903967C450316CD0F4603C208B56124C0C42CCFD22
-B689FD85FE00E5DE43AE055180C46F826670C719DAA392A7A8B85555908E366D
-4D15289B059811F8C8466CBDA0DBB97B41FE92A75A72C8B0088D657B4065DEDC
-BCBED2D271533BE54847257A26845A866A53D1882CEAD9434508BDFC295FD5CE
-AECE1560EEC4C8B3A0A96DE72E27AEB199E8625277596876FF4AE7A4B8C42EB0
-F47A655B36A7D814323639CCEB1B0F53FFB815F1EE6F03243FE2C93524FEB3F0
-CEEA56ADF11B0C4A444B2C9760D76A1E5E302F791BEFBE319C5F6BF107A7001E
-BF637C429ACDC102A540F4707E938AE8ED3AC98B02E3C78C0813A76B12C0F2E8
-CEA71726EA517C32B1EF27FA02E6BFC624ACB6698DAE7F4F74C55F24A1B5326C
-14833BE22C874D2FF29A961EFB5A02283E4CB5F6DB013A5E2CB264C1BA662652
-217D664A8A15C02F364F2A69500678FAFA8F0CE9DE0B5D197F7ED9CC6413ED3B
-3D8E390BD85C53F0494DA75B957B2668B569007A84A14CCB89430A75E5982217
-BF58CF952133E128FB19761D625A058504C45EEBB06756907F7352CC2466A665
-CCCFC28D78833B054F93E3A17205E445734AF34048510039A42AA379F32223AB
-C2B17A71F45B8F3F3A1C757F73A0E75DDE9A6EFBF739F5371CC1F33591F2A8B6
-52DE91735B44B03B55A9818340BF171193C66C0D88FEA1F4941978EF35762013
-73EB645ECA86EF4DE35FE1EB05C8FFAD8C256B920F8D84F77FC1BE8AC0130D41
-80C4841F76694E4E8D75339594170E15A428FCE989B5290F65FBA54EABF17DE8
-D06164EE387AEAB676BE7FB5CBA4A46E296AA3AAE276C3B40FB893D4E1A8AFE6
-ADBBBE05611588B93CF153D2F4A20F1CCFA5BC2EF854CE06D4F1C4234B4AD30E
-3577052D4802488792B206A21DEE75B12374AB58D7F8D0700BFCBAE1F3B97181
-AEDC88F14889BB24CEE8C90CD4A520C7FE167C2F42843A90FECB82208121EBDB
-ED5926B49E4CC60FB64774364C4BCFF785D841413430984474384496C67481EF
-AC1E0A3E1468B20E9DEE5ADA3963D7880405C4ECEEF8D52E8674FDE4B2D0B4DA
-53802D3ACE08A55B3D4591117D97054BFE7CA636CCB68E89CBE4CCD7B514617C
-735294A2ED326325B4A1B4BFF272B52A0CA05E5B55E0B9D0424BBBD798C207D4
-C6A7E172B79D7BC98350A0A0F2E8CDF633640030DE0E765C227DDF353473CB27
-44BA7D1AA59A1C6CAFC68094505151B121A1A3D505FD74FD14C8848C518F41A0
-8336C40CDF8FB54F027B62C68609C6B22C41700C67B83D88E2AA0844122F3662
-35437651579C56488B500B69095D26C5FFBD85BB82F58D86434D8629B3ABEA07
-AB6BCDFD9832F3870AB296BBF885148496F91582CFABE7F1CBE85D157FF2F877
-5F507AB148311BE2F3FACA9229DEC347D41607E9D6FA9BE4DCB98582D34DC40C
-56CE34554159AED5269D006B547540264F9CD003BEAA731E3EC530C27F649209
-E3ED77F76730FDFA2AB324CFC25C1C431C48DC1BC36D11DB55DC7408297837B4
-4A92C324FEE636696FC8B866EB956B33B9AD6D2570C88CCD9946C8192D1A7600
-A2321208DAE12D3B3CABA79E69F718D08400A3EE95ADDD846173CC288229A15B
-10CB1FB0A064975E98151193007988FB6F8249C8ACDFE477B242599C58165AED
-9447A1575EEBBBF74DA4A8EAD015AA1D3EBC6F1BCB31A411A45AAE573408D88F
-1EDD63E60FDE9635A348FC2347C1338CC591F2D94926CCCC3CB6DD6809194AF7
-EC14BD7B5966EB6568EC97B6A48C46168E5E720BC496555D98433FBDD8952147
-20356425A1844F70526DEFCDA65B3E0CFF414109
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMTT12
-%!PS-AdobeFont-1.0: CMTT12 003.002
-%%Title: CMTT12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
-/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT12 def
-/FontBBox {-1 -234 524 695 }readonly def
-/UniqueID 5000833 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
-/FullName (CMTT12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 45 /hyphen put
-dup 46 /period put
-dup 50 /two put
-dup 57 /nine put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 121 /y put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
-7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
-A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
-4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
-A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
-75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
-9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
-098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
-ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
-DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
-5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
-F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
-2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
-E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
-C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
-42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
-4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
-95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
-830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3
-FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF
-F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19
-13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11
-6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE
-896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2
-91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492
-660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6
-6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5
-4BAEAABAF39E9F98B45F22F2E37F337A7BA412807A31B4A5A4E1627BAA964B77
-6AA397D368985045244ACE969799A9489CCA8FEFCF2EAF262ECE08BBD9573C79
-2785F1004C34F4D728E9E820B4133FD5F823B067F6686C82BCD35123E4831E38
-CDD5ADB098BC3F1B4162F45B11ED39CFB65DB1A10646D0B9FB5BBE475031B2AC
-9E0769CB063B82D1232E24CAA86D9D5DBB9737B1E69608106D34CFEE3FFB4213
-5DBFB88BF9012F430D56F7A83CD20ABB55BEB186856EDC1D1118887630FD2CDD
-295605F62988342850F206E4C6B10D9D1AA529269BBA8499591C32E89A4C9F01
-B6DD28F30D56D1DEF96B0C62E4D63C96567BF16CF28A8F6BE716E136C0C1B5F1
-3253BA34759A58AEF7DF0F2DECF50026C2CEF2A03D91784A86D5B644693D1631
-60E18B48814EAB101F267B951FB9B0ECF869998F74B32F2DC260F6A3594D4D40
-54CD8B9694B496FC2ADEE327B399B944DD6EDB171BB1D74A627C789DA1251EB8
-0A4A1A97E4BCB053DA203043FBC4654669E650006AF21D795FF574138FA0161F
-E51578F15283E429FBF126848DF5D4933A05F15B9DDCFA4F137C62276E0C05FF
-F12C6713D769E89A86D00394FCCB689C8B16D2FCDAB78BE21FFED0DDA6F05DBE
-868E5CA952A2CE751BF57BACDA232E60ECF92A684B2EF965C56952BD0E2B6A42
-735EB20115B0B663DF9105E3EFE332E6D4D2C12CC94B9C465F331E6BB4B508D2
-2DB3F31AFB87D6B6C401E002DF2ED150817DE7486B2E340D07735BBA143618F3
-26A291D1BE30986D79B36BFD02F91C64C28CE5383E883520B88A9691BE0ABC25
-C5916DABE0C508541B12DF0A1CFAB2DFB4B65A66FD3563D9048249820DD87A8A
-073965E6A10523D0D3A10238324D95E643351E6E97EF177690C93CA3CF1ADFED
-AF987030E338B6FF24DFC91802A365EA741EC67ED340398B44DFE84B1DD4E4E6
-4A2800AC9763F8CE7260BC02731FEAEE2BC011FDF83E19DE3442C5B1478E7EFD
-E5D4948BF78A6C24DA9DBC99D37D6D3ED8F180542B198791DE02AFE4687297A1
-854D6CE399448F49CC04BB5665885BE66F8212122BACDF47EAAD0A207857A8AB
-D60D35E7C2E6B92500AE93538A218C959C28084F437B3411533CA4B6BC34E625
-1222CF334221C20765536338C769FF0EFF70913294DEF69383BDEE2F861B909A
-A8FF67464D087596F999963250C23CF53C13EB32AD3A65064A0AC7D691BB0A6E
-93DF7E9D37C815C27309EBB69B9FA91BC443C26766690B01AC06A2DD74F722F9
-82EF0461991F9C487CFCE2E697B6974F7E3A1DCCF42389A260FBF0249011DF9B
-43B513827F760B98696F4C08C18EFA9D6A9603694855C2D9468EC963F18460EE
-AB8AC52728B72700B1259A739D524AFADCD305B3D8D9587755214C3AAF4C49F3
-1027FD7F80C82BB7EAA5792FE68D2C2A33485BC0B73749C9FEE1D5BAD8DD62C2
-F7157C7E1D3F9DD47D91DA30BBA66295F9D8E86D621DEE3E2456F05E30E6FF55
-2D7BF0BBBB9926AC413EE7E0BB8B56ECBFB62DE9D8A06501B6F49FCB298F2D9E
-AE2E20EF456382843CF66364DC3D9BFE0943673C513634266C51333D60660B07
-A7055604A576760484AC8A80CDEB92A578D1C5E222BE81C3E2E8BD932B20B39D
-FC07FE720C90DCB770CC8EC2173450E4E4B58DEC40C6892FDE30634367C7088C
-26ECF2781A83A018CEA9CF105942FFD8D5360FFCEE038F709B3D3C07B6ED79D3
-10241EDE2E4321F432023F51D39B9B3475D2FBAAF58CD7CBD01E67EC29BF3504
-8437D5A1AC5BA57AB795466DDDB969D6950813AF15A9FF4C440B48F540C9B579
-1AABE1DDB9EB1F9687349857729209FED753F456EFB0F21022C83EECD6A59F0E
-F8083CF9EDE0778C2DDA1CE71F85A57AB19EFAF11E5973D743D0316C597DE4C4
-47C8AC1C469E8F60FEAE988F1E4F68B97D8CD97DB38C0ADA5C42FE64A7771D31
-49A33EC157EF34656753C83B26E1BBFF01B909E68D07ACCC14B4D2DAF7C58C38
-CDE288B2E0193D3EDFEE5C70FAADDB0D7E7AEDA672134805ECDC08F328736BEF
-29656EE47C940BA5551C55226CE6B6124F02BADF3A9BC572C1C092AC696B5CA0
-217224E273893F5979185CB24C9B70DF5893DBC7EA27B8BB05929DA6DB751192
-F0AF3AFE1813A4AF41345FD3F245258032A460C7C8ADF1E5171684E09DA5E400
-68AF84145F49F0BCAC41B40D144FD6A49D62B4AAD9CB307104A528A9E044321C
-347DC1367E49AC41089FAF5AF64FEF66C79121CDED8D83344F08942CDE1DBE36
-BB074CB0AC2C8272C7B167958EFA9AD6910F0A36380BBE055CD56CC146A9C7CF
-C96D112468F641E5FF5F590390FA0951FE26E6C5FBD78438E6CF74A1F03A0307
-7E95F9447D626506C9F0E4257ECB47A27CA356B6DE284F9FBB5D1B45CC27065F
-8BD0DC8466E55BACB3C737A5C7EAF95E1B3B5A8E2B2644BA2DC31BD48B9008F5
-277E49258BC8904A17F6F0FD65270F69666F798E70C095CEB1F3FA061532A79F
-63AB6D13BF824651683D08171F058CA4F192CDF89610643EA48871BD77E6BD31
-DCE26D25A4040E3E0B108B5DA393DDE17C78E96F31A75AD65AA46585EC68ED1E
-B592751BC9713F7A76C00C860D5865FB29CEA3B50CA4DD6C54924DE15841AB05
-10B612DDD92E0C7194111DD7B15BFB3C8BCCE3AEB4A1C7766B09108300C05813
-E88E1D984660AAEE0A97B51478A990151D54DFA9591582D0C3FC9676F5C580A7
-E9A636484598E5B2B13C3F184AC8DAF1E405B707402DC769D7DAD1F4EEE2F309
-81744CFF3AA8B71B91737F8A88E258BFC22E89C145343F49FA26407FB996ACA5
-E8984B40F73B6204C523FFDB02DA74E62BC03F5EDBF6869BE1D797F725A043F6
-1950AAC50F26738FB29A23440FB520D07A6E6F2D365299EA664592BEBF74CDD6
-838EDA712585AD09180ADCB9C203C6D6279FCA07AF9AF9F0CAA6F9BC98F24358
-DE2EEBC1EF91748F841F5CB8F1B64BDE7F87D5DEC7DFDA6B86DC162CAA9DA3DD
-CD98C88B8A0C50C275585F58D47A9F594EC4D7FA019408692B19C3799784C139
-DBC878B6C9CEC8BD99DBAB2A972E20E27413D0605C6C4DCDD36D01760C6CC3B8
-82CA4D96D6145D6A7A0FAB66D1D0EBFE64CEEAC391A8056ED421875A21B1A6BC
-CACAD3E1796D1F3420343F6C278F2AA1513283739B6E22EF8251CB9E33DB1363
-7BF14230AB9222370CA1B6077DC125226E2E9CB99C96AF25A3A5C25871D190E4
-D03C3C0D5111DD0743A4D2EFF90C53608FD9B192E5F9141943919268175C26F5
-21BDC26C85613BE828CD248DD0400AE50BC728139DCD38F4428E14C5A27745F3
-2B6205022A2D0477F1ED47D68082B57AD0FA6E4B424C368D5D4612E4C095058D
-894C1D0B6C5329F0135F06AF73E5D944B8B4A01A658D9641882D3EC891BF7A13
-A3A5BE349914CED6E96ACD55CC2B65B625994D9A8A3A271F6537CACC373BCD38
-C6C66C216A9774F44F4551EB7DD811B9C96DE847AD2FBF40AF0D783AB2A3B762
-98AFCBCB578051848966994A28B7D1FF4716B5483BD0E9BFAAC29AEF5E5C5BE5
-DA29C680EF14BC74ABD27E28A0605EE904E1158F1BAF278E92C6BAF19B652DFC
-7CB35AC968FF65F089EBE130B80FB61A7713F09C92BBEA8C9FD0C9B797459CDC
-FFCB39EF798AEF9B0997ADD6CB4CB9A908E48303B89082C8C08F5FE8C4AF6D09
-DAE8D4818A938631BE0C7A2BAD08B6FCA8B795C2E7C90FCC307F68E1F0420934
-10D134A97C54A437E863493EE2B8777D0A41E5B6CBFDBF9FB28D04D893E621D0
-0991F03C36368FD97ABA2972B940337F0F28AB505E2C6B05C0A7AA8B0306002F
-0E0182DFF9D31CF3DF4690D6327933FDFB4E9E1B6D7E3441CAEEAFEC7C2EAB19
-A27C05E0340785890263E0D2E2A4ED18C3850CC97160F08DC794C0472A59BDD3
-2CD21C2F745A276D4ABE49918D84C55DA127697B950FE7BB9DA182748586206E
-96360E4660F68CFF793812141412F638266F4751D2E9DCFE554A9CB5A79F8743
-9B8B60A5D5555CE6445955B768A634676A1DB9213C2142AE4510616F2059D6B3
-9A062ABA10FDA02E6A4AD1ED45400D920890E0D58CDC784BCFC9892157FF000A
-62A8926AD321A2CB047494979DE67D2D795314465CF35E1AF40247483C36880D
-8F4AF96ADB16BC07A7CBA6F0A48B4739A6E74192A9BD3A417E9BE8C84917E2C3
-990D5209FBCFB030D56BD1C554853B6AAEAAB2815A9B75DA59164D1DEAC494D9
-76BB60D718D2D32026C173712F8161EA9268643918D6D49FC2AC3820438053A1
-4ABBADBC81D02EC6F27A430BB1F21754F54A00691312B1512BA5F24F4F5FDD80
-7817EA727AB1406ACF603301BC7A08C497CC796E019EAE966C06329DEDB59799
-D396EE7B50A8F0CF55E29497D39D16
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMSL10
-%!PS-AdobeFont-1.0: CMSL10 003.002
-%%Title: CMSL10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSL10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup
-/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSL10 def
-/FontBBox {-62 -250 1123 750 }readonly def
-/UniqueID 5000798 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSL10.) readonly def
-/FullName (CMSL10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -9.46 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 13 /fl put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 57 /nine put
-dup 65 /A put
-dup 67 /C put
-dup 69 /E put
-dup 72 /H put
-dup 73 /I put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
-5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
-8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
-EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
-02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
-46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
-4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D
-DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384
-7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0
-C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814
-25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5
-7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581
-299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8
-80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB
-5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584
-8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894
-5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F
-F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B
-966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E
-A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5
-9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4
-A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD
-94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A
-DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669
-E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929
-5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23
-8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5
-155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E
-4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038
-44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D
-8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0
-04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC
-A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F
-F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07
-111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344
-8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C
-567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728
-C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214
-C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094
-51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01
-66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58
-9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6
-2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4
-4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7
-5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256
-0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9
-233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D
-BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF
-62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086
-B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88
-DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0
-C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA
-CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC
-38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D
-FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24
-303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2
-8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1
-8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2
-C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53
-9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363
-4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29
-03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212
-93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8
-91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0
-FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27
-06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179
-95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954
-9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2
-7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972
-6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31
-5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262
-3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91
-CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1
-797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0
-DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112
-CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19
-8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51
-04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757
-78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE
-730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F
-021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79
-CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57
-90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD
-97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0
-F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9
-4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394
-40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7
-3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B
-362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7
-DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136
-7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233
-04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8
-DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B
-C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049
-B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F
-9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229
-3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE
-D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2
-B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571
-74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A
-44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5
-A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8
-3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1
-BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64
-01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4
-6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD
-DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A
-CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C
-683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D
-87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF
-550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6
-2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB
-17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB
-3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E
-F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F
-B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B
-1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514
-61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7
-124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2
-ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746
-0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246
-D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933
-F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2
-BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003
-75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A
-8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3
-B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E
-7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD
-F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F
-F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7
-322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E
-523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017
-6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77
-66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633
-B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182
-5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1
-093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838
-B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72
-6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394
-EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF
-A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966
-8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE
-144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0
-7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F
-172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9
-254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6
-5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71
-011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460
-B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC
-0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E
-3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB
-E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E
-993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E
-0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9
-18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0
-ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F
-CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228
-1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3
-A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A
-6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B
-BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20
-DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323
-1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761
-93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082
-E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62
-4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB
-F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526
-4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1
-361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36
-95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C
-AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0
-50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81
-88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932
-AB7916D44EC2210CB941B1455867E510E9D8A0B83CB645BCABDCDBFCD51A4E12
-60CFFEF0CCA548F654037D01CD631FC4E1F97B4F65DA9AE79D99F13A726E93DC
-BBB027B7D175FD17A704C4668F6F8428262959DACA9F8C687C923CFA053804C9
-9B2005FA7E0F07D81E52A9A37AD5CEBA8EA63929093ED0DAB9F7C99C82A50E6C
-6440387049A0C359218F5268C9A28F581783BB9D29E08772D7252FAFA6739687
-22570150178893C418531769CB3D96F799BF1C6415820F96B78BD1D5A73E157A
-ECB9F3F59C0D736946734773ADDDECB58F8095D33B8307A2820C26237318530F
-5D037E7D03324CDB27187DC701B3AE0F40089A78E3C138B84FE2165B6DA98E8A
-1B13FE03400517411ED880613336943D822F2E133A03DB0965EE09569655370A
-0BFF65D2BDBE1C8FB45642B3C13AB6EA56CCF855DEB471E057067E5B94A198A7
-0F173EFD98BFE6D74D11AB2D2D8EE96E469665677DE4178459609BFEE6575FDD
-28571116E4FAB5E3B202E767D231F0B6EE13EB09D71F71C2C17C37C1BA472C3F
-E3171B94F661C9EB9C63BDA797AA239E6EA04652AF6CDC7F00D17C0E85446E65
-3377FB5E444BAF594CBCCC6580590696D0F4968DBFF44A10E3723108D93E32BC
-C77209FE47C7FC8E0525851061FFC9E55E6281FA23F5E24727859DC42F5B6A74
-F8B8B759DC31EB79ED85A961CE2555B211480D0EFB4DD1D81131CCE8710FC493
-3B212F72BC73352AA1CB59A88C25BC71DD9D328B42E6467889CAADD39440E89B
-D15F281AA956963875A26B21D1622B594DB14923816BA154565491F90DF93EA4
-6FA1FE0AECE713C5CAEDDEFABB5BB4E35BAB5C20074D187FE5B58DF50E903DDD
-8AAD52173FA8211AE24CBF1428A0398C17FC2534DF5A4082AEDE04F7CCD07DE1
-38F2B1BD6A83FCD0DCAAB633EB5D988C780B32DC7D8057E26CA997288562EBA4
-9197FDDC96D8E6A5F2C00D8E425DCC5507E45DCA76C231045D02B40DCF2673D6
-FFB9A64EBD583A1B5B7368D0D1DC072C2883AC31DE806B70BC9271B58F99D721
-9F762FE07AC1E5010CF7C96330CC701E36A35E4A3862095625DE94C91ACC9982
-99331AF5E4A7A58FF78BCDCC12F033A940C9ABC301AB0F91744A9531238ED3CB
-F06674A75E67389E9396A47EB1C3A2E2D4C39B941B56CEC4285BE252DD4ED4F2
-B3A93B779D87379CF5CC6742C0A0C582B6B44BE4EA5D4F10837D89AAF75F652C
-EBA65BBC808DF6485BDEF31794457AB02F7E415E959FC90F3FB8EA430BA99543
-FD269542FF81F1D30F990F5D6A4A824372674CAA25C4071B96EAA3948C1B9082
-5CBE961C030B68F0C4A710CB54FBD0E05A67271232243C62780C9A5C753DE53E
-4CA7BD93E1BCF0D527C25679B5C8F49E4460FFCD520E8F235D2B88792A794FF0
-837E6990FD680EC8D8F67CA1A239D48929526B7DC3ECD37614962C06185C677C
-62DA50413121D0CF3CAAB234EBCA3A0D829C39BF996FC001C1DC299BFDDCFA18
-12BD4CAA1748534653621C57960E252A0DC250D4AB8067CB4E20CB03EE101D13
-DA4B4A2EF1B09E0EB5B5DCE5601E38E92F6499C9F8F7E5F20DB65F7D9C7DAC9A
-91EC1AF43040CD897A6A375875B0841EDA0F480A07ED8D636B081D46ED0C8960
-9A3CFD2EFAD9A9CD8BFD4DDBF36A03F198D98BF7FF4BA2837C7A5E60AFD1DAC1
-D9EDEB78ED8A25144D0A17178F684A31263B90A6F97B3435B94EBA4A6C39C9F2
-6A37CCB3E892A152114173664D57F63FC7F3695310DD7B0B8C84A5A127080807
-401427DADE3A799B19B2FC9534DB927C03BC8E6C9E5625E850B6C9024060A5A8
-97AAEA71C412A390F7E818C6C93D77A21D97DA52E08F6A91226D1731B7699E0C
-75F5F4AF235AC09612C177C74CB6E3260854F78823349C7C2084219B3C87E86B
-A924C239C44E9869D49894E154A15CED7481B9DE4CB3866F9BB1DFC20720E92B
-4D1FE83CCCEA5C205264EAAA92232F5F2D3CF445319F416F3B2F100A682C4D7A
-BAABB776CDD6E9510BF6708927FFB36B3E4D8745FC6AED2729552D4D9F320007
-8524DA6CCF78E2587DB1AB1D9F9BC5683E47DC591E533CBAA28DA89B74AC5D92
-4D32FDFF5F9C602EB47FD43A8AD85759F3EDF54FD8D91EEA6DF62B6908FD2AAA
-20E3736A9F628B6224AA9353CA0AF845FAC7ED57A6CE29A9FBF26287B83F5629
-A25DD2458CB276115C9507E595A3D5FDDA8817522E8EABF31C3D4AC0DB5B897C
-F0909730A01C16127193BA4AE0A9415E830F98A918A5C04D4D4C328812D46714
-FB6ADE779B4608F3589C499F6C0D23DA9FE1689B2484CAA0B5F5D7E2708FF6A6
-AF961DB4B7940CD2A88E0577C0F5D8C77952CD65FACA866C2FC0FB7A94C44BE7
-865B2025420FDB9E1872AE7EEA79290016F6CED2DB0A00B53AD17F35B3883368
-3FADB84BCDD25F3E3F6F8AAC00A95D6FDBC0B3CA3B66133AFE4320F06E1D5610
-FA8EC97A0613FCFD64BF7C8286024008617B17A8D9067E85DB0439BD1585117B
-209C41323DC8648B199D74B3727BA28E12B804C7D22D2CB2CEFD217CCE18096B
-0023EB7E922464CD13565439ED5047FDC968D8ABC1DC82DDB85D0B53372B1953
-F989095F7C9DD1167C5B2C66443820DB808DB097FB5195FBC5A3D9B7C3BA84FA
-97E1BF536B90A66DA0A76F326B12F0D996A8E97B98A2A363FF49F964DF01129D
-08A4F4836C316AE9C0D83101461D82B699686F3334B1FEDD46FFA1443B40FB72
-EC41A8EA5474052F4E9BBF152C75BD4CB5D20D497245162FE278E42B3683C14F
-17187328822ACE0753CF6297DF7182CE322E9B7BC9D5BC52B0F7BFF7E5EF68C8
-D31FAD58EEEF3F837320AD972A34033B15A7F22C1342947E15677D75EC7BF43B
-FC740840049619EF9CECDE0F23D84848F67416E3A4C9AA302A1FCC68C30F12B8
-7A1528AD133A86915BCF448C7101D892997670C3462E736B4D826A8478E14DF5
-0B4D4490E41D6CC216779D11D1FF134BDF7CFFE1A4B35CC9AFFA498187860BF3
-F6966D8B214E66AD210979F12767653E1E20EA8C57A7FC90BF30695A5863F982
-E3B40F0EC6F01135C80CC1868E44C3E555F1CE6D3CDF613AD0DC8057DF5CC269
-31C37F8E5B40BF8472F467D6F6CC55396DA76E08C555778B6CD2361CB33B15C3
-31946E35A95766B4F5C073548B98F13277CD8B580C8FD58215C115A63F392E78
-765C94B525C285CD5555AFE2FF64D9BF0FD8427379428C0A1D28D67C49E678E4
-E58B3CE33803AA5DF0704705298CFE1DFB7FC8593B446AF44AA496B154A22D34
-9C9A4773B1CFCEC29B954F55E26728B07A10B796CCBD88B030A2F0D19CA516E1
-83BFEB68FDE8C7C34B10521E4C6FE00058E86920529C76E336E9F419E8C7D8BB
-B6FCDD71AA953866D3417A73EA953B7820DB5FBF2C7D1734AF930F2F9079B827
-E4A34B99E495A212C4137288780BD405A83DB56E8BB978D7CC2A90404555246F
-4D02B50C2C5587889BFEE75FE5FE6218B62704F432A233C7902C60B3DB4FCCF0
-3D8AE36F6D18CBC4AFD0D3E053D486489F52843B5D9A3073EF6D267526133267
-D44235022604FBBD156C610522F8ABAA4101AC9635B0476A602DB445A0900C98
-3BEB2C40E8267D3B9FDA29B8468A863E932275F96CC56C491A26083806F647DB
-B0ED1EE6454C9A0D9D81D89F1091A6F2D29E73ED0169908E6664BB72AA117328
-B97B36EEC848846E14FFDEB35C39FB1376A3F47150E86869724382B50DC7123A
-AC50D00951A8584363973318D7BE61E4DE530EDC86134510592C82F7F3B8CBB8
-AC548D39B585244F56DF2F6591BA91B016EE41D9F7CE4916CF3E5A777DE6BDBA
-0F75822A41FD418250F09A6E62DE4C60B26C8139883BFADFC0A55F2618F6AC58
-436710A3BF58CDC24A2103B6691CFE76771240EDA70FA2C2648424631AF5266A
-45AC2F7DFCEF2B5FEBFCD092E98221E6049709A1CB1E07648410EAF64B524F4E
-30D984C69DE2BFD6FC7EED93CD4C3FC7EE25184FDCF46F11280718C4487F2482
-A5D5227E75A94C262799BA828B2FC80189A11B631D718BFB1C161B644F1D0C86
-95B11946748FBE058354EE9AAEFEABFB5C3D1A47E0D1D21F298F89544E6C462C
-1E5ED030C848AFFF810B6000DA9162727A506844684058157C4314B636012845
-67CFE357B52A25270D093AB83CB372A44A00ED37D8692B17F24C05E3077B7C88
-7E40D8121F33A696675E23A9D9CD15A5A2D9644C52816EC10EAA37F949C93859
-53597D32BF53FF463D6727F4C1B4AA1A92A3F23B801FC284A6CB59C0C4E40FCF
-AAEBE5C6AE5D868C161FF0A29AB9EA44667A849E091CFDCDB7A83DD9E52C433C
-A8C7732F63DF06086D86EF34DD686E11689A4514AEA73AE466701A876331B1BE
-7F5DD1A9409C6F6FFF9995CEE19D3C5EC1E33D4D48A4EB310C36404C9BCDDB60
-26337B532397E4681A720BB89AEBA666CFD9771308327CA96A2374BDA0F00015
-64A3E1BB65660AD1D4076EE7B6047EAE0EEE1F3BCF426608A8703BE43DF82B61
-378734BD91B833ED32A3122F4F7C856E3521FEDFB6CCD959A9953C4A84026388
-BA76FD4E69B11D1ECFBDE6B62CC95F4B9D2200067F144691946B81F602E9A304
-32933B1F6FB363405E1AD5A3C094F5378B5A81CF08A783DAA76172B97A0DB2B5
-71477C5127E5B71FC247B6D88AB5CCD17DC610211DB3E5DB52624BD6802DEB62
-9D1E9A0620C6797BD33EA11655A5BED5C15F70227202D32AB291B04B4AE73A06
-813F01A661F5AFB1106EC1FCA3C9DC75ED0537C2194E7A46A04CB1633C1705F5
-E6B477DEE5D7CCF4F7404162644F497919872D1503291B743A27A632F2250009
-6F3DAB96BE83122A0FCC85E66C8C685D3DE660CC237A1AE153ED51FA043EED3C
-2AAF3123B1A1C2AB3DD3E13A23B141CEA699A8EED7CDE2C9FFBEFBAE1E45DCC7
-E785EBA825470F44D453BCB5F7D47187F433735ECF5EFE29671879B697C14232
-B27D0A2C1DFFDCC348A3A2FB98288FCCD9D9BAF82CB1ECB11654DED203E9A833
-28CCC5AF00045CFAA30C768BEBA858258965A4336B132B6DF25E4BAD3B5431C5
-DF7FF238051B6FD846D4FA896342E44D5B7622AB8744F8906BF0600A184B4703
-A26E61FBC61B4FF3AF7F4E6F12B0014BDB0FB24DADAF762D074869A27C3C4F43
-B56452885F5BFBF089E585B7651676CFDB1FC7A0F1C38BC317EB7194CAF0629C
-F9C3390F8058E11484AFE0BFC0994BE9BC69AB722A7CC4B8F03B595B152404D5
-C153A5959C21D604BC8A0AF77314D244C05BFE257D06A1493D1F6AC8EEA10280
-C84B970457A9E3755EBC88C5458DC5DAECE15DB97EF335AD00BDF14775A6BABA
-E710C5C18C5770C5EE899D68D49176C215F8153A01705EC1D3655FDD2C09B2AF
-E67A863EFDB4F82D824F45B641F51788BE95CC157E9102EB44841352D771A861
-6AA0C4F0B893CB6F235DE84AA578CA2A78038BF84C7D5B81B3B5F88B435D1985
-5B56F7621EAFC04DC2927FAE65B4C510450BAF42770BD6090B3F0D31297F14D8
-C0D33D22B1F12A0B77CDB3ECFE851E4B83A6BAEDA9CEFF077F7C25F6093DEAA3
-9968161F19EF783A443876FD75AD77EBDC0EAA1FACE77FD984DC806DBD16CF7A
-9203FD3AE2A9FF3250D020802DE26CE0EDB7345FBC6BC04432DCD11C1EC3B745
-15C1C7281E4F6D6952E69232E15E3962BD78EDBAFC9515DD0983B63C02F1C42D
-79697AA473B322543EB691E0245D2C90D9B94AD2398C6E12FD85342394B26F3C
-10F24F897D74AAC0989C69AE51618C56B18D522F8AED6D57A61DA6D7DEECC8B4
-95E3F842ECA530BE65C8E622491CD1C87E72239188B2EF8C4D9D498E4BCC9F86
-AC9FB9E6D522082B7399D16649498181131BC3C2CDB76052FBE71A4C6A5714BF
-CB508BCEB0E702B31BA45009CC7DFB1DA26BCBFC09BED07D4BFD648ECE733558
-ED0909FEC0389E901F73882FD86DA3650AC02E53ED71597E51E258081D6E9497
-F3938075908CC2F771208CBC72B708074FB1D19C9DD63B3F2A30BBD84A4D8708
-DA5291D024E5ED2D390821E56D9BD62DCCD8956B91FA9AD3EBDD3351C4AF135A
-3A330653C6356872B2BF2F02ABC51F39713A38B52901E80FB96FD89EF87A534E
-02B3549B7B40785F0725C63798733B7B4AB8A18DDA94F51AB2DEAB9D22108303
-5E2C5AFF42B6ADA9110A768825ED631CC7897D7FE00501A5EF46EEBC757F0C07
-6877662EB52075CC38C5A088760053A3BBF1C3E3839934C909AF41340BCB32A4
-E751CAD62CF069483FDEFA6B94A9A086E8F0AC88D5817148C31119BC814F5F2C
-31891C8AB6BE3E0BF94F204C563EA615AB58ED1EE1C2168E31AC1BB7E8892DAC
-A65693FDF3B93626643D6F4FD5F0873CE7903EA2270FA4679FBF9352D76F0087
-3348FB97CDACD87F2DA42B23DCE4BCD95526F39964B615142BB1AF9613A0F8DA
-1B64809AB8C1A099E1AF3B32FF640CE8C09360479727982F5729050636396C6C
-44429ED6739BABCEA4211CD7CF3C6F7DE6C589AEABAC5BEE2846DBE2E3E48836
-F33B9881ADF120C3E6149109C387553B2B0CE8E166E559CE828838E20242CA68
-58A258C3C2954756FA8272B761986E0B1DF2118FA4AC47DF10D14402EBEDFFCE
-89D4114CDE5C2655C101DE9B590B06EC48755C33B7E83510BFA64E3F0007B634
-F7B1969C0718B3032AA2F145CCE25D9070224A58D4DDBA81BD5ACE70240D4CA7
-2D0BFFA021F7591F3BE36C990DB4DDB692DEE7424D64B6C328E4FCCAD871A6F6
-4ABA8FA5F39D84E733BD279AD164BADE9251C4EE4AAEAED1DB4B37A5639AEFF2
-3E9B91DC369355BA7BEE533F77DEC703052851A0D6C062EFDE7501A875D6BC99
-692CECD4849789FD8E658C18731D34A0A2DAD0B4406FD3908090F860D0E78629
-D521F25B9943EBAB1B7BD8A238853D6CDBFE4B2C4A3ACDDFCF0B2F864E418F49
-A049E144E5BFDF63ACB075631F9414E0EC68FDBDC094A28E226FB82A86AB51B9
-551D16A16EE0F26538957B3450DEA1EC563CF34786AA6E6AF5C0E670BB7817C4
-538E6024F1CD8809D917ECA27BC53599E203D5ECAFF2AD1051187F1C8BAF6748
-0BB6BEA8C4941D7DBD228759702C6342C2B0C1F5CD95035D44E888962325855C
-D919D238AB20AAE68ED56F14F3CE38D2CB99408E20E21311784441469B5B3012
-F0BD6822FCD1374B5A3C74CD00F9E82E3E16F9D779B9E15170D31E35DA116231
-7CA61CA22D5CE1A8F3FE2B7973048A95A10B4DAAE6CDD3B484EB058DF2DC0E9E
-9E69A57949012465E65EE2349D42BF65C66D40998477CE1940C1654CC4DD31F6
-69CF3AD81BC75F7DD8452B5671889AF6D7291D1CBD5113307AE266B486BE09BD
-DCEB90B71ED0C7C4788729C46D3EBA9DB95E305320B7D6A60E5E1A634E270C42
-4B6E158B180AB34692BC4D6B25CB1CAD614B1A65F8449C4BD7A733269F23C0AD
-F5FB97CE280E6FCDF5AA374C001E3D4DDE65999D40EE686D578749E4500984B1
-87F762725CA823FCBE1F4FF205453BF8A5465EA5511838EAA6341D878CE41D3E
-1CD7BEE6B5B147D917217BD36A652B5FE75335A3986407CE4777897A36B0040B
-1D3FE8454E645CE8797FB04E1DB67335E3850AA3E92E51913834FAAB8B6EBBEB
-4AA2693DD198D019EB4E7F610DCC072C45169082CCD4DDCF6847FFF3ED9A2A95
-0DC3B72F294F44416E7CDC9A08A326862D555A3BE75DFDF8C353D8CFA1A940BB
-93D7534D8A3AB83918B6D7D0AFACECE084DDFBDF4C760AD710EEF2384B94A8A7
-F314CD60C1E44618D2C30B4F02D368B7F51C68EB899803BB22E2FFB869F496B9
-A2E0105C302C34CC9C96E3FBF66E4E8F65910027D618DE5E8030CB99A6A9ED55
-15E6E935C8C1C815F57FC70BA82886D027061DB3BD6645DD9509F1BCAD0BA697
-0586C502C12E5D2A756BF6BE2AB8356E5C2890119219799437BF4087F18C05E1
-8133D3DAC8FEF7F4BE605A786F653416E25EC6C55B79098FAEDC4696B69667B7
-DEDFDA6737652973CE384168F1CCDB1C89E501E1824DF28EC2B76263C59FC211
-FEAEC5929E6C9A444B021E9DB3110281AA1B14B679E7FB833DF4FBFCE8A9FFF8
-AF07B0AB0DE12862005C8DED9078D78A64C86F9CAFCCE529EAFB8F087839CF37
-053352A0A6722FE56EF041585BE0DCABF5603E2C40A2F33077E631A05A370A21
-B018EE61E0D7E5B9CF13FC8D2F4F4520963FECC5E6EFD4ED3A949B0ABBA53A3C
-C688F2BF4FDB6C3CC4925D1DB953FAF0DA97AD4CD6D0D46083EEDD07E09EB972
-29267AD313E884535C7B6093AA885EBDC1583C70753B380D94033B718C6CAD9E
-F087C620C8AD44F7E08508317A233E184BDB7F78E160CDE4D7FB2555B6586F4C
-3E15601BDD0195F9FC7D27E0FD89EBB354FF07FF10D72AA5766730B413D69B5C
-F630A13EC00CA2400D04A17CF51FA7F5673BF074FB38B8E679567E1238078A02
-EBA4C57098B2CE0CAD479569F5D0B1606B9C96F7D873B7A0D15404E566ABDE61
-216C0FF336DC8F079071C3B58119E7032846559BC7C5FDB6BC93EFDDE3F21BB1
-83EE607D95093E14D0AECF49E1B5C6CD620A85AEE2671B15D9348C587B93A734
-F273D45E46F24848E7B5DED05AF19E5C45FA3C65595BF828FA3BA2E3A335222B
-4B628C657A171F16E66ACBBE0A7D823AB2ECE41CA173EFD863691D319F594854
-0B8A7ECF1827B052EE547ECBB709757BA37D6C0E227ACF442752AEDDDAFCAF74
-95FE66D153B7723ED192676B55ACEF9D5FD3CEC9250B24E0E771FA28D744541B
-A63ED0DDAE9FAFF43E66C7AE553EB36EFF70F9830BCC7CF22F42219C85F11037
-3875F98240FF86BB40551A96E3C71C55F9754124BDF030BCFECAB883B994B36A
-70BEE7F7A1BE1E9B6631DF2538A7C4D7ED60E6231FC241926C4619B3611DB7BB
-A011A6BA2543AB1CB4CC5237B0CB44407456AA0C5789CB85A76712EFD0ED7E13
-055984F90334C47533B79CFAFC9F83A79EF2B40D25384DA38E1275AAEB90EA29
-61E19079E58DE4BD909C196499053D6D7308D5182EF2BDF6B2F3FCA56D9DF6A4
-3288C9CA5B8303DBBD1B248D1B58DFE65839DD7E98956786843797B43A542BBC
-7A9DA92F11D7B3F5FC59AF37713A8317228CCDECC2A8BA410677B651C925435D
-D9FB90B6270E057B5BE4C4C4BABBF35B198F26C21541FF66AC6B04B40CC9E69F
-2C34E5EA1C6F4765EDD46D0649A39FB4E699E042912BC096CC4E3178AD095CE5
-C7C082A5FA308C62C8DFE5C865C488AAB80149BA148F399BEC08A4D4803CDF45
-6A2F64395D1D4874D928940AE305411369E87338AAEF9E7DF0E2E77C2BD3C410
-6567940618E4D2A3700C1582C4C8487C4623689F98A7AF8702935944801B1CE4
-49AC2F2BFA9B056515297B81082FA632CE3A1E36920CF1DF46D604304CBA34EC
-62AE5862CFBD562C4E165E46250AF7A49B9864570382AF5A5C04E5A42876C60E
-3A310040B132B163D44206995DE99654FB438FA5C2EF0B84222077911B70FF5B
-157C72ABBBB96895AD6A6E35DBC362CCEA8861761DEDD5A06B661E8602769A51
-12AAFC752BF55680B68E6F71D455086E8B706DCFFBCB5DF9B7E929621F0BBDB4
-9BF363A441D69C3D2CD51C14306D07AAC6061F8380E7E3E64F7AA39D1DAD569B
-0DDECD76124E6691D86BA8A1BAB81B413795764AA6C3CF6609C05A6A49193707
-FE82EBA327F8E8326905B2552D88CC85B03D83A8B8F809F1E7CF641F779E016B
-5E2D746321BD245CB2BA1B124C8D80AC279461A10B65FB1130F9CD05D180279A
-CA50D34986C75D7DC2D6785B1754F3ACA6D0AEFB6ED96FEDCEA14680AF785AFD
-2C6B69ADCA0D099F182FE07ECF0A5093726965C6A10064CCDB80BB37699378EB
-996A055619CA4C5E19D0A110057DA8B692BB2AEFC489E0E2BB99311CDBD20A97
-D51BCD0218B071A512FD99989C74E93E75A2DA47262BDF07121E892CCF61A968
-E5DD1554ED4DC70BB0FD7F7ED501D9562A2A8C09E3127E203F1CFA161172C070
-CCE7C58B69FFE04006E866D1DED955E87F12FF891AAC70CDCE7C5C8432B8BCD4
-ADF01A1ED9B2BDD1AEEE5EF72B40303CD8BCA58DE961FA1854C4A4B8D360288D
-31AD0E4B94ED0DD4C9FF0260B1CC8105CDFCD131603B3BE6DBA85B78453BBBB3
-6EC4A41CBED6C7542336098094D2E30F2A00911BE0C165CD49EC201432D320E5
-DE78D71A4F0491F960C0EF672244C3C3A45FA39757869F6EB789C8F0A9FA4F67
-73EB1B36919967B028B5DC743C5D933C3F20F37D922E2EF1F222BB9481D21865
-C5048361D622783C1D6BA8FDDFD3447B949CDAC9252297A6C208FD8291842366
-415D1CDA952B3E26F95CCCE957E17A83435623D5CDAF333209CA674ACEE31759
-36941014F53B8D6BDA7EED06CFCC9563D783A0221CB77A06EE031CA8799667DC
-47EA41AFCAD07247A02596AF2FC54B7492DA4A9E1247CE30DA565E64AB9D8520
-795765F09E02ADBA2DD826C6E510C2CE1040F66DD9DDD39A51276D7FD42F9492
-8BC0BC34437EF14E1C90C61AF53E49F7EB5548E52AD672E47D622A1C2FF6886C
-12DA3D996F96B08140B7EC32D26619D584D3ED504AEE41BDEBC437795F1095DC
-53C041955862BC11C17FB2929D3E120FC5176260CE665CCD2E29C3B3CF5A5EA5
-5F2D116434AD87FBA9791F482BFF97ECC322FC0A00807A1E49F55C0ABE892503
-BB270901B1F153767A5BFEAF9E86BA27BCC2432E12D271824BE6D178DE994B5C
-E5B6D25AE083D3FF01F13B2F9C1925E42017B46095C95F884B072945E12DCCEF
-1AA42E39B06579424D92F15486C651CB4A0EE373FA7213AFD76047DFA062C490
-2B76050D0A2FE4C379E293F67DBDC11F0E62D646BA35DD5F3FFF43A91CE1990B
-A2EAEC9382B6D0287B6AC1BEDC926C24A81D75A20F7F952DF66B4C71E42BBD77
-34F2AE8D4CD6A79032575B2891FE7B5A5F99A9A81711249DDFF763310C6BEB94
-93D8F73F0AAC775BF7DA0D838820751195FF39D5E1D97568F7F7453EB53BF91D
-6BE3648874A81AAB32847D6651A64A764729AA91C5110E7E0E7E90EB7507E1D3
-E8C66212EC93C4C71F7A513C01A5D4F424519E35AA5048AEB4A93FB9F1A2336D
-9D10B654037700F65B445E2BF50AA2FC7D4B4DCFCEA3F40BFA96F4C19E022B58
-94418C85AFDB898D87A540A6B62E299DDEA24100B9DEB5710FB3EC0B4537DEC5
-DD5E2DBB099B8E08CC20BC101A0F5A94F006FF6E05B05F6D90DB2EA32AAB3A9B
-3360831B4A27FD885F9ACB65ACB53D036F4E998ADED8414A0369DB419A110517
-551CC8B5162BAB6EA45E4E791AB7CDA89D01D96BD05B5BD4B85EE756105F21D5
-B880EFDAA6B614EF9BA57097CBB6A622F40EACB164286552C469C0DA88E4C76F
-8E4880CC9B00D6B985BD9A4913F440E301ED9AC8A4D68D4DC81EC3778E9351BC
-BCCBEAC5C5FF75EB1DB318CF485C6D69CB9E1EAA64BC5787544C3457D4BCCB70
-0B2E8AD2EA2D2F0364B145D3B8530273B8787575C85754FA750BA8685F82A7CA
-5F07300E15A35A28673CD7C7B9F4403E034E575F390CF7C27B7BE23D6144F8AA
-D79E7BA4BE461FA4E69D780A26F070CD74710DE210FCF62BA16C62E91E8CA12D
-F0C7E68DEA1A5E6C4D7D5B6CCFEF2B026363D6C96BF78A32E944CE3803EB973A
-13EAE652A5AF4907210AB0465F11FE27F630A4187ECCA6C54FCC33AF8810DA13
-6008B2D4BA72238D6F6DF940C71E9105D9CF460EF7CDF1E421E5B5D34FA8B365
-B53CEAD32AC9B914CBC63964D9511DB2AE10E9C4877E9863B8A53CBF57A84ADF
-CDDD959B9CF2A4BF53C06580C30C9AC075F90AFBD3B156C7EDA14B3E23BE828E
-704A9C88EB2569205C63E535FA57B7908B42CFDB4D290334B1D98ED0EC11DF65
-ADB44217E0C4796C7EF1DEBCA4A090F756ADC644BE097EF4787744751B46069C
-B753D591952A944D652895BD45BC30685C485ECDD76A8235CE9654381CD51D35
-8573B9F49EDF6A70FEF3D284D5AED0BD37C840FABDC41BE7F9C634C77CCB7729
-8BDDF5F2995B4DC9B6337A0E676B386208E500392565FFFA851A3FE2B489F997
-74E4BCB1D3D6DB943CB59F75E2B45E3E81FA776847405D8BA72A23C5836BF840
-BCC4B963D29E1C187EDDACDF4CA4BD6B913A236CC708AEF46479A3C3C66A07A8
-245883CABC445E500C128AA22D43D745C432EEFDF878FCE2DE4C09D566EBA210
-59722C30244A97AABE379A23CA39D957A0362DF356E89AF32662E9EA189824B5
-FFCEBC8E60F328A8382CC8D02C486ABBF83ED130F54DC97CC7D72438618D94C6
-44470D9D4EE6BF8532ECD3B1E17AAD50F4EFD30152285A57371045AC1EAEBA6B
-0189D20A72467AF6904614C29D788EEA6535962C7AFDAF9A64772270ADE63D78
-8CA231D55CF88857C2DD63E8A06370FCCC81AF23C486AAB7825DF383E3637B31
-93A7E66F9BF612A3BE54C5792AED1707059E2E7B1A5D98A74D88B6207E1B87DC
-DC20A76EB89CC754E2618626A443178DCD796650FAF77F884CEFA6A38EB9E9BA
-B1CF00800B78D15EC067AFBD94123B3C7BA80622F420FB6AC296CCF221E12A16
-E61453AC482A4D41404EF3695AEDEB887C97457C736EAD470C58501C03276740
-A350268CFEE91D161CE8EF041B18A8FF4296BBD66B324DB895F961D23DB37E87
-2A8241412CE064B48769C06595534CCEC0CDD421523C73E659A046D1AEC79030
-2D3A0F81EBC2039C384154EDDDFBD92BCA9EEE3276CFE92738A5A44739AE6B32
-2DCED14B550FB5E61F7EFC8527703B70AD0122E409FCFC074E718F0129A77535
-2F2EB985B5B90C38E675061D7F743B098B71C4AFD2A314627E79697DB3CA51A5
-CC4E3A8303BD605526D557319D371C2C0D80DD79023A17DD88521CD65A4C5D0F
-294D8D1BC2DD86C63A9A48585F7A9F3B39F9DC151EDF8A72E324B5054599C31B
-CCB43A8648F8C552D77AA9DEEB4096F5A323EFF7704F649B54CCB9BB2D69EAF4
-0E291643E434F7B431B5EAE11F7950382B4DD1886A88B484032C741442C27F7F
-7E0DFA86822BA76418D5529074EADEA8FE3F433768D472C7A3BF077F1C90394B
-3AB40264AD63041D37384BF8604FA6A23BF7A4A8A451D7A3BA68D5C45FF8DCE3
-C9E6EDCF9C387FBE7709A1D675384CDD457EC203EEADC6A8AC6A1FE55BFC9CCA
-7DBD22AEB4F68FB61B6208BC22E0CAD7EFC1D2A016D4EE2054127DEE8786EEA5
-72D0AC12FC2B24889002EFD665FA82A0D0EA3BAF3B29F824FC8C8EDFFFED4803
-E5D0AF7BEF8AAC625A184911BB28809661EB2631A078FB9A244F043ADB379476
-D0DCDABB21BE4F1CEE1B21D775A53DC6A1BFC4A8
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMSS10
-%!PS-AdobeFont-1.0: CMSS10 003.002
-%%Title: CMSS10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
-/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSS10 def
-/FontBBox {-61 -250 999 759 }readonly def
-/UniqueID 5000803 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def
-/FullName (CMSS10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 40 /parenleft put
-dup 41 /parenright put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
-7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
-DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
-511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
-1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
-028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
-1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
-63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
-274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
-388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
-E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
-AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
-154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
-4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
-29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
-CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
-C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
-131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
-302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
-F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
-AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
-28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
-121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
-A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
-8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
-69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
-BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
-C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
-B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
-8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
-161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
-F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
-A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
-0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
-D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
-B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
-DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
-261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
-B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
-64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
-F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
-AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
-CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
-5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
-73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
-A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
-EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
-1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
-D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
-13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
-C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
-08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
-B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
-23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
-56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
-2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
-DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
-3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
-5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
-9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
-2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
-F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
-73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
-B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
-11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
-03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
-F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
-5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
-60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
-622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
-BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
-C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
-8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
-1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
-F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
-D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
-257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
-7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
-611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
-246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
-E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
-AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
-EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
-0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
-94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
-73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
-AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
-8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
-5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
-6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
-B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
-129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
-AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
-8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
-B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
-753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
-A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
-93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
-207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
-3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
-7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
-D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
-09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
-5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
-B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
-E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
-C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
-F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
-7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
-99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
-96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
-1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
-48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
-4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
-45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
-D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
-838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
-5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
-ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
-DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
-E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
-5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
-46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
-491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
-DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
-F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
-0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
-EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
-E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
-0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
-ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
-8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
-8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
-A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
-4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
-AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
-2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
-14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
-647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
-6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
-4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
-D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
-60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
-4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
-BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
-1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
-6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
-65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
-D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
-6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
-85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
-7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
-BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
-9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
-6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
-2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
-374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
-39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
-AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
-1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
-E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
-AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
-B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
-CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
-9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
-DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
-670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
-99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
-8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
-E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
-F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
-DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
-99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
-DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
-51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
-40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5
-AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977
-DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093
-8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2
-BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49
-BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E096517A
-0CEDD60F43DDB684BC6E4C3F6F3D70BD58AAB5052936EC4ED7140EDE795223D0
-4E3B95161D16B0402EB45FE97ADAFA0433FCAF55E22BD7E4AD2030D9DC86F55A
-8D7EA00901EB1351EE8A0F1BFE75CE46DA4165D78043F8F0741D4D9DE0CCA00E
-5F7D89A849AD0F0CEBBCB948613028CFC39617FE9184753372C375A9896F5F1C
-7E24255FD49D2109CFF9ADD9A118CA47CF58975A9CD3A960A8A08A078B98A50E
-4DE619C8B2D3E15938C879D785539445AC468AABD6A6576AF0E8ED368A9350EC
-717B7D3BB55AF58941B47FF639CA2946028CDDFDB84FF0060D330DCDEDF13BE1
-FB1F743317C15C7A9F34408F5FF7CD9745217D9B809DACDDF7DAF9D821C06B37
-25738F0D20F4A86A079EDF71583A9640173B3EC529B98899601F0EBDFE45BEF0
-
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMTT10
-%!PS-AdobeFont-1.0: CMTT10 003.002
-%%Title: CMTT10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
-/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMTT10 def
-/FontBBox {-4 -233 537 696 }readonly def
-/UniqueID 5000832 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
-/FullName (CMTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 23 /ring put
-dup 25 /germandbls put
-dup 26 /ae put
-dup 28 /oslash put
-dup 33 /exclam put
-dup 34 /quotedbl put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 37 /percent put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 43 /plus put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 61 /equal put
-dup 62 /greater put
-dup 63 /question put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /backslash put
-dup 93 /bracketright put
-dup 94 /asciicircum put
-dup 95 /underscore put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /braceleft put
-dup 124 /bar put
-dup 125 /braceright put
-dup 126 /asciitilde put
-dup 127 /dieresis put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
-7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
-6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
-14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
-0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
-3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
-BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
-D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
-FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
-556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
-8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
-F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
-B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
-125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
-A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
-4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
-56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
-E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
-15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
-2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
-05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
-6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
-04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
-C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
-70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
-4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
-A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
-62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
-240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
-69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
-ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
-121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
-0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
-D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
-0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
-D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
-550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
-CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
-9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
-FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
-7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
-E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
-50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
-2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
-9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
-44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
-49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
-385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
-8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
-6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
-EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
-E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
-C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
-484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
-4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
-0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
-6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
-5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
-1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
-909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
-BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
-CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
-2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
-CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
-EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
-0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
-9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
-D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
-21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
-7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
-52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
-FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
-AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
-F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
-067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
-E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
-C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
-5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
-0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
-CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
-2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
-E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
-56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
-F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
-E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
-0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
-67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
-EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
-CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
-9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
-9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
-C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
-327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
-F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
-60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
-A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
-B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
-0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
-1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
-DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
-55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
-7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
-75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
-E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
-8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
-F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
-8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
-D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
-54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
-49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
-CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
-34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
-1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
-6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
-DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
-E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
-4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
-2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
-ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
-3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
-97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
-FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
-A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
-639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
-D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
-E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
-1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
-A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
-F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
-5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
-4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
-664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
-4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
-35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
-1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
-01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
-5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
-2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
-DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
-BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
-39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
-C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
-99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
-7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
-D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
-6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
-5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
-6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
-F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
-E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
-39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
-7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
-ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
-6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
-2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
-1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
-06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
-5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
-288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
-7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
-759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
-E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
-03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
-6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
-314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
-74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
-906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
-673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
-A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
-931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
-CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
-E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
-4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
-2CB594A3D6D3F8576C48A02ADFAB59DE70F6F9122341899250A4C0BA2455AAD2
-32EC8EA5F0EF3E73AD840B521DA32596763287AE83488053602966F43ACD3100
-E1A3C31B8B7E3B49380BBF585341E76AF26C08CCE51C107F52B7D55F1F67C3E9
-EE9050B2C092B117D17BFEADDA171ECC29F77AC21FD440651CB59D767B7E3F1B
-DF2D2514B0D6B96FAFBEBA1DF9F693D459C15D453A7B73FB58F5B01F990E67F3
-606364EEC3E8884BAB4FEEB449E94C749BD813E1970A0B4E19ECE69A17424DDC
-D560B19D89D9F437A48BDDED690D96080BC8A4AB8CFFE1809DF7903F6841259A
-0E06E6873997A3490967DCFBB99FFA480FF4A37E5F35F75835683515AF6CD0E7
-31942B25D5FA8C7D662EC1E8FF7110BFC9D5E041A936CE88E6C0D4A101A31AA3
-9401299DC7E6C208468A829AFC3CF055B93D3513CF897C9C50690DB088FC05D4
-EC0864484241A8D61FAFCC82147166453F6912DBBB6749038713189ECFF6D152
-2E13CB1053239405F4C3A7C781714AB955DA07C374F20A13306756497B4207C6
-D317C200E1D5F3D7CEF056523BF6C6F7CF9E671AF980B24F2CE894D6189EA606
-1A7598D9BFE9546EE62B15D7CF28599A4D077CC95B2CC574257E303376D45A47
-AB50384DCF50115A0B155C17DDD676314B6B0873B40A8BB53400B855E1749059
-2F7DA00AA18D16A6C5C5BC7C0DFE5B95FCE8EFF318AFBA650A385A4763F10456
-C6FA92367F539DA8B70B8929D482A7196C71DFFA3BE5DCFE21A1D5251D270D0D
-2D0BA80AA626815555A1051370EF46D3B9CF477C350F0AD2A7A2AF0E8161858D
-80EC5D4F7CD4F1D95F162F498C0F2A29C34AE6255BC7107D287BABA42D75FB25
-E85096FCF307DD51872A7EBDDEB74BB9E50D9A56CF1001E6E0F01E5BC22E802F
-CD4F6B8F0B66584031E824A869249E949A6FB9C28018093BC0C3405741CAD56D
-F6F5251539FB5894E7A37529E88B56EAEA8773A2437E7EFEF4E0B08F0136D9E3
-858C8E8D7E1FD0425A75F06112A2AEE10E47046A506B86BDC5881213A168829A
-B56885F3EA84FA4F810F4EFBAAF7E6E654EC271DFFC7A1246653E07AAD4C708F
-F95780EE7829E9FB73928BBB094140FCD3B5DB37880CE777FB55EE206A6A1133
-D8151A008605BFEAD8BA3714816F5B51BD62E983189A201016F2D7502E91FD74
-3D7BD4816A4760DA16D3D24BCB671AAA41BB3263A76B065F20475A6FC038504F
-0873050F420D81EA812A676A31138546BB8DA5833395126989E7584401412028
-0421685F3196FCD99D18CE42EE5A34FC2A47BBB48FBD79364F45DD9EA4EBE53C
-53959F1DC3E904D77ED44B4224D03325A2494B23F4737B8E9BD3096E0B528CC1
-21CED13B3708F25802F753B3F7C5C179C2DAC9F65E7C2ED1A7ED75698C2F689F
-B744551122AD08152B62BE214E5F44B8BBBDDCFAC0CBA59804EF5550D697344F
-7F22BB0B70B8DA22B25DEEC55CB2C119DE916B29DEF07497D6E68338BF279235
-C2E01EC09098FA46B57981087E3035DCE5BAA396FF13CC82CF8F8F5D241B9502
-918147FD2A9A76537EF1B4FADE88315DE6EEBCAC80D3D1A30A994758E242256C
-05462514A701F84EA2793ADF8E90199B843B62E930B23A5C2F73A1F6DF7F83CE
-66019C24DD75C7A4F03841BF1A7A672DB68E6BA04023292EC6B31AB12BFFD6AB
-76F93D15080FAF8FB0733322C45724BF40246A18A8D9A1C38B140648A64F1AD3
-418BEBE8CFD2532014496E345961E5F9F515BA24676205422B2C98E6B2E528F9
-898D2FD9981262929F1CA20C08F098023FAA4DEF308BF2A5B68658C91B59C58B
-51B357D8DA67A6F56EC07545AB05384A3BE2C3D281C920C87ADF20DCCFC64CC2
-503AE09A63224D6E9A5A869916E8FFE5E2E5D5471B7A2E074D65177E7DB809F0
-599250FFE4AF749501D3C552753211F538C91912BFF71C9A4B3C2FD96A231179
-6C498D8F1691DFA03B54C87F811D875943A84DBBC24C149AA585A7B72000C7B2
-DAFF915B4A1F43201E020DA3D30F70A3AB287EF40C2188DC6CE7C3F1CC174434
-317EBA8D9FCCCCDB9F3270976F69FE6CF8BACC6F3C051EE024BF3DF527BBDD81
-A7EAA080503F95176B199878DFC2807B3CE00CC0D1622E05333B0C62A0B04396
-940A7CBED059EBB8BCCACC8D0360FFE9121CB95CD9518EAA9CCF3132CBF9A73F
-FBFA3696F9FCFBACE0E0F8F734FFEDFAA35DB22ADE1210214EF4A4A81694E5C1
-EA3D87451131443ACFC538898FB0199FA0E1CFF80D7F96623A14EF467C870B15
-9500A0C40E931222AC23981C5499CD2F1A1464E0935A4E999E43E01B753C2A48
-0BC21F9903195EA842B5BDAC63FF7D4278CC2724157D8289B065498AFFCE71BA
-1E0D5D38871E0DB2EB7BA006F1E34B5B4DD7481D365662F6447C26EB1F6E59BB
-0C283436F8D8BF9E22ED780D0B3D27715BCEF167FC64669C421889066A22AB05
-7C7C2FEAEA5A8D3E4AA152E533621C30DCDA4FFEC7BEE08AFA1CCFE0390F05E4
-64F6342C26B210ECF8E97444753F21C6F9AF57326C331F091A85796A02DACB06
-5910D1EDD3679BA54219EB68F0DDFC433D1F9AECDCEAF2FD4C6F7EA8624C034C
-3419E5C0983AEA0CD7ECC32054CF2E7908B68A4A83F1390445F0D1C1549FBE61
-4D4BFA8B7DAAFAC97F1CA2FA34A8ED5352DE317D2897764E5F1BEE3FCB03B9A0
-E4BBBC57990524C05FEF8BF68D616665403816C5D149D433A065951D199E3965
-8C59E1203EBA3B15A3C5D6BB3AB0BFCDFF1823F3A928005EC7BAD76E2F5F0FEF
-A354E35D7B4DFDDB0C0FCBEB6D169900450C5423815820A6A2C9C88CDEE11C2C
-1F06B8BEDF7D8AA93DA93D5DD000B3F8FE3FF0191A1BB93DB3BD805147CD6462
-23EF5D66F1C47EBE301889D54248CAAE2E4D74A5BD55DE020C1F974C18A995CA
-6B09BA4354AFF850A67481D34635359C762F449033DB94B2B18D9A2E50D90F2D
-A5B327E9FEE21E8BE08DB10302D948C5F9239C25FBE0C76E91EBA1B05B5043BE
-DF77B840B2BE0A033C94E464DAC055D267FD3421534ACF12DEDD4BFBA0B10DEB
-09D558E46DEB8590A3D15A7909F011205BB511AEED350F45EB766CCACD4B8258
-FF92AC3F3DF8B1E11584570C06E54E7126C3703E8C37930CEE662B209DB93C54
-E614EFC7C4E3892661F605AFC28000D8A0EB810C9CC36147EA1CBF14E81BF98A
-30B01C3277EA886AA1AE2D7ADD69F3EC231B8F5F0BCE9B255D18B359DDFD48ED
-DE1590A2A0877E06AFB7A1B2AF92C7620C2BA0F28D7FAF65E8C3BB63C0BB94D9
-48268FF0159E1D6FA71F8A4F040FBBA9821D4323AC6DD4B28FA8A6E4571E7C45
-5D5620234155E3B02F049847881947ECEB20681CE93E6928298BA408921FFAFA
-06403215A33E829F9A92019D0AD14F620B90A67F27C813E9D0778ACA9B98B085
-C0FD8CA2B5BFF816F894ADD19D9D6D5D6AAE9C67CAAE00C3ED2A00D24C70C17A
-D6929338FB8DBE43FB9F0895C2C3E880958F6F069F744DBA66B7EDE932FFDBDC
-2CDFB6224D3BB7D31681D7FF79DB611EC88CFAB24D73123E1BF11562A70E0EB7
-0E04AE62FFD20D8832B07843EA8C353D89181D89CF7458F6522D3894DBF2AB13
-AC3FC5ADF08E6AD9EFDFA148FE7978E8AEBBFBE43B2AAB77BFAB98E1038EBDE0
-2048DB8BC645E27ABAC882A696EF19171074364ECE14658270DB7A2F2DCF94A0
-786484F4995108C33F02EC766E11A02A47B7930D7FD3EAE15965BF493BB199D5
-EC646292C2EEFAE3C4F5FD505AFF32AF0E6206CC0DAD26044035C19EBDBF603B
-375AC04CE0D4B30707E724246BC4DDE799AB85167522C80750CBD1E2BCE00279
-47418C0C8DD77A1F4B5F6D3319245D3DAEA58ADD3BFC5725C8284B986D37B30F
-92808C842474B49FC5C093A8277108AB025697688998D4B86807BEA23C90FB0F
-56D3FF2F82B5BC807081397BBC34DFE8146CDF55EF9B1B335ABE3A5EBFD14BFA
-D40756621200E48334AFFCAEE67FC9995546692F748F9137E81AC0139621D1C6
-4E1004789B54303E267E94350108EED94B3C11A91373D231399F3944B6985AEB
-5826719005424750A4C8EF242BAC8D8068675960A2E88D827296938139D92F93
-011D987D2F39744A5F2D9D44434D5D241FD3677E133346490590B998DC688269
-545A945DA7FCB8D72620A7DAFF7F6745B5446A4F8EC5B3BA42CA5E0E38FC2D4F
-EEA2B9A16D007955BB67AE6F4815588EA487C6600709D80754D61F435FC0E168
-CA4575BC0818F0AA22CD768C1EF7E99D09AA0D7A911CFAE6CE505FFAC2E135BF
-22B3D999949E382000533AFE2BD16EA0D6E1DB31CC6A1900A6F8BFE0278EB815
-32C422C506DDB0678569467478BCB8524DFCC300274343AA136EA61A2FCA2D75
-17A2565F77612604DE10520E69469E8470C6BC1BF6C7D2C21486645902553622
-2FD757EFC5185193D37F209D9E6A30DE381234861C492A3B3DD036155A12535F
-D157665D4F759E1E4292BED9586DF24D1EAFF7190F6474A38A60ECEFCF2D1072
-26606E7D07C0A5B096CCDE11E5DBBF8EA86E2CF87F9F8ACC096D50A65F5F7632
-A9CA22AFDBD9CCCC09D1611B4453CA1D07109CB856E52200D8A1DE9EB6B4E42F
-1B702F849EA95CBE1BD2B99E719F4473F9D3692BC3421D5529C92A49EB11DBE7
-1172E38731AA4E58DDDCE7365749081CA45F3DE6F00C2F4156538D3418A962E0
-805EC3A9EA1029724883B4183AEFF504AE8B8E05F883FFB373DCE7964BD2F3CF
-1E6B1697BA91C46C15074806765F345D4F13EC0B261A04C8C4410D44C2CD7471
-F8C59E0769A9B33DD9FA1C3788AC2C26F924D47909593C0445542372DE5A3AA7
-3641E93A26DE69989E5AB499AE7CEA454FC8CD95CBF55EC1549AF3EB8C2CC894
-C2B3AF6D92EF7F104D2739CEC9BA719E98AC59738A820167CBB9CC95AB6DCACD
-FEBBF71EFE3C0C2E730BABF50107E8323E5E9EEE604454D0CF4DBD9BDB570BB1
-6925CD3B0AFD8AC8BE2C16A53E8564DB7F7E24CD071CA099A9BC9D70995BE5C3
-0F50A9A9B86B9EF856978462F39D79AC95EEA265D785117287DA5283A1CDD365
-74BC98457D12CCB4275ADA08E89BC2676E0921A0EE929AEFC5F55B15809DE59A
-54F3B575C4696DD1A1E2D3AED0C0AF45206C072EF4701514E536BD2D917762E3
-468EAAAEE4E9E9C00EEFFCEEF9074092A63DB44AD43F39DE62B981455C084ADF
-D3E962A50A60641C662DAA9D990C03D511176EED88C6F05835ABA6530302AA07
-186B9DB7BB60C14C34263F50BD16C3ED12F2276658851ABA9987359ADC418F07
-FC089E7A550D3451E118B25AACAE9352A95D3EDE14E3D36D1409C17C32890633
-47EEDE4360D5F3C9512E8495DF77A1B8765CE41C4398985DAE1039173F1510E2
-471E6DB3AFA1BF4B117EEE734670209B16D962CC206B8169F7EB79132CF5E9F1
-B34E8385C6511D14C4F2BDB7F89C531EC9C9BDF1C79000D07BA1C88BB44E8637
-811A0722EAB6211F2E2CE0AD3B6414FE294999A2C09A9C7086359F757F752515
-C8670C6D77F9068CDD41B59FD92A078C33316CCD26988EC778CCE8028B6F40A9
-214B22B3D55AE12568D832E99F8939CDE8DEE0EEBA5DDD0905AC4A3F0B24F183
-E352045735DF7524189E9DBE6016185152451067352F2DD3313068F91FD56DA5
-1172B4DC53DA424884BA177E41EF87F815FD0E6C50BF6C9DE297062E1B96A229
-E006C1CB188FA1FDDD62DE2292C28378B60912A0E8269979883F3CB4A3BDF5B6
-E78355A26B85184DEEFA5802AF27D26657896A516FA7FEEC526555008A005D1C
-2394EB75A65DC7212859ADDD430010F3F52B2F5BE510703376AEC18CAA12E3B2
-70CB952E78ABAF4F719218765E9DEBF0D2664ECEEF354F5CACE7ED8EB8F2E45B
-A47EDF333BCF7C8E2C5909BF76F1E422C8439CFE2B3D4BA1C58AA2295A00659B
-F8FF83014835D314B21C6D6544A103F8699977074AF8D6223BC29D62C0AE3F78
-4811A45AAE1DE54CBCEAEFADD35B863EC20619CA95CD8F97EA20F0F7964CFFC1
-CBD8B2E25907DE064266A3BE459871531AF21449169F2C24B722DF7C56BE64B4
-E44C13BC0269554E1858791AF7E0EBC065C01820D73A40FE7A984049CEF8590C
-1E04F0F4FAADEDDCD7BD42896D22BE077DBCAAC6ECDFD393E2FBE3A9AC3E2805
-8B791052C5E11D3D059F79860600F5AA861D10D45299AD5BD0E5DEE23895D063
-5B9E89DF266EE5B3B813D7A153FCBB5372077F71B61EDFACE59957AAA37C2AED
-2F263EBC36150B9311BECBB803B5264EE85B28A3C3516942EABAD1DEDF7377B6
-607A01D85E1950B7C532015A4E2C625CB23F3E84554C5B398F7C6757545B9966
-8582135343BDAB1F0E2B56072B5397A991640D1D41ACB5A2FBBFA931429A0331
-D25DED37CAF038F3CB6BCFAE504781B1C4330DD3353A220069F33D557A993233
-EA7C5C70B9865840C94E3E9D80909DBC3BC092E94223BB632FFB6C0FC8A04738
-94162581AD9426154C0F75EBF93B3432E9ED4EE3C9AFFC818DC24AD6788EF240
-1696FEAB768EE0C8B90AB1504CE2160141AB7B14165AB0B17651ED2207075519
-8CCB5A7705E6FCF6F4B1E5A81E3653D411DABFCD71C9C7C24DE18D5135A822A3
-3EB2BCC782990D9988F7904C271D8DD552AA020389E2BD5DAA55E9100011BE1B
-5280E65DA84EADF37C84D143DEDCFBDB5D923CB932038D1DDB707EDB3AC993E4
-B27AD67EB6AA24271C5AFA920BC56B1BA52E72F3449CBC116D5C2B2412E40F5A
-9CF4D95F4CB7142D952F5308AE2317C0546B5D83FA072FF4BD9971FFF5D07D93
-09B61C80A7048295A277ADE18A481B8EDEBC9FE9123F2B5F5FDE9AD564B3BEB1
-D401DF0A4223168BD4983A3093FAE85FC71633AF39ED0035FA7FA6DD8B3F0B01
-0AB2FA80642CA7D161AC8F034E7F43F8578D14332E567C6AF8552B08466D1A3B
-E396F1C26B376461F8891BA7311B3A8C7C1B531277B6AE44C6E4000F66CEFEF1
-D757503CAC46FFAC5C11EB9E6C2B3B3B04C71BBCE7291EECD7FD6F88B51E5F80
-EACD1AD2F0590BBDBFF880B14BCF9C6127C9433495AF98604FBA6DE0CBAAEC28
-71D28103937B528FF14185E31A95E217D5710DC46A12E104F59EDB8D1CBBDD7D
-7EE10215DCC9D932F270788C2EA129B8BF20720B68991C2BCD36F8122379D419
-F5878FE9BCA022E0D9420BA2FF44DE9D52E49E483624057CD643A37FBABBF1E2
-65316A11B032D705D8AEDE6660FDED82C2C0D160D2E702456DAB9843A4AF6C5A
-03E7F45BF12415C1BD43F0D40AAD52653371113C6086D3E98D9E3DD455C7D035
-F2FDE20FEBCC1F64100C79A8EC44513086BF226B30C146CFF080FFBC03D7DC58
-7E854185B6419D7EE06E6E71EDAA69247CE568F2318E70295A0EDB542AB4A9C6
-7F42358C75233FBA6208152636F6A1A8F00D5AF67B46626997E63BF7CCC16E3A
-F6DD658AE3D661341626DE980675B55AD464B279C1F1511C8016380AF37AC4B2
-42E9E7AE16D3127E3B3D605C53A4124631CF40448AFA7BEB812B7ADD76F56A6C
-41843F4D47D4E89C50B78FAC6A62D732BD4A94C8BAEB6103E1957FC585E6D964
-117AAB80D937B97879769FFA1571D4A6DC71B95EEA768905FDDE5A808ABFBB1C
-09AEA5766CCE8D15FFC42AC0EED42EFD101383B7AC032910061268D3CD91C683
-BC44AD404C6828826AB8CD0A1C1179DCA1185CF77148F5B9C5983F8DDD2A7DA8
-584F71FD350CB7A63316DF4B617608F0530092C08DE828578C09345BD6DFA194
-CFFEA68D4273E330E07B8BF869071963E5A576DB7F6EF7C49DE6FBAB0F58E86E
-7705FE6E0E8A51DE95FF5AC86DBD3D8BB860B480810D686E9E75F1DAE7F77D8F
-AB6B57CA0DC9437A5805BD9C7A072E3F0FBE58DBFBA9DBCBE3205FAFFC41E3F9
-4A0234D36FF51BACC49EB86269B6BC53B04822FCAA4D3EB5D1CA61B1EE797CD3
-3358AD54AC3B1E68BEC879F5C7815B7ECE2B2A63BCAC4DE9487C049393860197
-DA0955577D5255972F520046522AC6327406F1754905736DA0C27EAC0A589F15
-55130A31A1F079A1B9994DFD496DAE934AAE1C8B84C4E5D1710080B5802C10E1
-801BAA9D681588746520A5DF58C223BC6BF3B16B12B8B69B48D067CF8AE9FA22
-9D2A7E385580F3CA7BC226A58B7B2FF212A4004EFD9964F6CEE5DA231D3838D0
-D7F44A53F2868096938C6685DF58FF27D5678945AFFE17DEFA827E176DCB9832
-3CF765E04BE85EC6C3328A05BCF514170A75413542E93104D1EB266C32293D24
-C9675971FFCBF9AB6B4758E0CB978CEDDB047C97F30FF2E5DFEE15E3018E3326
-05939CCF06526C1713F0BE900E2D2D46EFB014A4950D580A57CEEE7E8816ECFF
-87A9E4EA8431525432089390F26369EBBF81A4E681D15EACB45B58C594069460
-8ADEA4FAE4A328D7928C98C0C55A7F900C2AC7BDEF8F056AAF501F23D904C9E4
-33571CB063B1C692C2C2DC456DDEC6CA3643EA32CC4221CA07D718A5866BCF85
-D79AC2BDBD924DB916605A703845608F4B48AAADCFFB6B2B782756AD5DD12758
-980E9769BBEF31FD920AFEF8CB7B7AAFFA88B754B6189ADBDCD85671A38CB450
-5CF2F14B16EED6AAC1636E9B1CF4F6C5209AFEC0523C2FAECDE866D3A10EE6AD
-924D206A96D86AE8D7460D261B57C5218A35A407D4EA54C984CDAEDA86706DAB
-ED4DAEAAAB397A8A1CE1370D1246B2AC10C496074C89EF77DDA423B407C36D37
-9D0A599096F1B9D9C15B0D2E3DDCE86CBB9DFDCE6561853EFC55C990F1127587
-79A3A5B3EC40E404E1428AF9828BC6A82D458288CFA478A752960FC6FABC4A98
-410F7F77961FACE338E99781CF36E26B742E8949045CCF81DFF1A2BC76BFA93C
-99A7769223F2A6719B66AA3E4CF715045B232E13E6C4CBF1808E6199D4546E64
-FC3112A8E57BA48331CDFB3D92EFAAED9D9609207033E1B0DF5B497722005056
-E9BEEDB5F7A0980B79566A41BE197712480718BC1E639A06DE3D69A2C2922726
-A33D9712DEE015B5C5A11942D2A0ECB2C1A478343647B6C9161E281A3AF7C820
-5EEC3946E0CD3C59C1FD51D427FB0C5500E693E9F4DAE803386BEACC3228335B
-7D6A105E0832757F72F07AB980B08192593F94D6A12F51C7F4FA30A405DC8192
-7E452A9E6355CC84A59AE3EDD84305209D6562C9C45BF5467D6149E39340D401
-175B55343DCED9F4C7745C16CD5A725F88E89546B4861CA4BEFFFB9F052FBD82
-F145F8DC8F0A8428D80BE166DFA1A840BC19CD5D64875AEE599D2467498FB2BC
-241558BE9317E203A9B5B36849F5D65F0C4ED41460C27367C59D288044213EC1
-139761F93EC83C2B770F4A90C41E6AA0655B52778754F24115D58ECD6F6C5BD3
-343075F34F63C258166258F2386AD9FE107EF03595D8723322F485DD1EE664AB
-FBAF81CD45465CF79B20B837711C6BADEC795FCB6116FD195CB358104E2A90D9
-5CDBB322894012245C2647539FCBCF7EAB426B25F2B837A5DF9DF8752DE0AD8B
-289B1FCBEAB47AFD9B7B4CC9AC01FB362DFB0A667C896FD9FE55D59168299231
-B50D2F6F5315DA05D4669EFA1F9363C65A41BD1CB16EF3A24075A217815CBFD0
-17CEE28E02ECF037EA93BE00D183DAC05B108BD9854A414CE433F80FD6EBE6AD
-FD3DE8222680F4EDC0DF30D5CADAF2628D16D8B8950EB12FE6770D712BC8EAB2
-A525E0E57DF946296F350BA595D373E5870A3F9FC291BFFAAD1BED02951DB38B
-A8FE7E5F4803FDFB1A8BEBDD194FA492DEBDCC1DDC04E0DA1A029C000245ABF0
-62DF6A4202D28A235DEF31B7D3ABAA8FD87A0406717618E4B9D45C4B36012F5B
-30005BE6B2DA2FD7A705093E07728529115A9C35235CC31E494CCE40663E4C1F
-700C3739AA0E964DFF2A04A5C7051F78D787CC41B473BBB4137176F3CBDC60E6
-B0926C51B2242EB7473018D90E6339C25695FEA03B1ACF08EEEFD7CD0068C474
-95710EC4203744C86A1FE55FAF83432755A75031393FA25DA043819634B77B50
-44A321ACFAA9C815865211B44E4ECFA94CF284483531855DF4319A542682EFCF
-01038347E839F5CEDB69698ABECAA12B9DE53D94A26042E991DC1B534732E060
-38867BD5154967F2B43228D7F6D6D5C36909FCBA70ABBE22237E105C9D58DDC4
-3038647AA54919733E1E60853024D15F82CB77E9A0E37AF521B46426FA150487
-ABEF7A8AAD1EF0024155B87B6525E6035889396F926CF2FCBBDF461A786CBA02
-D7FC7D68A3248E06AD5A6107E3F36FCC61FB05FF367E4C748B3EEFD810D7281D
-25F1D023228EB24BD7353D343C83C867CDDC63E9785959F2147D039675990859
-11926F07D965701325EA444BF7B72BC20547AC8D830B7EEA3876141BADF0F2B2
-8C790A91D4D76B14AD2A174D4E135603E44906E744917BAC4D67D768764BF637
-2F25BCE87D82F1660D5B6BB5EA7E0AEF6EC6E25C632AD942EEAF5BA7B1801CC5
-C288FD2689A4650B5EE2FD38EDF302C21790651191E3314B71F39F8DABDEC89B
-83138D837640CB8E92826847A5FFFCA8FB078B1D6821442EE3A915F80D252631
-3A5E5F87B1DCB25CC2CF23FB005966DFD4B052C57ABD34B28B0FD145077E676C
-D40BCE8F8B131E47D69FA1D66F67732E771D3FB432D886A12EF6F1FC32FA5651
-7EA7542867B4C869546D618E47E434066EC92FB66B32641EEC6FF5D7EA020163
-C15DFF6749A7554D5F4CB6D7C371FB062FE72AF2D4B8536E655944E36BDCFE1C
-C157145E798F7841594F8E69F6E4C3615B41CDD63BC893871427FEE5B36B27DE
-C07DEC4095C95FCB1EC0F3E2AEA770C4DDD15EE084E5D6C72A04CC7E64091872
-E5AB221038C292D8BBED43A51C162F7CC1B2A94DB988D074E5D648351B8C0904
-A7DDCCE8C1AF49A1F366E1C0630A900C440F126435A371D32EB82A149EEDA719
-F5385DFE6FB5631FF728C13A554D7D13056DE1732536476EFEEDACFD474F163A
-91492FCCFBBD76966A6EEBA853EB038F8F44896CAD23CC7A8CA995B6D3AA9239
-2AEA2CFCF1EF40DE2FF5A0DD1A30C5CEA9D36432E4B33B2F3A3B810BCA327A8F
-EC2AC31F7B9AC7E75B10C1EA3017314160E4658F9E4CF48A336759640529884C
-4822214363F80C010979BB30E2A140EA10085ECE1CF79435D001070691F82E95
-39B817B28CC8CC17810586277C350D759E7988A941C8F0D2C02C94130264D0DA
-17839B084D3784DE3353FD38E625024B9659D844F8487524AA0B075728D9FB27
-4FB84C74183BF16A3BD032C40D35175349CA83A6883706D1300FD048D364A107
-4C85666F90E2D0BC3E5F67F5791E818447620906B54B4B643DBF70BE738C2ECF
-551BD3399C601A51329ABB2049D17F7BAFAB8F1716CC926EA1D9BD4268B0D8F6
-5B65CBC18773BD69E33F6A56B03DB15D92F624E489BFAC64EAB9A1AF3E12AF15
-F476CCB74917E533E5E651FE4C3C03C9918181356AA848F44CCC317216B6F631
-AD3A2BB79846F8ABBF41054CBAF7B7D60A77A7926656615DDDFFD05D33237B13
-D41142B1B1868B311D34CECE7D9CB385FCCF53810192808971E1DB26CC726A44
-448487E2DDF75A3788F466084B1EE85D175618B58DFBB0356524601B3EAEB1BD
-5C17314F699227D8E715B2509EF58080C92A484C9B0C348E4BB1FFF2D4A63D37
-06BAE3ADD22E146C4C982FBB3718E255900E89373856258D1D15BB4AB6FDAD76
-1206A26EC64DEAB14616E1DDAAA0C35FCF645BC8CF6D43CF37594046D6FDC4EE
-013B9A7F87B6E0F3E7D4A1D519B55C78F97227A90CB6B2E0622523E6383C11F2
-3DF0C3EBC2B3050CD5601BC70DAD8C9D1645B13BEA28717AED0F735251B19FBA
-354F4942FC392796FE3AC61E86B799AAB88AF8BFDEC2D0F2FB33247B44728413
-C32ABD4434E082D4D5208742F7E118D14B93C558FD5D7B9DB139B1934820A9FE
-36DF20DBB3562E4ADE813E4CCA42ED4640906FCBB0BFF805363D67379F96F29D
-DB016615F755BFB3EC72EC9AFB0730F89EE1E689EF8A2E93E4EBE17FAB80413A
-BFA9077C2BA7201A54620432B266A48DBA3943B93559C425793C5E31A87AE388
-2D9B6FDC8E857E89D9D55700832AF52705D6778B346C824C721688D9FD1C2447
-C7E482A74B84AE8E94FD190A61700ADEE1B42634436C760136D1A7201CBBB54A
-5029AED4C835E51C16BD91613CBD5F572B19D2517CB81962659766C113CFAB13
-0D1E833E494B7529C44B2CB8538C2622A644472965EB9E255EDCA4E05D1DFB6E
-3E5386A16DABF482ACDD477142C98B1C01C298A7ABD4DAFE17E7CC86555EE5E7
-257CEBC99194792994C21A715D9AC1E3588069A2DBFA53FD6DFAC9D59C102FEE
-E0FB74EE5BB4281C37A8136B104AD2401CC54D7E24B6A2857ED0C76351C306E2
-871BA435316B41FA232F715AE000356B2AADEA026150AC0AE64701CA915D0680
-0355038414D046504DBDC31C6B24EAF8A0AC8D25CDA86C6B941C3BD8B5A3ED17
-7A0F8F41364D9C8E8A7E042A095775F05BC68C69968B7CA3731330BBB572AC0F
-872ADE9355FB680BB2B398C37A23AE537F3689CAA65AE93274F68C8AE069005F
-E9D3A65792E3464BC86E93339ADE13548515B38287D6270F29A6376900A6A07F
-9CC256279332A3865AEF2A81E2305C6F5C5355B0877F5706952E1662C211CB1F
-EBC943181CE9C10ED1024D2B249E610E652CF61960ADECCBCB3E835FC7FD831B
-0557DF85DF3ED518101D580FE15E73C1914A387349CE7BAC7CD90301B85F8FB4
-D362778FA165BB75851F3370BE9DD52C3348F05D3D793E6308C171B789464A53
-F368DB8DA0ECB104AF5132595B9DBA02FE1423EEAB2EBA8ACB9D94092D00DFAA
-3916B0CEF2A3A2F69AB05972EB7C9431FC7D83B5F452B8E710CD843327B1F3B9
-630E541DE95461569FDF6BB0499696B2BE924B4DD0CA9B520D5638FE6F226A62
-8F42356CDE37CF201681F8977FCCE7A02EEC604CAFF999B3F49F54C6B4C311F0
-BD783FFECC9441A7CB7C4EBC140ADCA6D380C5070F17774B4437437777825CE5
-A662906870FEA3F236C7462C608A5FB862CC7332E8E2AC3F68AC92B09C145FB6
-5A4920511E560ECA9A9C1258C47FE0FD41603BA992E07505FB3F086C249C4F9A
-043C355389E2FBEDDFA9860630600FA37F9F8B221A2F5798AB8E19485E321D8E
-98BB85C32EA70FC9072EF257923BCC4F0A843095DB6316E45AA1EA40143DA092
-8D07EE206CFAC9D4F1977F6C9B42B8B98CF57830A889A6B69B4C771B075FFC5E
-7744A6EFF91827D96B280EA1726F483264BBF15FDF39AD40DE82B8F5F78590B1
-DDAF23BF2E3F8AC6F14F0C361E876C6278C0CCA5671112B78B81C86953B9F96A
-FA9298F903AF99F8FEC6EAB9A630FE866EF9E5A5B6064827BCD339228F261205
-19A7E90FFD636C67C07AC907E5126455D899B1C447FA0B43C80B2709381D3D31
-032AC8A1BB774A49D00FA63B43A2C9FB1E2A91DB24D99A31468BD794AACEE3B3
-E4ECC70620A1F350B6F79EFB3876C6642768009CDF141E8830CE0D880C9E75FE
-BF7D71815C0141EBB61F166587A50FE2D3686AF3BE8D0412AF28517D24EEA308
-7E874C20F029C5DC26F757CBB6ED216963D030F368CA98E885449D6A642C946C
-D3CB8C285635FCACE572E6BB2EAF5189ADE3FBE6C0712C696454D691F83D1A14
-584D349F7F0B8AC2D62D1AAF92AE3EA4FB1E37D8EF2BE9583259F7DA71DF104E
-8A79C4BB89CAC631360E013D4FDE92A9C48AB6C2AA6EAB102346D6E188105589
-37C0C5BC264407917AC241C7CB133BA42A97DAD1DFA7379F48EAFA3158A746BF
-F7C6F6B918F05727A870A62F8CD4DE561D133C0F8AD050C0A0AB556171581A98
-7ED824AA9F54C095F4FFEEB4FB9CACD24D01B48EF8FEFCB7708C196F65143859
-DBE07D85B79127F3C2A92E586EED74C925F4859A3A5E4DF7B5C698D1CBEE5596
-8E2681AF696C3EF6F977C56A45F6E43F226C1AC5EEB46DD3ED2A8F8BE248B595
-BBDC768AF6750E2DED2362F3478B814BFBB058F9E99E0A15A4142DB4271A0DF5
-AF4829F76E9B029B1AD93D124D40855D25F45176E6BEDF8C4374DC2C31B6752C
-992FBC9D079C9C14C6B80476CD5CF16E9A86A52C3286F980B1CA8A7EC29D51D0
-0D88BDDD193A5CBDD2E280804CB206A692A4F3D527C3427BAFF281EE62960BA0
-A5791298F5A375E187DBB731B33312CB17A19D8B9A8AE706319AF6DC10A5EFC4
-EB060FAE7CDCE435E0896F5BD17146A8C4F0F2E6536C9B65B35171D031C08B89
-385F2ECADE863C9736F40BE190B07815E4EB18CB747EA774AC03E5239071AC7A
-DA88BC90AA17A70F5EC12BFE5314497ED0BA04DF95F8AF6EB37E17162396763F
-1E0CC98288D22C7CD8DD6BF752784FC559E43F7148B64495B2CFA4A9A25D1DFC
-F1BC7D81A0315E10E4EFDCA9DF81BD1596A16673F451FD3E1FE72F9E22D9DB94
-6E309647BC743809308F063443C026D2C5FE8A5E8AEB124593D4D13612B095D5
-1BE7CBA6E4B685D2E4C86D7E46A04C5A21EDDFF0811432FF63DB08E22CE0B844
-D76249CA8AA17751CE5ACC4038F7244B70176FDEA1ABBD75913A7B665F212538
-B62457C0800115C7D64AADF2CF4EC849D19A38EFCDE1C8992EA7133C6CCAE7FB
-303F5CE52D0D56AEC825ABAE6748AC440E2340B583576120C686AD5DD9F2B23D
-BD9E0028C874931CA8A18FE342041825178DE46557C284C25028E351B77353C0
-457A874B109DEBFCAB83F651835EEFF02062CE445394954EA980E0993D0951E0
-E6F5D65EF52304DABB3E05FE794E923F5CC8330D5759702DC307E740C603BA14
-A49BD2584C1D48AC9FB8410A3DE29A0D915A3AA8C4414E5116A4D87A11FF6F0D
-BF921A20FE4FF099D176243BBE21643E493DBB55B009AB07EAB4D5F313F18C81
-A81DF3D86D0FE37C25ABC6DA454E0B7937A76907C66E180D64A19FE9CD484C9F
-D10AC43354C32D2D994B6D290EA2BF356D3A513365E435739BD99B4EB6119C2D
-58867718726B6BE72B508B8E4E8E73B965EABF93B645336658790F8070D16376
-5D11703B25E92D9A2B397BA3BB247B82331018706021184F21D6998067719178
-E5F70A164F7988E4860C4C8235DA5F8C161186ED711C3D6D6CCB98202377C25C
-79A5DD50963D84D1BB1D0DF5A6A481A536A43B663CD228A51230BB0C82F1FDD9
-1E4707E92A18103E6EAF494ECC5BEA06C4CBB01BE6ABCB4A05A956CB01122F53
-6B3DDA81A7188A9ED32F40F8A96D940E250DEB53FC68320E92F1F8D0533AF5E1
-82316309C8BA6318DFD495A327EDFBCE40A6B69F6DDBC12525F659EFFBB0B074
-C83330F582969EB12E26599DDE8957436DB66B3BD7C31A4CDAD9FBF5A6ECC931
-B2E0288B317D3F9444511A9B397F005CF08ADF4A666373A24EDDCAF77B3AD3C7
-AECAD71A0D25C95408CEB67598F209DBA513F136F923274637215F33E815BC8F
-6873B2F11385693E6B75BFC0D5247AD71E976AC7080CF0675D7C8BA46522EB0C
-246C9618EB83D2E89F1D281BD70694664E7780478769F0ED609ED0205A871148
-18573803C6F329DF9203C5118DEBED7260EAECFB34B318FC682FAFFC2EB73C68
-B7076B79BB77BFA9BBC3C5C6D6CED7B742823638B03B5CE592ED7AD5785E7FCE
-E1B1A53C44B727AF545A3B705F05086AA026EF362C83519C97A3BB1D17A064CD
-F1AEDDE051C5A2967B831CF9CF67180482BBEC2618F30FCBAF601974A73E6D2D
-78992007EB290A1ABB7DF060CEF8AABB1AF8988472ED54B2117457B6E62C5CD7
-ED5EAFE34656D5C5192EA9951CF5DEFC4A588E875BB0547F625F2270B48DA743
-8029168FB23FB9DA3F3AF1EF929D6962E088B597B7C08579B8AC1082D2F6D1F4
-F96EC320EB4976BCFB543AFDE6E5583272CC6DEE6B0D1FB7DC0D130862F7FC43
-6096D026F978C6C1CD3D1959584455FCA7617F8A9B4407A088057A17BC4B75ED
-CC4C5AE1527E56B07F562013A18738F79789CBAFE51F4DEADA603CC2AF5ADC9F
-7B54723D7C98A140EA148E094C420B0ABCA4619288E89DE96C5BBB5A34E399ED
-697E65FB2C504D803A88E4E86DF95059823F346548CAF55BB8743776A7CE42D8
-08F85490709EEC3F5C5BC39A3E031EF328D14702BC0A2541DCE25C0CFF917094
-11CD634BF389CD821BBF034AA1A3EA8EA1C45795337D8A456AF50771BEA8EDC4
-CEA20986E4851A69B1F1808EF29ED350795660744B2C0D151D669D6DEA532455
-8805B39E95A1E49244FE453DE323FB544993759B9C38822B7C824F5597710F44
-B704E608A487BB0401E622978FA99852A8140ED60C69C83F0F7878C79AFCDE3B
-F5ADF8D214812C7C8762F472CD2E0E3152EB830D419D8D83D7AAC5FAD2E8FE4B
-C43AFC8DE795D8BF9F71DC6F67385953DB5BA059D86385AF642B2D90BDA5C8BF
-48B474D7F7FF66A381BA5FD6E40B25882ECF39DF799010EB624E1054BA35F3FD
-3E8B812E50BAEBB47C105D42B43ACFAFDBE1D8DC8C2BA65154D4B94B9177C19A
-F8EF005D6082BCAD3153A67183A10FB7CE4CC76AEEDEDE4F2E53E74D6C161742
-5D8A10F2F289DB16FC47F77D5C713362C78FC49649327BD559129A2529B626E4
-85F42740BB98A904F41A556F434FE957D37BF206B8470B499A95CCB71A3CD42F
-DD008B68F8AE5976B332062947303FE5661234DB06E8BD12D101D08D88EFBCBE
-60B4A84DE3A9ED21FADA2024DC8EA6F9F24CECFD668B329CB9E695D2DCD5E572
-C215CC9BFB2043F6F9F25BED111FA07F5145777CB2DD4DE80A9AB105139EA371
-A3B6A6A3F817237B81905134EE73DD9F1FC52497D24744222126B2F695F1A75D
-262A7CD1A26522E073E921AFF81DDFEE1C0CB41E08E84E7F5FED899626393DA4
-1EE363E2FDD2A85E76B8FD689B2C4E57F54B71669BBE6721A7CF1889C91851D7
-57C594ACF58358A4D42AE87D428BE4F034599EC42480BC8223B359DA5A345F7A
-66A747F70FFF40745AE87693492DFB6306BDCE227099D9AA51C85A1067A0618A
-42809EEC851940402E2CC440A9C64EF20562C683EECD7D3A1CDC2216EE59CA62
-29A827E8E7F1D22960EEE1B6E0502CD5BEE61FC7BB9C3D7A6812058EA794B143
-9D1D3D09D27EA8C105592388EB4B1DEB08CD9C7C585672DD33B279CC310304A7
-E84A29727E5CFF25F3219180229DFEA4CF5511FF747C8F0F2969A7C1185CA714
-3F25DAFC50C77696CC2F32E4273EF2068F024ECCA2DE2CEF701573FFDB1F669B
-2319AB9F52D1C5090317480A909A96638004CAEC6B864C08612C61B0572126A2
-4DF761B712FD53BA19DB118E593D19461B687369D0471C090EFCDEBDDD5166A8
-05763723ED29B233454997D98F08AE708797C26AD5549E38EA2342EA0391FB0B
-5B3C0B29B9EBB7D4166899B622E559DC67D159EA16A4A604E0155E8F5D62519F
-75F2BD4331BC9A3BD9F6276EB1D9220598595617803C584145348E77138AF16F
-25E2FDBC97B33B53389F5B8557B95C9DA50FBA2B8E2A756685440D0972BB83FE
-A79CB534581ABDDF5049272162209AAF675BA2CBC96CC61716B3002DA4C68E2B
-67E068C9B58E85A65DE1818716374CD1CCDB67B57B752B1035E71EA9DA1C554D
-9C3B566C256578637C57752D70D84A5B272374C17C0BF46370E457C01737BDD0
-B91D008E8FCFEF7370A5EBD02579260802D53E4AA4FD1BEB04A9C4874A84B028
-43B9B33FCFED3705E7BBEA98A9394F759AA368C9B53181535F76F170ACBD3FE0
-AB037CA8CD287C4E0CB0ABC1B43FD321487B77B40CDD8151FCA447C4387096B8
-D184A7BB97A26C78883CC0DDACB1131673A3A4DC4C217501EB5523C71A87ADF4
-90FB9701AA4AE62E2DC3DCAE5A25191AFB1DF6D994762E9918C422754358ED6E
-73260766DD2FBF3D35AFC0AD9721EFDF63685DB66BA74773AB0CBCDEED28D5C8
-957C94C8DC5D5CB6C353E03B1276A9475EE8C91DE56146358E0675F60F9DED28
-F2F240E0FEB1042157DD16989E84493F32B1C13B46AA7B5E527291C8A2727998
-4424E50821DE9AB75CC6D94D34D248756129C633F74E3E4A019C27F31BB31ACF
-A01D832116A6C6223369A53524A71BD287CFB7211FDCFF2537F947DF2DF477F0
-2FED9557981C541D83D47527C7E74D82A6119FDB4C009B8CACB05197D3B15A96
-4EF7CDEC40E45BD4C0EA2F09DE2B1B5497B1637DD4D3655C4AE2994FC66DCD1F
-A2D2F8B2BD229F4495E022E6928304C9AE70D4CBC57983FAFC88F6845826E4FE
-CB91D512650933959CC2F7A199B9FBCFAD7E791C43765A96E36411173F87127E
-1CE1323F6BB9D39CE8089D7F60B626E43DF6CBEF48C7E485B5EFBAF5E574E15F
-8C36711D72424272916558D3CC8A4E8E62F613E1D73416B7A55313533A694479
-1C51C664603817BFE35CD9AEF0773FABE2CDBAB488218E932DB1F0F0E45B99A6
-C416AB21D34B54EEFA99341DA7FFC9A6304ED115A8369850626FA8DEBBF7F784
-B6474825D1B0E06B514F943E390D7075BC48E8D71E64C75EB3757DF920B2F4B9
-7B6F72D4C55CA83E4703E7AC40D844992BB5AB0CF50F2B3357BE86C03890F276
-1E09F4B136C91297905EA7C5052554732A5A604D2FD6A5D779F5C6ACFE77252E
-87FC2C45475DA3F6E4BBED4B3161FC69C52DA7C9C37963F3288EF700A7AEB7CF
-61D7574083C2515C33353FE678A67BAA0A3F74C091EE8B92F9A43123B0DD223A
-CECD94682321479BAE6080967CCB94F097E30A34CEEEC0382DCF0306EBFA9F24
-F900525B15C328DFB860B00A0846FD2AFB9122443B065467AF4E7994E55AD8D9
-2A4B56EC6396DEB2764EA0EB3E2425B241B8649449C999AA8EBF2E2E3A703E8B
-B1D34920A7E65C37AC47664C8D43F5B1731658F651E53B904478797836F125E2
-ACC0D87B285E33B09EF5F9895189036846CD865E1A710ECF83E86F0CF21540FA
-E1CF625EA322411583051F7658116CE0CE590D9FB9FD0E99D166022484E9411C
-C9F1460EB3661424814F2BCF083ED92535CA5D6DE077EC484EF9BB9B233DDAD4
-030F36568A7E1F04C2628AAE60624AB40535E42003807BFE6E03FD05DE3F46F2
-5D9C7F0A65C48F50048A57BCD19BCC0DB3092C7E9543BC3AB39FC05FA6C1915C
-C94EE4E038B67255AB0423934184D2E5B4DBA46A60873B0CA28A477E6985A0D1
-86E68DE8FDA1935BE86BFCFF0C8E70F72C5D9B081B43D9919E5142E64E1A25C1
-56D516FC2D71A3001E6B51DC1B44B5731161D1EC2AE428CFAEEDD1014134722C
-387D3265112FB877C5350398E5991C691926BF50DD43AEF365BC919DA9040BB3
-F23D6109A0AE8D54F8AA05C7EF03ECC4BBD70D4E84E6206EF0E6D8D9A479C2C1
-AB2E76628D00782B51C913CBAD9491293B740BD9C783AB2D57CBCC2630DEF420
-DDE33319703C0A552ACFAB124CCC658AEFE4CD8D65B165D4985547312493FC72
-46A1399426160F09FC23A43424D60364B8F54AA91B8C506C015DC640335575C6
-9A9E34A64B6680ED96D8EC705B93B5827373F78AA0FE060DFCC88D07D441422C
-3C17A9ABA7AABC662850A5C9E041A1BD9C5734CFE3263E73A0A1A1D8888B85B1
-B1908CDE3D5C8FB13B72224D8B7624DB972857BDFE9BAE66E3BB9CDBFEBC7EDA
-2640EE60442AC2B4E47E03D67BD4636ED9BB38353DCEE5729BEDCB9DE2392A24
-7A3FAB9F7C70C45B5D04A8BEDAB45827C11A1FB416C14649D71D2641A9540F18
-42E2D11E71B79F3945A32B795693BBB1773039849E4E4C2D2021ED9831AB2188
-C8B67337700302960D43234A95CD6AFD46A46C15963F9C52930CB04DD9FF44BD
-4277ED76A2007D8D2266593E1F1941B27C653B68530290387AC77E772ED95F62
-117423F9F89ECED40EECFF3FDAAC3D1FEA9F394DA20D88F80A6309BEEEDFD18B
-E5033C936AF63FCE0E0EE1F565AD98921B4B55F2B4BBCB4AF4DD1DEACE7B0C8B
-5660311BDA624ABABB47914DF3EDE3300E03579A7BCF98BE81DA2ED2EA6BBF45
-190C02C71A01ACFD23359D7A2841228FB675E997A3B0181911339B4CCF18F75A
-F44FE92B274D9DF83381AC5C51C82B75D7C1C59EFCBAA250233E6147B9F848FE
-DAFA0C43DEF0020219D48D74707A3F7C978835ADF8FA0E10D49FC69A15F77666
-43BBEFF26083132548E44F893D838D0AFDEEB879E44AB0D6A81BEAF29A7935B8
-AD8E36C6F7AD3C0DDB4A40FCEFFA9AC76B3B3C55D742726A2119FAC63203ABB6
-82545DC656F9BDC44C4FB1F764DB5609F75678B8D590BA9186ECA59C1C117F07
-730D54733BF28CE1E4ABC9D2569A111BABBBEDB83B5073E787B7D668329B0147
-C373C41B9BA4837D3E1BF6671CA51D52C320A023A37C1C002302C7B1EB1AF1E7
-52A7C429F77C264308AAA80C24EF069E20CFB20E4A1D9F8552092188F002697B
-AE7ADBDF9E8BF81A57D53AC8A6BB39AFF5AAAE3C8BE13ACAE64A7CFED0E8439A
-21547BCE0DB8EA472727DE427BF44E3FDADB48B397B1D4C09C66C33BF255C245
-2BE82DA5E161A395652B910E6FEC15ECD9205B627BC2E4B4FED8BA2D8C5D00A1
-4BCC2708A3A34F80BB80E61EF96772DA3909CD5F65A25E2AC0C60EE82F0346D4
-EB083D41F91B60B9FD42401B985D200F0EAB8877D7953372AF79AC64ABF3D84D
-877ED1357503A2733679FA240A47679796500067E65955ACA17ADAB510DA6978
-643F68FD0022379F19A8DCFC1D2A7959FA560F67E2AC6BD4DCF9D5B17C0424A5
-6D8153611511C5D9012403410D108D1E5704BDE56F6380B1B2040A3C1A90EF47
-E37C6D914394FA7C59F6F380F4D03590A54BCC0A94072C439F55F5328211A862
-53A1AD655374E6A6F6AA14D3CE7F1839E043A26EA4F0C74D31756D54E4527965
-4C337A76B8C2EE59814DD7FB40B87CF298BB2DD1D50D7074B8840283858F5008
-ADF9D03849B9CE01F84CCFF837EDF51B2B51E2AC57F52D218A63E28B9FB4EB1B
-0FAB2CCD53B039AE2A3BA27F727853259C46EE84C463AB084EE0A32214A1BC27
-C08891EAF337BC4EF1C0FC37FCFA74F4CFF43290A71F1BCE1A75AA85A0C74C8B
-AA467DD52B82450028508251B958CD210462003C9C1937BFAAEDC7285E8F9721
-EB7055EABD746E5D3291E2FC8FF716DA6B74A46C221D1AAABB7C161F77B559CF
-B9A9B1398CD8E3351C13D9EB868A4DF4C83F8D23CD35F5E4BC419589BA51121A
-3423CCCFBC06620147F221FFB1492EE21F4D482CDF2E17F397E7FEE310D7246D
-447CE2E603618C1A49395297440065859622D572129E596E3EE397592729584D
-A000B702E67911613012FBEAABA687FBE7E98ECFB74C7DBF5830016776E017FF
-3B46B98CD8A9202CBAB0997DD39068962B2365F373487D4A4E6375EE30AF164C
-4B9092B42020C064BE394E67191D96820F9EE8A9D3ED5F15A4D325F6ED540750
-7B67BF0BDE699FF2547894934FA8A86B97FBAA4EEF44D8922D38201D63B1CE6E
-7D8001386D73A7D5B78E5E0B0447C332036068D3A4DAB454C1F1441755B0578A
-10FDDEFD41954701DB17D05B9F0C38C43BE283201B76DAC78DA9C9712563E26F
-98158B5D099A59A2F962AF90E333950F992DE3866331955C0B842CB42B5FBE9F
-376D214ED9B044ED239548566073136005411CCFCCF6A55FE5406FF7E5902B11
-118C0F9E987D5EE6C5E0E03590E8C04F33A17D256F97F47E2C4184456454ACC6
-6E952F6A207416C8714758AB4A0C4886A54676A9ABC729BE68EE0050C35DC7E9
-B1A6F8904530C8ABB7FADA44DEF2FE5E6EFFB4D618708F2B5382D83C5A690690
-894A38FA0214F0ADB22C605526A9649A3FA05EF8E1CD967F5E4A87AAE649ACAD
-1B658D2ED4CF7A0EEAD1AFB3CF6EC84476A3B8C2A3FA21109331DE38A783F1B3
-46007EC251CECC547F5368677FA7D81A683DFACF19C1169CE9204E50486083AC
-CE313976A51662D122B0AA2A9A2C1C8505063CD0E83A085889FE8F296B99DB2C
-AE37F61634CBC805C0416AA3F7514083FE0047A074EE09B6360EA2E935035C35
-883C62B94F6B7B2729CCCEDFAE81ADECE7A7C866FB483235C454388A478F43CF
-3B77CF64ED13729493A614EDB495EE61B7EEC379FB8B2820C5A6AE1A4C82B01A
-E051C870BA148E8F9AEB5EA629F4553D99863685A485AEC80F45361E1C380821
-7C54658F8B8BF39F997969AFE958F9ED2E56302000002C7D01F300A71A217DED
-E294D659C82A49A09FEB4E12003ED61FBE2EF08681F6C6080FFB56D7B7C83BBE
-212AA3499D763938DE89BD7634D97E85C1B318F729D5CB18AEFF8D946709EFD0
-477EAA4CCA923E306B83DD4178F369047E864AB73467D276F00872EDBD9C02EC
-BC7453C8EFD4CF055BBA38175A229D5909B26A690EAC602B27BB1AC4E772C886
-E02FAD29D835E89B4757417535C3A4C62553EC5A57445D66F386F77E03A3A77D
-FE6596DF0329743D6963992E9D399E77E385271017A2EEF1AB60E600C05D9042
-393ADBB92E1EC0287BA44D7E670373CDAEF7B0188F62185D3FAD54A0F315C593
-58E4E59EA3F6A95A9F9DC242AD7215A14A23C6FA716D3A4671762F55A35D0D12
-E25517C211A9C6E10CD4BED71BDE9BACDB1FAB83FB5982847A9467E247156952
-6F72F52B33F4EC6A0BE9D30A89F80B542B771F467A9C501CCD579977D630CFB6
-49BC1B1C2A9874D587521D7EB505D7D83296EE1381184C3BF3119611D2DECD85
-6C87D76E3E288C8C0E671672E70BF204AD73AE363E72B6D28D708C09D82522B0
-CAF9C20C967E0E241469B579C6C75753568ABC1458F17DDFCD44AA9D33790082
-F3D61342D8549EE262FBCBFB95A5AE95A96E427FDC62B6695D9A66F67AE5E8B8
-0FCBD5A3E8EBD106D48116DCEE7DF527E14A92BC20D69937E562453A67479647
-D76D50C0B0368C15DCD28297CAB96A85AE52301961160D630114BD109BDF3DE0
-5E62C2348279C7B7A2361FA009E3924DCB4F0681393A9A888FE082982776DFC2
-EAC7BE1AF3F867A41452ACC3AFE91F9FE06B3B945AC7458E6214EBADF5D938C8
-57F23C6D7A097BCF6F950496B3B7E4DF228F1ACB269D3DCF6BDD45050CBFA5B8
-661A170CFAE61702B88BC14EAA79F0A48C5B07CA4D34E4320F35AF48A217AEB3
-D22FAA3459E5986DA53546871AF30C935385D637C737A97A430E553827435CA3
-6E98E43303A12A8C3A0FD71EE99EDABFDB1CAFF5FB7E4C7BE538CAAE519391BA
-AE1E86CE9F05B204801EFF9C11A22DC58E08D760EC3A011B2B5E5CD7CEF4D87C
-8A694DF423C9756D176BF964728A10B87B315E1ED5E95B118F5F1ED0286F370F
-F6E10C92FC11118D964053D11F9D386617EE3D22E8E2BC411438497A6838C0A1
-DC7DD080F8AD47984ABA95E93E3F4052CE52554A6865CBEA77E54001206A9467
-365FB98055E788211A2E30794D7E70A3DE7842F4
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.0: CMBX12 003.002
-%%Title: CMBX12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup
-/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMBX12 def
-/FontBBox {-53 -251 1139 750 }readonly def
-/UniqueID 5000769 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 35 /numbersign put
-dup 45 /hyphen put
-dup 46 /period put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE
-0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D
-2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608
-1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C
-42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557
-FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE
-78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18
-22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE
-A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811
-4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065
-4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7
-95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D
-9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC
-5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF
-9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3
-CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511
-BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65
-9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68
-EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A
-D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE
-2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE
-947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B
-0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6
-4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C
-BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2
-F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4
-6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514
-D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415
-F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8
-481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24
-FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D
-419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6
-7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B
-70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988
-2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE
-0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC
-9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A
-C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D
-1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2
-A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969
-21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530
-7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198
-17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60
-30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F
-3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257
-96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3
-B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950
-1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B
-57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE
-B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC
-8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91
-8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59
-B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E
-BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC
-21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91
-D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4
-FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F
-A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4
-A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082
-A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA
-DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38
-7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F
-07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9
-BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E
-8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89
-E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C
-B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5
-45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67
-2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5
-5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF
-A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28
-5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975
-E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01
-5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94
-6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30
-8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB
-BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6
-9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB
-B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B
-B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E
-8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD
-595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E
-FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15
-13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A
-FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3
-DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB
-313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248
-C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89
-F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD
-DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844
-8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753
-E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197
-A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3
-C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20
-417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43
-19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4
-9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85
-12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83
-3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1
-A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68
-90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94
-3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5
-B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B
-82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550
-1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94
-AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D
-9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985
-2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5
-99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A
-31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414
-3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86
-F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5
-70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E
-5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891
-84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978
-BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047
-8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7
-5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7
-9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B
-F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E
-94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE
-0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC
-E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4
-7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581
-596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442
-F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E
-7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1
-1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785
-AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE
-4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F
-744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D
-67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA
-054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA
-6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B
-8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE
-CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39
-EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4
-C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76
-57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5
-5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F
-C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1
-CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2
-848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C
-B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB
-77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28
-87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58
-3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8
-409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7
-A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B
-72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D
-99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD
-8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB
-E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C
-82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3
-C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0
-EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634
-23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A
-59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F
-C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0
-1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C
-403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90
-1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893
-75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E
-0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35
-82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25
-C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8
-A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC
-9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06
-0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C
-5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060
-62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D
-6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E
-1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5
-648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1
-FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6
-754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A
-E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE
-E75FE714FFF3D54D09C9747ACA01CEFD260985C6E87477C9C7843343C7E9E3F4
-0537D461EF019E046DB8B5BA258462B2FAEA1826B3410BA3333480CFE0DECE61
-CE2731FDDF7FCF2AEF7CC2B1EE7095F480B3B27D78FA90FBE923D372C680C87B
-7F0E702B8FECBE0CBCB087ADD6D28549FE707FCB616448B0D94CBDC404915943
-66539B177D5940370C2035D0FEBB3A3C666ADCEB45F5B15DEA729BF86BBCC309
-0294FF267657EEA805DD28DF5DA824DE02F86BB4D2D818EA9EAF97E220D5731B
-513188C1A944704B7F47BB2E16A5F093E6BA492796C4A8CE7824C7D8C034C45E
-017B1A71343DACC41C1E93323FA8E95BA4403C1F10ECD9CCCE239EDF2989B48E
-25960A74B3C88BC02B3EC491728E610501F1346BEC7BDAD25E7FB4EF1D008454
-5DDFD97674E218947B71048F895B49BD5E31EA9CE5C7F4D389519E4F0B1598DC
-C24E2EE7FCFCD8ABC6AC056E714E305CFCE5BB7A1B6CB564E76FE398512E8346
-EDF80BB00F87689A34B428AF5E5EC0B8326B902CFC6BE148D34B4BE18A8F6CA0
-813501E44059C6BA49450FB61C3D073BBE69397703E98A425D7D977D3652F770
-CC6629A44A5633E5CF260AF8FCCE7EC4642A6CFDB1055DC37C02B677B73303AB
-82DE7426B31C6345DEC0E9C449173C4767293368A2F32D71F34DE70DF30BBDA5
-998ABAD7FC1D0BE5280BBD51A315663A91A834EC42C891E8197D0F0FC1166141
-97524BBD92F426477A59CECCD61BF0C89D38E9D483EEBB4A0D0BFB53B601ABD1
-27216E7BDB23EA995177F6CEFD836F1DEC68F095111FC365C4040137E6B8E87D
-6EE787D312F22B50CEC634E287CEAE6B5F8B28C882FF5E82C6407A94C32947C9
-16E2ACB87D3870B60F30981A1ADA692ED79B7ECB0D17EDFAC6F326B6369179B9
-0BF610EB8B1812366A16697C0E84FCE60294EB7CC2982842E321DB1EEF93A41B
-3940F9B06C746BDE472F40DB1ECF41D499BB59206E178A570C19D6081F72875A
-5CC9B427AF0CCBAA78EDEA4A4F65205FCC1C797A817B3F07D757AF7665FC6D46
-AEDD05BE4C9DA0673151C59BE43FFB14DDF4CE8B892AB28BDF2F8667213AD498
-3B07D4F28CF10C4945EB57015553034443E820E4DD2303B78A2CA58D428A8742
-90DBC6867AE2471C93412D2F3B8C650B9E0A494672E37155FBC67CE17757BED8
-22A19DBD0BEB9F52AACF1F4DB906BA1B3AA8A33504FE6DB5E1955A6071522770
-7A783DFC03C71DF51A14660B5C42E0E778C610C39C539B8A383600942DC7DCB8
-14571DD84AE6D907E89FB0537E82099C414BBDE7BB528192F665B4C186A33486
-84FEE8941A8B4155DA0B9E8B9CEAED0A901DF0CC73E8363660DFE0B48B0E41AE
-102105515191100B021ECAF81B052F29110CC18C474D151416B7876E73012AE1
-7C470D550CC98AC32E2A4016BD0A87C6BA32A1FAB066DE9F8CEEF40954EA8153
-44D4BAD516526D45EFFA3C498FFE1992173F66D207FB4ABE88021AE379C3E0B1
-F150BBDA82A35CD9771682903704044FBAB21AB1FC26A6D9479C62B88BD5BB8E
-2AF26AE875F270EFBCC9D867CE72F73711507E0F69AD1AB5F73D44133D59EBC8
-9CA913555BFCE5F06513BF25AB49DEF1F50856FE73D695552ED3B6138A39240C
-CA858470BFC66E8E323D68098C0B124943AE50513BBF2B07575DD70A62BB4F0A
-7CE09B6E7AED28B87842756F5F3D82DE50E16A67CAC0E7033A8492D1DE7B753D
-FFB38C795B8C2938C29D4F06E692582B811FEC55E0E10A8298DE0C9BEF3EF9E3
-00BF8646C400B30A7D7512830BEA00FC6EC1D09067688E9AA4AEF0782435E573
-4DB44006D9A117E1FF700C4DEE7F46C960D8E87450B013E58194AF4FF910D5BF
-ED8F88747B20B535BEC00FDD613020D8A55A5311272E621B992800D887A06C9C
-3F88923692BE87B76ECB3A7E0E837D051C94F953666EC49FA3D1314EE7395B5F
-B86B817701932A65A79BCFE83F44A9CD6699F582B5231345CF5AFF75F54E5E4A
-3392B47C49B354CC2F1072B8E314D72E12BAA48C141A79C7ED3213D18E6251AB
-4B4A9CD3F66C81DBE3EB5066954C5FBA0127702E730836FEA4AC8A4DFD1819CF
-05CB835D7230CFF7B798DC2E1730AC5FA8D8019F1D0E360618A507D7375A9A38
-2961E7576315BB5BDE1D783D7A3BD9C27CF240743B14016E26E23078559A3F46
-BEA1F8038D83742C9047B94924A6E0E46B2F2B205DD2611F8D86F0DC598566D5
-DA248391EF140B61C9B1CFBE3C570EF1E314F8C53E38032C58685E6D29C6167B
-C537F5DD36DDEB943B437B4BED0DF71C4339C97F164BC3BF144AA6CE7E83BE30
-965260CC39EDF1B66114EB079493D997056BAB321571F9D8BC8580F81CDE30BF
-1DEC276DA2865BE6DB2A142225CBD71142C602CE42CF99300C5357BE94687F6A
-0791CB940C6807FC208592AEC1137CEBD2F2ABD834D9C55D84D9365DAFF64BFA
-BF7C4894246F297E9D1EF5498854EFAEFD06CB8649986749F14600525EB5EC7C
-34D8A625FB22A6145CB121F9FFBBC58151AF05AE33E359E056782E2846776946
-C82A2BC550AA829BB24FCA576088791869F8E6A3B0F0358AD507026F17E74D0C
-4DAF27CBF81F73E87971782163DEB29AA7D64DBA94E7328A4F59458552DBC4E4
-446D4912426AB03492F917FD626580D58EF55BB2C0F4815D0A41D8EE9096A189
-0523F01AA27C13F466303EDC74F6DA3AA5F7D4714193000D7FE7AC8235B7B465
-ACF1CF54C0FEF0C3B4547CE59540A0197C7E43A7B4E695D02CD7663E33173E5C
-99CBB78C80F5D58E11A96C107CB781CE7CF9F110739EEBD86F2B530C3FFBD843
-F99C0A2035A58FB7B987AD876D36204ED2900739A106201A1C3C86354F2ECC20
-FB06513E761327CAFEEADF8FE540A324281E0773C05572BF450852F08C0CC0AC
-6FBA07609319F467AAA5B8322D7FF21667667530DD2A14FECC8DAE98AE00C520
-54E34627683C7B7563361AA0E08266A2B60C9CB86B817767C4DC9A9DB748251C
-EEFBD28FBE0C4306EDF00A7745B2BF737600F87265B54085F95E1AEDA86B80DF
-BA02BA5D88A5EAB3B81BE47607E846D935C67F4D17A746CA62714CCF7870B013
-037B307185AD0CCB91C580E2488795C697C9A567DAFCF030014FB1BFFC51E9FA
-CFCE8271DAAE51B5B4B137264C7F23F655DB9999938C9443A374CE4AD178BED9
-717A88069BF088614A2EF673C029B47F2EE55BABE1C5C95720ABE6DBE2C9F0FC
-C00D60CD0488CE7580F976B3696FE83FDDCA628E86E5088C38957985C47CBC33
-C363592B5534D7D75816B5EEE1BA465C14218951A2C3C99E2E8A8BB6AC7FCAED
-55B664E6A36D8D0CD996CBB129D6C61893D385F26725CFE32423C03F26726CF4
-6747165ED1FD7BE5D17010BAF33F6D4EF5184E4B9658360BBF5BC9A8B5B7020A
-AAE99CC0993BA0185F84A863537D725BD68D421391BC4E0BDBEC307D04A6B486
-6850821FF107754F97A2A10916C34C92B9DB358227CBE90C3893C9C7C1A3C079
-BDDD4ED66F67FE83BC05AD3C751DAD1BBFBA6A6EC8DE9045C46B61C5A42FE1A7
-0AE2A2C04882577C26344396D8D92DA66FA3FD659D05A8427F42AB550E140FBC
-E1E6823D5F5F9A1C1145AB1227814BB50EC07EA83B7AE25AC99B3CE078B974EA
-0C1FCE738535235864F146A5358781F49D7EA56C3AF533B65C1E55AE8826CB3D
-22214BEDCD278C753CB7FA8CC43CC76A72BFA65B49F1C81F444B18D998EAC970
-EC5E9C94137835CDB1B202099A60FE57F14CFE9764D0F2A05814C695597A1C4D
-2B547E503E5A1582DEB74053ADAA4CD8EAA51D3E13E956EB25A96E3A1499E5AA
-66C58E7C0E9856F5D85045940F0377CE47A26BFFA5C9324D5DCF871837EC31AF
-B26C3E13C3BA56589A7A3252965F23C8E826DBD11957BEE674C8AF4F0499761C
-86E4814AD51D35E18F147E26E1E10EEE11CDA6FBE5034A00CB7D7AEF289DC1D8
-B566B0218E6F6A7D0415D00CFAACA2DDBE21F28165DF92F789CD1D504B04F870
-352DEB8FCDA4F0323901922D4D3B4BAF74B8AE0ABFBAAF2B7A9B762786A88E93
-16E09160EBDFC3C96C3C7ABA24706E48B0CE5D28D4DCADF325915316BBF7FE22
-6F2DE67F216042D40C831C112167711414BB355E454617B0BB97E53E1E2F3986
-ED4A81209B1F96C12E25E6F48C4FF7CFF7228307FFB0919C208AB5AC6509571F
-15E795D1389E78172DE8B4B252B58367FCF469634EB42B2AAABD7C68535594A2
-8245E426A0937DAE80380D6CFDBD8269AC41F87CBCE9CBD02F9A2A2B415E78B6
-717A612CD8CDEBBD59E98CD1155D52CCBB4BEC5385375A3631683C99934C19E0
-323F2E03C139371EA8CDE95980BE3B60BB252B96B95901C107E12E68158E27BD
-9F81E5AAE69C9D7CF9105D3FE4BA50C338A914394554846EFE4AF05B49D5A65A
-1BA3ACAF9D258A4E30F006AAD7F7CF149031A01252D463754AC21AB0A7283B93
-A368D79EFC7834E4C72E3EFB09C2FEF30438C47E6C90E9FDD8B82A5D812632DE
-784D62A2D43E7B657DC2F79AE3522BBB91AE82A99F2DF4BBB55F2448533C4C47
-A972098EB8D67E63F656B3629AEC7A1764118FF598D2673C8108F955908C810A
-3A8F70BC1093C39D7AD22E48A00C9FF2E824B0DAD9510ED5619B9B0B255504E9
-194E06544A7278E1205C496864A60A6CF5F1033A27739F8A90CE113E93A9188B
-79424CE351EF7CCFB6C0315D1C5F4E7BD96EF7EBCD89F96507E8E7FACF06B9FC
-6B418D2F8F33B1A197B77B6CF2287942DAF320EDE21DEBA125C20613A40F193E
-3130A7E7515451F5C6A767FA19B1EFD57BBAC7B18D4B6DA7E01B13E16DA5FB53
-C4344EB3571273356AC094DC680A1F2C523870DB2A82D5E79EB75854A045EEEC
-0826F45EE5FF1FDFBF0EDC5561D6DDD652E5C34D53C39E36607874167BDAB9AD
-310205D953E3C41509991FF61D0157B084FC994E4BB5F6658F701F14AE3FCBD2
-5CC94012B6A9519ED394CE937CE2303B56FFD27CA3C4589E15CBE291ACF37036
-71A589F1410719B91D6F3730C9A34CAA4D3A767EF7E663621CD2CA67939BFC9C
-1DBC00237BEF13A43CC125D38D86EA644A938D9D23EBA0B55E6032F62BADE7A4
-F5F72EDAA1384C63D285998F4F14CAF470AB4FAED1CFB4DD19EE281D98B3FED5
-D6266C8059CA552F05CEF09ACE13F00DBE4683614D4CF47B62AD57748D7071FA
-14E8C178E83D9D2EFE47929B4D9E0D0E26372D2763A965D169DED2209571DF42
-79EFA6088BE6759B4C9A5255E96E17A3EB8A1D89E1DD694B1A2BF2AD4863DFD5
-26AA7E090FB9F2B545A9C07127B9A9EB4A9D4153EDAD23386CEAEB65C6BD0800
-6DB02BC9ECC0662B2E5481BA26DEC353F606CA0D512634F8BC1B80744C32A65F
-F81F5FF6E1D8625A66714C35EBAC4A2E87E4442B268186A3A255654AF42ABB30
-244DB27AA8A66D0B839FB3EE4A6917FDD28613530E6B5063AD1CBC4BFB02993B
-68559145171F8F8EE736105961ECAD8FF0A6B14B0FF02DAB9DD8059ED277DD5C
-A436C83ABB2185723A4199F269A1C7C042E823D2F3B7F3A5A0F63B6711839ED9
-21A6175E22F4299F3FAC7E9C1A386E889DF4DFA14D283C71CB17FE4B06C6195D
-9CAE9CC5BC873918B798973C98CA3F1638A90CEE8D8133901E50ACFB9DBEA511
-648DBF0AC824077AFD316468581E44DB9281D826052E16AFBAB28C2F0C8C817D
-0D8CCC68020FD3C6C60933B7F3433B0BB1412C5184FEF9B8B3FE003396937EC9
-CDCAF9EA8A2E39B9D95A9F649546B511E8F69C53C5E3C14B2D731FD02AB94F98
-67870A9FF0798648D554ADD10CF8B6C515B0164BB2DA33B5542152254E1EE7FD
-4FC754BAFAA97311618E27492F6DC84D9996C3B2D8B65448AC9A6AEDB8A0D45D
-FBF99BBC3966169EEF5F80D11D28727A6CE6E3B498F8BBEB4171C07CAC582561
-D1413483E6CDEECF48A56187428BE4ABE168DB62D627532D4605A440619AFA7D
-123B500E5C9EB72497D80B0D83435C1351EDD1B1C2D67D15735995E8F295AA43
-C79F4FE605EDF525B4F9A7293F85EB2505E374B8E3B64850A7A1EEA7036E9AF0
-1A6C8ADB50DED0563F1CD13B663E46EC00CF213C1115A50BCC60611B3932B61A
-579BD06CD75CB931C06DBB0A0F77D5D7546935BD4882D5FFC241E58207B8EEC3
-9B0501C7B7EE18C65AFA2F34D2E7808E102EB93AFB7D0CAA05B9902A6012DEFD
-2E12AA7DD59C7FB0BD7455163F47E63F10421869CB7922E8A08340267437439B
-AEB4F70369A8CDCD032D25FBA002E421AFDAA04A35277798897E396DE5471C23
-37411D08CB058B42304AC0100B4B2ACACFA45C89660CB3953E0F62AF04C1AFBF
-8D8E9216CE336227EE905011DF112CB3CF7ADDD11B5F0B79D43DDC86C7100D76
-E4ED84092078AD1EEC223B19839D37A7FFE09897138C27CD226817E82FFF8EFD
-8F1E543B543087D08D6B53015AE22BC6EF06860F76A951E5EE764F034FCA76D6
-1876805E143D4AA4A3290B768F0BEBF371DBFBFFD58E87EB1C787B4E28F0157A
-333B5E66558E9361FF7FD366D03AF93B3BE841ADEAAC5CD671F313DEE4DD3D81
-DDC0907D3E1E404034CBF42718BFC37FFC78141E382E6E4FBBC0DF94DACAB1E1
-E9108CE693490FB51AF9AADBB26A5ABE998DB38A9E523B93D741C2D6A8AC6318
-6FCC4FBD3233BC009E5E4B6BE66132AEFF5CE9A7853AEEC4731F9F27BF8158CE
-C8A49F8A3108EAA7BB9AB92B2646C0B3576DCC31A23245345A25028C63C0DC9E
-B4EBFE4685D29399215B377BC7FE6840A6E662FD98A4272DD02E539F2D2D0DD0
-38E704E55B76FFD5754A725A239F25BDA5A12458B3192C1AAEF38D5A2C23C404
-3CB60F62240FC01F64CA4C0FD4FBBF472FAF4BA83CAE5E819733454E2AA40521
-B45B0E8A38004733FAB52C708EE1B0D524A96C8ECF7FDC2281DC75EE82B3BCF0
-5E88E84941135314135C62E70A14A65186B7C436E85CBBCD7E021DC9EAF99A78
-7A864FA490DD9DBA281C155AF245B724A33E4E81E8AC5E617A39458FEEF2CDB0
-B174A38EBA50565554C5F6E38A2FF7F04FC5D8E860CD5EF50E49898CF865A338
-93E0C57FD6655CBCF47948E120D1644E18DC5B2C6CBB68CE20AE884BC3399241
-1C644980DD4357CC0D62364BFFEA34642CE349B626461C3C86A8EE2146FEAAD9
-976E0AAD21044DBA09C1DE048D3EC18DFDE8B5788BBDEF5DAB1DF7F3D60C9BAB
-18A1C036F21AA25884D2A3128A8317097317F8CD16EB6B372998CA22A13F847F
-CE377861568EC5E9DC9A47244A61C7F7476565442BA7FF86DDEFDE5652E31772
-56DF22AB7D1C954D3DB978C42D5530D5ABC7F7AFF98A591F1C9BAD21C6B17CCE
-14BAB8ADB36B1133FB971F8C6EFEFA8F4B611973B7593598279E667543D1CC54
-3397606A2BF177D4D1D7073214ABE6B727E699440AF8A2922F44B2687BB06B35
-929C30677BBF606F9577588A31906BDF521B1C16696691CEE58BA493618F68FC
-DF42CCAF9DE3839F155ADDA8E704EC5C474BB6B0F6EFF6B4F1A6D2A95F244735
-895E2DA1BE0D7090592F49FA44472F945604C90751247A771DEBE70633CB3E0A
-998AF6E4341A2260E2A4A8047F2316694BF4902C8B9DEF02611C8620D9D8F9C1
-F9E44B0C868C6BEA6BF641619560CE24ECEE9094572295DF8D8E539F37E6613F
-3B334BF414D709279AF9F0FDB0D3A9890CAF6F6015ACA192CB0E6D113C7CDA9E
-FAB685D3C71462355B962C857B03CE7E0B01CDE3410888CF3FDF8BED7662D579
-016F40BF96A7D308F6F8C539CE14121D9D27106D3AC3AD7D0B4698B687DD6C12
-2124F0FD835F178CD7A889ACE6AEE4A6D83D22F11A5E48BD31D68FFDCBA90617
-D25D6060FFAE21E2BDE1A83F61790DE87B775337649EFF4DE7FB95BA64ED249D
-EBA644CE75BCB0E91EE0FE077C52D6BCA0938A557AE5B657044D7A37FE626BF2
-899A18CE1961ABCB7807BD99270118E44385D33F67C204447DA15E842FA57118
-1B4F08869E53C5245B9A43C0BDE58B26FF7A7644C3BEAD3DBC74CF2C7FBFCE0E
-73EA6F9B8A6569D1D13F24E6DA1722EBA6276A8AAE345393D84CD710ABDAECEC
-4C66FA185F5AC47E67B79BAAA610B9FD6D9BA790DD38553780814F68FD8C38D3
-F4DE0B4D7E5FD922D237902AC0DE4285ED80358D383BB545FBB3C8F0218A81C8
-054A083CA49ED9B55AB97644734CD787F99C329E3DC91717032C4684F6B54FDC
-11CAFFFC9297509C481991036CDE87B06FB908C75B523202F06701CBB09BDE44
-9F0804153FE654F6CC83F5739DD9FD09616AC0842A1F8CEAD728A836F79BB181
-C76988F41DC6D30C3B8744BB7ED71A1F2E7EE995FFE40146C536A3E09C78B645
-B214B1EB98F1900CA45AAAAE592CC7B3A0B750738397BC50A157C3F17EC8D6AD
-8DFE805B28B26F04AE0C864A0767545D2F8BBB07467E07C1505C19C590FDFE78
-5A2732096800F32F1C5C1CB7278D6C69A6ED4D0A2643B1B731E4A1636C43F527
-C4F0410465D5549B16548F6A3183BF1695FF7099A0C1837D07E44BC27670F013
-C9C48099FCF4F70E06113C368B4CD2308FADC79DD49513401A7B4AB376B288CF
-A5FEAFF7193D9706648F14A5CD12CF030492EA00C2EAB2E7807B8C7747C051D5
-59E275440E03F1E0318FAEA085302D7B2421049337A0089F2593B704DB364F42
-A7B0330A6F7EC68C5924916B2A162F13534D9A07D4A4AC081D15B00AE402108D
-9325EFE9DB9FDADC6C42B88F800BC11E834E717634217593F617163C3EE858D2
-287180E5CA1F5AA5BDE267CD2BE19221AD0999AD6013103E27582580FFC5ABB7
-DA239E761E066F7FCA3E576C4F95A19371716AF08504675E951C494E4FE82501
-FB48D1F47D5AB0D234F04B7840E8BF5F2B90C1F6F144A21937FCD4C15395BEAD
-CE651F6AEDA82B5FAB2769A96776420754E501986CBECBBA2AAF6857CCFAA2AA
-7136B191F5BB3871B89623E68E09FF3D2DB38444C3A0667FF68EE71096880B05
-F3FBCBD53A8D928FED5D1C6BBD61F1CA816AA7590025609DA762C4FC5704AE95
-EFC00B1C25B4AE66E5A9F9449529FC9A536E16F013D16104AF4E1D96873D65DB
-474E4CEB98400521727EA0FEDFDB4CD4CEE0E9EFB4F8595FD4F65486B924E699
-155B41BFD7F2913BA1A955763F352400FC4A9810FC9F838AC216B9DE8E71416B
-DA17D7C07F71C37049B2825EAA99F8CB2BC73533265247A0A6FE95B540EDDA42
-BB3DB3AB45C8DD7C3C3572ABE2CD425BB29988C953C8E33750AC072B55C89D12
-D90688909EE075AD54523CF16DC1A8868958D32BEE168BE983F66E068C6F9731
-C2D706414605F0867FA8574EEB08D21DCAE64FF8C90A15A8C669F506886337D9
-229A6C5ABB72FC7347D426B6FFA0EC5AFB84D25C929DEAD03D9CCE9AAD8E3A05
-123CBBE302E8CFD3582E3A5CE05376CCF59338449B213C023554DE70599EF3CF
-1981527CD4A827D00648F9E96C31DE61F51040C1C86DCFAE2165378F8EC25D03
-97E6A323128A0634B0C6785FA2378C31F570214FCEC756459275CFA2162A07AC
-A984CBE70A4E1E7BB7548858C5E57807FEC99D825F78337CB13B73CDEB9DD170
-671EC97410392E8F369F54C729FE252216E607E6341B274C02A4350F8FD1F743
-6E3A00117A5A1CDE8EF44470ECC5C14ABE71D4129F4BF748FBD9BA296A29EBCC
-F6E71E1F8ADA8AA5C0DE10500C57920DECFF7816DC2FE1B00CE037E54B6E1BCC
-86195354A2E3B3DB62D965828585D60DCAFB07D7BBB1DBD7DC9958159C7AF294
-743B5BEE6CACA50747E254B400545FE1FB045E355EDD08B5884ADF47A342CCB0
-4A7438CC7E79CA1A03E1EFFAB31BA0C7788D89F98E392958E7F6EB3AF807E0A1
-7A99D7884E360230F1025F8FDC20F951BFF5F2F54CCEF9B80A9205EF1B70133E
-4373691772A120BE5D5443BF1C97A4316E702294E7B4B37C9A93DA87BF2E7EC6
-2A0983905387B7D68ED855A7506EA973512EF5205F9320D3F3B8AFB360E6623D
-31B0B21F6E35150D1B15976571952DF05B50B2347F901832CFECEF0BEEF591EA
-80A39F5B5DA16B7A19A9062F67BB8F78F5694AF704AA58C8D24E60E6342B020C
-9AC54E5DF416E3EE446E7F17182D26D5AA6039AC4A218E95A5E086955490068E
-9A0C4FED08AF0982F777964FD1379F6E905A91F9E8EFA435D97A88CD39D36332
-4A09ACFCD2DF05A0EC82380B80675467A5154CB5CDC0FD60934C070258A08DAF
-01E343AFF58C0B7051FC17D8D0FEB73E9CAB1A95188B68F76A9F93151D64E36F
-196C0367B6FF8C0996C638F74FFFC4CA284D58D691AE32AEEA0BD95D56C03ED1
-E51CB639E20DF8CEA6E81344D17656DCDE9366ED8B2A844B74D995A3D08D2CB1
-A47BF589609E81F93F9AFC6DE7D0C9B478E332C85E6F7F36203C6A8017750955
-FF4A659EA786225412626133EC8281F00B7ED6F174C1030D9DA0088AC9596DC1
-63D4BF597A756F5E3878A518D29B51F8497EB433D6826313D9526D00F6317CC5
-4F73B91877B0B41FF1DCAB1086752DE0E5E8795C42048C47A4A10DC75250ADC2
-4D55BA635EE7DB2AE7541996E3E658051AD78E509CC5803660BED6ECFD905611
-F540E2A521F6C35CFF4D6C44C13488D878CA47FC9D5CF0C10F2C71BECBA45D86
-29355D7EFDC5D158B87B4A3974893A771CC426C2D9E5102DD9ACE9A06C131162
-1F638DE9B944D7AFE561B4C63102FFA945CF5CCAFCAE1C105CE936252C91B07F
-7373D8CA057387BF1868F8546537FD4FB112353229105E9771FBBFC5D7D729D8
-A1FCFBE8605E21167B5A8A35AEF86AD06A16272B34C5A46B2A9D5AD7E41CC8B4
-682C7A45F6EFD020E582A4ECC7E3623A904602111D28B36C783909C42F15A3AE
-972E2C209D52713D191DCDE3D838790174225739788F97380397447F3BC74002
-F4A489DD0E181B4EE224D159931F504391D715B34B42F0210D624D59AE366F49
-AF64AD778DB6086596F57903DEFFD1649B79FD0F841F7BD7DE5FCFAA4EC05BD4
-5569160F0BB933766A282DDBA5814A90CDBCB56195F76ECDA92421D5258E8555
-905652DE41EC93071A6330A3654865CD28CA0751CC7583B16A12197931A13592
-3EA82601CC3B6790AF741152741D1992B67E804214D33DA5610F9F27E2585EFE
-7322D5A35B6988B4B9B571A85CDE34592DE8EF1C3C72F9A01FE6D28BF069B033
-7947EC0AB1C79A2C65BC979E7DB02CF20D7DF627A6CB8A0C803CD43B50B537C3
-CA0CEDD820089E0CD4A9F9B9D335F9BA83F4C825842034AA14988854FF792ED0
-49970CAC05F95A3E6F81CBC8968326845C649C14E0D7A3988277E157DE51E21F
-EB8ECB024196AA946FF1193C3BF85D864A947B0BA042BAAA6D279066C4988DA9
-84FD212709816EF8C5C5D1F58D60E5A5DBBF123FD8E94F61BA365CD3010FC4B3
-0247D2CDBEDA0BDC44EF73D097C5C5B35DAEBE8194F21BFE7FAD5A74683D262E
-86AE71B6256451DD2082DE4B0338D74A31F1830F76816878D8E3D28EFC31DA3E
-FD9A22F8D4878FDA791F91F1806541E665CA46A57C3D291DD0AD2BBE26CEF532
-B1A06174AC704489685A2620560FEEB53974A69D2FC71712A8B8ECA5C39604C6
-D55EB704ACC24F6F26FCD6D734EAC72C7D7D3FAEF79545E45412D404E7F61A13
-DC863B7E4AAB9B24D084F274AEED1B9643BA2586AC90A768CBD867BA38E9F2AF
-4F840A38332FD9946EBD0B5384AD79C094E511BC41F87CBEA8A3C43F605C1139
-27C0DBCE2E4DD6FD13BF3170FD19EAAE09480798D02DEF8D6ED6E84AEB2FE6A9
-9BBFFFD5246DDBEC7E23E35482880E4DE889895F47BA1F54684E38043982303B
-A35237888D44609D0A6CC8B418AF8EB5361CE7671EE4ACB2E6F4AC1DBF3571C7
-BCF780805BCFFD47463150CF1B6C0161CD20496DC0001B821D8E95D55E98F6F6
-01BCD324C92A854599F3C14CBE5785CA7F90F666B09BC09421CA15DB1155AEA1
-C616595E35671969AD3608C2B510DB7F58FBC8A18A670751F8126F304AEC1D60
-6F4247D5F747AEE327B6030747DC4705BD9126F534AB3A3EEBDBECCE54916368
-E11586C298AA1DF748BC30D0E8E5DCF462A7517B508626E803DCFDC781C52DEB
-144A45DB59772DF389812C11954A21977992FF735B10EA5113554EC1AE57B645
-55843A506BEC1133A4EA8A2436541841E83D151ED4A4AECF0ABA48797D0C7EFC
-CE647F72CF766B2DC158165A9F56B1ABA0129B4A08A0968FEE0FBB24D69836AF
-E985B2AD28858F4AC9ADC889012B816A45D0FBEEAF7A437ADAF973AD8CA03E07
-CA344BB563A532935DA74F0245E0851606C01B729445B8E61F75C75F6E1C4DD0
-4C47FA11A8B4038528C535299569691804A291679AB0D99FC9F45531FEBF5162
-54E3238621ADC258E5C8C6D38399458DDE07FE820EA8D95B4A4D27FDBE5B8E5D
-DF5882A76C0704702FA5E816D2B9E096E212F0C09740D845AEA04ADCC214C1F9
-EC4BC6F85CAF8027B486D8D1D4E625C00121EB2A0181D7289DBD54E490B870B3
-6E5DB645E1BBAC6F4D672D1306407D6948E378BE487150E67FC7284D139CED89
-894A9667B356C1FB6CC15CBAA322A483253472800E877E2DFFA4CCCF4E16102B
-8E135B1AEBD510B990D7B80629F12A99E181B581A26EF8F3A04E403129689222
-993F3B505761B29F3A93A4090AA9A42A81AA13C9A157F4676C60B4F9926B1915
-946333462AAB0E5124506BA9E7B059CC6CBE2513DA850B3DAB48FC5D69BDCBB2
-BD555433D56AA08BD91E58BEF39E9FAEB9C32738D93C3C3127C916B453E00674
-0196EC176E4082B01E4E6770FC72E116DD640AAB59DABA23E3758160CACE67C4
-C944FF6FB58704FB2D62E495B83CD9D29B99BCAC3044B0A4D516D655A0AE4D6F
-5F4486F1733098CE9213E720A5382DAB2DF24A16713D5DBCC738995B901DAC16
-2562CCDB5894AA20D7C8514F91C53067C9A162764DC3C4672290FF30D7791C84
-5DE55A0744DE8623CA7D2A6B00CCA2EFC5AE99408127477C7869D7FC2BE45EEF
-78079C3F5883E6C20AEA63056C4C3CC5C4C4C0370AAA4784626285C722A0800A
-9348AD65A6AB62FF750CCC7F2632BE64050DE9FDC64850BC7211B30E0E5A8630
-9D1CB88095DC3D4B090157A59A0A2BAA26BA65864A7802063B5BF3FF7BCD9422
-E606D1F664C22B0E6529840064378357671B44C75EC74AA9F2B181002CE32807
-0F33124477FE59E3590546F23A732E33280536132645F32A8B29B89F606D085A
-4C00F2B65F6D950D69497420977AD336397FEB4ABAF3F3FE548A47DA232D8231
-8ACE71F4E78D7CEDD5DD9DC3FA9B62F6FF5B8095A54BB8DA174AAE18114FDCEA
-8136F3E5659C417554B8B31D7AF78955A10692FB1A44ED429B5FD9D24150E48A
-796890520DDC8265E8CAF0416D506B22B236D64FCF982D9DFE47D8C02215A2B2
-BAA3C9EFCC2B44E6BC186D9EF6A4743165E7A78843F80CD7A376DD7F20B3D8A8
-703F6D07023D8764BFECFD85189879C6E2F27A120D781E613847948C373E9C41
-73DAA5EB8A793FE610ACF6C0461679CFFB8A00AEF8FDE4DEC73BE3270511504C
-EFDDE97C107AB086D5DF9C28758AC491E4C62F9173FB39EF159B9D4FE88E88D9
-D4825CEA94BD47D71BE9146B43E8844247CA5FC83348E6801D58212DBF9E14A5
-91149A32E2B7AC712CE68A4A6A81B3039441499F4B605DC4DA577B8C28207268
-E074911D25D8B5EF05349661A1E2272DF3E8EB1C92E082846530A88228B1F4E7
-0A4FCDC18BFD59FE91C8D0E98A2FAF0A42031993EAE6C7A16A2644B0807011A6
-DD079E59059C616E487FC70A52CD3D5420B24D7C1EF6568AC1446D2295E1597E
-01BAA0200C3FF0CDFCB9453FB4FCE7A1DE34BB567DEE7448422186BC5A2D3F43
-7E2BA9808FE4A952BECB3C32E66585D1CBF0DCFF9A45B7CC86C5C2DD93A83534
-5BCD9E37AA7E133009A0CA8286575467C9C827F6EDCADCCA3837518700194309
-560F8B639F78CAF1983D8719ECB973A7895F55CFB8B849602D90D2C88CD00635
-3D8ADC9AFDC0B5CE80B8AE6653D30FAA959DAE4E8E03A3B28EE0AC8D14B7321B
-0DD6900FFEED3C4EEB105A6BFC3EC4CBF91EA67C71E91AFCFD89DD29A05663A2
-B08CDE45B39AE8F2CD98B6746ACA7240E9ECD225013998CF96FD75DF47AA4C8F
-4E2BBFF6F40BC1958C1357798DE0F425AB097289CE97AD5818A403301D4F8CCB
-3327D263B40575CE1D3D4A442FDD43000F697EBB4CEB3DF4C079162EF6E07680
-996698FE6231A8D8E12EE75A92D157CC22ABCE62682A76D01A2D9257A91E600C
-7222966428984A7DFACBD35787D5D47690E519E80F1EC8F17F2FDD39DC9E807B
-A9D6074D715D2E938F3D6EDF092D15A6FF5BC1DB26CD73CBCC59482C97E1FA5F
-37A25DDD126B52477D445551001A6296C3E1B5C9432D812EE450F7BFF659E436
-D9DAE3D6674F5EA710F7B8B6151647F86E44950F8A21D4A5F2B2310511744428
-3D4E3850221799A914EC70FFDC483D07D574E8BC3767906BE1BB3DA7B3789AD1
-57BE265EC6345ED35BD2C0648DFBB30232BA151E25364A8DE2107594A09B8EC7
-8C22101771A3B8C571CA0255EFAE83ACA2AA3A8EE6A6D8C3D39A5EDD8A8417F4
-65C5062F903CE0EE1C12CE405E7635AEA8DCBEE58558F029C0086C897B3272F9
-9C9BEF9B443CC1DB518959D9CD6A2E33D73F5E9C2B34F9F81F9839613D230B24
-C8F43550962679C494D4243E38434B629C2C080A00697787A66781D230B15459
-0B81BCC3B3E7C97B34D6D9C8D6549E5863A0520EB731BC20867ECA0E06E7AD7F
-92C7736F8D04712A8D57B4892178A68145919D6FA1DB734E4ED75858F1E1F57D
-04D08B8E337FF5A5860F92E1F9985D22AF24669362EC14D7C16591AE34F7FF13
-529A9911A100EA3250582FAD442E254893CC781C6D2A0418F8688005895FF860
-04FD5698C208FB59F90BEB2DC019679A84E2F5BA7694BC3896FA188EC26E033D
-35227EF63ADB554BFE587EC997379C998224FD4045E3DE0C5AB69D395A5D5114
-00875860E320AB5DD7E4242AA08985CD11F205067C14245CE19BB36EC6F21343
-61E78BEE1210C923E163E8530DDD4BEC715527AC75C721BC71927E7985D26257
-B0517879A9D2EEFDBC3A439184E61219675BAA510F7C12F9E53A15A743346360
-8322326A6DBF48432BF4ED9CC657662BDE9CE43AE4B4DFD1CE749CB8445C9AB7
-A7AA20DEA69A560180F72CAC08FBC2D70F3D0CE6D20F72BAD92ED91016529555
-ED0F44DE74C9E3D9D14B70DF4EBD7D84355AE72371CB82E05DB7FB523AC4145D
-CFD610CC64C5BE929EBC8DFDC1A1D9B7A445958656F440160421F8CC977F0716
-B98A5823432A124FDCFE8BE721086996CE3E288EBF4AD9EFC94C47C0D594B2AF
-F4D2D7BB16A01882FAB6F2261A344E33C8247F3E54B1DD35C39ABCD03B6361E1
-DC46AFCD9E6435879BCED7ECA04F6C01249E1FE72FC8AE9D835BE33CCCE56032
-AD1A9CA4A43E1793EC2B97633720AE8CBB871E0E2632A2EA7A697F1DCDB9E8C3
-ECDE9AE860B0277946B6528DB0C0F1FC34A094514FB6F9EF2201ED956633E5E0
-D4F6CFC8CFC4B3982DE1B4E2843F180EEA33D9C40B4E7F6AA5F3C903F4791C39
-11E6070B2C9B037D2D7D49B8CB2C60D34973FEDDC62202757911FD239ACBAA98
-F917E0B162EF9B46C3DF7A46E343C03ECDECA8FA27D66C91A41E0F6617DF51A6
-8A49D09F1D87511BB589134767382FCC92
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.0: CMMI10 003.002
-%%Title: CMMI10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
-/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI10 def
-/FontBBox {-32 -250 1048 750 }readonly def
-/UniqueID 5087385 def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
-1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
-7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
-0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
-EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
-404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
-78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
-A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
-88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
-C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
-BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
-98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
-E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
-143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
-981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
-88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
-4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
-FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
-347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
-FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
-C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
-B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
-F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
-29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
-36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
-048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
-80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
-9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
-75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
-4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
-74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
-D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
-E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
-EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
-543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
-710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
-EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
-7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
-03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
-01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
-500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
-F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
-AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
-1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
-85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
-4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
-6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
-55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
-085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
-BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
-2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
-CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
-BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
-D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
-991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
-6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
-E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
-E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
-B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
-4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
-1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
-B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
-8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
-FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
-AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
-BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
-E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
-38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
-7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
-2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
-DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
-22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
-8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
-44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
-D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
-42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
-C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
-0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
-66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
-E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
-6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
-1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
-B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
-897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
-EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
-A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
-F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
-A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
-2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
-51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
-598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
-87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
-178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
-4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
-7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
-AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
-3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
-337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
-C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
-DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
-7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
-6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
-98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
-821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
-C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
-7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
-B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
-A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
-23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
-C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
-969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
-3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
-9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
-1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
-B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
-95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
-FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
-44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
-FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
-E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
-633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
-6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
-FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
-375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
-6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
-EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
-E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
-F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
-DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
-D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
-D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
-9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
-9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
-B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
-D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
-8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
-FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
-B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
-00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
-909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
-5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
-7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
-BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
-C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
-BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
-BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
-4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
-94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
-F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
-E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
-92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
-63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
-CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
-B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
-5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
-86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
-AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
-3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
-35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
-155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
-AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
-E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
-226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
-9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
-8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
-919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
-A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
-9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
-523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
-88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
-2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
-AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
-B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22
-CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744
-3B4593CC8944C70F30925FB48A16342CC26D444F54CA15E5A624C4A2DAA2AEF8
-404145BBA339F2A2D6FC2F3ECE54387761CA1213C8D56FF96E37C6147CA44B84
-262EA87E7CC10D931E6B5B80D7F09813498497AA84ACB4AC69BC6C8481ED2953
-084F560D7B1CF90555E69BD2AF7C5D944E8E3506165014652462BE1BC81CA341
-E1B0725159D36DA0FFF3577D1DEBC5D91AE683FB0384
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMMI12
-%!PS-AdobeFont-1.0: CMMI12 003.002
-%%Title: CMMI12
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI12.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup
-/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMMI12 def
-/FontBBox {-31 -250 1026 750 }readonly def
-/UniqueID 5087386 def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI12.) readonly def
-/FullName (CMMI12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
-45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
-7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
-72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
-BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
-974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
-11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE
-882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3
-2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A
-7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541
-0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69
-987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7
-609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC
-182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A
-CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A
-1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE
-C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D
-3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6
-D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E
-E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200
-761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24
-8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F
-68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D
-10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4
-262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6
-922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16
-56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26
-32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA
-7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460
-7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A
-46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD
-754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF
-88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F
-CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A
-7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760
-8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0
-BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B
-CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25
-8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B
-D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300
-135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A
-C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812
-1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86
-07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39
-14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D
-7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D
-2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D
-639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3
-D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F
-90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948
-10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E
-1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E
-8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC
-D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9
-1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33
-9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875
-EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE
-DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3
-60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8
-FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D
-203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608
-FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09
-DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F
-2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D
-244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077
-31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B
-724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8
-F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7
-D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA
-AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907
-CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF
-01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D
-CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA
-287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605
-8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9
-9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1
-6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5
-7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C
-192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA
-AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4
-A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9
-50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67
-A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912
-3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF
-CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6
-5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96
-8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE
-084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7
-92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2
-AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27
-97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF
-92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5
-7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824
-5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199
-13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76
-6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1
-5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5
-6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83
-F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E
-A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4
-7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A
-9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817
-E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962
-AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD
-F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8
-0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003
-1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31
-7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E
-38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8
-5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F
-3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B
-B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85
-15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B
-AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674
-6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6
-CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322
-EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82
-A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D
-806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4
-461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1
-4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361
-9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C
-172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6
-69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E
-ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690
-356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0
-E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78
-7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C
-B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A
-31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF
-EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7
-98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30
-C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61
-AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208
-E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900
-76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40
-8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573
-CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7
-761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A
-2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138
-89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60
-D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF
-C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485
-D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8
-B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39
-AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F
-D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3
-866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD
-207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73
-756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7
-60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD
-A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A
-1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4
-A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048
-C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3
-03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321
-1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B
-97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE
-D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8
-4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF
-94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97
-201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7
-9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000
-CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7
-29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939
-4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED
-66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31
-14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53
-84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74
-6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12
-49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C
-224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5
-5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4
-A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498
-1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D
-5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6
-40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C
-E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B
-C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD
-CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D
-2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE
-710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45
-FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8
-FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736
-5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMSY10
-%!PS-AdobeFont-1.0: CMSY10 003.002
-%%Title: CMSY10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
-/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMSY10 def
-/FontBBox {-29 -960 1116 775 }readonly def
-/UniqueID 5096651 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 13 /circlecopyrt put
-dup 15 /bullet put
-dup 104 /angbracketleft put
-dup 105 /angbracketright put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
-7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
-DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
-511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
-1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
-028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
-1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
-3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
-91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
-E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
-11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
-C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
-D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
-B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
-93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
-10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
-7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
-B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
-491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
-F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
-019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
-915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
-356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
-5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
-9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
-3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
-FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
-720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
-D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
-BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
-7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
-DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
-AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
-A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
-0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
-AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
-CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
-0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
-5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
-5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
-E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
-54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
-E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
-A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
-4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
-4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
-038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
-B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
-5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
-B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
-A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
-2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
-CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
-455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
-FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
-16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
-16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
-483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
-67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
-3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
-1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
-93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
-051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
-8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
-8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
-6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
-06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
-84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
-D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
-DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
-0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
-8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
-C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
-754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
-1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
-CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
-1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
-153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
-905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
-617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
-8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
-98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
-53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
-888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
-052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
-CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
-A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
-07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
-B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
-10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
-CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
-3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
-D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
-849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
-648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
-84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
-2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
-2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
-9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
-B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
-D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
-135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
-EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
-C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
-7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
-4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
-9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
-050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
-3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
-C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
-843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
-CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
-B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
-3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
-19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
-FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
-17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
-8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
-CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
-F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
-1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
-4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
-2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
-9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
-E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
-8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
-BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
-04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
-C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
-ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
-4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
-84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
-C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
-09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
-D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
-56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
-035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
-FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
-CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
-B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
-F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
-CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
-0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
-B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
-33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
-4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
-F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
-2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
-CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
-88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
-17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
-55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
-A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
-2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
-406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
-AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
-60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
-C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
-5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
-822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
-94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
-D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
-343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
-894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
-DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
-DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
-8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
-A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
-DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
-E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
-DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
-4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
-5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
-02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
-88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0
-657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE
-D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808
-AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2
-3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E
-7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B
-A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0
-2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25
-CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D
-9E592159338E1293F449380E13C21AE42E6E371B75D78AA87381B96012E722B1
-3E1628DC89D9009FB38D9984AECC3367A8436F03DD58F85DD4971868D7949048
-7083BD403FE778F660F5F0B684E730A8EE16315D4FDFF432FE18FAFEBE527D3E
-788FDBCAD3405F21EF422913918EAB15AAF24E95243B4458145F7CD3CA6447B2
-7E9D369CBB62B6CAE7E7E0BEDACAAD8BE313CDBF24ADF41D458F28F971B7C0F2
-0283DC3C6CB1F02450A27EA834138F4EC0A4026219FEAA9B7B9C4E61E86F114F
-174819DFBFC8086931E4D79746A7C7BA03C39E2B9045644D1219D9848C36A653
-E1F4A2FA71CB6B12A24509AD5304B355C1466ECB7E31D33A7C65AED48F7CCB4B
-927713E3898334BD99CF42EC428B4B4B186E88DA52D6B9ACD74663CCC9CE05FF
-B2407222F227F49DE7552F45C60A120FC1471D4136A98FC7B0CCF102D16BBA0A
-620F109E65AED0BA6172A4520F2A773A99C009BFBAF175684CD71CE172F148E8
-7C5A80D66FAC0598AF22323087B9D3AB25CAE4FE9670F51C61CFFDD351FAB682
-04E232331D36C159D08B2B907A9A9CAAAAF6F2FC1964308844F23FAC620D85C2
-B4C0C6FEEE4A2F1B438A80701698D94EBFD4A7A99C7A16AAEBD3A7030078E95D
-58C4B914C06438C86E4832DFFA884C3574FBE830351463C4DA0610C0B01DBEBA
-1FA2244B128D81C1256D84C4CD7E2E64D524BE14CF7B2AD3924D23380D0C1227
-8E7628B9601B01D2C715F74585F639E7B059612214E8E60A6F521CC6E7AFC827
-0B948F6E76E0CE904E7C4AE79800C8E69A4ABAFDE476F452AF9EB2AA84217B64
-E72F3A713227F6D5BD0E93A26B2376DECBADC70DF559700D434E8A72CB7152B9
-FD92890BF5C878187A88CC3DBCF9BEA099D639B162A2BF0D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.0: CMR10 003.002
-%%Title: CMR10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
-/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /CMR10 def
-/FontBBox {-40 -250 1009 750 }readonly def
-/UniqueID 5000793 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 33 /exclam put
-dup 34 /quotedblright put
-dup 35 /numbersign put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 63 /question put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
-readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
-0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
-51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
-7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
-E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
-0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
-C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
-569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
-24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
-2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
-8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
-3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
-D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
-D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
-03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
-767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
-8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
-DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
-94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
-22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
-72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
-8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
-344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
-64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
-07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
-1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
-78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
-CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
-7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
-BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
-4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
-5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
-EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
-EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
-4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
-0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
-C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
-314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
-DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
-EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
-DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
-DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
-7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
-1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
-69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
-EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
-7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
-CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
-38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
-22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
-0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
-BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
-4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
-3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
-B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
-15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
-849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
-FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
-4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
-1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
-84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
-7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
-CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
-4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
-3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
-F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
-F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
-DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
-D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
-56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
-8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
-59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
-49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
-87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
-8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
-C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
-D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
-D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
-F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
-0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
-5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
-229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
-17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
-01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
-F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
-3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
-689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
-4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
-A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
-DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
-364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
-7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
-26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
-43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
-8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
-C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
-94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
-C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
-B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
-4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
-7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
-204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
-B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
-7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
-279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
-E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
-CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
-65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
-BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
-6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
-B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
-63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
-4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
-A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
-67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
-DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
-5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
-C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
-9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
-B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
-963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
-D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
-B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
-72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
-B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
-8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
-3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
-668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
-ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
-69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
-C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
-3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
-407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
-11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
-2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
-4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
-2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
-9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
-CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
-DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
-0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
-5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
-9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
-EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
-09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
-2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
-AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
-324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
-486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
-EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
-52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
-9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
-4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
-B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
-BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
-6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
-B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
-16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
-E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
-546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
-6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
-559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
-C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
-ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
-04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
-7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
-8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
-A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
-94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
-C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
-41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
-7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
-18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
-9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
-E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
-5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
-4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
-E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
-9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
-89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
-7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
-AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3
-3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E
-61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B
-F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F
-D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6
-652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA
-07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11
-6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB
-EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2
-BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77
-2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3
-9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B
-B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E
-CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E00091A2315EA8C071AB631CCD
-04C3EA77541646B7F9D70B7EA564D92A65C4DED8966517660EFB9F77E172CD8F
-1B5FA83270898C3709DE964B0C4A899418435F92C13E94F5C1C5B9D7DF3E8793
-5F9E83CE1430E3EF275A5169C1005B864AD5B7ABD694E7D77B43D157B6070EAB
-843B16BD639F53C50A48E040D063779B47F67AF0E115947CDE6A0C9DE8196D3A
-E61C1A57B150A5B386F71C863ECEB8ACAAD9A9B92C336A7B118D8D5B1FCBD698
-2637028A7DB25D4314EE94974E09C2413E9C51A2504CF5B4ACDA26CE82FD1900
-CF01D52F946CDA5F6434B8BD541503B1A1BDA72225592CEA5B55ADE52666C150
-B0FFD1DA9BBBDE3C40E443C917C0A91444CD19BA8FC48C88835F09F35C6B43C7
-C81B914BB437E99E48FCEF5984A0E10096DE7CBD0AFBD750D7BF11B5633DC364
-6F547C1BB5DC55F4F2108D1ABAAA7CE8CAA45AE2984FBC51954AEBD3D188916B
-B0C5FF9339A80310E4A90B3E8CD587CDABD9D54EA413DE4E7B777779C2022362
-96A9052378EDD3DA31F05B94979170169F1B43C60BACFAD96C76BA86B66DC30F
-BB57A48CBCB99683368A8E087D65343CD9DFD9B28DA91EAA3BC9FAD76337D87A
-047661444966D02502C915E2823AEAE71C7640BCC8AC451239E34711D34A753C
-44D5DD5647148520F4B28C97D8FF00A10B1D34592A32E90CF70EF4A01F9CF8AC
-5EF9C240EB792EB337DFED508E5C91D91A3F16D2E067208120CD058F4EFB98D0
-3C634F3DCF13881E7135C3FDC75362064CBC02FE1DFB6F49557DE90DE0C12A1C
-AA5F609267E04AF24404E050CDB6C3D6BC5DDB715621D4315D4D30E900EF3A5B
-03D6524107544DFAF0ACE84F19C2119ED9CA58E88C81FCB5C33A327A8DA8CD1C
-BC87E83C7AEA2E430ED13B6F1B9E6045FA02C88B025D5CE7D6D191883B928672
-AF8E7B0467A90A15680C1610576D93E6492A99787D4E0D49A5306DB04502D5BA
-2E9DC1DC55365D68F27B9FCC33D55FF35C41EDD546F479E7D69B54B3BE72ED0C
-62C80AFB76758B53337424120BBCB1872EFF9859B2BBF5F9B82BCB01902D7268
-65B72FDE5A7C8DB2A7A03C9E8646AAB65F552E9342902FFD80972B325816F999
-AB36938B6B88F8D84CE7EC8B95C459191023377A30F50EE2D9C8C41FCF685389
-1F4BA89C1547A41B767259CF565ADA5011FEA13A782B566EFE3DBF496A99DCC9
-543E261859EC309993B0F727286B02F19048772DB89984ADC5EE723C48078B9A
-79E0B93DC55249EB4AE55C975CF75029C56E88707079C24297C206B35C0F52EB
-0D3BDD760EAF8BE7BB9A41E778AD0ACFFF1A6C37F1AE3E7AD1990C7022449B76
-7A23C9B0CDEB4626B42C96306A9544DD84D640F525DF20EB1EDF35AE470BCD3F
-B4F384E51CA45D81C3BB20EDAE1B6C8B109BC6C12B8CB7ABD01394E2CE389A6D
-7CBB108D67C913765E081FBA3E79CE29FCDBA0850408B31A55D6FBF2DCE01478
-04BFA09E8706E8C9437ED67CD32A37E836CD1E17F99EEAEFE28541BAA7AD8145
-225393FD3EF8D033328E19749F7D700E64B829F82F3A7C8499B0FC557C3FC783
-38866397480538DA97E4FB6C63CBD4EE16455CEA2832C5EBC2637574DAA16916
-B8B2868A63B44BA3EC24A6314835DBF2D38BAD05F14E96741AA7E4BD3BB7833A
-D1C66EB4EDA345525F2447BD1AC8E0356493282EA56C6ECC81EFF7A74E1174DB
-AD3A842B36E0B339F2F83896892EB69F7ED2BE72EBA0BB60C59D40F48D09320A
-591CCBA48D1D05BFC34D0B31735BB9A6C138E8615E21F1554432DEC1E25C073D
-0D16E9D6F0255D88E0E87308560F434CC0E7DDDE759166759765DEC82366284D
-4BC47C4DA087781B275B5711FD6B2279E9D4CB734E1ACBF2A59249A4937E75A3
-79B263B6DA1A3516E90DF279D2D5E0C97ECE4BFC98224B9506D90AB34063E508
-A0C4DEDEAF4ED82E1BF056124045843102761545870DF537009C00AEBB04D578
-FAD4737E69DFD916065B1C34F194BEEF7A2CB60CDDE431A0349D36A979BB1884
-3C388AD5EF92932B86E5FDE6558AAA21C046DBC85DADA57DC476C1339AE9DE58
-34371106FFEC2E1BF06BA289F4BF1233F53321A57879D8E1AA7A5DC71B8F705B
-1AA8697A500C94CCB3AE355200EFC6B9FA03621E0543A84DD889F23C85091CF6
-8205E2650FE6376557B19A9664C864AE880125F06EC5FFEE834138BD7BC43BE6
-86FEB49300C39EF66C73814880994B414731F0AA45DF19EEC082EE27E72DA39C
-71EB0EB707D5936DA04EF89E6900E73866F56ABA3B6F9DB5575462F1364A7B16
-30CA0BD02D13D7875008CEECAD3A540AC08C46261501E9CB24318536ECB3EA76
-42ED1B2A49C20FD36B31583A2695B590A0496A486815A6150C0BC1335DB50A7B
-9FE25238CE3295507729B4FD2D2AC515EEAC8E07578309FD7351CE86D4E2DB76
-077BC2119BAB40577875000A90E147F150B8E98FBBCEC64AC7004C28C3C7CB5D
-045BB984A519FCED4413A9117D008FEB967EBC92504F51D3EEC517BBCD2688FF
-913D3F49F86D7A71BDAC55FD47082DBE0067691AAE981F94EE504FA1B79DF008
-11BB5237A95479E4E9813350499ED01C6E485D399717A3AE14785C8C69D836C4
-5624577D5FE7FA8F4381A343C8646CB7E1197EE9CAA4370CD0AC9ED69D15F816
-E38BFD18D6DFD222EF239ED19B1A5E17BE8DBF06B24BED099BD4ED00A3A0AE0A
-653C08A3EBDF22FEFACCA5D723337B886403B701ECAB7A2410D91B2350C9B349
-B72DCBE46913459F089EFE0C9232665F5E79B5E28460788DD1ADD12F0A4AAC43
-2A02E6413AD94EE3D2A4F58F34886F37C2D18213DEA42B39B6759C59A2CB5645
-DEF5BB2CE952943C7F8B51B62396F4A8FB1A4042652967EB4F063DFF43BD4DC9
-6663256ED43A577B77F81BAD98DC1344787B04B7E09BECDA35DC497840DFB401
-91270EE3BFD711367F67F5F9AC09ACDBCFCA598C1C84F3704BDCB50479413FDC
-C1CEE14D1A67BCB8C1E42CA3858B13E52C9309AAFAA6F9EF687CECEC6ABEF325
-0922B3402092CD52FADA2CD2B2BD502D6C566B0425559FCE9A00386490A8A577
-3046930B807EA00345F19ADEBEB7DD581C8E5A011C46D4FF59909EB59D1EF237
-0C2A49669AA4339CF26E4199D500F52589F5545C25DBF6F108411736DA09E872
-2259218D7B8DB91740E954DCA4A6667BB22C849A72954E3754B1C47243745AD2
-A3D57CCC9E35C93FEC0118A7769996F884789F272CA43BE6C9B54D726DEB10BB
-D456C161EB13CD1DF6AE98F6798010F76FBD8D4C718A6ED15BCF2FBA48D1D361
-6A63D93DD0005779B0116F8B148DD87504652967C67B4AAAFB9A3C72EDED884C
-A932EB02F3447CE092C85223E50F1695E2F60775BB1225F94FB7236008EEEF18
-55B9A48D28BB363416C0958F01305C9EC94B754BFE4B548B3A650A50808E3159
-3A54ACF96E55CC78A5E876FE6EB0B3A2CF8C5F604E26409B80AC6AE54B4C3C03
-F4F9B2CB5B6DC32495D5247D877453098B1CCA426DB4BC12DEABE00DFD67D999
-73200D0779A7FC96645630504CB449E94C749BD813E87844C8C9709112938ACF
-9BB26060C6DB9E198E1F5792D3B9E8E52ACF97B1D8E1021F51C47CEAE7F14357
-1C36769B6559E8FCD460FFB21007E49DF356C1F01CF78E6D002A07986293BF57
-C7C11141EF873A4D7DCC46BC1E9FFED9B1D45889A21A1204D6ED9A98ABAA446E
-C0821754B7FB62AAF8178718AF1A38804DADD238C05F4E80CB1B5C5151305C3E
-0878838D31234CEDB70F36E38390D473C3717014E77EDFA8DE1F54F2FB3B3A40
-EF28831334E1E727FEE5D60CA1B0784E9865B00EE8B410B6B921EB1A029A179D
-B0D892C920334E62A6AAA8137C4B8A7D6312F3E8F27DAA9C755B75CA93BE048C
-E142E4743D5DEC93729D362EF1C610144BEF6F00035EB90645567DEE2522A50E
-28BC0AB58790AB0459CC00FBF0EE23940CB5E2DD650908EA1795C412FF9DF3A6
-109FDEB484A8B9100A315D31849F0AA9876F8B9CDD64765EE5EE2483DFDE804C
-B12FA6B0EA6F74EA5BEAFE3D947BA16CC916C66B17FA3B8C0435161A714F0703
-88A37E7A9FD889FA29952DD52E3BA7C864937143FC6822A658871C88608A9A9B
-351FB780D11B72D1331D46CF68E7200F0AE4A82B64C2FCFE145F8D5AB954697E
-4F68EAA114B2B4CE8F32188E9725D8D3AAAEC150959C74B9134DD46C874040B8
-447CFF35B8CAB7349313C74D63DC4518196CFDA8D65CFCC1DE2CC2DFD4D24FB2
-CEBF1FE1C6ECAB54588A59E739DBEEFD716ACEDC22CD69ACEC454312EC1DCE03
-8F8B740631E360AA6DBA1E54991EC7922725600CABB41F639DD64D65594D5BB7
-300B2A77A5CF0158D31439C030C0B76180F42BFBF941CC362A11E0BF7854BF43
-230EF10B6DBE472F83389D740F5BC1FF862296A31BA59D2F24C230F828A4F187
-27A2C122F5A959F052D673C8B1966B0AFA70AECAABFEEDC5718176B275775201
-469C9D0A8E6FB7A4E67284134AB9975585272C47BDF624179D8827CA4664F96F
-7003D7D0BD1468305353E8B69F1EAF891E3B7210ACD008194F83824E64AA6180
-E48C37FCC45A8082ADE159725480EAB33F71E8177ED9938ECBEBB761F31ECBD0
-D734EE41FF83789F323895D5B3AF330E17D805D0AF2471A1003B688CCE46295C
-E614449545E09A1E63AF3EC35E21FC29CC7319733165F06DFC6C65BFC94BF929
-F948962BF47552901FD6BFBE77E582EC236DC450FA5CE186AD8D5FDFF3E369A9
-1890FB8C18E6F5211938E271E34A089F01ACF9ACC468D0FEC28838E8D465CE06
-BB4FC64840BCB931F9ADB92E0DE1386D3EACDA4F016E07ABE18FDCD7D6F28A24
-0D66F004ADDE24F8624863EEAF04C660E269B3606EE7DE25F0FE01510BA0AF2D
-E4CC657BE4914AE59864959EBC90B7437D5A626041AF1F4AF11479EE89ED0A5C
-E88E043A2292EFEE2A3D173E0FB979B0C75A4F9BD075A0343E30BFFE957A8478
-A4CF9D318BF2E22B9AB818B61E90E0D77A0268EF76A9DF6DB9904626C1CEE1F0
-EF4D4923E9BB43D20E153F1A2FB5CEB30C1902E1DAF49FDC5B860E302DA9BD19
-A390FC5AC605A96A0ECBE95C2E7155282647B0452891E8E400719961CED665A1
-C9B7A12B1BFC5AA5AAC85B55F3102CB04A22682BF4CA3982F87307F5A4D94A76
-643D2696887D2D872DED8F3917204CBA5695B2BB35CF6ED6291F0B5445AD09E7
-F27CDD17688323FE6DAAC1C0905EFFA39DC4E37582EC0DF07DCE59CE41C29306
-0F7BBA50885F0696F9E24AE6745551B076A423CD9CD776A5EE6C4493514AA190
-28BEDD2955EA53D5C67A02DBE1FDE6F2BCDBA732E30AC11C2E7FA0AB8CE89ADD
-0353BC67DE91757B96D2B8E20E95D8AE56CD01D918AB03A1B16175B535B24FA1
-86C804EB105EA9411B1AC2FCDDE1243ACCE8AE9D7A222954D9414560D7AEE5EA
-5F151D17328E2797933C75949E9BAB725867454BD90E56568E5C5E723EE388F9
-3E5FD0F837C8FE5B1A061027A8679BC947C66565BC6844DC3D9BF5C15C1FA12E
-AF60345404CEF95726C0C62167AA6E6EEAD255CA1FC57FADF1236B6F86BE56B9
-F3EEAA028204395F55E32082B6ED84678EAEF93D6D40BFE890B771DE79AA2F4E
-F20CCD8A05E35B398979337B109669FA12EA1F891A608AAC4666C13F394C5080
-00564833031FF1642248E9B36E1C3B06494B75C89921374C63C7580A64AE8125
-699221E1EDFDD2710B643B317FA0BF9E62DCB9BA912932C09A97A89514D0F719
-CFCCB8D1DBA441CF14569B8CF306D671A8241B48237C151571AF2D074AE05701
-4EAC5103AAB8C210E3B608E691B44E3202EC55950664A863B9041B893287352A
-C1C2B73D5EE889556960EAEC4639AB49C725B7D178FF585132B74F320CEFF002
-803E149A7C19598A92D9EE84CE95E719106E596903D02779C219BEEF1E8D1CAB
-D075028902AF16D31DC903E875D39BC0C518A115A3E7F992E776C109DC8D1639
-E511D3B868A1FDFE4E7AF696BD300E083D5048DB55326F7065BAECF2BD4CFF68
-DAF2059CCAF3BFD84B5B250E3909C24C2B4C05835DCCB74CE63B00DF16E8F206
-5DCFC3EB7ED58DB6AD0568D82A4C331A0A3E0056209F061784154D45AFC40184
-7DB72AA55FF34545CECEB07197D512B3D4408153BF92E37DBFF24D88C597609F
-2E91AFA4993B0C8E9281AA1303E5447B9C058C0FACABF3E5863EE79B965AB4DB
-75892604DE37202512B5EB69C5447759D44579CCC3A90A26BD2EA94296DAE01D
-BB9EE07DD8E308F7A83758263C732B451EF406D7949E451D9A2E47182D417839
-7C5899A26099CC2E4DF6D56CDB101FE2A6FC1AA3C6577F32C566B87A1B7BDC35
-BA0E7A6596FE3E7EC0ECC3225F2113A9BDE14B88AB73741E92BEB91368CAE3C6
-28C271E229D40E40B9B6E2E8845782DC75ADD9FFC9E499BF4794FA32938CE85B
-8C073871B4D820AB2237DAC3E62D398C7EB9F5F43FBCA17E364006D56AC38061
-C002B85BCBA86A5AA5943BAAC24283B2456A5B74DCDF8440C5FAF56CC71B40A7
-1233E8ADE4FF7110BFC9D5E0413D9294B2C1151D40BD94EB3295D48D23BC3CE4
-A22937AE42D65D3624E9E437661DE6B70F1742FF5578A4F104E712427731D5F1
-8DA503A472A9DCAFE343DF010022E02958DCF5B87D9B7FFFECECB772488224B0
-03C0DE1CB323AA2E8F02BF6479D29A75135BE180CE8CF5591A2E37E6EBF5CF85
-AD359FFD362859071EA6CD6B8F118BE107F63C7ABE54F7868B02677DCF8E9E95
-37453AF18C0D15DA4AB5DC6EFF3FDE3F5AE6684155AB3484B1854B1E68A48FFD
-D3B5A4BF1A2A591F56DFB2D504F3C480A6CFC1E89E7AC15F39AC083930C44C32
-F15843B9F777021EF6D2D08FB08A77E5C0034BF7D5E275329921EFE370247CBB
-850EDFBCBACBF5A6F5D6D84B269C7EDC34BE92F721432096680AE4E44CF549C2
-692EA6244143344D17D5928E90B40F570582A7CF50358D62B7B015A0F3161875
-1F870F077B1C358B50DB2019632EAAA11AC320A06616F9A891FB8EDDFAC3C135
-3B559859C654A75A3D112F2D02AC4C9892D766022EBA14858B85838A651EB7EB
-5F62175759169C1B670579F0137288A50C064A0157067C9C290FCD23CBFFC855
-940E8676712F1E95C5CC22402530E27FB0BACD1505F6FC637C03C80DF92F95C7
-A3B6019893F60AE8247DCD714F4D5197EFCCFE4FB43C8D49937988841F6DEA63
-5B0822CA6580D1C2F1DC16B98BA8872DFDE4737196BAFBABFCD200B986AC4D31
-9791A491ABE333A0024B212A780C28B6C5C6B3A5E2EDB82D632BDE439D3BA3F9
-403976112A527D4B55BCDB6A9CDD9C8B78FA872E82033CDB2D305632A75170BF
-252E94FBBA67558168C5399A75A3CD338281A6EB57149848CF0CD2F22C65D6AB
-F97193CD2A945DBF5D15D52F0CC4FE007C3AB83894E7343593140AB27180AEC1
-E5DB20E4D49AF2680B340574EB565B7A0502039DD4BA8D26F05C501381BAC7D0
-1EA23E18C8DFA02AEC010992966B9B421AF5E16352FA19F910B7FDC6DE8163A4
-ED4A164228808BBABFF72C3D1D8DB00291A89FDB1BA0C15D63EA38DE1F4B9D8F
-363EFD658E74DAE87DF453E8C5DB77521A2425F048061DFBF864FB7509629DEB
-A332E27CCBFDBA51AC97CD942D90F80C1BBCE9E7E7FE9B2134E3EFA76BC082F4
-0DA193BF4592D30BA1315B7A91452A50C06C60F6A3089472D1C2A8A0C5BE5A22
-4395FAB26C25A5B89BD24D74EF820D9000F438805110EB9CF1D9E890EE5CDBAB
-42738417B9D63778BCD4B172D358D1C694069BBD9D452D15D04FCEB621A536BD
-CB3ED0FF3C274AFF32963565E6CD7CDBBADD6064D21B418D322774EC3C0218EB
-8A765F752EEA1BDB727FE521DECE30548AF6AA74528F0B3D5CA697C55183A6B3
-38DD38ABC07D29BDE934141BAF2E09558BB26970D6ACB00E408B3AC255B0D215
-4124DD798DB55DDEE01BEC3E93B647AEF8B500405676A06E0D0BBA961FA3ECE3
-5E419C417AE8A853075356CBEB02DEA195E98F960E7D6EB6EEA0CA2788C91B29
-83976D367EDF2AD95AA722ED856DDE42C2C21839870A550768A3735F045E75EF
-C91C8C2DF1CDBB7DEDE624353AB3224D216A237E6490139426AC23FC22158A6F
-2CE151FFBD6690CCED68DBFA477F29AFBADA885D6422B12E0B20542A7D531942
-4A3727D068070EB7F156D5C7521ACDEF14833EFD37A4093AEF4CCD55395F42E2
-C184BED49A41D43D1F8F019EF41CF4A062211EE4C2E3479F860F97BA62BABC07
-7A303A850B5CE808F3A85A9B0C86FDE4FF0BFEEAC685AAC61BAC5D01BA636E9B
-98F69CAAE38BCDB01F0C9230C84F7DF9D29332B2412D582A7E014C71C5EAE7DA
-E0BE7D1F52F31241BCB150A1E4E8FACC4F4D2768D7E49824F4968C82A356BE52
-D6F0231E35CCC4207A12635E08C2FA1CF9AD77E926452B7C73FA84D350098C5B
-7DED637489191158AC9212319749E8397A0F49101D60C289FD6287C43EE5FC0D
-B3AC65DEB809A0839B305BC9E07C78BDD11373D85F7BB00693DF5666D6CEC7F0
-52CC7EB635F4A6145929D2F3BB98CBFAB0E5319567F079447568582A665A0C8B
-DFD4B036506A368F3214E8A36D6159F4A843181B5C331AE58B7C9ADED8CE1A7A
-B0F5EFF616DD98F13B4EA7FA22C7D805A71504017E2E2D6F36595A6B903E3027
-A792A7F61046BE233E678A8B7DE8747BA6374AB0C1B68C769B93E18A1A12D58D
-D76F6B239A2F88C695D8261F9FE72A373F5F522ECE546FE734AA22A4A4B34A04
-DC5B9F67C7E4428C05570EF2C3532EEEAF200ED37BC5822C7A53D50FA78F7FE7
-DEC0B063DDBCD11EA1F7EE83E8726E0DBB4A7A12A4AD6EA5E846B36056B75383
-D2B14FEE83CD828D73C3F791A6B3E29316D077B1FA60EED514882C79890545E1
-3C14D694C3AB12AF8A6EF749376A5A8A2C4F6797A4DBE24A6415B4E418724EAB
-59909A410EBD4A451C4CC1663653084A9F033FBE9AE3DA4E4710D65487FEB7B7
-C0B88327034A4394A3D8F046A1F1D56F6800E94EA6BB0D23E0F5FA84313C164A
-F208C85D68BB5ED149C391B1BFBD51778C72956E3C95DE049977F30B80080216
-6630F9B67110EC292DDBB0131CFBD41C59893C97EFC2F6576231EABDEC525B49
-49298D7EEFD049321ADB6CBAF254BF93F1439D55423610CC3E213BE81906D7C9
-D7A0729B6BBBC33AE22533CA381494D8BDDDC933D423329EBFB6D18D71AB2845
-B97EE7BA15253206AEB93234564A527DE0C2957CECE56CE8505DC22840446620
-CB84F881EF3FDDA1286DCC62401632025B9A8022A6127E33A05CFB65AEB5FFFD
-FF5C679DF619E032C03434ED8DBDB97D0FA0473AD718B76B5D93CEFF39B89792
-ECD2DA0E3F741E3678C31A6209372D93D194D309936524A2CED91A65032F74C9
-50046F89F7B7E8C6CA462506931D849A69AF163A3DABF9067C9A2262D8A27BB0
-126F743224CE8FCE2D583CAC9AF2DA9C25963F20E18E905503B2F143BBFA3E9C
-B7F040A0B313CF051FB597229228EECA97487FF85A0FBDA6D42319B5DCA0E364
-87E0663083DBDF9A8BACCF10CF391D83C7175F874F1A5804C308C8718CF33BAF
-7E9ABDCE09440A9F68289830FE25A10D0120FA8DEF4473E41EBB12AD3A72ADA8
-0F21B7A8BB63F6F2CA4FDEA0E839EB47A857D6562FD35D8C7763511F1BCDEC40
-5B0CD3C5712BE7A4F5C3B7453B847C16E29621678BF4CD529C808952BE52661F
-F50C7C289EF44F922C36CC1EEB337517CF80607E16F7D899A35FD79857D25AE7
-E1665BA7D95B7F4EBCFA2141F27B241E8669FE532983067C386D8F2DCF6C73F9
-867942920D073CEFD9861E825106ED702DE4F709E46050AA839DABFC529FCAD6
-444542ECE538A09AF5069183CE42FFC38497513537926E4F099D58CCF751ED69
-5D9A47090274E8010B4D9A2209F8ABDB3BF6A799C3C7046F7C40BEBA5A8E0319
-45DA521C990D0F3A2BBC40ECA9EBE9AF111AB441E463F8046E5C8AF46D561D04
-68C69C95E6BD5F16CA3984B9C9A7DAF234E999662E2DD865F7D09A920975D5FF
-8B569BC8E1F55749C832D640F6EAE63FB5C3DD8FCB1BF64F13E8C6B7A2F6BCA4
-7019F913B4B0E9478B3259E0682252BAC1F0C5A81C2ACBBAB3F3881A6507C60A
-C615DA34AFA33CA21C7426D5AA20D4D55B6859BF3E832836E3554766C017DE34
-690F4B1E3627160280EE592CFC976656E729E2E5C81CBB063FD59671D3F4CAA1
-FB8F63B1B37B3F40650C362DAA89014611B1C7F429A4F60A606F9D07596BED59
-72C86BF5B3D6BF919CE2F56A3D9CAB890620BF249A218D0AAA1AC1BB9F880CB3
-C689EB0754B2B846CCAA1CD2FE5443857B9AD5A2C4BDE039131EC17ED25A6C92
-819517DCA4D146BE0B4B23B3870F94627F9982FD9D1A8E72700386F6B20279CE
-6CF8DE05BAB17A64EF85BB76704708F8B06B02BCA6ACAAB80208D8DA682192B2
-54BA6C36745F6454DF6E83D34A38BEF6137D495EC44E410C3AE90E86AA0555FA
-442637E8B35068104B041A1F2B9058BCC34B726B2CB84E5D0B15F3098D321381
-CD7BAE385673B528CD5AD913A8278EA03C90251493809335358AD5F8A874B646
-30000A87016A727FC327B4D6DD1552A4614022E1E2A39D4CFC91701D96429EA4
-6437E4A7B1EB81284C56D4AAD2A6C4E4DF4FF0AD8AC381AE9365389F50767C6B
-9A69E8FAD79D792E0BE4C198584AF76FB54EB7AC9C01B7B62B19A99A04C32302
-B5C93B011149534FB5AFCEB620A72B00B258D3B1D7654949BB69B13A59CECAB8
-148A09B7D296476B55D1BE572498B8CE0B25C4E7F428BE0C829F8291073D29CC
-75D05CAC62BB742CF935C859684D38D9FA06E55E096EB97636B625ACF5A8A411
-D7FE51C3AE837E19C4F4AED0D35E936F6475DA8135F4793D1A6D3D2D55E9BC24
-D9B9E1CB674E4B056EBC5AA0FA9818728DA41895B989CF2C883D9A3916DBD323
-DBF5DC1A397F3BD84FCF560D944AAC380D097395C5D170ACA260963C03BCCA95
-8FC06F8B3605B8EF09E72ADDCDC1CF3ACE853B1AA5BD944EC4CA31496AF1D915
-2E42266D0F7985E2B868748F714000DFA9AA5476D4CA4F0CB5F7F3BE1255B9B5
-0EC28B5C91608453170146EFAD21A97A0716D4F57547B8EED9B1FB10F5383FDA
-C5AABDCEDA355F4FDF4CAC7D410EE7DF9783C5FDFD809DA767B3BDA36379E793
-8E9D2F19EB5ACB85928B6875F7346325BD8FB177A794C5EE486D0845EEFFA1D6
-6458E63C86B2DEB179483505F866CF82848985710044FCFD402A6E5CEBBDDD97
-BAB4E54279C79EBFC41119115746686D3861E9B3E3DC56136A64A520AAAB9385
-460C5906283DFB0682685DB86DCB1C21D9A4F1F9AE8EC65B714AAE6022B54675
-BC449B8EDADBDB773B3FC7E59DA4552385551F6DB2B344F7CE018D13696F5088
-6C08A9A42302532E32B4EC776C2CDF1F0F1A71F8B8104B1D3130A63A5E0EF779
-53CC25559A509CB9C4663EC5DA852B984629EEF62B2CA7ED138FED118EA5E809
-AF3ACF132AA1C3EC64068CD012FAC92C07BC75D8B8D2BA1830359D17595C3447
-D09EF6BB51FAA8F7022418F5EE656FD246845CF75BF2476BFFDFCAB5086C6B8D
-26BD0CBE5B72AEB1F3D49ADA8EC843C4458EE77F29C76F07410102FF3FF7EEF6
-8F71CDA706BD4EA2D045094416D76A28977D0E8F1E6C13FA90A6953EF87230FA
-CDCCA2750ADD0FF3F8E22D2A5C1A1DF2137BB36D3D57114B91DF1099D2521C2B
-69C50A3279334A41156A0708194E22E527F09A9C2F882D995146EA19EC4669FD
-625FACF9B767BED9961DDBC748ADFD7610E5ACA27C7C6246AB4F7148226987EA
-037B0270F5322182E2CBFFC67D955557D332D23ABE783087CA0CE1DB4A7FB45D
-1DADB4D0CF31B6FB714D34973106475E20CA7D165A37EC717E125A04AD32FF39
-DAA75FA5AAD2618B3902915720C2C0524DBA6AA4DF3DF7170927F9672DF548C4
-39A883AF6B5A80E206F5DC503BEB373630B70C7C535F6BDE545C814C5277A41B
-A27887B4BF29B0FECC98A4CF79E7B61AB0AA8F981C84239A8280462DD9FD051C
-D9652F77D52796F50BD3AA2C3442B0082EE33EB24BE5479F91D8726CFC50842C
-874139A053990AA0978FCECFEF77407A38695D11322E3B41F5F7905F04FD41A3
-BC3698FBFDE56587ABDB36DE905497517316902319D226208380A031EB5EF6D4
-97F6E8D10DF42F4C33E8F3BBAE3404AF40A5FE91770A767FD4584D3521AAAA47
-980D19B8A9FDBBCFE9138FCBC99A53CB82AE549E17F5DB6723F6ACB4CE6C79D9
-BD37F9C4A99091E5AD559877FB1B3880E6D2C8D71AC893155828AC80F506466B
-6F12E5B791C19FDB019EA85BBEC365E50E483F6A11C2539888A070AA36760379
-087C038BDB25AA9C7DDBF0D9DD758B6C1E9C9B016E73270CA8E80F49A0E9965D
-2A3DD1DDCB6A9252099FE8791D18D2844B5D3AC7757244AFF4808A62C568EE8D
-0114932EF1C3CEC81F2A1D66883D717C2E972882AEC8DD0C6B5746DDE2AE0B93
-F293271AF192A77DB6DF3CF9EDF7A3BB9E561581633D4A4898498C3EAF12437C
-6D254367F9CA4E93D6A0F5FB55F741C15BC9C3DBD34D5B267F5189F444C7C5E5
-192082A1870F8636C223F8C07F1B5F31332F835835E4BF75801E71C9DB3D98B3
-BC05DC1D34032C928CF1AA96FF6AECC48D75D323D245D1A39E5184E5CF6B47CC
-0DA29B83428ED5F91555E0D00B5C9EF729383AAE253BDAACB014805028409509
-5467C2705A2C6D6D0F9497C1A1D95B543EB207903D01B50DB3969D93E8563F16
-021B623A8CCAB0A759D2B5940BCD1875856A64E75D8F12CDEAF7A5F6EA799ACB
-C2355820214B96239D6387649679C28D24032067A799ADEB96CE3B6D68409245
-183298364E88565257C6ECCF8EB527BA8B373BC8541C0CDFA2619A59E7257BC8
-B608B86C0BAFD62EF6F2B1CDE91A111285ECE7AA6D60D2120DD0E20298066B78
-B7D5426A7516674ABD44D46A33962ADD4BCEC4FFBAF2CB482E71B7FBED39C14B
-7DC4F46C871842125C18EB93B63E8D262E4E2F0096FF72EE15388F09B26E7B43
-08F501D4817CC4854188DDFD3B73C17AAF2124330B75F68F5D454E7EDD399EF5
-6F081FF156B46B604019AA79F68DDA026634B196571312EB39E4FCADD75901A0
-8EBE70BB100DE472336BEE8EA8AA1A9D07ADCF9B9A0271331500B2ACE37689D2
-C31332CBBA15DB4002E12B622B6CDE4570D6279822B7CC1775876D4E9853A137
-EC7FDFF087D5F6DB7B1A67F4E070C63DD22ACDBF523F017069DF86224A20476D
-648E1A9C10927ED95439772F8AE2C61D38AC94053D5DE8BC7B53EF85AD4FED32
-55223A07369B7ADC0916E25C9342900CD112E3E89C92374CAC2ECB5257F0B3A7
-CA10A916694C5D0E599D3E8E6365FC9E373B2FCF65E8AE5260AD675D5D8995DE
-3190C4CAC7F46D742C3608AB4A8FFD49A57FD2F74B16443DF47A3155F74B091C
-550F6936900CEDE69929514154C3C86DF1889424F0589E8807AD320B018DCBA9
-374B3DB28B043C9012548EDFFC43118179A95EFE67F0F0CCEC89BD3A851C700A
-6C9E2DB35C55713F7C337F87CE270073259F889D3FC818DC1D4CA3F7F3CE4B2A
-795F93F6516D0EECDBB858587486C3ADD7D24F676BF31CE996A9C427D082E1AC
-D8E8BD1474E545ED156E7263A6F46B673B67D6A14874C440D81B90D527912719
-E30CB4E371489FD67577C9D02D1DA8FCCFAFA5E77C37935682B895270728BC1D
-75965B886D067DD4A84D62A737D7A016D213CD3F257DE1845B609AB949C1F310
-A864C275C18E0AB905F196F9D5816BF29FCECD7EB8AB9B7F8A93AF8581AE2ED0
-38DEA34926481292330B8F30AEC4C4BEF92B75D3F15045F9EAD7C8909C65772E
-8007DB2AB3F5763EE9207E60159D5B6A6B2C99C46503DAA9AD640D27F5E70925
-E7CC81DD6D806A8267D4B44F430D0CCCBB800C78B1D1C82C6AC9B5B9C3DF5E1B
-3C30D3F1EACC44498F0335EF15728A1A97A2D286D4F76A464A4E51688E043AD9
-D8254614883A4B94A13B7C8C45D68E1E234168A157C01575E82D4B30CF463900
-E2DD7C51103FC18993898F1D38797DAF19458B7DB7C863AE48D7CFC88BEE0ECA
-2F070C601EB26D06EAF93CEA6396837C00FF867C848F705C38397376515098D3
-9D4E4CE2597B14634593BD971B895D74761B197878609C4C594AF4598097485D
-6866114BC89B46C901E005D69EA1C7865198A75C9C96D1C00D5FAC120CACEF85
-1EB1707E6DEE2D7C25B201FF31511FBAF2498EF18B9924F6C4CD45B760F72DAE
-CA6068231CD64D8B7C8557F51AB956A2E4A7E36F001716A48F3E1EEBC3EC245F
-1E07FBFFEA065A56261B1C3CE0F9DA5772C2ACD94C7CC7E1DC2DDB506082B816
-931405117B187D7D9CBB15FF42193326C2A49521719DB67B79A0AF07364B0142
-BB329CE7A7DDCAC1CD15CE80F557F01880C786C36E7B448B7C4E06F2128692FD
-F3AD8B56F4ACF873AF4AAD6BAF7FB1AEFFDFD36F4652F7FA1D9E019567D6D2BC
-EBCC4B0A08F15D0CCF741EB79C2372831B019B3ED4A36384005CE1F1CE6CD2A2
-BF05E2D9681EEF08B730C37082978F061B91AD2197C07B5D622A01F3E79C09C5
-2843E77011F679398D1D4727739BD48847B27C3CC5C8A458C4B33F79F9EEB876
-38E33B0AC427F85F5752FA05F8D09603D54068A770856D3B85E340E58B420D4E
-9567CBD78875D26BCF0788E5BEC73028626A61C83E91A10D4D162C65A31FEF0E
-3C86A0654E46E642E5673EE87F2BD25B3C5ECE6EDADB8A35123256DDA82D4836
-6B473E7AC5828EF131CCBC02A17590E8C26FDCE2E6DEE18C2CA9AD6F6B60ECC9
-A95C0A6150405516E5FD086B2C2F9AA6AA3B1C8C647D728CF6E44F60B8F8AFA8
-ED68322B16C6B986B5FE396AF3849D85886247382F445B6CAB88A40885B578A7
-25D7CDD00A106E7B1F4BE23A2D9BC45AAB90512384C5A06B01746267A90881B1
-8DE164524F22A2B27E59C077CDA0719723C7DFC3E625CB6837A38BA590D33521
-384A95436E9291139A5ED2758A3DF5A444400473A47E19F53C2BCDE3F9642145
-EEAB260DFAFDA8836C0A4E4A1A3DDD2BE68B7634D827132075C02FC637BA402E
-2066A1FF011E17228E8467322EB65A2F8B0E1ECBB3354CFD2A405D33A6AA7B7C
-7607CD4AE0AB56206A8527E5BED8B4F17233DDF89AD96B74FDF3534DEBA5D857
-98D478EE33054F306198D5021EA2858E4C7AF6968AF19C5652DE22D5B8D32F84
-2CFD5CE2CB60474AA199753FB1DB6978C02C5AC3E8C8679FB12E3D7F7EBE60C2
-20607D979CA75358D1AFD50D9B25A7C80C687EF34E6900B35BAEC2E88A0A55DD
-75191140371F6BF6C5D19209FB33EEA85BC5FAB2304ADF7DFEA30FB4DBB7BF6A
-25DBA3C823897D06349519D62147CC9BCB57267668A760032CCFD09BA2078B15
-CEDA8EDDFE365E498D038571E1CA63450C89C79C94E61ACCEAA4F1A0F774543E
-4BE36E0AF9FB8828A8C8DAE2F5409F28F298B10968577F118811FC28E7E72AD2
-85442580795694BB1AF119206934C324F94D32BE734244194E647AE0ECDC31E4
-DBB2A2D48E58F87BE8E5231E2F9BD7E2630F17B57805FAB2B92BA9FBEA9E5DFB
-BBD7636E4B4D91A5CF42FABDF9705FB0905773D8D299C3EC150502981D3B3589
-EF415DA95B6386251AE8830522E3805F57401A2A26680C47B2DF87D414B72CD8
-19FA2F6F1AAA7F230699CEA872263641E29D31EFBE19287DB9E20BF48BF8E8F6
-607639FD0EDC4B0D89D3EFAC99846C954A82F60ADDF090790FAED1D5790A6AA0
-97F763DE4B6CB1E559825DBEA4ABC7215BE423BB5CBCEDD042B5880941FBBEC5
-EEBBD377B1B2610895446E4DA4653B7FEB5B099CA09C242BD0F3A51EDFD1C2C8
-3556EA6FCA580114910BBC8F1542361BEBAA712982B8BB5939314C522DC6BEB4
-3241A0E14584C605584B7114BB2E63688D7B5D1D23880A5C5804907DBD0BF1D8
-CC4F794FE8C4788AA78371F96DB4D7ECF32F29CBB8D2F6E2A2AB358E38BB4C38
-92F8AE1837B8430EE1784C461E19C80165613FD4BC6540A77D12CB70F978ADA0
-06587B69D08AECE8B1C830D10942B1571AFFA78A4D5047BE4F8FCD39D9FD0FB1
-87954896D462B393973C696AD7359F6A7ECD11C0F9FB091C1DCE761B5B598D86
-6FD752A20CDC39473FA6F8DC481444A368924577E772CFF63CBA3B23941E77AA
-C403D2E7EAB932994BCB758952AE2A7FD42B0D70E89F00503FEEB30B56100157
-D750C98F32730C04F855CBE74B557CF3A7C526FAF380B162D14D7AD97B534DB8
-F4AA0999D7A20EE1A75F05697A6B1095EE09D49F93ACF4C0C601A543A7E2FE0D
-EB91BE078FC65C807E2FF5939D51C7FE4F305F9247E1309050E37F701AA4B853
-45F5F1E8AACA53E5A9A850AB00E19AA7C974914E070C5F91DF1E5893A55B5816
-5760FEA2A99346A7DB8C2094E0E1BA235690D3D00C229FB921339A24B94EC707
-E536433AACF1255A23395805E52166E2B6DF86FF30BF6D2CD84766418797A8E3
-1328FE6C97D316E6ED3AAA2FC7DDA0C614340FC72E5AC55568752D9B80B70B54
-711BB0872561E896B4A71817FF2C4F2883DC5CD7640E6F9E50D3E0479218FFE0
-4A7C6F349D38D6A7ED7EB3DC2B923A0D6079432E6B3273D5AAD00D59D9092979
-1B33ADED3315CB760BB02F22999E08B0CB74584947931E2DCD9C18AB85953156
-91A99DDD0ED29BB0D5C9766C251B4158DE671A148DB9E9893889B741020CC980
-8A554B70D9312FFD541708AD03913E14C299A09D429F91CBAEC6A76D0D0A800F
-D442505EC49820649BA33A1D359233A266A6634130A422E85498B2D586428CF9
-21A805B926D5CFF1B2F6C18701558C08F4F4348A264DAA6E4A72C05A53028DA0
-5556BFF71ECC12A58171AA195F03F1AB0C6008A78871395801AE73188C1BCD6E
-79377EE5AE8CEA2A676BD99BDD93E6F0EC43CFADCB6B22CECF481FB8C5F9D2BF
-7BB5E27A27F7EB5A3951D4DE3BF2626A843309F7E0AB8065285A3345253D29B4
-520F9E14DD6A9FCB945ECC2663EC81BE08886E746EA204AAEDDBE6FBEFE11CC6
-EBFF9D4CF1F0EEC21072B6CCE8174B5A21858CE11806639D90796BC092308690
-5F80D593288CE2578EDED0CE0C5755F6B8CBA30F96F1A831372522AC5443C9A3
-94BC5289946326A2AA3999095CB5E39EAE7A8007D83A3C11FB96EEA699073E6B
-641E66BEBCAC098A1D38FB9175943B21FC35C53A180ACB1A0943DB2EC63A0210
-C9348A753930644E4C73D38E1E3E9880AF739C38DCE13B315D5C70456453DEA9
-39A0F70A36FE095BA745FC6D2DD2B0CE98EEFF77C2F6C05BA5D4ACD83DDC3DF3
-C1836CAA835AAD3B9E12D54A72B138320B8DC37035B4CAC4540E18E6E0ED4CE4
-0B64A538DE696D7C97CB6F8418C584B4EE33829D6B7D62A2CBE22DD52D3791F7
-F83897CD8C077178EE5BE957E1B02191B14FA45E62B53682C767CBF78F349F3C
-CEBAEF6F8D86ED409A5B7650FC01A62D7B1A169D4F242EA4E6908EE8F4EF0768
-2274E1408592802AAA59986049B157DB186C1D975F5BDA0553BD1C98CE2F8B03
-14AEEA57EF9FED9184631CD2EBF9438348AC3CA8E3A6C7B96F363AE7BA1FC147
-4DC8B0239D4EEAB7CF1291805BC140E8A342105FD24308ABC82718F4E7537F00
-6959271579FE783BB174BD63184BB91E398C92C29C1D87EF5C7B728DCE826DA3
-380DE58C058DA92CD280BC3127AC30AB67055EC9C6875CD7C98D8B3E0AFB7D52
-C511F5BD8EC09FFAAFD8C56016BAE7E87427EDDA252483552B858C87600CC4FA
-281016D3F0819662A5876BE42B88A5BAF4EC6B9EB27656541E926A3996F3FEB1
-422C9BAEF3EA63187D74E48554808FC461C9A2864C91123D55E3D8CC8F2F50A1
-8210C03789FE146FE422C14C690378B000F7C6E3D622A6082720A626B3B1AB20
-7F40D245FA57D0F19ED55A9646F338FD6542BFEF27F3CAAB502D88828A0F2A36
-8164843A3987C809051AED7C9D82C00C8E661CC3C28FCDF4D1F7865A03234DFE
-6B368F9EF1D7EDACDC6FF0064EE02E88B19BCB5662335CA3EDCEF4F383D4C4CE
-F8C829AAAC191154F44532D7D81E8813DB770D2AD8BC0EA81789287211CD51B0
-A2A7E9515CBE53EF8E2D27C549A59D191490625207A6D85F6E9E55418569CCE1
-971575437F19C56D552F0D9AB837760203FA9FE10EDF942F4988736ECF3DC8FF
-8645F0BE1E254083D93C443BC418E40C62873446CF0F3B96BC37C3457C0AE9B6
-47DA4BA3A91C716A073D01824B51BBF89581BF3247D36F0E4ED1C202B29F4DB0
-7B9B663FFE620E7AEA59FE6727465C808816BA0E5D1E937B784EE7CD9533CB67
-5C10AEF84D645A128A021A737CFEC99A9F2702DB84B20FA2348EA55F73FB9648
-B668B44D2C0A329A47C9D19B3F7F74562E47CCB9CBB6F43361EE85E1E61DFB06
-9576F89AFDA4A81BE4BD5B93EACC6DF66C580749F221A4A162C7BBA19BB6ED61
-5FB1A022FABFD55370F09329B4E956A6E36BA8D6DC5D09996D10790A01F7843C
-776BFE8B4CC8AEEE36C062579F897671F647D5D7370827E4109CBDA87262320F
-6F1A00438247EA74C50F1FA7396D98A6969F233219936E03B6D587D1CF62E7A0
-D2B0307338AEA72990C2E38BB198F9528CB36333C94698D3223B286440DD7A97
-4590B7CE0C9FFD5116217DF60F8B1E30F96DE8440B8B6C0AF4A2D76C44EE0D3F
-BA6BAD8B3ABF3427CF9553A2906A6467FF0FA94C1F9CABE446C66F6E8AB6206D
-DF511DDE10BE648C17CED91835C47B8DA19926CC00ADC668D4DE668A136BF323
-C3F0205BD47B091349E5048A4DAB26AAE9A35FE25A1022B663CE559F582BA9E7
-A5EF7B250B9625B48EA12404D40F52CDA2303D388DE410CF4AB100EA686EE976
-C094767F421C103C1B73BF52EEAF942DC4E52F675DB20371F7A4CFADC0E9D88F
-83032B77AC713E1AD6DF49A7B30FC1BA26656BBE7243687D025B75F2E10281DC
-EE6F5AC815E635C8E0C5A862DDAD543555F16CBA8284E76F6A8C0216FD76CEE3
-CE5EACAAF79F5DA4CB5A9E2BC13A15270FDAC1E1C362EDBF57F53CCFEF7B6828
-31C86E431C33B1ADF29A9357491C70A69D0BACA28E3E97165D4A43C9F9B4CF1F
-ADE3360C589D5BA262EED104A3633F23A2999995E93C7D079350C0BAD84DF62F
-0F4A011AECAF3FD40F60285ECDD4817EA3B5BFBAC1AF551F9472DA0DFB129DA9
-A23565F5F669F81C9080023C9EB2F97EF7595981E2109AADECA6B00312BC4953
-9FA778F9DAE7EEF08713AE8BD8A42A9DF5D1321B1A05D110B55DFF4883CF7825
-C1EB774CDEFFA879C8033DB1F0D6DDDE2D630E608DDCCE703E4D92F478C54C27
-839C9C2D54DEA43527D8126D4513B7272942626210B471B092045057C13E8585
-D09789B9B3EFAE551F97BB1EC07B9E48DB9B3B5168A4A7D2909F57A31CAA7064
-99DB7089402A57E64A11B590A7FCDC6302287DD817199F445EF7BFEF31AF9023
-85EEFA4B6D605E0F9F36AF6832C004118B6B14E3DDA29C22BE46B2295A005639
-5000F7850091995ADD3025C6385265F0B26F975099AB7497929D934CC7529F18
-848A3F88E114514933B68E185563CF0881FFD3D95233BC80482BEE56EA0CCC4B
-65833FB91D37C488F0796F5F1AE450B35B76663AD6FF0163821DFAEF95B6BCE4
-E3DE751FD9597CD0D4264A29FA57B04AC586C746CFC65FF8E523C318EC224C68
-3BB812D7303D15E633A51844102BF6B04053BAAE80DF7F0F200F51BFA112C609
-4735BC45DAE8A5776EE0AD3A649BC7B90C7D8751B9F570C72EB3159764E7E9CF
-ACED780FC853AD7D40A52EA42D40184B0EFF88AFCE52CD218DB0F64CCA86007A
-1F2D6D0C2E8FB9DA2A1555C331D569AD3DD9A7913A0263A64CB7F9DF1330037D
-D450293154CBE83812111A1E71B0655342A1B575C77E3D336F8D0CF1A3E73F84
-7E54BC4C716D939E3CEC3D6CBC2DA6FB53F1279F3A446D4D491FFC5C0D946C53
-BF6D3EDAAABB9024440061EE3E6BB4210642F6F65ECED2356C2E81541CFDEDE3
-9C642A3518CC1494DD23F0E580E5B5DFC4CB637DB535269FD2B2AF684682AC12
-B7255D9C74D58D63B624C237439B1BB7854617B7C471A8AE718633CA0CE89DFE
-DA177D32254CA920DCC5219A311449F4E3A0459E189986806D0DD0BD0D686076
-24605187695144EBEC2B9D464A425F52C8E7717F4393CF70C02954A5E49968BD
-9B2F82851668047B074EF02D246513DBEC3087EB324B9AB8C9773E4151CB0B37
-792345F1C0ECD403BDDC6474B6757F2C56E4672760BA65BDC154DE0400B91762
-303290C8A4591C8B07FFF2D60BD8650D2193605F8A120A04A3E02D441B75EC48
-BB27F280371BD74A816D8411D69B1C0D00C64F219AE3A1B3BBEE1EF775C8C39A
-4DAE3DA742FE5C40433E87AC7B33CB65E3AE93646278438DF7A2EEF3EB299888
-D4143F3548000AEE9DD000068B849F1F80F5237BB6E452F985FE7D7C0ABD4D79
-BF592AD7FBE75A25656002FCF3EB07D2F769F66B93E779AA8ADF401B198E1521
-4E308C96AC4BF5D7E7278DB1D3E98E6FC939CBCAAFB41D59020B6244C55BE736
-28A813E5DB223A3FC6EA7F6327A5C54CEDBCC6B46CA653ED2AE0A9059875B182
-C4D7680BCCFEBC5D3511F56BB1A0E289C7A93EBE8A045C242E4318D1CC4654A3
-F7771B45D53AAA37C74AEDBEF747C5B6EAD4A050ABF283CBEE8316F5AB8CAD64
-AB6B4AECC55A630293105260860389895EF4A2A4F57D1B52F3C078B5EDFBCE68
-CF4A42FB2480E589FE54B056939B3D8F95711B6E9CEFC50C64DD91448622EDC6
-32E30B24D09201820D0188DDCA1DAE6846908193E0C590E895C80257AA1F0639
-A517BF2011821DFC469F2FE82157550CBA3E307F95240C514F25196B24DFF918
-F57074E90DFC77FD141174F153732334D43AE3FCA9DC99B9F6CF681C51B3450A
-9A9C506ABA3AED9FECCA9735B632DD806551670B8BAC7502AAE7992489987D46
-6E744DB2ED7B2CC823EBBE212E8F20E5F777A4A85FF2AF0318CD9856372D1C73
-A10C23224B4B1DE59968E82DD19B66FAFC8A850B6554DC0A706ABE63877EC96D
-7FB162260DD7D77C97BB5841239C80C6DCE82834B763555A04EAEC95069CBD2B
-C091A0814312AB57D2CBCFD20556FB9DB1463F205B6D93493683F08AF409790C
-79311DC20B70148474D02C651FF697FD741ECFCDEDE30D9BC00B1478790B54FF
-BFDB1D9B944896AB44AA12CFAD86E49AD7C5B81C2D5772585C7CC4BB7BBFEA80
-D6C319A1B3E68644F194210384389B5ECC6FF80374A5544166963C7CFB7999F8
-DBFF80BA6687B835812A131057A013A7E726B2483D01113B2BD7AD2D32B8C8E8
-9163BC62E691D290AF5CF93C0B5C5CAB18050C0D7E6DD9917B5FE7255A889AA1
-D558CFC8C01141CADFFC561A4F30A8099CF91FD006FCF79BC18FC140EA211715
-1D1F861C195BD8A3B7E3A65E19CCA78504998E62571DA13763E7747CA026EB18
-CB1FE918AB8A8798E52A218F7D0F4C4DD6D214110EDCFB252A78CBFFB530835C
-D5F93C15218C118665AC4C958326CEBF843F8281017D6C01902E3B47FA1511C1
-0F354D01922B70BC2AFCC8365BF82B06A5D240DFC2A640122F2AD4ADBD85D88C
-BFF6BB45EAA41BBDB5588A633106B6168B8F23BA327B9E7CB4DCCB549BAA13B3
-9821291F919BD0E84AF34AE4D13661AA333A9971B43FD6D2F921A88B106F631C
-F04B9DB3B057E11D332C57BF161C22A24D5A21AB5CBB12771AEFEA2FDD6E298D
-9EDA2C7567CE9A7CA6682DDD29D196978D0DC23FAA64418FF4671C9AE086D474
-0AD3FD9CA36286971C7888B95608C487B9791E0F56B6285BBA7BBA2474969990
-6A8733483771431B062DEE6D652D23459724AE011A1815B4AD0013103B1AF5C1
-7691ABE515CA6DDF57EF8A6DBFE813EF052F71665E6977969829B28F1988A563
-E85FD49C5D04A385559A1AB5776EA8A74FDB70D75FC9FFFCCF8ACA5517FD261D
-BA24826CC6D754233F2BF712EA6F7F151AD4BC67EAAB2400EF1C912468BE7B70
-65544D9833A45983041115DB80425E904AA9DBE9C04861D83F7BCDC935C5D6C8
-88123DD716735958691B4A4AF87E0851BF78C084DD4086A74B9B22EEABF7339C
-F5D282C9F8E4CF83D9135BD06E0E1588A8C9393BEC90C17B4932C8D8C1C04743
-D4EC1EE47968C9E66067CD4B239615B15E0A20270280FBAB72A43AE365368FE9
-7E62F088E8B2F16DED660BC1C8B82B6C0109D11FE96C800B10996DB70E312295
-2C54F39750D03A3E10CE7F614D58A802A1EB4E729D94684E03AF11B3CD77C3FC
-B7DAE5E6080948BF53CBE0DF091D3EF60712AF752A1AB545687BDBF4FEF29321
-388F2EA1379D352C4938C0D90D117FF22ADA258B5547E23C5FAB29590F354D86
-72D8A17EA66360562FBEB99401A913903040C0E5AFE408C6A9D01E57817550C6
-679BC3E19BAC6EC427CC197D94E3F4072BF58DF7D56E2997EED90B1A11F44378
-641128A96EA0900825A18A3DC8538C2B60616863FBD089704DC56ED59A1207F9
-4F706AAD7AC145F23CA6868BEC757D2A51F7AF91BC03973AFA38A4AA1733B461
-2335BFB13AE271C077E0E2A6A60E50D524F3C579C1A2EC2C63382B382C727042
-19391FFCF90BD39806280C47B64981D53B3A9D0B3D9726041F4D4BE0070A15E3
-66BF296176EEE4CFA4EA5AC579032E7E1CEE3569383554644F49FE9DF9D72048
-9F2D3CD7AD4156558DD5FDB44CFF42C5DA1FD6760B31870D69C4C1F2F04BB51F
-9F305D8F3E0C23F6246F4D9F033FB381D4617DC7EAD0A62817E9DF0BEE9A5FE2
-52482E13C1B3F562C4A692D93246FAAC45946FF52FF9C349AE49BE7354C4DFC4
-FDA4D151E518764BC4259BAF21D616DB3BEA462A36EB978168918CC9F49E5B91
-0FC750477E2E5F992B29393FECE8F31E95792ADE2181031B9A85D5B965AC42DE
-541BB0AF1C5359E47971484919CFB627837EC2CDE157EC885EA0A746A372704A
-18375736FE6F4EBB855C63E564BF64ABA4941FB137C381405984161071FA5E7B
-F1720D26BB7381D175F5F6B81977373D3327DB7666DB20FC5019280761D3C816
-8D941A8D373C80F68F36616E857742814950E708C2DBE1D57BB39AAFE780B21C
-2DDBB6184B64605E2321BA5D5B009A7E905ABE4D383734288CDE7DF8AC3DFE8C
-B647A6124838D46D5B60FDB0932EDBF78820796BF7B54B9A71CD97649D78540A
-9E06C7CAAB129CF1B1FF9DF5124783896E9CC3A3D6B8A8649FD0A0C09F19E955
-846B1ED435426F939A02E414D2D5D705D9291AB61EEF2A448E69F9E91FE0F549
-36B457E368441B58CC0125C0A389EDE765AB02CB104E9F3C9E0A19A2324CF369
-8E92D0DA513B44E0AB7B5CC9288991142D3557BB98089320EAF0B949722B6596
-686444F42CCF068A8484D4563C36CAF71A663B86206D154EE5DA978255341A4D
-81F99CC1605FECB72227481788770C240DE61069C0C3AF4F276A01A6ECA2C0F4
-E819155FDFE28E4842E796F927BDDE13F2DDA0E2030F37E9EC17B796C078FD4A
-8744B64B1E80BC250BEE62ADD591C2D666E5E30FE607C767DF2142B0A9FABFA5
-88C9C5967C18C37A2881BF7E7BF542DB5C69D2C163297A1B796C6C130F8CD6C1
-FA6C9ED3C79E5CE4E4BEB48139E97E879B49734EF3AB97DFB3AF90144FB27087
-C59AF8BA9E71F825BB5A96876204DA4409CFB5E061749587BA5D10E57CC09807
-65460AA1FD3B3371A29BF8DB97B1A425800A52AFAA24E127D32325108B9BB5F8
-B07B0982C2288784AD7721FB189C497F9DED5A5C82757D335E8FC50D6BCA81D0
-7CFA51C44D351FAA9A2A5331A22848A24FBFB8CA3888DB00FEBBFEF05180FD3A
-6F4BAAB3AEAD21AFE27662CD95C2F01B614989E66500AE191E89A86DA5FD9514
-021F4345776DF82EAE137114FAAB0EBD807A5B68487856979966E1F4614AA00F
-1C626493358948DD8F664FAC87810A4C7FFB31E95CF89B03A28F75576DC00E80
-4A1638EEEEEB0337F7406470310E950EA4417A2C305B1D1AE324C1FFD3F051DB
-0FA938A33C6C61344E54BE336EB7FE7D50F7029FD6C5CDBC06C7DA81F9DFBE8B
-7C6DC79091BDFE5BBCBAD69346AC1F2D9687DE7CB7AC3B08CCB02A087AD3A2E8
-1F91AC422730CEC88D1D14D807C70F50000833991C53856DB43818E956DAE73A
-FFDB43BC246048B479C239C8F8B58F36D4F21E68136C7BFAE8C627B4537EE454
-9C895902AB121DBC085998E15A7ACAC676B4102BA251F40BE6A0EA4EB50430D5
-C7F27246BEAF5532517C21CCBAD3E56801475D7099C3679E4525709DD4383635
-B15F4D45938835D03CEBF1092B43A758C9D68D8CF5874C85566E6073DA4ECAB0
-F39BFC3F8FAFE44058C04BF2EA86C492EA2B9608399575DDD436A123639975EB
-4297EEC874649327CA645D6866912456EB46293CC5491E3B393F0855B86EB5BA
-667B46511EEF0B772C9B387B575AA02AE4C37B572F3F5C8A7F914EABBF115B94
-13DC134E7FD1BF9319EA21175CB26691CD73AE2EFC6FE643819AD3001814205A
-4EA20EF67C393B5226026A743FFFFCE77834BDE51FBB47F86EFA348E844AC01E
-594BD7E1CE21B37437660274C72EE31A3D5305088414A6083CC50FD742FFC062
-46F24086A97ED005545A34F3AAEB12F1DD9930740C56F31CB0F5862DF2D96641
-AAB34F844794C15F70DAF0B3CEA4EBCCFC32B93A1C4E9BBC781C39E4C264D2B8
-F4A707C548664D3985F7A21E6A5589F8CE4CFDFA8D532FE5A3E2BAE477993811
-28AAAE198D01C1F2DB647884D42E41B532F1B2063A00E6B17A5C4A9F4C2A317B
-E1B7205759132A9CED886C8CAEB1B89308656F3D2751D2DE74F14B970855BC45
-D099562355ABD7D185859A0815DB40A0485A4DE5AC2D4D64D99D9300D1C25D24
-F231012F4C052C70644095EE910CE5731BE39AA533B359DB6DC8FB0FF07BAC5F
-17D47DB80ADAD7A9AA69703BC8054B9E2A5EE37FD3CDC9F04C66E33094F5C0AA
-ED640BCC7675EEB0C69793F93535911AA6017FEA1F3FE4CBCC76DDC6C91ADB06
-B2B29737C5869E65E98E93FD97FF01C4AA649E945D949DE17F63086E8CD0A5B0
-4DC8BB28379467A431D0D54826FD985E0960424D64188C539C766CC995560DD0
-DBC31DE3AC02B27C9FDD27CAA7DE09728FE98D93C5AB5C375798AD5DE4363218
-6AC49D9907CAF6F2B5C841876DA0EFF50FBA3B9FBAF7E67D7515BDDC602A2622
-16CE335B554606569DE3EA096EF89FBD9D3627B891E3E78D0DD2B3A8F6C27617
-865E418EA3817DE8E54F71FA45A66D14163736C86A8900FE46C924DAB6424D5E
-0EC3E21E4A4156F955B34851DD3FA1151EDEE50A7855EEC149F95C85BEABC35E
-8846E78E1506706BBA0DB45B26C0A75CCD73B8AF14C13606E81B2C80C5587F15
-A5FB42FE11432F7F07BB80554FB041DD086710BE2400887A5F789923EBE9E6EE
-28001B0A1A21876B4AB6C4C59202980D2F127D1A71050DBAE49DAF036469D2BB
-B48A498468FC6DC61970531CBBDDF7DAFB3CB8
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
-%%EndFont 
-TeXDict begin 39158280 55380996 1000 600 600 (libidn.dvi)
-@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[39
-3[39 39 39 39 2[39 39 39 39 2[39 39 2[39 3[39 97[{}13
-74.7198 /CMSLTT10 rf /Fc 133[39 39 39 39 39 39 39 39
-39 1[39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39
-39 8[39 39 39 39 2[39 1[39 1[39 2[39 1[39 39 1[39 39
-39 39 5[39 1[39 39 3[39 39 39 39 1[39 39 39 39 2[39 39
-39 39[{}54 74.7198 /CMTT9 rf /Fd 133[34 41 41 55 41 43
-30 30 30 1[43 38 43 64 21 41 1[21 43 38 23 34 43 34 43
-38 8[58 79 1[58 55 43 57 1[52 60 58 70 48 2[28 58 60
-50 52 59 55 54 58 7[38 38 38 38 38 38 38 38 38 38 38
-21 26 21 4[21 26[43 12[{}60 74.7198 /CMR9 rf /Fe 206[33
-49[{}1 58.1154 /CMR7 rf /Ff 158[35 97[{}1 66.4176 /CMTT8
-rf /Fg 162[28 1[28 91[{}2 99.6264 /CMB10 rf /Fh 134[62
-3[62 62 62 62 1[62 62 62 1[62 2[62 62 62 62 62 62 62
-1[62 39[62 6[62 3[62 62 45[{}21 119.552 /CMTT12 rf /Fi
-137[48 51 35 1[39 3[51 1[25 6[42 3[44 7[69 69 94 69 70
-63 51 69 1[62 68 71 86 55 71 1[36 71 71 57 60 70 66 65
-69 6[25 45 6[45 50[{}34 90.9091 /CMB10 rf /Fj 135[52
-52 52 52 52 52 52 52 52 52 52 52 52 2[52 52 52 52 52
-52 52 52 52 1[52 42[52 52[{}24 99.6264 /CMSLTT10 rf /Fk
-133[40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 2[25
-51 45 28 40 51 40 51 45 12[66 51 67 1[62 6[33 68 2[62
-1[66 1[68 7[45 4[45 45 45 4[30 25 1[45 28[51 51 12[{}42
-90.9091 /CMSL10 rf /Fl 214[35 35 40[{}2 90.9091 /CMSS10
-rf /Fm 133[52 52 52 1[52 52 52 52 52 1[52 52 52 52 52
-52 1[52 52 52 52 52 52 52 52 52 1[52 6[52 52 1[52 52
-52 52 1[52 52 52 1[52 52 1[52 1[52 52 52 52 52 52 52
-7[52 52 3[52 52 52 4[52 2[52 6[52 35[{}51 99.6264 /CMTT10
-rf /Fn 133[55 65 1[89 65 68 48 48 50 1[68 61 68 102 34
-65 1[34 68 61 37 56 68 55 68 60 9[127 2[85 1[92 3[96
-2[96 1[46 1[96 77 1[94 89 1[93 7[61 61 61 1[61 61 61
-61 61 2[34 33[68 12[{}44 109.091 /CMBX12 rf /Fo 128[48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 4[48 1[48 48 1[48 23[{}99 90.9091 /CMTT10
-rf /Fp 197[25 58[{}1 90.9091 /CMMI10 rf /Fq 197[33 58[{}1
-119.552 /CMMI12 rf /Fr 134[85 85 117 85 90 63 64 66 1[90
-81 90 134 45 85 1[45 1[81 49 74 90 72 90 78 10[122 124
-112 90 120 1[110 121 126 1[97 1[83 60 126 1[101 106 124
-117 115 122 7[81 81 81 81 81 81 81 81 81 81 12[134 35[{}51
-143.462 /CMBX12 rf /Fs 150[35 35 88[45 1[91 13[{}4 90.9091
-/CMSY10 rf /Ft 133[60 71 71 97 71 75 52 53 55 1[75 67
-75 112 37 71 1[37 75 67 41 61 75 60 75 65 9[139 102 103
-94 75 100 1[92 101 105 128 81 1[69 50 105 106 85 88 103
-97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 1[37 45
-9[112 22[75 12[{}60 119.552 /CMBX12 rf /Fu 131[91 45
-40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25
-51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68
-68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69
-66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45
-45 45 25 30 25 1[45 35 35 25 3[76 45 25 18[76 51 51 53
-11[{}87 90.9091 /CMR10 rf /Fv 145[108 4[54 4[108 1[108
-12[149 6[151 1[116 4[152 71[{}8 172.154 /CMBX12 rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%BeginPaperSize: a4
-/setpagedevice where
-{ pop << /PageSize [595 842] >> setpagedevice }
-{ /a4 where { pop a4 } if }
-ifelse
-%%EndPaperSize
- end
-%%EndSetup
-%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fv(GNU)65 b(Libidn)p
-150 1385 3600 34 v 1546 1481 a Fu(In)m(ternationalized)33
-b(string)d(pro)s(cessing)g(for)g(the)h(GNU)g(system)2547
-1589 y(for)f(v)m(ersion)h(1.25,)h(27)f(April)f(2012)150
-5091 y Ft(Simon)45 b(Josefsson)p 150 5141 3600 17 v eop
-end
-%%Page: 2 2
-TeXDict begin 2 1 bop 150 4633 a Fu(This)30 b(man)m(ual)g(is)h(last)g
-(up)s(dated)e(27)i(April)f(2012)i(for)f(v)m(ersion)f(1.25)i(of)f(GNU)g
-(Libidn.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fs(\015)f Fu(2002-2012)k(Simon)c(Josefsson.)390
-4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
-b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
-(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
-b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
-b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
-b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
-b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
-b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
-b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
-b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
-5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
-b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
-%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Fu(i)150 299 y Fr(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Ft(1)135 b(In)l(tro)t
-(duction)13 b Fq(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)57 b Ft(1)275 778 y Fu(1.1)92
-b(Getting)32 b(Started)21 b Fp(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)51 b Fu(1)275 888 y(1.2)92 b(F)-8 b(eatures)26
-b Fp(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)56 b Fu(2)275 997 y(1.3)92 b(Library)29
-b(Ov)m(erview)d Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)56
-b Fu(2)275 1107 y(1.4)92 b(Supp)s(orted)28 b(Platforms)20
-b Fp(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b Fu(3)275 1216
-y(1.5)92 b(Getting)32 b(help)23 b Fp(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b Fu(5)275 1326 y(1.6)92
-b(Commercial)31 b(Supp)s(ort)23 b Fp(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53
-b Fu(5)275 1435 y(1.7)92 b(Do)m(wnloading)31 b(and)f(Installing)9
-b Fp(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)39 b Fu(6)399 1545 y(1.7.1)93 b(Installing)31
-b(under)e(Windo)m(ws)f Fp(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)58 b Fu(7)275 1655 y(1.8)92 b(Bug)30
-b(Rep)s(orts)22 b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)53 b Fu(7)275 1764 y(1.9)92 b(Con)m(tributing)18
-b Fp(:)c(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48
-b Fu(8)150 2007 y Ft(2)135 b(Preparation)34 b Fq(:)19
-b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)77 b Ft(9)275 2144 y Fu(2.1)92 b(Header)13 b Fp(:)i(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)43
-b Fu(9)275 2253 y(2.2)92 b(Initialization)18 b Fp(:)f(:)f(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fu(10)275
-2363 y(2.3)92 b(V)-8 b(ersion)31 b(Chec)m(k)8 b Fp(:)16
-b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(10)275 2472 y(2.4)92 b(Building)30 b(the)h(source)c
-Fp(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)56 b Fu(11)275 2582
-y(2.5)92 b(Auto)s(conf)30 b(tests)22 b Fp(:)17 b(:)e(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)52 b Fu(11)275 2692 y(2.6)92
-b(Memory)30 b(handling)g(under)f(Windo)m(ws)18 b Fp(:)e(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)h(:)f(:)48 b Fu(12)275 2801 y(2.7)92
-b(Header)30 b(\014le)h Fo(idn-free.h)24 b Fp(:)15 b(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
-b Fu(12)275 2911 y(2.8)92 b(Memory)30 b(de-allo)s(cation)j(function)24
-b Fp(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
-b Fu(12)150 3153 y Ft(3)135 b(Utilit)l(y)47 b(F)-11 b(unctions)32
-b Fq(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)78
-b Ft(14)275 3290 y Fu(3.1)92 b(Header)30 b(\014le)h Fo(stringprep.h)19
-b Fp(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)49 b Fu(14)275 3400 y(3.2)92 b(Unico)s(de)30
-b(Enco)s(ding)g(T)-8 b(ransformation)12 b Fp(:)j(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)41 b Fu(14)275 3509 y(3.3)92 b(Unico)s(de)30
-b(Normalization)15 b Fp(:)j(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b Fu(15)275
-3619 y(3.4)92 b(Character)30 b(Set)h(Con)m(v)m(ersion)25
-b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)54 b Fu(16)150 3861 y Ft(4)135 b(Stringprep)45
-b(F)-11 b(unctions)18 b Fq(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63
-b Ft(17)275 3998 y Fu(4.1)92 b(Header)30 b(\014le)h Fo(stringprep.h)19
-b Fp(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)49 b Fu(17)275 4108 y(4.2)92 b(De\014ning)30
-b(A)g(Stringprep)f(Pro\014le)10 b Fp(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)39 b Fu(17)275 4218 y(4.3)92
-b(Con)m(trol)31 b(Flags)20 b Fp(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)50 b Fu(17)275 4327 y(4.4)92 b(Core)30
-b(F)-8 b(unctions)10 b Fp(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)40 b Fu(17)275 4437 y(4.5)92 b(Error)29 b(Handling)9
-b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Fu(19)275 4546 y(4.6)92 b(Stringprep)29 b(Pro\014le)h(Macros)21
-b Fp(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)51 b Fu(20)150 4789 y Ft(5)135 b(Pun)l(yco)t(de)44
-b(F)-11 b(unctions)18 b Fq(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)63
-b Ft(22)275 4926 y Fu(5.1)92 b(Header)30 b(\014le)h Fo(punycode.h)24
-b Fp(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)56 b Fu(22)275 5035 y(5.2)92 b(Unico)s(de)30
-b(Co)s(de)g(P)m(oin)m(t)i(Data)g(T)m(yp)s(e)23 b Fp(:)16
-b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
-b Fu(22)275 5145 y(5.3)92 b(Core)30 b(F)-8 b(unctions)10
-b Fp(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fu(22)275 5254 y(5.4)92 b(Error)29 b(Handling)9 b Fp(:)16
-b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b
-Fu(24)p eop end
-%%Page: -2 4
-TeXDict begin -2 3 bop 3699 -116 a Fu(ii)150 83 y Ft(6)135
-b(IDNA)44 b(F)-11 b(unctions)21 b Fq(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)65 b Ft(25)275 220 y Fu(6.1)92 b(Header)30
-b(\014le)h Fo(idna.h)21 b Fp(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50
-b Fu(25)275 330 y(6.2)92 b(Con)m(trol)31 b(Flags)20 b
-Fp(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
-b Fu(25)275 439 y(6.3)92 b(Pre\014x)29 b(String)17 b
-Fp(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46
-b Fu(25)275 549 y(6.4)92 b(Core)30 b(F)-8 b(unctions)10
-b Fp(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fu(25)275 658 y(6.5)92 b(Simpli\014ed)29 b(T)-8 b(oASCI)s(I)29
-b(In)m(terface)16 b Fp(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)46 b Fu(27)275 768 y(6.6)92 b(Simpli\014ed)29
-b(T)-8 b(oUnico)s(de)31 b(In)m(terface)21 b Fp(:)c(:)e(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51 b Fu(28)275 878 y(6.7)92
-b(Error)29 b(Handling)9 b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)39 b Fu(29)150 1120 y Ft(7)135 b(TLD)44 b(F)-11
-b(unctions)35 b Fq(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)80 b Ft(31)275 1257 y Fu(7.1)92 b(Header)30 b(\014le)h
-Fo(tld.h)23 b Fp(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)54
-b Fu(31)275 1367 y(7.2)92 b(Core)30 b(F)-8 b(unctions)10
-b Fp(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fu(31)275 1476 y(7.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
-b Fp(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fu(32)275
-1586 y(7.4)92 b(High-Lev)m(el)32 b(W)-8 b(rapp)s(er)30
-b(F)-8 b(unctions)25 b Fp(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)54 b Fu(33)275 1695 y(7.5)92 b(Error)29
-b(Handling)9 b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-39 b Fu(35)150 1938 y Ft(8)135 b(PR29)45 b(F)-11 b(unctions)11
-b Fq(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
-b Ft(36)275 2075 y Fu(8.1)92 b(Header)30 b(\014le)h Fo(pr29.h)21
-b Fp(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50 b Fu(36)275
-2184 y(8.2)92 b(Core)30 b(F)-8 b(unctions)10 b Fp(:)16
-b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40 b
-Fu(36)275 2294 y(8.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
-b Fp(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fu(37)275
-2403 y(8.4)92 b(Error)29 b(Handling)9 b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fu(37)150 2646 y Ft(9)135
-b(Examples)15 b Fq(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Ft(38)275 2783
-y Fu(9.1)92 b(Example)30 b(1)20 b Fp(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Fu(38)275 2892 y(9.2)92
-b(Example)30 b(2)20 b Fp(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)49 b Fu(40)275 3002 y(9.3)92 b(Example)30
-b(3)20 b Fp(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)49 b Fu(45)275 3112 y(9.4)92 b(Example)30 b(4)20
-b Fp(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-49 b Fu(46)275 3221 y(9.5)92 b(Example)30 b(5)20 b Fp(:)c(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49
-b Fu(48)150 3464 y Ft(10)135 b(In)l(v)l(oking)46 b(idn)26
-b Fq(:)19 b(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-70 b Ft(52)275 3601 y Fu(10.1)92 b(Name)13 b Fp(:)j(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)42
-b Fu(52)275 3710 y(10.2)92 b(Description)22 b Fp(:)16
-b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51
-b Fu(52)275 3820 y(10.3)92 b(Options)11 b Fp(:)k(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41 b
-Fu(52)275 3929 y(10.4)92 b(En)m(vironmen)m(t)31 b(V)-8
-b(ariables)17 b Fp(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Fu(53)275 4039 y(10.5)92
-b(Examples)17 b Fp(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)46 b Fu(53)275 4149 y(10.6)92 b(T)-8 b(roublesho)s
-(oting)8 b Fp(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(54)150 4391 y Ft(11)135 b(Emacs)45 b(API)35 b Fq(:)19
-b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)79
-b Ft(56)275 4528 y Fu(11.1)92 b(Pun)m(yco)s(de)30 b(Emacs)h(API)16
-b Fp(:)e(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)45 b Fu(56)275 4638 y(11.2)92
-b(IDNA)31 b(Emacs)g(API)9 b Fp(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Fu(56)p eop end
-%%Page: -3 5
-TeXDict begin -3 4 bop 3674 -116 a Fu(iii)150 83 y Ft(12)135
-b(Ja)l(v)-7 b(a)46 b(API)15 b Fq(:)k(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Ft(58)275
-220 y Fu(12.1)92 b(Ov)m(erview)23 b Fp(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fu(58)275
-330 y(12.2)92 b(Miscellaneous)32 b(Programs)14 b Fp(:)h(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43
-b Fu(58)399 439 y(12.2.1)93 b(GenerateRF)m(C3454)8 b
-Fp(:)19 b(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)38 b Fu(58)399 549 y(12.2.2)93 b(GenerateNFK)m(C)23
-b Fp(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fu(58)399 658 y(12.2.3)93
-b(T)-8 b(estIDNA)29 b Fp(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57
-b Fu(59)399 768 y(12.2.4)93 b(T)-8 b(estNFK)m(C)16 b
-Fp(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Fu(59)275
-878 y(12.3)92 b(P)m(ossible)31 b(Problems)11 b Fp(:)k(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)40 b Fu(59)275 987 y(12.4)92 b(A)31 b(Note)g(on)g(Ja)m
-(v)-5 b(a)31 b(and)f(Unico)s(de)16 b Fp(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b Fu(59)150 1230 y Ft(13)135
-b(C#)45 b(API)14 b Fq(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Ft(61)150
-1499 y(14)135 b(Ac)l(kno)l(wledgemen)l(ts)20 b Fq(:)h(:)f(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)65 b Ft(62)150 1769 y(15)135 b(History)16
-b Fq(:)21 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)61 b Ft(63)150 2039 y(App)t(endix)44
-b(A)160 b(PR29)45 b(discussion)30 b Fq(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)74 b Ft(64)150
-2309 y(App)t(endix)44 b(B)166 b(On)44 b(Lab)t(el)i(Separators)33
-b Fq(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)77
-b Ft(67)275 2446 y Fu(B.1)92 b(Recommended)30 b(W)-8
-b(ork)j(around)17 b Fp(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)47 b Fu(67)150 2688 y Ft(App)t(endix)d(C)165
-b(Cop)l(ying)45 b(Information)25 b Fq(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)70 b Ft(68)275 2825 y Fu(C.1)91 b(GNU)31
-b(F)-8 b(ree)31 b(Do)s(cumen)m(tation)h(License)23 b
-Fp(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Fu(68)150
-3068 y Ft(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)45
-b(Index)29 b Fq(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Ft(76)150 3337 y(Concept)45
-b(Index)18 b Fq(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)63 b Ft(77)p eop end
-%%Page: 1 6
-TeXDict begin 1 5 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(1)150 299 y Fr(1)80 b(In)l(tro)t(duction)
-150 582 y Fu(GNU)29 b(Libidn)d(is)i(a)g(fully)g(do)s(cumen)m(ted)g
-(implemen)m(tation)h(of)f(the)g(Stringprep,)g(Pun)m(yco)s(de)f(and)g
-(IDNA)150 691 y(sp)s(eci\014cations.)68 b(Libidn's)39
-b(purp)s(ose)e(is)j(to)g(enco)s(de)g(and)e(deco)s(de)i(in)m
-(ternationalized)i(domain)d(name)150 801 y(strings.)i(There)29
-b(are)i(nativ)m(e)h(C,)e(C#)g(and)g(Ja)m(v)-5 b(a)31
-b(libraries.)275 951 y(The)40 b(C)g(library)h(con)m(tains)h(a)f
-(generic)h(Stringprep)d(implemen)m(tation.)74 b(Pro\014les)40
-b(for)h(Nameprep,)150 1061 y(iSCSI,)f(SASL,)g(XMPP)h(and)f(Kerb)s(eros)
-g(V5)i(are)f(included.)71 b(Pun)m(yco)s(de)41 b(and)f(ASCI)s(I)f
-(Compatible)150 1171 y(Enco)s(ding)45 b(\(A)m(CE\))h(via)g(IDNA)g(are)g
-(supp)s(orted.)84 b(A)46 b(mec)m(hanism)f(to)h(de\014ne)f(T)-8
-b(op-Lev)m(el)47 b(Domain)150 1280 y(\(TLD\))35 b(sp)s(eci\014c)e(v)-5
-b(alidation)36 b(tables,)f(and)f(to)h(compare)f(strings)g(against)h
-(those)g(tables,)g(is)f(included.)150 1390 y(Default)d(tables)h(for)e
-(some)h(TLDs)f(are)g(also)i(included.)275 1540 y(The)37
-b(Stringprep)f(API)h(consists)h(of)g(t)m(w)m(o)h(main)e(functions,)i
-(one)f(for)f(con)m(v)m(erting)i(data)g(from)e(the)150
-1650 y(system's)42 b(nativ)m(e)i(represen)m(tation)f(in)m(to)g(UTF-8,)j
-(and)41 b(one)h(function)g(to)h(p)s(erform)d(the)i(Stringprep)150
-1760 y(pro)s(cessing.)d(Adding)25 b(a)g(new)g(Stringprep)f(pro\014le)h
-(for)g(y)m(our)h(application)g(within)f(the)h(API)f(is)g(straigh)m(t-)
-150 1869 y(forw)m(ard.)43 b(The)31 b(Pun)m(yco)s(de)g(API)g(consists)h
-(of)g(one)g(enco)s(ding)f(function)g(and)g(one)h(deco)s(ding)f
-(function.)150 1979 y(The)f(IDNA)i(API)e(consists)i(of)e(the)h(T)-8
-b(oASCI)s(I)30 b(and)g(T)-8 b(oUnico)s(de)32 b(functions,)f(as)g(w)m
-(ell)g(as)h(an)e(high-lev)m(el)150 2088 y(in)m(terface)d(for)e(con)m(v)
-m(erting)i(en)m(tire)f(domain)f(names)g(to)g(and)g(from)g(the)g(A)m(CE)
-g(enco)s(ded)g(form.)38 b(The)25 b(TLD)150 2198 y(API)36
-b(consists)g(of)g(one)g(set)g(of)g(functions)f(to)i(extract)g(the)f
-(TLD)g(name)f(from)h(a)g(domain)f(string,)j(one)150 2308
-y(set)c(of)g(functions)f(to)i(lo)s(cate)g(the)f(prop)s(er)e(TLD)i
-(table)g(to)h(use)e(based)g(on)h(the)g(TLD)f(name,)i(and)e(core)150
-2417 y(functions)h(to)i(v)-5 b(alidate)36 b(a)f(string)g(against)h(a)g
-(TLD)e(table,)j(and)e(some)g(utilit)m(y)h(wrapp)s(ers)d(to)i(p)s
-(erform)150 2527 y(all)c(the)g(steps)f(in)g(one)h(call.)275
-2677 y(The)24 b(library)g(is)h(used)f(b)m(y)-8 b(,)27
-b(e.g.,)g(GNU)f(SASL)e(and)g(Shishi)f(to)j(pro)s(cess)e(user)h(names)f
-(and)h(passw)m(ords.)150 2787 y(Libidn)32 b(can)h(b)s(e)g(built)g(in)m
-(to)h(GNU)f(Lib)s(c)g(to)h(enable)f(a)h(new)f(system-wide)g
-(getaddrinfo)g(\015ag)h(for)f(IDN)150 2897 y(pro)s(cessing.)275
-3047 y(Libidn)38 b(is)i(dev)m(elop)s(ed)h(for)f(the)g(GNU/Lin)m(ux)g
-(system,)j(but)d(runs)e(on)i(o)m(v)m(er)h(20)g(Unix)f(platforms)150
-3157 y(\(including)33 b(Solaris,)i(IRIX,)e(AIX,)g(and)g(T)-8
-b(ru64\))33 b(and)g(Windo)m(ws.)49 b(The)33 b(library)f(is)i(written)f
-(in)g(C)g(and)150 3266 y(\(parts)k(of)7 b(\))39 b(the)e(API)g(is)h
-(also)g(accessible)h(from)e(C)p Fo(++)p Fu(,)i(Emacs)f(Lisp,)g(Python)f
-(and)g(Ja)m(v)-5 b(a.)63 b(A)38 b(nativ)m(e)150 3376
-y(Ja)m(v)-5 b(a)31 b(and)f(C#)g(p)s(ort)g(is)g(included.)275
-3527 y(Also)h(included)e(is)i(a)f(command)h(line)f(to)s(ol,)i(sev)m
-(eral)g(self)e(tests,)i(co)s(de)e(examples,)h(and)f(more.)150
-3783 y Ft(1.1)68 b(Getting)46 b(Started)150 3943 y Fu(This)34
-b(man)m(ual)i(do)s(cumen)m(ts)f(the)h(library)e(programming)h(in)m
-(terface.)57 b(All)36 b(functions)f(and)g(data)h(t)m(yp)s(es)150
-4052 y(pro)m(vided)c(b)m(y)g(the)g(library)g(are)g(explained.)46
-b(Included)31 b(are)h(also)h(examples,)h(and)d(do)s(cumen)m(tation)i
-(for)150 4162 y(the)e(command)g(line)g(to)s(ol)h(`)p
-Fo(idn)p Fu(')e(that)h(pro)m(vide)g(a)h(quic)m(k)f(in)m(terface)h(to)g
-(the)f(library)-8 b(.)42 b(The)30 b(Emacs)i(Lisp)150
-4272 y(bindings)d(for)h(the)h(library)f(is)g(also)i(discussed.)275
-4422 y(The)23 b(reader)h(is)h(assumed)e(to)i(p)s(ossess)e(basic)i
-(familiarit)m(y)h(with)e(in)m(ternationalization)k(concepts)d(and)150
-4532 y(net)m(w)m(ork)31 b(programming)f(in)g(C)g(or)h(C)p
-Fo(++)p Fu(.)275 4682 y(This)c(man)m(ual)h(can)g(b)s(e)f(used)g(in)h
-(sev)m(eral)h(w)m(a)m(ys.)41 b(If)27 b(read)h(from)f(the)h(b)s
-(eginning)g(to)g(the)g(end,)g(it)h(giv)m(es)150 4792
-y(a)38 b(go)s(o)s(d)g(in)m(tro)s(duction)f(in)m(to)i(the)f(library)f
-(and)g(ho)m(w)h(it)g(can)g(b)s(e)f(used)g(in)h(an)f(application.)64
-b(F)-8 b(orw)m(ard)150 4902 y(references)35 b(are)f(included)g(where)g
-(necessary)-8 b(.)53 b(Later)35 b(on,)g(the)g(man)m(ual)f(can)h(b)s(e)f
-(used)f(as)i(a)f(reference)150 5011 y(man)m(ual)40 b(to)g(get)h(just)e
-(the)h(information)g(needed)f(ab)s(out)h(an)m(y)g(particular)g(in)m
-(terface)h(of)f(the)g(library)-8 b(.)150 5121 y(Exp)s(erienced)35
-b(programmers)g(migh)m(t)h(w)m(an)m(t)h(to)f(start)g(lo)s(oking)h(at)f
-(the)g(examples)g(at)g(the)g(end)f(of)h(the)150 5230
-y(man)m(ual)41 b(\(see)i(Chapter)d(9)i([Examples],)i(page)e(38\),)j
-(and)c(then)g(only)g(read)g(up)f(those)i(parts)e(of)i(the)150
-5340 y(in)m(terface)32 b(whic)m(h)e(are)h(unclear.)p
-eop end
-%%Page: 2 7
-TeXDict begin 2 6 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(2)150 299 y Ft(1.2)68 b(F)-11
-b(eatures)150 458 y Fu(This)30 b(library)g(migh)m(t)h(ha)m(v)m(e)g(a)g
-(couple)g(of)f(adv)-5 b(an)m(tages)33 b(o)m(v)m(er)e(other)g(libraries)
-f(doing)h(a)g(similar)f(job.)150 910 y(It's)h(F)-8 b(ree)31
-b(Soft)m(w)m(are)630 1020 y(An)m(yb)s(o)s(dy)25 b(can)h(use,)h(mo)s
-(dify)-8 b(,)27 b(and)f(redistribute)f(it)i(under)e(the)h(terms)g(of)h
-(a)f(free)g(soft)m(w)m(are)630 1130 y(license.)150 1484
-y(It's)31 b(thread-safe)630 1594 y(No)g(global)h(state)f(is)g(k)m(ept)g
-(in)f(the)g(library)-8 b(.)41 b(All)31 b(functions)f(are)h(re-en)m
-(tran)m(t.)150 1948 y(It's)g(p)s(ortable)630 2058 y(The)k(co)s(de)g(is)
-g(in)m(tended)h(to)g(b)s(e)e(written)h(in)g(pure)g(ANSI)f(C89.)56
-b(It)36 b(has)e(b)s(een)h(tested)h(on)630 2167 y(man)m(y)30
-b(Unix)h(lik)m(e)g(op)s(erating)g(systems,)g(and)f(Windo)m(ws.)150
-2522 y(It's)h(mo)s(dularized)630 2631 y(The)i(library)g(is)g(comp)s
-(osed)g(of)h(sev)m(eral)h(mo)s(dules,)e(and)g(the)g(only)h(in)m
-(teraction)h(b)s(et)m(w)m(een)630 2741 y(mo)s(dules)j(is)h(through)f
-(eac)m(h)i(mo)s(dules')e(public)g(API.)h(If)f(y)m(ou)i(only)e(need)h
-(one)g(piece)h(of)630 2851 y(functionalit)m(y)-8 b(,)31
-b(it)d(is)g(p)s(ossible)f(to)i(tak)m(e)h(the)e(\014les)g(y)m(ou)g(need)
-f(and)h(incorp)s(orate)g(them)g(in)m(to)630 2960 y(y)m(our)i(o)m(wn)h
-(pro)5 b(ject.)150 3315 y(It's)31 b(not)f(bloated)630
-3424 y(The)g(design)g(of)g(the)h(library)f(is)g(based)g(on)g(the)g
-(smallest)i(API)e(necessary)g(to)h(implemen)m(t)630 3534
-y(the)h(basic)g(functionalit)m(y)-8 b(.)47 b(It)32 b(has)f(b)s(een)g
-(carefully)i(extended)e(with)h(a)g(small)g(n)m(um)m(b)s(er)f(of)630
-3643 y(high-lev)m(el)f(wrapp)s(ers)c(to)j(mak)m(e)g(it)g(comfortable)g
-(to)g(use)f(the)h(library)-8 b(.)40 b(Ho)m(w)m(ev)m(er,)31
-b(it)d(do)s(es)630 3753 y(not)j(implemen)m(t)g(additional)g
-(functionalit)m(y)h(just)e(for)g(the)g(sak)m(e)i(of)e(completeness.)150
-4108 y(It's)h(do)s(cumen)m(ted)630 4217 y(Sadly)-8 b(,)31
-b(not)f(all)i(soft)m(w)m(are)f(comes)h(with)e(do)s(cumen)m(tation)h
-(these)g(da)m(ys.)41 b(This)29 b(one)i(do)s(es.)150 4742
-y Ft(1.3)68 b(Library)45 b(Ov)l(erview)150 4902 y Fu(The)23
-b(follo)m(wing)i(illustration)g(sho)m(w)f(the)g(comp)s(onen)m(ts)g
-(that)g(mak)m(e)h(up)d(Libidn,)i(and)f(ho)m(w)h(y)m(our)g(applica-)150
-5011 y(tion)29 b(relates)h(to)g(the)e(library)-8 b(.)41
-b(In)27 b(the)i(illustration,)i(v)-5 b(arious)28 b(comp)s(onen)m(ts)h
-(are)g(sho)m(wn)f(as)h(b)s(o)m(xes.)40 b(Y)-8 b(ou)150
-5121 y(see)28 b(the)f(generic)h(StringPrep)e(comp)s(onen)m(t,)i(the)g
-(v)-5 b(arious)27 b(StringPrep)f(pro\014les)g(including)h(Nameprep,)150
-5230 y(the)39 b(Pun)m(yco)s(de)g(comp)s(onen)m(t,)i(the)f(IDNA)f(comp)s
-(onen)m(t,)j(and)c(the)i(TLD)e(comp)s(onen)m(t.)67 b(The)39
-b(arro)m(ws)150 5340 y(indicate)k(aggregation,)48 b(e.g.,)f(IDNA)c
-(uses)e(Pun)m(yco)s(de)h(and)g(Nameprep,)j(and)c(in)h(turn)f(Nameprep)p
-eop end
-%%Page: 3 8
-TeXDict begin 3 7 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(3)150 299 y(uses)38 b(the)h(generic)g
-(StringPrep)e(in)m(terface.)67 b(The)38 b(in)m(terfaces)i(to)f(all)g
-(comp)s(onen)m(ts)g(are)f(a)m(v)-5 b(ailable)41 b(for)150
-408 y(applications,)32 b(no)e(comp)s(onen)m(t)h(within)f(the)g(library)
-g(is)g(hidden)f(from)h(the)h(application.)150 3487 y
-@beginspecial 0 @llx 0 @lly 382 @urx 350 @ury 3820 @rwi
-@setspecial
-%%BeginDocument: libidn-components.eps
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: components.fig
-%%Creator: fig2dev Version 3.2 Patchlevel 5d
-%%CreationDate: Wed May 23 10:37:37 2012
-%%BoundingBox: 0 0 382 350
-%Magnification: 1.0000
-%%EndComments
-%%BeginProlog
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-/pageheader {
-save
-newpath 0 350 moveto 0 0 lineto 382 0 lineto 382 350 lineto closepath clip newpath
--47.4 405.1 translate
-1 -1 scale
-$F2psBegin
-10 setmiterlimit
-0 slj 0 slc
- 0.06299 0.06299 sc
-} bind def
-/pagefooter {
-$F2psEnd
-restore
-} bind def
-%%EndProlog
-pageheader
-%
-% Fig objects follow
-%
-% 
-% here starts figure with depth 50
-% Polyline
-0 slj
-0 slc
-7.500 slw
-n 3355 1845 m 3295 1845 3295 2235 60 arcto 4 {pop} repeat
-  3295 2295 4609 2295 60 arcto 4 {pop} repeat
-  4669 2295 4669 1905 60 arcto 4 {pop} repeat
-  4669 1845 3355 1845 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 2663 1845 m 2618 1845 2618 2250 45 arcto 4 {pop} repeat
-  2618 2295 3141 2295 45 arcto 4 {pop} repeat
-  3186 2295 3186 1890 45 arcto 4 {pop} repeat
-  3186 1845 2663 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 1988 1845 m 1943 1845 1943 2250 45 arcto 4 {pop} repeat
-  1943 2295 2467 2295 45 arcto 4 {pop} repeat
-  2512 2295 2512 1890 45 arcto 4 {pop} repeat
-  2512 1845 1988 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 1313 1845 m 1268 1845 1268 2250 45 arcto 4 {pop} repeat
-  1268 2295 1792 2295 45 arcto 4 {pop} repeat
-  1837 2295 1837 1890 45 arcto 4 {pop} repeat
-  1837 1845 1313 1845 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 870 4560 m 810 4560 810 5099 60 arcto 4 {pop} repeat
-  810 5159 6735 5159 60 arcto 4 {pop} repeat
-  6795 5159 6795 4620 60 arcto 4 {pop} repeat
-  6795 4560 870 4560 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 4065 2837 m 4005 2837 4005 3448 60 arcto 4 {pop} repeat
-  4005 3508 5790 3508 60 arcto 4 {pop} repeat
-  5850 3508 5850 2897 60 arcto 4 {pop} repeat
-  5850 2837 4065 2837 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-n 4110 900 m 4050 900 4050 1338 60 arcto 4 {pop} repeat
-  4050 1398 5520 1398 60 arcto 4 {pop} repeat
-  5580 1398 5580 960 60 arcto 4 {pop} repeat
-  5580 900 4110 900 60 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-gs  clippath
-2864 1768 m 2864 1863 l 2895 1863 l 2895 1768 l 2895 1768 l 2880 1832 l 2864 1768 l cp
-eoclip
-n 2880 1398 m
- 2880 1848 l gs col0 s gr gr
-
-% arrowhead
-n 2864 1768 m 2880 1832 l 2895 1768 l 2864 1768 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3674 1768 m 3674 1863 l 3705 1863 l 3705 1768 l 3705 1768 l 3690 1832 l 3674 1768 l cp
-eoclip
-n 3690 1395 m
- 3690 1848 l gs col0 s gr gr
-
-% arrowhead
-n 3674 1768 m 3690 1832 l 3705 1768 l 3674 1768 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2864 4493 m 2864 4588 l 2895 4588 l 2895 4493 l 2895 4493 l 2880 4557 l 2864 4493 l cp
-eoclip
-n 2880 2298 m
- 2880 4573 l gs col0 s gr gr
-
-% arrowhead
-n 2864 4493 m 2880 4557 l 2895 4493 l 2864 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2144 4493 m 2144 4588 l 2175 4588 l 2175 4493 l 2175 4493 l 2160 4557 l 2144 4493 l cp
-eoclip
-n 2160 2298 m
- 2160 4573 l gs col0 s gr gr
-
-% arrowhead
-n 2144 4493 m 2160 4557 l 2175 4493 l 2144 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1514 4493 m 1514 4588 l 1545 4588 l 1545 4493 l 1545 4493 l 1530 4557 l 1514 4493 l cp
-eoclip
-n 1530 2298 m
- 1530 4573 l gs col0 s gr gr
-
-% arrowhead
-n 1514 4493 m 1530 4557 l 1545 4493 l 1514 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1019 4493 m 1019 4588 l 1050 4588 l 1050 4493 l 1050 4493 l 1035 4557 l 1019 4493 l cp
-eoclip
-n 1035 1398 m
- 1035 4573 l gs col0 s gr gr
-
-% arrowhead
-n 1019 4493 m 1035 4557 l 1050 4493 l 1019 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1514 1768 m 1514 1863 l 1545 1863 l 1545 1768 l 1545 1768 l 1530 1832 l 1514 1768 l cp
-eoclip
-n 1530 1398 m
- 1530 1848 l gs col0 s gr gr
-
-% arrowhead
-n 1514 1768 m 1530 1832 l 1545 1768 l 1514 1768 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2189 1768 m 2189 1863 l 2220 1863 l 2220 1768 l 2220 1768 l 2205 1832 l 2189 1768 l cp
-eoclip
-n 2205 1398 m
- 2205 1848 l gs col0 s gr gr
-
-% arrowhead
-n 2189 1768 m 2205 1832 l 2220 1768 l 2189 1768 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3539 4493 m 3539 4588 l 3570 4588 l 3570 4493 l 3570 4493 l 3555 4557 l 3539 4493 l cp
-eoclip
-n 3555 2298 m
- 3555 4573 l gs col0 s gr gr
-
-% arrowhead
-n 3539 4493 m 3555 4557 l 3570 4493 l 3539 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4889 4493 m 4889 4588 l 4920 4588 l 4920 4493 l 4920 4493 l 4905 4557 l 4889 4493 l cp
-eoclip
-n 4905 3506 m
- 4905 4573 l gs col0 s gr gr
-
-% arrowhead
-n 4889 4493 m 4905 4557 l 4920 4493 l 4889 4493 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [15 45] 45 sd
-n 870 5820 m 810 5820 810 6359 60 arcto 4 {pop} repeat
-  810 6419 6735 6419 60 arcto 4 {pop} repeat
-  6795 6419 6795 5880 60 arcto 4 {pop} repeat
-  6795 5820 870 5820 60 arcto 4 {pop} repeat
- cp gs col0 s gr  [] 0 sd
-% Polyline
- [15 45] 45 sd
-gs  clippath
-3705 5669 m 3705 5820 l 3765 5820 l 3765 5669 l 3765 5669 l 3735 5789 l 3705 5669 l cp
-3765 5311 m 3765 5160 l 3705 5160 l 3705 5311 l 3705 5311 l 3735 5191 l 3765 5311 l cp
-eoclip
-n 3735 5175 m
- 3735 5805 l gs col0 s gr gr
- [] 0 sd
-% arrowhead
-n 3765 5311 m 3735 5191 l 3705 5311 l 3765 5311 l  cp gs col7 1.00 shd ef gr  col0 s
-% arrowhead
-n 3705 5669 m 3735 5789 l 3765 5669 l 3705 5669 l  cp gs col7 1.00 shd ef gr  col0 s
-% Polyline
-n 840 900 m 765 900 765 1323 75 arcto 4 {pop} repeat
-  765 1398 3841 1398 75 arcto 4 {pop} repeat
-  3916 1398 3916 975 75 arcto 4 {pop} repeat
-  3916 900 840 900 75 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-gs  clippath
-4349 2755 m 4349 2850 l 4380 2850 l 4380 2755 l 4380 2755 l 4365 2819 l 4349 2755 l cp
-eoclip
-n 4365 2277 m
- 4365 2835 l gs col0 s gr gr
-
-% arrowhead
-n 4349 2755 m 4365 2819 l 4380 2755 l 4349 2755 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4844 2783 m 4844 2878 l 4875 2878 l 4875 2783 l 4875 2783 l 4860 2847 l 4844 2783 l cp
-eoclip
-n 4860 1395 m
- 4860 2863 l gs col0 s gr gr
-
-% arrowhead
-n 4844 2783 m 4860 2847 l 4875 2783 l 4844 2783 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 5715 900 m 5670 900 5670 1350 45 arcto 4 {pop} repeat
-  5670 1395 6750 1395 45 arcto 4 {pop} repeat
-  6795 1395 6795 945 45 arcto 4 {pop} repeat
-  6795 900 5715 900 45 arcto 4 {pop} repeat
- cp gs col0 s gr 
-% Polyline
-gs  clippath
-6149 4493 m 6149 4588 l 6180 4588 l 6180 4493 l 6180 4493 l 6165 4557 l 6149 4493 l cp
-eoclip
-n 6165 1398 m
- 6165 4573 l gs col0 s gr gr
-
-% arrowhead
-n 6149 4493 m 6165 4557 l 6180 4493 l 6149 4493 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 165.00 scf sf
-3600 2107 m
-gs 1 -1 sc (Nameprep) col0 sh gr
-/Helvetica ff 165.00 scf sf
-2700 2130 m
-gs 1 -1 sc (iSCSI) col0 sh gr
-/Helvetica ff 165.00 scf sf
-2025 2130 m
-gs 1 -1 sc (SASL) col0 sh gr
-/Helvetica ff 165.00 scf sf
-1327 2130 m
-gs 1 -1 sc (XMPP) col0 sh gr
-/Helvetica-Bold ff 165.00 scf sf
-3150 4905 m
-gs 1 -1 sc (GNU IDN Library) col0 sh gr
-/Helvetica ff 150.00 scf sf
-4751 3227 m
-gs 1 -1 sc (IDNA) col0 sh gr
-/Helvetica ff 165.00 scf sf
-4455 1215 m
-gs 1 -1 sc (Punycode) col0 sh gr
-/Helvetica ff 165.00 scf sf
-3345 6157 m
-gs 1 -1 sc (Application) col0 sh gr
-/Helvetica ff 165.00 scf sf
-1935 1215 m
-gs 1 -1 sc (StringPrep) col0 sh gr
-/Helvetica ff 165.00 scf sf
-6075 1170 m
-gs 1 -1 sc (TLD) col0 sh gr
-% here ends figure;
-pagefooter
-showpage
-%%Trailer
-%EOF
-
-%%EndDocument
- @endspecial 250 x Ft(1.4)68 b(Supp)t(orted)44 b(Platforms)150
-3896 y Fu(Libidn)38 b(has)h(at)h(some)f(p)s(oin)m(t)g(in)g(time)h(b)s
-(een)e(tested)i(on)f(the)g(follo)m(wing)i(platforms.)67
-b(Build)39 b(rep)s(orts)150 4006 y(for)31 b(eac)m(h)i(platforms)f(and)f
-(Libidn)f(v)m(ersion)i(is)g(a)m(v)-5 b(ailable)34 b(at)e
-Fo(http:)q(/)q(/)q(autobuild)q(.)q(josefs)o(son)q(.org/)150
-4115 y(libidn/)p Fu(.)199 4261 y(1.)61 b(Debian)31 b(GNU/Lin)m(ux)g
-(3.0)g(\(W)-8 b(o)s(o)s(dy\))330 4402 y(GCC)39 b(2.95.4)j(and)c(GNU)i
-(Mak)m(e.)69 b(This)39 b(is)g(the)h(main)f(dev)m(elopmen)m(t)i
-(platform.)68 b Fo(alphaev67-)330 4511 y(unknown-linux-gnu)p
-Fu(,)140 b Fo(alphaev6-unknown-linux-gnu)o Fu(,)f Fo
-(arm-unknown-linux-gnu)p Fu(,)330 4621 y Fo(armv4l-unknown-linux-gnu)o
-Fu(,)81 b Fo(hppa-unknown-linux-gnu)p Fu(,)f Fo(hppa64-unknown-linux-)
-330 4731 y(gnu)p Fu(,)88 b Fo(i686-pc-linux-gnu)p Fu(,)83
-b Fo(ia64-unknown-linux-gnu)p Fu(,)g Fo(m68k-unknown-linux-gnu)p
-Fu(,)330 4840 y Fo(mips-unknown-linux-gnu)p Fu(,)56 b
-Fo(mipsel-unknown-linux-gnu)p Fu(,)g Fo(powerpc-unknown-linux-)330
-4950 y(gnu)p Fu(,)64 b Fo(s390-ibm-linux-gnu)p Fu(,)c
-Fo(sparc-unknown-linux-gnu)p Fu(,)f Fo(sparc64-unknown-linux-)330
-5059 y(gnu)p Fu(.)199 5200 y(2.)i(Debian)31 b(GNU/Lin)m(ux)g(2.1)330
-5340 y(GCC)f(2.95.1)j(and)c(GNU)i(Mak)m(e.)43 b Fo
-(armv4l-unknown-linux-gn)o(u)p Fu(.)p eop end
-%%Page: 4 9
-TeXDict begin 4 8 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(4)199 299 y(3.)61 b(T)-8
-b(ru64)30 b(UNIX)330 438 y(T)-8 b(ru64)32 b(UNIX)h(C)f(compiler)h(and)f
-(T)-8 b(ru64)33 b(Mak)m(e.)48 b Fo(alphaev67-dec-osf5.1)p
-Fu(,)28 b Fo(alphaev68-dec-)330 548 y(osf5.1)p Fu(.)199
-687 y(4.)61 b(SuSE)29 b(Lin)m(ux)h(7.1)330 827 y(GCC)47
-b(2.96)j(and)d(GNU)i(Mak)m(e.)95 b Fo(alphaev6-unknown-linux-)o(gnu)o
-Fu(,)47 b Fo(alphaev67-unknown-)330 936 y(linux-gnu)p
-Fu(.)199 1076 y(5.)61 b(SuSE)29 b(Lin)m(ux)h(7.2a)330
-1215 y(GCC)g(3.0)h(and)f(GNU)h(Mak)m(e.)42 b Fo(ia64-unknown-linux-gnu)
-p Fu(.)199 1355 y(6.)61 b(SuSE)29 b(Lin)m(ux)330 1494
-y(GCC)74 b(3.2.2)h(and)f(GNU)h(Mak)m(e.)173 b Fo
-(x86_64-unknown-linux-gnu)67 b Fu(\(AMD64)76 b(Opteron)330
-1604 y(\\Melo)s(dy"\).)199 1743 y(7.)61 b(SuSE)29 b(En)m(terprise)h
-(Serv)m(er)g(9)h(on)f(IBM)h(Op)s(enP)m(o)m(w)m(er)f(720)330
-1883 y(GCC)g(3.3.3)i(and)e(GNU)h(Mak)m(e.)42 b Fo
-(powerpc64-unknown-linux-g)o(nu)p Fu(.)199 2022 y(8.)61
-b(RedHat)31 b(Lin)m(ux)f(7.2)330 2162 y(GCC)47 b(2.96)j(and)d(GNU)i
-(Mak)m(e.)95 b Fo(alphaev6-unknown-linux-)o(gnu)o Fu(,)47
-b Fo(alphaev67-unknown-)330 2271 y(linux-gnu)p Fu(,)28
-b Fo(ia64-unknown-linux-gnu)p Fu(.)199 2411 y(9.)61 b(RedHat)31
-b(Lin)m(ux)f(8.0)330 2550 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42
-b Fo(i686-pc-linux-gnu)p Fu(.)154 2690 y(10.)61 b(RedHat)31
-b(Adv)-5 b(anced)30 b(Serv)m(er)h(2.1)330 2829 y(GCC)f(2.96)i(and)e
-(GNU)h(Mak)m(e.)42 b Fo(i686-pc-linux-gnu)p Fu(.)154
-2969 y(11.)61 b(Slac)m(kw)m(are)32 b(Lin)m(ux)e(8.0.01)330
-3108 y(GCC)g(2.95.3)j(and)c(GNU)i(Mak)m(e.)43 b Fo(i686-pc-linux-gnu)p
-Fu(.)154 3248 y(12.)61 b(Mandrak)m(e)31 b(Lin)m(ux)f(9.0)330
-3387 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42 b Fo(i686-pc-linux-gnu)p
-Fu(.)154 3527 y(13.)61 b(IRIX)30 b(6.5)330 3666 y(MIPS)g(C)g(compiler,)
-h(IRIX)f(Mak)m(e.)42 b Fo(mips-sgi-irix6.5)p Fu(.)154
-3806 y(14.)61 b(AIX)30 b(4.3.2)330 3945 y(IBM)h(C)f(for)g(AIX)g
-(compiler,)i(AIX)e(Mak)m(e.)42 b Fo(rs6000-ibm-aix4.3.2.0)p
-Fu(.)154 4085 y(15.)61 b(Microsoft)32 b(Windo)m(ws)e(2000)i(\(Cygwin\))
-330 4224 y(GCC)e(3.2,)i(GNU)f(mak)m(e.)41 b Fo(i686-pc-cygwin)p
-Fu(.)154 4364 y(16.)61 b(HP-UX)31 b(11)330 4503 y(HP-UX)g(C)f(compiler)
-h(and)f(HP)g(Mak)m(e.)42 b Fo(ia64-hp-hpux11.22)p Fu(,)26
-b Fo(hppa2.0w-hp-hpux11.11)p Fu(.)154 4643 y(17.)61 b(SUN)30
-b(Solaris)h(2.7)330 4782 y(GCC)f(3.0.4)i(and)e(GNU)h(Mak)m(e.)42
-b Fo(sparc-sun-solaris2.7)p Fu(.)154 4922 y(18.)61 b(SUN)30
-b(Solaris)h(2.8)330 5061 y(Sun)e(W)-8 b(orkShop)30 b(Compiler)g(C)g
-(6.0)i(and)d(SUN)i(Mak)m(e.)42 b Fo(sparc-sun-solaris2.8)p
-Fu(.)154 5200 y(19.)61 b(SUN)30 b(Solaris)h(2.9)330 5340
-y(Sun)e(F)-8 b(orte)32 b(Dev)m(elop)s(er)f(7)g(C)f(compiler)h(and)f
-(GNU)h(Mak)m(e.)42 b Fo(sparc-sun-solaris2.9)p Fu(.)p
-eop end
-%%Page: 5 10
-TeXDict begin 5 9 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(5)154 299 y(20.)61 b(NetBSD)32
-b(1.6)330 437 y(GCC)85 b(2.95.3)j(and)d(GNU)h(Mak)m(e.)208
-b Fo(alpha-unknown-netbsd1.6)p Fu(,)94 b Fo(i386-unknown-)330
-547 y(netbsdelf1.6)p Fu(.)154 685 y(21.)61 b(Op)s(enBSD)29
-b(3.1)j(and)e(3.2)330 823 y(GCC)79 b(2.95.3)j(and)e(GNU)g(Mak)m(e.)191
-b Fo(alpha-unknown-openbsd3.)o(1)p Fu(,)87 b Fo(i386-unknown-)330
-933 y(openbsd3.1)p Fu(.)154 1071 y(22.)61 b(F)-8 b(reeBSD)32
-b(4.7)f(and)f(4.8)330 1209 y(GCC)74 b(2.95.4)i(and)d(GNU)i(Mak)m(e.)173
-b Fo(alpha-unknown-freebsd4.7)p Fu(,)79 b Fo(alpha-unknown-)330
-1319 y(freebsd4.8)p Fu(,)28 b Fo(i386-unknown-freebsd4.7)p
-Fu(,)c Fo(i386-unknown-freebsd4.8)p Fu(.)154 1457 y(23.)61
-b(MacOS)31 b(X)f(10.2)i(Serv)m(er)e(Edition)330 1595
-y(GCC)g(3.1)h(and)f(GNU)h(Mak)m(e.)42 b Fo(powerpc-apple-darwin6.5)p
-Fu(.)154 1734 y(24.)61 b(MacOS)31 b(X)f(10.4)i(\\Tiger")g(with)e(Xco)s
-(de)h(2.0)330 1872 y(GCC)f(4.0)h(and)f(GNU)h(Mak)m(e.)42
-b Fo(powerpc-apple-darwin8.0)p Fu(.)154 2010 y(25.)61
-b(Cross)30 b(compiled)h(to)g(uClin)m(ux/uClib)s(c)e(on)h(Motorola)j
-(Cold\014re)330 2148 y(GCC)d(3.4)h(and)f(GNU)h(Mak)m(e)h
-Fo(m68k-uclinux-elf)p Fu(.)154 2287 y(26.)61 b(Cross)30
-b(compiled)h(to)g(ARM)f(using)g(Glib)s(c)330 2425 y(GCC)g(2.95)i(and)e
-(GNU)h(Mak)m(e)h Fo(arm-linux)p Fu(.)154 2563 y(27.)61
-b(Cross)30 b(compiled)h(to)g(Mingw32.)330 2701 y(GCC)f(3.4.4)i(and)e
-(GNU)h(Mak)m(e)h Fo(i586-mingw32msvc)p Fu(.)154 2840
-y(28.)61 b(OS/2)330 2978 y(GCC.)275 3149 y(If)29 b(y)m(ou)i(use)f
-(Libidn)f(on,)i(or)f(p)s(ort)g(Libidn)f(to,)j(a)e(new)g(platform)h
-(please)g(rep)s(ort)f(it)g(to)i(the)e(author.)150 3392
-y Ft(1.5)68 b(Getting)46 b(help)150 3552 y Fu(A)36 b(mailing)g(list)g
-(where)f(users)g(of)g(Libidn)f(ma)m(y)i(help)f(eac)m(h)i(other)f
-(exists,)h(and)e(y)m(ou)h(can)g(reac)m(h)g(it)g(b)m(y)150
-3661 y(sending)d(e-mail)i(to)g Fo(help-libidn@gnu)s(.)r(org)p
-Fu(.)46 b(Arc)m(hiv)m(es)35 b(of)f(the)g(mailing)g(list)h(discussions,)
-f(and)f(an)150 3771 y(in)m(terface)38 b(to)f(manage)g(subscriptions,)g
-(is)g(a)m(v)-5 b(ailable)39 b(through)c(the)i(W)-8 b(orld)37
-b(Wide)g(W)-8 b(eb)37 b(at)g Fo(http:)5 b(/)g(/)150 3881
-y(lists.gnu.org/mailman/li)o(stin)o(fo/h)o(elp)o(-lib)o(idn)p
-Fu(.)150 4124 y Ft(1.6)68 b(Commercial)47 b(Supp)t(ort)150
-4284 y Fu(Commercial)29 b(supp)s(ort)e(is)h(a)m(v)-5
-b(ailable)31 b(for)d(users)f(of)i(GNU)g(Libidn.)39 b(The)27
-b(kind)h(of)g(supp)s(ort)f(that)i(can)g(b)s(e)150 4393
-y(purc)m(hased)h(ma)m(y)g(include:)225 4535 y Fs(\017)60
-b Fu(Implemen)m(t)26 b(new)g(features.)40 b(Suc)m(h)26
-b(as)g(coun)m(try)h(co)s(de)f(sp)s(eci\014c)g(pro\014ling)g(to)h(supp)s
-(ort)e(a)h(restricted)330 4645 y(subset)k(of)g(Unico)s(de.)225
-4783 y Fs(\017)60 b Fu(P)m(ort)44 b(Libidn)d(to)j(new)e(platforms.)78
-b(This)42 b(could)h(include)g(p)s(orting)f(Libidn)g(to)h(an)g(em)m(b)s
-(edded)330 4893 y(platforms)30 b(that)h(ma)m(y)g(need)f(memory)h(or)f
-(size)h(optimization.)225 5031 y Fs(\017)60 b Fu(In)m(tegrating)32
-b(IDN)f(supp)s(ort)d(in)i(y)m(our)h(existing)g(pro)5
-b(ject.)225 5169 y Fs(\017)60 b Fu(System)30 b(design)g(of)h(comp)s
-(onen)m(ts)f(related)i(to)f(IDN.)275 5340 y(If)e(y)m(ou)i(are)g(in)m
-(terested,)h(please)f(write)f(to:)p eop end
-%%Page: 6 11
-TeXDict begin 6 10 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(6)150 299 y Fo(Simon)46 b(Josefsson)g
-(Datakonsult)e(AB)150 408 y(Hagagatan)h(24)150 518 y(113)i(47)g
-(Stockholm)150 628 y(Sweden)150 847 y(E-mail:)f(simon@josefsson.org)275
-974 y Fu(If)22 b(y)m(our)i(compan)m(y)f(pro)m(vides)h(supp)s(ort)d
-(related)j(to)g(GNU)g(Libidn)e(and)h(w)m(ould)g(lik)m(e)i(to)f(b)s(e)e
-(men)m(tioned)150 1084 y(here,)30 b(con)m(tact)j(the)e(author)f(\(see)h
-(Section)g(1.8)h([Bug)f(Rep)s(orts],)f(page)h(7\).)150
-1301 y Ft(1.7)68 b(Do)l(wnloading)46 b(and)f(Installing)150
-1461 y Fu(The)30 b(pac)m(k)-5 b(age)32 b(can)f(b)s(e)f(do)m(wnloaded)g
-(from)g(sev)m(eral)i(places,)f(including:)275 1588 y
-Fo(ftp://alpha.gnu.org/pub)o(/gn)o(u/li)o(bidn)o(/)275
-1715 y Fu(The)d(latest)j(v)m(ersion)f(is)f(stored)g(in)g(a)h(\014le,)g
-(e.g.,)h(`)p Fo(libidn-1.25.tar.gz)p Fu(')25 b(where)j(the)i(`)p
-Fo(1.25)p Fu(')e(v)-5 b(alue)150 1824 y(is)30 b(the)h(highest)g(v)m
-(ersion)f(n)m(um)m(b)s(er)g(in)g(the)g(directory)-8 b(.)275
-1952 y(The)33 b(pac)m(k)-5 b(age)35 b(is)f(then)f(extracted,)j
-(con\014gured)c(and)h(built)h(lik)m(e)g(man)m(y)g(other)g(pac)m(k)-5
-b(ages)35 b(that)f(use)150 2061 y(Auto)s(conf.)54 b(F)-8
-b(or)36 b(detailed)g(information)f(on)g(con\014guring)f(and)g(building)
-g(it,)j(refer)e(to)g(the)g(`)p Fo(INSTALL)p Fu(')150
-2171 y(\014le)30 b(that)h(is)g(part)f(of)h(the)f(distribution)g(arc)m
-(hiv)m(e.)275 2298 y(Here)44 b(is)g(an)g(example)h(terminal)g(session)f
-(that)h(do)m(wnload,)j(con\014gure,)f(build)c(and)h(install)h(the)150
-2407 y(pac)m(k)-5 b(age.)43 b(Y)-8 b(ou)31 b(will)f(need)g(a)h(few)f
-(basic)h(to)s(ols,)h(suc)m(h)e(as)g(`)p Fo(sh)p Fu(',)h(`)p
-Fo(make)p Fu(')e(and)h(`)p Fo(cc)p Fu('.)390 2535 y Fo($)47
-b(wget)g(-q)g(ftp://alpha.gnu.org/pub/g)o(nu/l)o(ibid)o(n/l)o(ibid)o
-(n-1.)o(25.)o(tar.)o(gz)390 2644 y($)g(tar)g(xfz)g(libidn-1.25.tar.gz)
-390 2754 y($)g(cd)h(libidn-1.25/)390 2863 y($)f(./configure)390
-2973 y(...)390 3083 y($)g(make)390 3192 y(...)390 3302
-y($)g(make)g(install)390 3411 y(...)275 3538 y Fu(After)30
-b(that)h(Libidn)e(should)h(b)s(e)f(prop)s(erly)h(installed)h(and)e
-(ready)i(for)f(use.)275 3666 y(A)g(few)g Fo(configure)e
-Fu(options)j(ma)m(y)g(b)s(e)e(relev)-5 b(an)m(t,)32 b(summarized)e(in)g
-(the)h(table.)150 3810 y Fo(--enable-java)630 3920 y
-Fu(Build)f(the)h(Ja)m(v)-5 b(a)32 b(p)s(ort)e(in)m(to)h(a)g(*.JAR)g
-(\014le.)41 b(See)31 b(Chapter)f(12)i([Ja)m(v)-5 b(a)31
-b(API],)g(page)g(58,)h(for)630 4029 y(more)f(information.)150
-4174 y Fo(--disable-tld)630 4284 y Fu(Disable)24 b(the)f(TLD)f(mo)s
-(dule.)38 b(This)21 b(w)m(ould)i(t)m(ypically)h(only)f(b)s(e)f(useful)g
-(if)h(y)m(ou)g(are)g(building)630 4393 y(on)37 b(a)g(memory)g
-(restricted)g(platforms.)60 b(See)37 b(Chapter)g(7)g([TLD)g(F)-8
-b(unctions],)39 b(page)f(31,)630 4503 y(for)30 b(more)h(information.)
-150 4647 y Fo(--enable-csharp[=IMPL])630 4757 y Fu(Build)38
-b(the)h Fo(C#)e Fu(p)s(ort)h(in)m(to)h(a)g Fo(*.DLL)e
-Fu(\014le.)64 b(See)39 b(Chapter)e(13)i([C#)f(API],)h(page)g(61,)i(for)
-630 4867 y(more)34 b(information.)51 b(Here,)35 b Fo(IMPL)e
-Fu(is)h Fo(pnet)e Fu(or)i Fo(mono)p Fu(,)g(indicating)g(whether)f(the)h
-(PNET)630 4976 y Fo(cscc)29 b Fu(compiler)i(or)g(the)f(Mono)h
-Fo(mcs)f Fu(compiler)h(should)e(b)s(e)h(used,)g(resp)s(ectiv)m(ely)-8
-b(.)150 5121 y Fo(--disable-valgrind-tests)630 5230 y
-Fu(Disable)26 b(running)d(the)i(self-c)m(hec)m(ks)i(under)c(V)-8
-b(algrind)25 b(\()p Fo(http://valgrind.org/)p Fu(\).)34
-b(Nor-)630 5340 y(mally)j(V)-8 b(algrind)37 b(do)s(es)g(not)g(cause)g
-(problems)f(and)g(can)g(detect)i(some)f(sev)m(ere)h(memory)p
-eop end
-%%Page: 7 12
-TeXDict begin 7 11 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(7)630 299 y(errors.)40 b(If)30
-b(y)m(ou)g(are)h(getting)h(errors)d(from)h(V)-8 b(algrind)31
-b(that)f(are)h(caused)f(b)m(y)g(the)g(compiler)630 408
-y(or)41 b(lib)s(c)f(\(p)s(ossibly)h(as)g(a)g(result)g(of)g(sp)s(ecial)g
-(optimization)i(\015ags\),)h(y)m(ou)d(ma)m(y)h(use)e(this)630
-518 y(option)31 b(to)g(disable)f(the)h(use)f(of)h(V)-8
-b(algrind.)275 684 y(F)g(or)31 b(the)f(complete)i(list,)f(refer)f(to)i
-(the)e(output)g(from)g Fo(configure)e(--help)p Fu(.)150
-887 y Fn(1.7.1)63 b(Installing)41 b(under)h(Windo)m(ws)150
-1034 y Fu(There)30 b(are)h(t)m(w)m(o)g(w)m(a)m(ys)h(to)f(build)e
-(Libidn)g(on)h(Windo)m(ws:)41 b(via)31 b(MinGW)g(or)g(via)g(Visual)g
-(Studio.)275 1173 y(With)36 b(MinGW,)h(y)m(ou)f(can)g(build)f(a)h
-(Libidn)e(DLL)i(and)f(use)h(it)g(from)f(other)i(applications.)58
-b(After)150 1282 y(installing)38 b(MinGW)g(\()p Fo(http:)5
-b(/)g(/)t(mingw)g(.)t(org)g(/)t Fu(\))36 b(follo)m(w)i(the)f(generic)h
-(installation)h(instructions)e(\(see)150 1392 y(Section)31
-b(1.7)h([Do)m(wnloading)g(and)d(Installing],)j(page)f(6\).)41
-b(The)30 b(DLL)h(is)f(installed)h(b)m(y)g(default.)275
-1531 y(F)-8 b(or)30 b(information)h(on)f(ho)m(w)g(to)h(use)f(the)g(DLL)
-g(in)g(other)h(applications,)g(see:)42 b Fo(http://www.mingw.)150
-1640 y(org/mingwfaq.shtml#faq-m)o(svcd)o(ll)p Fu(.)275
-1779 y(Y)-8 b(ou)35 b(can)f(build)g(Libidn)f(as)i(a)g(nativ)m(e)h
-(Visual)f(Studio)f(C)p Fo(++)f Fu(pro)5 b(ject.)54 b(This)34
-b(allo)m(ws)i(y)m(ou)f(to)g(build)150 1888 y(the)c(co)s(de)g(for)g
-(other)g(platforms)g(that)h(VS)e(supp)s(orts,)g(suc)m(h)g(as)i(Windo)m
-(ws)f(Mobile.)43 b(Y)-8 b(ou)32 b(need)e(Visual)150 1998
-y(Studio)g(2005)i(or)e(later.)275 2137 y(First)i(do)m(wnload)h(and)f
-(unpac)m(k)g(the)h(arc)m(hiv)m(e)h(as)f(describ)s(ed)e(in)i(the)f
-(generic)i(installation)g(instruc-)150 2246 y(tions)f(\(see)h(Section)g
-(1.7)g([Do)m(wnloading)h(and)d(Installing],)j(page)f(6\).)49
-b(Don't)34 b(run)e Fo(./configure)p Fu(.)45 b(In-)150
-2356 y(stead,)33 b(start)g(Visual)g(Studio)e(and)h(op)s(en)f(the)i(pro)
-5 b(ject)32 b(\014le)h(`)p Fo(win32/libidn.sln)p Fu(')28
-b(inside)k(the)g(Libidn)150 2466 y(directory)-8 b(.)42
-b(Y)-8 b(ou)31 b(should)e(b)s(e)h(able)h(to)g(build)e(the)i(pro)5
-b(ject)30 b(using)g(Build)h(Pro)5 b(ject.)275 2604 y(Output)38
-b(libraries)h(will)h(b)s(e)f(written)g(in)m(to)i(the)f
-Fo(win32/lib)c Fu(\(or)k Fo(win32/lib/debug)35 b Fu(for)40
-b(Debug)150 2714 y(v)m(ersions\))31 b(folder.)275 2852
-y(When)h(w)m(orking)i(with)e(Windo)m(ws)i(y)m(ou)f(ma)m(y)h(w)m(an)m(t)
-f(to)h(lo)s(ok)g(in)m(to)g(the)f(sp)s(ecial)h(memory)f(handling)150
-2962 y(functions)23 b(that)i(ma)m(y)f(b)s(e)f(needed)h(\(see)h(Section)
-f(2.6)h([Memory)g(handling)e(under)f(Windo)m(ws],)k(page)e(12\).)150
-3201 y Ft(1.8)68 b(Bug)45 b(Rep)t(orts)150 3360 y Fu(If)30
-b(y)m(ou)h(think)f(y)m(ou)g(ha)m(v)m(e)i(found)d(a)i(bug)e(in)h
-(Libidn,)g(please)h(in)m(v)m(estigate)j(it)c(and)g(rep)s(ort)g(it.)225
-3499 y Fs(\017)60 b Fu(Please)40 b(mak)m(e)g(sure)d(that)j(the)f(bug)f
-(is)g(really)i(in)e(Libidn,)i(and)e(preferably)g(also)i(c)m(hec)m(k)g
-(that)f(it)330 3608 y(hasn't)30 b(already)h(b)s(een)f(\014xed)g(in)g
-(the)g(latest)i(v)m(ersion.)225 3745 y Fs(\017)60 b Fu(Y)-8
-b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g(case)g(that)g(mak)m
-(es)g(it)g(p)s(ossible)f(for)g(us)g(to)h(repro)s(duce)e(the)i(bug.)225
-3882 y Fs(\017)60 b Fu(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)
-f(what)g(is)g(wrong;)g(if)g(y)m(ou)g(get)h(a)f(crash,)h(or)f(if)f(the)h
-(results)g(prin)m(ted)g(are)330 3991 y(not)36 b(go)s(o)s(d)g(and)g(in)g
-(that)g(case,)j(in)d(what)g(w)m(a)m(y)-8 b(.)59 b(Mak)m(e)38
-b(sure)d(that)i(the)f(bug)g(rep)s(ort)f(includes)h(all)330
-4101 y(information)31 b(y)m(ou)f(w)m(ould)h(need)f(to)h(\014x)f(this)g
-(kind)f(of)i(bug)f(for)g(someone)h(else.)275 4266 y(Please)36
-b(mak)m(e)f(an)g(e\013ort)h(to)f(pro)s(duce)f(a)h(self-con)m(tained)i
-(rep)s(ort,)f(with)e(something)i(de\014nite)e(that)150
-4376 y(can)29 b(b)s(e)g(tested)g(or)g(debugged.)40 b(V)-8
-b(ague)31 b(queries)e(or)g(piecemeal)h(messages)g(are)g(di\016cult)f
-(to)h(act)g(on)f(and)150 4486 y(don't)h(help)g(the)h(dev)m(elopmen)m(t)
-h(e\013ort.)275 4624 y(If)e(y)m(our)g(bug)g(rep)s(ort)g(is)g(go)s(o)s
-(d,)h(w)m(e)g(will)g(do)f(our)g(b)s(est)g(to)i(help)e(y)m(ou)g(to)i
-(get)f(a)g(corrected)h(v)m(ersion)f(of)150 4734 y(the)j(soft)m(w)m
-(are;)j(if)d(the)g(bug)f(rep)s(ort)g(is)h(p)s(o)s(or,)g(w)m(e)g(w)m
-(on't)g(do)g(an)m(ything)g(ab)s(out)g(it)g(\(apart)g(from)f(asking)150
-4843 y(y)m(ou)e(to)g(send)e(b)s(etter)i(bug)f(rep)s(orts\).)275
-4982 y(If)19 b(y)m(ou)i(think)f(something)h(in)f(this)g(man)m(ual)h(is)
-f(unclear,)j(or)d(do)m(wnrigh)m(t)h(incorrect,)i(or)e(if)f(the)h
-(language)150 5092 y(needs)30 b(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g
-(also)g(send)f(a)h(note.)275 5230 y(Send)e(y)m(our)h(bug)g(rep)s(ort)g
-(to:)1495 5340 y(`)p Fo(bug-libidn@gnu.org)p Fu(')p eop
-end
-%%Page: 8 13
-TeXDict begin 8 12 bop 150 -116 a Fu(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(8)150 299 y Ft(1.9)68 b(Con)l(tributing)150
-458 y Fu(If)25 b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g
-(for)f(inclusion)h({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g
-(disco)m(v)m(ered,)i(up)c(to)i(adding)150 568 y(supp)s(ort)38
-b(for)h(a)h(new)e(feature)i({)g(y)m(ou)g(should)e(submit)h(it)h(as)f(a)
-h(bug)f(rep)s(ort)f(\(see)j(Section)f(1.8)g([Bug)150
-677 y(Rep)s(orts],)32 b(page)g(7\).)44 b(There)30 b(are)i(some)g
-(things)f(that)h(y)m(ou)f(can)h(do)f(to)h(increase)g(the)f(c)m(hances)h
-(for)f(it)h(to)150 787 y(b)s(e)e(included)f(in)h(the)h(o\016cial)h(pac)
-m(k)-5 b(age.)275 922 y(Unless)41 b(y)m(our)g(patc)m(h)h(is)f(v)m(ery)h
-(small)g(\(sa)m(y)-8 b(,)46 b(under)40 b(10)i(lines\))g(w)m(e)f
-(require)g(that)h(y)m(ou)g(assign)g(the)150 1031 y(cop)m(yrigh)m(t)d
-(of)f(y)m(our)f(w)m(ork)h(to)g(the)g(F)-8 b(ree)39 b(Soft)m(w)m(are)f
-(F)-8 b(oundation.)63 b(This)37 b(is)g(to)i(protect)f(the)g(freedom)150
-1141 y(of)44 b(the)g(pro)5 b(ject.)81 b(If)43 b(y)m(ou)h(ha)m(v)m(e)h
-(not)f(already)h(signed)e(pap)s(ers,)j(w)m(e)f(will)f(send)f(y)m(ou)h
-(the)g(necessary)150 1250 y(information)31 b(when)e(y)m(ou)i(submit)e
-(y)m(our)i(con)m(tribution.)275 1385 y(F)-8 b(or)33 b(con)m(tributions)
-h(that)f(do)s(esn't)g(consist)g(of)g(actual)i(programming)d(co)s(de,)i
-(the)g(only)f(guidelines)150 1494 y(are)e(common)f(sense.)41
-b(Use)31 b(it.)275 1629 y(F)-8 b(or)31 b(co)s(de)f(con)m(tributions,)h
-(a)g(n)m(um)m(b)s(er)e(of)i(st)m(yle)g(guides)g(will)f(help)g(y)m(ou:)
-225 1763 y Fs(\017)60 b Fu(Co)s(ding)32 b(St)m(yle.)48
-b(F)-8 b(ollo)m(w)34 b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g
-Fs(h)p Fu(unde\014ned)p Fs(i)e Fu([top],)j(page)f Fs(h)p
-Fu(un-)330 1873 y(de\014ned)p Fs(i)p Fu(\).)330 2007
-y(If)42 b(y)m(ou)h(normally)f(co)s(de)h(using)f(another)g(co)s(ding)h
-(standard,)i(there)d(is)h(no)f(problem,)j(but)d(y)m(ou)330
-2117 y(should)h(use)g(`)p Fo(indent)p Fu(')g(to)i(reformat)f(the)g(co)s
-(de)g(\(see)h Fs(h)p Fu(unde\014ned)p Fs(i)d Fu([top],)48
-b(page)d Fs(h)p Fu(unde\014ned)p Fs(i)p Fu(\))330 2227
-y(b)s(efore)30 b(submitting)g(y)m(our)g(w)m(ork.)225
-2361 y Fs(\017)60 b Fu(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p
-Fo(diff)f(-u)p Fu('.)225 2496 y Fs(\017)60 b Fu(Return)32
-b(errors.)47 b(No)33 b(reason)g(whatso)s(ev)m(er)g(should)f(ab)s(ort)h
-(the)g(execution)g(of)g(the)g(library)-8 b(.)48 b(Ev)m(en)330
-2605 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41
-b(when)26 b(mallo)s(c)i(return)e(NULL,)h(should)f(w)m(ork)h(although)h
-(result)330 2715 y(in)i(an)g(error)g(co)s(de.)225 2849
-y Fs(\017)60 b Fu(Design)31 b(with)f(thread)g(safet)m(y)i(in)e(mind.)40
-b(Don't)31 b(use)f(global)i(v)-5 b(ariables)31 b(and)f(the)g(lik)m(e.)
-225 2984 y Fs(\017)60 b Fu(Av)m(oid)38 b(using)f(the)g(C)g(math)g
-(library)-8 b(.)61 b(It)37 b(causes)h(problems)e(for)h(em)m(b)s(edded)f
-(implemen)m(tations,)330 3093 y(and)30 b(in)g(most)h(situations)g(it)g
-(is)f(v)m(ery)h(easy)g(to)g(a)m(v)m(oid)h(using)e(it.)225
-3228 y Fs(\017)60 b Fu(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37
-b(Use)23 b(commen)m(ts)g(b)s(efore)f(eac)m(h)h(function)f(headers,)h
-(that,)i(if)d(prop)s(erly)330 3337 y(formatted,)j(are)d(extracted)i(in)
-m(to)f(GTK-DOC)e(w)m(eb)i(pages.)38 b(Don't)23 b(forget)g(to)g(up)s
-(date)e(the)i(T)-8 b(exinfo)330 3447 y(man)m(ual)31 b(as)f(w)m(ell.)225
-3582 y Fs(\017)60 b Fu(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m
-(tries,)i(where)e(appropriate.)p eop end
-%%Page: 9 14
-TeXDict begin 9 13 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(Preparation)2619 b(9)150 299 y Fr(2)80 b(Preparation)150
-497 y Fu(T)-8 b(o)34 b(use)f(`Libidn',)h(y)m(ou)g(ha)m(v)m(e)h(to)f(p)s
-(erform)e(some)i(c)m(hanges)h(to)f(y)m(our)g(sources)f(and)g(the)h
-(build)f(system.)150 607 y(The)39 b(necessary)h(c)m(hanges)h(are)f
-(small)g(and)f(explained)g(in)h(the)f(follo)m(wing)i(sections.)70
-b(A)m(t)40 b(the)g(end)f(of)150 716 y(this)31 b(c)m(hapter,)i(it)f(is)f
-(describ)s(ed)f(ho)m(w)i(the)f(library)g(is)h(initialized,)h(and)e(ho)m
-(w)g(the)h(requiremen)m(ts)f(of)h(the)150 826 y(library)e(are)h(v)m
-(eri\014ed.)275 953 y(A)f(faster)i(w)m(a)m(y)f(to)h(\014nd)d(out)i(ho)m
-(w)g(to)h(adapt)f(y)m(our)g(application)h(for)e(use)h(with)f(`Libidn')h
-(ma)m(y)g(b)s(e)f(to)150 1063 y(lo)s(ok)h(at)g(the)g(examples)g(at)g
-(the)f(end)g(of)g(this)h(man)m(ual)f(\(see)i(Chapter)e(9)g([Examples],)
-h(page)h(38\).)150 1281 y Ft(2.1)68 b(Header)150 1440
-y Fu(The)38 b(library)g(con)m(tains)i(a)e(few)h(indep)s(enden)m(t)e
-(parts,)j(and)e(eac)m(h)i(part)e(exp)s(ort)g(the)h(in)m(terfaces)h
-(\(data)150 1550 y(t)m(yp)s(es)33 b(and)g(functions\))g(in)g(a)h
-(header)f(\014le.)49 b(Y)-8 b(ou)34 b(m)m(ust)f(include)g(the)h
-(appropriate)f(header)g(\014les)g(in)g(all)150 1659 y(programs)d(using)
-g(the)g(library)-8 b(,)31 b(either)g(directly)g(or)f(through)g(some)h
-(other)f(header)h(\014le,)f(lik)m(e)i(this:)390 1787
-y Fo(#include)46 b(<stringprep.h>)275 1914 y Fu(The)29
-b(header)i(\014les)f(and)g(the)g(functions)g(they)h(de\014ne)e(are)i
-(categorized)i(as)e(follo)m(ws:)150 2059 y(stringprep.h)630
-2169 y(The)d(lo)m(w-lev)m(el)j(stringprep)c(API)h(en)m(try)h(p)s(oin)m
-(t.)40 b(F)-8 b(or)29 b(IDN)g(applications,)h(this)e(is)g(usually)630
-2278 y(in)m(v)m(ok)m(ed)33 b(via)e(IDNA.)h(Some)f(applications,)i(sp)s
-(eci\014cally)f(non-IDN)f(ones,)h(ma)m(y)f(w)m(an)m(t)h(to)630
-2388 y(prepare)e(strings)g(directly)h(though,)f(and)g(should)g(include)
-g(this)g(header)g(\014le.)630 2515 y(The)k(name)h(space)g(of)g(the)f
-(stringprep)g(part)h(of)f(Libidn)g(is)g Fo(stringprep*)e
-Fu(for)i(function)630 2625 y(names,)i Fo(Stringprep*)31
-b Fu(for)k(data)g(t)m(yp)s(es)g(and)f Fo(STRINGPREP_*)d
-Fu(for)k(other)g(sym)m(b)s(ols.)53 b(In)630 2734 y(addition,)36
-b Fo(_stringprep*)31 b Fu(is)k(reserv)m(ed)f(for)g(in)m(ternal)i(use)e
-(and)g(should)f(nev)m(er)i(b)s(e)f(used)630 2844 y(b)m(y)c
-(applications.)150 2989 y(pun)m(yco)s(de.h)630 3098 y(The)23
-b(en)m(try)h(p)s(oin)m(t)f(to)i(Pun)m(yco)s(de)e(enco)s(ding)g(and)g
-(deco)s(ding)g(functions.)38 b(Normally)25 b(pun)m(y-)630
-3208 y(co)s(de)g(is)f(used)g(via)h(the)g(idna.h)f(in)m(terface,)k(but)c
-(some)h(application)g(ma)m(y)h(w)m(an)m(t)f(to)g(p)s(erform)630
-3318 y(ra)m(w)30 b(pun)m(yco)s(de)g(op)s(erations.)630
-3445 y(The)40 b(name)i(space)f(of)g(the)g(pun)m(yco)s(de)g(part)f(of)i
-(Libidn)d(is)i Fo(punycode_*)d Fu(for)j(function)630
-3554 y(names,)e Fo(Punycode*)34 b Fu(for)j(data)g(t)m(yp)s(es)g(and)g
-Fo(PUNYCODE_*)d Fu(for)i(other)i(sym)m(b)s(ols.)60 b(In)36
-b(ad-)630 3664 y(dition,)42 b Fo(_punycode*)37 b Fu(is)i(reserv)m(ed)h
-(for)f(in)m(ternal)h(use)g(and)e(should)h(nev)m(er)h(b)s(e)e(used)h(b)m
-(y)630 3774 y(applications.)150 3919 y(idna.h)630 4046
-y(The)h(en)m(try)g(p)s(oin)m(t)g(to)h(the)f(IDNA)h(functions.)70
-b(This)39 b(is)h(the)h(normal)f(en)m(try)g(p)s(oin)m(t)g(for)630
-4156 y(applications)32 b(that)f(need)f(IDN)g(functionalit)m(y)-8
-b(.)630 4283 y(The)42 b(name)g(space)g(of)h(the)f(IDNA)h(part)f(of)g
-(Libidn)f(is)h Fo(idna_*)e Fu(for)i(function)g(names,)630
-4392 y Fo(Idna*)d Fu(for)g(data)i(t)m(yp)s(es)f(and)f
-Fo(IDNA_*)g Fu(for)g(other)h(sym)m(b)s(ols.)70 b(In)39
-b(addition,)k Fo(_idna*)38 b Fu(is)630 4502 y(reserv)m(ed)31
-b(for)f(in)m(ternal)h(use)f(and)g(should)f(nev)m(er)i(b)s(e)e(used)h(b)
-m(y)g(applications.)150 4647 y(tld.h)630 4774 y(The)k(en)m(try)g(p)s
-(oin)m(t)g(to)h(the)f(TLD)g(functions.)51 b(Normal)35
-b(applications)g(are)f(not)h(exp)s(ected)630 4884 y(to)k(need)f(this)h
-(functionalit)m(y)-8 b(,)42 b(but)c(it)h(is)f(presen)m(t)h(for)f
-(applications)i(that)f(are)f(used)g(b)m(y)630 4993 y(TLDs)30
-b(to)h(v)-5 b(alidate)32 b(customer)f(input.)630 5121
-y(The)d(name)h(space)g(of)g(the)g(TLD)g(part)g(of)f(Libidn)g(is)h
-Fo(tld_*)e Fu(for)i(function)f(names,)h Fo(Tld_*)630
-5230 y Fu(for)i(data)g(t)m(yp)s(es)g(and)f Fo(TLD_*)g
-Fu(for)g(other)h(sym)m(b)s(ols.)42 b(In)30 b(addition,)i
-Fo(_tld*)d Fu(is)i(reserv)m(ed)g(for)630 5340 y(in)m(ternal)g(use)f
-(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)p
-eop end
-%%Page: 10 15
-TeXDict begin 10 14 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(Preparation)2573 b(10)150 299 y(pr29.h)630 441 y(The)40
-b(en)m(try)h(p)s(oin)m(t)g(to)g(the)g(PR29)h(functions.)71
-b(These)41 b(functions)f(are)h(used)f(to)i(detect)630
-550 y(\\problem)26 b(sequences")h(\(see)f(Chapter)g(8)g([PR29)h(F)-8
-b(unctions],)28 b(page)f(36\),)h(mostly)e(for)g(use)630
-660 y(in)k(securit)m(y)h(critical)h(applications.)630
-802 y(The)23 b(name)g(space)h(of)f(the)h(PR29)g(part)f(of)g(Libidn)g
-(is)g Fo(pr29_*)e Fu(for)j(function)e(names,)j Fo(Pr29_)630
-912 y(*)j Fu(for)g(data)h(t)m(yp)s(es)f(and)f Fo(PR29_*)g
-Fu(for)h(other)g(sym)m(b)s(ols.)40 b(In)27 b(addition,)i
-Fo(_pr29*)e Fu(is)h(reserv)m(ed)630 1021 y(for)i(in)m(ternal)h(use)f
-(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)150
-1196 y(idn-free.h)630 1338 y(The)24 b(en)m(try)h(p)s(oin)m(t)f(to)h
-(the)g(Windo)m(ws)f(memory)g(de-allo)s(cation)j(function)d(\(see)i
-(Section)f(2.6)630 1447 y([Memory)40 b(handling)f(under)e(Windo)m(ws],)
-42 b(page)e(12\).)69 b(It)39 b(con)m(tains)h(only)g(one)f(function)630
-1557 y Fo(idn_free)p Fu(.)275 1739 y(All)31 b(header)f(\014les)g
-(de\014ned)f(and)h(use)g(the)h(sym)m(b)s(ol)f Fo(IDNAPI)e
-Fu(to)j(decorate)h(the)f(API)f(functions.)150 1994 y
-Ft(2.2)68 b(Initialization)150 2153 y Fu(Libidn)29 b(is)i(stateless)h
-(and)d(do)s(es)h(not)h(need)f(an)m(y)h(initialization.)150
-2408 y Ft(2.3)68 b(V)-11 b(ersion)45 b(Chec)l(k)150 2567
-y Fu(It)35 b(is)g(often)g(desirable)g(to)h(c)m(hec)m(k)h(that)e(the)g
-(v)m(ersion)h(of)f(`Libidn')f(used)g(is)h(indeed)g(one)g(whic)m(h)f
-(\014ts)h(all)150 2677 y(requiremen)m(ts.)42 b(Ev)m(en)31
-b(with)g(binary)f(compatibilit)m(y)j(new)d(features)h(ma)m(y)g(ha)m(v)m
-(e)h(b)s(een)e(in)m(tro)s(duced)h(but)150 2787 y(due)g(to)i(problem)e
-(with)h(the)g(dynamic)f(link)m(er)i(an)e(old)h(v)m(ersion)h(is)f
-(actually)h(used.)45 b(So)31 b(y)m(ou)i(ma)m(y)f(w)m(an)m(t)150
-2896 y(to)f(c)m(hec)m(k)h(that)f(the)g(v)m(ersion)f(is)h(ok)-5
-b(a)m(y)31 b(righ)m(t)g(after)g(program)f(startup.)150
-3110 y Fn(stringprep)p 710 3110 37 5 v 55 w(c)m(hec)m(k)p
-1058 3110 V 53 w(v)m(ersion)3350 3322 y Fu([F)-8 b(unction])-3599
-b Fm(const)54 b(char)f(*)g(stringprep_check_versi)q(on)f
-Fl(\()p Fk(const)31 b(c)m(har)g(*)565 3432 y Fj(req_version)p
-Fl(\))390 3541 y Fk(req)p 520 3541 28 4 v 40 w(v)m(ersion)p
-Fu(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or)i(NULL.)390
-3691 y(Chec)m(k)c(that)h(the)f(v)m(ersion)g(of)g(the)g(library)g(is)g
-(at)g(minim)m(um)g(the)g(requested)f(one)i(and)e(return)g(the)390
-3800 y(v)m(ersion)32 b(string;)h(return)e(NULL)g(if)h(the)g(condition)g
-(is)g(not)g(satis\014ed.)45 b(If)31 b(a)h(NULL)g(is)g(passed)f(to)390
-3910 y(this)f(function,)h(no)f(c)m(hec)m(k)i(is)e(done,)h(but)e(the)i
-(v)m(ersion)g(string)f(is)g(simply)g(returned.)390 4060
-y(See)h Fo(STRINGPREP_VERSION)25 b Fu(for)30 b(a)h(suitable)g
-Fo(req_version)c Fu(string.)390 4209 y Fi(Return)d(v)-5
-b(alue:)38 b Fu(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8
-b(,)26 b(or)e(NULL)g(if)g(the)g(run-time)g(library)f(do)s(es)390
-4319 y(not)31 b(meet)g(the)f(required)g(v)m(ersion)h(n)m(um)m(b)s(er.)
-275 4533 y(The)e(normal)h(w)m(a)m(y)i(to)f(use)e(the)i(function)f(is)g
-(to)h(put)e(something)i(similar)g(to)g(the)f(follo)m(wing)i(\014rst)d
-(in)150 4643 y(y)m(our)h Fo(main)p Fu(:)485 4792 y Fo(if)48
-b(\(!stringprep_check_vers)o(ion)41 b(\(STRINGPREP_VERSION\)\))581
-4902 y({)676 5011 y(printf)46 b(\("stringprep_check_version)o(\(\))c
-(failed:\\n")1058 5121 y("Header)k(file)h(incompatible)d(with)j(shared)
-f(library.\\n"\);)676 5230 y(exit\(EXIT_FAILURE\);)581
-5340 y(})p eop end
-%%Page: 11 16
-TeXDict begin 11 15 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(Preparation)2573 b(11)150 299 y Ft(2.4)68 b(Building)45
-b(the)g(source)150 458 y Fu(If)32 b(y)m(ou)i(w)m(an)m(t)f(to)h(compile)
-g(a)f(source)g(\014le)g(including)f(e.g.)50 b(the)33
-b(`idna.h')f(header)h(\014le,)h(y)m(ou)f(m)m(ust)g(mak)m(e)150
-568 y(sure)24 b(that)i(the)f(compiler)g(can)h(\014nd)d(it)j(in)e(the)h
-(directory)h(hierarc)m(h)m(y)-8 b(.)40 b(This)24 b(is)h(accomplished)g
-(b)m(y)g(adding)150 677 y(the)37 b(path)g(to)h(the)f(directory)g(in)g
-(whic)m(h)g(the)g(header)g(\014le)g(is)g(lo)s(cated)h(to)g(the)f
-(compilers)g(include)g(\014le)150 787 y(searc)m(h)31
-b(path)f(\(via)h(the)g(`)p Fo(-I)p Fu(')f(option\).)275
-923 y(Ho)m(w)m(ev)m(er,)h(the)f(path)f(to)h(the)g(include)f(\014le)h
-(is)f(determined)g(at)h(the)g(time)g(the)f(source)h(is)f(con\014gured.)
-150 1033 y(T)-8 b(o)30 b(solv)m(e)h(this)f(problem,)g(`Libidn')f(uses)g
-(the)h(external)h(pac)m(k)-5 b(age)31 b Fo(pkg-config)c
-Fu(that)k(kno)m(ws)e(the)h(path)150 1142 y(to)k(the)g(include)g(\014le)
-f(and)g(other)h(con\014guration)g(options.)51 b(The)33
-b(options)h(that)g(need)g(to)g(b)s(e)f(added)g(to)150
-1252 y(the)24 b(compiler)h(in)m(v)m(o)s(cation)h(at)f(compile)f(time)h
-(are)g(output)e(b)m(y)h(the)g(`)p Fo(--cflags)p Fu(')f(option)h(to)h
-Fo(pkg-config)150 1362 y(libidn)p Fu(.)39 b(The)30 b(follo)m(wing)i
-(example)f(sho)m(ws)f(ho)m(w)g(it)h(can)g(b)s(e)f(used)f(at)i(the)g
-(command)f(line:)390 1498 y Fo(gcc)47 b(-c)g(foo.c)f(`pkg-config)f
-(libidn)h(--cflags`)275 1634 y Fu(Adding)38 b(the)i(output)f(of)h(`)p
-Fo(pkg-config)27 b(libidn)i(--cflags)p Fu(')38 b(to)i(the)f(compilers)h
-(command)g(line)150 1744 y(will)31 b(ensure)e(that)i(the)g(compiler)g
-(can)f(\014nd)f(e.g.)42 b(the)31 b(idna.h)e(header)i(\014le.)275
-1880 y(A)23 b(similar)g(problem)g(o)s(ccurs)g(when)f(linking)h(the)g
-(program)g(with)g(the)g(library)-8 b(.)38 b(Again,)26
-b(the)d(compiler)150 1990 y(has)j(to)g(\014nd)f(the)h(library)f
-(\014les.)40 b(F)-8 b(or)26 b(this)g(to)h(w)m(ork,)g(the)f(path)g(to)h
-(the)f(library)f(\014les)h(has)g(to)h(b)s(e)e(added)g(to)150
-2099 y(the)32 b(library)g(searc)m(h)h(path)f(\(via)h(the)f(`)p
-Fo(-L)p Fu(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p
-Fo(--libs)p Fu(')e(to)i Fo(pkg-config)150 2209 y(libidn)h
-Fu(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d
-(option)g(also)g(outputs)g(all)g(other)g(options)g(that)h(are)150
-2318 y(required)k(to)i(link)e(the)h(program)g(with)f(the)i(`libidn')e
-(library)-8 b(.)75 b(The)41 b(example)i(sho)m(ws)f(ho)m(w)f(to)i(link)
-150 2428 y(`)p Fo(foo.o)p Fu(')29 b(with)i(the)f(`libidn')g(library)g
-(to)h(a)g(program)f Fo(foo)p Fu(.)390 2564 y Fo(gcc)47
-b(-o)g(foo)g(foo.o)f(`pkg-config)f(libidn)h(--libs`)275
-2700 y Fu(Of)29 b(course)i(y)m(ou)f(can)h(also)g(com)m(bine)g(b)s(oth)e
-(examples)i(to)g(a)g(single)f(command)g(b)m(y)h(sp)s(ecifying)f(b)s
-(oth)150 2810 y(options)h(to)g Fo(pkg-config)p Fu(:)390
-2946 y Fo(gcc)47 b(-o)g(foo)g(foo.c)f(`pkg-config)f(libidn)h(--cflags)g
-(--libs`)150 3181 y Ft(2.5)68 b(Auto)t(conf)44 b(tests)150
-3341 y Fu(If)25 b(y)m(our)g(pro)5 b(ject)26 b(uses)f(Auto)s(conf)g
-(\(see)i Fs(h)p Fu(unde\014ned)p Fs(i)c Fu([top],)28
-b(page)e Fs(h)p Fu(unde\014ned)p Fs(i)p Fu(\))e(to)i(c)m(hec)m(k)h(for)
-e(installed)150 3450 y(libraries,)38 b(y)m(ou)e(migh)m(t)h(\014nd)d
-(the)i(follo)m(wing)i(snipp)s(et)c(illustrativ)m(e.)60
-b(It)36 b(add)f(a)h(new)g(`)p Fo(configure)p Fu(')e(pa-)150
-3560 y(rameter)d Fo(--with-libidn)p Fu(,)d(and)i(c)m(hec)m(k)j(for)d(`)
-p Fo(idna.h)p Fu(')g(and)g(`)p Fo(-lidn)p Fu(')g(\(p)s(ossibly)g(b)s
-(elo)m(w)h(the)g(directory)150 3669 y(sp)s(eci\014ed)c(as)h(the)g
-(optional)h(argumen)m(t)f(to)h Fo(--with-libidn)p Fu(\),)c(and)i
-(de\014ne)g(the)h(CPP)f(sym)m(b)s(ol)h Fo(LIBIDN)150
-3779 y Fu(if)37 b(the)f(library)h(is)f(found.)58 b(The)36
-b(default)h(b)s(eha)m(viour)f(is)h(to)g(searc)m(h)g(for)g(the)g
-(library)f(and)g(enable)h(the)150 3889 y(functionalit)m(y)28
-b(\(that)g(is,)g(de\014ne)e(the)h(sym)m(b)s(ol\))f(when)g(the)h
-(library)f(is)h(found,)g(but)f(if)g(y)m(ou)h(wish)f(to)i(mak)m(e)150
-3998 y(the)k(default)g(b)s(eha)m(viour)g(of)g(y)m(our)g(pac)m(k)-5
-b(age)34 b(b)s(e)e(that)g(Libidn)f(is)h(not)g(used)g(\(ev)m(en)h(if)f
-(it)g(is)g(installed)h(on)150 4108 y(the)e(system\),)g(c)m(hange)g(`)p
-Fo(libidn=yes)p Fu(')d(to)j(`)p Fo(libidn=no)p Fu(')e(on)h(the)h(third)
-e(line.)390 4244 y Fo(AC_ARG_WITH\(libidn,)43 b
-(AC_HELP_STRING\([--with-)o(lib)o(idn=)o([DIR)o(]],)1917
-4354 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)485
-4463 y(libidn=$withval,)d(libidn=yes\))390 4573 y(if)j(test)g
-("$libidn")e(!=)i("no";)g(then)485 4682 y(if)h(test)e("$libidn")g(!=)h
-("yes";)f(then)581 4792 y(LDFLAGS="${LDFLAGS})c(-L$libidn/lib")581
-4902 y(CPPFLAGS="${CPPFLAGS})g(-I$libidn/include")485
-5011 y(fi)485 5121 y(AC_CHECK_HEADER\(idna.h,)581 5230
-y(AC_CHECK_LIB\(idn,)h(stringprep_check_version)o(,)676
-5340 y([libidn=yes)i(LIBS="${LIBS})f(-lidn"],)i(libidn=no\),)p
-eop end
-%%Page: 12 17
-TeXDict begin 12 16 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(Preparation)2573 b(12)581 299 y Fo(libidn=no\))390
-408 y(fi)390 518 y(if)47 b(test)g("$libidn")e(!=)i("no")g(;)g(then)485
-628 y(AC_DEFINE\(LIBIDN,)d(1,)j([Define)f(to)h(1)g(if)g(you)g(want)g
-(IDN)g(support.]\))390 737 y(else)485 847 y(AC_MSG_WARN\([Libidn)c(not)
-k(found]\))390 956 y(fi)390 1066 y(AC_MSG_CHECKING\([if)c(Libidn)j
-(should)g(be)h(used]\))390 1176 y(AC_MSG_RESULT\($libidn\))275
-1345 y Fu(If)36 b(y)m(ou)i(require)f(that)g(y)m(our)g(users)g(ha)m(v)m
-(e)h(installed)g Fo(pkg-config)c Fu(\(whic)m(h)k(I)e(cannot)i
-(recommend)150 1454 y(generally\),)32 b(the)f(ab)s(o)m(v)m(e)g(can)g(b)
-s(e)f(done)g(more)g(easily)i(as)f(follo)m(ws.)390 1624
-y Fo(AC_ARG_WITH\(libidn,)43 b(AC_HELP_STRING\([--with-)o(lib)o(idn=)o
-([DIR)o(]],)1917 1733 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)
-485 1843 y(libidn=$withval,)d(libidn=yes\))390 1952 y(if)j(test)g
-("$libidn")e(!=)i("no")g(;)g(then)485 2062 y
-(PKG_CHECK_MODULES\(LIBIDN,)41 b(libidn)46 b(>=)i(0.0.0,)e
-([libidn=yes],)e([libidn=no]\))485 2172 y(if)k(test)e("$libidn")g(!=)h
-("yes")f(;)i(then)581 2281 y(libidn=no)581 2391 y(AC_MSG_WARN\([Libidn)
-42 b(not)47 b(found]\))485 2500 y(else)581 2610 y(libidn=yes)581
-2720 y(AC_DEFINE\(LIBIDN,)c(1,)k([Define)f(to)h(1)h(if)f(you)g(want)f
-(Libidn.]\))485 2829 y(fi)390 2939 y(fi)390 3048 y
-(AC_MSG_CHECKING\([if)d(Libidn)j(should)g(be)h(used]\))390
-3158 y(AC_MSG_RESULT\($libidn\))150 3443 y Ft(2.6)68
-b(Memory)45 b(handling)g(under)f(Windo)l(ws)150 3602
-y Fu(Sev)m(eral)i(functions)f(in)g(the)g(library)g(allo)s(cates)i
-(memory)-8 b(.)85 b(The)45 b(memory)g(is)g(exp)s(ected)g(to)h(b)s(e)f
-(de-)150 3712 y(allo)s(cated)28 b(using)d(the)h Fo(free)e
-Fu(function.)39 b(Under)25 b(Windo)m(ws,)i(it)f(is)g(sometimes)h
-(necessary)f(to)g(de-allo)s(cate)150 3821 y(memory)32
-b(in)g(the)h(same)g(mo)s(dule)e(that)i(allo)s(cated)i(a)d(memory)g
-(region.)48 b(The)32 b(reason)g(is)h(that)f(di\013eren)m(t)150
-3931 y(mo)s(dules)26 b(use)h(separate)h(heap)f(memory)g(regions.)40
-b(T)-8 b(o)28 b(solv)m(e)g(this)f(problem)g(w)m(e)h(pro)m(vide)f(a)g
-(function)g(to)150 4040 y(de-allo)s(cate)33 b(memory)d(inside)g(the)h
-(library)-8 b(.)275 4210 y(Note)32 b(that)g(w)m(e)g(do)g(not)f
-(recommend)h(using)f(this)g(in)m(terface)i(generally)g(if)e(y)m(ou)h
-(do)f(not)h(care)g(ab)s(out)150 4319 y(Windo)m(ws)e(p)s(ortabilit)m(y)
--8 b(.)150 4604 y Ft(2.7)68 b(Header)46 b(\014le)f Fh(idn-free.h)150
-4763 y Fu(T)-8 b(o)39 b(use)f(the)h(function)f(explained)h(in)f(this)h
-(c)m(hapter,)i(y)m(ou)e(need)f(to)i(include)e(the)h(\014le)f(`)p
-Fo(idn-free.h)p Fu(')150 4873 y(using:)390 5042 y Fo(#include)46
-b(<idn-free.h>)150 5327 y Ft(2.8)68 b(Memory)45 b(de-allo)t(cation)i
-(function)p eop end
-%%Page: 13 18
-TeXDict begin 13 17 bop 150 -116 a Fu(Chapter)30 b(2:)41
-b(Preparation)2573 b(13)150 299 y Fn(idn)p 329 299 37
-5 v 54 w(free)3350 496 y Fu([F)-8 b(unction])-3599 b
-Fm(void)54 b(idn_free)47 b Fl(\()p Fk(v)m(oid)32 b(*)e
-Fj(ptr)p Fl(\))390 605 y Fk(ptr)7 b Fu(:)40 b(memory)30
-b(region)h(to)g(deallo)s(cate,)i(or)d Fo(NULL)p Fu(.)390
-740 y(Deallo)s(cates)42 b(memory)d(region)g(b)m(y)g(calling)h
-Fo(free\(\))p Fu(.)65 b(If)38 b Fo(ptr)g Fu(is)h Fo(NULL)f
-Fu(no)g(op)s(eration)i(is)f(p)s(er-)390 849 y(formed.)390
-984 y(Normally)i(applications)g(de-allo)s(cate)i(strings)d(allo)s
-(cated)i(b)m(y)e(libidn)f(b)m(y)h(calling)i Fo(free\(\))c
-Fu(di-)390 1093 y(rectly)-8 b(.)76 b(Under)41 b(Windo)m(ws,)k
-(di\013eren)m(t)d(parts)f(of)h(the)g(same)g(application)h(ma)m(y)f(use)
-f(di\013eren)m(t)390 1203 y(heap)d(memory)-8 b(,)40 b(and)e(then)f(it)i
-(is)f(imp)s(ortan)m(t)g(to)h(deallo)s(cate)h(memory)e(allo)s(cated)i
-(within)e(the)390 1313 y(same)31 b(mo)s(dule)e(that)i(allo)s(cated)i
-(it.)41 b(This)30 b(function)g(mak)m(es)h(that)g(p)s(ossible.)p
-eop end
-%%Page: 14 19
-TeXDict begin 14 18 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(14)150 299 y
-Fr(3)80 b(Utilit)l(y)53 b(F)-13 b(unctions)150 540 y
-Fu(The)37 b(rest)g(of)h(this)f(library)g(mak)m(es)h(extensiv)m(e)g(use)
-f(of)h(Unico)s(de)f(c)m(haracters.)63 b(In)37 b(order)f(to)i(in)m
-(terface)150 649 y(this)g(library)g(with)g(the)h(outside)f(w)m(orld,)i
-(y)m(our)f(application)g(ma)m(y)g(need)f(to)h(mak)m(e)g(v)-5
-b(arious)39 b(Unico)s(de)150 759 y(transformations.)150
-994 y Ft(3.1)68 b(Header)46 b(\014le)f Fh(stringprep.h)150
-1154 y Fu(T)-8 b(o)30 b(use)f(the)g(functions)g(explained)h(in)f(this)g
-(c)m(hapter,)h(y)m(ou)g(need)f(to)h(include)f(the)g(\014le)h(`)p
-Fo(stringprep.h)p Fu(')150 1263 y(using:)390 1400 y Fo(#include)46
-b(<stringprep.h>)150 1636 y Ft(3.2)68 b(Unico)t(de)45
-b(Enco)t(ding)g(T)-11 b(ransformation)150 1860 y Fn(stringprep)p
-710 1860 37 5 v 55 w(unic)m(har)p 1165 1860 V 54 w(to)p
-1328 1860 V 54 w(utf8)3350 2059 y Fu([F)j(unction])-3599
-b Fm(int)53 b(stringprep_unichar_to)q(_utf)q(8)f Fl(\()p
-Fk(uin)m(t32)p 2055 2059 28 4 v 41 w(t)31 b Fj(c)p Fk(,)f(c)m(har)h(*)g
-Fj(outbuf)p Fl(\))390 2169 y Fk(c)6 b Fu(:)41 b(a)30
-b(ISO10646)i(c)m(haracter)g(co)s(de)390 2305 y Fk(outbuf)17
-b Fu(:)47 b(output)34 b(bu\013er,)g(m)m(ust)g(ha)m(v)m(e)h(at)g(least)g
-(6)f(b)m(ytes)h(of)f(space.)52 b(If)33 b Fo(NULL)p Fu(,)h(the)g(length)
-h(will)390 2415 y(b)s(e)30 b(computed)g(and)g(returned)f(and)h(nothing)
-g(will)h(b)s(e)e(written)i(to)g Fo(outbuf)p Fu(.)390
-2551 y(Con)m(v)m(erts)g(a)g(single)g(c)m(haracter)h(to)f(UTF-8.)390
-2688 y Fi(Return)f(v)-5 b(alue:)41 b Fu(n)m(um)m(b)s(er)29
-b(of)i(b)m(ytes)g(written.)150 2890 y Fn(stringprep)p
-710 2890 37 5 v 55 w(utf8)p 979 2890 V 55 w(to)p 1143
-2890 V 54 w(unic)m(har)3350 3089 y Fu([F)-8 b(unction])-3599
-b Fm(uint32_t)55 b(stringprep_utf8_to_unic)q(har)d Fl(\()p
-Fk(const)31 b(c)m(har)g(*)g Fj(p)p Fl(\))390 3198 y Fk(p)s
-Fu(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(Unico)s(de)g(c)m(haracter)h(enco)
-s(ded)e(as)g(UTF-8)390 3335 y(Con)m(v)m(erts)d(a)g(sequence)g(of)g(b)m
-(ytes)g(enco)s(ded)f(as)g(UTF-8)i(to)f(a)g(Unico)s(de)f(c)m(haracter.)
-41 b(If)26 b Fo(p)h Fu(do)s(es)f(not)390 3444 y(p)s(oin)m(t)k(to)h(a)g
-(v)-5 b(alid)31 b(UTF-8)g(enco)s(ded)f(c)m(haracter,)i(results)f(are)f
-(unde\014ned.)390 3581 y Fi(Return)g(v)-5 b(alue:)41
-b Fu(the)31 b(resulting)f(c)m(haracter.)150 3782 y Fn(stringprep)p
-710 3782 V 55 w(ucs4)p 997 3782 V 55 w(to)p 1161 3782
-V 54 w(utf8)3350 3981 y Fu([F)-8 b(unction])-3599 b Fm(char)54
-b(*)e(stringprep_ucs4_to_utf)q(8)g Fl(\()p Fk(const)31
-b(uin)m(t32)p 2293 3981 28 4 v 41 w(t)f(*)h Fj(str)p
-Fk(,)h(ssize)p 2865 3981 V 40 w(t)f Fj(len)p Fk(,)565
-4091 y(size)p 712 4091 V 41 w(t)g(*)f Fj(items_read)p
-Fk(,)k(size)p 1614 4091 V 41 w(t)d(*)f Fj(items_written)p
-Fl(\))390 4201 y Fk(str)7 b Fu(:)40 b(a)31 b(UCS-4)f(enco)s(ded)g
-(string)390 4337 y Fk(len)p Fu(:)39 b(the)27 b(maxim)m(um)f(length)h
-(of)g Fo(str)f Fu(to)h(use.)39 b(If)26 b Fo(len)g(<)g
-Fu(0,)i(then)e(the)h(string)g(is)f(terminated)h(with)390
-4447 y(a)k(0)g(c)m(haracter.)390 4584 y Fk(items)p 608
-4584 V 41 w(read)t Fu(:)40 b(lo)s(cation)32 b(to)f(store)g(n)m(um)m(b)s
-(er)e(of)h(c)m(haracters)i(read)f(read,)f(or)g Fo(NULL)p
-Fu(.)390 4720 y Fk(items)p 608 4720 V 41 w(written)p
-Fu(:)57 b(lo)s(cation)41 b(to)e(store)g(n)m(um)m(b)s(er)f(of)h(b)m
-(ytes)g(written)g(or)g Fo(NULL)p Fu(.)65 b(The)38 b(v)-5
-b(alue)39 b(here)390 4830 y(stored)30 b(do)s(es)h(not)f(include)g(the)h
-(trailing)g(0)g(b)m(yte.)390 4966 y(Con)m(v)m(ert)h(a)g(string)f(from)g
-(a)g(32-bit)i(\014xed)d(width)h(represen)m(tation)h(as)g(UCS-4.)43
-b(to)32 b(UTF-8.)44 b(The)390 5076 y(result)30 b(will)h(b)s(e)f
-(terminated)h(with)f(a)g(0)h(b)m(yte.)390 5213 y Fi(Return)42
-b(v)-5 b(alue:)66 b Fu(a)43 b(p)s(oin)m(ter)f(to)i(a)f(newly)f(allo)s
-(cated)i(UTF-8)g(string.)77 b(This)42 b(v)-5 b(alue)43
-b(m)m(ust)g(b)s(e)390 5322 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)
-42 b(If)30 b(an)g(error)g(o)s(ccurs,)h Fo(NULL)e Fu(will)i(b)s(e)e
-(returned.)p eop end
-%%Page: 15 20
-TeXDict begin 15 19 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(15)150 299 y
-Fn(stringprep)p 710 299 37 5 v 55 w(utf8)p 979 299 V
-55 w(to)p 1143 299 V 54 w(ucs4)3350 515 y Fu([F)-8 b(unction])-3599
-b Fm(uint32_t)55 b(*)d(stringprep_utf8_to_uc)q(s4)g Fl(\()p
-Fk(const)31 b(c)m(har)g(*)f Fj(str)p Fk(,)i(ssize)p 2918
-515 28 4 v 41 w(t)e Fj(len)p Fk(,)565 625 y(size)p 712
-625 V 41 w(t)h(*)f Fj(items_written)p Fl(\))390 735 y
-Fk(str)7 b Fu(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f(string)390
-889 y Fk(len)p Fu(:)40 b(the)28 b(maxim)m(um)g(length)h(of)f
-Fo(str)g Fu(to)g(use.)40 b(If)28 b Fo(len)f(<)h Fu(0,)h(then)f(the)h
-(string)f(is)g(n)m(ul-terminated.)390 1043 y Fk(items)p
-608 1043 V 41 w(written)p Fu(:)40 b(lo)s(cation)32 b(to)f(store)g(the)g
-(n)m(um)m(b)s(er)e(of)i(c)m(haracters)g(in)g(the)f(result,)h(or)f
-Fo(NULL)p Fu(.)390 1197 y(Con)m(v)m(ert)d(a)f(string)g(from)f(UTF-8)i
-(to)g(a)f(32-bit)i(\014xed)d(width)g(represen)m(tation)i(as)f(UCS-4,)h
-(assum-)390 1307 y(ing)k(v)-5 b(alid)30 b(UTF-8)h(input.)40
-b(This)30 b(function)g(do)s(es)g(no)g(error)g(c)m(hec)m(king)i(on)f
-(the)f(input.)390 1461 y Fi(Return)43 b(v)-5 b(alue:)66
-b Fu(a)44 b(p)s(oin)m(ter)f(to)h(a)f(newly)g(allo)s(cated)i(UCS-4)f
-(string.)79 b(This)42 b(v)-5 b(alue)44 b(m)m(ust)f(b)s(e)390
-1571 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)150
-1833 y Ft(3.3)68 b(Unico)t(de)45 b(Normalization)150
-2057 y Fn(stringprep)p 710 2057 37 5 v 55 w(ucs4)p 997
-2057 V 55 w(nfk)m(c)p 1274 2057 V 53 w(normalize)3350
-2273 y Fu([F)-8 b(unction])-3599 b Fm(uint32_t)55 b(*)d
-(stringprep_ucs4_nfkc_)q(nor)q(mal)q(ize)g Fl(\()p Fk(const)31
-b(uin)m(t32)p 2868 2273 28 4 v 41 w(t)g(*)565 2383 y
-Fj(str)p Fk(,)h(ssize)p 961 2383 V 40 w(t)f Fj(len)p
-Fl(\))390 2492 y Fk(str)7 b Fu(:)40 b(a)31 b(Unico)s(de)f(string.)390
-2647 y Fk(len)p Fu(:)41 b(length)31 b(of)f Fo(str)g Fu(arra)m(y)-8
-b(,)31 b(or)g(-1)g(if)f Fo(str)f Fu(is)i(n)m(ul-terminated.)390
-2801 y(Con)m(v)m(erts)81 b(a)f(UCS4)g(string)h(in)m(to)g(canonical)h
-(form,)92 b(see)81 b Fo(stringprep_utf8_nfkc_)390 2910
-y(normalize\(\))27 b Fu(for)j(more)h(information.)390
-3065 y Fi(Return)h(v)-5 b(alue:)45 b Fu(a)33 b(newly)f(allo)s(cated)i
-(Unico)s(de)f(string,)g(that)g(is)f(the)h(NFK)m(C)g(normalized)f(form)
-390 3174 y(of)f Fo(str)p Fu(.)150 3393 y Fn(stringprep)p
-710 3393 37 5 v 55 w(utf8)p 979 3393 V 55 w(nfk)m(c)p
-1256 3393 V 54 w(normalize)3350 3610 y Fu([F)-8 b(unction])-3599
-b Fm(char)54 b(*)e(stringprep_utf8_nfkc_n)q(orm)q(ali)q(ze)g
-Fl(\()p Fk(const)31 b(c)m(har)g(*)f Fj(str)p Fk(,)i(ssize)p
-3075 3610 28 4 v 41 w(t)565 3719 y Fj(len)p Fl(\))390
-3829 y Fk(str)7 b Fu(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f(string.)390
-3983 y Fk(len)p Fu(:)41 b(length)31 b(of)f Fo(str)p Fu(,)g(in)g(b)m
-(ytes,)h(or)f(-1)h(if)g Fo(str)e Fu(is)i(n)m(ul-terminated.)390
-4137 y(Con)m(v)m(erts)22 b(a)g(string)f(in)m(to)h(canonical)h(form,)g
-(standardizing)e(suc)m(h)g(issues)g(as)g(whether)g(a)g(c)m(haracter)390
-4247 y(with)28 b(an)g(accen)m(t)j(is)d(represen)m(ted)g(as)h(a)f(base)h
-(c)m(haracter)h(and)e(com)m(bining)g(accen)m(t)j(or)d(as)h(a)f(single)
-390 4356 y(precomp)s(osed)i(c)m(haracter.)390 4511 y(The)24
-b(normalization)h(mo)s(de)f(is)g(NFK)m(C)g(\(ALL)g(COMPOSE\).)g(It)g
-(standardizes)g(di\013erences)g(that)390 4620 y(do)38
-b(not)h(a\013ect)h(the)e(text)i(con)m(ten)m(t,)i(suc)m(h)d(as)f(the)h
-(ab)s(o)m(v)m(e-men)m(tioned)h(accen)m(t)h(represen)m(tation.)390
-4730 y(It)35 b(standardizes)h(the)f Fo(")p Fu(compatibilit)m(y)p
-Fo(")i Fu(c)m(haracters)g(in)e(Unico)s(de,)i(suc)m(h)e(as)g
-(SUPERSCRIPT)390 4839 y(THREE)24 b(to)i(the)f(standard)f(forms)g(\(in)h
-(this)g(case)h(DIGIT)f(THREE\).)g(F)-8 b(ormatting)27
-b(information)390 4949 y(ma)m(y)38 b(b)s(e)e(lost)i(but)e(for)g(most)i
-(text)g(op)s(erations)f(suc)m(h)f(c)m(haracters)j(should)d(b)s(e)g
-(considered)h(the)390 5059 y(same.)k(It)30 b(returns)f(a)i(result)f
-(with)f(comp)s(osed)h(forms)g(rather)g(than)g(a)g(maximally)h(decomp)s
-(osed)390 5168 y(form.)390 5322 y Fi(Return)f(v)-5 b(alue:)41
-b Fu(a)31 b(newly)f(allo)s(cated)i(string,)f(that)g(is)f(the)h(NFK)m(C)
-g(normalized)f(form)g(of)h Fo(str)p Fu(.)p eop end
-%%Page: 16 21
-TeXDict begin 16 20 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(16)150 299 y
-Ft(3.4)68 b(Character)46 b(Set)f(Con)l(v)l(ersion)150
-521 y Fn(stringprep)p 710 521 37 5 v 55 w(lo)s(cale)p
-1068 521 V 55 w(c)m(harset)3350 715 y Fu([F)-8 b(unction])-3599
-b Fm(const)54 b(char)f(*)g(stringprep_locale_char)q(set)f
-Fl(\()31 b Fj(void)p Fl(\))390 824 y Fu(Find)37 b(out)g(curren)m(t)h
-(lo)s(cale)h(c)m(harset.)62 b(The)37 b(function)g(resp)s(ect)h(the)f
-(CHARSET)f(en)m(vironmen)m(t)390 934 y(v)-5 b(ariable,)29
-b(but)d(t)m(ypically)j(uses)e(nl)p 1557 934 28 4 v 40
-w(langinfo\(CODESET\))g(when)f(it)i(is)f(supp)s(orted.)38
-b(It)27 b(fall)h(bac)m(k)390 1044 y(on)23 b Fo(")p Fu(ASCI)s(I)p
-Fo(")f Fu(if)h(CHARSET)g(isn't)h(set)g(and)f(nl)p 2011
-1044 V 40 w(langinfo)h(isn't)f(supp)s(orted)f(or)i(return)e(an)m
-(ything.)390 1176 y(Note)28 b(that)g(this)f(function)g(return)f(the)h
-(application's)i(lo)s(cale's)g(preferred)d(c)m(harset)i(\(or)f
-(thread's)390 1286 y(lo)s(cale's)32 b(pre\013ered)e(c)m(harset,)i(if)e
-(y)m(our)h(system)f(supp)s(ort)f(thread-sp)s(eci\014c)h(lo)s(cales\).)
-43 b(It)31 b(do)s(es)f(not)390 1396 y(return)24 b(what)i(the)g(system)f
-(ma)m(y)h(b)s(e)f(using.)39 b(Th)m(us,)26 b(if)f(y)m(ou)h(receiv)m(e)h
-(data)f(from)f(external)i(sources)390 1505 y(y)m(ou)35
-b(cannot)g(in)g(general)g(use)g(this)f(function)h(to)g(guess)g(what)f
-(c)m(harset)i(it)f(is)g(enco)s(ded)f(in.)54 b(Use)390
-1615 y(stringprep)p 802 1615 V 39 w(con)m(v)m(ert)30
-b(from)e(the)h(external)h(represen)m(tation)f(in)m(to)h(the)f(c)m
-(harset)g(returned)f(b)m(y)g(this)390 1724 y(function,)i(to)h(ha)m(v)m
-(e)h(data)f(in)f(the)h(lo)s(cale)h(enco)s(ding.)390 1857
-y Fi(Return)23 b(v)-5 b(alue:)37 b Fu(Return)23 b(the)g(c)m(haracter)i
-(set)f(used)f(b)m(y)g(the)g(curren)m(t)g(lo)s(cale.)40
-b(It)24 b(will)f(nev)m(er)h(return)390 1967 y(NULL,)31
-b(but)e(use)h Fo(")p Fu(ASCI)s(I)p Fo(")f Fu(as)h(a)h(fallbac)m(k.)150
-2163 y Fn(stringprep)p 710 2163 37 5 v 55 w(con)m(v)m(ert)3350
-2356 y Fu([F)-8 b(unction])-3599 b Fm(char)54 b(*)e(stringprep_convert)
-f Fl(\()p Fk(const)31 b(c)m(har)g(*)g Fj(str)p Fk(,)g(const)g(c)m(har)g
-(*)565 2466 y Fj(to_codeset)p Fk(,)j(const)d(c)m(har)f(*)h
-Fj(from_codeset)p Fl(\))390 2575 y Fk(str)7 b Fu(:)40
-b(input)29 b(zero-terminated)j(string.)390 2708 y Fk(to)p
-476 2708 28 4 v 41 w(co)s(deset)r Fu(:)41 b(name)31 b(of)f(destination)
-i(c)m(haracter)f(set.)390 2841 y Fk(from)p 581 2841 V
-40 w(co)s(deset)r Fu(:)41 b(name)31 b(of)f(origin)h(c)m(haracter)h
-(set,)f(as)g(used)e(b)m(y)i Fo(str)p Fu(.)390 2974 y(Con)m(v)m(ert)43
-b(the)g(string)f(from)g(one)g(c)m(haracter)i(set)f(to)g(another)f
-(using)g(the)g(system's)h Fo(iconv\(\))390 3083 y Fu(function.)390
-3216 y Fi(Return)20 b(v)-5 b(alue:)36 b Fu(Returns)20
-b(newly)g(allo)s(cated)j(zero-terminated)f(string)f(whic)m(h)f(is)h
-Fo(str)e Fu(transco)s(ded)390 3326 y(in)m(to)31 b(to)p
-660 3326 V 41 w(co)s(deset.)150 3522 y Fn(stringprep)p
-710 3522 37 5 v 55 w(lo)s(cale)p 1068 3522 V 55 w(to)p
-1232 3522 V 54 w(utf8)3350 3715 y Fu([F)-8 b(unction])-3599
-b Fm(char)54 b(*)e(stringprep_locale_to_u)q(tf8)g Fl(\()p
-Fk(const)31 b(c)m(har)g(*)g Fj(str)p Fl(\))390 3825 y
-Fk(str)7 b Fu(:)40 b(input)29 b(zero)j(terminated)e(string.)390
-3958 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(the)g(lo)s(cale's)
-i(c)m(haracter)g(set)f(in)m(to)g(UTF-8)g(b)m(y)f(using)g
-Fo(stringprep_)390 4067 y(convert\(\))p Fu(.)390 4200
-y Fi(Return)d(v)-5 b(alue:)36 b Fu(Returns)20 b(newly)g(allo)s(cated)j
-(zero-terminated)f(string)f(whic)m(h)f(is)h Fo(str)e
-Fu(transco)s(ded)390 4310 y(in)m(to)31 b(UTF-8.)150 4506
-y Fn(stringprep)p 710 4506 V 55 w(utf8)p 979 4506 V 55
-w(to)p 1143 4506 V 54 w(lo)s(cale)3350 4699 y Fu([F)-8
-b(unction])-3599 b Fm(char)54 b(*)e(stringprep_utf8_to_loc)q(ale)g
-Fl(\()p Fk(const)31 b(c)m(har)g(*)g Fj(str)p Fl(\))390
-4809 y Fk(str)7 b Fu(:)40 b(input)29 b(zero)j(terminated)e(string.)390
-4941 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(UTF-8)h(in)m(to)g
-(the)g(lo)s(cale's)h(c)m(haracter)f(set)g(b)m(y)f(using)g
-Fo(stringprep_)390 5051 y(convert\(\))p Fu(.)390 5184
-y Fi(Return)d(v)-5 b(alue:)36 b Fu(Returns)20 b(newly)g(allo)s(cated)j
-(zero-terminated)f(string)f(whic)m(h)f(is)h Fo(str)e
-Fu(transco)s(ded)390 5293 y(in)m(to)31 b(the)g(lo)s(cale's)h(c)m
-(haracter)g(set.)p eop end
-%%Page: 17 22
-TeXDict begin 17 21 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Stringprep)29 b(F)-8 b(unctions)2209 b(17)150 299 y
-Fr(4)80 b(Stringprep)52 b(F)-13 b(unctions)150 537 y
-Fu(Stringprep)23 b(describ)s(es)i(a)g(framew)m(ork)g(for)f(preparing)g
-(Unico)s(de)h(text)h(strings)f(in)f(order)h(to)g(increase)h(the)150
-646 y(lik)m(eliho)s(o)s(d)i(that)f(string)g(input)e(and)i(string)f
-(comparison)h(w)m(ork)g(in)f(w)m(a)m(ys)i(that)f(mak)m(e)h(sense)f(for)
-f(t)m(ypical)150 756 y(users)i(throughout)g(the)h(w)m(orld.)40
-b(The)28 b(stringprep)g(proto)s(col)i(is)e(useful)g(for)h(proto)s(col)g
-(iden)m(ti\014er)g(v)-5 b(alues,)150 865 y(compan)m(y)31
-b(and)f(p)s(ersonal)f(names,)i(in)m(ternationalized)i(domain)d(names,)g
-(and)g(other)h(text)g(strings.)150 1100 y Ft(4.1)68 b(Header)46
-b(\014le)f Fh(stringprep.h)150 1259 y Fu(T)-8 b(o)30
-b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)h(y)m(ou)
-g(need)f(to)h(include)f(the)g(\014le)h(`)p Fo(stringprep.h)p
-Fu(')150 1369 y(using:)390 1504 y Fo(#include)46 b(<stringprep.h>)150
-1739 y Ft(4.2)68 b(De\014ning)45 b(A)g(Stringprep)f(Pro\014le)150
-1898 y Fu(F)-8 b(urther)38 b(t)m(yp)s(es)h(and)g(structures)f(are)h
-(de\014ned)e(for)i(applications)h(that)f(w)m(an)m(t)h(to)g(sp)s(ecify)e
-(their)h(o)m(wn)150 2008 y(stringprep)e(pro\014le.)63
-b(As)38 b(these)g(are)h(fairly)f(obscure,)i(and)d(b)m(y)h(necessit)m(y)
-h(tied)g(to)f(the)h(implemen)m(ta-)150 2117 y(tion,)f(w)m(e)e(do)g(not)
-g(do)s(cumen)m(t)g(them)g(here.)57 b(Lo)s(ok)36 b(in)m(to)h(the)f(`)p
-Fo(stringprep.h)p Fu(')d(header)j(\014le,)h(and)f(the)150
-2227 y(`)p Fo(profiles.c)p Fu(')28 b(source)j(co)s(de)f(for)g(the)h
-(details.)150 2461 y Ft(4.3)68 b(Con)l(trol)46 b(Flags)3072
-2671 y Fu([Stringprep)29 b(\015ags])-3599 b Fm(Stringprep_profile_fla)q
-(gs)59 b(STRINGPREP_NO_NFKC)390 2781 y Fu(Disable)42
-b(the)g(NFK)m(C)g(normalization,)k(as)41 b(w)m(ell)i(as)e(selecting)i
-(the)f(non-NFK)m(C)f(case)i(folding)390 2891 y(tables.)d(Usually)25
-b(the)h(pro\014le)f(sp)s(eci\014es)g(BIDI)g(and)g(NFK)m(C)g(settings,)j
-(and)d(applications)h(should)390 3000 y(not)31 b(o)m(v)m(erride)g(it)g
-(unless)f(in)g(sp)s(ecial)h(situations.)3072 3187 y([Stringprep)e
-(\015ags])-3599 b Fm(Stringprep_profile_fla)q(gs)59 b
-(STRINGPREP_NO_BIDI)390 3297 y Fu(Disable)39 b(the)f(BIDI)g(step.)62
-b(Usually)38 b(the)g(pro\014le)f(sp)s(eci\014es)h(BIDI)g(and)f(NFK)m(C)
-h(settings,)j(and)390 3406 y(applications)32 b(should)d(not)i(o)m(v)m
-(erride)g(it)g(unless)f(in)g(sp)s(ecial)h(situations.)3072
-3593 y([Stringprep)e(\015ags])-3599 b Fm(Stringprep_profile_fla)q(gs)59
-b(STRINGPREP_NO_UNASSIGNE)q(D)390 3702 y Fu(Mak)m(e)28
-b(the)e(library)g(return)e(with)i(an)g(error)g(if)g(string)g(con)m
-(tains)h(unassigned)e(c)m(haracters)j(accord-)390 3812
-y(ing)j(to)g(pro\014le.)150 4046 y Ft(4.4)68 b(Core)46
-b(F)-11 b(unctions)150 4270 y Fn(stringprep)p 710 4270
-37 5 v 55 w(4i)3350 4468 y Fu([F)j(unction])-3599 b Fm(int)53
-b(stringprep_4i)d Fl(\()p Fk(uin)m(t32)p 1375 4468 28
-4 v 41 w(t)31 b(*)f Fj(ucs4)p Fk(,)i(size)p 1963 4468
-V 41 w(t)f(*)f Fj(len)p Fk(,)i(size)p 2499 4468 V 41
-w(t)f Fj(maxucs4len)p Fk(,)565 4578 y(Stringprep)p 992
-4578 V 39 w(pro\014le)p 1279 4578 V 40 w(\015ags)f Fj(flags)p
-Fk(,)i(const)f(Stringprep)p 2502 4578 V 39 w(pro\014le)f(*)h
-Fj(profile)p Fl(\))390 4688 y Fk(ucs4)7 b Fu(:)41 b(input/output)30
-b(arra)m(y)h(with)f(string)g(to)h(prepare.)390 4823 y
-Fk(len)p Fu(:)63 b(on)41 b(input,)i(length)f(of)f(input)g(arra)m(y)h
-(with)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts,)i(on)d(exit,)k(length)d
-(of)390 4933 y(output)30 b(arra)m(y)h(with)f(Unico)s(de)g(co)s(de)h(p)s
-(oin)m(ts.)390 5069 y Fk(maxucs4len)p Fu(:)41 b(maxim)m(um)30
-b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 5204
-y Fk(\015ags)t Fu(:)41 b(a)30 b Fo(Stringprep_profile_flags)24
-b Fu(v)-5 b(alue,)31 b(or)g(0.)390 5340 y Fk(pro\014le)5
-b Fu(:)40 b(p)s(oin)m(ter)31 b(to)g Fo(Stringprep_profile)25
-b Fu(to)31 b(use.)p eop end
-%%Page: 18 23
-TeXDict begin 18 22 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Stringprep)29 b(F)-8 b(unctions)2209 b(18)390 299 y(Prepare)35
-b(the)h(input)f(UCS-4)h(string)g(according)g(to)h(the)f(stringprep)e
-(pro\014le,)j(and)e(write)h(bac)m(k)390 408 y(the)31
-b(result)f(to)h(the)g(input)e(string.)390 548 y(The)36
-b(input)g(is)h(not)h(required)e(to)h(b)s(e)g(zero)h(terminated)f(\()p
-Fo(ucs4)p Fu([)p Fo(len)p Fu(])f(=)g(0\).)62 b(The)36
-b(output)h(will)390 657 y(not)28 b(b)s(e)g(zero)h(terminated)f(unless)g
-Fo(ucs4)p Fu([)p Fo(len)p Fu(])e(=)i(0.)40 b(Instead,)29
-b(see)f Fo(stringprep_4zi\(\))c Fu(if)k(y)m(our)390 767
-y(input)h(is)i(zero)g(terminated)g(or)f(if)h(y)m(ou)f(w)m(an)m(t)i(the)
-e(output)g(to)h(b)s(e.)390 906 y(Since)c(the)h(stringprep)f(op)s
-(eration)h(can)f(expand)g(the)h(string,)g Fo(maxucs4len)d
-Fu(indicate)j(ho)m(w)g(large)390 1016 y(the)35 b(bu\013er)e(holding)i
-(the)g(string)f(is.)53 b(This)34 b(function)g(will)h(not)g(read)g(or)f
-(write)h(to)g(co)s(de)g(p)s(oin)m(ts)390 1125 y(outside)c(that)g(size.)
-390 1265 y(The)f Fo(flags)f Fu(are)i(one)f(of)h Fo
-(Stringprep_profile_flag)o(s)25 b Fu(v)-5 b(alues,)30
-b(or)h(0.)390 1404 y(The)f Fo(profile)f Fu(con)m(tain)k(the)e
-Fo(Stringprep_profile)26 b Fu(instructions)k(to)i(p)s(erform.)41
-b(Y)-8 b(our)31 b(appli-)390 1513 y(cation)41 b(can)g(de\014ne)e(new)g
-(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i(generic)g(stringprep)e
-(tables)h(that)390 1623 y(alw)m(a)m(ys)32 b(will)f(b)s(e)e(part)i(of)f
-(the)h(library)-8 b(,)30 b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f
-(supp)s(orted)e(pro\014les.)390 1762 y Fi(Return)21 b(v)-5
-b(alue:)36 b Fu(Returns)20 b Fo(STRINGPREP_OK)e Fu(i\013)j(successful,)
-i(or)e(an)f Fo(Stringprep_rc)e Fu(error)i(co)s(de.)150
-1966 y Fn(stringprep)p 710 1966 37 5 v 55 w(4zi)3350
-2168 y Fu([F)-8 b(unction])-3599 b Fm(int)53 b(stringprep_4zi)d
-Fl(\()p Fk(uin)m(t32)p 1427 2168 28 4 v 41 w(t)31 b(*)g
-Fj(ucs4)p Fk(,)g(size)p 2015 2168 V 41 w(t)g Fj(maxucs4len)p
-Fk(,)565 2277 y(Stringprep)p 992 2277 V 39 w(pro\014le)p
-1279 2277 V 40 w(\015ags)f Fj(flags)p Fk(,)i(const)f(Stringprep)p
-2502 2277 V 39 w(pro\014le)f(*)h Fj(profile)p Fl(\))390
-2387 y Fk(ucs4)7 b Fu(:)41 b(input/output)30 b(arra)m(y)h(with)f(zero)h
-(terminated)g(string)f(to)h(prepare.)390 2526 y Fk(maxucs4len)p
-Fu(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
-b(.)390 2665 y Fk(\015ags)t Fu(:)41 b(a)30 b Fo
-(Stringprep_profile_flags)24 b Fu(v)-5 b(alue,)31 b(or)g(0.)390
-2805 y Fk(pro\014le)5 b Fu(:)40 b(p)s(oin)m(ter)31 b(to)g
-Fo(Stringprep_profile)25 b Fu(to)31 b(use.)390 2944 y(Prepare)i(the)g
-(input)f(zero)i(terminated)g(UCS-4)f(string)g(according)h(to)g(the)f
-(stringprep)f(pro\014le,)390 3053 y(and)e(write)g(bac)m(k)h(the)g
-(result)f(to)h(the)g(input)e(string.)390 3193 y(Since)e(the)h
-(stringprep)f(op)s(eration)h(can)f(expand)g(the)h(string,)g
-Fo(maxucs4len)d Fu(indicate)j(ho)m(w)g(large)390 3302
-y(the)35 b(bu\013er)e(holding)i(the)g(string)f(is.)53
-b(This)34 b(function)g(will)h(not)g(read)g(or)f(write)h(to)g(co)s(de)g
-(p)s(oin)m(ts)390 3412 y(outside)c(that)g(size.)390 3551
-y(The)f Fo(flags)f Fu(are)i(one)f(of)h Fo(Stringprep_profile_flag)o(s)
-25 b Fu(v)-5 b(alues,)30 b(or)h(0.)390 3690 y(The)f Fo(profile)f
-Fu(con)m(tain)k(the)e Fo(Stringprep_profile)26 b Fu(instructions)k(to)i
-(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 3800 y(cation)41
-b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
-(generic)g(stringprep)e(tables)h(that)390 3910 y(alw)m(a)m(ys)32
-b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
-b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
-(pro\014les.)390 4049 y Fi(Return)21 b(v)-5 b(alue:)36
-b Fu(Returns)20 b Fo(STRINGPREP_OK)e Fu(i\013)j(successful,)i(or)e(an)f
-Fo(Stringprep_rc)e Fu(error)i(co)s(de.)150 4253 y Fn(stringprep)3350
-4454 y Fu([F)-8 b(unction])-3599 b Fm(int)53 b(stringprep)c
-Fl(\()p Fk(c)m(har)31 b(*)g Fj(in)p Fk(,)g(size)p 1546
-4454 V 41 w(t)f Fj(maxlen)p Fk(,)j(Stringprep)p 2443
-4454 V 38 w(pro\014le)p 2729 4454 V 40 w(\015ags)565
-4564 y Fj(flags)p Fk(,)f(const)f(Stringprep)p 1547 4564
-V 39 w(pro\014le)f(*)h Fj(profile)p Fl(\))390 4673 y
-Fk(in)p Fu(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h
-(prepare.)390 4813 y Fk(maxlen)p Fu(:)41 b(maxim)m(um)30
-b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4952
-y Fk(\015ags)t Fu(:)41 b(a)30 b Fo(Stringprep_profile_flags)24
-b Fu(v)-5 b(alue,)31 b(or)g(0.)390 5091 y Fk(pro\014le)5
-b Fu(:)40 b(p)s(oin)m(ter)31 b(to)g Fo(Stringprep_profile)25
-b Fu(to)31 b(use.)390 5230 y(Prepare)h(the)h(input)e(zero)i(terminated)
-g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
-5340 y(and)f(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
-(string.)p eop end
-%%Page: 19 24
-TeXDict begin 19 23 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Stringprep)29 b(F)-8 b(unctions)2209 b(19)390 299 y(Note)34
-b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m(ert)h(strings)e(en)m(tered)h(in)g
-(the)f(systems)h(lo)s(cale)h(in)m(to)g(UTF-8)f(b)s(efore)390
-408 y(using)d(this)g(function,)g(see)h Fo(stringprep_locale_to_utf8\()o
-(\))p Fu(.)390 541 y(Since)g(the)f(stringprep)g(op)s(eration)h(can)g
-(expand)f(the)h(string,)g Fo(maxlen)e Fu(indicate)i(ho)m(w)g(large)h
-(the)390 651 y(bu\013er)27 b(holding)g(the)h(string)g(is.)40
-b(This)27 b(function)g(will)h(not)g(read)f(or)h(write)g(to)h(c)m
-(haracters)g(outside)390 760 y(that)i(size.)390 893 y(The)f
-Fo(flags)f Fu(are)i(one)f(of)h Fo(Stringprep_profile_flag)o(s)25
-b Fu(v)-5 b(alues,)30 b(or)h(0.)390 1026 y(The)f Fo(profile)f
-Fu(con)m(tain)k(the)e Fo(Stringprep_profile)26 b Fu(instructions)k(to)i
-(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 1135 y(cation)41
-b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
-(generic)g(stringprep)e(tables)h(that)390 1245 y(alw)m(a)m(ys)32
-b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
-b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
-(pro\014les.)390 1377 y Fi(Return)i(v)-5 b(alue:)41 b
-Fu(Returns)30 b Fo(STRINGPREP_OK)c Fu(i\013)31 b(successful,)f(or)h(an)
-f(error)g(co)s(de.)150 1573 y Fn(stringprep)p 710 1573
-37 5 v 55 w(pro\014le)3350 1766 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(stringprep_profile)e Fl(\()p Fk(const)31
-b(c)m(har)g(*)g Fj(in)p Fk(,)g(c)m(har)g(**)g Fj(out)p
-Fk(,)g(const)g(c)m(har)g(*)565 1876 y Fj(profile)p Fk(,)i(Stringprep)p
-1414 1876 28 4 v 38 w(pro\014le)p 1700 1876 V 40 w(\015ags)e
-Fj(flags)p Fl(\))390 1985 y Fk(in)p Fu(:)40 b(input)30
-b(arra)m(y)h(with)f(UTF-8)h(string)f(to)h(prepare.)390
-2118 y Fk(out)r Fu(:)41 b(output)30 b(v)-5 b(ariable)31
-b(with)f(p)s(oin)m(ter)h(to)g(newly)f(allo)s(cate)j(string.)390
-2250 y Fk(pro\014le)5 b Fu(:)40 b(name)31 b(of)f(stringprep)g
-(pro\014le)g(to)h(use.)390 2383 y Fk(\015ags)t Fu(:)41
-b(a)30 b Fo(Stringprep_profile_flags)24 b Fu(v)-5 b(alue,)31
-b(or)g(0.)390 2516 y(Prepare)h(the)h(input)e(zero)i(terminated)g(UTF-8)
-g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
-2625 y(and)f(return)f(the)i(result)f(in)g(a)h(newly)f(allo)s(cated)i(v)
--5 b(ariable.)390 2758 y(Note)34 b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m
-(ert)h(strings)e(en)m(tered)h(in)g(the)f(systems)h(lo)s(cale)h(in)m(to)
-g(UTF-8)f(b)s(efore)390 2868 y(using)d(this)g(function,)g(see)h
-Fo(stringprep_locale_to_utf8\()o(\))p Fu(.)390 3000 y(The)f(output)g
-Fo(out)f Fu(v)-5 b(ariable)31 b(m)m(ust)g(b)s(e)e(deallo)s(cated)k(b)m
-(y)d(the)h(caller.)390 3133 y(The)f Fo(flags)f Fu(are)i(one)f(of)h
-Fo(Stringprep_profile_flag)o(s)25 b Fu(v)-5 b(alues,)30
-b(or)h(0.)390 3266 y(The)k Fo(profile)f Fu(sp)s(eci\014es)i(the)g(name)
-g(of)g(the)g(stringprep)f(pro\014le)g(to)i(use.)57 b(It)36
-b(m)m(ust)f(b)s(e)h(one)g(of)390 3375 y(the)31 b(in)m(ternally)g(supp)s
-(orted)d(stringprep)i(pro\014les.)390 3508 y Fi(Return)g(v)-5
-b(alue:)41 b Fu(Returns)30 b Fo(STRINGPREP_OK)c Fu(i\013)31
-b(successful,)f(or)h(an)f(error)g(co)s(de.)150 3737 y
-Ft(4.5)68 b(Error)45 b(Handling)150 3959 y Fn(stringprep)p
-710 3959 37 5 v 55 w(strerror)3350 4152 y Fu([F)-8 b(unction])-3599
-b Fm(const)54 b(char)f(*)g(stringprep_strerror)e Fl(\()p
-Fk(Stringprep)p 2331 4152 28 4 v 39 w(rc)31 b Fj(rc)p
-Fl(\))390 4261 y Fk(rc)6 b Fu(:)40 b(a)31 b Fo(Stringprep_rc)c
-Fu(return)i(co)s(de.)390 4394 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
-(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
-b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 4504
-y(diagnostic)e(message)f(to)g(the)g(user.)390 4636 y
-Fi(STRINGPREP)p 1010 4636 28 5 v 40 w(OK:)23 b Fu(Successful)f(op)s
-(eration.)39 b(This)22 b(v)-5 b(alue)23 b(is)f(guaran)m(teed)i(to)f
-(alw)m(a)m(ys)h(b)s(e)e(zero,)390 4746 y(the)h(remaining)f(ones)h(are)g
-(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5 b(alues,)24
-b(for)f(logical)i(comparison)390 4856 y(purp)s(oses.)390
-4988 y Fi(STRINGPREP)p 1010 4988 V 40 w(CONT)-8 b(AINS)p
-1537 4988 V 41 w(UNASSIGNED:)61 b Fu(String)g(con)m(tain)j(unassigned)d
-(Unico)s(de)390 5098 y(co)s(de)31 b(p)s(oin)m(ts,)f(whic)m(h)g(is)h
-(forbidden)d(b)m(y)j(the)f(pro\014le.)390 5230 y Fi(STRINGPREP)p
-1010 5230 V 40 w(CONT)-8 b(AINS)p 1537 5230 V 41 w(PR)m(OHIBITED:)38
-b Fu(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(prohibited)390
-5340 y(b)m(y)30 b(the)h(pro\014le.)p eop end
-%%Page: 20 25
-TeXDict begin 20 24 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Stringprep)29 b(F)-8 b(unctions)2209 b(20)390 299 y
-Fi(STRINGPREP)p 1010 299 28 5 v 40 w(BIDI)p 1257 299
-V 40 w(BOTH)p 1564 299 V 40 w(L)p 1659 299 V 40 w(AND)p
-1909 299 V 39 w(RAL:)23 b Fu(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m
-(ts)h(with)f(con\015ict-)390 408 y(ing)31 b(bidirection)f(category)-8
-b(.)390 559 y Fi(STRINGPREP)p 1010 559 V 40 w(BIDI)p
-1257 559 V 40 w(LEADTRAIL)p 1843 559 V 38 w(NOT)p 2083
-559 V 41 w(RAL:)44 b Fu(Leading)h(and)f(trailing)i(c)m(haracter)g(in)
-390 669 y(string)30 b(not)h(of)f(prop)s(er)f(bidirectional)j(category)
--8 b(.)390 820 y Fi(STRINGPREP)p 1010 820 V 40 w(BIDI)p
-1257 820 V 40 w(CONT)g(AINS)p 1784 820 V 40 w(PR)m(OHIBITED:)32
-b Fu(Con)m(tains)g(prohibited)f(co)s(de)h(p)s(oin)m(ts)390
-929 y(detected)g(b)m(y)e(bidirectional)h(co)s(de.)390
-1080 y Fi(STRINGPREP)p 1010 1080 V 40 w(TOO)p 1249 1080
-V 41 w(SMALL)p 1606 1080 V 39 w(BUFFER:)37 b Fu(Bu\013er)h(handed)e(to)
-j(function)e(w)m(as)i(to)s(o)f(small.)390 1190 y(This)30
-b(usually)g(indicate)h(a)g(problem)f(in)g(the)g(calling)i(application.)
-390 1340 y Fi(STRINGPREP)p 1010 1340 V 40 w(PR)m(OFILE)p
-1454 1340 V 41 w(ERR)m(OR:)41 b Fu(The)g(stringprep)g(pro\014le)f(w)m
-(as)i(inconsisten)m(t.)75 b(This)390 1450 y(usually)30
-b(indicate)i(an)e(in)m(ternal)h(error)f(in)g(the)h(library)-8
-b(.)390 1601 y Fi(STRINGPREP)p 1010 1601 V 40 w(FLA)m(G)p
-1299 1601 V 41 w(ERR)m(OR:)31 b Fu(The)g(supplied)f(\015ag)h
-(con\015icted)h(with)e(pro\014le.)43 b(This)30 b(usu-)390
-1710 y(ally)h(indicate)h(a)e(problem)g(in)g(the)h(calling)h
-(application.)390 1861 y Fi(STRINGPREP)p 1010 1861 V
-40 w(UNKNO)m(WN)p 1563 1861 V 42 w(PR)m(OFILE:)j Fu(The)f(supplied)g
-(pro\014le)g(name)h(w)m(as)g(not)g(kno)m(wn)390 1971
-y(to)c(the)g(library)-8 b(.)390 2122 y Fi(STRINGPREP)p
-1010 2122 V 40 w(NFK)m(C)p 1312 2122 V 41 w(F)e(AILED:)30
-b Fu(The)g(Unico)s(de)h(NFK)m(C)g(op)s(eration)g(failed.)43
-b(This)30 b(usually)390 2231 y(indicate)h(an)g(in)m(ternal)g(error)f
-(in)g(the)g(library)-8 b(.)390 2382 y Fi(STRINGPREP)p
-1010 2382 V 40 w(MALLOC)p 1449 2382 V 39 w(ERR)m(OR:)31
-b Fu(The)e Fo(malloc\(\))f Fu(w)m(as)i(out)g(of)g(memory)-8
-b(.)41 b(This)29 b(is)h(usu-)390 2492 y(ally)h(a)g(fatal)h(error.)390
-2642 y Fi(Return)d(v)-5 b(alue:)40 b Fu(Returns)29 b(a)g(p)s(oin)m(ter)
-h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
-(descrip-)390 2752 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
-(co)s(de)h Fo(rc)p Fu(.)150 3009 y Ft(4.6)68 b(Stringprep)45
-b(Pro\014le)g(Macros)3350 3234 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(stringprep_nameprep_n)q(o_un)q(ass)q(ign)q(ed)f
-Fl(\()p Fk(c)m(har)31 b(*)g Fj(in)p Fk(,)g(in)m(t)g Fj(maxlen)p
-Fl(\))390 3344 y Fk(in)p Fu(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
-(string)f(to)h(prepare.)390 3495 y Fk(maxlen)p Fu(:)41
-b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
-b(.)390 3645 y(Prepare)31 b(the)g(input)f(UTF-8)i(string)f(according)h
-(to)g(the)f(nameprep)f(pro\014le.)43 b(The)30 b(Allo)m(wUnas-)390
-3755 y(signed)j(\015ag)g(is)g(false,)h(use)f Fo(stringprep_nameprep)28
-b Fu(for)k(true)h(Allo)m(wUnassigned.)50 b(Returns)32
-b(0)390 3865 y(i\013)f(successful,)f(or)g(an)h(error)f(co)s(de.)3350
-4082 y([F)-8 b(unction])-3599 b Fm(int)53 b(stringprep_iscsi)e
-Fl(\()p Fk(c)m(har)31 b(*)f Fj(in)p Fk(,)i(in)m(t)e Fj(maxlen)p
-Fl(\))390 4191 y Fk(in)p Fu(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
-(string)f(to)h(prepare.)390 4342 y Fk(maxlen)p Fu(:)41
-b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
-b(.)390 4493 y(Prepare)32 b(the)g(input)e(UTF-8)j(string)f(according)h
-(to)f(the)g(draft)f(iSCSI)g(stringprep)g(pro\014le.)44
-b(Re-)390 4602 y(turns)29 b(0)i(i\013)f(successful,)h(or)f(an)g(error)g
-(co)s(de.)3350 4819 y([F)-8 b(unction])-3599 b Fm(int)53
-b(stringprep_plain)e Fl(\()p Fk(c)m(har)31 b(*)f Fj(in)p
-Fk(,)i(in)m(t)e Fj(maxlen)p Fl(\))390 4929 y Fk(in)p
-Fu(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h(prepare.)390
-5080 y Fk(maxlen)p Fu(:)41 b(maxim)m(um)30 b(length)h(of)g
-(input/output)e(arra)m(y)-8 b(.)390 5230 y(Prepare)29
-b(the)g(input)f(UTF-8)i(string)f(according)h(to)g(the)f(draft)g(SASL)f
-(ANONYMOUS)h(pro\014le.)390 5340 y(Returns)g(0)i(i\013)g(successful,)f
-(or)h(an)f(error)g(co)s(de.)p eop end
-%%Page: 21 26
-TeXDict begin 21 25 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Stringprep)29 b(F)-8 b(unctions)2209 b(21)3350 299
-y([F)-8 b(unction])-3599 b Fm(int)53 b(stringprep_xmpp_nodep)q(rep)f
-Fl(\()p Fk(c)m(har)31 b(*)g Fj(in)p Fk(,)g(in)m(t)g Fj(maxlen)p
-Fl(\))390 408 y Fk(in)p Fu(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
-(string)f(to)h(prepare.)390 543 y Fk(maxlen)p Fu(:)41
-b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
-b(.)390 677 y(Prepare)29 b(the)g(input)f(UTF-8)h(string)g(according)h
-(to)f(the)g(draft)g(XMPP)g(no)s(de)f(iden)m(ti\014er)h(pro\014le.)390
-787 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f(error)g(co)s(de.)
-3350 971 y([F)-8 b(unction])-3599 b Fm(int)53 b(stringprep_xmpp_resou)q
-(rcep)q(rep)f Fl(\()p Fk(c)m(har)31 b(*)g Fj(in)p Fk(,)g(in)m(t)g
-Fj(maxlen)p Fl(\))390 1081 y Fk(in)p Fu(:)40 b(input/ouput)30
-b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 1215 y
-Fk(maxlen)p Fu(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
-(arra)m(y)-8 b(.)390 1350 y(Prepare)44 b(the)g(input)f(UTF-8)i(string)f
-(according)h(to)g(the)f(draft)f(XMPP)i(resource)f(iden)m(ti\014er)390
-1460 y(pro\014le.)c(Returns)30 b(0)h(i\013)f(successful,)h(or)f(an)g
-(error)g(co)s(de.)p eop end
-%%Page: 22 27
-TeXDict begin 22 26 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(22)150 299
-y Fr(5)80 b(Pun)l(yco)t(de)53 b(F)-13 b(unctions)150
-531 y Fu(Pun)m(yco)s(de)31 b(is)h(a)g(simple)g(and)f(e\016cien)m(t)j
-(transfer)d(enco)s(ding)h(syn)m(tax)g(designed)g(for)g(use)f(with)h(In)
-m(terna-)150 641 y(tionalized)d(Domain)f(Names)g(in)f(Applications.)41
-b(It)27 b(uniquely)g(and)g(rev)m(ersibly)g(transforms)g(a)h(Unico)s(de)
-150 750 y(string)33 b(in)m(to)h(an)e(ASCI)s(I)g(string.)48
-b(ASCI)s(I)31 b(c)m(haracters)j(in)f(the)g(Unico)s(de)g(string)g(are)g
-(represen)m(ted)g(liter-)150 860 y(ally)-8 b(,)27 b(and)c(non-ASCI)s(I)
-f(c)m(haracters)j(are)g(represen)m(ted)e(b)m(y)h(ASCI)s(I)f(c)m
-(haracters)i(that)f(are)h(allo)m(w)m(ed)g(in)f(host)150
-970 y(name)33 b(lab)s(els)g(\(letters,)i(digits,)g(and)d(h)m(yphens\).)
-47 b(A)33 b(general)h(algorithm)g(called)g(Bo)s(otstring)g(allo)m(ws)h
-(a)150 1079 y(string)i(of)h(basic)f(co)s(de)h(p)s(oin)m(ts)f(to)h
-(uniquely)e(represen)m(t)i(an)m(y)f(string)g(of)h(co)s(de)f(p)s(oin)m
-(ts)g(dra)m(wn)g(from)g(a)150 1189 y(larger)i(set.)65
-b(Pun)m(yco)s(de)38 b(is)g(an)g(instance)h(of)f(Bo)s(otstring)i(that)e
-(uses)g(particular)h(parameter)f(v)-5 b(alues,)150 1298
-y(appropriate)30 b(for)h(IDNA.)150 1530 y Ft(5.1)68 b(Header)46
-b(\014le)f Fh(punycode.h)150 1690 y Fu(T)-8 b(o)36 b(use)g(the)g
-(functions)g(explained)g(in)g(this)g(c)m(hapter,)i(y)m(ou)f(need)e(to)i
-(include)f(the)g(\014le)g(`)p Fo(punycode.h)p Fu(')150
-1799 y(using:)390 1933 y Fo(#include)46 b(<punycode.h>)150
-2165 y Ft(5.2)68 b(Unico)t(de)45 b(Co)t(de)g(P)l(oin)l(t)h(Data)g(T)l
-(yp)t(e)150 2325 y Fu(The)28 b(pun)m(yco)s(de)g(function)h(uses)f(a)h
-(sp)s(ecial)g(t)m(yp)s(e)g(to)h(denote)f(Unico)s(de)g(co)s(de)g(p)s
-(oin)m(ts.)40 b(It)29 b(is)g(guaran)m(teed)150 2434 y(to)i(alw)m(a)m
-(ys)h(b)s(e)e(a)h(32)g(bit)f(unsigned)f(in)m(teger.)2511
-2617 y([Pun)m(yco)s(de)i(Unico)s(de)f(co)s(de)h(p)s(oin)m(t])-3600
-b Fm(uint32_t)55 b(punycode_uint)390 2727 y Fu(A)30 b(unsigned)g(in)m
-(teger)i(that)f(hold)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)150
-2959 y Ft(5.3)68 b(Core)46 b(F)-11 b(unctions)150 3118
-y Fu(Note)45 b(that)g(the)f(curren)m(t)f(implemen)m(tation)j(will)e
-(fail)g(if)g(the)g Fo(input_length)d Fu(exceed)j(4294967295)150
-3228 y(\(the)37 b(size)g(of)f Fo(punycode_uint)p Fu(\).)55
-b(This)35 b(restriction)j(ma)m(y)e(b)s(e)g(remo)m(v)m(ed)h(in)f(the)g
-(future.)58 b(Mean)m(while)150 3337 y(applications)39
-b(are)f(encouraged)g(to)h(not)f(dep)s(end)e(on)h(this)h(problem,)h(and)
-e(use)g Fo(sizeof)f Fu(to)j(initialize)150 3447 y Fo(input_length)27
-b Fu(and)j Fo(output_length)p Fu(.)275 3581 y(The)f(functions)h(pro)m
-(vided)g(are)h(the)g(follo)m(wing)g(t)m(w)m(o)h(en)m(try)f(p)s(oin)m
-(ts:)150 3780 y Fn(pun)m(yco)s(de)p 668 3780 37 5 v 54
-w(enco)s(de)3350 3976 y Fu([F)-8 b(unction])-3599 b Fm(int)53
-b(punycode_encode)d Fl(\()p Fk(size)p 1371 3976 28 4
-v 41 w(t)31 b Fj(input_length)p Fk(,)j(const)d(pun)m(yco)s(de)p
-2776 3976 V 39 w(uin)m(t)g Fg([])565 4085 y Fj(input)p
-Fk(,)h(const)f(unsigned)e(c)m(har)i Fg([])f Fj(case_flags)p
-Fk(,)k(size)p 2511 4085 V 41 w(t)c(*)h Fj(output_length)p
-Fk(,)k(c)m(har)30 b Fg([])565 4195 y Fj(output)p Fl(\))390
-4305 y Fk(input)p 609 4305 V 39 w(length)p Fu(:)40 b(The)28
-b(n)m(um)m(b)s(er)g(of)g(co)s(de)h(p)s(oin)m(ts)g(in)f(the)h
-Fo(input)e Fu(arra)m(y)i(and)f(the)h(n)m(um)m(b)s(er)e(of)i(\015ags)390
-4414 y(in)h(the)h Fo(case_flags)c Fu(arra)m(y)-8 b(.)390
-4548 y Fk(input)r Fu(:)66 b(An)43 b(arra)m(y)h(of)f(co)s(de)h(p)s(oin)m
-(ts.)80 b(They)43 b(are)h(presumed)e(to)i(b)s(e)f(Unico)s(de)g(co)s(de)
-h(p)s(oin)m(ts,)390 4658 y(but)29 b(that)i(is)f(not)g(strictly)h
-(REQUIRED.)f(The)f(arra)m(y)i(con)m(tains)g(co)s(de)f(p)s(oin)m(ts,)g
-(not)g(co)s(de)g(units.)390 4767 y(UTF-16)g(uses)e(co)s(de)h(units)g
-(D800)h(through)e(DFFF)i(to)g(refer)f(to)g(co)s(de)g(p)s(oin)m(ts)g
-(10000..10FFFF.)390 4877 y(The)37 b(co)s(de)h(p)s(oin)m(ts)g
-(D800..DFFF)k(do)37 b(not)i(o)s(ccur)e(in)h(an)m(y)g(v)-5
-b(alid)38 b(Unico)s(de)g(string.)63 b(The)38 b(co)s(de)390
-4987 y(p)s(oin)m(ts)26 b(that)h(can)f(o)s(ccur)g(in)g(Unico)s(de)g
-(strings)g(\(0..D7FF)i(and)e(E000..10FFFF\))k(are)d(also)g(called)390
-5096 y(Unico)s(de)k(scalar)g(v)-5 b(alues.)390 5230 y
-Fk(case)p 557 5230 V 41 w(\015ags)t Fu(:)41 b(A)31 b
-Fo(NULL)f Fu(p)s(oin)m(ter)g(or)h(an)g(arra)m(y)g(of)g(b)s(o)s(olean)f
-(v)-5 b(alues)31 b(parallel)h(to)g(the)f Fo(input)e Fu(arra)m(y)-8
-b(.)390 5340 y(Nonzero)31 b(\(true,)g(\015agged\))h(suggests)f(that)g
-(the)f(corresp)s(onding)g(Unico)s(de)g(c)m(haracter)i(b)s(e)e(forced)p
-eop end
-%%Page: 23 28
-TeXDict begin 23 27 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(23)390 299
-y(to)39 b(upp)s(ercase)e(after)i(b)s(eing)f(deco)s(ded)g(\(if)g(p)s
-(ossible\),)j(and)c(zero)i(\(false,)j(un\015agged\))c(suggests)390
-408 y(that)f(it)h(b)s(e)e(forced)h(to)g(lo)m(w)m(ercase)i(\(if)e(p)s
-(ossible\).)60 b(ASCI)s(I)35 b(co)s(de)i(p)s(oin)m(ts)g(\(0..7F\))i
-(are)e(enco)s(ded)390 518 y(literally)-8 b(,)33 b(except)f(that)g(ASCI)
-s(I)d(letters)j(are)f(forced)g(to)g(upp)s(ercase)f(or)h(lo)m(w)m
-(ercase)i(according)f(to)390 628 y(the)e(corresp)s(onding)f(case)i
-(\015ags.)41 b(If)29 b Fo(case_flags)e Fu(is)j(a)g Fo(NULL)f
-Fu(p)s(oin)m(ter)h(then)f(ASCI)s(I)g(letters)i(are)390
-737 y(left)g(as)g(they)f(are,)h(and)f(other)h(co)s(de)f(p)s(oin)m(ts)g
-(are)h(treated)h(as)e(un\015agged.)390 871 y Fk(output)p
-664 871 28 4 v 40 w(length)p Fu(:)40 b(The)28 b(caller)i(passes)f(in)f
-(the)h(maxim)m(um)g(n)m(um)m(b)s(er)f(of)g(ASCI)s(I)g(co)s(de)h(p)s
-(oin)m(ts)f(that)390 981 y(it)k(can)g(receiv)m(e.)45
-b(On)31 b(successful)g(return)f(it)i(will)g(con)m(tain)g(the)g(n)m(um)m
-(b)s(er)e(of)i(ASCI)s(I)d(co)s(de)j(p)s(oin)m(ts)390
-1091 y(actually)g(output.)390 1225 y Fk(output)r Fu(:)49
-b(An)34 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts.)53
-b(It)35 b(is)f(*not*)i(n)m(ull-terminated;)i(it)d(will)g(con)m(tain)390
-1334 y(zeros)29 b(if)f(and)g(only)g(if)g(the)g Fo(input)f
-Fu(con)m(tains)i(zeros.)41 b(\(Of)28 b(course)g(the)h(caller)g(can)g
-(lea)m(v)m(e)h(ro)s(om)e(for)390 1444 y(a)j(terminator)g(and)f(add)f
-(one)i(if)f(needed.\))390 1578 y(Con)m(v)m(erts)k(a)g(sequence)f(of)h
-(co)s(de)f(p)s(oin)m(ts)g(\(presumed)f(to)i(b)s(e)f(Unico)s(de)g(co)s
-(de)h(p)s(oin)m(ts\))f(to)h(Pun)m(y-)390 1688 y(co)s(de.)390
-1822 y Fi(Return)g(v)-5 b(alue:)49 b Fu(The)33 b(return)g(v)-5
-b(alue)35 b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fo(Punycode_status)30
-b Fu(v)-5 b(alues)34 b(de\014ned)390 1931 y(ab)s(o)m(v)m(e)41
-b(except)g Fo(PUNYCODE_BAD_INPUT)p Fu(.)65 b(If)39 b(not)h
-Fo(PUNYCODE_SUCCESS)p Fu(,)e(then)i Fo(output_size)390
-2041 y Fu(and)30 b Fo(output)e Fu(migh)m(t)k(con)m(tain)f(garbage.)150
-2239 y Fn(pun)m(yco)s(de)p 668 2239 37 5 v 54 w(deco)s(de)3350
-2435 y Fu([F)-8 b(unction])-3599 b Fm(int)53 b(punycode_decode)d
-Fl(\()p Fk(size)p 1371 2435 28 4 v 41 w(t)29 b Fj(input_length)p
-Fk(,)j(const)d(c)m(har)f Fg([])g Fj(input)p Fk(,)i(size)p
-3130 2435 V 41 w(t)565 2545 y(*)h Fj(output_length)p
-Fk(,)j(pun)m(yco)s(de)p 1759 2545 V 40 w(uin)m(t)c Fg([])g
-Fj(output)p Fk(,)i(unsigned)e(c)m(har)h Fg([])f Fj(case_flags)p
-Fl(\))390 2655 y Fk(input)p 609 2655 V 39 w(length)p
-Fu(:)41 b(The)30 b(n)m(um)m(b)s(er)f(of)i(ASCI)s(I)e(co)s(de)h(p)s(oin)
-m(ts)g(in)g(the)h Fo(input)e Fu(arra)m(y)-8 b(.)390 2789
-y Fk(input)r Fu(:)40 b(An)30 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s
-(oin)m(ts)f(\(0..7F\).)390 2923 y Fk(output)p 664 2923
-V 40 w(length)p Fu(:)42 b(The)30 b(caller)i(passes)f(in)g(the)g(maxim)m
-(um)f(n)m(um)m(b)s(er)g(of)h(co)s(de)g(p)s(oin)m(ts)g(that)g(it)h(can)
-390 3032 y(receiv)m(e)41 b(in)m(to)e(the)g Fo(output)e
-Fu(arra)m(y)i(\(whic)m(h)g(is)g(also)g(the)g(maxim)m(um)g(n)m(um)m(b)s
-(er)e(of)i(\015ags)g(that)g(it)390 3142 y(can)h(receiv)m(e)i(in)m(to)f
-(the)f Fo(case_flags)d Fu(arra)m(y)-8 b(,)43 b(if)d Fo(case_flags)d
-Fu(is)j(not)g(a)g Fo(NULL)f Fu(p)s(oin)m(ter\).)70 b(On)390
-3252 y(successful)39 b(return)e(it)j(will)f(con)m(tain)h(the)f(n)m(um)m
-(b)s(er)f(of)h(co)s(de)g(p)s(oin)m(ts)g(actually)h(output)f(\(whic)m(h)
-390 3361 y(is)c(also)h(the)f(n)m(um)m(b)s(er)e(of)i(\015ags)g(actually)
-i(output,)e(if)g(case)p 2423 3361 V 41 w(\015ags)g(is)g(not)g(a)g(n)m
-(ull)g(p)s(oin)m(ter\).)54 b(The)390 3471 y(deco)s(der)31
-b(will)h(nev)m(er)f(need)g(to)h(output)f(more)h(co)s(de)f(p)s(oin)m(ts)
-g(than)g(the)h(n)m(um)m(b)s(er)e(of)h(ASCI)s(I)f(co)s(de)390
-3580 y(p)s(oin)m(ts)g(in)g(the)g(input,)g(b)s(ecause)g(of)g(the)h(w)m
-(a)m(y)g(the)f(enco)s(ding)g(is)g(de\014ned.)40 b(The)30
-b(n)m(um)m(b)s(er)e(of)j(co)s(de)390 3690 y(p)s(oin)m(ts)d(output)g
-(cannot)g(exceed)h(the)g(maxim)m(um)e(p)s(ossible)h(v)-5
-b(alue)29 b(of)f(a)g(pun)m(yco)s(de)p 3246 3690 V 39
-w(uin)m(t,)h(ev)m(en)g(if)390 3800 y(the)i(supplied)e
-Fo(output_length)d Fu(is)31 b(greater)g(than)g(that.)390
-3934 y Fk(output)r Fu(:)40 b(An)28 b(arra)m(y)h(of)g(co)s(de)g(p)s(oin)
-m(ts)g(lik)m(e)h(the)f(input)f(argumen)m(t)h(of)g Fo
-(punycode_encode\(\))24 b Fu(\(see)390 4043 y(ab)s(o)m(v)m(e\).)390
-4177 y Fk(case)p 557 4177 V 41 w(\015ags)t Fu(:)49 b(A)35
-b Fo(NULL)e Fu(p)s(oin)m(ter)h(\(if)h(the)g(\015ags)f(are)h(not)g
-(needed)f(b)m(y)g(the)h(caller\))h(or)e(an)h(arra)m(y)g(of)390
-4287 y(b)s(o)s(olean)26 b(v)-5 b(alues)25 b(parallel)i(to)g(the)e
-Fo(output)f Fu(arra)m(y)-8 b(.)40 b(Nonzero)27 b(\(true,)g(\015agged\))
-f(suggests)h(that)f(the)390 4397 y(corresp)s(onding)37
-b(Unico)s(de)h(c)m(haracter)h(b)s(e)e(forced)h(to)g(upp)s(ercase)f(b)m
-(y)h(the)g(caller)h(\(if)f(p)s(ossible\),)390 4506 y(and)26
-b(zero)h(\(false,)h(un\015agged\))e(suggests)h(that)g(it)f(b)s(e)g
-(forced)g(to)h(lo)m(w)m(ercase)i(\(if)d(p)s(ossible\).)39
-b(ASCI)s(I)390 4616 y(co)s(de)33 b(p)s(oin)m(ts)f(\(0..7F\))j(are)e
-(output)g(already)g(in)f(the)h(prop)s(er)e(case,)k(but)d(their)h
-(\015ags)f(will)h(b)s(e)f(set)390 4725 y(appropriately)f(so)f(that)h
-(applying)f(the)h(\015ags)g(w)m(ould)f(b)s(e)f(harmless.)390
-4859 y(Con)m(v)m(erts)47 b(Pun)m(yco)s(de)g(to)g(a)h(sequence)f(of)g
-(co)s(de)g(p)s(oin)m(ts)f(\(presumed)g(to)i(b)s(e)e(Unico)s(de)h(co)s
-(de)390 4969 y(p)s(oin)m(ts\).)390 5103 y Fi(Return)34
-b(v)-5 b(alue:)49 b Fu(The)33 b(return)g(v)-5 b(alue)35
-b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fo(Punycode_status)30
-b Fu(v)-5 b(alues)34 b(de\014ned)390 5213 y(ab)s(o)m(v)m(e.)74
-b(If)41 b(not)h Fo(PUNYCODE_SUCCESS)p Fu(,)d(then)i Fo(output_length)p
-Fu(,)g Fo(output)p Fu(,)h(and)f Fo(case_flags)390 5322
-y Fu(migh)m(t)31 b(con)m(tain)h(garbage.)p eop end
-%%Page: 24 29
-TeXDict begin 24 28 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(24)150 299
-y Ft(5.4)68 b(Error)45 b(Handling)150 523 y Fn(pun)m(yco)s(de)p
-668 523 37 5 v 54 w(strerror)3350 720 y Fu([F)-8 b(unction])-3599
-b Fm(const)54 b(char)f(*)g(punycode_strerror)e Fl(\()p
-Fk(Pun)m(yco)s(de)p 2194 720 28 4 v 40 w(status)30 b
-Fj(rc)p Fl(\))390 829 y Fk(rc)6 b Fu(:)40 b(an)30 b Fo(Punycode_status)
-d Fu(return)i(co)s(de.)390 964 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
-(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
-b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 1073
-y(diagnostic)e(message)f(to)g(the)g(user.)390 1208 y
-Fi(PUNYCODE)p 932 1208 28 5 v 39 w(SUCCESS:)k Fu(Successful)j(op)s
-(eration.)63 b(This)37 b(v)-5 b(alue)38 b(is)g(guaran)m(teed)h(to)f
-(alw)m(a)m(ys)390 1318 y(b)s(e)33 b(zero,)j(the)e(remaining)g(ones)g
-(are)g(only)g(guaran)m(teed)h(to)g(hold)e(non-zero)i(v)-5
-b(alues,)35 b(for)e(logical)390 1427 y(comparison)e(purp)s(oses.)390
-1562 y Fi(PUNYCODE)p 932 1562 V 39 w(BAD)p 1175 1562
-V 39 w(INPUT:)g Fu(Input)e(is)i(in)m(v)-5 b(alid.)390
-1696 y Fi(PUNYCODE)p 932 1696 V 39 w(BIG)p 1143 1696
-V 40 w(OUTPUT:)31 b Fu(Output)f(w)m(ould)g(exceed)h(the)g(space)g(pro)m
-(vided.)390 1831 y Fi(PUNYCODE)p 932 1831 V 39 w(O)m(VERFLO)m(W:)g
-Fu(Input)e(needs)h(wider)g(in)m(tegers)h(to)g(pro)s(cess.)390
-1965 y Fi(Return)e(v)-5 b(alue:)40 b Fu(Returns)29 b(a)g(p)s(oin)m(ter)
-h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
-(descrip-)390 2075 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
-(co)s(de)h Fo(rc)p Fu(.)p eop end
-%%Page: 25 30
-TeXDict begin 25 29 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(25)150 299 y Fr(6)80
-b(IDNA)54 b(F)-13 b(unctions)150 580 y Fu(Un)m(til)30
-b(no)m(w,)g(there)f(has)g(b)s(een)f(no)h(standard)f(metho)s(d)h(for)g
-(domain)g(names)g(to)g(use)g(c)m(haracters)i(outside)150
-690 y(the)26 b(ASCI)s(I)f(rep)s(ertoire.)39 b(The)26
-b(IDNA)h(do)s(cumen)m(t)f(de\014nes)f(in)m(ternationalized)k(domain)d
-(names)g(\(IDNs\))150 799 y(and)d(a)g(mec)m(hanism)h(called)g(IDNA)g
-(for)f(handling)f(them)h(in)g(a)h(standard)e(fashion.)38
-b(IDNs)24 b(use)e(c)m(haracters)150 909 y(dra)m(wn)28
-b(from)h(a)h(large)g(rep)s(ertoire)f(\(Unico)s(de\),)i(but)d(IDNA)i
-(allo)m(ws)g(the)g(non-ASCI)s(I)d(c)m(haracters)k(to)f(b)s(e)150
-1018 y(represen)m(ted)e(using)f(only)h(the)g(ASCI)s(I)e(c)m(haracters)k
-(already)e(allo)m(w)m(ed)i(in)d(so-called)j(host)e(names)g(to)s(da)m(y)
--8 b(.)150 1128 y(This)26 b(bac)m(kw)m(ard-compatible)i(represen)m
-(tation)f(is)g(required)e(in)h(existing)h(proto)s(cols)h(lik)m(e)f
-(DNS,)g(so)f(that)150 1238 y(IDNs)f(can)h(b)s(e)e(in)m(tro)s(duced)h
-(with)g(no)g(c)m(hanges)h(to)g(the)f(existing)h(infrastructure.)38
-b(IDNA)26 b(is)f(only)g(mean)m(t)150 1347 y(for)30 b(pro)s(cessing)g
-(domain)h(names,)f(not)h(free)f(text.)150 1603 y Ft(6.1)68
-b(Header)46 b(\014le)f Fh(idna.h)150 1763 y Fu(T)-8 b(o)31
-b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
-e(need)g(to)i(include)e(the)g(\014le)h(`)p Fo(idna.h)p
-Fu(')e(using:)390 1913 y Fo(#include)46 b(<idna.h>)150
-2169 y Ft(6.2)68 b(Con)l(trol)46 b(Flags)150 2328 y Fu(The)32
-b(IDNA)h Fo(flags)e Fu(parameter)j(can)f(tak)m(e)h(on)e(the)h(follo)m
-(wing)h(v)-5 b(alues,)34 b(or)f(a)g(bit-wise)g(inclusiv)m(e)g(or)g(of)
-150 2438 y(an)m(y)e(subset)f(of)g(the)h(parameters:)3211
-2653 y([Return)e(co)s(de])-3599 b Fm(Idna_flags)55 b
-(IDNA_ALLOW_UNASSIGNED)390 2763 y Fu(Allo)m(w)32 b(unassigned)d(Unico)s
-(de)i(co)s(de)f(p)s(oin)m(ts.)3211 2979 y([Return)f(co)s(de])-3599
-b Fm(Idna_flags)55 b(IDNA_USE_STD3_ASCII_R)q(ULE)q(S)390
-3088 y Fu(Chec)m(k)31 b(output)f(to)h(mak)m(e)g(sure)f(it)h(is)f(a)h
-(STD3)f(conforming)h(host)f(name.)150 3344 y Ft(6.3)68
-b(Pre\014x)45 b(String)3449 3569 y Fu([Macro])-3598 b
-Fm(#define)54 b(IDNA_ACE_PREFIX)390 3679 y Fu(String)30
-b(with)g(the)h(o\016cial)g(IDNA)g(pre\014x,)f Fo(xn--)p
-Fu(.)150 3935 y Ft(6.4)68 b(Core)46 b(F)-11 b(unctions)150
-4094 y Fu(The)22 b(idea)g(b)s(ehind)f(the)h(IDNA)h(function)f(names)g
-(are)g(as)h(follo)m(ws:)38 b(the)22 b Fo(idna_to_ascii_4i)c
-Fu(and)j Fo(idna_)150 4204 y(to_unicode_44i)26 b Fu(functions)j(are)h
-(the)g(core)g(IDNA)h(primitiv)m(es.)41 b(The)29 b Fo(4)g
-Fu(indicate)i(that)f(the)g(function)150 4313 y(tak)m(es)e(UCS-4)f
-(strings)g(\(i.e.,)i(Unico)s(de)e(co)s(de)g(p)s(oin)m(ts)f(enco)s(ded)h
-(in)f(a)i(32-bit)g(unsigned)d(in)m(teger)j(t)m(yp)s(e\))g(of)150
-4423 y(the)k(sp)s(eci\014ed)g(length.)46 b(The)32 b Fo(i)f
-Fu(indicate)i(that)g(the)f(data)h(is)f(written)g(\\inline")i(in)m(to)f
-(the)f(bu\013er.)45 b(This)150 4532 y(means)33 b(the)g(caller)h(is)f
-(resp)s(onsible)f(for)g(allo)s(cating)k(\(and)c(de-allo)s(cating\))k
-(the)d(string,)h(and)e(pro)m(viding)150 4642 y(the)40
-b(library)f(with)h(the)g(allo)s(cated)i(length)e(of)g(the)g(string.)69
-b(The)40 b(output)f(length)h(is)g(written)g(in)g(the)150
-4751 y(output)33 b(length)h(v)-5 b(ariable.)51 b(The)33
-b(remaining)h(functions)f(all)i(con)m(tain)f(the)g Fo(z)f
-Fu(indicator,)j(whic)m(h)d(means)150 4861 y(the)h(strings)g(are)g(zero)
-h(terminated.)52 b(All)34 b(output)g(strings)g(are)g(allo)s(cated)i(b)m
-(y)e(the)g(library)-8 b(,)35 b(and)e(m)m(ust)150 4971
-y(b)s(e)i(de-allo)s(cated)j(b)m(y)e(the)g(caller.)58
-b(The)35 b Fo(4)h Fu(indicator)g(again)h(means)f(that)g(the)g(string)g
-(is)f(UCS-4,)j(the)150 5080 y Fo(8)d Fu(means)h(the)f(strings)h(are)g
-(UTF-8)g(and)f(the)h Fo(l)f Fu(indicator)h(means)f(the)h(strings)f(are)
-h(enco)s(ded)g(in)f(the)150 5190 y(enco)s(ding)30 b(used)g(b)m(y)g(the)
-h(curren)m(t)f(lo)s(cale.)275 5340 y(The)f(functions)h(pro)m(vided)g
-(are)h(the)g(follo)m(wing)g(en)m(try)g(p)s(oin)m(ts:)p
-eop end
-%%Page: 26 31
-TeXDict begin 26 30 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(26)150 299 y Fn(idna)p
-389 299 37 5 v 54 w(to)p 552 299 V 54 w(ascii)p 837 299
-V 54 w(4i)3350 487 y Fu([F)-8 b(unction])-3599 b Fm(int)53
-b(idna_to_ascii_4i)e Fl(\()p Fk(const)31 b(uin)m(t32)p
-1770 487 28 4 v 41 w(t)f(*)h Fj(in)p Fk(,)g(size)p 2253
-487 V 41 w(t)g Fj(inlen)p Fk(,)h(c)m(har)f(*)f Fj(out)p
-Fk(,)565 597 y(in)m(t)h Fj(flags)p Fl(\))390 706 y Fk(in)p
-Fu(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
-(ts.)390 837 y Fk(inlen)p Fu(:)41 b(length)30 b(of)h(input)e(arra)m(y)i
-(with)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 967
-y Fk(out)r Fu(:)54 b(output)37 b(zero)h(terminated)g(string)f(that)g(m)
-m(ust)g(ha)m(v)m(e)i(ro)s(om)d(for)h(at)h(least)h(63)e(c)m(haracters)
-390 1076 y(plus)29 b(the)i(terminating)g(zero.)390 1207
-y Fk(\015ags)t Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5
-b(alue,)63 b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56
-b Fo(IDNA_USE_STD3_)390 1316 y(ASCII_RULES)p Fu(.)390
-1446 y(The)34 b(T)-8 b(oASCI)s(I)33 b(op)s(eration)i(tak)m(es)h(a)f
-(sequence)g(of)f(Unico)s(de)h(co)s(de)g(p)s(oin)m(ts)f(that)h(mak)m(e)g
-(up)f(one)390 1556 y(domain)k(lab)s(el)h(and)e(transforms)h(it)g(in)m
-(to)i(a)e(sequence)h(of)f(co)s(de)h(p)s(oin)m(ts)f(in)g(the)g(ASCI)s(I)
-f(range)390 1666 y(\(0..7F\).)42 b(If)c(T)-8 b(oASCI)s(I)38
-b(succeeds,)k(the)d(original)i(sequence)e(and)g(the)g(resulting)g
-(sequence)h(are)390 1775 y(equiv)-5 b(alen)m(t)32 b(lab)s(els.)390
-1905 y(It)26 b(is)f(imp)s(ortan)m(t)h(to)g(note)h(that)f(the)g(T)-8
-b(oASCI)s(I)24 b(op)s(eration)i(can)g(fail.)40 b(T)-8
-b(oASCI)s(I)24 b(fails)i(if)g(an)m(y)g(step)390 2015
-y(of)j(it)h(fails.)41 b(If)29 b(an)m(y)h(step)f(of)g(the)h(T)-8
-b(oASCI)s(I)28 b(op)s(eration)i(fails)g(on)f(an)m(y)g(lab)s(el)h(in)f
-(a)g(domain)h(name,)390 2125 y(that)k(domain)f(name)h(MUST)f(NOT)g(b)s
-(e)g(used)f(as)i(an)f(in)m(ternationalized)j(domain)d(name.)50
-b(The)390 2234 y(metho)s(d)30 b(for)g(deadling)h(with)f(this)g(failure)
-g(is)h(application-sp)s(eci\014c.)390 2364 y(The)d(inputs)f(to)j(T)-8
-b(oASCI)s(I)27 b(are)i(a)g(sequence)g(of)f(co)s(de)h(p)s(oin)m(ts,)g
-(the)f(Allo)m(wUnassigned)i(\015ag,)g(and)390 2474 y(the)f(UseSTD3ASCI)
-s(IRules)f(\015ag.)41 b(The)29 b(output)g(of)g(T)-8 b(oASCI)s(I)28
-b(is)h(either)h(a)g(sequence)f(of)g(ASCI)s(I)390 2584
-y(co)s(de)i(p)s(oin)m(ts)f(or)g(a)h(failure)g(condition.)390
-2714 y(T)-8 b(oASCI)s(I)36 b(nev)m(er)h(alters)g(a)g(sequence)g(of)g
-(co)s(de)g(p)s(oin)m(ts)g(that)g(are)g(all)h(in)e(the)h(ASCI)s(I)e
-(range)i(to)390 2823 y(b)s(egin)32 b(with)g(\(although)h(it)f(could)g
-(fail\).)48 b(Applying)31 b(the)i(T)-8 b(oASCI)s(I)31
-b(op)s(eration)i(m)m(ultiple)f(times)390 2933 y(has)e(exactly)i(the)f
-(same)g(e\013ect)g(as)g(applying)f(it)h(just)f(once.)390
-3063 y Fi(Return)g(v)-5 b(alue:)41 b Fu(Returns)30 b(0)g(on)h(success,)
-f(or)h(an)f Fo(Idna_rc)e Fu(error)i(co)s(de.)150 3254
-y Fn(idna)p 389 3254 37 5 v 54 w(to)p 552 3254 V 54 w(unico)s(de)p
-1019 3254 V 55 w(44i)3350 3442 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(idna_to_unicode_44i)e Fl(\()p Fk(const)32
-b(uin)m(t32)p 1927 3442 28 4 v 41 w(t)e(*)h Fj(in)p Fk(,)g(size)p
-2410 3442 V 41 w(t)g Fj(inlen)p Fk(,)h(uin)m(t32)p 3083
-3442 V 41 w(t)565 3552 y(*)f Fj(out)p Fk(,)g(size)p 1000
-3552 V 41 w(t)g(*)g Fj(outlen)p Fk(,)h(in)m(t)f Fj(flags)p
-Fl(\))390 3661 y Fk(in)p Fu(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s
-(de)g(co)s(de)g(p)s(oin)m(ts.)390 3791 y Fk(inlen)p Fu(:)41
-b(length)30 b(of)h(input)e(arra)m(y)i(with)f(unico)s(de)g(co)s(de)h(p)s
-(oin)m(ts.)390 3922 y Fk(out)r Fu(:)41 b(output)30 b(arra)m(y)h(with)f
-(unico)s(de)g(co)s(de)g(p)s(oin)m(ts.)390 4052 y Fk(outlen)p
-Fu(:)50 b(on)35 b(input,)g(maxim)m(um)g(size)h(of)f(output)f(arra)m(y)i
-(with)e(unico)s(de)h(co)s(de)g(p)s(oin)m(ts,)h(on)f(exit,)390
-4162 y(actual)d(size)f(of)f(output)g(arra)m(y)h(with)f(unico)s(de)g(co)
-s(de)h(p)s(oin)m(ts.)390 4292 y Fk(\015ags)t Fu(:)91
-b(an)56 b Fo(Idna_flags)d Fu(v)-5 b(alue,)63 b(e.g.,)g
-Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)390
-4401 y(ASCII_RULES)p Fu(.)390 4532 y(The)28 b(T)-8 b(oUnico)s(de)30
-b(op)s(eration)g(tak)m(es)g(a)f(sequence)h(of)f(Unico)s(de)g(co)s(de)g
-(p)s(oin)m(ts)g(that)h(mak)m(e)g(up)e(one)390 4641 y(domain)g(lab)s(el)
-h(and)e(returns)g(a)i(sequence)f(of)g(Unico)s(de)h(co)s(de)f(p)s(oin)m
-(ts.)40 b(If)28 b(the)g(input)f(sequence)i(is)390 4751
-y(a)35 b(lab)s(el)f(in)g(A)m(CE)h(form,)g(then)f(the)g(result)g(is)h
-(an)f(equiv)-5 b(alen)m(t)36 b(in)m(ternationalized)g(lab)s(el)f(that)g
-(is)390 4860 y(not)c(in)f(A)m(CE)g(form,)g(otherwise)h(the)g(original)g
-(sequence)g(is)f(returned)g(unaltered.)390 4991 y(T)-8
-b(oUnico)s(de)33 b(nev)m(er)f(fails.)46 b(If)31 b(an)m(y)h(step)g
-(fails,)h(then)f(the)g(original)h(input)e(sequence)h(is)g(returned)390
-5100 y(immediately)g(in)e(that)h(step.)390 5230 y(The)51
-b(Pun)m(yco)s(de)g(deco)s(der)g(can)h(nev)m(er)g(output)f(more)g(co)s
-(de)h(p)s(oin)m(ts)f(than)h(it)g(inputs,)k(but)390 5340
-y(Nameprep)27 b(can,)i(and)e(therefore)g(T)-8 b(oUnico)s(de)28
-b(can.)41 b(Note)28 b(that)g(the)g(n)m(um)m(b)s(er)e(of)i(o)s(ctets)g
-(needed)p eop end
-%%Page: 27 32
-TeXDict begin 27 31 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(27)390 299 y(to)32
-b(represen)m(t)g(a)g(sequence)g(of)g(co)s(de)g(p)s(oin)m(ts)f(dep)s
-(ends)f(on)i(the)g(particular)g(c)m(haracter)h(enco)s(ding)390
-408 y(used.)390 543 y(The)k(inputs)f(to)h(T)-8 b(oUnico)s(de)38
-b(are)g(a)f(sequence)g(of)h(co)s(de)f(p)s(oin)m(ts,)i(the)e(Allo)m
-(wUnassigned)h(\015ag,)390 653 y(and)29 b(the)g(UseSTD3ASCI)s(IRules)g
-(\015ag.)40 b(The)29 b(output)g(of)h(T)-8 b(oUnico)s(de)30
-b(is)f(alw)m(a)m(ys)i(a)f(sequence)g(of)390 763 y(Unico)s(de)h(co)s(de)
-f(p)s(oin)m(ts.)390 898 y Fi(Return)g(v)-5 b(alue:)40
-b Fu(Returns)29 b Fo(Idna_rc)f Fu(error)i(condition,)h(but)e(it)h(m)m
-(ust)g(only)g(b)s(e)g(used)f(for)g(debug-)390 1007 y(ging)37
-b(purp)s(oses.)58 b(The)36 b(output)g(bu\013er)f(is)i(alw)m(a)m(ys)h
-(guaran)m(teed)g(to)f(con)m(tain)h(the)f(correct)g(data)390
-1117 y(according)28 b(to)g(the)f(sp)s(eci\014cation)g(\(sans)g(mallo)s
-(c)h(induced)e(errors\).)39 b(NB!)28 b(This)e(means)h(that)h(y)m(ou)390
-1226 y(normally)e(ignore)h(the)f(return)f(co)s(de)h(from)f(this)h
-(function,)h(as)f(c)m(hec)m(king)h(it)g(means)f(breaking)g(the)390
-1336 y(standard.)150 1569 y Ft(6.5)68 b(Simpli\014ed)45
-b(T)-11 b(oASCI)t(I)44 b(In)l(terface)150 1793 y Fn(idna)p
-389 1793 37 5 v 54 w(to)p 552 1793 V 54 w(ascii)p 837
-1793 V 54 w(4z)3350 1991 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(idna_to_ascii_4z)e Fl(\()p Fk(const)31
-b(uin)m(t32)p 1770 1991 28 4 v 41 w(t)f(*)h Fj(input)p
-Fk(,)h(c)m(har)f(**)g Fj(output)p Fk(,)i(in)m(t)565 2100
-y Fj(flags)p Fl(\))390 2210 y Fk(input)r Fu(:)40 b(zero)31
-b(terminated)g(input)e(Unico)s(de)i(string.)390 2345
-y Fk(output)r Fu(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i
-(output)e(string.)390 2480 y Fk(\015ags)t Fu(:)91 b(an)56
-b Fo(Idna_flags)d Fu(v)-5 b(alue,)63 b(e.g.,)g Fo
-(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)390
-2589 y(ASCII_RULES)p Fu(.)390 2724 y(Con)m(v)m(ert)25
-b(UCS-4)g(domain)f(name)g(to)h(ASCI)s(I)e(string.)39
-b(The)23 b(domain)i(name)f(ma)m(y)h(con)m(tain)h(sev)m(eral)390
-2834 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41 b(The)30
-b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)e(the)h
-(caller.)390 2969 y Fi(Return)f(v)-5 b(alue:)41 b Fu(Returns)30
-b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f(error)g(co)s(de.)150
-3169 y Fn(idna)p 389 3169 37 5 v 54 w(to)p 552 3169 V
-54 w(ascii)p 837 3169 V 54 w(8z)3350 3366 y Fu([F)-8
-b(unction])-3599 b Fm(int)53 b(idna_to_ascii_8z)e Fl(\()p
-Fk(const)31 b(c)m(har)g(*)f Fj(input)p Fk(,)i(c)m(har)f(**)g
-Fj(output)p Fk(,)i(in)m(t)565 3476 y Fj(flags)p Fl(\))390
-3585 y Fk(input)r Fu(:)40 b(zero)31 b(terminated)g(input)e(UTF-8)i
-(string.)390 3720 y Fk(output)r Fu(:)40 b(p)s(oin)m(ter)31
-b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 3855
-y Fk(\015ags)t Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5
-b(alue,)63 b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56
-b Fo(IDNA_USE_STD3_)390 3965 y(ASCII_RULES)p Fu(.)390
-4100 y(Con)m(v)m(ert)24 b(UTF-8)h(domain)e(name)h(to)g(ASCI)s(I)e
-(string.)38 b(The)24 b(domain)f(name)h(ma)m(y)g(con)m(tain)h(sev)m
-(eral)390 4209 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41
-b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
-(y)e(the)h(caller.)390 4344 y Fi(Return)f(v)-5 b(alue:)41
-b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f(error)g(co)
-s(de.)150 4544 y Fn(idna)p 389 4544 V 54 w(to)p 552 4544
-V 54 w(ascii)p 837 4544 V 54 w(lz)3350 4741 y Fu([F)-8
-b(unction])-3599 b Fm(int)53 b(idna_to_ascii_lz)e Fl(\()p
-Fk(const)31 b(c)m(har)g(*)f Fj(input)p Fk(,)i(c)m(har)f(**)g
-Fj(output)p Fk(,)i(in)m(t)565 4851 y Fj(flags)p Fl(\))390
-4960 y Fk(input)r Fu(:)40 b(zero)31 b(terminated)g(input)e(string)i
-(enco)s(ded)f(in)g(the)g(curren)m(t)g(lo)s(cale's)j(c)m(haracter)f
-(set.)390 5095 y Fk(output)r Fu(:)40 b(p)s(oin)m(ter)31
-b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 5230
-y Fk(\015ags)t Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5
-b(alue,)63 b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56
-b Fo(IDNA_USE_STD3_)390 5340 y(ASCII_RULES)p Fu(.)p eop
-end
-%%Page: 28 33
-TeXDict begin 28 32 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(28)390 299 y(Con)m(v)m(ert)37
-b(domain)f(name)g(in)f(the)h(lo)s(cale's)i(enco)s(ding)e(to)h(ASCI)s(I)
-d(string.)58 b(The)35 b(domain)h(name)390 408 y(ma)m(y)27
-b(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f(dots.)39
-b(The)26 b(output)f(bu\013er)h(m)m(ust)g(b)s(e)f(deallo)s(cated)390
-518 y(b)m(y)30 b(the)h(caller.)390 651 y Fi(Return)f(v)-5
-b(alue:)41 b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f
-(error)g(co)s(de.)150 881 y Ft(6.6)68 b(Simpli\014ed)45
-b(T)-11 b(oUnico)t(de)45 b(In)l(terface)150 1104 y Fn(idna)p
-389 1104 37 5 v 54 w(to)p 552 1104 V 54 w(unico)s(de)p
-1019 1104 V 55 w(4z4z)3350 1298 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(idna_to_unicode_4z4z)f Fl(\()p Fk(const)31
-b(uin)m(t32)p 1979 1298 28 4 v 41 w(t)g(*)f Fj(input)p
-Fk(,)i(uin)m(t32)p 2727 1298 V 41 w(t)f(**)565 1408 y
-Fj(output)p Fk(,)h(in)m(t)f Fj(flags)p Fl(\))390 1517
-y Fk(input)r Fu(:)40 b(zero-terminated)32 b(Unico)s(de)e(string.)390
-1651 y Fk(output)r Fu(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
-(cated)i(output)e(Unico)s(de)h(string.)390 1784 y Fk(\015ags)t
-Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5 b(alue,)63
-b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)
-390 1893 y(ASCII_RULES)p Fu(.)390 2027 y(Con)m(v)m(ert)34
-b(p)s(ossibly)d(A)m(CE)i(enco)s(ded)g(domain)f(name)h(in)f(UCS-4)h
-(format)g(in)m(to)h(a)f(UCS-4)g(string.)390 2136 y(The)f(domain)g(name)
-g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
-(dots.)46 b(The)32 b(output)g(bu\013er)390 2246 y(m)m(ust)e(b)s(e)g
-(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 2379 y Fi(Return)g(v)-5
-b(alue:)41 b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f
-(error)g(co)s(de.)150 2576 y Fn(idna)p 389 2576 37 5
-v 54 w(to)p 552 2576 V 54 w(unico)s(de)p 1019 2576 V
-55 w(8z4z)3350 2770 y Fu([F)-8 b(unction])-3599 b Fm(int)53
-b(idna_to_unicode_8z4z)f Fl(\()p Fk(const)31 b(c)m(har)g(*)f
-Fj(input)p Fk(,)j(uin)m(t32)p 2572 2770 28 4 v 41 w(t)d(**)h
-Fj(output)p Fk(,)565 2879 y(in)m(t)g Fj(flags)p Fl(\))390
-2989 y Fk(input)r Fu(:)40 b(zero-terminated)32 b(UTF-8)f(string.)390
-3122 y Fk(output)r Fu(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
-(cated)i(output)e(Unico)s(de)h(string.)390 3255 y Fk(\015ags)t
-Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5 b(alue,)63
-b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)
-390 3365 y(ASCII_RULES)p Fu(.)390 3498 y(Con)m(v)m(ert)33
-b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)f(name)i(in)e(UTF-8)i
-(format)f(in)m(to)h(a)g(UCS-4)f(string.)390 3608 y(The)g(domain)g(name)
-g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
-(dots.)46 b(The)32 b(output)g(bu\013er)390 3717 y(m)m(ust)e(b)s(e)g
-(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 3851 y Fi(Return)g(v)-5
-b(alue:)41 b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f
-(error)g(co)s(de.)150 4047 y Fn(idna)p 389 4047 37 5
-v 54 w(to)p 552 4047 V 54 w(unico)s(de)p 1019 4047 V
-55 w(8z8z)3350 4242 y Fu([F)-8 b(unction])-3599 b Fm(int)53
-b(idna_to_unicode_8z8z)f Fl(\()p Fk(const)31 b(c)m(har)g(*)f
-Fj(input)p Fk(,)j(c)m(har)d(**)i Fj(output)p Fk(,)g(in)m(t)565
-4351 y Fj(flags)p Fl(\))390 4461 y Fk(input)r Fu(:)40
-b(zero-terminated)32 b(UTF-8)f(string.)390 4594 y Fk(output)r
-Fu(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i(output)e
-(UTF-8)h(string.)390 4727 y Fk(\015ags)t Fu(:)91 b(an)56
-b Fo(Idna_flags)d Fu(v)-5 b(alue,)63 b(e.g.,)g Fo
-(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)390
-4837 y(ASCII_RULES)p Fu(.)390 4970 y(Con)m(v)m(ert)32
-b(p)s(ossibly)e(A)m(CE)i(enco)s(ded)f(domain)g(name)g(in)g(UTF-8)h
-(format)g(in)m(to)g(a)g(UTF-8)g(string.)390 5080 y(The)g(domain)g(name)
-g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
-(dots.)46 b(The)32 b(output)g(bu\013er)390 5189 y(m)m(ust)e(b)s(e)g
-(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 5322 y Fi(Return)g(v)-5
-b(alue:)41 b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f
-(error)g(co)s(de.)p eop end
-%%Page: 29 34
-TeXDict begin 29 33 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(29)150 299 y Fn(idna)p
-389 299 37 5 v 54 w(to)p 552 299 V 54 w(unico)s(de)p
-1019 299 V 55 w(8zlz)3350 491 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(idna_to_unicode_8zlz)f Fl(\()p Fk(const)31
-b(c)m(har)g(*)f Fj(input)p Fk(,)j(c)m(har)d(**)i Fj(output)p
-Fk(,)g(in)m(t)565 600 y Fj(flags)p Fl(\))390 710 y Fk(input)r
-Fu(:)40 b(zero-terminated)32 b(UTF-8)f(string.)390 842
-y Fk(output)r Fu(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s(cated)h
-(output)e(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s(cale's)390
-952 y(c)m(haracter)32 b(set.)390 1084 y Fk(\015ags)t
-Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5 b(alue,)63
-b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56 b Fo(IDNA_USE_STD3_)
-390 1193 y(ASCII_RULES)p Fu(.)390 1325 y(Con)m(v)m(ert)30
-b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g(name)g(in)g(UTF-8)g
-(format)h(in)m(to)g(a)f(string)g(enco)s(ded)390 1435
-y(in)35 b(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g(set.)57
-b(The)35 b(domain)g(name)h(ma)m(y)g(con)m(tain)h(sev)m(eral)f(lab)s
-(els,)390 1545 y(separated)31 b(b)m(y)f(dots.)41 b(The)30
-b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
-(caller.)390 1677 y Fi(Return)g(v)-5 b(alue:)41 b Fu(Returns)30
-b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f(error)g(co)s(de.)150
-1871 y Fn(idna)p 389 1871 V 54 w(to)p 552 1871 V 54 w(unico)s(de)p
-1019 1871 V 55 w(lzlz)3350 2063 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(idna_to_unicode_lzlz)f Fl(\()p Fk(const)31
-b(c)m(har)g(*)f Fj(input)p Fk(,)j(c)m(har)d(**)i Fj(output)p
-Fk(,)g(in)m(t)565 2173 y Fj(flags)p Fl(\))390 2282 y
-Fk(input)r Fu(:)40 b(zero-terminated)32 b(string)e(enco)s(ded)g(in)g
-(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g(set.)390
-2414 y Fk(output)r Fu(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s
-(cated)h(output)e(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s
-(cale's)390 2524 y(c)m(haracter)32 b(set.)390 2656 y
-Fk(\015ags)t Fu(:)91 b(an)56 b Fo(Idna_flags)d Fu(v)-5
-b(alue,)63 b(e.g.,)g Fo(IDNA_ALLOW_UNASSIGNED)50 b Fu(or)56
-b Fo(IDNA_USE_STD3_)390 2765 y(ASCII_RULES)p Fu(.)390
-2898 y(Con)m(v)m(ert)25 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g
-(name)g(in)g(the)g(lo)s(cale's)i(c)m(haracter)g(set)e(in)m(to)h(a)g
-(string)390 3007 y(enco)s(ded)30 b(in)g(the)h(curren)m(t)f(lo)s(cale's)
-i(c)m(haracter)g(set.)42 b(The)30 b(domain)g(name)h(ma)m(y)g(con)m
-(tain)h(sev)m(eral)390 3117 y(lab)s(els,)f(separated)g(b)m(y)f(dots.)41
-b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
-(y)e(the)h(caller.)390 3249 y Fi(Return)f(v)-5 b(alue:)41
-b Fu(Returns)30 b Fo(IDNA_SUCCESS)d Fu(on)j(success,)h(or)f(error)g(co)
-s(de.)150 3476 y Ft(6.7)68 b(Error)45 b(Handling)150
-3698 y Fn(idna)p 389 3698 V 54 w(strerror)3350 3890 y
-Fu([F)-8 b(unction])-3599 b Fm(const)54 b(char)f(*)g(idna_strerror)c
-Fl(\()p Fk(Idna)p 1776 3890 28 4 v 40 w(rc)30 b Fj(rc)p
-Fl(\))390 4000 y Fk(rc)6 b Fu(:)40 b(an)30 b Fo(Idna_rc)f
-Fu(return)g(co)s(de.)390 4132 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
-(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
-b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 4241
-y(diagnostic)e(message)f(to)g(the)g(user.)390 4373 y
-Fi(IDNA)p 642 4373 28 5 v 40 w(SUCCESS:)e Fu(Successful)j(op)s
-(eration.)47 b(This)31 b(v)-5 b(alue)33 b(is)f(guaran)m(teed)i(to)f
-(alw)m(a)m(ys)g(b)s(e)f(zero,)390 4483 y(the)23 b(remaining)f(ones)h
-(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
-b(alues,)24 b(for)f(logical)i(comparison)390 4593 y(purp)s(oses.)390
-4725 y Fi(IDNA)p 642 4725 V 40 w(STRINGPREP)p 1296 4725
-V 40 w(ERR)m(OR:)31 b Fu(Error)f(during)f(string)h(preparation.)390
-4857 y Fi(IDNA)p 642 4857 V 40 w(PUNYCODE)p 1218 4857
-V 39 w(ERR)m(OR:)h Fu(Error)e(during)g(pun)m(yco)s(de)h(op)s(eration.)
-390 4989 y Fi(IDNA)p 642 4989 V 40 w(CONT)-8 b(AINS)p
-1169 4989 V 40 w(NON)p 1419 4989 V 40 w(LDH:)80 b Fu(F)-8
-b(or)81 b(IDNA)p 2211 4989 28 4 v 41 w(USE)p 2433 4989
-V 39 w(STD3)p 2703 4989 V 40 w(ASCI)s(I)p 2997 4989 V
-39 w(R)m(ULES,)f(indicate)390 5098 y(that)31 b(the)g(string)f(con)m
-(tains)h(non-LDH)g(ASCI)s(I)e(c)m(haracters.)390 5230
-y Fi(IDNA)p 642 5230 28 5 v 40 w(CONT)-8 b(AINS)p 1169
-5230 V 40 w(MINUS:)52 b Fu(F)-8 b(or)52 b(IDNA)p 2022
-5230 28 4 v 40 w(USE)p 2243 5230 V 40 w(STD3)p 2514 5230
-V 40 w(ASCI)s(I)p 2808 5230 V 39 w(R)m(ULES,)f(indicate)h(that)390
-5340 y(the)31 b(string)f(con)m(tains)h(a)g(leading)g(or)g(trailing)g(h)
-m(yphen-min)m(us)e(\(U)p Fo(+)p Fu(002D\).)p eop end
-%%Page: 30 35
-TeXDict begin 30 34 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(30)390 299 y Fi(IDNA)p
-642 299 28 5 v 40 w(INV)-10 b(ALID)p 1078 299 V 39 w(LENGTH:)47
-b Fu(The)f(\014nal)g(output)g(string)g(is)h(not)g(within)f(the)g
-(\(inclusiv)m(e\))390 408 y(range)31 b(1)f(to)i(63)f(c)m(haracters.)390
-543 y Fi(IDNA)p 642 543 V 40 w(NO)p 821 543 V 40 w(A)m(CE)p
-1053 543 V 40 w(PREFIX:)i Fu(The)h(string)f(do)s(es)h(not)g(con)m(tain)
-h(the)f(A)m(CE)g(pre\014x)f(\(for)h(T)-8 b(oUni-)390
-653 y(co)s(de\).)390 787 y Fi(IDNA)p 642 787 V 40 w(R)m(OUNDTRIP)p
-1257 787 V 41 w(VERIFY)p 1658 787 V 39 w(ERR)m(OR:)37
-b Fu(The)g(T)-8 b(oASCI)s(I)36 b(op)s(eration)h(on)g(output)f(string)
-390 897 y(do)s(es)30 b(not)h(equal)g(the)f(input.)390
-1031 y Fi(IDNA)p 642 1031 V 40 w(CONT)-8 b(AINS)p 1169
-1031 V 40 w(A)m(CE)p 1401 1031 V 39 w(PREFIX:)79 b Fu(The)g(input)f
-(con)m(tains)j(the)e(A)m(CE)h(pre\014x)e(\(for)390 1141
-y(T)-8 b(oASCI)s(I\).)390 1275 y Fi(IDNA)p 642 1275 V
-40 w(ICONV)p 992 1275 V 40 w(ERR)m(OR:)31 b Fu(Could)e(not)i(con)m(v)m
-(ert)h(string)e(in)g(lo)s(cale)i(enco)s(ding.)390 1410
-y Fi(IDNA)p 642 1410 V 40 w(MALLOC)p 1081 1410 V 39 w(ERR)m(OR:)f
-Fu(Could)e(not)i(allo)s(cate)i(bu\013er)c(\(this)i(is)f(t)m(ypically)i
-(a)f(fatal)h(error\).)390 1544 y Fi(IDNA)p 642 1544 V
-40 w(DLOPEN)p 1068 1544 V 39 w(ERR)m(OR:)j Fu(Could)f(not)h(dlop)s(en)e
-(the)i(lib)s(cidn)e(DSO)h(\(only)h(used)f(in)m(ternally)390
-1654 y(in)c(lib)s(c\).)390 1788 y Fi(Return)f(v)-5 b(alue:)40
-b Fu(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s
-(cated)f(string)f(con)m(taining)h(a)e(descrip-)390 1898
-y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
-Fo(rc)p Fu(.)p eop end
-%%Page: 31 36
-TeXDict begin 31 35 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(31)150 299 y Fr(7)80
-b(TLD)54 b(F)-13 b(unctions)150 531 y Fu(Organizations)38
-b(that)g(manage)f(some)h(T)-8 b(op)36 b(Lev)m(el)j(Domains)e(\(TLDs\))g
-(ha)m(v)m(e)i(published)c(tables)i(with)150 640 y(c)m(haracters)f(they)
-f(accept)h(within)e(the)g(domain.)54 b(The)34 b(reason)g(ma)m(y)i(b)s
-(e)d(to)j(reduce)e(complexit)m(y)i(that)150 750 y(come)30
-b(from)f(using)f(the)h(full)g(Unico)s(de)g(range,)h(and)f(to)g(protect)
-h(themselv)m(es)h(from)d(future)g(\(bac)m(kw)m(ards)150
-859 y(incompatible\))36 b(c)m(hanges)g(in)e(the)h(IDN)g(or)g(Unico)s
-(de)g(sp)s(eci\014cations.)55 b(Libidn)33 b(implemen)m(t)j(an)e
-(infras-)150 969 y(tructure)29 b(for)g(de\014ning)f(and)g(c)m(hec)m
-(king)j(strings)e(against)i(suc)m(h)d(tables.)42 b(Libidn)27
-b(also)j(ship)f(some)g(tables)150 1079 y(from)c(TLDs)f(that)i(w)m(e)f
-(ha)m(v)m(e)h(managed)g(to)g(get)g(p)s(ermission)e(to)h(use)g(them)g
-(from.)38 b(Because)27 b(these)e(tables)150 1188 y(are)j(ev)m(en)g
-(less)g(static)h(than)e(Unico)s(de)h(or)f(StringPrep)f(tables,)k(it)e
-(is)f(lik)m(ely)i(that)f(they)g(will)f(b)s(e)g(up)s(dated)150
-1298 y(from)k(time)i(to)g(time)f(\(ev)m(en)h(in)f(bac)m(kw)m(ards)g
-(incompatible)h(w)m(a)m(ys\).)47 b(The)31 b(Libidn)g(in)m(terface)i
-(pro)m(vide)g(a)150 1407 y(\\v)m(ersion")k(\014eld)f(for)g(eac)m(h)h
-(TLD)f(table,)i(whic)m(h)e(can)h(b)s(e)e(compared)h(for)g(equalit)m(y)h
-(to)g(guaran)m(tee)h(the)150 1517 y(same)31 b(op)s(eration)g(o)m(v)m
-(er)g(time.)275 1651 y(F)-8 b(rom)24 b(a)g(design)f(p)s(oin)m(t)h(of)f
-(view,)j(y)m(ou)e(can)f(regard)h(the)g(TLD)f(tables)h(for)g(IDN)g(as)f
-(the)h(\\lo)s(calization")150 1760 y(step)30 b(that)h(come)h(after)f
-(the)f(\\in)m(ternationalization")35 b(step)30 b(pro)m(vided)g(b)m(y)h
-(the)f(IETF)g(standards.)275 1894 y(The)35 b(TLD)i(functionalit)m(y)h
-(rely)e(on)h(up-to-date)g(tables.)60 b(The)36 b(latest)i(v)m(ersion)f
-(of)f(Libidn)f(aim)i(to)150 2004 y(pro)m(vide)28 b(these,)h(but)d
-(tables)j(with)e(unclear)h(cop)m(ying)g(conditions,)h(or)f(generally)h
-(exp)s(erimen)m(tal)f(tables,)150 2114 y(are)22 b(not)g(included.)37
-b(Some)22 b(suc)m(h)g(tables)g(can)h(b)s(e)e(found)f(at)j
-Fo(https://github.com/gnut)o(hor/)o(tldc)o(hk)p Fu(.)150
-2345 y Ft(7.1)68 b(Header)46 b(\014le)f Fh(tld.h)150
-2505 y Fu(T)-8 b(o)31 b(use)f(the)g(functions)g(explained)h(in)f(this)g
-(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e(the)g(\014le)h(`)p
-Fo(tld.h)p Fu(')e(using:)390 2639 y Fo(#include)46 b(<tld.h>)150
-2870 y Ft(7.2)68 b(Core)46 b(F)-11 b(unctions)150 3094
-y Fn(tld)p 309 3094 37 5 v 54 w(c)m(hec)m(k)p 656 3094
-V 52 w(4t)3350 3290 y Fu([F)j(unction])-3599 b Fm(int)53
-b(tld_check_4t)c Fl(\()p Fk(const)32 b(uin)m(t32)p 1561
-3290 28 4 v 41 w(t)e(*)h Fj(in)p Fk(,)g(size)p 2044 3290
-V 41 w(t)g Fj(inlen)p Fk(,)h(size)p 2609 3290 V 41 w(t)e(*)h
-Fj(errpos)p Fk(,)565 3399 y(const)g(Tld)p 951 3399 V
-39 w(table)h(*)e Fj(tld)p Fl(\))390 3509 y Fk(in)p Fu(:)40
-b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s
-(cess.)41 b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)
-390 3643 y Fk(inlen)p Fu(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)
-s(de)h(p)s(oin)m(ts.)390 3777 y Fk(errp)s(os)t Fu(:)39
-b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g
-(here.)390 3911 y Fk(tld)t Fu(:)60 b(A)40 b Fo(Tld_table)d
-Fu(data)k(structure)e(represen)m(ting)h(the)h(restrictions)f(for)g
-(whic)m(h)g(the)g(input)390 4020 y(should)29 b(b)s(e)h(tested.)390
-4154 y(T)-8 b(est)36 b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g
-(in)g Fo(in)f Fu(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)
-h(b)m(y)e(the)g(data)390 4264 y(structure)g(in)h Fo(tld)p
-Fu(,)g(return)f(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j
-(for)d(whic)m(h)h(this)g(is)g(not)g(the)390 4374 y(case)31
-b(in)f Fo(errpos)p Fu(.)390 4508 y Fi(Return)h(v)-5 b(alue:)44
-b Fu(Returns)31 b(the)h Fo(Tld_rc)e Fu(v)-5 b(alue)32
-b Fo(TLD_SUCCESS)c Fu(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
-b(alid)32 b(or)390 4617 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g
-Fo(TLD_INVALID)d Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
-(or)c(additional)i(error)e(co)s(des)390 4727 y(on)j(general)i(failure)e
-(conditions.)150 4925 y Fn(tld)p 309 4925 37 5 v 54 w(c)m(hec)m(k)p
-656 4925 V 52 w(4tz)3350 5121 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(tld_check_4tz)d Fl(\()p Fk(const)31 b(uin)m(t32)p
-1613 5121 28 4 v 41 w(t)g(*)f Fj(in)p Fk(,)h(size)p 2096
-5121 V 41 w(t)g(*)g Fj(errpos)p Fk(,)h(const)565 5230
-y(Tld)p 713 5230 V 40 w(table)f(*)g Fj(tld)p Fl(\))390
-5340 y Fk(in)p Fu(:)40 b(Zero)31 b(terminated)g(arra)m(y)g(of)f(unico)s
-(de)g(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)p eop
-end
-%%Page: 32 37
-TeXDict begin 32 36 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(32)390 299 y Fk(errp)s(os)t
-Fu(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
-(returned)g(here.)390 461 y Fk(tld)t Fu(:)60 b(A)40 b
-Fo(Tld_table)d Fu(data)k(structure)e(represen)m(ting)h(the)h
-(restrictions)f(for)g(whic)m(h)g(the)g(input)390 570
-y(should)29 b(b)s(e)h(tested.)390 732 y(T)-8 b(est)36
-b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
-Fo(in)f Fu(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
-(y)e(the)g(data)390 842 y(structure)g(in)h Fo(tld)p Fu(,)g(return)f
-(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j(for)d(whic)m
-(h)h(this)g(is)g(not)g(the)390 951 y(case)31 b(in)f Fo(errpos)p
-Fu(.)390 1113 y Fi(Return)h(v)-5 b(alue:)44 b Fu(Returns)31
-b(the)h Fo(Tld_rc)e Fu(v)-5 b(alue)32 b Fo(TLD_SUCCESS)c
-Fu(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
-b(or)390 1223 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g
-Fo(TLD_INVALID)d Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
-(or)c(additional)i(error)e(co)s(des)390 1332 y(on)j(general)i(failure)e
-(conditions.)150 1606 y Ft(7.3)68 b(Utilit)l(y)47 b(F)-11
-b(unctions)150 1830 y Fn(tld)p 309 1830 37 5 v 54 w(get)p
-528 1830 V 54 w(4)3350 2054 y Fu([F)j(unction])-3599
-b Fm(int)53 b(tld_get_4)48 b Fl(\()p Fk(const)32 b(uin)m(t32)p
-1404 2054 28 4 v 41 w(t)e(*)h Fj(in)p Fk(,)g(size)p 1887
-2054 V 41 w(t)g Fj(inlen)p Fk(,)h(c)m(har)f(**)g Fj(out)p
-Fl(\))390 2163 y Fk(in)p Fu(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s
-(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31
-b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390 2325
-y Fk(inlen)p Fu(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s(de)h(p)
-s(oin)m(ts.)390 2487 y Fk(out)r Fu(:)41 b(Zero)30 b(terminated)h(ascii)
-h(result)e(string)g(p)s(oin)m(ter.)390 2649 y(Isolate)i(the)e(top-lev)m
-(el)j(domain)d(of)h Fo(in)f Fu(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d
-(string)j(in)f Fo(out)p Fu(.)390 2811 y Fi(Return)38
-b(v)-5 b(alue:)56 b Fu(Return)37 b Fo(TLD_SUCCESS)d Fu(on)k(success,)i
-(or)e(the)g(corresp)s(onding)f Fo(Tld_rc)f Fu(error)390
-2920 y(co)s(de)31 b(otherwise.)150 3147 y Fn(tld)p 309
-3147 37 5 v 54 w(get)p 528 3147 V 54 w(4z)3350 3371 y
-Fu([F)-8 b(unction])-3599 b Fm(int)53 b(tld_get_4z)c
-Fl(\()p Fk(const)31 b(uin)m(t32)p 1456 3371 28 4 v 41
-w(t)g(*)f Fj(in)p Fk(,)i(c)m(har)e(**)h Fj(out)p Fl(\))390
-3480 y Fk(in)p Fu(:)40 b(Zero)31 b(terminated)g(arra)m(y)g(of)f(unico)s
-(de)g(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 3642
-y Fk(out)r Fu(:)41 b(Zero)30 b(terminated)h(ascii)h(result)e(string)g
-(p)s(oin)m(ter.)390 3804 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h
-Fo(in)f Fu(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
-Fo(out)p Fu(.)390 3966 y Fi(Return)38 b(v)-5 b(alue:)56
-b Fu(Return)37 b Fo(TLD_SUCCESS)d Fu(on)k(success,)i(or)e(the)g
-(corresp)s(onding)f Fo(Tld_rc)f Fu(error)390 4075 y(co)s(de)31
-b(otherwise.)150 4302 y Fn(tld)p 309 4302 37 5 v 54 w(get)p
-528 4302 V 54 w(z)3350 4526 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(tld_get_z)48 b Fl(\()p Fk(const)32 b(c)m(har)e(*)h
-Fj(in)p Fk(,)g(c)m(har)g(**)g Fj(out)p Fl(\))390 4635
-y Fk(in)p Fu(:)40 b(Zero)31 b(terminated)g(c)m(haracter)h(arra)m(y)e
-(to)i(pro)s(cess.)390 4797 y Fk(out)r Fu(:)41 b(Zero)30
-b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
-4959 y(Isolate)f(the)e(top-lev)m(el)j(domain)d(of)g Fo(in)g
-Fu(and)g(return)f(it)i(as)f(an)g(ASCI)s(I)f(string)h(in)g
-Fo(out)p Fu(.)39 b(The)27 b(input)390 5069 y(string)j
-Fo(in)g Fu(ma)m(y)h(b)s(e)f(UTF-8,)h(ISO-8859-1)i(or)d(an)m(y)h(ASCI)s
-(I)d(compatible)k(c)m(haracter)g(enco)s(ding.)390 5230
-y Fi(Return)38 b(v)-5 b(alue:)56 b Fu(Return)37 b Fo(TLD_SUCCESS)d
-Fu(on)k(success,)i(or)e(the)g(corresp)s(onding)f Fo(Tld_rc)f
-Fu(error)390 5340 y(co)s(de)31 b(otherwise.)p eop end
-%%Page: 33 38
-TeXDict begin 33 37 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(33)150 299 y Fn(tld)p
-309 299 37 5 v 54 w(get)p 528 299 V 54 w(table)3350 515
-y Fu([F)-8 b(unction])-3599 b Fm(const)54 b(Tld_table)h(*)d
-(tld_get_table)e Fl(\()p Fk(const)31 b(c)m(har)g(*)g
-Fj(tld)p Fk(,)g(const)g(Tld)p 2964 515 28 4 v 39 w(table)565
-625 y(**)g Fj(tables)p Fl(\))390 735 y Fk(tld)t Fu(:)40
-b(TLD)31 b(name)f(\(e.g.)42 b Fo(")p Fu(com)p Fo(")p
-Fu(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d(b)m(yte)j(string.)390
-889 y Fk(tables)t Fu(:)41 b(Zero)31 b(terminated)f(arra)m(y)h(of)g
-Fo(Tld_table)d Fu(info-structures)i(for)g(TLDs.)390 1043
-y(Get)25 b(the)g(TLD)f(table)i(for)e(a)h(named)f(TLD)g(b)m(y)g(searc)m
-(hing)h(through)f(the)h(giv)m(en)g(TLD)f(table)i(arra)m(y)-8
-b(.)390 1197 y Fi(Return)29 b(v)-5 b(alue:)40 b Fu(Return)29
-b(structure)g(corresp)s(onding)f(to)i(TLD)f Fo(tld)f
-Fu(b)m(y)h(going)i(thru)d Fo(tables)p Fu(,)g(or)390 1307
-y(return)h Fo(NULL)g Fu(if)i(no)f(suc)m(h)g(structure)g(is)g(found.)150
-1526 y Fn(tld)p 309 1526 37 5 v 54 w(default)p 734 1526
-V 54 w(table)3350 1742 y Fu([F)-8 b(unction])-3599 b
-Fm(const)54 b(Tld_table)h(*)d(tld_default_table)f Fl(\()p
-Fk(const)31 b(c)m(har)g(*)g Fj(tld)p Fk(,)g(const)565
-1852 y(Tld)p 713 1852 28 4 v 40 w(table)g(**)g Fj(overrides)p
-Fl(\))390 1961 y Fk(tld)t Fu(:)40 b(TLD)31 b(name)f(\(e.g.)42
-b Fo(")p Fu(com)p Fo(")p Fu(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
-(b)m(yte)j(string.)390 2116 y Fk(o)m(v)m(errides)t Fu(:)48
-b(Additional)34 b(zero)g(terminated)g(arra)m(y)g(of)g
-Fo(Tld_table)d Fu(info-structures)i(for)g(TLDs,)390 2225
-y(or)d Fo(NULL)g Fu(to)h(only)f(use)g(library)g(deault)h(tables.)390
-2379 y(Get)h(the)f(TLD)g(table)h(for)f(a)g(named)f(TLD,)i(using)e(the)h
-(in)m(ternal)h(defaults,)f(p)s(ossibly)f(o)m(v)m(errided)390
-2489 y(b)m(y)g(the)h(\(optional\))h(supplied)d(tables.)390
-2643 y Fi(Return)24 b(v)-5 b(alue:)38 b Fu(Return)24
-b(structure)g(corresp)s(onding)g(to)h(TLD)f Fo(tld_str)p
-Fu(,)g(\014rst)g(lo)s(oking)i(through)390 2753 y Fo(overrides)i
-Fu(then)i(thru)f(built-in)h(list,)i(or)e Fo(NULL)f Fu(if)i(no)f(suc)m
-(h)g(structure)g(found.)150 3015 y Ft(7.4)68 b(High-Lev)l(el)46
-b(W)-11 b(rapp)t(er)45 b(F)-11 b(unctions)150 3239 y
-Fn(tld)p 309 3239 37 5 v 54 w(c)m(hec)m(k)p 656 3239
-V 52 w(4)3350 3455 y Fu([F)j(unction])-3599 b Fm(int)53
-b(tld_check_4)c Fl(\()p Fk(const)31 b(uin)m(t32)p 1508
-3455 28 4 v 41 w(t)g(*)g Fj(in)p Fk(,)g(size)p 1992 3455
-V 41 w(t)f Fj(inlen)p Fk(,)i(size)p 2556 3455 V 41 w(t)f(*)g
-Fj(errpos)p Fk(,)565 3565 y(const)g(Tld)p 951 3565 V
-39 w(table)h(**)f Fj(overrides)p Fl(\))390 3675 y Fk(in)p
-Fu(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s(oin)m(ts)f(to)h
-(pro)s(cess.)41 b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)f(zero)h
-(terminated.)390 3829 y Fk(inlen)p Fu(:)41 b(Num)m(b)s(er)29
-b(of)h(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 3983
-y Fk(errp)s(os)t Fu(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
-(haracter)i(is)e(returned)g(here.)390 4137 y Fk(o)m(v)m(errides)t
-Fu(:)48 b(A)34 b Fo(Tld_table)d Fu(arra)m(y)j(of)g(additional)h(domain)
-e(restriction)i(structures)e(that)h(com-)390 4247 y(plemen)m(t)d(and)f
-(sup)s(ersede)f(the)h(built-in)g(information.)390 4401
-y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
-Fo(in)g Fu(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
-(y)f(the)g(informa-)390 4511 y(tion)32 b(in)g Fo(overrides)d
-Fu(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
-b(When)32 b(data)h(for)e(the)i(same)390 4620 y(TLD)39
-b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
-Fo(overrides)p Fu(,)g(the)g(information)g(in)f Fo(overrides)390
-4730 y Fu(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
-(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
-(one)h(is)f(used.)390 4839 y(If)k Fo(overrides)e Fu(is)i
-Fo(NULL)p Fu(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
-b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 4949
-y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fo(errpos)p
-Fu(.)390 5103 y Fi(Return)h(v)-5 b(alue:)44 b Fu(Returns)31
-b(the)h Fo(Tld_rc)e Fu(v)-5 b(alue)32 b Fo(TLD_SUCCESS)c
-Fu(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
-b(or)390 5213 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g
-Fo(TLD_INVALID)d Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
-(or)c(additional)i(error)e(co)s(des)390 5322 y(on)j(general)i(failure)e
-(conditions.)p eop end
-%%Page: 34 39
-TeXDict begin 34 38 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(34)150 299 y Fn(tld)p
-309 299 37 5 v 54 w(c)m(hec)m(k)p 656 299 V 52 w(4z)3350
-501 y Fu([F)-8 b(unction])-3599 b Fm(int)53 b(tld_check_4z)c
-Fl(\()p Fk(const)31 b(uin)m(t32)p 1560 501 28 4 v 41
-w(t)f(*)g Fj(in)p Fk(,)g(size)p 2041 501 V 41 w(t)g(*)g
-Fj(errpos)p Fk(,)i(const)e(Tld)p 2970 501 V 39 w(table)565
-610 y(**)h Fj(overrides)p Fl(\))390 720 y Fk(in)p Fu(:)40
-b(Zero-terminated)32 b(arra)m(y)f(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m
-(ts)f(to)h(pro)s(cess.)390 860 y Fk(errp)s(os)t Fu(:)39
-b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g
-(here.)390 999 y Fk(o)m(v)m(errides)t Fu(:)48 b(A)34
-b Fo(Tld_table)d Fu(arra)m(y)j(of)g(additional)h(domain)e(restriction)i
-(structures)e(that)h(com-)390 1109 y(plemen)m(t)d(and)f(sup)s(ersede)f
-(the)h(built-in)g(information.)390 1248 y(T)-8 b(est)26
-b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
-Fo(in)g Fu(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
-(y)f(the)g(informa-)390 1358 y(tion)32 b(in)g Fo(overrides)d
-Fu(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
-b(When)32 b(data)h(for)e(the)i(same)390 1468 y(TLD)39
-b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
-Fo(overrides)p Fu(,)g(the)g(information)g(in)f Fo(overrides)390
-1577 y Fu(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
-(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
-(one)h(is)f(used.)390 1687 y(If)k Fo(overrides)e Fu(is)i
-Fo(NULL)p Fu(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
-b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 1796
-y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fo(errpos)p
-Fu(.)390 1936 y Fi(Return)h(v)-5 b(alue:)44 b Fu(Returns)31
-b(the)h Fo(Tld_rc)e Fu(v)-5 b(alue)32 b Fo(TLD_SUCCESS)c
-Fu(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
-b(or)390 2046 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g
-Fo(TLD_INVALID)d Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
-(or)c(additional)i(error)e(co)s(des)390 2155 y(on)j(general)i(failure)e
-(conditions.)150 2360 y Fn(tld)p 309 2360 37 5 v 54 w(c)m(hec)m(k)p
-656 2360 V 52 w(8z)3350 2562 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(tld_check_8z)c Fl(\()p Fk(const)32 b(c)m(har)e(*)h
-Fj(in)p Fk(,)g(size)p 1888 2562 28 4 v 41 w(t)g(*)g Fj(errpos)p
-Fk(,)h(const)f(Tld)p 2820 2562 V 39 w(table)g(**)565
-2671 y Fj(overrides)p Fl(\))390 2781 y Fk(in)p Fu(:)40
-b(Zero-terminated)32 b(UTF8)f(string)f(to)h(pro)s(cess.)390
-2920 y Fk(errp)s(os)t Fu(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
-(haracter)i(is)e(returned)g(here.)390 3060 y Fk(o)m(v)m(errides)t
-Fu(:)48 b(A)34 b Fo(Tld_table)d Fu(arra)m(y)j(of)g(additional)h(domain)
-e(restriction)i(structures)e(that)h(com-)390 3170 y(plemen)m(t)d(and)f
-(sup)s(ersede)f(the)h(built-in)g(information.)390 3309
-y(T)-8 b(est)21 b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e
-Fo(in)h Fu(for)f(whether)g(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
-(y)f(the)g(information)390 3419 y(in)29 b Fo(overrides)e
-Fu(or)j(b)m(y)f(the)h(built-in)f(TLD)h(restriction)g(data.)41
-b(When)30 b(data)g(for)f(the)h(same)g(TLD)390 3528 y(is)38
-b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g(in)f
-Fo(overrides)p Fu(,)h(the)g(information)g(in)g Fo(overrides)d
-Fu(tak)m(es)390 3638 y(precedence.)56 b(If)34 b(sev)m(eral)j(en)m
-(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h(are)f(found,)g(the)h(\014rst)e
-(one)i(is)f(used.)54 b(If)390 3748 y Fo(overrides)35
-b Fu(is)i Fo(NULL)p Fu(,)h(only)g(the)f(built-in)g(information)h(is)f
-(used.)61 b(The)36 b(p)s(osition)i(of)f(the)h(\014rst)390
-3857 y(o\013ending)32 b(c)m(haracter)i(is)e(returned)f(in)h
-Fo(errpos)p Fu(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
-(refers)g(to)h(the)390 3967 y(deco)s(ded)d(c)m(haracter)i(o\013set)f
-(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g(string.)390
-4106 y Fi(Return)35 b(v)-5 b(alue:)52 b Fu(Returns)35
-b(the)g Fo(Tld_rc)f Fu(v)-5 b(alue)36 b Fo(TLD_SUCCESS)d
-Fu(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
-4216 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g Fo(TLD_INVALID)d
-Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
-i(error)e(co)s(des)390 4326 y(on)j(general)i(failure)e(conditions.)150
-4530 y Fn(tld)p 309 4530 37 5 v 54 w(c)m(hec)m(k)p 656
-4530 V 52 w(lz)3350 4732 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(tld_check_lz)c Fl(\()p Fk(const)32 b(c)m(har)e(*)h
-Fj(in)p Fk(,)g(size)p 1888 4732 28 4 v 41 w(t)g(*)g Fj(errpos)p
-Fk(,)h(const)f(Tld)p 2820 4732 V 39 w(table)g(**)565
-4842 y Fj(overrides)p Fl(\))390 4951 y Fk(in)p Fu(:)40
-b(Zero-terminated)32 b(string)e(in)g(the)h(curren)m(t)f(lo)s(cales)i
-(enco)s(ding)e(to)h(pro)s(cess.)390 5091 y Fk(errp)s(os)t
-Fu(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
-(returned)g(here.)390 5230 y Fk(o)m(v)m(errides)t Fu(:)48
-b(A)34 b Fo(Tld_table)d Fu(arra)m(y)j(of)g(additional)h(domain)e
-(restriction)i(structures)e(that)h(com-)390 5340 y(plemen)m(t)d(and)f
-(sup)s(ersede)f(the)h(built-in)g(information.)p eop end
-%%Page: 35 40
-TeXDict begin 35 39 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(35)390 299 y(T)-8 b(est)21
-b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e Fo(in)h Fu(for)f(whether)g
-(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
-408 y(in)29 b Fo(overrides)e Fu(or)j(b)m(y)f(the)h(built-in)f(TLD)h
-(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
-518 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
-(in)f Fo(overrides)p Fu(,)h(the)g(information)g(in)g
-Fo(overrides)d Fu(tak)m(es)390 628 y(precedence.)56 b(If)34
-b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h(are)f
-(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
-737 y Fo(overrides)35 b Fu(is)i Fo(NULL)p Fu(,)h(only)g(the)f(built-in)
-g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f(the)h
-(\014rst)390 847 y(o\013ending)32 b(c)m(haracter)i(is)e(returned)f(in)h
-Fo(errpos)p Fu(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
-(refers)g(to)h(the)390 956 y(deco)s(ded)d(c)m(haracter)i(o\013set)f
-(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g(string.)390
-1091 y Fi(Return)35 b(v)-5 b(alue:)52 b Fu(Returns)35
-b(the)g Fo(Tld_rc)f Fu(v)-5 b(alue)36 b Fo(TLD_SUCCESS)d
-Fu(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
-1200 y(when)27 b Fo(tld)f Fu(is)i(n)m(ull,)g Fo(TLD_INVALID)d
-Fu(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
-i(error)e(co)s(des)390 1310 y(on)j(general)i(failure)e(conditions.)150
-1543 y Ft(7.5)68 b(Error)45 b(Handling)150 1767 y Fn(tld)p
-309 1767 37 5 v 54 w(strerror)3350 1963 y Fu([F)-8 b(unction])-3599
-b Fm(const)54 b(char)f(*)g(tld_strerror)c Fl(\()p Fk(Tld)p
-1686 1963 28 4 v 40 w(rc)30 b Fj(rc)p Fl(\))390 2073
-y Fk(rc)6 b Fu(:)40 b(tld)31 b(return)e(co)s(de)390 2208
-y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
-h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
-390 2317 y(diagnostic)e(message)f(to)g(the)g(user.)390
-2452 y Fi(TLD)p 584 2452 28 5 v 39 w(SUCCESS:)21 b Fu(Successful)h(op)s
-(eration.)39 b(This)22 b(v)-5 b(alue)23 b(is)g(guaran)m(teed)h(to)g
-(alw)m(a)m(ys)g(b)s(e)e(zero,)k(the)390 2561 y(remaining)36
-b(ones)g(are)h(only)f(guaran)m(teed)h(to)g(hold)f(non-zero)g(v)-5
-b(alues,)38 b(for)e(logical)j(comparison)390 2671 y(purp)s(oses.)390
-2805 y Fi(TLD)p 584 2805 V 39 w(INV)-10 b(ALID:)30 b
-Fu(In)m(v)-5 b(alid)30 b(c)m(haracter)i(found.)390 2940
-y Fi(TLD)p 584 2940 V 39 w(NOD)m(A)-8 b(T)g(A:)32 b Fu(No)f(input)e
-(data)i(w)m(as)g(pro)m(vided.)390 3074 y Fi(TLD)p 584
-3074 V 39 w(MALLOC)p 1022 3074 V 39 w(ERR)m(OR:)g Fu(Error)f(during)f
-(memory)h(allo)s(cation.)390 3209 y Fi(TLD)p 584 3209
-V 39 w(ICONV)p 933 3209 V 40 w(ERR)m(OR:)h Fu(Error)f(during)f(icon)m
-(v)i(string)g(con)m(v)m(ersion.)390 3343 y Fi(TLD)p 584
-3343 V 39 w(NO)p 762 3343 V 41 w(TLD:)f Fu(No)h(top-lev)m(el)h(domain)f
-(found)e(in)h(domain)g(string.)390 3478 y Fi(Return)f(v)-5
-b(alue:)40 b Fu(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j
-(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)390
-3587 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
-Fo(rc)p Fu(.)p eop end
-%%Page: 36 41
-TeXDict begin 36 40 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(PR29)31 b(F)-8 b(unctions)2409 b(36)150 299 y Fr(8)80
-b(PR29)54 b(F)-13 b(unctions)150 561 y Fu(A)42 b(de\014ciency)f(in)g
-(the)h(sp)s(eci\014cation)g(of)g(Unico)s(de)f(Normalization)j(F)-8
-b(orms)42 b(has)f(b)s(een)g(found.)72 b(The)150 671 y(consequence)36
-b(is)g(that)g(some)g(strings)f(can)h(b)s(e)f(normalized)h(in)m(to)h
-(di\013eren)m(t)f(strings)f(b)m(y)h(di\013eren)m(t)g(im-)150
-781 y(plemen)m(tations.)49 b(In)31 b(other)i(w)m(ords,)g(t)m(w)m(o)h
-(di\013eren)m(t)f(implemen)m(tations)h(ma)m(y)f(return)e(di\013eren)m
-(t)i(output)150 890 y(for)e(the)g(same)g(input)g(\(b)s(ecause)g(the)g
-(in)m(terpretation)i(of)e(the)g(sp)s(eci\014cation)h(is)f(am)m
-(biguous\).)43 b(F)-8 b(urther,)150 1000 y(an)35 b(implemen)m(tation)i
-(in)m(v)m(ok)m(ed)g(again)g(on)e(the)g(one)h(of)g(the)f(output)g
-(strings)g(ma)m(y)h(return)f(a)g(di\013eren)m(t)150 1109
-y(string)26 b(\(b)s(ecause)g(one)g(of)g(the)g(in)m(terpretation)i(of)e
-(the)g(am)m(biguous)g(sp)s(eci\014cation)g(mak)m(e)h(normalization)150
-1219 y(non-idemp)s(oten)m(t\).)58 b(F)-8 b(ortunately)g(,)40
-b(only)c(a)g(select)i(few)d(c)m(haracter)j(sequence)e(exhibit)g(this)g
-(problem,)150 1329 y(and)h(none)h(of)h(them)f(are)g(exp)s(ected)h(to)g
-(o)s(ccur)e(in)h(natural)g(languages)i(\(due)e(to)g(di\013eren)m(t)h
-(linguistic)150 1438 y(uses)30 b(of)g(the)h(in)m(v)m(olv)m(ed)h(c)m
-(haracters\).)275 1582 y(A)e(full)g(discussion)g(of)g(the)h(problem)f
-(ma)m(y)h(b)s(e)e(found)h(at:)275 1726 y Fo(http://www.unicode.org/)o
-(rev)o(iew/)o(pr-2)o(9.h)o(tml)275 1870 y Fu(The)35 b(PR29)h(functions)
-f(b)s(elo)m(w)h(allo)m(w)h(y)m(ou)f(to)g(detect)h(the)f(problem)e
-(sequence.)57 b(So)36 b(when)e(w)m(ould)150 1980 y(y)m(ou)40
-b(w)m(an)m(t)h(to)f(use)g(these)g(functions?)69 b(F)-8
-b(or)40 b(most)g(applications,)k(suc)m(h)39 b(as)i(those)f(using)f
-(Nameprep)150 2089 y(for)33 b(IDN,)g(this)g(is)g(lik)m(ely)h(only)f(to)
-h(b)s(e)e(an)h(in)m(terop)s(erabilit)m(y)h(problem.)48
-b(Th)m(us,)33 b(y)m(ou)g(ma)m(y)g(not)g(w)m(an)m(t)h(to)150
-2199 y(care)j(ab)s(out)e(it,)j(as)e(the)g(c)m(haracter)h(sequences)f
-(will)g(rarely)g(o)s(ccur)g(naturally)-8 b(.)57 b(Ho)m(w)m(ev)m(er,)40
-b(if)35 b(y)m(ou)i(are)150 2309 y(using)31 b(a)h(pro\014le,)h(suc)m(h)e
-(as)h(SASLPrep,)f(to)h(pro)s(cess)g(authen)m(tication)i(tok)m(ens;)f
-(authorization)h(tok)m(ens;)150 2418 y(or)c(passw)m(ords,)f(there)h(is)
-f(a)h(real)g(danger)g(that)g(attac)m(k)m(ers)i(ma)m(y)f(try)e(to)i(use)
-e(the)h(p)s(eculiarities)g(in)f(these)150 2528 y(strings)f(to)h(attac)m
-(k)i(parts)d(of)h(y)m(our)f(system.)40 b(As)29 b(only)f(a)h(small)g(n)m
-(um)m(b)s(er)e(of)i(strings,)g(and)e(no)i(naturally)150
-2637 y(o)s(ccurring)e(strings,)i(exhibit)e(this)h(problem,)g(the)g
-(conserv)-5 b(ativ)m(e)29 b(approac)m(h)f(of)g(rejecting)h(the)e
-(strings)h(is)150 2747 y(recommended.)40 b(If)28 b(this)h(approac)m(h)g
-(is)g(not)h(used,)e(y)m(ou)h(should)f(instead)i(v)m(erify)f(that)g(all)
-h(parts)f(of)g(y)m(our)150 2856 y(system,)i(that)g(pro)s(cess)f(the)h
-(tok)m(ens)h(and)e(passw)m(ords,)g(use)g(a)h(NFK)m(C)g(implemen)m
-(tation)h(that)f(pro)s(duce)150 2966 y(the)g(same)f(output)g(for)g(the)
-h(same)g(input.)275 3110 y(T)-8 b(ec)m(hnically)32 b(inclined)f
-(readers)g(ma)m(y)h(b)s(e)e(in)m(terested)i(in)f(kno)m(wing)g(more)g
-(ab)s(out)f(the)i(implemen)m(ta-)150 3220 y(tion)f(asp)s(ects)g(of)f
-(the)h(PR29)g(\015a)m(w.)40 b(See)31 b(App)s(endix)e(A)h([PR29)h
-(discussion],)g(page)g(64.)150 3466 y Ft(8.1)68 b(Header)46
-b(\014le)f Fh(pr29.h)150 3626 y Fu(T)-8 b(o)31 b(use)f(the)g(functions)
-g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e
-(the)g(\014le)h(`)p Fo(pr29.h)p Fu(')e(using:)390 3770
-y Fo(#include)46 b(<pr29.h>)150 4016 y Ft(8.2)68 b(Core)46
-b(F)-11 b(unctions)150 4241 y Fn(pr29)p 399 4241 37 5
-v 55 w(4)3350 4447 y Fu([F)j(unction])-3599 b Fm(int)53
-b(pr29_4)47 b Fl(\()p Fk(const)32 b(uin)m(t32)p 1247
-4447 28 4 v 41 w(t)e(*)h Fj(in)p Fk(,)g(size)p 1730 4447
-V 41 w(t)g Fj(len)p Fl(\))390 4556 y Fk(in)p Fu(:)40
-b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m(ts.)390
-4700 y Fk(len)p Fu(:)41 b(length)31 b(of)f(input)g(arra)m(y)g(with)h
-(unico)s(de)e(co)s(de)i(p)s(oin)m(ts.)390 4844 y(Chec)m(k)23
-b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m
-(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390
-4954 y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h
-(NFK)m(C)g(sp)s(eci\014cations.)390 5098 y Fi(Return)47
-b(v)-5 b(alue:)75 b Fu(Returns)47 b(the)g Fo(Pr29_rc)e
-Fu(v)-5 b(alue)48 b Fo(PR29_SUCCESS)c Fu(on)k(success,)k(and)46
-b Fo(PR29_)390 5208 y(PROBLEM)28 b Fu(if)i(the)g(input)g(sequence)g(is)
-g(a)h Fo(")p Fu(problem)e(sequence)p Fo(")h Fu(\(i.e.,)i(ma)m(y)f(b)s
-(e)e(normalized)i(in)m(to)390 5317 y(di\013eren)m(t)g(strings)f(b)m(y)g
-(di\013eren)m(t)h(implemen)m(tations\).)p eop end
-%%Page: 37 42
-TeXDict begin 37 41 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(PR29)31 b(F)-8 b(unctions)2409 b(37)150 299 y Ft(8.3)68
-b(Utilit)l(y)47 b(F)-11 b(unctions)150 523 y Fn(pr29)p
-399 523 37 5 v 55 w(4z)3350 720 y Fu([F)j(unction])-3599
-b Fm(int)53 b(pr29_4z)48 b Fl(\()p Fk(const)31 b(uin)m(t32)p
-1299 720 28 4 v 41 w(t)g(*)f Fj(in)p Fl(\))390 829 y
-Fk(in)p Fu(:)40 b(zero)32 b(terminated)e(arra)m(y)h(of)g(Unico)s(de)f
-(co)s(de)h(p)s(oin)m(ts.)390 964 y(Chec)m(k)23 b(the)g(input)f(to)i
-(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m(to)h(di\013eren)m
-(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390 1073
-y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h(NFK)m
-(C)g(sp)s(eci\014cations.)390 1208 y Fi(Return)47 b(v)-5
-b(alue:)75 b Fu(Returns)47 b(the)g Fo(Pr29_rc)e Fu(v)-5
-b(alue)48 b Fo(PR29_SUCCESS)c Fu(on)k(success,)k(and)46
-b Fo(PR29_)390 1318 y(PROBLEM)28 b Fu(if)i(the)g(input)g(sequence)g(is)
-g(a)h Fo(")p Fu(problem)e(sequence)p Fo(")h Fu(\(i.e.,)i(ma)m(y)f(b)s
-(e)e(normalized)i(in)m(to)390 1427 y(di\013eren)m(t)g(strings)f(b)m(y)g
-(di\013eren)m(t)h(implemen)m(tations\).)150 1626 y Fn(pr29)p
-399 1626 37 5 v 55 w(8z)3350 1823 y Fu([F)-8 b(unction])-3599
-b Fm(int)53 b(pr29_8z)48 b Fl(\()p Fk(const)31 b(c)m(har)g(*)g
-Fj(in)p Fl(\))390 1933 y Fk(in)p Fu(:)40 b(zero)32 b(terminated)e
-(input)g(UTF-8)h(string.)390 2067 y(Chec)m(k)23 b(the)g(input)f(to)i
-(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m(to)h(di\013eren)m
-(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390 2177
-y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h(NFK)m
-(C)g(sp)s(eci\014cations.)390 2311 y Fi(Return)47 b(v)-5
-b(alue:)75 b Fu(Returns)47 b(the)g Fo(Pr29_rc)e Fu(v)-5
-b(alue)48 b Fo(PR29_SUCCESS)c Fu(on)k(success,)k(and)46
-b Fo(PR29_)390 2421 y(PROBLEM)28 b Fu(if)i(the)g(input)g(sequence)g(is)
-g(a)h Fo(")p Fu(problem)e(sequence)p Fo(")h Fu(\(i.e.,)i(ma)m(y)f(b)s
-(e)e(normalized)i(in)m(to)390 2531 y(di\013eren)m(t)37
-b(strings)e(b)m(y)h(di\013eren)m(t)h(implemen)m(tations\),)i(or)d
-Fo(PR29_STRINGPREP_ERROR)31 b Fu(if)36 b(there)390 2640
-y(w)m(as)31 b(a)g(problem)e(con)m(v)m(erting)j(the)f(string)f(from)g
-(UTF-8)i(to)f(UCS-4.)150 2873 y Ft(8.4)68 b(Error)45
-b(Handling)150 3097 y Fn(pr29)p 399 3097 V 55 w(strerror)3350
-3293 y Fu([F)-8 b(unction])-3599 b Fm(const)54 b(char)f(*)g
-(pr29_strerror)c Fl(\()p Fk(Pr29)p 1784 3293 28 4 v 41
-w(rc)30 b Fj(rc)p Fl(\))390 3403 y Fk(rc)6 b Fu(:)40
-b(an)30 b Fo(Pr29_rc)f Fu(return)g(co)s(de.)390 3538
-y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
-h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
-390 3647 y(diagnostic)e(message)f(to)g(the)g(user.)390
-3782 y Fi(PR29)p 617 3782 28 5 v 41 w(SUCCESS:)h Fu(Successful)h(op)s
-(eration.)53 b(This)33 b(v)-5 b(alue)35 b(is)f(guaran)m(teed)i(to)f
-(alw)m(a)m(ys)g(b)s(e)f(zero,)390 3891 y(the)23 b(remaining)f(ones)h
-(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
-b(alues,)24 b(for)f(logical)i(comparison)390 4001 y(purp)s(oses.)390
-4135 y Fi(PR29)p 617 4135 V 41 w(PR)m(OBLEM:)31 b Fu(A)f(problem)g
-(sequence)h(w)m(as)f(encoun)m(tered.)390 4270 y Fi(PR29)p
-617 4270 V 41 w(STRINGPREP)p 1272 4270 V 40 w(ERR)m(OR:)35
-b Fu(The)f(c)m(haracter)h(set)g(con)m(v)m(ersion)g(failed)g(\(only)g
-(for)e Fo(pr29_)390 4379 y(8z\(\))p Fu(\).)390 4514 y
-Fi(Return)c(v)-5 b(alue:)40 b Fu(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g
-(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)
-390 4623 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
-Fo(rc)p Fu(.)p eop end
-%%Page: 38 43
-TeXDict begin 38 42 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(38)150 299 y Fr(9)80 b(Examples)150
-537 y Fu(This)26 b(c)m(hapter)h(con)m(tains)h(example)f(co)s(de)g(whic)
-m(h)g(illustrate)h(ho)m(w)e(`Libidn')g(can)h(b)s(e)f(used)g(when)g
-(writing)150 646 y(y)m(our)k(o)m(wn)h(application.)150
-880 y Ft(9.1)68 b(Example)46 b(1)150 1040 y Fu(This)30
-b(example)h(demonstrates)f(ho)m(w)h(the)f(stringprep)g(functions)g(are)
-g(used.)150 1176 y Fo(/*)47 b(example.c)e(---)i(Example)f(code)h
-(showing)f(how)h(to)g(use)g(stringprep\(\).)198 1285
-y(*)g(Copyright)e(\(C\))i(2002-2012)f(Simon)g(Josefsson)198
-1395 y(*)198 1504 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)
-198 1614 y(*)198 1724 y(*)g(This)g(program)f(is)h(free)f(software:)93
-b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-1833 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 1943 y(*)i(the)g(Free)g
-(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 2052 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-2162 y(*)198 2271 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 2381 y(*)g(but)g(WITHOUT)f
-(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-2491 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 2600 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 2710 y(*)198 2819
-y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 2929 y(*)h(along)g(with)f(this)h
-(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 3039 y(*)198 3148 y(*/)150 3367 y(#include)f(<stdio.h>)150
-3477 y(#include)g(<stdlib.h>)150 3587 y(#include)g(<string.h>)150
-3696 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-3806 y(#include)h(<stringprep.h>)150 4025 y(/*)198 4134
-y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
-(recommended:)198 4244 y(*)198 4354 y(*)g($)h(libtool)d(cc)j(-o)f
-(example)f(example.c)f(`pkg-config)g(--cflags)g(--libs)h(libidn`)198
-4463 y(*)h($)h(./example)198 4573 y(*)f(Input)g(string)f(encoded)f(as)j
-(`ISO-8859-1':)92 b(a)198 4682 y(*)47 b(Before)f(locale2utf8)f
-(\(length)h(2\):)94 b(aa)48 b(0a)198 4792 y(*)f(Before)f(stringprep)f
-(\(length)h(3\):)95 b(c2)47 b(aa)g(0a)198 4902 y(*)g(After)g
-(stringprep)e(\(length)g(2\):)95 b(61)47 b(0a)198 5011
-y(*)g($)198 5121 y(*)198 5230 y(*/)p eop end
-%%Page: 39 44
-TeXDict begin 39 43 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(39)150 299 y Fo(int)150 408 y(main)47
-b(\(void\))150 518 y({)245 628 y(char)g(buf[BUFSIZ];)245
-737 y(char)g(*p;)245 847 y(int)g(rc;)245 956 y(size_t)g(i;)245
-1176 y(setlocale)f(\(LC_ALL,)f(""\);)245 1395 y(printf)i(\("Input)e
-(string)h(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)
-o(et)42 b(\(\)\);)245 1504 y(fflush)47 b(\(stdout\);)245
-1614 y(if)h(\(!fgets)d(\(buf,)i(BUFSIZ,)f(stdin\)\))341
-1724 y(perror)g(\("fgets"\);)245 1833 y(buf[strlen)f(\(buf\))i(-)g(1])g
-(=)h('\\0';)245 2052 y(printf)f(\("Before)e(locale2utf8)g(\(length)h
-(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245 2162
-y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-2271 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-2381 y(printf)f(\("\\n"\);)245 2600 y(p)h(=)f
-(stringprep_locale_to_utf8)41 b(\(buf\);)245 2710 y(if)48
-b(\(p\))341 2819 y({)436 2929 y(strcpy)e(\(buf,)h(p\);)436
-3039 y(free)g(\(p\);)341 3148 y(})245 3258 y(else)341
-3367 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
-(continuing)f(anyway...\\n"\);)245 3587 y(printf)i(\("Before)e
-(stringprep)g(\(length)h(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
-3696 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-3806 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-3915 y(printf)f(\("\\n"\);)245 4134 y(rc)h(=)f(stringprep)e(\(buf,)h
-(BUFSIZ,)g(0,)h(stringprep_nameprep\);)245 4244 y(if)h(\(rc)f(!=)g
-(STRINGPREP_OK\))341 4354 y(printf)f(\("Stringprep)e(failed)j
-(\(\045d\):)94 b(\045s\\n",)46 b(rc,)h(stringprep_strerror)42
-b(\(rc\)\);)245 4463 y(else)341 4573 y({)436 4682 y(printf)k(\("After)g
-(stringprep)f(\(length)h(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)436
-4792 y(for)h(\(i)g(=)h(0;)f(i)h(<)f(strlen)f(\(buf\);)g(i++\))532
-4902 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)436
-5011 y(printf)e(\("\\n"\);)341 5121 y(})245 5340 y(return)h(0;)p
-eop end
-%%Page: 40 45
-TeXDict begin 40 44 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(40)150 299 y Fo(})150 544 y Ft(9.2)68
-b(Example)46 b(2)150 704 y Fu(This)30 b(example)h(demonstrates)f(ho)m
-(w)h(the)f(pun)m(yco)s(de)g(functions)g(are)h(used.)150
-847 y Fo(/*)47 b(example2.c)e(---)i(Example)f(code)h(showing)e(how)i
-(to)g(use)g(punycode.)198 956 y(*)g(Copyright)e(\(C\))i(2002-2012)f
-(Simon)g(Josefsson)198 1066 y(*)h(Copyright)e(\(C\))i(2002)95
-b(Adam)46 b(M.)i(Costello)198 1176 y(*)198 1285 y(*)f(This)g(file)f(is)
-i(part)e(of)h(GNU)g(Libidn.)198 1395 y(*)198 1504 y(*)g(This)g(program)
-f(is)h(free)f(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)
-f(modify)198 1614 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g
-(General)f(Public)g(License)g(as)h(published)e(by)198
-1724 y(*)i(the)g(Free)g(Software)e(Foundation,)g(either)h(version)g(3)h
-(of)h(the)e(License,)g(or)198 1833 y(*)h(\(at)g(your)g(option\))f(any)g
-(later)h(version.)198 1943 y(*)198 2052 y(*)g(This)g(program)f(is)h
-(distributed)e(in)i(the)g(hope)f(that)h(it)g(will)g(be)g(useful,)198
-2162 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
-(implied)g(warranty)g(of)198 2271 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
-f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)198
-2381 y(*)g(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)198
-2491 y(*)198 2600 y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)
-i(the)f(GNU)f(General)g(Public)g(License)198 2710 y(*)h(along)g(with)f
-(this)h(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o
-(ses/)o(>.)198 2819 y(*)198 2929 y(*/)150 3148 y(#include)f(<locale.h>)
-617 b(/*)47 b(setlocale\(\))e(*/)150 3367 y(/*)198 3477
-y(*)i(This)g(file)f(is)i(derived)d(from)i(RFC)g(3492)g(written)e(by)j
-(Adam)e(M.)h(Costello.)198 3587 y(*)198 3696 y(*)g(Disclaimer)e(and)i
-(license:)93 b(Regarding)46 b(this)g(entire)g(document)g(or)h(any)198
-3806 y(*)g(portion)f(of)h(it)g(\(including)e(the)i(pseudocode)e(and)i
-(C)h(code\),)e(the)h(author)198 3915 y(*)g(makes)g(no)g(guarantees)e
-(and)i(is)g(not)g(responsible)d(for)j(any)g(damage)f(resulting)198
-4025 y(*)h(from)g(its)g(use.)190 b(The)46 b(author)h(grants)f
-(irrevocable)e(permission)h(to)j(anyone)198 4134 y(*)f(to)g(use,)g
-(modify,)f(and)h(distribute)e(it)i(in)g(any)g(way)g(that)g(does)f(not)h
-(diminish)198 4244 y(*)g(the)g(rights)f(of)h(anyone)f(else)h(to)g(use,)
-g(modify,)f(and)h(distribute)e(it,)198 4354 y(*)i(provided)f(that)g
-(redistributed)f(derivative)g(works)h(do)h(not)g(contain)198
-4463 y(*)g(misleading)e(author)h(or)h(version)f(information.)188
-b(Derivative)45 b(works)h(need)198 4573 y(*)h(not)g(be)g(licensed)f
-(under)g(similar)g(terms.)198 4682 y(*)198 4792 y(*/)150
-5011 y(#include)g(<assert.h>)150 5121 y(#include)g(<stdio.h>)150
-5230 y(#include)g(<stdlib.h>)150 5340 y(#include)g(<string.h>)p
-eop end
-%%Page: 41 46
-TeXDict begin 41 45 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(41)150 408 y Fo(#include)46 b(<punycode.h>)150
-628 y(/*)h(For)g(testing,)f(we'll)g(just)h(set)g(some)f(compile-time)f
-(limits)h(rather)g(than)g(*/)150 737 y(/*)h(use)g(malloc\(\),)e(and)i
-(set)g(a)h(compile-time)c(option)i(rather)g(than)h(using)f(a)95
-b(*/)150 847 y(/*)47 b(command-line)e(option.)4293 b(*/)150
-1066 y(enum)150 1176 y({)245 1285 y(unicode_max_length)43
-b(=)48 b(256,)245 1395 y(ace_max_length)c(=)k(256)150
-1504 y(};)150 1724 y(static)e(void)150 1833 y(usage)g(\(char)h
-(**argv\))150 1943 y({)245 2052 y(fprintf)f(\(stderr,)675
-2162 y("\\n")675 2271 y("\045s)h(-e)g(reads)f(code)h(points)f(and)h
-(writes)f(a)i(Punycode)d(string.\\n")675 2381 y("\045s)i(-d)g(reads)f
-(a)i(Punycode)d(string)i(and)f(writes)h(code)f(points.\\n")675
-2491 y("\\n")675 2600 y("Input)g(and)h(output)f(are)h(plain)f(text)h
-(in)g(the)g(native)f(character)f(set.\\n")675 2710 y("Code)h(points)g
-(are)h(in)h(the)e(form)h(u+hex)f(separated)g(by)h(whitespace.\\n")675
-2819 y("Although)e(the)i(specification)d(allows)i(Punycode)g(strings)g
-(to)h(contain\\n")675 2929 y("any)g(characters)e(from)h(the)h(ASCII)g
-(repertoire,)d(this)j(test)g(code\\n")675 3039 y("supports)e(only)i
-(the)g(printable)e(characters,)g(and)i(needs)f(the)h(Punycode\\n")675
-3148 y("string)f(to)h(be)g(followed)f(by)h(a)g(newline.\\n")675
-3258 y("The)g(case)f(of)h(the)g(u)h(in)f(u+hex)f(is)i(the)e
-(force-to-uppercase)d(flag.\\n",)675 3367 y(argv[0],)j(argv[0]\);)245
-3477 y(exit)h(\(EXIT_FAILURE\);)150 3587 y(})150 3806
-y(static)f(void)150 3915 y(fail)h(\(const)f(char)g(*msg\))150
-4025 y({)245 4134 y(fputs)h(\(msg,)f(stderr\);)245 4244
-y(exit)h(\(EXIT_FAILURE\);)150 4354 y(})150 4573 y(static)f(const)g
-(char)h(too_big[])e(=)245 4682 y("input)i(or)g(output)f(is)h(too)g
-(large,)f(recompile)f(with)i(larger)f(limits\\n";)150
-4792 y(static)g(const)g(char)h(invalid_input[])d(=)j("invalid)f
-(input\\n";)150 4902 y(static)g(const)g(char)h(overflow[])e(=)j
-("arithmetic)c(overflow\\n";)150 5011 y(static)i(const)g(char)h
-(io_error[])e(=)j("I/O)e(error\\n";)150 5230 y(/*)h(The)g(following)e
-(string)h(is)i(used)e(to)h(convert)f(printable)g(*/)150
-5340 y(/*)h(characters)e(between)h(ASCII)g(and)h(the)g(native)f
-(charset:)189 b(*/)p eop end
-%%Page: 42 47
-TeXDict begin 42 46 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(42)150 408 y Fo(static)46 b(const)g(char)h
-(print_ascii[])d(=)k("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\n)o
-(\\n\\n)o(\\n")41 b("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\)o
-(n\\n\\)o(n")h(")47 b(!\\"#$\045&'\(\)*+,-./")c("0123456789:;<=>?")g
-("\\0x40")93 b(/*)48 b(at)f(sign)f(*/)245 518 y("ABCDEFGHIJKLMNO")245
-628 y("PQRSTUVWXYZ[\\\\]^_")d("`abcdefghijklmno")g
-("pqrstuvwxyz{|}~\\n";)150 847 y(int)150 956 y(main)k(\(int)f(argc,)h
-(char)f(**argv\))150 1066 y({)245 1176 y(enum)h(punycode_status)d
-(status;)245 1285 y(int)j(r;)245 1395 y(size_t)g(input_length,)d
-(output_length,)g(j;)245 1504 y(unsigned)i(char)h
-(case_flags[unicode_max_)o(leng)o(th])o(;)245 1724 y(setlocale)f
-(\(LC_ALL,)f(""\);)245 1943 y(if)j(\(argc)e(!=)h(2\))341
-2052 y(usage)f(\(argv\);)245 2162 y(if)i(\(argv[1][0])c(!=)k('-'\))341
-2271 y(usage)e(\(argv\);)245 2381 y(if)i(\(argv[1][2])c(!=)k(0\))341
-2491 y(usage)e(\(argv\);)245 2710 y(if)i(\(argv[1][1])c(==)k('e'\))341
-2819 y({)436 2929 y(uint32_t)e(input[unicode_max_length)o(];)436
-3039 y(unsigned)g(long)h(codept;)436 3148 y(char)g
-(output[ace_max_length)42 b(+)47 b(1],)g(uplus[3];)436
-3258 y(int)g(c;)436 3477 y(/*)h(Read)e(the)h(input)f(code)h(points:)94
-b(*/)436 3696 y(input_length)45 b(=)i(0;)436 3915 y(for)g(\(;;\))532
-4025 y({)627 4134 y(r)h(=)f(scanf)g(\("\0452s\045lx",)e(uplus,)h
-(&codept\);)627 4244 y(if)h(\(ferror)f(\(stdin\)\))723
-4354 y(fail)g(\(io_error\);)627 4463 y(if)h(\(r)h(==)f(EOF)g(||)g(r)g
-(==)h(0\))723 4573 y(break;)627 4792 y(if)f(\(r)h(!=)f(2)g(||)g
-(uplus[1])f(!=)h('+')g(||)g(codept)f(>)i(\(uint32_t\))d(-)i(1\))723
-4902 y({)818 5011 y(fail)g(\(invalid_input\);)723 5121
-y(})627 5340 y(if)g(\(input_length)e(==)i(unicode_max_length\))p
-eop end
-%%Page: 43 48
-TeXDict begin 43 47 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(43)723 299 y Fo(fail)46 b(\(too_big\);)627
-518 y(if)h(\(uplus[0])f(==)h('u'\))723 628 y(case_flags[input_length)o
-(])42 b(=)47 b(0;)627 737 y(else)g(if)g(\(uplus[0])e(==)j('U'\))723
-847 y(case_flags[input_length)o(])42 b(=)47 b(1;)627
-956 y(else)723 1066 y(fail)f(\(invalid_input\);)627 1285
-y(input[input_length++])c(=)48 b(codept;)532 1395 y(})436
-1614 y(/*)g(Encode:)93 b(*/)436 1833 y(output_length)45
-b(=)i(ace_max_length;)436 1943 y(status)f(=)i(punycode_encode)c
-(\(input_length,)f(input,)k(case_flags,)1677 2052 y(&output_length,)d
-(output\);)436 2162 y(if)k(\(status)d(==)j(punycode_bad_input\))532
-2271 y(fail)e(\(invalid_input\);)436 2381 y(if)i(\(status)d(==)j
-(punycode_big_output\))532 2491 y(fail)e(\(too_big\);)436
-2600 y(if)i(\(status)d(==)j(punycode_overflow\))532 2710
-y(fail)e(\(overflow\);)436 2819 y(assert)g(\(status)g(==)h
-(punycode_success\);)436 3039 y(/*)h(Convert)d(to)j(native)e(charset)f
-(and)i(output:)94 b(*/)436 3258 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f
-(output_length;)d(++j\))532 3367 y({)627 3477 y(c)k(=)f(output[j];)627
-3587 y(assert)f(\(c)i(>=)f(0)g(&&)g(c)h(<=)f(127\);)627
-3696 y(if)g(\(print_ascii[c])d(==)j(0\))723 3806 y(fail)f
-(\(invalid_input\);)627 3915 y(output[j])g(=)h(print_ascii[c];)532
-4025 y(})436 4244 y(output[j])f(=)h(0;)436 4354 y(r)h(=)f(puts)g
-(\(output\);)436 4463 y(if)h(\(r)f(==)g(EOF\))532 4573
-y(fail)f(\(io_error\);)436 4682 y(return)g(EXIT_SUCCESS;)341
-4792 y(})245 5011 y(if)i(\(argv[1][1])c(==)k('d'\))341
-5121 y({)436 5230 y(char)f(input[ace_max_length)42 b(+)48
-b(2],)f(*p,)g(*pp;)436 5340 y(uint32_t)f(output[unicode_max_lengt)o
-(h];)p eop end
-%%Page: 44 49
-TeXDict begin 44 48 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(44)436 408 y Fo(/*)48 b(Read)e(the)h(Punycode)f
-(input)g(string)g(and)h(convert)f(to)h(ASCII:)f(*/)436
-628 y(if)i(\(!fgets)d(\(input,)h(ace_max_length)e(+)k(2,)f(stdin\)\))
-532 737 y(fail)f(\(io_error\);)436 847 y(if)i(\(ferror)d(\(stdin\)\))
-532 956 y(fail)h(\(io_error\);)436 1066 y(if)i(\(feof)e(\(stdin\)\))532
-1176 y(fail)g(\(invalid_input\);)436 1285 y(input_length)f(=)i(strlen)f
-(\(input\))g(-)i(1;)436 1395 y(if)g(\(input[input_length])42
-b(!=)47 b('\\n'\))532 1504 y(fail)f(\(too_big\);)436
-1614 y(input[input_length])d(=)k(0;)436 1833 y(for)g(\(p)g(=)h(input;)e
-(*p)h(!=)g(0;)h(++p\))532 1943 y({)627 2052 y(pp)f(=)h(strchr)e
-(\(print_ascii,)e(*p\);)627 2162 y(if)j(\(pp)g(==)h(0\))723
-2271 y(fail)e(\(invalid_input\);)627 2381 y(*p)h(=)h(pp)f(-)h
-(print_ascii;)532 2491 y(})436 2710 y(/*)g(Decode:)93
-b(*/)436 2929 y(output_length)45 b(=)i(unicode_max_length;)436
-3039 y(status)f(=)i(punycode_decode)c(\(input_length,)f(input,)k
-(&output_length,)1677 3148 y(output,)f(case_flags\);)436
-3258 y(if)i(\(status)d(==)j(punycode_bad_input\))532
-3367 y(fail)e(\(invalid_input\);)436 3477 y(if)i(\(status)d(==)j
-(punycode_big_output\))532 3587 y(fail)e(\(too_big\);)436
-3696 y(if)i(\(status)d(==)j(punycode_overflow\))532 3806
-y(fail)e(\(overflow\);)436 3915 y(assert)g(\(status)g(==)h
-(punycode_success\);)436 4134 y(/*)h(Output)e(the)h(result:)93
-b(*/)436 4354 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f(output_length;)d(++j\))
-532 4463 y({)627 4573 y(r)k(=)f(printf)f(\("\045s+\04504lX\\n",)1200
-4682 y(case_flags[j])e(?)95 b("U")47 b(:)95 b("u",)47
-b(\(unsigned)e(long\))i(output[j]\);)627 4792 y(if)g(\(r)h(<)f(0\))723
-4902 y(fail)f(\(io_error\);)532 5011 y(})436 5230 y(return)g
-(EXIT_SUCCESS;)341 5340 y(})p eop end
-%%Page: 45 50
-TeXDict begin 45 49 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(45)245 408 y Fo(usage)47 b(\(argv\);)245
-518 y(return)g(EXIT_SUCCESS;)473 b(/*)47 b(not)g(reached,)f(but)h
-(quiets)f(compiler)f(warning)h(*/)150 628 y(})150 873
-y Ft(9.3)68 b(Example)46 b(3)150 1032 y Fu(This)40 b(example)i
-(demonstrates)g(ho)m(w)f(the)g(library)g(is)g(used)g(to)h(con)m(v)m
-(ert)h(in)m(ternationalized)g(domain)150 1142 y(names)30
-b(in)m(to)i(ASCI)s(I)c(compatible)k(names.)150 1285 y
-Fo(/*)47 b(example3.c)e(---)i(Example)f(ToASCII\(\))f(code)i(showing)f
-(how)h(to)g(use)g(Libidn.)198 1395 y(*)g(Copyright)e(\(C\))i(2002-2012)
-f(Simon)g(Josefsson)198 1504 y(*)198 1614 y(*)h(This)g(file)f(is)i
-(part)e(of)h(GNU)g(Libidn.)198 1724 y(*)198 1833 y(*)g(This)g(program)f
-(is)h(free)f(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f
-(modify)198 1943 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g
-(General)f(Public)g(License)g(as)h(published)e(by)198
-2052 y(*)i(the)g(Free)g(Software)e(Foundation,)g(either)h(version)g(3)h
-(of)h(the)e(License,)g(or)198 2162 y(*)h(\(at)g(your)g(option\))f(any)g
-(later)h(version.)198 2271 y(*)198 2381 y(*)g(This)g(program)f(is)h
-(distributed)e(in)i(the)g(hope)f(that)h(it)g(will)g(be)g(useful,)198
-2491 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
-(implied)g(warranty)g(of)198 2600 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
-f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)198
-2710 y(*)g(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)198
-2819 y(*)198 2929 y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)
-i(the)f(GNU)f(General)g(Public)g(License)198 3039 y(*)h(along)g(with)f
-(this)h(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o
-(ses/)o(>.)198 3148 y(*)198 3258 y(*/)150 3477 y(#include)f(<stdio.h>)
-150 3587 y(#include)g(<stdlib.h>)150 3696 y(#include)g(<string.h>)150
-3806 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-3915 y(#include)h(<stringprep.h>)425 b(/*)47 b
-(stringprep_locale_charset\()o(\))42 b(*/)150 4025 y(#include)k
-(<idna.h>)713 b(/*)47 b(idna_to_ascii_lz\(\))c(*/)150
-4244 y(/*)198 4354 y(*)k(Compiling)e(using)i(libtool)f(and)h
-(pkg-config)e(is)i(recommended:)198 4463 y(*)198 4573
-y(*)g($)h(libtool)d(cc)j(-o)f(example3)e(example3.c)g(`pkg-config)g
-(--cflags)h(--libs)g(libidn`)198 4682 y(*)h($)h(./example3)198
-4792 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
-b(www.raksmorgaasa.exampl)o(e)198 4902 y(*)47 b(Read)g(string)f
-(\(length)g(23\):)94 b(77)47 b(77)g(77)h(2e)f(72)g(e4)g(6b)g(73)h(6d)f
-(f6)g(72)g(67)g(e5)g(73)h(aa)f(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
-198 5011 y(*)g(ACE)g(label)f(\(length)g(33\):)95 b
-('www.xn--rksmrgsa-0zap8)o(p.ex)o(amp)o(le')198 5121
-y(*)47 b(77)g(77)h(77)f(2e)g(78)g(6e)g(2d)g(2d)h(72)f(6b)g(73)g(6d)g
-(72)h(67)f(73)g(61)g(2d)g(30)g(7a)h(61)f(70)g(38)g(70)g(2e)h(65)f(78)g
-(61)g(6d)g(70)g(6c)h(65)198 5230 y(*)f($)198 5340 y(*)p
-eop end
-%%Page: 46 51
-TeXDict begin 46 50 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(46)198 299 y Fo(*/)150 518 y(int)150
-628 y(main)47 b(\(void\))150 737 y({)245 847 y(char)g(buf[BUFSIZ];)245
-956 y(char)g(*p;)245 1066 y(int)g(rc;)245 1176 y(size_t)g(i;)245
-1395 y(setlocale)f(\(LC_ALL,)f(""\);)245 1614 y(printf)i(\("Input)e
-(domain)h(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)
-o(et)42 b(\(\)\);)245 1724 y(fflush)47 b(\(stdout\);)245
-1833 y(if)h(\(!fgets)d(\(buf,)i(BUFSIZ,)f(stdin\)\))341
-1943 y(perror)g(\("fgets"\);)245 2052 y(buf[strlen)f(\(buf\))i(-)g(1])g
-(=)h('\\0';)245 2271 y(printf)f(\("Read)f(string)g(\(length)g
-(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245 2381
-y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-2491 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-2600 y(printf)f(\("\\n"\);)245 2819 y(rc)h(=)f(idna_to_ascii_lz)c
-(\(buf,)k(&p,)g(0\);)245 2929 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
-3039 y({)436 3148 y(printf)f(\("ToASCII\(\))f(failed)h(\(\045d\):)94
-b(\045s\\n",)46 b(rc,)h(idna_strerror)e(\(rc\)\);)436
-3258 y(return)h(EXIT_FAILURE;)341 3367 y(})245 3587 y(printf)h(\("ACE)f
-(label)g(\(length)g(\045ld\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)g
-(p\);)245 3696 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))
-341 3806 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
-3915 y(printf)g(\("\\n"\);)245 4134 y(free)g(\(p\);)245
-4354 y(return)g(0;)150 4463 y(})150 4709 y Ft(9.4)68
-b(Example)46 b(4)150 4868 y Fu(This)30 b(example)h(demonstrates)f(ho)m
-(w)h(the)f(library)g(is)h(used)e(to)i(con)m(v)m(ert)h(ASCI)s(I)d
-(compatible)j(names)e(to)150 4978 y(in)m(ternationalized)j(domain)d
-(names.)150 5121 y Fo(/*)47 b(example4.c)e(---)i(Example)f
-(ToUnicode\(\))f(code)h(showing)g(how)h(to)g(use)g(Libidn.)198
-5230 y(*)g(Copyright)e(\(C\))i(2002-2012)f(Simon)g(Josefsson)198
-5340 y(*)p eop end
-%%Page: 47 52
-TeXDict begin 47 51 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(47)198 299 y Fo(*)47 b(This)g(file)f(is)i(part)e(of)h
-(GNU)g(Libidn.)198 408 y(*)198 518 y(*)g(This)g(program)f(is)h(free)f
-(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-628 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f(Public)
-g(License)g(as)h(published)e(by)198 737 y(*)i(the)g(Free)g(Software)e
-(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g(or)198
-847 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-956 y(*)198 1066 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 1176 y(*)g(but)g(WITHOUT)f
-(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-1285 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 1395 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 1504 y(*)198 1614
-y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 1724 y(*)h(along)g(with)f(this)h
-(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 1833 y(*)198 1943 y(*/)150 2162 y(#include)f(<stdio.h>)150
-2271 y(#include)g(<stdlib.h>)150 2381 y(#include)g(<string.h>)150
-2491 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-2600 y(#include)h(<stringprep.h>)425 b(/*)47 b
-(stringprep_locale_charset\()o(\))42 b(*/)150 2710 y(#include)k
-(<idna.h>)713 b(/*)47 b(idna_to_unicode_lzlz\(\))42 b(*/)150
-2929 y(/*)198 3039 y(*)47 b(Compiling)e(using)i(libtool)f(and)h
-(pkg-config)e(is)i(recommended:)198 3148 y(*)198 3258
-y(*)g($)h(libtool)d(cc)j(-o)f(example4)e(example4.c)g(`pkg-config)g
-(--cflags)h(--libs)g(libidn`)198 3367 y(*)h($)h(./example4)198
-3477 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
-b(www.xn--rksmrgsa-0zap8p)o(.ex)o(ampl)o(e)198 3587 y(*)47
-b(Read)g(string)f(\(length)g(33\):)94 b(77)47 b(77)g(77)h(2e)f(78)g(6e)
-g(2d)g(2d)h(72)f(6b)g(73)g(6d)g(72)g(67)h(73)f(61)g(2d)g(30)g(7a)h(61)f
-(70)g(38)g(70)g(2e)g(65)h(78)f(61)g(6d)g(70)g(6c)g(65)198
-3696 y(*)g(ACE)g(label)f(\(length)g(23\):)95 b('www.raksmorgaasa.examp)
-o(le')198 3806 y(*)47 b(77)g(77)h(77)f(2e)g(72)g(e4)g(6b)g(73)h(6d)f
-(f6)g(72)g(67)g(e5)h(73)f(61)g(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
-198 3915 y(*)g($)198 4025 y(*)198 4134 y(*/)150 4354
-y(int)150 4463 y(main)g(\(void\))150 4573 y({)245 4682
-y(char)g(buf[BUFSIZ];)245 4792 y(char)g(*p;)245 4902
-y(int)g(rc;)245 5011 y(size_t)g(i;)245 5230 y(setlocale)f(\(LC_ALL,)f
-(""\);)p eop end
-%%Page: 48 53
-TeXDict begin 48 52 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(48)245 299 y Fo(printf)47 b(\("Input)e(domain)h
-(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)o(et)42
-b(\(\)\);)245 408 y(fflush)47 b(\(stdout\);)245 518 y(if)h(\(!fgets)d
-(\(buf,)i(BUFSIZ,)f(stdin\)\))341 628 y(perror)g(\("fgets"\);)245
-737 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)245
-956 y(printf)f(\("Read)f(string)g(\(length)g(\045ld\):)94
-b(",)47 b(strlen)f(\(buf\)\);)245 1066 y(for)h(\(i)h(=)f(0;)g(i)h(<)f
-(strlen)f(\(buf\);)g(i++\))341 1176 y(printf)g(\("\04502x)g(",)h
-(buf[i])f(&)i(0xFF\);)245 1285 y(printf)f(\("\\n"\);)245
-1504 y(rc)h(=)f(idna_to_unicode_lzlz)42 b(\(buf,)47 b(&p,)g(0\);)245
-1614 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341 1724 y({)436
-1833 y(printf)f(\("ToUnicode\(\))f(failed)h(\(\045d\):)94
-b(\045s\\n",)46 b(rc,)h(idna_strerror)d(\(rc\)\);)436
-1943 y(return)i(EXIT_FAILURE;)341 2052 y(})245 2271 y(printf)h(\("ACE)f
-(label)g(\(length)g(\045ld\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)g
-(p\);)245 2381 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))
-341 2491 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
-2600 y(printf)g(\("\\n"\);)245 2819 y(free)g(\(p\);)245
-3039 y(return)g(0;)150 3148 y(})150 3394 y Ft(9.5)68
-b(Example)46 b(5)150 3553 y Fu(This)31 b(example)h(demonstrates)f(ho)m
-(w)h(the)f(library)g(is)h(used)e(to)i(c)m(hec)m(k)h(a)f(string)f(for)h
-(in)m(v)-5 b(alid)31 b(c)m(haracters)150 3663 y(within)f(a)h(sp)s
-(eci\014c)f(TLD.)150 3806 y Fo(/*)47 b(example5.c)e(---)i(Example)f
-(TLD)h(checking.)198 3915 y(*)g(Copyright)e(\(C\))i(2004-2012)f(Simon)g
-(Josefsson)198 4025 y(*)198 4134 y(*)h(This)g(file)f(is)i(part)e(of)h
-(GNU)g(Libidn.)198 4244 y(*)198 4354 y(*)g(This)g(program)f(is)h(free)f
-(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-4463 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 4573 y(*)i(the)g(Free)g
-(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 4682 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-4792 y(*)198 4902 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 5011 y(*)g(but)g(WITHOUT)f
-(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-5121 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 5230 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 5340 y(*)p eop end
-%%Page: 49 54
-TeXDict begin 49 53 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(49)198 299 y Fo(*)47 b(You)g(should)f(have)h
-(received)e(a)j(copy)e(of)i(the)f(GNU)f(General)g(Public)g(License)198
-408 y(*)h(along)g(with)f(this)h(program.)189 b(If)47
-b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o(>.)198
-518 y(*)198 628 y(*/)150 847 y(#include)f(<stdio.h>)150
-956 y(#include)g(<stdlib.h>)150 1066 y(#include)g(<string.h>)150
-1285 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)94
-b(*/)150 1395 y(#include)46 b(<stringprep.h>)150 1614
-y(/*)h(Get)g(idna_to_ascii_8z,)c(etc.)95 b(*/)150 1724
-y(#include)46 b(<idna.h>)150 1943 y(/*)h(Get)g(tld_check_4z.)92
-b(*/)150 2052 y(#include)46 b(<tld.h>)150 2271 y(/*)198
-2381 y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
-(recommended:)198 2491 y(*)198 2600 y(*)g($)h(libtool)d(cc)j(-o)f
-(example5)e(example5.c)g(`pkg-config)g(--cflags)h(--libs)g(libidn`)198
-2710 y(*)h($)h(./example5)198 2819 y(*)f(Input)g(domain)f(encoded)f(as)
-j(`UTF-8':)93 b(fooss.no)198 2929 y(*)47 b(Read)g(string)f(\(length)g
-(8\):)94 b(66)48 b(6f)f(6f)g(c3)g(9f)g(2e)g(6e)h(6f)198
-3039 y(*)f(ToASCII)f(string)g(\(length)g(8\):)95 b(fooss.no)198
-3148 y(*)47 b(ToUnicode)e(string:)94 b(U+0066)46 b(U+006f)g(U+006f)g
-(U+0073)g(U+0073)g(U+002e)h(U+006e)f(U+006f)198 3258
-y(*)h(Domain)f(accepted)g(by)h(TLD)g(check)198 3367 y(*)198
-3477 y(*)g($)h(./example5)198 3587 y(*)f(Input)g(domain)f(encoded)f(as)
-j(`UTF-8':)93 b(greuroeuron.no)198 3696 y(*)47 b(Read)g(string)f
-(\(length)g(12\):)94 b(67)47 b(72)g(e2)h(82)f(ac)g(e2)g(82)g(ac)h(6e)f
-(2e)g(6e)g(6f)198 3806 y(*)g(ToASCII)f(string)g(\(length)g(16\):)94
-b(xn--grn-l50aa.no)198 3915 y(*)47 b(ToUnicode)e(string:)94
-b(U+0067)46 b(U+0072)g(U+20ac)g(U+20ac)g(U+006e)g(U+002e)h(U+006e)f
-(U+006f)198 4025 y(*)h(Domain)f(rejected)g(by)h(TLD)g(check,)f(Unicode)
-g(position)f(2)198 4134 y(*)198 4244 y(*/)150 4463 y(int)150
-4573 y(main)i(\(void\))150 4682 y({)245 4792 y(char)g(buf[BUFSIZ];)245
-4902 y(char)g(*p;)245 5011 y(uint32_t)f(*r;)245 5121
-y(int)h(rc;)245 5230 y(size_t)g(errpos,)e(i;)p eop end
-%%Page: 50 55
-TeXDict begin 50 54 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(50)245 299 y Fo(printf)47 b(\("Input)e(domain)h
-(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)o(et)42
-b(\(\)\);)245 408 y(fflush)47 b(\(stdout\);)245 518 y(if)h(\(!fgets)d
-(\(buf,)i(BUFSIZ,)f(stdin\)\))341 628 y(perror)g(\("fgets"\);)245
-737 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)245
-956 y(printf)f(\("Read)f(string)g(\(length)g(\045ld\):)94
-b(",)47 b(strlen)f(\(buf\)\);)245 1066 y(for)h(\(i)h(=)f(0;)g(i)h(<)f
-(strlen)f(\(buf\);)g(i++\))341 1176 y(printf)g(\("\04502x)g(",)h
-(buf[i])f(&)i(0xFF\);)245 1285 y(printf)f(\("\\n"\);)245
-1504 y(p)h(=)f(stringprep_locale_to_utf8)41 b(\(buf\);)245
-1614 y(if)48 b(\(p\))341 1724 y({)436 1833 y(strcpy)e(\(buf,)h(p\);)436
-1943 y(free)g(\(p\);)341 2052 y(})245 2162 y(else)341
-2271 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
-(continuing)f(anyway...\\n"\);)245 2491 y(rc)j(=)f(idna_to_ascii_8z)c
-(\(buf,)k(&p,)g(0\);)245 2600 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
-2710 y({)436 2819 y(printf)f(\("idna_to_ascii_8z)d(failed)j(\(\045d\):)
-94 b(\045s\\n",)47 b(rc,)f(idna_strerror)f(\(rc\)\);)436
-2929 y(return)h(2;)341 3039 y(})245 3258 y(printf)h(\("ToASCII)e
-(string)h(\(length)g(\045ld\):)94 b(\045s\\n",)46 b(strlen)g(\(p\),)h
-(p\);)245 3477 y(rc)h(=)f(idna_to_unicode_8z4z)42 b(\(p,)47
-b(&r,)g(0\);)245 3587 y(free)g(\(p\);)245 3696 y(if)h(\(rc)f(!=)g
-(IDNA_SUCCESS\))341 3806 y({)436 3915 y(printf)f
-(\("idna_to_unicode_8z4z)c(failed)k(\(\045d\):)94 b(\045s\\n",)818
-4025 y(rc,)47 b(idna_strerror)d(\(rc\)\);)436 4134 y(return)i(2;)341
-4244 y(})245 4463 y(printf)h(\("ToUnicode)d(string:)94
-b("\);)245 4573 y(for)47 b(\(i)h(=)f(0;)g(r[i];)g(i++\))341
-4682 y(printf)f(\("U+\04504x)g(",)h(r[i]\);)245 4792
-y(printf)g(\("\\n"\);)245 5011 y(rc)h(=)f(tld_check_4z)e(\(r,)h
-(&errpos,)g(NULL\);)245 5121 y(free)h(\(r\);)245 5230
-y(if)h(\(rc)f(==)g(TLD_INVALID\))341 5340 y({)p eop end
-%%Page: 51 56
-TeXDict begin 51 55 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Examples)2661 b(51)436 299 y Fo(printf)46 b(\("Domain)g(rejected)g
-(by)h(TLD)g(check,)f(Unicode)g(position)f(\045ld\\n",)h(errpos\);)436
-408 y(return)g(1;)341 518 y(})245 628 y(else)h(if)g(\(rc)g(!=)g
-(TLD_SUCCESS\))341 737 y({)436 847 y(printf)f(\("tld_check_4z\(\))e
-(failed)i(\(\045d\):)94 b(\045s\\n",)46 b(rc,)h(tld_strerror)d
-(\(rc\)\);)436 956 y(return)i(2;)341 1066 y(})245 1285
-y(printf)h(\("Domain)e(accepted)h(by)h(TLD)g(check\\n"\);)245
-1504 y(return)g(0;)150 1614 y(})p eop end
-%%Page: 52 57
-TeXDict begin 52 56 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(52)150 299 y Fr(10)80
-b(In)l(v)l(oking)52 b(idn)150 648 y Ft(10.1)68 b(Name)150
-807 y Fu(GNU)31 b(Libidn)e(\(idn\))h({)h(In)m(ternationalized)h(Domain)
-g(Names)f(command)f(line)g(to)s(ol)150 1047 y Ft(10.2)68
-b(Description)150 1206 y Fo(idn)34 b Fu(allo)m(ws)j(in)m
-(ternationalized)h(string)d(preparation)g(\(`)p Fo(stringprep)p
-Fu('\),)h(enco)s(ding)f(and)g(deco)s(ding)g(of)150 1316
-y(pun)m(yco)s(de)h(data,)j(and)d(IDNA)h(T)-8 b(oASCI)s(I/T)g(oUnico)s
-(de)37 b(op)s(erations)g(to)g(b)s(e)f(p)s(erformed)f(on)h(the)h(com-)
-150 1425 y(mand)30 b(line.)275 1564 y(If)i(strings)h(are)g(sp)s
-(eci\014ed)f(on)h(the)g(command)f(line,)i(they)g(are)f(used)f(as)h
-(input)f(and)g(the)h(computed)150 1674 y(output)h(is)g(prin)m(ted)f(to)
-i(standard)e(output)h Fo(stdout)p Fu(.)49 b(If)34 b(no)g(strings)g(are)
-g(sp)s(eci\014ed)f(on)h(the)g(command)150 1784 y(line,)42
-b(the)d(program)g(read)f(data,)k(line)e(b)m(y)f(line,)i(from)e(the)g
-(standard)f(input)g Fo(stdin)p Fu(,)i(and)e(prin)m(t)h(the)150
-1893 y(computed)g(output)g(to)h(standard)f(output.)67
-b(What)40 b(pro)s(cessing)f(is)h(p)s(erformed)e(\(e.g.,)43
-b(T)-8 b(oASCI)s(I,)39 b(or)150 2003 y(Pun)m(yco)s(de)32
-b(enco)s(de\))i(is)f(indicated)g(b)m(y)g(options.)48
-b(If)33 b(an)m(y)g(errors)f(are)h(encoun)m(tered,)i(the)e(execution)h
-(of)150 2112 y(the)d(applications)g(is)g(ab)s(orted.)275
-2252 y(All)e(strings)g(are)g(exp)s(ected)g(to)h(b)s(e)e(enco)s(ded)h
-(in)f(the)h(preferred)f(c)m(harset)i(used)e(b)m(y)h(y)m(our)g(lo)s
-(cale.)42 b(Use)150 2361 y Fo(--debug)c Fu(to)j(\014nd)e(out)i(what)f
-(this)g(c)m(harset)h(is.)71 b(Y)-8 b(ou)40 b(can)h(o)m(v)m(erride)g
-(the)g(c)m(harset)g(used)f(b)m(y)g(setting)150 2471 y(en)m(vironmen)m
-(t)31 b(v)-5 b(ariable)31 b Fo(CHARSET)p Fu(.)275 2610
-y(T)-8 b(o)38 b(pro)s(cess)g(a)g(string)g(that)h(starts)f(with)g
-Fo(-)p Fu(,)i(for)e(example)g Fo(-foo)p Fu(,)h(use)f
-Fo(--)g Fu(to)g(signal)h(the)f(end)g(of)150 2720 y(parameters,)31
-b(as)g(in)f Fo(idn)f(--quiet)g(-a)g(--)h(-foo)p Fu(.)150
-2959 y Ft(10.3)68 b(Options)150 3119 y Fo(idn)29 b Fu(recognizes)k
-(these)d(commands:)245 3258 y Fo(-h,)47 b(--help)715
-b(Print)46 b(help)h(and)g(exit)245 3477 y(-V,)g(--version)571
-b(Print)46 b(version)g(and)h(exit)245 3696 y(-s,)g(--stringprep)427
-b(Prepare)45 b(string)i(according)e(to)i(nameprep)f(profile)245
-3915 y(-d,)h(--punycode-decode)187 b(Decode)46 b(Punycode)245
-4134 y(-e,)h(--punycode-encode)187 b(Encode)46 b(Punycode)245
-4354 y(-a,)h(--idna-to-ascii)283 b(Convert)45 b(to)j(ACE)f(according)e
-(to)i(IDNA)g(\(default)e(mode\))245 4573 y(-u,)i(--idna-to-unicode)187
-b(Convert)45 b(from)i(ACE)g(according)e(to)i(IDNA)436
-4792 y(--allow-unassigned)139 b(Toggle)46 b(IDNA)g(AllowUnassigned)e
-(flag)j(\(default)e(off\))436 5011 y(--usestd3asciirules)91
-b(Toggle)46 b(IDNA)g(UseSTD3ASCIIRules)d(flag)k(\(default)f(off\))436
-5230 y(--no-tld)619 b(Don't)46 b(check)g(string)g(for)h(TLD)g(specific)
-f(rules)1534 5340 y(Only)h(for)g(--idna-to-ascii)c(and)k
-(--idna-to-unicode)p eop end
-%%Page: 53 58
-TeXDict begin 53 57 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(53)245 408 y Fo(-n,)47
-b(--nfkc)715 b(Normalize)45 b(string)h(according)f(to)i(Unicode)f(v3.2)
-h(NFKC)245 628 y(-p,)g(--profile=STRING)235 b(Use)47
-b(specified)e(stringprep)g(profile)h(instead)1534 737
-y(Valid)g(stringprep)f(profiles:)h(`Nameprep',)1534 847
-y(`iSCSI',)g(`Nodeprep',)e(`Resourceprep',)1534 956 y(`trace',)i
-(`SASLprep')436 1176 y(--debug)667 b(Print)46 b(debugging)f
-(information)436 1395 y(--quiet)667 b(Silent)46 b(operation)150
-1654 y Ft(10.4)68 b(En)l(vironmen)l(t)46 b(V)-11 b(ariables)150
-1814 y Fu(The)25 b Fk(CHARSET)31 b Fu(en)m(vironmen)m(t)26
-b(v)-5 b(ariable)26 b(can)g(b)s(e)f(used)f(to)j(o)m(v)m(erride)f(what)g
-(c)m(haracter)h(set)f(to)g(b)s(e)f(used)150 1923 y(for)35
-b(deco)s(ding)f(incoming)i(data)f(\(i.e.,)j(on)c(the)h(command)g(line)g
-(or)g(on)f(the)h(standard)f(input)g(stream\),)150 2033
-y(and)27 b(to)i(enco)s(de)f(data)h(to)g(the)f(standard)f(output.)40
-b(If)27 b(y)m(our)h(system)g(is)h(set)f(up)f(correctly)-8
-b(,)31 b(ho)m(w)m(ev)m(er,)f(the)150 2143 y(application)i(will)e(guess)
-h(whic)m(h)f(c)m(haracter)i(set)f(is)f(used)g(automatically)-8
-b(.)44 b(Example)30 b(usage:)390 2295 y Fo($)47 b(CHARSET=ISO-8859-1)c
-(idn)k(--punycode-encode)390 2405 y(...)150 2664 y Ft(10.5)68
-b(Examples)150 2824 y Fu(Standard)29 b(usage,)i(reading)g(input)e(from)
-h(standard)g(input:)390 2976 y Fo(jas@latte:~$)44 b(idn)390
-3086 y(libidn)i(0.3.5)390 3195 y(Copyright)f(2002,)i(2003)f(Simon)h
-(Josefsson.)390 3305 y(GNU)g(Libidn)f(comes)g(with)h(NO)g(WARRANTY,)e
-(to)j(the)f(extent)f(permitted)f(by)i(law.)390 3415 y(You)g(may)g
-(redistribute)d(copies)i(of)i(GNU)e(Libidn)h(under)f(the)h(terms)f(of)
-390 3524 y(the)h(GNU)g(Lesser)f(General)g(Public)g(License.)93
-b(For)47 b(more)g(information)390 3634 y(about)f(these)h(matters,)e
-(see)i(the)g(file)g(named)f(COPYING.LIB.)390 3743 y(Type)h(each)f
-(input)h(string)f(on)h(a)g(line)g(by)g(itself,)f(terminated)f(by)i(a)h
-(newline)d(character.)390 3853 y(r\177)-48 b(aksm\177)g(org\027)g
-(as.se)390 3963 y(xn--rksmrgs-5wao1o.se)390 4072 y(jas@latte:~$)275
-4225 y Fu(Reading)32 b(input)g(from)g(command)g(line,)h(and)f(disable)h
-(prin)m(ting)f(cop)m(yrigh)m(t)i(and)d(license)j(informa-)150
-4334 y(tion:)390 4487 y Fo(jas@latte:~$)44 b(idn)j(--quiet)f(r\177)-48
-b(aksm\177)g(org\027)g(as.se)44 b(bl\027)-48 b(ab\032rgr\034d.no)390
-4596 y(xn--rksmrgs-5wao1o.se)390 4706 y(xn--blbrgrd-fxak7p.no)390
-4816 y(jas@latte:~$)275 4968 y Fu(Accessing)31 b(a)g(sp)s(eci\014c)f
-(StringPrep)f(pro\014le)h(directly:)390 5121 y Fo(jas@latte:~$)44
-b(idn)j(--quiet)f(--profile=SASLprep)d(--stringprep)h(te\031t)3302
-5082 y Ff(a)p 3302 5095 36 4 v 390 5230 a Fo(te\031ta)390
-5340 y(jas@latte:~$)p eop end
-%%Page: 54 59
-TeXDict begin 54 58 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(54)150 299 y Ft(10.6)68
-b(T)-11 b(roublesho)t(oting)150 458 y Fu(Getting)32 b(c)m(haracter)g
-(data)f(enco)s(ded)g(righ)m(t,)g(and)f(making)h(sure)f(Libidn)f(use)h
-(the)h(same)g(enco)s(ding,)g(can)150 568 y(b)s(e)i(di\016cult.)50
-b(The)33 b(reason)g(for)h(this)f(is)g(that)h(most)g(systems)g(enco)s
-(de)f(c)m(haracter)i(data)f(in)g(more)f(than)150 677
-y(one)e(c)m(haracter)g(enco)s(ding,)g(i.e.,)g(using)f
-Fo(UTF-8)f Fu(together)j(with)d Fo(ISO-8859-1)f Fu(or)i
-Fo(ISO-2022-JP)p Fu(.)38 b(This)150 787 y(problem)g(is)h(lik)m(ely)h
-(to)f(con)m(tin)m(ue)h(to)f(exist)h(un)m(til)e(only)h(one)g(c)m
-(haracter)h(enco)s(ding)f(come)g(out)g(as)g(the)150 897
-y(ev)m(olutionary)32 b(winner,)d(or)i(\(more)g(lik)m(ely)-8
-b(,)32 b(at)f(least)h(to)f(some)g(exten)m(ts\))h(forev)m(er.)275
-1027 y(The)d(\014rst)h(step)g(to)h(troublesho)s(oting)f(c)m(haracter)i
-(enco)s(ding)e(problems)g(with)g(Libidn)f(is)h(to)h(use)f(the)150
-1137 y(`)p Fo(--debug)p Fu(')24 b(parameter)j(to)f(\014nd)e(out)i(whic)
-m(h)g(c)m(haracter)h(set)g(enco)s(ding)f(`)p Fo(idn)p
-Fu(')f(b)s(eliev)m(e)i(y)m(our)f(lo)s(cale)h(uses.)390
-1268 y Fo(jas@latte:~$)44 b(idn)j(--debug)f(--quiet)g("")390
-1377 y(system)g(locale)g(uses)h(charset)f(`UTF-8'.)390
-1597 y(jas@latte:~$)275 1727 y Fu(If)27 b(it)i(prin)m(ts)f
-Fo(ANSI_X3.4-1968)c Fu(\(i.e.,)30 b Fo(US-ASCII)p Fu(\),)d(this)h
-(indicate)h(y)m(ou)g(ha)m(v)m(e)g(not)g(con\014gured)e(y)m(our)150
-1837 y(lo)s(cale)40 b(prop)s(erly)-8 b(.)66 b(T)-8 b(o)39
-b(con\014gure)f(the)h(lo)s(cale,)k(y)m(ou)c(can,)j(for)c(example,)k
-(use)c(`)p Fo(LANG=sv_SE.UTF-8;)150 1946 y(export)29
-b(LANG)p Fu(')g(at)i(a)g Fo(/bin/sh)d Fu(prompt,)i(to)g(set)h(up)e(y)m
-(our)i(lo)s(cale)h(for)e(a)g(Sw)m(edish)g(en)m(vironmen)m(t)g(using)150
-2056 y Fo(UTF-8)f Fu(as)i(the)f(enco)s(ding.)275 2187
-y(Sometimes)36 b(`)p Fo(idn)p Fu(')g(app)s(ear)g(to)h(b)s(e)e(unable)h
-(to)h(translate)g(from)f(y)m(our)g(system)g(lo)s(cale)i(in)m(to)f
-Fo(UTF-8)150 2296 y Fu(\(whic)m(h)30 b(is)h(used)e(in)m(ternally\),)j
-(and)e(y)m(ou)h(get)g(an)g(error)f(lik)m(e)h(the)g(follo)m(wing:)390
-2427 y Fo(jas@latte:~$)44 b(idn)j(--quiet)f(foo)390 2537
-y(idn:)h(could)f(not)h(convert)f(from)g(ISO-8859-1)f(to)j(UTF-8.)390
-2646 y(jas@latte:~$)275 2777 y Fu(The)26 b(simplest)i(explanation)g(is)
-g(that)g(y)m(ou)f(ha)m(v)m(en't)i(installed)f(the)g(`)p
-Fo(iconv)p Fu(')e(con)m(v)m(ersion)j(to)s(ols.)40 b(Y)-8
-b(ou)150 2887 y(can)38 b(\014nd)f(it)i(as)f(a)h(standalone)g(library)f
-(in)f(GNU)i(Libicon)m(v)g(\()p Fo(http:)6 b(/)g(/)f(www)h(.)f(gnu)h(.)f
-(org)h(/)f(software)h(/)150 2996 y(libiconv/)p Fu(\).)37
-b(On)25 b(man)m(y)h(GNU/Lin)m(ux)h(systems,)g(this)e(library)h(is)g
-(part)g(of)g(the)g(system,)h(but)e(y)m(ou)h(ma)m(y)150
-3106 y(ha)m(v)m(e)32 b(to)f(install)g(additional)g(pac)m(k)-5
-b(ages)32 b(\(e.g.,)h(`)p Fo(glibc-locale)p Fu(')27 b(for)j(Debian\))i
-(to)f(b)s(e)e(able)i(to)h(use)e(it.)275 3237 y(Another)i(explanation)i
-(is)f(that)g(the)g(error)g(is)g(correct)h(and)e(y)m(ou)h(are)g(feeding)
-g(`)p Fo(idn)p Fu(')g(in)m(v)-5 b(alid)33 b(data.)150
-3346 y(This)21 b(can)i(happ)s(en)d(inadv)m(erten)m(tly)k(if)e(y)m(ou)h
-(are)f(not)h(careful)f(with)g(the)h(c)m(haracter)h(set)e(enco)s(ding)g
-(y)m(ou)h(use.)150 3456 y(F)-8 b(or)29 b(example,)g(if)f(y)m(our)g
-(shell)h(run)d(in)i(a)h Fo(ISO-8859-1)c Fu(en)m(vironmen)m(t,)k(and)f
-(y)m(ou)g(in)m(v)m(ok)m(e)i(`)p Fo(idn)p Fu(')e(with)g(the)150
-3565 y(`)p Fo(CHARSET)p Fu(')e(en)m(vironmen)m(t)i(v)-5
-b(ariable)28 b(as)g(follo)m(ws,)h(y)m(ou)f(will)g(feed)f(it)h
-Fo(ISO-8859-1)d Fu(c)m(haracters)k(but)d(force)150 3675
-y(it)k(to)h(b)s(eliev)m(e)g(they)f(are)g Fo(UTF-8)p Fu(.)39
-b(Naturally)31 b(this)f(will)g(lead)g(to)h(an)e(error,)h(unless)f(the)h
-(b)m(yte)h(sequences)150 3785 y(happ)s(en)36 b(to)i(b)s(e)e(v)-5
-b(alid)38 b Fo(UTF-8)p Fu(.)60 b(Note)39 b(that)f(ev)m(en)g(if)f(y)m
-(ou)g(don't)h(get)g(an)f(error,)i(the)f(output)f(ma)m(y)h(b)s(e)150
-3894 y(incorrect)c(in)e(this)g(situation,)j(b)s(ecause)e
-Fo(ISO-8859-1)c Fu(and)j Fo(UTF-8)g Fu(do)s(es)g(not)h(in)f(general)i
-(enco)s(de)f(the)150 4004 y(same)e(c)m(haracters)h(as)e(the)h(same)g(b)
-m(yte)g(sequences.)390 4134 y Fo(jas@latte:~$)44 b(idn)j(--quiet)f
-(--debug)g("")390 4244 y(system)g(locale)g(uses)h(charset)f
-(`ISO-8859-1'.)390 4463 y(jas@latte:~$)e(CHARSET=UTF-8)h(idn)i(--quiet)
-e(--debug)h(r\177)-48 b(aksm\177)g(org\027)g(as)390 4573
-y(system)46 b(locale)g(uses)h(charset)f(`UTF-8'.)390
-4682 y(input[0])g(=)h(U+0072)390 4792 y(input[1])f(=)h(U+4af3)390
-4902 y(input[2])f(=)h(U+006d)390 5011 y(input[3])f(=)h(U+1b29e5)390
-5121 y(input[4])f(=)h(U+0073)390 5230 y(output[0])e(=)j(U+0078)390
-5340 y(output[1])d(=)j(U+006e)p eop end
-%%Page: 55 60
-TeXDict begin 55 59 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(55)390 299 y Fo(output[2])45
-b(=)j(U+002d)390 408 y(output[3])d(=)j(U+002d)390 518
-y(output[4])d(=)j(U+0072)390 628 y(output[5])d(=)j(U+006d)390
-737 y(output[6])d(=)j(U+0073)390 847 y(output[7])d(=)j(U+002d)390
-956 y(output[8])d(=)j(U+0068)390 1066 y(output[9])d(=)j(U+0069)390
-1176 y(output[10])d(=)i(U+0036)390 1285 y(output[11])e(=)i(U+0064)390
-1395 y(output[12])e(=)i(U+0035)390 1504 y(output[13])e(=)i(U+0039)390
-1614 y(output[14])e(=)i(U+0037)390 1724 y(output[15])e(=)i(U+0035)390
-1833 y(output[16])e(=)i(U+0035)390 1943 y(output[17])e(=)i(U+0032)390
-2052 y(output[18])e(=)i(U+0061)390 2162 y(xn--rms-hi6d597552a)390
-2271 y(jas@latte:~$)275 2406 y Fu(The)35 b(sense)g(moral)i(here)e(is)h
-(to)g(forget)h(ab)s(out)e(`)p Fo(CHARSET)p Fu(')g(\(con\014gure)h(y)m
-(our)f(lo)s(cales)i(prop)s(erly)e(in-)150 2516 y(stead\))c(unless)f(y)m
-(ou)g(kno)m(w)h(what)f(y)m(ou)h(are)f(doing,)h(and)f(if)g(y)m(ou)h(w)m
-(an)m(t)g(to)g(use)f(it,)h(do)f(it)h(carefully)-8 b(,)31
-b(after)150 2625 y(v)m(erifying)g(with)f(`)p Fo(--debug)p
-Fu(')f(that)i(y)m(ou)g(get)g(the)g(desired)f(results.)p
-eop end
-%%Page: 56 61
-TeXDict begin 56 60 bop 150 -116 a Fu(Chapter)30 b(11:)41
-b(Emacs)31 b(API)2546 b(56)150 299 y Fr(11)80 b(Emacs)54
-b(API)150 563 y Fu(Included)32 b(in)h(Libidn)g(are)g(`)p
-Fo(punycode.el)p Fu(')e(and)i(`)p Fo(idna.el)p Fu(')f(that)i(pro)m
-(vides)f(an)h(Emacs)f(Lisp)g(API)g(to)150 673 y(\(a)28
-b(limited)g(set)g(of)7 b(\))27 b(the)h(Libidn)e(API.)h(This)f(section)j
-(describ)s(es)d(the)h(API.)h(Curren)m(tly)e(the)h(IDNA)h(API)150
-783 y(alw)m(a)m(ys)k(set)f(the)g Fo(UseSTD3ASCIIRules)25
-b Fu(\015ag)31 b(and)f(clear)h(the)g Fo(AllowUnassigned)26
-b Fu(\015ag,)31 b(in)f(the)h(future)150 892 y(there)g(ma)m(y)g(b)s(e)e
-(functionalit)m(y)j(to)f(sp)s(ecify)f(these)h(\015ags)g(via)g(the)f
-(API.)150 1140 y Ft(11.1)68 b(Pun)l(yco)t(de)45 b(Emacs)g(API)3371
-1359 y Fu([V)-8 b(ariable])-3598 b Fm(punycode-program)390
-1469 y Fu(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fo(idn)p
-Fu(')g(application.)52 b(The)33 b(default)h(is)f(`)p
-Fo(idn)p Fu('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
-1578 y(b)s(e)30 b(customized.)3371 1783 y([V)-8 b(ariable])-3598
-b Fm(punycode-environment)390 1892 y Fu(List)34 b(of)g(en)m(vironmen)m
-(t)h(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
-Fo(process-environment)p Fu('.)46 b(The)390 2002 y(default)31
-b(is)f(`)p Fo(\("CHARSET=UTF-8"\))p Fu('.)36 b(This)30
-b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
-2206 y([V)-8 b(ariable])-3598 b Fm(punycode-encode-parame)q(ter)q(s)390
-2316 y Fu(List)62 b(of)g(parameters)g(passed)f(to)i Fk(pun)m(yco)s
-(de-program)e Fu(to)h(in)m(v)m(ok)m(e)i(pun)m(yco)s(de)d(enco)s(ding)
-390 2426 y(mo)s(de.)67 b(The)39 b(default)h(is)g(`)p
-Fo(\("--quiet")27 b("--punycode-encode"\))p Fu('.)63
-b(This)39 b(v)-5 b(ariable)40 b(can)g(b)s(e)390 2535
-y(customized.)3371 2740 y([V)-8 b(ariable])-3598 b Fm
-(punycode-decode-parame)q(ter)q(s)390 2849 y Fu(P)m(arameters)40
-b(passed)e(to)i Fk(pun)m(yco)s(de-program)e Fu(to)i(in)m(v)m(ok)m(e)h
-(pun)m(yco)s(de)d(deco)s(ding)h(mo)s(de.)65 b(The)390
-2959 y(default)31 b(is)f(`)p Fo(\("--quiet")e("--punycode-decode"\))p
-Fu('.)35 b(This)30 b(v)-5 b(ariable)31 b(can)g(b)s(e)e(customized.)3350
-3164 y([F)-8 b(unction])-3599 b Fm(punycode-encode)50
-b Fk(string)390 3273 y Fu(Returns)29 b(a)i(Pun)m(yco)s(de)f(enco)s
-(ding)g(of)h(the)g Fk(string)p Fu(,)f(after)h(con)m(v)m(erting)h(the)f
-(input)e(in)m(to)j(UTF-8.)3350 3478 y([F)-8 b(unction])-3599
-b Fm(punycode-decode)50 b Fk(string)390 3587 y Fu(Returns)37
-b(a)h(p)s(ossibly)g(m)m(ultib)m(yte)h(string)f(whic)m(h)g(is)g(the)g
-(deco)s(ding)g(of)g(the)g Fk(string)46 b Fu(whic)m(h)38
-b(is)g(a)390 3697 y(pun)m(yco)s(de)30 b(enco)s(ded)g(string.)150
-3944 y Ft(11.2)68 b(IDNA)45 b(Emacs)g(API)3371 4164 y
-Fu([V)-8 b(ariable])-3598 b Fm(idna-program)390 4273
-y Fu(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fo(idn)p
-Fu(')g(application.)52 b(The)33 b(default)h(is)f(`)p
-Fo(idn)p Fu('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
-4383 y(b)s(e)30 b(customized.)3371 4587 y([V)-8 b(ariable])-3598
-b Fm(idna-environment)390 4697 y Fu(List)34 b(of)g(en)m(vironmen)m(t)h
-(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
-Fo(process-environment)p Fu('.)46 b(The)390 4807 y(default)31
-b(is)f(`)p Fo(\("CHARSET=UTF-8"\))p Fu('.)36 b(This)30
-b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
-5011 y([V)-8 b(ariable])-3598 b Fm(idna-to-ascii-paramete)q(rs)390
-5121 y Fu(List)31 b(of)f(parameters)h(passed)f(to)h Fk(idna-program)f
-Fu(to)i(in)m(v)m(ok)m(e)g(IDNA)f(T)-8 b(oASCI)s(I)29
-b(mo)s(de.)41 b(The)30 b(de-)390 5230 y(fault)k(is)g(`)p
-Fo(\("--quiet")28 b("--idna-to-ascii")d("--usestd3asciirules"\))p
-Fu('.)45 b(This)33 b(v)-5 b(ariable)390 5340 y(can)31
-b(b)s(e)e(customized.)p eop end
-%%Page: 57 62
-TeXDict begin 57 61 bop 150 -116 a Fu(Chapter)30 b(11:)41
-b(Emacs)31 b(API)2546 b(57)3371 299 y([V)-8 b(ariable])-3598
-b Fm(idna-to-unicode-parame)q(ter)q(s)390 408 y Fu(P)m(arameters)38
-b(passed)e Fk(idna-program)g Fu(to)h(in)m(v)m(ok)m(e)i(IDNA)e(T)-8
-b(oUnico)s(de)37 b(mo)s(de.)59 b(The)36 b(default)h(is)390
-518 y(`)p Fo(\("--quiet")28 b("--idna-to-unicode")d
-("--usestd3asciirules"\))p Fu('.)73 b(This)43 b(v)-5
-b(ariable)44 b(can)390 628 y(b)s(e)30 b(customized.)3350
-812 y([F)-8 b(unction])-3599 b Fm(idna-to-ascii)49 b
-Fk(string)390 922 y Fu(Returns)26 b(an)h(ASCI)s(I)e(Compatible)j(Enco)s
-(ding)e(\(A)m(CE\))i(of)f(the)h(string)e(computed)h(b)m(y)g(the)g(IDNA)
-390 1031 y(T)-8 b(oASCI)s(I)29 b(op)s(eration)i(on)f(the)h(input)e
-Fk(string)p Fu(,)i(after)g(con)m(v)m(erting)h(the)f(input)e(to)i
-(UTF-8.)3350 1215 y([F)-8 b(unction])-3599 b Fm(idna-to-unicode)50
-b Fk(string)390 1325 y Fu(Returns)43 b(a)g(p)s(ossibly)g(m)m(ultib)m
-(yte)i(string)e(whic)m(h)g(is)h(the)g(output)f(of)g(the)h(IDNA)g(T)-8
-b(oUnico)s(de)390 1435 y(op)s(eration)31 b(computed)f(on)g(the)h(input)
-e Fk(string)p Fu(.)p eop end
-%%Page: 58 63
-TeXDict begin 58 62 bop 150 -116 a Fu(Chapter)30 b(12:)41
-b(Ja)m(v)-5 b(a)32 b(API)2627 b(58)150 299 y Fr(12)80
-b(Ja)l(v)-9 b(a)55 b(API)150 540 y Fu(Libidn)31 b(has)h(b)s(een)g(p)s
-(orted)g(to)h(the)f(Ja)m(v)-5 b(a)34 b(programming)e(language,)j(and)c
-(as)i(a)g(consequence)g(most)g(of)150 649 y(the)27 b(API)f(is)g(a)m(v)
--5 b(ailable)29 b(to)e(nativ)m(e)h(Ja)m(v)-5 b(a)27 b(applications.)41
-b(This)26 b(section)h(con)m(tain)h(notes)f(on)f(this)g(supp)s(ort,)150
-759 y(complete)32 b(do)s(cumen)m(tation)f(is)f(p)s(ending.)275
-896 y(The)c(Ja)m(v)-5 b(a)28 b(library)-8 b(,)27 b(if)g(Libidn)f(has)g
-(b)s(een)g(built)h(with)f(Ja)m(v)-5 b(a)28 b(supp)s(ort)d(\(see)j
-(Section)f(1.7)h([Do)m(wnload-)150 1005 y(ing)h(and)f(Installing],)i
-(page)f(6\),)h(will)f(b)s(e)f(placed)i(in)e(`)p Fo
-(java/libidn-1.25.jar)p Fu('.)35 b(The)28 b(source)h(co)s(de)g(is)150
-1115 y(lo)s(cated)j(in)e(`)p Fo(java/gnu/inet/encoding/)p
-Fu('.)150 1351 y Ft(12.1)68 b(Ov)l(erview)150 1510 y
-Fu(This)37 b(pac)m(k)-5 b(age)40 b(pro)m(vides)f(a)f(Ja)m(v)-5
-b(a)39 b(implemen)m(tation)h(of)e(the)h(In)m(ternationalized)h(Domain)f
-(Names)f(in)150 1620 y(Applications)43 b(\(IDNA\))g(standard.)75
-b(It)42 b(is)g(written)g(en)m(tirely)i(in)d(Ja)m(v)-5
-b(a)43 b(and)f(do)s(es)g(not)g(require)g(an)m(y)150 1729
-y(additional)31 b(libraries)g(to)g(b)s(e)f(set)h(up.)275
-1866 y(The)i(gn)m(u.inet.enco)s(ding.IDNA)k(class)e(o\013ers)g(t)m(w)m
-(o)g(public)f(functions,)h(toASCI)s(I)f(and)g(toUnico)s(de)150
-1976 y(whic)m(h)c(can)h(b)s(e)f(used)f(as)i(follo)m(ws:)390
-2112 y Fo(gnu.inet.encoding.IDNA.t)o(oASC)o(II\(")o(bl\177)-49
-b(ods.z)o(\177)h(ug"\))o(;)390 2222 y(gnu.inet.encoding.IDNA.t)o(oUni)o
-(code)o(\("x)o(n--b)o(lds-)o(6qa)o(.xn-)o(-zg-)o(xka)o("\);)150
-2458 y Ft(12.2)68 b(Miscellaneous)47 b(Programs)150 2617
-y Fu(The)31 b(`)p Fo(misc/)p Fu(')f(directory)i(con)m(tains)h(sev)m
-(eral)g(programs)e(that)h(are)g(related)g(to)g(the)g(Ja)m(v)-5
-b(a)32 b(part)g(of)f(GNU)150 2727 y(Libidn,)e(but)h(that)h(don't)f
-(need)h(to)g(b)s(e)e(included)h(in)g(the)h(main)f(source)g(tree.)150
-2928 y Fn(12.2.1)63 b(GenerateRF)m(C3454)150 3075 y Fu(This)43
-b(program)h(parses)g(RF)m(C3454)i(and)e(creates)h(the)f(RF)m(C3454.ja)m
-(v)-5 b(a)48 b(program)c(that)h(is)f(required)150 3185
-y(during)29 b(the)i(StringPrep)e(phase.)275 3322 y(The)37
-b(RF)m(C)i(can)f(b)s(e)f(found)g(at)i(v)-5 b(arious)38
-b(lo)s(cations,)k(for)c(example)g(at)h Fo(http:)6 b(/)g(/)f(www)h(.)f
-(ietf)h(.)f(org)h(/)150 3431 y(rfc/rfc3454.txt)p Fu(.)275
-3568 y(In)m(v)m(ok)m(e)31 b(the)g(program)f(as)h(follo)m(ws:)390
-3705 y Fo($)47 b(java)g(GenerateRFC3454)390 3814 y(Creating)f
-(RFC3454.java...)d(Ok.)150 4016 y Fn(12.2.2)63 b(GenerateNFK)m(C)150
-4163 y Fu(The)44 b(GenerateNFK)m(C)j(program)e(parses)f(the)h(Unico)s
-(de)g(c)m(haracter)i(database)e(\014le)g(and)g(generates)150
-4272 y(all)f(the)g(tables)g(required)e(for)h(NFK)m(C.)h(This)e(program)
-h(requires)g(the)g(t)m(w)m(o)i(\014les)e(Unico)s(deData.txt)150
-4382 y(and)e(Comp)s(ositionExclusions.txt)i(of)f(v)m(ersion)g(3.2)h(of)
-f(the)g(Unico)s(de)g(\014les.)75 b(Note)43 b(that)g(RF)m(C3454)150
-4491 y(\(Stringprep\))30 b(de\014nes)f(that)i(Unico)s(de)g(v)m(ersion)g
-(3.2)g(is)f(to)i(b)s(e)d(used,)h(not)h(the)f(latest)i(v)m(ersion.)275
-4628 y(The)d(Unico)s(de)i(data)g(\014les)f(can)h(b)s(e)f(found)f(at)i
-Fo(http://www.unicode.org/P)o(ubli)o(c/)p Fu(.)275 4765
-y(In)m(v)m(ok)m(e)g(the)g(program)f(as)h(follo)m(ws:)390
-4902 y Fo($)47 b(java)g(GenerateNFKC)390 5011 y(Creating)f
-(CombiningClass.java...)41 b(Ok.)390 5121 y(Creating)46
-b(DecompositionKeys.java.)o(..)41 b(Ok.)390 5230 y(Creating)46
-b(DecompositionMappings.j)o(ava)o(...)41 b(Ok.)390 5340
-y(Creating)46 b(Composition.java...)c(Ok.)p eop end
-%%Page: 59 64
-TeXDict begin 59 63 bop 150 -116 a Fu(Chapter)30 b(12:)41
-b(Ja)m(v)-5 b(a)32 b(API)2627 b(59)150 299 y Fn(12.2.3)63
-b(T)-10 b(estIDNA)150 446 y Fu(The)22 b(T)-8 b(estIDNA)25
-b(program)d(allo)m(ws)i(to)g(test)g(the)f(IDNA)g(implemen)m(tation)i
-(man)m(ually)e(or)g(against)i(Simon)150 555 y(Josefsson's)30
-b(test)i(v)m(ectors.)275 696 y(The)21 b(test)h(v)m(ectors)h(can)f(b)s
-(e)f(found)g(at)h(the)g(Libidn)e(homepage,)25 b Fo
-(http://www.gnu.org/soft)o(ware)o(/)150 806 y(libidn/)p
-Fu(.)275 946 y(T)-8 b(o)30 b(test)i(the)e(transformation)h(man)m(ually)
--8 b(,)32 b(use:)390 1087 y Fo($)47 b(java)g(-cp)g(.:../libidn.jar)d
-(TestIDNA)h(-a)i(<string)f(to)h(test>)390 1197 y(Input:)f(<string)g(to)
-h(test>)390 1306 y(Output:)f(<toASCII\(string)d(to)48
-b(test\)>)390 1416 y($)f(java)g(-cp)g(.:../libidn.jar)d(TestIDNA)h(-u)i
-(<string)f(to)h(test>)390 1525 y(Input:)f(<string)g(to)h(test>)390
-1635 y(Output:)f(<toUnicode\(string)d(to)k(test\)>)275
-1776 y Fu(T)-8 b(o)30 b(test)i(against)f(draft-josefsson-idn-test-v)m
-(ectors.h)m(tml,)j(use:)390 1916 y Fo($)47 b(java)g(-cp)g
-(.:../libidn.jar)d(TestIDNA)h(-t)390 2026 y(No)i(errors)f(detected!)150
-2231 y Fn(12.2.4)63 b(T)-10 b(estNFK)m(C)150 2378 y Fu(The)29
-b(T)-8 b(estNFK)m(C)30 b(program)f(allo)m(ws)h(to)g(test)h(the)e(NFK)m
-(C)g(implemen)m(tation)i(man)m(ually)f(or)f(against)i(the)150
-2488 y(NormalizationT)-8 b(est.txt)34 b(\014le)d(from)f(the)g(Unico)s
-(de)h(data)g(\014les.)275 2629 y(T)-8 b(o)30 b(test)i(the)e
-(normalization)i(man)m(ually)-8 b(,)32 b(use:)390 2769
-y Fo($)47 b(java)g(-cp)g(.:../libidn.jar)d(TestNFKC)h(<string)h(to)h
-(test>)390 2879 y(Input:)f(<string)g(to)h(test>)390 2989
-y(Output:)f(<nfkc)g(version)g(of)h(the)g(string)f(to)h(test>)275
-3129 y Fu(T)-8 b(o)30 b(test)i(against)f(NormalizationT)-8
-b(est.txt:)390 3270 y Fo($)47 b(java)g(-cp)g(.:../libidn.jar)d
-(TestNFKC)390 3380 y(No)j(errors)f(detected!)150 3621
-y Ft(12.3)68 b(P)l(ossible)46 b(Problems)150 3781 y Fu(Bew)m(are)28
-b(of)f(Bugs:)39 b(This)26 b(Ja)m(v)-5 b(a)27 b(API)g(needs)f(a)h(lot)h
-(more)e(testing,)j(esp)s(ecially)f(with)e Fo(")p Fu(exotic)p
-Fo(")i Fu(c)m(haracter)150 3890 y(sets.)41 b(While)31
-b(it)g(w)m(orks)g(for)f(me,)g(it)h(ma)m(y)g(not)g(w)m(ork)f(for)g(y)m
-(ou.)275 4031 y(Enco)s(ding)21 b(of)h(y)m(our)h(Ja)m(v)-5
-b(a)23 b(sources:)36 b(If)22 b(y)m(ou)g(are)h(using)f(non-ASCI)s(I)e(c)
-m(haracters)k(in)e(y)m(our)g(Ja)m(v)-5 b(a)23 b(source)150
-4141 y(co)s(de,)g(mak)m(e)f(sure)d(ja)m(v)-5 b(ac)22
-b(compiles)g(y)m(our)e(programs)g(with)g(the)h(correct)h(enco)s(ding.)
-37 b(If)20 b(necessary)h(sp)s(ecify)150 4250 y(the)31
-b(enco)s(ding)f(using)g(the)g(-enco)s(ding)h(parameter.)275
-4391 y(Ja)m(v)-5 b(a)24 b(Unico)s(de)g(handling:)37 b(Ja)m(v)-5
-b(a)25 b(1.4)f(only)g(handles)f(16-bit)i(Unico)s(de)f(co)s(de)g(p)s
-(oin)m(ts)g(\(i.e.)39 b(c)m(haracters)150 4500 y(in)28
-b(the)h(Basic)h(Multilingual)g(Plane\),)g(this)f(implemen)m(tation)h
-(therefore)f(ignores)g(all)h(references)f(to)g(so-)150
-4610 y(called)36 b(Supplemen)m(tary)f(Characters)g(\(U)p
-Fo(+)p Fu(10000)j(to)e(U)p Fo(+)p Fu(10FFFF\).)h(Starting)f(from)f(Ja)m
-(v)-5 b(a)36 b(1.5,)h(these)150 4720 y(c)m(haracters)32
-b(will)f(also)g(b)s(e)f(supp)s(orted)e(b)m(y)j(Ja)m(v)-5
-b(a,)31 b(but)f(this)g(will)h(require)f(c)m(hanges)h(to)h(this)e
-(library)-8 b(.)41 b(See)150 4829 y(also)31 b(the)g(next)f(section.)150
-5071 y Ft(12.4)68 b(A)45 b(Note)h(on)e(Ja)l(v)-7 b(a)46
-b(and)f(Unico)t(de)150 5230 y Fu(This)22 b(library)h(uses)f(Ja)m(v)-5
-b(a's)25 b(built-in)d('c)m(har')i(datat)m(yp)s(e.)40
-b(Up)22 b(to)i(Ja)m(v)-5 b(a)24 b(1.4,)i(this)d(datat)m(yp)s(e)h(only)f
-(supp)s(orts)150 5340 y(16-bit)46 b(Unico)s(de)g(co)s(de)f(p)s(oin)m
-(ts,)k(also)e(called)f(the)f(Basic)i(Multilingual)g(Plane.)85
-b(F)-8 b(or)46 b(this)f(reason,)p eop end
-%%Page: 60 65
-TeXDict begin 60 64 bop 150 -116 a Fu(Chapter)30 b(12:)41
-b(Ja)m(v)-5 b(a)32 b(API)2627 b(60)150 299 y(this)35
-b(library)h(do)s(esn't)f(w)m(ork)h(for)f(Supplemen)m(tary)g(Characters)
-h(\(i.e.)57 b(c)m(haracters)37 b(from)e(U)p Fo(+)p Fu(10000)j(to)150
-408 y(U)p Fo(+)p Fu(10FFFF\).)33 b(All)e(references)g(to)g(suc)m(h)f(c)
-m(haracters)i(are)f(silen)m(tly)g(ignored.)275 543 y(Starting)26
-b(from)g(Ja)m(v)-5 b(a)28 b(1.5,)g(also)f(Supplemen)m(tary)f
-(Characters)h(will)f(b)s(e)g(supp)s(orted.)38 b(Ho)m(w)m(ev)m(er,)29
-b(this)150 653 y(will)24 b(require)g(c)m(hanges)h(in)f(the)h(presen)m
-(t)f(v)m(ersion)g(of)h(the)f(library)-8 b(.)39 b(Ja)m(v)-5
-b(a)25 b(1.5)g(is)f(curren)m(tly)g(in)g(b)s(eta)g(status.)275
-787 y(F)-8 b(or)24 b(more)g(information)g(refer)g(to)g(the)g(do)s
-(cumen)m(tation)h(of)f(ja)m(v)-5 b(a.lang.Character)26
-b(in)d(the)h(JDK)g(API.)p eop end
-%%Page: 61 66
-TeXDict begin 61 65 bop 150 -116 a Fu(Chapter)30 b(13:)41
-b(C#)30 b(API)2664 b(61)150 299 y Fr(13)80 b(C#)54 b(API)150
-533 y Fu(The)33 b(Libidn)g(library)h(has)f(b)s(een)h(p)s(orted)f(to)i
-(the)f(C#)f(language.)53 b(The)34 b(p)s(ort)f(reside)h(in)f(the)i
-(top-lev)m(el)150 643 y(`)p Fo(csharp/)p Fu(')27 b(directory)-8
-b(.)41 b(Curren)m(tly)-8 b(,)29 b(no)f(further)f(do)s(cumen)m(tation)i
-(ab)s(out)f(the)g(implemen)m(tation)i(or)f(the)150 752
-y(API)e(is)f(a)m(v)-5 b(ailable.)42 b(Ho)m(w)m(ev)m(er,)30
-b(the)d(C#)f(p)s(ort)g(w)m(as)h(based)g(on)f(the)h(Ja)m(v)-5
-b(a)28 b(p)s(ort,)f(and)f(the)h(API)f(is)h(exactly)150
-862 y(the)k(same)f(as)h(in)f(the)h(Ja)m(v)-5 b(a)31 b(v)m(ersion.)41
-b(The)30 b(help)g(\014les)g(for)g(the)h(Ja)m(v)-5 b(a)31
-b(API)f(ma)m(y)h(th)m(us)f(b)s(e)g(useful.)p eop end
-%%Page: 62 67
-TeXDict begin 62 66 bop 150 -116 a Fu(Chapter)30 b(14:)41
-b(Ac)m(kno)m(wledgemen)m(ts)2251 b(62)150 299 y Fr(14)80
-b(Ac)l(kno)l(wledgemen)l(ts)150 533 y Fu(The)35 b(pun)m(yco)s(de)f
-(implemen)m(tation)j(w)m(as)f(tak)m(en)g(from)f(the)h(IETF)f(IDN)h(Pun)
-m(yco)s(de)e(sp)s(eci\014cation,)k(b)m(y)150 643 y(Adam)f(M.)g
-(Costello.)63 b(The)36 b(TLD)h(co)s(de)g(w)m(as)h(con)m(tributed)f(b)m
-(y)g(Thomas)g(Jacob.)61 b(The)37 b(Ja)m(v)-5 b(a)38 b(imple-)150
-752 y(men)m(tation)i(w)m(as)f(con)m(tributed)g(b)m(y)f(Oliv)m(er)h
-(Hitz.)66 b(The)38 b(C#)g(implemen)m(tation)i(w)m(as)f(con)m(tributed)g
-(b)m(y)150 862 y(Alexander)28 b(Gnauc)m(k.)40 b(The)27
-b(Unico)s(de)h(tables)g(w)m(ere)h(pro)m(vided)e(b)m(y)g(Unico)s(de,)i
-(Inc.)39 b(Some)28 b(functions)f(for)150 971 y(dealing)i(with)f(Unico)s
-(de)g(\(see)h(nfk)m(c.c)g(and)e(toutf8.c\))j(w)m(ere)e(b)s(orro)m(w)m
-(ed)g(from)g(GLib,)g(do)m(wnloaded)g(from)150 1081 y
-Fo(http://www.gtk.org/)p Fu(.)35 b(The)30 b(man)m(ual)h(b)s(orro)m(w)m
-(ed)f(text)h(from)f(Libgcrypt)g(b)m(y)h(W)-8 b(erner)30
-b(Ko)s(c)m(h.)275 1215 y(Inspiration)g(for)g(man)m(y)h(things)g(that,)g
-(consciously)h(or)e(not,)i(ha)m(v)m(e)f(gone)h(in)m(to)g(this)e(pac)m
-(k)-5 b(age)33 b(is)e(due)150 1325 y(to)40 b(a)f(n)m(um)m(b)s(er)f(of)h
-(free)g(soft)m(w)m(are)h(pac)m(k)-5 b(age)41 b(that)e(the)h(author)e
-(has)h(b)s(een)f(exp)s(osed)h(to.)67 b(The)38 b(author)150
-1435 y(wishes)f(to)h(ac)m(kno)m(wledge)h(the)e(free)h(soft)m(w)m(are)g
-(comm)m(unit)m(y)g(in)f(general,)j(for)d(giving)h(an)f(example)h(on)150
-1544 y(what)30 b(role)h(soft)m(w)m(are)h(dev)m(elopmen)m(t)g(can)f(pla)
-m(y)g(in)f(the)g(mo)s(dern)f(so)s(ciet)m(y)-8 b(.)275
-1679 y(Sev)m(eral)49 b(p)s(eople)f(rep)s(orted)g(bugs,)53
-b(sen)m(t)c(patc)m(hes)g(or)f(suggested)i(impro)m(v)m(emen)m(ts,)k(see)
-49 b(the)g(\014le)150 1788 y(THANKS)30 b(in)g(the)g(top-lev)m(el)j
-(directory)e(of)f(the)h(source)g(co)s(de.)p eop end
-%%Page: 63 68
-TeXDict begin 63 67 bop 150 -116 a Fu(Chapter)30 b(15:)41
-b(History)2706 b(63)150 299 y Fr(15)80 b(History)150
-533 y Fu(The)41 b(complete)h(history)g(of)f(user)g(visible)g(c)m
-(hanges)h(is)g(stored)f(in)g(the)g(\014le)h(`)p Fo(NEWS)p
-Fu(')e(in)h(the)h(top-lev)m(el)150 643 y(directory)g(of)h(the)f(source)
-g(co)s(de)g(tree.)76 b(The)42 b(complete)h(history)f(of)g(mo)s
-(di\014cations)g(to)h(eac)m(h)g(\014le)f(is)150 752 y(stored)h(in)g
-(the)g(\014le)g(`)p Fo(ChangeLog)p Fu(')e(in)i(the)g(same)h(directory)
--8 b(.)79 b(This)42 b(section)j(con)m(tain)f(a)f(condensed)150
-862 y(v)m(ersion)31 b(of)f(that)h(information,)g(in)f(the)h(form)f(of)g
-(\\milestones")j(for)d(the)g(pro)5 b(ject.)150 1021 y(Stringprep)29
-b(implemen)m(tation.)630 1131 y(V)-8 b(ersion)31 b(0.0.0)h(released)f
-(on)g(2002-11-05.)150 1290 y(IDNA)g(and)f(Pun)m(yco)s(de)g(implemen)m
-(tations,)i(part)e(of)g(the)h(GNU)g(pro)5 b(ject.)630
-1400 y(V)-8 b(ersion)31 b(0.1.0)h(released)f(on)g(2003-01-05.)150
-1559 y(Uses)g(o\016cial)g(IDNA)g(A)m(CE)g(pre\014x)e
-Fo(xn--)p Fu(.)630 1669 y(V)-8 b(ersion)31 b(0.1.7)h(released)f(on)g
-(2003-02-12.)150 1828 y(Command)e(line)i(in)m(terface.)630
-1938 y(V)-8 b(ersion)31 b(0.1.11)i(released)e(on)f(2003-02-26.)150
-2097 y(GNU)h(Lib)s(c)f(add-on)g(prop)s(osed.)630 2207
-y(V)-8 b(ersion)31 b(0.1.12)i(released)e(on)f(2003-03-06.)150
-2366 y(In)m(terop)s(erabilit)m(y)h(testing)h(during)d(IDNConnect.)630
-2476 y(V)-8 b(ersion)31 b(0.3.1)h(released)f(on)g(2003-10-02.)150
-2635 y(TLD)f(restriction)i(testing.)630 2745 y(V)-8 b(ersion)31
-b(0.4.0)h(released)f(on)g(2004-02-28.)150 2904 y(GNU)g(Lib)s(c)f
-(add-on)g(in)m(tegrated.)630 3014 y(V)-8 b(ersion)31
-b(0.4.1)h(released)f(on)g(2004-03-08.)150 3173 y(Nativ)m(e)h(Ja)m(v)-5
-b(a)32 b(implemen)m(tation.)630 3283 y(V)-8 b(ersion)31
-b(0.4.2-0.4.9)j(released)e(b)s(et)m(w)m(een)f(2004-03-20)j(and)c
-(2004-06-11.)150 3442 y(PR-29)h(functions)f(for)g(\\problem)h
-(sequences".)630 3552 y(V)-8 b(ersion)31 b(0.5.0)h(released)f(on)g
-(2004-06-26.)150 3711 y(Man)m(y)g(small)g(p)s(ortabilit)m(y)g(\014xes)f
-(and)g(wider)g(use.)630 3821 y(V)-8 b(ersion)31 b(0.5.1)h(through)e
-(0.5.20,)j(released)e(b)s(et)m(w)m(een)g(2004-07-09)j(and)c
-(2005-10-23.)150 3980 y(Nativ)m(e)i(C#)e(implemen)m(tation.)630
-4090 y(V)-8 b(ersion)31 b(0.6.0)h(released)f(on)g(2005-12-03.)150
-4249 y(Windo)m(ws)f(supp)s(ort)f(through)h(cross-compilation.)630
-4359 y(V)-8 b(ersion)31 b(0.6.1)h(released)f(on)g(2006-01-20.)150
-4518 y(Library)f(declared)g(stable)h(b)m(y)g(releasing)g(v1.0.)630
-4628 y(V)-8 b(ersion)31 b(1.0)g(released)h(on)e(2007-07-31.)p
-eop end
-%%Page: 64 69
-TeXDict begin 64 68 bop 150 -116 a Fu(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(64)150 299 y Fr(App)t(endix)52
-b(A)81 b(PR29)54 b(discussion)150 500 y Fu(If)26 b(y)m(ou)h(wish)f(to)h
-(exp)s(erimen)m(t)g(with)f(a)h(mo)s(di\014ed)f(Unico)s(de)h(NFK)m(C)g
-(implemen)m(tation)h(according)f(to)h(the)150 609 y(PR29)j(prop)s
-(osal,)g(y)m(ou)g(ma)m(y)g(\014nd)e(the)i(follo)m(wing)h(bug)e(rep)s
-(ort)g(useful.)41 b(Ho)m(w)m(ev)m(er,)33 b(I)d(ha)m(v)m(e)i(not)f(v)m
-(eri\014ed)150 719 y(that)k(the)g(suggested)g(mo)s(di\014cations)g(are)
-g(correct.)54 b(F)-8 b(or)35 b(reference,)i(I'm)d(including)g(m)m(y)h
-(resp)s(onse)e(to)150 829 y(the)e(rep)s(ort)e(as)i(w)m(ell.)150
-956 y Fo(From:)46 b(Rick)h(McGowan)f(<rick@unicode.org>)150
-1066 y(Subject:)g(Possible)f(bug)i(and)g(status)f(of)h(PR)g(29)h
-(change\(s\))150 1176 y(To:)f(bug-libidn@gnu.org)150
-1285 y(Date:)f(Wed,)h(27)g(Oct)g(2004)g(14:49:17)e(-0700)150
-1504 y(Hello.)h(On)h(behalf)f(of)i(the)e(Unicode)g(Consortium)f
-(editorial)h(committee,)f(I)i(would)150 1614 y(like)g(to)g(find)f(out)h
-(more)g(information)e(about)h(the)h(PR)g(29)g(fixes,)f(if)i(any,)e(and)
-150 1724 y(functions)f(in)i(Libidn.)f(Your)h(implementation)d(was)j
-(listed)f(in)h(the)g(text)g(of)g(PR29)f(as)150 1833 y(needing)g
-(investigation,)e(so)j(I)g(am)h(following)d(up)i(on)g(several)f
-(implementations.)150 2052 y(The)h(UTC)g(has)g(accepted)e(the)i
-(proposed)f(fix)h(to)g(D2)g(as)g(outlined)f(in)h(PR29,)f(and)h(a)h(new)
-150 2162 y(draft)e(of)i(UAX)e(#15)h(has)g(been)g(issued.)150
-2381 y(I)g(have)g(looked)f(at)h(Libidn)f(0.5.8)h(\(today\),)e(and)i
-(there)g(may)g(still)f(be)h(a)h(possible)150 2491 y(bug)f(in)g
-(NFKC.java)e(and)i(nfkc.c.)150 2710 y(------------------------)o(----)o
-(----)o(---)o(----)o(----)o(---)o(----)o(----)150 2929
-y(1.)g(In)g(NFKC.java,)e(this)i(line)g(in)g(canonicalOrdering\(\):)436
-3148 y(if)h(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(!=)h
-(cc\)\))g({)150 3367 y(should)f(perhaps)g(be)h(changed)f(to:)436
-3587 y(if)i(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(<)h
-(cc\)\))g({)150 3806 y(but)g(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g
-(this)g(comparison.)150 4025 y(------------------------)o(----)o(----)o
-(---)o(----)o(----)o(---)o(----)o(----)150 4244 y(2.)g(In)g(nfkc.c,)f
-(function)g(_g_utf8_normalize_wc\(\))41 b(has)47 b(this)g(code:)627
-4463 y(if)g(\(i)h(>)f(0)h(&&)818 4573 y(\(last_cc)e(==)h(0)g(||)h
-(last_cc)d(!=)j(cc\))e(&&)818 4682 y(combine)g
-(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248 4792
-y(&wc_buffer[last_start]\))o(\))723 4902 y({)150 5121
-y(This)47 b(appears)e(to)j(have)e(the)h(same)g(bug)g(as)g(the)g
-(current)f(Python)g(implementation)e(\(in)150 5230 y(Python)i(2.3.4\).)
-g(The)h(code)f(should)h(be)g(checking,)e(as)i(per)g(new)g(rule)g(D2)g
-(UAX)g(#15)150 5340 y(update,)f(that)g(the)h(next)g(combining)e
-(character)h(is)h(the)g(same)f(or)h(HIGHER)g(than)f(the)p
-eop end
-%%Page: 65 70
-TeXDict begin 65 69 bop 150 -116 a Fu(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(65)150 299 y Fo(current)46
-b(one.)g(It)i(now)f(checks)f(to)h(see)g(if)g(it's)g(non-zero)e(and)i
-(not)g(equal.)150 518 y(The)g(above)f(line\(s\))g(should)g(perhaps)g
-(be)h(changed)f(to:)627 737 y(if)h(\(i)h(>)f(0)h(&&)818
-847 y(\(last_cc)e(==)h(0)g(||)h(last_cc)d(<)j(cc\))f(&&)818
-956 y(combine)f(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248
-1066 y(&wc_buffer[last_start]\))o(\))723 1176 y({)150
-1395 y(but)47 b(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g(the)g
-(comparison)e(\(<)i(or)g(>)h(or)f(<=?\))g(here.)150 1614
-y(In)g(the)g(text)g(of)g(PR29,)f(I)i(will)e(be)i(marking)d(Libidn)h(as)
-i("needs)e(change")g(and)g(adding)150 1724 y(the)h(version)f(number)g
-(that)g(I)i(checked.)d(If)j(any)f(further)e(change)h(is)i(made,)e
-(please)150 1833 y(let)h(me)g(know)g(the)g(release)e(version,)h(and)h
-(I'll)g(update)f(again.)150 2052 y(Regards,)532 2162
-y(Rick)g(McGowan)150 2381 y(From:)g(Simon)h(Josefsson)e
-(<jas@extundo.com>)150 2491 y(Subject:)h(Re:)g(Possible)g(bug)h(and)g
-(status)f(of)h(PR)g(29)g(change\(s\))150 2600 y(To:)g(Rick)g(McGowan)e
-(<rick@unicode.org>)150 2710 y(Cc:)i(bug-libidn@gnu.org)150
-2819 y(Date:)f(Thu,)h(28)g(Oct)g(2004)g(09:47:47)e(+0200)150
-3039 y(Rick)i(McGowan)e(<rick@unicode.org>)e(writes:)150
-3258 y(>)k(Hello.)g(On)g(behalf)f(of)h(the)g(Unicode)f(Consortium)f
-(editorial)g(committee,)g(I)i(would)150 3367 y(>)g(like)g(to)g(find)g
-(out)g(more)f(information)f(about)i(the)f(PR)i(29)f(fixes,)f(if)h(any,)
-g(and)150 3477 y(>)g(functions)f(in)h(Libidn.)f(Your)g(implementation)e
-(was)j(listed)f(in)h(the)g(text)g(of)g(PR29)g(as)150
-3587 y(>)g(needing)f(investigation,)e(so)j(I)h(am)f(following)e(up)i
-(on)h(several)d(implementations.)150 3696 y(>)150 3806
-y(>)i(The)g(UTC)g(has)g(accepted)f(the)h(proposed)e(fix)i(to)g(D2)g(as)
-h(outlined)d(in)i(PR29,)g(and)g(a)g(new)150 3915 y(>)g(draft)g(of)g
-(UAX)g(#15)g(has)g(been)f(issued.)150 4025 y(>)150 4134
-y(>)h(I)h(have)f(looked)f(at)h(Libidn)f(0.5.8)g(\(today\),)g(and)h
-(there)f(may)h(still)f(be)i(a)f(possible)150 4244 y(>)g(bug)g(in)h
-(NFKC.java)d(and)i(nfkc.c.)150 4463 y(Hello)f(Rick.)150
-4682 y(I)h(believe)f(the)h(current)f(behavior)g(is)h(intentional.)92
-b(Libidn)46 b(do)h(not)g(aim)g(to)150 4792 y(implement)e
-(latest-and-greatest)e(NFKC,)j(it)h(aim)g(to)g(implement)f(the)h(NFKC)
-150 4902 y(functionality)d(required)i(for)h(StringPrep)e(and)i(IDN.)94
-b(As)47 b(you)g(may)g(know,)150 5011 y(StringPrep/IDN)d(reference)h
-(Unicode)h(3.2.0,)g(and)h(explicitly)e(says)i(any)g(later)150
-5121 y(changes)f(\(which)g(I)h(consider)f(PR29)h(as\))f(do)i(not)f
-(apply.)150 5340 y(In)g(fact,)g(I)g(believe)f(that)g(would)h(I)g
-(incorporate)e(the)i(changes)f(suggested)f(in)p eop end
-%%Page: 66 71
-TeXDict begin 66 70 bop 150 -116 a Fu(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(66)150 299 y Fo(PR29,)46
-b(I)i(would)e(in)h(fact)g(be)g(violating)e(the)i(IDN)g(specifications.)
-150 518 y(Thanks)f(for)h(looking)f(into)g(the)h(code)g(and)g(finding)f
-(the)h(place)f(where)g(the)150 628 y(change)g(could)g(be)i(made.)94
-b(I'll)46 b(see)h(if)g(I)h(can)f(mention)f(this)g(in)h(the)g(manual)150
-737 y(somewhere,)e(for)i(technically)e(interested)g(readers.)150
-956 y(Regards,)150 1066 y(Simon)p eop end
-%%Page: 67 72
-TeXDict begin 67 71 bop 150 -116 a Fu(App)s(endix)29
-b(B:)i(On)e(Lab)s(el)h(Separators)2150 b(67)150 299 y
-Fr(App)t(endix)52 b(B)81 b(On)54 b(Lab)t(el)f(Separators)150
-533 y Fu(Some)43 b(strings)h(con)m(tains)g(c)m(haracters)h(whose)e(NFK)
-m(C)h(normalized)g(form)f(con)m(tain)h(the)g(ASCI)s(I)e(dot)150
-643 y(\(0x2E,)30 b(\\."\).)42 b(Examples)28 b(of)h(these)g(c)m
-(haracters)h(are)f(U)p Fo(+)p Fu(2024)i(\(ONE)e(DOT)f(LEADER\))h(and)f
-(U)p Fo(+)p Fu(248C)150 752 y(\(DIGIT)37 b(FIVE)g(FULL)g(STOP\).)g(The)
-f(strings)h(ha)m(v)m(e)h(the)f(in)m(teresting)i(prop)s(ert)m(y)d(that)h
-(their)g(IDNA)150 862 y(T)-8 b(oASCI)s(I)29 b(output)h(will)h(con)m
-(tain)h(em)m(b)s(edded)d(dots.)41 b(F)-8 b(or)31 b(example:)390
-996 y Fo(ToASCII)46 b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390
-1106 y(ToASCII)e(\(r\177)-48 b(aksm\177)g(org\027)g(as)45
-b(U+2024)h(com\))g(=)i(xn--rksmrgs.com-l8as9u)275 1240
-y Fu(This)36 b(demonstrate)i(the)g(t)m(w)m(o)h(general)g(cases:)56
-b(The)37 b(\014rst)g(where)g(the)g(ASCI)s(I)f(dot)i(is)g(part)f(of)h
-(an)150 1350 y(output)c(that)h(do)g(not)g(b)s(egin)f(with)g(the)h(IDN)g
-(pre\014x)f Fo(xn--)p Fu(.)52 b(The)34 b(second)h(example)g(illustrate)
-h(when)150 1460 y(the)31 b(dot)f(is)h(part)f(of)g(IDN)h(pre\014xed)e
-(with)h Fo(xn--)p Fu(.)275 1594 y(The)e(input)h(strings)g(are,)h(from)f
-(the)g(DNS)h(p)s(oin)m(t)f(of)h(view,)g(a)f(single)h(lab)s(el.)41
-b(The)29 b(IDNA)h(algorithm)150 1704 y(translate)39 b(one)e(lab)s(el)h
-(at)g(a)g(time.)63 b(Th)m(us,)38 b(the)g(output)f(is)h(exp)s(ected)g
-(to)g(b)s(e)f(only)g(one)h(lab)s(el.)62 b(What)150 1813
-y(is)36 b(imp)s(ortan)m(t)g(here)f(is)h(to)g(mak)m(e)h(sure)e(the)h
-(DNS)f(resolv)m(er)i(receiv)m(es)h(the)d(correct)i(query)-8
-b(.)57 b(The)35 b(DNS)150 1923 y(proto)s(col)43 b(do)s(es)f(not)h(use)f
-(the)g(dot)h(to)g(delimit)g(lab)s(els)g(on)f(the)g(wire,)k(rather)c(it)
-h(uses)f(length-v)-5 b(alue)150 2032 y(pairs.)38 b(Th)m(us)24
-b(the)h(correct)g(query)f(w)m(ould)g(b)s(e)g(for)h Fo({7}hi5.com)c
-Fu(and)j Fo({22}xn--rksmrgs.com-l8as9)o(u)150 2142 y
-Fu(resp)s(ectiv)m(ely)-8 b(.)275 2276 y(Some)29 b(implemen)m(tations)
-1169 2243 y Fe(1)1237 2276 y Fu(ha)m(v)m(e)i(decided)e(that)h(these)g
-(inputs)e(strings)h(are)h(p)s(oten)m(tially)h(confusing)150
-2386 y(for)25 b(the)f(user.)39 b(The)24 b(string)h Fo(hi)k(U+248C)g
-(com)24 b Fu(lo)s(oks)h(lik)m(e)h Fo(hi5.com)d Fu(on)i(systems)f(that)i
-(supp)s(ort)d(Unico)s(de)150 2496 y(prop)s(erly)-8 b(.)40
-b(These)30 b(implemen)m(tations)i(do)e(not)h(follo)m(w)g(RF)m(C)g
-(3490.)43 b(They)29 b(yield:)390 2630 y Fo(ToASCII)46
-b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390 2740 y(ToASCII)e(\(r\177)-48
-b(aksm\177)g(org\027)g(as)45 b(U+2024)h(com\))g(=)i
-(xn--rksmrgs-5wao1o.com)275 2874 y Fu(The)30 b(DNS)g(query)g(they)h(p)s
-(erform)e(are)i Fo({3}hi5{3}com)c Fu(and)j Fo({18}xn--rksmrgs-5wao1o{)o
-(3}co)o(m)150 2984 y Fu(resp)s(ectiv)m(ely)-8 b(.)45
-b(Arguably)-8 b(,)31 b(this)g(leads)h(to)g(a)f(b)s(etter)g(user)f(exp)s
-(erience,)i(and)f(suggests)g(that)h(the)f(IDNA)150 3093
-y(sp)s(eci\014cation)g(is)g(sub-optimal)f(in)g(this)g(area.)150
-3326 y Ft(B.1)67 b(Recommended)46 b(W)-11 b(ork)k(around)150
-3485 y Fu(It)29 b(has)g(b)s(een)g(suggested)h(to)g(normalize)g(the)g
-(en)m(tire)g(input)e(string)h(using)g(NFK)m(C)g(b)s(efore)g(passing)g
-(it)h(to)150 3595 y(IDNA)37 b(T)-8 b(oASCI)s(I.)35 b(Y)-8
-b(ou)37 b(ma)m(y)g(use)f Fo(stringprep_utf8_nfkc_norm)o(ali)o(ze)30
-b Fu(or)36 b Fo(stringprep_ucs4_)150 3704 y(nfkc_normalize)p
-Fu(.)61 b(This)37 b(app)s(ears)h(to)h(lead)g(to)g(similar)g(b)s(eha)m
-(viour)f(as)g(IE/Firefo)m(x,)k(whic)m(h)c(w)m(ould)150
-3814 y(a)m(v)m(oid)32 b(the)e(problem,)h(but)e(this)h(needs)g(to)i(b)s
-(e)d(con\014rmed.)40 b(F)-8 b(eel)32 b(free)f(to)g(discuss)e(the)i
-(issue)f(with)g(us.)275 3949 y(Alternativ)m(e)f(w)m(ork)-5
-b(arounds)26 b(are)h(b)s(eing)f(considered.)40 b(Ev)m(en)m(tually)28
-b(Libidn)e(ma)m(y)i(implemen)m(t)f(a)g(new)150 4058 y(\015ag)42
-b(to)g(the)g Fo(idna_*)e Fu(functions)i(that)g(implemen)m(ts)g(a)g
-(recommended)f(w)m(a)m(y)i(to)g(w)m(ork)e(around)g(this)150
-4168 y(problem.)p 150 5241 1200 4 v 199 5308 a Fe(1)275
-5340 y Fd(Notably)25 b(Microsoft's)j(In)n(ternet)d(Explorer)h(and)f
-(Mozilla's)k(Firefo)n(x,)e(but)e(not)g(Apple's)h(Safari.)p
-eop end
-%%Page: 68 73
-TeXDict begin 68 72 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(68)150 299 y Fr(App)t(endix)52
-b(C)81 b(Cop)l(ying)51 b(Information)150 617 y Ft(C.1)68
-b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359
-754 y Fu(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
-886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y Fs(\015)e
-Fu(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 995
-y Fo(http://fsf.org/)390 1214 y Fu(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
-(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
-1324 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
-(is)f(not)h(allo)m(w)m(ed.)199 1456 y(0.)61 b(PREAMBLE)330
-1588 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
-(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1698 y(useful)29 b(do)s(cumen)m(t)h Fk(free)36 b Fu(in)29
-b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
-(the)e(e\013ectiv)m(e)j(freedom)330 1808 y(to)f(cop)m(y)g(and)f
-(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
-(either)f(commercially)h(or)e(non-)330 1917 y(commercially)-8
-b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f
-(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2027
-y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g
-(considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330
-2136 y(made)30 b(b)m(y)h(others.)330 2268 y(This)22 b(License)i(is)f(a)
-h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5
-b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330
-2378 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
-(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330
-2488 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
-e(for)g(free)h(soft)m(w)m(are.)330 2620 y(W)-8 b(e)31
-b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h
-(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330
-2729 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
-65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330
-2839 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
-m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g
-(to)330 2948 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
-(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5
-b(ject)30 b(matter)i(or)330 3058 y(whether)f(it)h(is)f(published)f(as)i
-(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h
-(License)g(principally)f(for)330 3168 y(w)m(orks)f(whose)h(purp)s(ose)d
-(is)j(instruction)f(or)g(reference.)199 3300 y(1.)61
-b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3432 y(This)39
-b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i
-(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3541
-y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying)
-h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
-3651 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
-(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
-(in)330 3761 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
-(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
-3870 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
-(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
-(a)h(licensee,)i(and)330 3980 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
-b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
-b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
-4089 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
-m(yrigh)m(t)j(la)m(w.)330 4222 y(A)i(\\Mo)s(di\014ed)f(V)-8
-b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
-(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4331 y(a)k(p)s(ortion)f
-(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
-(di\014cations)f(and/or)h(translated)g(in)m(to)330 4441
-y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is)
-f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
-(the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e
-(the)g(relationship)h(of)f(the)h(publishers)d(or)i(authors)g(of)h(the)f
-(Do)s(cumen)m(t)330 4792 y(to)38 b(the)f(Do)s(cumen)m(t's)i(o)m(v)m
-(erall)g(sub)5 b(ject)37 b(\(or)h(to)g(related)g(matters\))g(and)f(con)
-m(tains)h(nothing)f(that)330 4902 y(could)j(fall)h(directly)g(within)f
-(that)h(o)m(v)m(erall)i(sub)5 b(ject.)70 b(\(Th)m(us,)42
-b(if)e(the)h(Do)s(cumen)m(t)g(is)f(in)g(part)h(a)330
-5011 y(textb)s(o)s(ok)24 b(of)g(mathematics,)j(a)d(Secondary)f(Section)
-h(ma)m(y)g(not)g(explain)g(an)m(y)g(mathematics.\))40
-b(The)330 5121 y(relationship)28 b(could)f(b)s(e)g(a)g(matter)i(of)e
-(historical)i(connection)f(with)f(the)h(sub)5 b(ject)27
-b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i
-(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
-(osition)f(regarding)330 5340 y(them.)p eop end
-%%Page: 69 74
-TeXDict begin 69 73 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(69)330 299 y(The)25
-b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
-(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
-408 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
-b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
-(cumen)m(t)g(is)g(released)330 518 y(under)f(this)i(License.)40
-b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
-(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 628
-y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
-b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
-e(In)m(v)-5 b(arian)m(t)330 737 y(Sections.)39 b(If)25
-b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
--5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
-878 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
-g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
-b(ron)m(t-Co)m(v)m(er)330 988 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
-j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
-(Do)s(cumen)m(t)h(is)f(released)g(under)330 1097 y(this)h(License.)40
-b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
-b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
-(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 1207 y(b)s(e)k(at)h(most)g(25)g(w)
-m(ords.)330 1348 y(A)36 b(\\T)-8 b(ransparen)m(t")36
-b(cop)m(y)g(of)g(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m
-(hine-readable)h(cop)m(y)-8 b(,)38 b(represen)m(ted)330
-1457 y(in)d(a)h(format)g(whose)g(sp)s(eci\014cation)g(is)g(a)m(v)-5
-b(ailable)38 b(to)f(the)f(general)g(public,)h(that)f(is)g(suitable)g
-(for)330 1567 y(revising)c(the)g(do)s(cumen)m(t)f(straigh)m(tforw)m
-(ardly)i(with)e(generic)i(text)g(editors)f(or)f(\(for)h(images)h(com-)
-330 1677 y(p)s(osed)23 b(of)h(pixels\))g(generic)h(pain)m(t)f(programs)
-g(or)f(\(for)h(dra)m(wings\))g(some)g(widely)g(a)m(v)-5
-b(ailable)26 b(dra)m(wing)330 1786 y(editor,)k(and)f(that)g(is)g
-(suitable)h(for)f(input)f(to)i(text)g(formatters)f(or)g(for)g
-(automatic)i(translation)f(to)330 1896 y(a)d(v)-5 b(ariet)m(y)28
-b(of)f(formats)g(suitable)h(for)e(input)g(to)i(text)g(formatters.)40
-b(A)27 b(cop)m(y)g(made)g(in)g(an)g(otherwise)330 2005
-y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g(whose)f(markup,)i(or)e
-(absence)h(of)g(markup,)g(has)g(b)s(een)f(arranged)g(to)330
-2115 y(th)m(w)m(art)27 b(or)g(discourage)g(subsequen)m(t)f(mo)s
-(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8 b(ransparen)m(t.)39
-b(An)27 b(image)330 2225 y(format)35 b(is)f(not)h(T)-8
-b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g(substan)m(tial)h(amoun)
-m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g(is)330
-2334 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i(\\Opaque".)330
-2475 y(Examples)49 b(of)f(suitable)i(formats)f(for)f(T)-8
-b(ransparen)m(t)48 b(copies)i(include)e(plain)h(ASCI)s(I)e(without)330
-2585 y(markup,)33 b(T)-8 b(exinfo)33 b(input)f(format,)i(LaT)1745
-2604 y(E)1795 2585 y(X)f(input)f(format,)j(SGML)d(or)h(XML)h(using)e(a)
-h(publicly)330 2694 y(a)m(v)-5 b(ailable)36 b(DTD,)e(and)f
-(standard-conforming)h(simple)f(HTML,)h(P)m(ostScript)g(or)g(PDF)g
-(designed)330 2804 y(for)h(h)m(uman)g(mo)s(di\014cation.)57
-b(Examples)35 b(of)h(transparen)m(t)f(image)i(formats)f(include)f(PNG,)
-h(X)m(CF)330 2913 y(and)j(JPG.)g(Opaque)g(formats)h(include)f
-(proprietary)g(formats)h(that)g(can)g(b)s(e)e(read)i(and)f(edited)330
-3023 y(only)33 b(b)m(y)g(proprietary)f(w)m(ord)h(pro)s(cessors,)g(SGML)
-g(or)g(XML)g(for)g(whic)m(h)g(the)g(DTD)g(and/or)g(pro-)330
-3133 y(cessing)26 b(to)s(ols)g(are)g(not)f(generally)i(a)m(v)-5
-b(ailable,)29 b(and)24 b(the)i(mac)m(hine-generated)h(HTML,)e(P)m
-(ostScript)330 3242 y(or)30 b(PDF)h(pro)s(duced)e(b)m(y)h(some)h(w)m
-(ord)f(pro)s(cessors)g(for)g(output)g(purp)s(oses)f(only)-8
-b(.)330 3383 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m
-(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f
-(follo)m(wing)330 3493 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g
-(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h
-(app)s(ear)f(in)h(the)330 3602 y(title)g(page.)40 b(F)-8
-b(or)28 b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h
-(an)m(y)e(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
-3712 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
-(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
-3821 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
-3962 y(The)j(\\publisher")g(means)h(an)m(y)f(p)s(erson)g(or)h(en)m(tit)
-m(y)h(that)f(distributes)f(copies)i(of)e(the)h(Do)s(cumen)m(t)330
-4072 y(to)c(the)g(public.)330 4213 y(A)f(section)h(\\En)m(titled)g
-(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h
-(whose)e(title)i(either)330 4322 y(is)d(precisely)g(XYZ)g(or)f(con)m
-(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f
-(translates)h(XYZ)e(in)330 4432 y(another)e(language.)40
-b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f
-(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4542 y(as)i(\\Ac)m(kno)m
-(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f
-(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4651
-y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s
-(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330
-4761 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g
-(de\014nition.)330 4902 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W)
--8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m
-(h)e(states)i(that)330 5011 y(this)34 b(License)g(applies)g(to)h(the)f
-(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36
-b(Disclaimers)f(are)g(considered)e(to)330 5121 y(b)s(e)k(included)g(b)m
-(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f
-(disclaiming)i(w)m(arran)m(ties:)330 5230 y(an)m(y)e(other)g
-(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39
-b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
-5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)p
-eop end
-%%Page: 70 75
-TeXDict begin 70 74 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(70)199 299 y(2.)61
-b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39
-b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)
-m(y)g(medium,)h(either)g(commercially)h(or)330 555 y(noncommercially)-8
-b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42
-b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330
-664 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f(Do)
-s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)330
-774 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h(whatso)s(ev)m
-(er)h(to)f(those)g(of)g(this)f(License.)40 b(Y)-8 b(ou)27
-b(ma)m(y)g(not)g(use)330 883 y(tec)m(hnical)35 b(measures)d(to)i
-(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g(further)e(cop)m
-(ying)j(of)f(the)g(copies)330 993 y(y)m(ou)25 b(mak)m(e)g(or)g
-(distribute.)38 b(Ho)m(w)m(ev)m(er,)28 b(y)m(ou)d(ma)m(y)g(accept)h
-(comp)s(ensation)f(in)f(exc)m(hange)j(for)d(copies.)330
-1103 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f(n)m(um)m(b)s
-(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g(the)f
-(conditions)330 1212 y(in)e(section)i(3.)330 1358 y(Y)-8
-b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
-(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
-(publicly)330 1468 y(displa)m(y)31 b(copies.)199 1614
-y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1760 y(If)25
-b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
-(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
-1870 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
-(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
-1979 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
-(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
-b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 2089 y(these)j(Co)m(v)m
-(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
-b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
-b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
-2198 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
-m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
-(the)h(publisher)330 2308 y(of)k(these)h(copies.)53 b(The)34
-b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
-(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2418 y(equally)e
-(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
-(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
-2527 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
-m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
-330 2637 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
-(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
-2746 y(resp)s(ects.)330 2892 y(If)32 b(the)h(required)f(texts)i(for)e
-(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
-(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 3002 y(the)h(\014rst)f
-(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
-g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
-3112 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3258
-y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
-(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
-3367 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
-(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
-330 3477 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
-(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
-(whic)m(h)330 3587 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
-(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
-(ork)330 3696 y(proto)s(cols)40 b(a)f(complete)h(T)-8
-b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
-(added)f(material.)67 b(If)330 3806 y(y)m(ou)39 b(use)g(the)g(latter)h
-(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
-(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3915 y(distribution)f(of)g
-(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
-b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
-4025 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
-(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
-(time)330 4134 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
-(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
-(of)f(that)330 4244 y(edition)31 b(to)g(the)g(public.)330
-4390 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
-(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
-4500 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
-(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
-(vide)g(y)m(ou)330 4609 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
-(the)f(Do)s(cumen)m(t.)199 4756 y(4.)61 b(MODIFICA)-8
-b(TIONS)330 4902 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
-h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
-e(the)h(conditions)330 5011 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
-m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
-(V)-8 b(ersion)22 b(under)d(precisely)330 5121 y(this)29
-b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
-b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
-(licensing)330 5230 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
-(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
-(ossesses)f(a)i(cop)m(y)g(of)330 5340 y(it.)41 b(In)30
-b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
-(di\014ed)e(V)-8 b(ersion:)p eop end
-%%Page: 71 76
-TeXDict begin 71 75 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(71)357 299 y(A.)60
-b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m
-(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)
-510 408 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
-(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
-b(,)510 518 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
-(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
-h(title)h(as)510 628 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
-i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
-758 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
-(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
-(for)510 867 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
-(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
-(\014v)m(e)510 977 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
-(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
-(few)m(er)510 1087 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
-(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1217 y(C.)60
-b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
-(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
-b(as)f(the)510 1326 y(publisher.)355 1456 y(D.)61 b(Preserv)m(e)31
-b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
-363 1587 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
-(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
-(other)510 1696 y(cop)m(yrigh)m(t)g(notices.)365 1826
-y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
-(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
-1936 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
-(form)510 2045 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
-2176 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
-(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
-(required)g(Co)m(v)m(er)510 2285 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
-(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2415
-y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
-392 2545 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
-(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
-(item)510 2655 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
-(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
-b(ersion)510 2765 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
-b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
-(the)g(Do)s(cu-)510 2874 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
-(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
-(cumen)m(t)510 2984 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
-(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)37 b(as)510 3093 y(stated)31 b(in)f(the)h(previous)f(sen)m
-(tence.)378 3224 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
-(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
-(t)h(for)g(public)e(access)j(to)510 3333 y(a)e(T)-8 b(ransparen)m(t)30
-b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
-m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3443 y(the)g(Do)s(cumen)m
-(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
-b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3552
-y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
-m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
-(published)510 3662 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
-(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
-d(of)i(the)510 3771 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
-(ermission.)354 3902 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
-(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
-(Preserv)m(e)c(the)g(Title)510 4011 y(of)j(the)f(section,)j(and)d
-(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
-h(of)f(eac)m(h)i(of)f(the)510 4121 y(con)m(tributor)k(ac)m(kno)m
-(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
-4251 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
-b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
-(in)f(their)g(text)i(and)510 4361 y(in)f(their)g(titles.)58
-b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
-b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
-4470 y(section)c(titles.)341 4600 y(M.)61 b(Delete)33
-b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
-b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
-4710 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
-4840 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
-(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
-(in)510 4950 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
-b(Section.)354 5080 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g
-(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
-(app)s(endices)g(that)h(qualify)330 5340 y(as)28 b(Secondary)g
-(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
-(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end
-%%Page: 72 77
-TeXDict begin 72 76 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(72)330 299 y(y)m(our)32
-b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e
-(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
-408 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
-b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
-b(license)g(notice.)57 b(These)330 518 y(titles)32 b(m)m(ust)e(b)s(e)g
-(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)330
-650 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)f
-(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
-330 759 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
-b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
-(statemen)m(ts)i(of)330 869 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
-(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
-(as)e(the)h(authoritativ)m(e)330 978 y(de\014nition)i(of)h(a)f
-(standard.)330 1110 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
-(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
-30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
-1219 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
-b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 1329 y(V)-8
-b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m
-(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext)36 b(ma)m(y)h(b)s(e)330 1439 y(added)27 b(b)m(y)g(\(or)h(through)
-f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
-b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1548
-y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
-(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
-(t)330 1658 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
-(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
-(another;)j(but)330 1767 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
-(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
-(publisher)f(that)330 1877 y(added)e(the)g(old)h(one.)330
-2008 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
-(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
-(ermission)330 2118 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
-(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
-(Mo)s(di\014ed)330 2228 y(V)-8 b(ersion.)199 2359 y(5.)61
-b(COMBINING)31 b(DOCUMENTS)330 2491 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
-(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
-(released)g(under)f(this)g(License,)330 2600 y(under)f(the)h(terms)g
-(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
-(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2710
-y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
-b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
-(cumen)m(ts,)330 2819 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
-(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
-g(w)m(ork)f(in)h(its)g(license)330 2929 y(notice,)32
-b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 3061 y(The)e(com)m(bined)g(w)m
-(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
-i(and)d(m)m(ultiple)i(iden)m(tical)330 3170 y(In)m(v)-5
-b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
-(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
-(v)-5 b(arian)m(t)330 3280 y(Sections)27 b(with)g(the)g(same)g(name)g
-(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
-(eac)m(h)h(suc)m(h)f(section)330 3389 y(unique)33 b(b)m(y)h(adding)f
-(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
-(the)g(original)h(author)f(or)330 3499 y(publisher)23
-b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
-(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
-3608 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
-b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
-(com)m(bined)330 3718 y(w)m(ork.)330 3850 y(In)41 b(the)g(com)m
-(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
-(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
-3959 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
-(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
-4069 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
-b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
-b(Y)-8 b(ou)330 4178 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
-(titled)f(\\Endorsemen)m(ts.")199 4310 y(6.)61 b(COLLECTIONS)28
-b(OF)i(DOCUMENTS)330 4441 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
-(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
-(do)s(cumen)m(ts)f(released)330 4551 y(under)41 b(this)h(License,)k
-(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
-(the)h(v)-5 b(arious)330 4661 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
-g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
-b(pro)m(vided)42 b(that)i(y)m(ou)330 4770 y(follo)m(w)38
-b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
-(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
-4880 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
-b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
-(collection,)i(and)d(distribute)g(it)h(individu-)330
-5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
-(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
-5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
-(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
-5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 73 78
-TeXDict begin 73 77 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(73)199 299 y(7.)61
-b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
-441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
-b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
-551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
-(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)
-330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i(resulting)e
-(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g(the)330
-770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m
-(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
-b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
-(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
-(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
-(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
-(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
-b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
-(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
-y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
-(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
-(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
-(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
-(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
-b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
-(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
-1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
-(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
-b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
-i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
-(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
-(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
-b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
-(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
-(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
-b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
-b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
-2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
-b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
-(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
-h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
-b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
-y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
-(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
-2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
-b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
-(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
-(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
-(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
-b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
-(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
-3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
-(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
-3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
-b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
-b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
-(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
-b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
-(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
-3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
-i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
-3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
-(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
-(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
-(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
-(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
-(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
-b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
-b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
-(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
-y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
-(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
-(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
-(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
-(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
-(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
-(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
-4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
-(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
-(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
-b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
-(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
-b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
-(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
-330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
-(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
-(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
-(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 74 79
-TeXDict begin 74 78 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(74)154 299 y(10.)61
-b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433
-y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43
-b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)
--8 b(ree)330 543 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)
-g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
-(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m
-(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 762 y(See)c Fo(http://www.gnu.org/copy)o(left)o(/)p
-Fu(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
-(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
-b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45
-b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
-(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116
-y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
-(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
-1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
-(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
-(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
-b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
-(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
-y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
-(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
-h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
-b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
-(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
-(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
-m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
-(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
-(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
-2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
-e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
-2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
-(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
-(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
-(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
-(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
-b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
-(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
-2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
-(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
-2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
-(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
-2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
-g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
-2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
-b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
-f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
-(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
-(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
-(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
-3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
-(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
-3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
-(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
-3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
-(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
-330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
-(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
-(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
-(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
-g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
-(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
-330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 75 80
-TeXDict begin 75 79 bop 150 -116 a Fu(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(75)150 299 y Ft(ADDENDUM:)45
-b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)
-150 458 y Fu(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
-(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)
-f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g
-(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f
-(after)h(the)g(title)h(page:)468 680 y Fc(Copyright)42
-b(\(C\))79 b Fb(year)g(your)40 b(name)p Fc(.)468 767
-y(Permission)i(is)e(granted)g(to)g(copy,)h(distribute)g(and/or)g
-(modify)f(this)g(document)468 854 y(under)h(the)f(terms)g(of)g(the)g
-(GNU)g(Free)g(Documentation)i(License,)f(Version)g(1.3)468
-941 y(or)f(any)g(later)g(version)h(published)h(by)d(the)h(Free)g
-(Software)h(Foundation;)468 1029 y(with)g(no)e(Invariant)j(Sections,)f
-(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468
-1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h
-(in)f(the)g(section)g(entitled)h(``GNU)468 1203 y(Free)g(Documentation)
-h(License''.)275 1337 y Fu(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
-b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42
-b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43
-b(replace)e(the)150 1447 y(\\with)6 b(.)22 b(.)g(.)12
-b(T)-8 b(exts.")31 b(line)g(with)f(this:)547 1559 y Fc(with)40
-b(the)g(Invariant)h(Sections)g(being)g Fb(list)f(their)g(titles)p
-Fc(,)h(with)547 1646 y(the)f(Front-Cover)i(Texts)e(being)g
-Fb(list)p Fc(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547
-1733 y(being)f Fb(list)p Fc(.)275 1868 y Fu(If)34 b(y)m(ou)i(ha)m(v)m
-(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
-b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
-1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
-(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
-(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
-(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g
-(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
-(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31
-b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
-(w)m(are.)p eop end
-%%Page: 76 81
-TeXDict begin 76 80 bop 150 -116 a Fu(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(76)150 299 y
-Fr(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150
-610 y Ft(I)150 726 y Fc(idn_free)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Fd(13)150 814 y Fc(idna-to-ascii)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fd(57)150 901 y Fc(idna-to-unicode)11
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fd(57)150 988 y Fc(idna_strerror)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fd(29)150 1076 y Fc(idna_to_ascii_4i)9
-b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fd(26)150 1163 y Fc(idna_to_ascii_4z)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Fd(27)150 1250 y Fc(idna_to_ascii_8z)9
-b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fd(27)150 1338 y Fc(idna_to_ascii_lz)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Fd(27)150 1425 y Fc(idna_to_unicode_44i)18
-b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fd(26)150 1512
-y Fc(idna_to_unicode_4z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fd(28)150 1600 y Fc(idna_to_unicode_8z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)42 b Fd(28)150 1687 y Fc(idna_to_unicode_8z8z)16
-b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fd(28)150 1774 y Fc
-(idna_to_unicode_8zlz)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fd(29)150 1862 y Fc(idna_to_unicode_lzlz)16 b Fa(:)h(:)c(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)42 b Fd(29)150 2105 y Ft(P)150 2221 y Fc(pr29_4)17
-b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fd(36)150 2308 y Fc(pr29_4z)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)41 b Fd(37)150 2395 y Fc(pr29_8z)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)41 b Fd(37)150 2483 y Fc(pr29_strerror)16
-b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fd(37)150 2570 y Fc(punycode-decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fd(56)150 2657 y Fc(punycode-encode)11
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fd(56)150 2745 y Fc(punycode_decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fd(23)150 2832 y Fc(punycode_encode)11
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fd(22)150 2919 y Fc(punycode_strerror)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)32 b Fd(24)150 3172 y Ft(S)150 3288
-y Fc(stringprep)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fd(18)150 3375 y Fc(stringprep_4i)16
-b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fd(17)150 3462 y Fc(stringprep_4zi)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fd(18)2025 610 y Fc
-(stringprep_check_version)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fd(10)2025
-699 y Fc(stringprep_convert)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-47 b Fd(16)2025 787 y Fc(stringprep_iscsi)9 b Fa(:)16
-b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fd(20)2025
-875 y Fc(stringprep_locale_charset)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fd(16)2025
-964 y Fc(stringprep_locale_to_utf8)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fd(16)2025
-1052 y Fc(stringprep_nameprep_no_unassig)q(ned)17 b Fa(:)i(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fd(20)2025 1141 y Fc(stringprep_plain)
-9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fd(20)2025 1229 y Fc(stringprep_profile)25 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fd(19)2025 1318 y
-Fc(stringprep_strerror)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fd(19)2025 1406 y Fc(stringprep_ucs4_nfkc_normalize)8
-b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Fd(15)2025 1494 y Fc(stringprep_ucs4_to_utf8)8 b Fa(:)18
-b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)34 b Fd(14)2025 1583 y Fc(stringprep_unichar_to_utf8)17
-b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)44 b Fd(14)2025 1671 y Fc(stringprep_utf8_nfkc_normalize)8
-b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Fd(15)2025 1760 y Fc(stringprep_utf8_to_locale)25 b
-Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)46 b Fd(16)2025 1848 y Fc(stringprep_utf8_to_ucs4)8
-b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)34 b Fd(15)2025 1937 y Fc
-(stringprep_utf8_to_unichar)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fd(14)2025 2025
-y Fc(stringprep_xmpp_nodeprep)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fd(21)2025
-2113 y Fc(stringprep_xmpp_resourceprep)13 b Fa(:)19 b(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
-b Fd(21)2025 2371 y Ft(T)2025 2490 y Fc(tld_check_4)24
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fd(33)2025 2578 y Fc(tld_check_4t)21 b Fa(:)14 b(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fd(31)2025
-2667 y Fc(tld_check_4tz)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)43 b Fd(31)2025 2755 y Fc(tld_check_4z)21
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fd(34)2025 2844 y Fc(tld_check_8z)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fd(34)2025 2932
-y Fc(tld_check_lz)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)45 b Fd(34)2025 3020 y Fc(tld_default_table)6
-b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fd(33)2025
-3109 y Fc(tld_get_4)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fd(32)2025 3197
-y Fc(tld_get_4z)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fd(32)2025 3286 y Fc(tld_get_table)16
-b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fd(33)2025 3374 y Fc(tld_get_z)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fd(32)2025 3462 y Fc(tld_strerror)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fd(35)p eop end
-%%Page: 77 82
-TeXDict begin 77 81 bop 150 -116 a Fu(Concept)31 b(Index)2927
-b(77)150 299 y Fr(Concept)52 b(Index)150 638 y Ft(A)150
-754 y Fd(AIX)14 b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fd(4)150 842 y(ARM)11 b Fa(:)h(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fd(5)150 929 y(Auto)r(conf)26 b(tests)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fd(11)150 1163
-y Ft(C)150 1279 y Fd(command)26 b(line)20 b Fa(:)13 b(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fd(52)150
-1366 y(Compiling)27 b(y)n(our)e(application)17 b Fa(:)e(:)e(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fd(11)150 1454 y(Con\014gure)26 b(tests)20 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
-b Fd(11)150 1541 y(Con)n(tributing)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fd(8)150
-1792 y Ft(D)150 1908 y Fd(de-allo)r(cation)25 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Fd(12)150 1995 y(Debian)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
-b Fd(3)150 2083 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
-b Fd(6)150 2316 y Ft(E)150 2433 y Fd(Examples)7 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)33 b Fd(38)150 2683 y Ft(F)150 2799 y Fd(FDL,)26
-b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n(tation)h(License)20
-b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)45 b Fd(68)150 2887
-y(free)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b
-Fd(12)150 2974 y(F)-6 b(reeBSD)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Fd(5)150 3208 y Ft(H)150 3324 y Fd(Hac)n(king)18 b
-Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fd(8)150 3411 y(heap)25 b(memory)10
-b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
-b Fd(12)150 3499 y(HP-UX)12 b Fa(:)f(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fd(4)150 3732 y Ft(I)150 3849 y Fd(IBM)9 b Fa(:)14
-b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fd(5)150 3936 y
-Fc(idn)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fd(52)150 4023 y(IDNA)24 b(F)-6 b(unctions)12 b Fa(:)h(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fd(25)150 4111
-y(Installation)14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fd(6)150 4198 y(in)n(v)n(oking)25
-b Fc(idn)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)34 b Fd(52)150 4285 y(IRIX)18 b Fa(:)12
-b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fd(4)150 4519 y Ft(M)150
-4635 y Fd(MacOS)26 b(X)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fd(5)150
-4723 y(Mandrak)n(e)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fd(4)2025
-638 y(Memory)26 b(handling)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)35 b Fd(12)2025 725 y(Microsoft)13 b Fa(:)i(:)e(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fd(5)2025 813 y(mingw32)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fd(5)2025 900 y(Motorola)28 b(Cold\014re)10 b Fa(:)j(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fd(5)2025 1133 y
-Ft(N)2025 1249 y Fd(NetBSD)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42
-b Fd(5)2025 1482 y Ft(O)2025 1598 y Fd(Op)r(enBSD)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)47 b Fd(5)2025 1685 y(Op)r(enP)n(o)n(w)n(er)26
-b(720)10 b Fa(:)k(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)38 b Fd(4)2025 1772 y(OS/2)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fd(5)2025 2026 y Ft(P)2025 2142 y Fd(PR29)26 b(F)-6
-b(unctions)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)46 b Fd(36)2025 2230 y(Pun)n(yco)r(de)25 b(F)-6 b(unctions)17
-b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fd(22)2025
-2479 y Ft(R)2025 2595 y Fd(RedHat)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fd(4)2025 2683 y(RedHat)25 b(Adv)l(anced)f(Serv)n(er)19
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fd(4)2025 2770 y(Rep)r(orting)26
-b(Bugs)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)37 b Fd(7)2025 3019 y Ft(S)2025 3135 y Fd(Solaris)9
-b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fd(4)2025 3223 y(Stringprep)25
-b(F)-6 b(unctions)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
-b Fd(17)2025 3310 y(SuSE)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
-b Fd(4)2025 3397 y(SuSE)25 b(Lin)n(ux)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b
-Fd(4)2025 3630 y Ft(T)2025 3746 y Fd(TLD)25 b(F)-6 b(unctions)15
-b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fd(31)2025 3833 y(T)-6 b(ru64)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Fd(4)2025 4067 y Ft(U)2025 4183 y Fd(uClib)r(c)10 b
-Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fd(5)2025 4270 y(uClin)n(ux)21
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)49 b Fd(5)2025 4357 y(Utilit)n(y)25
-b(F)-6 b(unctions)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)46 b Fd(14)2025 4607 y Ft(W)2025 4723 y Fd(Windo)n(ws)9
-b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Fd(4,)27 b(5)p eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF
index d9ff83c..40afa03 100644 (file)
@@ -14,7 +14,7 @@
 This manual is last updated @value{UPDATED} for version
 @value{VERSION} of GNU Libidn.
 
-Copyright @copyright{} 2002-2012 Simon Josefsson.
+Copyright @copyright{} 2002--2024 Simon Josefsson.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -81,7 +81,10 @@ Appendices
 
 * PR29 discussion::             Implementation aspects of the PR29 flaw.
 * On Label Separators::         Discussions of a flaw in the IDNA spec.
-* Copying Information::                License texts.
+
+Copying This Manual
+
+* GNU Free Documentation License::     Copying and sharing this manual
 
 Indices
 
@@ -268,7 +271,7 @@ GCC 3.0 and GNU Make. @code{ia64-unknown-linux-gnu}.
 GCC 3.2.2 and GNU Make.  @code{x86_64-unknown-linux-gnu} (AMD64
 Opteron ``Melody'').
 
-@item SuSE Enterprise Server 9 on IBM OpenPower 720 
+@item SuSE Enterprise Server 9 on IBM OpenPower 720
 @cindex SuSE Linux
 @cindex OpenPower 720
 
@@ -535,11 +538,11 @@ such as Windows Mobile.  You need Visual Studio 2005 or later.
 First download and unpack the archive as described in the generic
 installation instructions (@pxref{Downloading and Installing}).  Don't
 run @code{./configure}.  Instead, start Visual Studio and open the
-project file @file{win32/libidn.sln} inside the Libidn directory.  You
+project file @file{windows/libidn.sln} inside the Libidn directory.  You
 should be able to build the project using Build Project.
 
-Output libraries will be written into the @code{win32/lib} (or
-@code{win32/lib/debug} for Debug versions) folder.
+Output libraries will be written into the @code{windows/lib} (or
+@code{windows/lib/debug} for Debug versions) folder.
 
 When working with Windows you may want to look into the special memory
 handling functions that may be needed (@pxref{Memory handling under
@@ -843,7 +846,7 @@ the system), change @samp{libidn=yes} to @samp{libidn=no} on the third
 line.
 
 @example
-AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
+AC_ARG_WITH(libidn, AS_HELP_STRING([--with-libidn=[DIR]],
                                 [Support IDN (needs GNU Libidn)]),
   libidn=$withval, libidn=yes)
 if test "$libidn" != "no"; then
@@ -870,7 +873,7 @@ I cannot recommend generally), the above can be done more easily as
 follows.
 
 @example
-AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
+AC_ARG_WITH(libidn, AS_HELP_STRING([--with-libidn=[DIR]],
                                 [Support IDN (needs GNU Libidn)]),
   libidn=$withval, libidn=yes)
 if test "$libidn" != "no" ; then
@@ -1022,7 +1025,7 @@ characters according to profile.
 
 @deftypefun {int} stringprep_nameprep_no_unassigned (char * @var{in}, int @var{maxlen})
 
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
@@ -1033,7 +1036,7 @@ true AllowUnassigned.  Returns 0 iff successful, or an error code.
 
 @deftypefun {int} stringprep_iscsi (char * @var{in}, int @var{maxlen})
 
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
@@ -1043,7 +1046,7 @@ profile.  Returns 0 iff successful, or an error code.
 
 @deftypefun {int} stringprep_plain (char * @var{in}, int @var{maxlen})
 
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
@@ -1053,7 +1056,7 @@ profile.  Returns 0 iff successful, or an error code.
 
 @deftypefun {int} stringprep_xmpp_nodeprep (char * @var{in}, int @var{maxlen})
 
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
@@ -1063,7 +1066,7 @@ identifier profile.  Returns 0 iff successful, or an error code.
 
 @deftypefun {int} stringprep_xmpp_resourceprep (char * @var{in}, int @var{maxlen})
 
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
@@ -1268,7 +1271,7 @@ the file @file{tld.h} using:
 @c ends in the same character), then set @var{end} to the same as
 @c @var{start}.  This structure is normally used as an array.
 @c @end deftp
-@c 
+@c
 @c @deftp {Data type} {Tld_table} @var{name} @var{version} @var{nvalid} @var{valid}
 @c @example
 @c /* List valid code points in a TLD. */
@@ -1402,14 +1405,14 @@ be used when writing your own application.
 
 This example demonstrates how the stringprep functions are used.
 
-@verbatiminclude example.c
+@verbatiminclude example.txt
 
 @node Example 2
 @section Example 2
 
 This example demonstrates how the punycode functions are used.
 
-@verbatiminclude example2.c
+@verbatiminclude example2.txt
 
 @node Example 3
 @section Example 3
@@ -1417,7 +1420,7 @@ This example demonstrates how the punycode functions are used.
 This example demonstrates how the library is used to convert
 internationalized domain names into ASCII compatible names.
 
-@verbatiminclude example3.c
+@verbatiminclude example3.txt
 
 @node Example 4
 @section Example 4
@@ -1425,7 +1428,7 @@ internationalized domain names into ASCII compatible names.
 This example demonstrates how the library is used to convert ASCII
 compatible names to internationalized domain names.
 
-@verbatiminclude example4.c
+@verbatiminclude example4.txt
 
 @node Example 5
 @section Example 5
@@ -1433,7 +1436,7 @@ compatible names to internationalized domain names.
 This example demonstrates how the library is used to check a string
 for invalid characters within a specific TLD.
 
-@verbatiminclude example5.c
+@verbatiminclude example5.txt
 
 @c **********************************************************
 @c *********************  Invoking idn  *********************
@@ -1474,39 +1477,7 @@ To process a string that starts with @code{-}, for example
 @section Options
 @code{idn} recognizes these commands:
 
-@verbatim
-  -h, --help               Print help and exit
-
-  -V, --version            Print version and exit
-
-  -s, --stringprep         Prepare string according to nameprep profile
-
-  -d, --punycode-decode    Decode Punycode
-
-  -e, --punycode-encode    Encode Punycode
-
-  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)
-
-  -u, --idna-to-unicode    Convert from ACE according to IDNA
-
-      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)
-
-      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)
-
-      --no-tld             Don't check string for TLD specific rules
-                             Only for --idna-to-ascii and --idna-to-unicode
-
-  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC
-
-  -p, --profile=STRING     Use specified stringprep profile instead
-                             Valid stringprep profiles: `Nameprep',
-                             `iSCSI', `Nodeprep', `Resourceprep',
-                             `trace', `SASLprep'
-
-      --debug              Print debugging information
-
-      --quiet              Silent operation
-@end verbatim
+@verbatiminclude idn-help.texi
 
 @section Environment Variables
 
@@ -1524,24 +1495,18 @@ $ CHARSET=ISO-8859-1 idn --punycode-encode
 
 @section Examples
 
-Standard usage, reading input from standard input:
+Standard usage, reading input from standard input.  The parameter
+@code{--quiet} disable printing copyright, license and usage
+instructions.
 
 @example
-jas@@latte:~$ idn
-libidn 0.3.5
-Copyright 2002, 2003 Simon Josefsson.
-GNU Libidn comes with NO WARRANTY, to the extent permitted by law.
-You may redistribute copies of GNU Libidn under the terms of
-the GNU Lesser General Public License.  For more information
-about these matters, see the file named COPYING.LIB.
-Type each input string on a line by itself, terminated by a newline character.
+jas@@latte:~$ idn --quiet
 r@"aksm@"org@aa{}s.se
 xn--rksmrgs-5wao1o.se
 jas@@latte:~$
 @end example
 
-Reading input from command line, and disable printing copyright and
-license information:
+Reading input from command line:
 
 @example
 jas@@latte:~$ idn --quiet r@"aksm@"org@aa{}s.se bl@aa{}b@ae{}rgr@o{}d.no
@@ -1598,7 +1563,7 @@ jas@@latte:~$
 The simplest explanation is that you haven't installed the
 @samp{iconv} conversion tools.  You can find it as a standalone
 library in GNU Libiconv
-(@uref{http://www.gnu.org/software/libiconv/}).  On many GNU/Linux
+(@uref{https://www.gnu.org/software/libiconv/}).  On many GNU/Linux
 systems, this library is part of the system, but you may have to
 install additional packages (e.g., @samp{glibc-locale} for Debian) to
 be able to use it.
@@ -1618,7 +1583,7 @@ the same characters as the same byte sequences.
 @example
 jas@@latte:~$ idn --quiet --debug ""
 system locale uses charset `ISO-8859-1'.
+
 jas@@latte:~$ CHARSET=UTF-8 idn --quiet --debug r@"aksm@"org@aa{}s
 system locale uses charset `UTF-8'.
 input[0] = U+0072
@@ -1745,8 +1710,10 @@ pending.
 
 The Java library, if Libidn has been built with Java support
 (@pxref{Downloading and Installing}), will be placed in
-@file{java/libidn-@value{VERSION}.jar}.  The source code is located in
-@file{java/gnu/inet/encoding/}.
+@file{java/libidn-@value{VERSION}.jar}.  The source code is below
+@file{java/} in Maven directory layout, and there is a Maven
+@file{pom.xml} build script as well.  Source code files are in
+@file{java/src/main/java/gnu/inet/encoding/}.
 
 @section Overview
 
@@ -1764,9 +1731,9 @@ gnu.inet.encoding.IDNA.toUnicode("xn--blds-6qa.xn--zg-xka");
 
 @section Miscellaneous Programs
 
-The @file{misc/} directory contains several programs that are related
-to the Java part of GNU Libidn, but that don't need to be included in
-the main source tree.
+The @file{java/src/util/java/} directory contains several programs that
+are related to the Java part of GNU Libidn, but that don't need to be
+included in the main source tree or the JAR file.
 
 @subsection GenerateRFC3454
 
@@ -1810,15 +1777,15 @@ The TestIDNA program allows to test the IDNA implementation manually
 or against Simon Josefsson's test vectors.
 
 The test vectors can be found at the Libidn homepage,
-@url{http://www.gnu.org/software/libidn/}.
+@url{https://www.gnu.org/software/libidn/}.
 
 To test the transformation manually, use:
 
 @example
-$ java -cp .:../libidn.jar TestIDNA -a <string to test>
+$ java -cp .:/usr/share/java/libidn.jar TestIDNA -a <string to test>
 Input: <string to test>
 Output: <toASCII(string to test)>
-$ java -cp .:../libidn.jar TestIDNA -u <string to test>
+$ java -cp .:/usr/share/java/libidn.jar TestIDNA -u <string to test>
 Input: <string to test>
 Output: <toUnicode(string to test)>
 @end example
@@ -1826,7 +1793,7 @@ Output: <toUnicode(string to test)>
 To test against draft-josefsson-idn-test-vectors.html, use:
 
 @example
-$ java -cp .:../libidn.jar TestIDNA -t
+$ java -cp .:/usr/share/java/libidn/libidn.jar TestIDNA -t
 No errors detected!
 @end example
 
@@ -1838,7 +1805,7 @@ or against the NormalizationTest.txt file from the Unicode data files.
 To test the normalization manually, use:
 
 @example
-$ java -cp .:../libidn.jar TestNFKC <string to test>
+$ java -cp .:/usr/share/java/libidn.jar TestNFKC <string to test>
 Input: <string to test>
 Output: <nfkc version of the string to test>
 @end example
@@ -1846,7 +1813,7 @@ Output: <nfkc version of the string to test>
 To test against NormalizationTest.txt:
 
 @example
-$ java -cp .:../libidn.jar TestNFKC
+$ java -cp .:/usr/share/java/libidn.jar TestNFKC
 No errors detected!
 @end example
 
@@ -2144,17 +2111,8 @@ Alternative workarounds are being considered.  Eventually Libidn may
 implement a new flag to the @code{idna_*} functions that implements a
 recommended way to work around this problem.
 
-@node Copying Information
-@appendix Copying Information
-
-@menu
-* GNU Free Documentation License::   License for copying this manual.
-@end menu
-
 @node GNU Free Documentation License
-@appendixsec GNU Free Documentation License
-
-@cindex FDL, GNU Free Documentation License
+@appendix GNU Free Documentation License
 
 @include fdl-1.3.texi
 
index ad182a0..3cde957 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idn_free" 3 "1.25" "libidn" "libidn"
+.TH "idn_free" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idn_free \- API function
 .SH SYNOPSIS
@@ -10,7 +10,7 @@ idn_free \- API function
 .IP "void * ptr" 12
 memory region to deallocate, or \fBNULL\fP.
 .SH "DESCRIPTION"
-Deallocates memory region by calling \fBfree()\fP.  If \fIptr\fP is \fBNULL\fP no
+Deallocates memory region by calling \fBfree()\fP.  If  \fIptr\fP is \fBNULL\fP no
 operation is performed.
 
 Normally applications de\-allocate strings allocated by libidn by
@@ -19,11 +19,14 @@ same application may use different heap memory, and then it is
 important to deallocate memory allocated within the same module
 that allocated it.  This function makes that possible.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -40,3 +43,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index bcee708..ab12c60 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_strerror" 3 "1.25" "libidn" "libidn"
+.TH "idna_strerror" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_strerror \- API function
 .SH SYNOPSIS
@@ -39,22 +39,25 @@ string does not equal the input.
 The input contains the ACE prefix (for
 ToASCII).
 .SH "IDNA_ICONV_ERROR"
-Could not convert string in locale encoding.
+Character encoding conversion error.
 .SH "IDNA_MALLOC_ERROR"
 Could not allocate buffer (this is typically a
 fatal error).
 .SH "IDNA_DLOPEN_ERROR"
 Could not dlopen the libcidn DSO (only used
 internally in libc).
-.SH "RETURN VALUE"
-Returns a pointer to a statically allocated string
-containing a description of the error with the return code \fIrc\fP.
+
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  \fIrc\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -71,3 +74,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 677e4dd..6c55e1a 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_ascii_4i" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_ascii_4i" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_ascii_4i \- API function
 .SH SYNOPSIS
@@ -37,14 +37,17 @@ ToASCII never alters a sequence of code points that are all in the ASCII
 range to begin with (although it could fail). Applying the ToASCII
 operation multiple times has exactly the same effect as applying it just
 once.
-.SH "RETURN VALUE"
-Returns 0 on success, or an \fBIdna_rc\fP error code.
+
+Return value: Returns 0 on success, or an \fBIdna_rc\fP error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -61,3 +64,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index a812e39..7aa5eae 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_ascii_4z" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_ascii_4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_ascii_4z \- API function
 .SH SYNOPSIS
@@ -18,14 +18,17 @@ an \fBIdna_flags\fP value, e.g., \fBIDNA_ALLOW_UNASSIGNED\fP or
 Convert UCS\-4 domain name to ASCII string.  The domain name may
 contain several labels, separated by dots.  The output buffer must
 be deallocated by the caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -42,3 +45,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 94fcd80..212c679 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_ascii_8z" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_ascii_8z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_ascii_8z \- API function
 .SH SYNOPSIS
@@ -18,14 +18,17 @@ an \fBIdna_flags\fP value, e.g., \fBIDNA_ALLOW_UNASSIGNED\fP or
 Convert UTF\-8 domain name to ASCII string.  The domain name may
 contain several labels, separated by dots.  The output buffer must
 be deallocated by the caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -42,3 +45,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 2d35d58..62f6df7 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_ascii_lz" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_ascii_lz" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_ascii_lz \- API function
 .SH SYNOPSIS
@@ -19,14 +19,17 @@ an \fBIdna_flags\fP value, e.g., \fBIDNA_ALLOW_UNASSIGNED\fP or
 Convert domain name in the locale's encoding to ASCII string.  The
 domain name may contain several labels, separated by dots.  The
 output buffer must be deallocated by the caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -43,3 +46,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 36677d4..a28b3a2 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_44i" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_44i" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_44i \- API function
 .SH SYNOPSIS
@@ -37,19 +37,22 @@ depends on the particular character encoding used.
 The inputs to ToUnicode are a sequence of code points, the
 AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
 ToUnicode is always a sequence of Unicode code points.
-.SH "RETURN VALUE"
-Returns \fBIdna_rc\fP error condition, but it must only be
+
+Return value: Returns \fBIdna_rc\fP error condition, but it must only be
 used for debugging purposes.  The output buffer is always
 guaranteed to contain the correct data according to the
 specification (sans malloc induced errors).  NB!  This means that
 you normally ignore the return code from this function, as
 checking it means breaking the standard.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -66,3 +69,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index b1b8012..359a230 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_4z4z" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_4z4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_4z4z \- API function
 .SH SYNOPSIS
@@ -19,14 +19,17 @@ Convert possibly ACE encoded domain name in UCS\-4 format into a
 UCS\-4 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -43,3 +46,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 5353886..f9426e6 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_8z4z" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_8z4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_8z4z \- API function
 .SH SYNOPSIS
@@ -19,14 +19,17 @@ Convert possibly ACE encoded domain name in UTF\-8 format into a
 UCS\-4 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -43,3 +46,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 62385ce..d73fb83 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_8z8z" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_8z8z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_8z8z \- API function
 .SH SYNOPSIS
@@ -19,14 +19,17 @@ Convert possibly ACE encoded domain name in UTF\-8 format into a
 UTF\-8 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -43,3 +46,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index fc3b19b..73a05c2 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_8zlz" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_8zlz" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_8zlz \- API function
 .SH SYNOPSIS
@@ -20,14 +20,17 @@ Convert possibly ACE encoded domain name in UTF\-8 format into a
 string encoded in the current locale's character set.  The domain
 name may contain several labels, separated by dots.  The output
 buffer must be deallocated by the caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -44,3 +47,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index fc59d58..37894d0 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "idna_to_unicode_lzlz" 3 "1.25" "libidn" "libidn"
+.TH "idna_to_unicode_lzlz" 3 "1.42" "libidn" "libidn"
 .SH NAME
 idna_to_unicode_lzlz \- API function
 .SH SYNOPSIS
@@ -21,14 +21,17 @@ Convert possibly ACE encoded domain name in the locale's character
 set into a string encoded in the current locale's character set.
 The domain name may contain several labels, separated by dots.  The
 output buffer must be deallocated by the caller.
-.SH "RETURN VALUE"
-Returns \fBIDNA_SUCCESS\fP on success, or error code.
+
+Return value: Returns \fBIDNA_SUCCESS\fP on success, or error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -45,3 +48,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 7c50fea..a691835 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "pr29_4" 3 "1.25" "libidn" "libidn"
+.TH "pr29_4" 3 "1.42" "libidn" "libidn"
 .SH NAME
 pr29_4 \- API function
 .SH SYNOPSIS
@@ -15,17 +15,20 @@ length of input array with unicode code points.
 Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
-.SH "RETURN VALUE"
-Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
+
+Return value: Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
 and \fBPR29_PROBLEM\fP if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
 implementations).
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -42,3 +45,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index d6279c2..5f15967 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "pr29_4z" 3 "1.25" "libidn" "libidn"
+.TH "pr29_4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 pr29_4z \- API function
 .SH SYNOPSIS
@@ -13,17 +13,20 @@ zero terminated array of Unicode code points.
 Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
-.SH "RETURN VALUE"
-Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
+
+Return value: Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
 and \fBPR29_PROBLEM\fP if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
 implementations).
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -40,3 +43,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index b331d05..245e767 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "pr29_8z" 3 "1.25" "libidn" "libidn"
+.TH "pr29_8z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 pr29_8z \- API function
 .SH SYNOPSIS
@@ -13,18 +13,21 @@ zero terminated input UTF\-8 string.
 Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
-.SH "RETURN VALUE"
-Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
+
+Return value: Returns the \fBPr29_rc\fP value \fBPR29_SUCCESS\fP on success,
 and \fBPR29_PROBLEM\fP if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
 implementations), or \fBPR29_STRINGPREP_ERROR\fP if there was a
 problem converting the string from UTF\-8 to UCS\-4.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -41,3 +44,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 231d345..6cf6a7b 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "pr29_strerror" 3 "1.25" "libidn" "libidn"
+.TH "pr29_strerror" 3 "1.42" "libidn" "libidn"
 .SH NAME
 pr29_strerror \- API function
 .SH SYNOPSIS
@@ -21,15 +21,18 @@ A problem sequence was encountered.
 .SH "PR29_STRINGPREP_ERROR"
 The character set conversion failed (only
 for \fBpr29_8z()\fP).
-.SH "RETURN VALUE"
-Returns a pointer to a statically allocated string
-containing a description of the error with the return code \fIrc\fP.
+
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  \fIrc\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -46,3 +49,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 5e21f0a..1c9ee92 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "punycode_decode" 3 "1.25" "libidn" "libidn"
+.TH "punycode_decode" 3 "1.42" "libidn" "libidn"
 .SH NAME
 punycode_decode \- API function
 .SH SYNOPSIS
@@ -8,14 +8,14 @@ punycode_decode \- API function
 .BI "int punycode_decode(size_t " input_length ", const char [] " input ", size_t * " output_length ", punycode_uint [] " output ", unsigned char [] " case_flags ");"
 .SH ARGUMENTS
 .IP "size_t input_length" 12
-The number of ASCII code points in the \fIinput\fP array.
+The number of ASCII code points in the  \fIinput\fP array.
 .IP "const char [] input" 12
 An array of ASCII code points (0..7F).
 .IP "size_t * output_length" 12
 The caller passes in the maximum number of code
-points that it can receive into the \fIoutput\fP array (which is also
+points that it can receive into the  \fIoutput\fP array (which is also
 the maximum number of flags that it can receive into the
-\fIcase_flags\fP array, if \fIcase_flags\fP is not a \fBNULL\fP pointer).  On
+ \fIcase_flags\fP array, if  \fIcase_flags\fP is not a \fBNULL\fP pointer).  On
 successful return it will contain the number of code points
 actually output (which is also the number of flags actually
 output, if case_flags is not a null pointer).  The decoder will
@@ -23,14 +23,13 @@ never need to output more code points than the number of ASCII
 code points in the input, because of the way the encoding is
 defined.  The number of code points output cannot exceed the
 maximum possible value of a punycode_uint, even if the supplied
-\fIoutput_length\fP is greater than that.
+ \fIoutput_length\fP is greater than that.
 .IP "punycode_uint [] output" 12
 An array of code points like the input argument of
 \fBpunycode_encode()\fP (see above).
 .IP "unsigned char [] case_flags" 12
 A \fBNULL\fP pointer (if the flags are not needed by the
-caller) or an array of boolean values parallel to the \fIoutput\fP
-array.  Nonzero (true, flagged) suggests that the corresponding
+caller) or an array of boolean values parallel to the  \fIoutput\fP array.  Nonzero (true, flagged) suggests that the corresponding
 Unicode character be forced to uppercase by the caller (if
 possible), and zero (false, unflagged) suggests that it be forced
 to lowercase (if possible).  ASCII code points (0..7F) are output
@@ -39,16 +38,19 @@ appropriately so that applying the flags would be harmless.
 .SH "DESCRIPTION"
 Converts Punycode to a sequence of code points (presumed to be
 Unicode code points).
-.SH "RETURN VALUE"
-The return value can be any of the \fBPunycode_status\fP
+
+Return value: The return value can be any of the \fBPunycode_status\fP
 values defined above.  If not \fBPUNYCODE_SUCCESS\fP, then
-\fIoutput_length\fP, \fIoutput\fP, and \fIcase_flags\fP might contain garbage.
+ \fIoutput_length\fP ,  \fIoutput\fP , and  \fIcase_flags\fP might contain garbage.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -65,3 +67,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index f9d0a80..133e2a6 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "punycode_encode" 3 "1.25" "libidn" "libidn"
+.TH "punycode_encode" 3 "1.42" "libidn" "libidn"
 .SH NAME
 punycode_encode \- API function
 .SH SYNOPSIS
@@ -8,8 +8,8 @@ punycode_encode \- API function
 .BI "int punycode_encode(size_t " input_length ", const punycode_uint [] " input ", const unsigned char [] " case_flags ", size_t * " output_length ", char [] " output ");"
 .SH ARGUMENTS
 .IP "size_t input_length" 12
-The number of code points in the \fIinput\fP array and
-the number of flags in the \fIcase_flags\fP array.
+The number of code points in the  \fIinput\fP array and
+the number of flags in the  \fIcase_flags\fP array.
 .IP "const punycode_uint [] input" 12
 An array of code points.  They are presumed to be Unicode
 code points, but that is not strictly REQUIRED.  The array
@@ -20,13 +20,13 @@ The code points that can occur in Unicode strings (0..D7FF and
 E000..10FFFF) are also called Unicode scalar values.
 .IP "const unsigned char [] case_flags" 12
 A \fBNULL\fP pointer or an array of boolean values parallel
-to the \fIinput\fP array.  Nonzero (true, flagged) suggests that the
+to the  \fIinput\fP array.  Nonzero (true, flagged) suggests that the
 corresponding Unicode character be forced to uppercase after
 being decoded (if possible), and zero (false, unflagged) suggests
 that it be forced to lowercase (if possible).  ASCII code points
 (0..7F) are encoded literally, except that ASCII letters are
 forced to uppercase or lowercase according to the corresponding
-case flags.  If \fIcase_flags\fP is a \fBNULL\fP pointer then ASCII letters
+case flags.  If  \fIcase_flags\fP is a \fBNULL\fP pointer then ASCII letters
 are left as they are, and other code points are treated as
 unflagged.
 .IP "size_t * output_length" 12
@@ -35,23 +35,33 @@ code points that it can receive.  On successful return it will
 contain the number of ASCII code points actually output.
 .IP "char [] output" 12
 An array of ASCII code points.  It is *not*
-null\-terminated; it will contain zeros if and only if the \fIinput\fP
-contains zeros.  (Of course the caller can leave room for a
+null\-terminated; it will contain zeros if and only if the  \fIinput\fP contains zeros.  (Of course the caller can leave room for a
 terminator and add one if needed.)
 .SH "DESCRIPTION"
 Converts a sequence of code points (presumed to be Unicode code
 points) to Punycode.
-.SH "RETURN VALUE"
-The return value can be any of the \fBPunycode_status\fP
+
+Return value: The return value can be any of the \fBPunycode_status\fP
 values defined above except \fBPUNYCODE_BAD_INPUT\fP.  If not
-\fBPUNYCODE_SUCCESS\fP, then \fIoutput_size\fP and \fIoutput\fP might contain
+\fBPUNYCODE_SUCCESS\fP, then  \fIoutput_size\fP and  \fIoutput\fP might contain
+garbage.
+.SH "DESCRIPTION"
+Converts a sequence of code points (presumed to be Unicode code
+points) to Punycode.
+
+Return value: The return value can be any of the \fBPunycode_status\fP
+values defined above except \fBPUNYCODE_BAD_INPUT\fP.  If not
+\fBPUNYCODE_SUCCESS\fP, then  \fIoutput_size\fP and  \fIoutput\fP might contain
 garbage.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -68,3 +78,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index a74aefc..a909257 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "punycode_strerror" 3 "1.25" "libidn" "libidn"
+.TH "punycode_strerror" 3 "1.42" "libidn" "libidn"
 .SH NAME
 punycode_strerror \- API function
 .SH SYNOPSIS
@@ -22,15 +22,18 @@ Input is invalid.
 Output would exceed the space provided.
 .SH "PUNYCODE_OVERFLOW"
 Input needs wider integers to process.
-.SH "RETURN VALUE"
-Returns a pointer to a statically allocated string
-containing a description of the error with the return code \fIrc\fP.
+
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  \fIrc\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -47,3 +50,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index e9d8493..b1c3e5e 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep" 3 "1.25" "libidn" "libidn"
+.TH "stringprep" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep \- API function
 .SH SYNOPSIS
@@ -8,7 +8,7 @@ stringprep \- API function
 .BI "int stringprep(char * " in ", size_t " maxlen ", Stringprep_profile_flags " flags ", const Stringprep_profile * " profile ");"
 .SH ARGUMENTS
 .IP "char * in" 12
-input/ouput array with string to prepare.
+input/output array with string to prepare.
 .IP "size_t maxlen" 12
 maximum length of input/output array.
 .IP "Stringprep_profile_flags flags" 12
@@ -23,24 +23,26 @@ Note that you must convert strings entered in the systems locale
 into UTF\-8 before using this function, see
 \fBstringprep_locale_to_utf8()\fP.
 
-Since the stringprep operation can expand the string, \fImaxlen\fP
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  \fImaxlen\fP indicate how large the buffer holding the string is.  This function
 will not read or write to characters outside that size.
 
-The \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
+The  \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
 
-The \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
+The  \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
 perform.  Your application can define new profiles, possibly
 re\-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
-.SH "RETURN VALUE"
-Returns \fBSTRINGPREP_OK\fP iff successful, or an error code.
+
+Return value: Returns \fBSTRINGPREP_OK\fP iff successful, or an error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -57,3 +59,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 3aad494..649ae50 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_4i" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_4i" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_4i \- API function
 .SH SYNOPSIS
@@ -22,30 +22,53 @@ pointer to \fBStringprep_profile\fP to use.
 Prepare the input UCS\-4 string according to the stringprep profile,
 and write back the result to the input string.
 
-The input is not required to be zero terminated (\fIucs4\fP[\fIlen\fP] = 0).
-The output will not be zero terminated unless \fIucs4\fP[\fIlen\fP] = 0.
+The input is not required to be zero terminated ( \fIucs4\fP [ \fIlen\fP ] = 0).
+The output will not be zero terminated unless  \fIucs4\fP [ \fIlen\fP ] = 0.
 Instead, see \fBstringprep_4zi()\fP if your input is zero terminated or
 if you want the output to be.
 
-Since the stringprep operation can expand the string, \fImaxucs4len\fP
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  \fImaxucs4len\fP indicate how large the buffer holding the string is.  This function
 will not read or write to code points outside that size.
 
-The \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
+The  \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
 
-The \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
+The  \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
 perform.  Your application can define new profiles, possibly
 re\-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
-.SH "RETURN VALUE"
-Returns \fBSTRINGPREP_OK\fP iff successful, or an
+
+Return value: Returns \fBSTRINGPREP_OK\fP iff successful, or an
+\fBStringprep_rc\fP error code.
+.SH "DESCRIPTION"
+Prepare the input UCS\-4 string according to the stringprep profile,
+and write back the result to the input string.
+
+The input is not required to be zero terminated ( \fIucs4\fP [ \fIlen\fP ] = 0).
+The output will not be zero terminated unless  \fIucs4\fP [ \fIlen\fP ] = 0.
+Instead, see \fBstringprep_4zi()\fP if your input is zero terminated or
+if you want the output to be.
+
+Since the stringprep operation can expand the string,  \fImaxucs4len\fP indicate how large the buffer holding the string is.  This function
+will not read or write to code points outside that size.
+
+The  \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
+
+The  \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
+perform.  Your application can define new profiles, possibly
+re\-using the generic stringprep tables that always will be part of
+the library, or use one of the currently supported profiles.
+
+Return value: Returns \fBSTRINGPREP_OK\fP iff successful, or an
 \fBStringprep_rc\fP error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -62,3 +85,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 1841343..4508717 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_4zi" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_4zi" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_4zi \- API function
 .SH SYNOPSIS
@@ -19,25 +19,27 @@ pointer to \fBStringprep_profile\fP to use.
 Prepare the input zero terminated UCS\-4 string according to the
 stringprep profile, and write back the result to the input string.
 
-Since the stringprep operation can expand the string, \fImaxucs4len\fP
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  \fImaxucs4len\fP indicate how large the buffer holding the string is.  This function
 will not read or write to code points outside that size.
 
-The \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
+The  \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
 
-The \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
+The  \fIprofile\fP contain the \fBStringprep_profile\fP instructions to
 perform.  Your application can define new profiles, possibly
 re\-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
-.SH "RETURN VALUE"
-Returns \fBSTRINGPREP_OK\fP iff successful, or an
+
+Return value: Returns \fBSTRINGPREP_OK\fP iff successful, or an
 \fBStringprep_rc\fP error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -54,3 +56,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index cae3759..cb4261b 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_check_version" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_check_version" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_check_version \- API function
 .SH SYNOPSIS
@@ -15,16 +15,19 @@ and return the version string; return NULL if the condition is not
 satisfied.  If a NULL is passed to this function, no check is done,
 but the version string is simply returned.
 
-See \fBSTRINGPREP_VERSION\fP for a suitable \fIreq_version\fP string.
-.SH "RETURN VALUE"
-Version string of run\-time library, or NULL if the
+See \fBSTRINGPREP_VERSION\fP for a suitable  \fIreq_version\fP string.
+
+Return value: Version string of run\-time library, or NULL if the
 run\-time library does not meet the required version number.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -41,3 +44,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 8776309..8e34f31 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_convert" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_convert" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_convert \- API function
 .SH SYNOPSIS
@@ -12,19 +12,22 @@ input zero\-terminated string.
 .IP "const char * to_codeset" 12
 name of destination character set.
 .IP "const char * from_codeset" 12
-name of origin character set, as used by \fIstr\fP.
+name of origin character set, as used by  \fIstr\fP .
 .SH "DESCRIPTION"
 Convert the string from one character set to another using the
 system's \fBiconv()\fP function.
-.SH "RETURN VALUE"
-Returns newly allocated zero\-terminated string which
-is \fIstr\fP transcoded into to_codeset.
+
+Return value: Returns newly allocated zero\-terminated string which
+is  \fIstr\fP transcoded into to_codeset.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -41,3 +44,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 86b1985..75ae102 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_locale_charset" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_locale_charset" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_locale_charset \- API function
 .SH SYNOPSIS
@@ -9,6 +9,9 @@ stringprep_locale_charset \- API function
 .SH ARGUMENTS
 .IP " void" 12
 .SH "DESCRIPTION"
+Enumerated return codes of the TLD checking functions.
+The value 0 is guaranteed to always correspond to success.
+.SH ""
 
 Find out current locale charset.  The function respect the CHARSET
 environment variable, but typically uses nl_langinfo(CODESET) when
@@ -16,22 +19,25 @@ it is supported.  It fall back on "ASCII" if CHARSET isn't set and
 nl_langinfo isn't supported or return anything.
 
 Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
+charset (or thread's locale's preferred charset, if your system
 support thread\-specific locales).  It does not return what the
 system may be using.  Thus, if you receive data from external
 sources you cannot in general use this function to guess what
 charset it is encoded in.  Use stringprep_convert from the external
 representation into the charset returned by this function, to have
 data in the locale encoding.
-.SH "RETURN VALUE"
-Return the character set used by the current locale.
+
+Return value: Return the character set used by the current locale.
 It will never return NULL, but use "ASCII" as a fallback.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -48,3 +54,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 5ee69b8..4b9e1de 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_locale_to_utf8" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_locale_to_utf8" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_locale_to_utf8 \- API function
 .SH SYNOPSIS
@@ -12,15 +12,18 @@ input zero terminated string.
 .SH "DESCRIPTION"
 Convert string encoded in the locale's character set into UTF\-8 by
 using \fBstringprep_convert()\fP.
-.SH "RETURN VALUE"
-Returns newly allocated zero\-terminated string which
-is \fIstr\fP transcoded into UTF\-8.
+
+Return value: Returns newly allocated zero\-terminated string which
+is  \fIstr\fP transcoded into UTF\-8.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -37,3 +40,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 6c8b55c..c79c198 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_profile" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_profile" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_profile \- API function
 .SH SYNOPSIS
@@ -24,20 +24,23 @@ Note that you must convert strings entered in the systems locale
 into UTF\-8 before using this function, see
 \fBstringprep_locale_to_utf8()\fP.
 
-The output \fIout\fP variable must be deallocated by the caller.
+The output  \fIout\fP variable must be deallocated by the caller.
 
-The \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
+The  \fIflags\fP are one of \fBStringprep_profile_flags\fP values, or 0.
 
-The \fIprofile\fP specifies the name of the stringprep profile to use.
+The  \fIprofile\fP specifies the name of the stringprep profile to use.
 It must be one of the internally supported stringprep profiles.
-.SH "RETURN VALUE"
-Returns \fBSTRINGPREP_OK\fP iff successful, or an error code.
+
+Return value: Returns \fBSTRINGPREP_OK\fP iff successful, or an error code.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -54,3 +57,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 8cacca3..e0d761b 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_strerror" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_strerror" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_strerror \- API function
 .SH SYNOPSIS
@@ -44,21 +44,26 @@ This usually indicate a problem in the calling application.
 .SH "STRINGPREP_UNKNOWN_PROFILE"
 The supplied profile name was not
 known to the library.
+.SH "STRINGPREP_ICONV_ERROR"
+Character encoding conversion error.
 .SH "STRINGPREP_NFKC_FAILED"
 The Unicode NFKC operation failed.  This
 usually indicate an internal error in the library.
 .SH "STRINGPREP_MALLOC_ERROR"
 The \fBmalloc()\fP was out of memory.  This is
 usually a fatal error.
-.SH "RETURN VALUE"
-Returns a pointer to a statically allocated string
-containing a description of the error with the return code \fIrc\fP.
+
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  \fIrc\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -75,3 +80,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index b2e1ad0..cceb40d 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_ucs4_nfkc_normalize" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_ucs4_nfkc_normalize" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_ucs4_nfkc_normalize \- API function
 .SH SYNOPSIS
@@ -10,19 +10,22 @@ stringprep_ucs4_nfkc_normalize \- API function
 .IP "const uint32_t * str" 12
 a Unicode string.
 .IP "ssize_t len" 12
-length of \fIstr\fP array, or \-1 if \fIstr\fP is nul\-terminated.
+length of  \fIstr\fP array, or \-1 if  \fIstr\fP is nul\-terminated.
 .SH "DESCRIPTION"
 Converts a UCS4 string into canonical form, see
 \fBstringprep_utf8_nfkc_normalize()\fP for more information.
-.SH "RETURN VALUE"
-a newly allocated Unicode string, that is the NFKC
-normalized form of \fIstr\fP.
+
+Return value: a newly allocated Unicode string, that is the NFKC
+normalized form of  \fIstr\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -39,3 +42,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 3d33ae4..17b57e5 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_ucs4_to_utf8" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_ucs4_to_utf8" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_ucs4_to_utf8 \- API function
 .SH SYNOPSIS
@@ -10,7 +10,7 @@ stringprep_ucs4_to_utf8 \- API function
 .IP "const uint32_t * str" 12
 a UCS\-4 encoded string
 .IP "ssize_t len" 12
-the maximum length of \fIstr\fP to use. If \fIlen\fP < 0, then
+the maximum length of  \fIstr\fP to use. If  \fIlen\fP < 0, then
 the string is terminated with a 0 character.
 .IP "size_t * items_read" 12
 location to store number of characters read read, or \fBNULL\fP.
@@ -21,16 +21,19 @@ byte.
 .SH "DESCRIPTION"
 Convert a string from a 32\-bit fixed width representation as UCS\-4.
 to UTF\-8. The result will be terminated with a 0 byte.
-.SH "RETURN VALUE"
-a pointer to a newly allocated UTF\-8 string.
+
+Return value: a pointer to a newly allocated UTF\-8 string.
 This value must be deallocated by the caller.
 If an error occurs, \fBNULL\fP will be returned.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -47,3 +50,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 5c53a6a..d81682d 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_unichar_to_utf8" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_unichar_to_utf8" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_unichar_to_utf8 \- API function
 .SH SYNOPSIS
@@ -12,17 +12,20 @@ a ISO10646 character code
 .IP "char * outbuf" 12
 output buffer, must have at least 6 bytes of space.
 If \fBNULL\fP, the length will be computed and returned
-and nothing will be written to \fIoutbuf\fP.
+and nothing will be written to  \fIoutbuf\fP .
 .SH "DESCRIPTION"
 Converts a single character to UTF\-8.
-.SH "RETURN VALUE"
-number of bytes written.
+
+Return value: number of bytes written.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -39,3 +42,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index e3d61f2..568620a 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_utf8_nfkc_normalize" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_utf8_nfkc_normalize" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_utf8_nfkc_normalize \- API function
 .SH SYNOPSIS
@@ -10,7 +10,7 @@ stringprep_utf8_nfkc_normalize \- API function
 .IP "const char * str" 12
 a UTF\-8 encoded string.
 .IP "ssize_t len" 12
-length of \fIstr\fP, in bytes, or \-1 if \fIstr\fP is nul\-terminated.
+length of  \fIstr\fP , in bytes, or \-1 if  \fIstr\fP is nul\-terminated.
 .SH "DESCRIPTION"
 Converts a string into canonical form, standardizing
 such issues as whether a character with an accent
@@ -25,15 +25,18 @@ the standard forms (in this case DIGIT THREE). Formatting
 information may be lost but for most text operations such
 characters should be considered the same. It returns a result with
 composed forms rather than a maximally decomposed form.
-.SH "RETURN VALUE"
-a newly allocated string, that is the
-NFKC normalized form of \fIstr\fP.
+
+Return value: a newly allocated string, that is the
+NFKC normalized form of  \fIstr\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -50,3 +53,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 5bb7dde..793e789 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_utf8_to_locale" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_utf8_to_locale" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_utf8_to_locale \- API function
 .SH SYNOPSIS
@@ -12,15 +12,18 @@ input zero terminated string.
 .SH "DESCRIPTION"
 Convert string encoded in UTF\-8 into the locale's character set by
 using \fBstringprep_convert()\fP.
-.SH "RETURN VALUE"
-Returns newly allocated zero\-terminated string which
-is \fIstr\fP transcoded into the locale's character set.
+
+Return value: Returns newly allocated zero\-terminated string which
+is  \fIstr\fP transcoded into the locale's character set.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -37,3 +40,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index a997461..b3910c6 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_utf8_to_ucs4" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_utf8_to_ucs4" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_utf8_to_ucs4 \- API function
 .SH SYNOPSIS
@@ -10,24 +10,28 @@ stringprep_utf8_to_ucs4 \- API function
 .IP "const char * str" 12
 a UTF\-8 encoded string
 .IP "ssize_t len" 12
-the maximum length of \fIstr\fP to use. If \fIlen\fP < 0, then
+the maximum length of  \fIstr\fP to use. If  \fIlen\fP < 0, then
 the string is nul\-terminated.
 .IP "size_t * items_written" 12
 location to store the number of characters in the
 result, or \fBNULL\fP.
 .SH "DESCRIPTION"
-Convert a string from UTF\-8 to a 32\-bit fixed width
-representation as UCS\-4, assuming valid UTF\-8 input.
-This function does no error checking on the input.
-.SH "RETURN VALUE"
-a pointer to a newly allocated UCS\-4 string.
+Convert a string from UTF\-8 to a 32\-bit fixed width representation
+as UCS\-4.  The function now performs error checking to verify that
+the input is valid UTF\-8 (before it was documented to not do error
+checking).
+
+Return value: a pointer to a newly allocated UCS\-4 string.
 This value must be deallocated by the caller.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -44,3 +48,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 398a595..dd46831 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "stringprep_utf8_to_unichar" 3 "1.25" "libidn" "libidn"
+.TH "stringprep_utf8_to_unichar" 3 "1.42" "libidn" "libidn"
 .SH NAME
 stringprep_utf8_to_unichar \- API function
 .SH SYNOPSIS
@@ -11,16 +11,25 @@ stringprep_utf8_to_unichar \- API function
 a pointer to Unicode character encoded as UTF\-8
 .SH "DESCRIPTION"
 Converts a sequence of bytes encoded as UTF\-8 to a Unicode character.
-If \fIp\fP does not point to a valid UTF\-8 encoded character, results are
+If  \fIp\fP does not point to a valid UTF\-8 encoded character, results are
 undefined.
-.SH "RETURN VALUE"
-the resulting character.
+
+Return value: the resulting character.
+.SH "DESCRIPTION"
+Converts a sequence of bytes encoded as UTF\-8 to a Unicode character.
+If  \fIp\fP does not point to a valid UTF\-8 encoded character, results are
+undefined.
+
+Return value: the resulting character.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -37,3 +46,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 131ebbe..aadf4cb 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_4" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_4" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_4 \- API function
 .SH SYNOPSIS
@@ -18,25 +18,28 @@ Position of offending character is returned here.
 A \fBTld_table\fP array of additional domain restriction
 structures that complement and supersede the built\-in information.
 .SH "DESCRIPTION"
-Test each of the code points in \fIin\fP for whether or not they are
-allowed by the information in \fIoverrides\fP or by the built\-in TLD
+Test each of the code points in  \fIin\fP for whether or not they are
+allowed by the information in  \fIoverrides\fP or by the built\-in TLD
 restriction data. When data for the same TLD is available both
-internally and in \fIoverrides\fP, the information in \fIoverrides\fP takes
+internally and in  \fIoverrides\fP , the information in  \fIoverrides\fP takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If \fIoverrides\fP is \fBNULL\fP, only the built\-in
+first one is used.  If  \fIoverrides\fP is \fBNULL\fP, only the built\-in
 information is used.  The position of the first offending character
-is returned in \fIerrpos\fP.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
-points are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+is returned in  \fIerrpos\fP .
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
+points are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -53,3 +56,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 59c6b1b..e7256b3 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_4t" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_4t" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_4t \- API function
 .SH SYNOPSIS
@@ -18,21 +18,24 @@ Position of offending character is returned here.
 A \fBTld_table\fP data structure representing the restrictions for
 which the input should be tested.
 .SH "DESCRIPTION"
-Test each of the code points in \fIin\fP for whether or not
-they are allowed by the data structure in \fItld\fP, return
+Test each of the code points in  \fIin\fP for whether or not
+they are allowed by the data structure in  \fItld\fP , return
 the position of the first character for which this is not
-the case in \fIerrpos\fP.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
-points are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+the case in  \fIerrpos\fP .
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
+points are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -49,3 +52,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 7e1075f..00c39b3 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_4tz" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_4tz" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_4tz \- API function
 .SH SYNOPSIS
@@ -15,21 +15,24 @@ Position of offending character is returned here.
 A \fBTld_table\fP data structure representing the restrictions for
 which the input should be tested.
 .SH "DESCRIPTION"
-Test each of the code points in \fIin\fP for whether or not
-they are allowed by the data structure in \fItld\fP, return
+Test each of the code points in  \fIin\fP for whether or not
+they are allowed by the data structure in  \fItld\fP , return
 the position of the first character for which this is not
-the case in \fIerrpos\fP.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
-points are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+the case in  \fIerrpos\fP .
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
+points are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -46,3 +49,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index ea919da..705e5db 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_4z" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_4z \- API function
 .SH SYNOPSIS
@@ -15,25 +15,28 @@ Position of offending character is returned here.
 A \fBTld_table\fP array of additional domain restriction
 structures that complement and supersede the built\-in information.
 .SH "DESCRIPTION"
-Test each of the code points in \fIin\fP for whether or not they are
-allowed by the information in \fIoverrides\fP or by the built\-in TLD
+Test each of the code points in  \fIin\fP for whether or not they are
+allowed by the information in  \fIoverrides\fP or by the built\-in TLD
 restriction data. When data for the same TLD is available both
-internally and in \fIoverrides\fP, the information in \fIoverrides\fP takes
+internally and in  \fIoverrides\fP , the information in  \fIoverrides\fP takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If \fIoverrides\fP is \fBNULL\fP, only the built\-in
+first one is used.  If  \fIoverrides\fP is \fBNULL\fP, only the built\-in
 information is used.  The position of the first offending character
-is returned in \fIerrpos\fP.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
-points are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+is returned in  \fIerrpos\fP .
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all code
+points are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -50,3 +53,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 81143e0..684bc0d 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_8z" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_8z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_8z \- API function
 .SH SYNOPSIS
@@ -15,27 +15,30 @@ Position of offending character is returned here.
 A \fBTld_table\fP array of additional domain restriction
 structures that complement and supersede the built\-in information.
 .SH "DESCRIPTION"
-Test each of the characters in \fIin\fP for whether or not they are
-allowed by the information in \fIoverrides\fP or by the built\-in TLD
+Test each of the characters in  \fIin\fP for whether or not they are
+allowed by the information in  \fIoverrides\fP or by the built\-in TLD
 restriction data. When data for the same TLD is available both
-internally and in \fIoverrides\fP, the information in \fIoverrides\fP takes
+internally and in  \fIoverrides\fP , the information in  \fIoverrides\fP takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If \fIoverrides\fP is \fBNULL\fP, only the built\-in
+first one is used.  If  \fIoverrides\fP is \fBNULL\fP, only the built\-in
 information is used.  The position of the first offending character
-is returned in \fIerrpos\fP.  Note that the error position refers to the
+is returned in  \fIerrpos\fP .  Note that the error position refers to the
 decoded character offset rather than the byte position in the
 string.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all
-characters are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all
+characters are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -52,3 +55,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index edd9354..c6425bf 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_check_lz" 3 "1.25" "libidn" "libidn"
+.TH "tld_check_lz" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_check_lz \- API function
 .SH SYNOPSIS
@@ -15,27 +15,30 @@ Position of offending character is returned here.
 A \fBTld_table\fP array of additional domain restriction
 structures that complement and supersede the built\-in information.
 .SH "DESCRIPTION"
-Test each of the characters in \fIin\fP for whether or not they are
-allowed by the information in \fIoverrides\fP or by the built\-in TLD
+Test each of the characters in  \fIin\fP for whether or not they are
+allowed by the information in  \fIoverrides\fP or by the built\-in TLD
 restriction data. When data for the same TLD is available both
-internally and in \fIoverrides\fP, the information in \fIoverrides\fP takes
+internally and in  \fIoverrides\fP , the information in  \fIoverrides\fP takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If \fIoverrides\fP is \fBNULL\fP, only the built\-in
+first one is used.  If  \fIoverrides\fP is \fBNULL\fP, only the built\-in
 information is used.  The position of the first offending character
-is returned in \fIerrpos\fP.  Note that the error position refers to the
+is returned in  \fIerrpos\fP .  Note that the error position refers to the
 decoded character offset rather than the byte position in the
 string.
-.SH "RETURN VALUE"
-Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all
-characters are valid or when \fItld\fP is null, \fBTLD_INVALID\fP if a
+
+Return value: Returns the \fBTld_rc\fP value \fBTLD_SUCCESS\fP if all
+characters are valid or when  \fItld\fP is null, \fBTLD_INVALID\fP if a
 character is not allowed, or additional error codes on general
 failure conditions.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -52,3 +55,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index c019ece..a45b471 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_default_table" 3 "1.25" "libidn" "libidn"
+.TH "tld_default_table" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_default_table \- API function
 .SH SYNOPSIS
@@ -11,21 +11,24 @@ tld_default_table \- API function
 TLD name (e.g. "com") as zero terminated ASCII byte string.
 .IP "const Tld_table ** overrides" 12
 Additional zero terminated array of \fBTld_table\fP
-info\-structures for TLDs, or \fBNULL\fP to only use library deault
+info\-structures for TLDs, or \fBNULL\fP to only use library default
 tables.
 .SH "DESCRIPTION"
 Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.
-.SH "RETURN VALUE"
-Return structure corresponding to TLD \fItld_str\fP, first
-looking through \fIoverrides\fP then thru built\-in list, or \fBNULL\fP if
+possibly overridden by the (optional) supplied tables.
+
+Return value: Return structure corresponding to TLD  \fItld_str\fP , first
+looking through  \fIoverrides\fP then thru built\-in list, or \fBNULL\fP if
 no such structure found.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -42,3 +45,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 6a9d4f9..8d952f1 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_get_4" 3 "1.25" "libidn" "libidn"
+.TH "tld_get_4" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_get_4 \- API function
 .SH SYNOPSIS
@@ -15,17 +15,20 @@ Number of unicode code points.
 .IP "char ** out" 12
 Zero terminated ascii result string pointer.
 .SH "DESCRIPTION"
-Isolate the top\-level domain of \fIin\fP and return it as an ASCII
-string in \fIout\fP.
-.SH "RETURN VALUE"
-Return \fBTLD_SUCCESS\fP on success, or the corresponding
+Isolate the top\-level domain of  \fIin\fP and return it as an ASCII
+string in  \fIout\fP .
+
+Return value: Return \fBTLD_SUCCESS\fP on success, or the corresponding
 \fBTld_rc\fP error code otherwise.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -42,3 +45,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 60dd67e..114e197 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_get_4z" 3 "1.25" "libidn" "libidn"
+.TH "tld_get_4z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_get_4z \- API function
 .SH SYNOPSIS
@@ -12,17 +12,20 @@ Zero terminated array of unicode code points to process.
 .IP "char ** out" 12
 Zero terminated ascii result string pointer.
 .SH "DESCRIPTION"
-Isolate the top\-level domain of \fIin\fP and return it as an ASCII
-string in \fIout\fP.
-.SH "RETURN VALUE"
-Return \fBTLD_SUCCESS\fP on success, or the corresponding
+Isolate the top\-level domain of  \fIin\fP and return it as an ASCII
+string in  \fIout\fP .
+
+Return value: Return \fBTLD_SUCCESS\fP on success, or the corresponding
 \fBTld_rc\fP error code otherwise.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -39,3 +42,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index a24a883..b62c8e6 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_get_table" 3 "1.25" "libidn" "libidn"
+.TH "tld_get_table" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_get_table \- API function
 .SH SYNOPSIS
@@ -15,15 +15,24 @@ TLDs.
 .SH "DESCRIPTION"
 Get the TLD table for a named TLD by searching through the given
 TLD table array.
-.SH "RETURN VALUE"
-Return structure corresponding to TLD \fItld\fP by going
-thru \fItables\fP, or return \fBNULL\fP if no such structure is found.
+
+Return value: Return structure corresponding to TLD  \fItld\fP by going
+thru  \fItables\fP , or return \fBNULL\fP if no such structure is found.
+.SH "DESCRIPTION"
+Get the TLD table for a named TLD by searching through the given
+TLD table array.
+
+Return value: Return structure corresponding to TLD  \fItld\fP by going
+thru  \fItables\fP , or return \fBNULL\fP if no such structure is found.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -40,3 +49,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index e9bffaa..b944ca1 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_get_z" 3 "1.25" "libidn" "libidn"
+.TH "tld_get_z" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_get_z \- API function
 .SH SYNOPSIS
@@ -12,18 +12,21 @@ Zero terminated character array to process.
 .IP "char ** out" 12
 Zero terminated ascii result string pointer.
 .SH "DESCRIPTION"
-Isolate the top\-level domain of \fIin\fP and return it as an ASCII
-string in \fIout\fP.  The input string \fIin\fP may be UTF\-8, ISO\-8859\-1 or
+Isolate the top\-level domain of  \fIin\fP and return it as an ASCII
+string in  \fIout\fP .  The input string  \fIin\fP may be UTF\-8, ISO\-8859\-1 or
 any ASCII compatible character encoding.
-.SH "RETURN VALUE"
-Return \fBTLD_SUCCESS\fP on success, or the corresponding
+
+Return value: Return \fBTLD_SUCCESS\fP on success, or the corresponding
 \fBTld_rc\fP error code otherwise.
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -40,3 +43,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index c36b674..8542687 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
-.TH "tld_strerror" 3 "1.25" "libidn" "libidn"
+.TH "tld_strerror" 3 "1.42" "libidn" "libidn"
 .SH NAME
 tld_strerror \- API function
 .SH SYNOPSIS
@@ -23,18 +23,21 @@ No input data was provided.
 .SH "TLD_MALLOC_ERROR"
 Error during memory allocation.
 .SH "TLD_ICONV_ERROR"
-Error during iconv string conversion.
+Character encoding conversion error.
 .SH "TLD_NO_TLD"
 No top\-level domain found in domain string.
-.SH "RETURN VALUE"
-Returns a pointer to a statically allocated string
-containing a description of the error with the return code \fIrc\fP.
+
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  \fIrc\fP .
 .SH "REPORTING BUGS"
-Report bugs to <bug-libidn@gnu.org>.
-GNU Libidn home page: http://www.gnu.org/software/libidn/
-General help using GNU software: http://www.gnu.org/gethelp/
+Report bugs to <help-libidn@gnu.org>.
+.br
+General guidelines for reporting bugs: https://www.gnu.org/gethelp/
+.br
+GNU Libidn home page: https://www.gnu.org/software/libidn/
+
 .SH COPYRIGHT
-Copyright \(co 2002-2012 Simon Josefsson.
+Copyright \(co 2002-2024 Simon Josefsson.
 .br
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -51,3 +54,7 @@ programs are properly installed at your site, the command
 .B info libidn
 .PP
 should give you access to the complete manual.
+As an alternative you may obtain the manual from:
+.IP
+.B https://www.gnu.org/software/libidn/manual/
+.PP
index 70c65ca..b4dbe83 100644 (file)
@@ -1,22 +1,11 @@
-## Process this file with automake to produce Makefile.in
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
 # The name of the module, e.g. 'glib'.
 DOC_MODULE=$(PACKAGE)
 
 # Uncomment for versioned docs and specify the version of the module, e.g. '2'.
 #DOC_MODULE_VERSION=2
 
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+# The top-level XML file.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
 
 # Directories containing the source code.
 # gtk-doc will search all .c and .h files beneath these paths
@@ -24,25 +13,21 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
 # e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
 DOC_SOURCE_DIR=$(top_srcdir)/lib
 
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+# Extra options to pass to gtkdoc-scangobj. Normally not needed.
 SCANGOBJ_OPTIONS=
 
 # Extra options to supply to gtkdoc-scan.
 # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
 SCAN_OPTIONS=--ignore-decorators=IDNAPI
 
-# Extra options to supply to gtkdoc-mkdb.
+# Extra options to supply to gtkdoc-mkdb
 # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
 MKDB_OPTIONS=--xml-mode --output-format=xml
 
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
 # Extra options to supply to gtkdoc-mkhtml
 MKHTML_OPTIONS=
 
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# Extra options to supply to gtkdoc-fixref. Normally not needed.
 # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
 FIXXREF_OPTIONS=
 
@@ -58,19 +43,18 @@ EXTRA_HFILES=
 
 # Header files or dirs to ignore when scanning. Use base file/dir names
 # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
-IGNORE_HFILES=gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl gltests
+IGNORE_HFILES=gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl rfc3454.h
 
 # Images to copy into HTML directory.
 # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 HTML_IMAGES=../libidn-components.png
 
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+# Extra files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.xml building.xml changes-2.0.xml
 content_files=
 
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
+# Files where gtk-doc abbreviations (#GtkWidget) are expanded
+# e.g. expand_content_files=running.xml
 expand_content_files=
 
 # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
@@ -84,22 +68,27 @@ GTKDOC_LIBS=
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
 
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST +=
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want 'make check' to test you doc status
+# Comment this out if you don't want 'make check' to test you doc status
 # and run some sanity checks
 if ENABLE_GTK_DOC
-TESTS_ENVIRONMENT = cd $(srcdir) && \
+TESTS_ENVIRONMENT = \
   DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
   SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
-#TESTS = $(GTKDOC_CHECK)
+TESTS = $(GTKDOC_CHECK)
 endif
 
 -include $(top_srcdir)/git.mk
+
+html-build.stamp: $(top_builddir)/.version
+pdf-build.stamp: $(top_builddir)/.version
+
+CLEANFILES ?=
+CLEANFILES += libidn-overrides.txt libidn-decl.txt libidn-decl-list.txt
+CLEANFILES += libidn-sections.txt libidn.pdf
+
+clean-local: clean-local-junk
+.PHONY: clean-local-junk
+clean-local-junk:
+       -rm -rf xml html tmpl
+
+dist-hook-local: all-local
index ff368dd..b63c01f 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 # -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+#               2004-2007 Damon Chaplin
+#               2007-2017 Stefan Sauer
+#
+# 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/>.
 
 ####################################
 # Everything below here is generic #
 ####################################
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -39,106 +111,337 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/version.xml.in $(top_srcdir)/gtk-doc.make
 subdir = doc/reference
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = version.xml
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \
+       $(top_srcdir)/build-aux/test-driver $(top_srcdir)/gtk-doc.make
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -157,9 +460,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -179,290 +485,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -472,16 +1067,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -498,33 +1098,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -539,28 +1152,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -570,26 +1191,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -608,6 +1237,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -629,9 +1259,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -649,36 +1278,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -687,12 +1318,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -705,11 +1340,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -742,27 +1379,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -775,71 +1434,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -848,11 +1541,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -865,45 +1568,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -911,7 +1627,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -929,8 +1644,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -943,8 +1660,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -960,6 +1679,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -969,22 +1689,14 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
 # The name of the module, e.g. 'glib'.
 DOC_MODULE = $(PACKAGE)
 
 # Uncomment for versioned docs and specify the version of the module, e.g. '2'.
 #DOC_MODULE_VERSION=2
 
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
+# The top-level XML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
 
 # Directories containing the source code.
 # gtk-doc will search all .c and .h files beneath these paths
@@ -992,25 +1704,21 @@ DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
 # e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
 DOC_SOURCE_DIR = $(top_srcdir)/lib
 
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+# Extra options to pass to gtkdoc-scangobj. Normally not needed.
 SCANGOBJ_OPTIONS = 
 
 # Extra options to supply to gtkdoc-scan.
 # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
 SCAN_OPTIONS = --ignore-decorators=IDNAPI
 
-# Extra options to supply to gtkdoc-mkdb.
+# Extra options to supply to gtkdoc-mkdb
 # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
 MKDB_OPTIONS = --xml-mode --output-format=xml
 
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS = 
-
 # Extra options to supply to gtkdoc-mkhtml
 MKHTML_OPTIONS = 
 
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# Extra options to supply to gtkdoc-fixref. Normally not needed.
 # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
 FIXXREF_OPTIONS = 
 
@@ -1026,19 +1734,18 @@ EXTRA_HFILES =
 
 # Header files or dirs to ignore when scanning. Use base file/dir names
 # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
-IGNORE_HFILES = gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl gltests
+IGNORE_HFILES = gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl rfc3454.h
 
 # Images to copy into HTML directory.
 # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 HTML_IMAGES = ../libidn-components.png
 
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+# Extra files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.xml building.xml changes-2.0.xml
 content_files = 
 
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
+# Files where gtk-doc abbreviations (#GtkWidget) are expanded
+# e.g. expand_content_files=running.xml
 expand_content_files = 
 
 # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
@@ -1064,21 +1771,21 @@ GPATH = $(srcdir)
 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
 SETUP_FILES = \
        $(content_files)                \
+       $(expand_content_files)         \
        $(DOC_MAIN_SGML_FILE)           \
        $(DOC_MODULE)-sections.txt      \
        $(DOC_MODULE)-overrides.txt
 
+EXTRA_DIST = \
+       $(HTML_IMAGES)                  \
+       $(SETUP_FILES)
 
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
-DOC_STAMPS = setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
        html-build.stamp pdf-build.stamp \
-       tmpl.stamp sgml.stamp html.stamp pdf.stamp
+       sgml.stamp html.stamp pdf.stamp
 
 SCANOBJ_FILES = \
+       $(DOC_MODULE).actions    \
        $(DOC_MODULE).args       \
        $(DOC_MODULE).hierarchy  \
        $(DOC_MODULE).interfaces \
@@ -1090,26 +1797,58 @@ REPORT_FILES = \
        $(DOC_MODULE)-undeclared.txt \
        $(DOC_MODULE)-unused.txt
 
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = 
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = 
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
+       gtkdoc-check.test libidn-overrides.txt libidn-decl.txt \
+       libidn-decl-list.txt libidn-sections.txt libidn.pdf
+@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = 
+@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = 
+@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
 
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
+#### setup ####
+GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
+GTK_DOC_V_SETUP_0 = @echo "  DOC   Preparing build";
+
+#### scan ####
+GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
+GTK_DOC_V_SCAN_0 = @echo "  DOC   Scanning header files";
+GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
+GTK_DOC_V_INTROSPECT_0 = @echo "  DOC   Introspecting gobjects";
+
+#### xml ####
+GTK_DOC_V_XML = $(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_@AM_DEFAULT_V@)
+GTK_DOC_V_XML_0 = @echo "  DOC   Building XML";
+
+#### html ####
+GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
+GTK_DOC_V_HTML_0 = @echo "  DOC   Building HTML";
+GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
+GTK_DOC_V_XREF_0 = @echo "  DOC   Fixing cross-references";
 
-# Comment this out if you want 'make check' to test you doc status
+#### pdf ####
+GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
+GTK_DOC_V_PDF_0 = @echo "  DOC   Building PDF";
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+
+# Comment this out if you don't want 'make check' to test you doc status
 # and run some sanity checks
-@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = cd $(srcdir) && \
+@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = \
 @ENABLE_GTK_DOC_TRUE@  DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
 @ENABLE_GTK_DOC_TRUE@  SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
 
+@ENABLE_GTK_DOC_TRUE@TESTS = $(GTKDOC_CHECK)
 all: all-am
 
 .SUFFIXES:
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1122,16 +1861,15 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__c
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/reference/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
-$(top_srcdir)/gtk-doc.make:
+$(top_srcdir)/gtk-doc.make $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1149,14 +1887,172 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       elif test -n "$$redo_logs"; then \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS: 
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @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 \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1190,7 +2086,9 @@ distdir: $(DISTFILES)
          top_distdir="$(top_distdir)" distdir="$(distdir)" \
          dist-hook
 check-am: all-am
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
 all-am: Makefile all-local
 installdirs:
 install: install-am
@@ -1213,6 +2111,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -1291,150 +2192,132 @@ ps-am:
 
 uninstall-am: uninstall-local
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am all-local check check-TESTS check-am clean \
+       clean-generic clean-libtool clean-local cscopelist-am ctags-am \
+       dist-hook distclean distclean-generic distclean-libtool \
+       distclean-local distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-data-local install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic maintainer-clean-local mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       recheck tags-am uninstall uninstall-am uninstall-local
 
-.PHONY: all all-am all-local check check-am clean clean-generic \
-       clean-libtool clean-local dist-hook distclean \
-       distclean-generic distclean-libtool distclean-local distdir \
-       dvi dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-data-local install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic \
-       maintainer-clean-local mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-local
+.PRECIOUS: Makefile
 
 
-@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-@ENABLE_GTK_DOC_FALSE@all-local:
+gtkdoc-check.test: Makefile
+       $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+               echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+               chmod +x $@
+
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
 
 docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
 
 $(REPORT_FILES): sgml-build.stamp
 
-#### setup ####
-
 setup-build.stamp:
-       -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-           echo '  DOC   Preparing build'; \
-           files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
-           if test "x$$files" != "x" ; then \
-               for file in $$files ; do \
-                   test -f $(abs_srcdir)/$$file && \
-                       cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
-               done; \
-           fi; \
-           test -d $(abs_srcdir)/tmpl && \
-               { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
-               chmod -R u+w $(abs_builddir)/tmpl; } \
+       -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+         files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+         if test "x$$files" != "x" ; then \
+           for file in $$files ; do \
+             destdir=`dirname $(abs_builddir)/$$file`; \
+             test -d "$$destdir" || mkdir -p "$$destdir"; \
+             test -f $(abs_srcdir)/$$file && \
+               cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+           done; \
+         fi; \
        fi
-       @touch setup-build.stamp
+       $(AM_V_at)touch setup-build.stamp
 
-#### scan ####
-
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
-       @echo '  DOC   Scanning header files'
-       @_source_dir='' ; \
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+       $(GTK_DOC_V_SCAN)_source_dir='' ; \
        for i in $(DOC_SOURCE_DIR) ; do \
-           _source_dir="$${_source_dir} --source-dir=$$i" ; \
+         _source_dir="$${_source_dir} --source-dir=$$i" ; \
        done ; \
        gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
-       @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
-           echo "  DOC   Introspecting gobjects"; \
-           scanobj_options=""; \
-           gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-           if test "$(?)" = "0"; then \
-               if test "x$(V)" = "x1"; then \
-                   scanobj_options="--verbose"; \
-               fi; \
+       $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+         scanobj_options=""; \
+         gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
+         if test "$$?" = "0"; then \
+           if test "x$(V)" = "x1"; then \
+             scanobj_options="--verbose"; \
            fi; \
-           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
-           gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+         fi; \
+         CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+         gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
        else \
-           for i in $(SCANOBJ_FILES) ; do \
-               test -f $$i || touch $$i ; \
-           done \
+         for i in $(SCANOBJ_FILES) ; do \
+           test -f $$i || touch $$i ; \
+         done \
        fi
-       @touch scan-build.stamp
+       $(AM_V_at)touch scan-build.stamp
 
 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
        @true
 
-#### templates ####
-
-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-       @echo '  DOC   Rebuilding template files'
-       @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
-       @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-         if test -w $(abs_srcdir) ; then \
-           cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
-         fi \
-       fi
-       @touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
-       @true
-
-$(srcdir)/tmpl/*.sgml:
-       @true
-
-#### xml ####
-
-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
-       @echo '  DOC   Building XML'
-       @-chmod -R u+w $(srcdir)
-       @_source_dir='' ; \
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+       $(GTK_DOC_V_XML)_source_dir='' ; \
        for i in $(DOC_SOURCE_DIR) ; do \
-           _source_dir="$${_source_dir} --source-dir=$$i" ; \
+         _source_dir="$${_source_dir} --source-dir=$$i" ; \
        done ; \
        gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
-       @touch sgml-build.stamp
+       $(AM_V_at)touch sgml-build.stamp
 
 sgml.stamp: sgml-build.stamp
        @true
 
-#### html ####
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+       @true
 
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-       @echo '  DOC   Building HTML'
-       @rm -rf html
-       @mkdir html
-       @mkhtml_options=""; \
+xml/gtkdocentities.ent: Makefile
+       $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+               echo "<!ENTITY package \"$(PACKAGE)\">"; \
+               echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+               echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+               echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+               echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+               echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+               echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+       ) > $@
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+       $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+       mkhtml_options=""; \
        gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          if test "x$(V)" = "x1"; then \
            mkhtml_options="$$mkhtml_options --verbose"; \
          fi; \
        fi; \
        gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-path"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
        fi; \
        cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
        -@test "x$(HTML_IMAGES)" = "x" || \
        for file in $(HTML_IMAGES) ; do \
-         if test -f $(abs_srcdir)/$$file ; then \
-           cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
-         fi; \
-         if test -f $(abs_builddir)/$$file ; then \
-           cp $(abs_builddir)/$$file $(abs_builddir)/html; \
-         fi; \
+         test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+         test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+         test -f $$file && cp $$file $(abs_builddir)/html; \
        done;
-       @echo '  DOC   Fixing cross-references'
-       @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-       @touch html-build.stamp
+       $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       $(AM_V_at)touch html-build.stamp
 
-#### pdf ####
-
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-       @echo '  DOC   Building PDF'
-       @rm -f $(DOC_MODULE).pdf
-       @mkpdf_options=""; \
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+       $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+       mkpdf_options=""; \
        gtkdoc-mkpdf 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          if test "x$(V)" = "x1"; then \
            mkpdf_options="$$mkpdf_options --verbose"; \
          fi; \
@@ -1449,23 +2332,28 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
          done; \
        fi; \
        gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
-       @touch pdf-build.stamp
+       $(AM_V_at)touch pdf-build.stamp
 
 ##############
 
 clean-local:
        @rm -f *~ *.bak
        @rm -rf .libs
+       @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+         rm -f $(DOC_MODULE).types; \
+       fi
+       @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+         rm -f $(DOC_MODULE)-sections.txt; \
+       fi
 
 distclean-local:
        @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
            $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
        @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-           rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
-           rm -rf tmpl; \
+           rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
        fi
 
-maintainer-clean-local: clean
+maintainer-clean-local:
        @rm -rf xml html
 
 install-data-local:
@@ -1501,15 +2389,15 @@ uninstall-local:
 #
 # Require gtk-doc when making dist
 #
-@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
-@ENABLE_GTK_DOC_FALSE@ @false
-
-dist-hook: dist-check-gtkdoc dist-hook-local
-       @mkdir $(distdir)/tmpl
+@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@HAVE_GTK_DOC_FALSE@   @echo "*** gtk-doc is needed to run 'make dist'.         ***"
+@HAVE_GTK_DOC_FALSE@   @echo "*** gtk-doc was not found when 'configure' ran.   ***"
+@HAVE_GTK_DOC_FALSE@   @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@HAVE_GTK_DOC_FALSE@   @false
+
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
        @mkdir $(distdir)/html
-       @-cp ./tmpl/*.sgml $(distdir)/tmpl
        @cp ./html/* $(distdir)/html
        @-cp ./$(DOC_MODULE).pdf $(distdir)/
        @-cp ./$(DOC_MODULE).types $(distdir)/
@@ -1518,10 +2406,21 @@ dist-hook: dist-check-gtkdoc dist-hook-local
        @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
 
 .PHONY : dist-hook-local docs
-#TESTS = $(GTKDOC_CHECK)
 
 -include $(top_srcdir)/git.mk
 
+html-build.stamp: $(top_builddir)/.version
+pdf-build.stamp: $(top_builddir)/.version
+
+CLEANFILES ?=
+
+clean-local: clean-local-junk
+.PHONY: clean-local-junk
+clean-local-junk:
+       -rm -rf xml html tmpl
+
+dist-hook-local: all-local
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/doc/reference/html/api-index-deprecated.html b/doc/reference/html/api-index-deprecated.html
new file mode 100644 (file)
index 0000000..1dd8d27
--- /dev/null
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of deprecated API: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-deprecated"></a>Index of deprecated API</h1></div></div></div>
+<a name="idx"></a>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
index 4dab22c..c89424f 100644 (file)
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>API Index</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<title>API Index: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
 <link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
 <link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-idn-free.html" title="idn-free">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="prev" href="libidn-idn-free.h.html" title="idn-free.h">
+<link rel="next" href="api-index-deprecated.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-idn-free.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td> </td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idx"></a>
-                      | 
-                   <a class="shortcut" href="#idx4">4</a>
-                      | 
-                   <a class="shortcut" href="#idxC">C</a>
-                      | 
-                   <a class="shortcut" href="#idxI">I</a>
-                      | 
-                   <a class="shortcut" href="#idxK">K</a>
-                      | 
-                   <a class="shortcut" href="#idxL">L</a>
-                      | 
-                   <a class="shortcut" href="#idxM">M</a>
-                      | 
-                   <a class="shortcut" href="#idxN">N</a>
-                      | 
-                   <a class="shortcut" href="#idxP">P</a>
-                      | 
-                   <a class="shortcut" href="#idxR">R</a>
-                      | 
-                   <a class="shortcut" href="#idxS">S</a>
-                      | 
-                   <a class="shortcut" href="#idxT">T</a>
-                      | 
-                   <a class="shortcut" href="#idxU">U</a>
-                      | 
-                   <a class="shortcut" href="#idxV">V</a>
-                      | 
-                   <a class="shortcut" href="#idxX">X</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxI">I</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#idxP">P</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#idxT">T</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="libidn-idn-free.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
 <div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-full"></a>API Index</h2></div></div></div>
-<a name="idx"></a><a name="idx"></a><h3 class="title"></h3>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-full"></a>API Index</h1></div></div></div>
+<a name="idx"></a><a name="idxI"></a><h3 class="title">I</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()">stringprep</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>, macro in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
-<a name="idx4"></a><h3 class="title">4</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-idna.h.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>, macro in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags">Idna_flags</a>, enum in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
-<a name="idxC"></a><h3 class="title">C</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc">Idna_rc</a>, enum in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-idna.h.html#idna-strerror" title="idna_strerror ()">idna_strerror</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
-<a name="idxI"></a><h3 class="title">I</h3>
 <dt>
-<a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>, macro in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>, macro in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags">Idna_flags</a>, enum in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a>, enum in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-strerror" title="idna_strerror ()">idna_strerror</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a>, function in <a class="link" href="libidn-idna.h.html" title="idna.h">idna.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep" title="stringprep ()">stringprep</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-idna.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxK"></a><h3 class="title">K</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxL"></a><h3 class="title">L</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxM"></a><h3 class="title">M</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxN"></a><h3 class="title">N</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxP"></a><h3 class="title">P</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()">pr29_4</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a>, typedef in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()">pr29_4z</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()">pr29_8z</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-profiles" title="struct Stringprep_profiles">Stringprep_profiles</a>, struct in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a>, enum in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a>, enum in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-pr29.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a>, enum in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a>, enum in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-profiles" title="Stringprep_profiles">Stringprep_profiles</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-table" title="struct Stringprep_table">Stringprep_table</a>, struct in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#Stringprep-table-element" title="struct Stringprep_table_element">Stringprep_table_element</a>, struct in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()">punycode_decode</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()">punycode_encode</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a>, enum in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-punycode.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a>, typedef in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxR"></a><h3 class="title">R</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a>, function in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
-<a name="idxT"></a><h3 class="title">T</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#Stringprep-table-element" title="Stringprep_table_element">Stringprep_table_element</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-stringprep.h.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a>, macro in <a class="link" href="libidn-stringprep.h.html" title="stringprep.h">stringprep.h</a>
 </dt>
 <dd></dd>
+<a name="idxP"></a><h3 class="title">P</h3>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-pr29.h.html#pr29-4" title="pr29_4 ()">pr29_4</a>, function in <a class="link" href="libidn-pr29.h.html" title="pr29.h">pr29.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-pr29.h.html#pr29-4z" title="pr29_4z ()">pr29_4z</a>, function in <a class="link" href="libidn-pr29.h.html" title="pr29.h">pr29.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-pr29.h.html#pr29-8z" title="pr29_8z ()">pr29_8z</a>, function in <a class="link" href="libidn-pr29.h.html" title="pr29.h">pr29.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a>, enum in <a class="link" href="libidn-pr29.h.html" title="pr29.h">pr29.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-pr29.h.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a>, function in <a class="link" href="libidn-pr29.h.html" title="pr29.h">pr29.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-default-table" title="tld_default_table ()">tld_default_table</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-punycode.h.html#punycode-decode" title="punycode_decode ()">punycode_decode</a>, function in <a class="link" href="libidn-punycode.h.html" title="punycode.h">punycode.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-punycode.h.html#punycode-encode" title="punycode_encode ()">punycode_encode</a>, function in <a class="link" href="libidn-punycode.h.html" title="punycode.h">punycode.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status">Punycode_status</a>, enum in <a class="link" href="libidn-punycode.h.html" title="punycode.h">punycode.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-get-table" title="tld_get_table ()">tld_get_table</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-punycode.h.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a>, function in <a class="link" href="libidn-punycode.h.html" title="punycode.h">punycode.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-get-z" title="tld_get_z ()">tld_get_z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-punycode.h.html#punycode-uint" title="punycode_uint">punycode_uint</a>, typedef in <a class="link" href="libidn-punycode.h.html" title="punycode.h">punycode.h</a>
+</dt>
+<dd></dd>
+<a name="idxT"></a><h3 class="title">T</h3>
+<dt>
+<a class="link" href="libidn-tld.h.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a>, enum in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-tld.h.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#tld-strerror" title="tld_strerror ()">tld_strerror</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-tld.h.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a>, typedef in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-tld.h.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-tld.html#Tld-table-element" title="Tld_table_element">Tld_table_element</a>, typedef in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+<a class="link" href="libidn-tld.h.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
-<a name="idxU"></a><h3 class="title">U</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-default-table" title="tld_default_table ()">tld_default_table</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-get-table" title="tld_get_table ()">tld_get_table</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-get-z" title="tld_get_z ()">tld_get_z</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc">Tld_rc</a>, enum in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#tld-strerror" title="tld_strerror ()">tld_strerror</a>, function in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
-<a name="idxX"></a><h3 class="title">X</h3>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table">Tld_table</a>, struct in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="libidn-stringprep.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+<a class="link" href="libidn-tld.h.html#Tld-table-element" title="struct Tld_table_element">Tld_table_element</a>, struct in <a class="link" href="libidn-tld.h.html" title="tld.h">tld.h</a>
 </dt>
 <dd></dd>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
 </body>
 </html>
\ No newline at end of file
index fb60b55..b293af5 100644 (file)
Binary files a/doc/reference/html/home.png and b/doc/reference/html/home.png differ
index 4318c23..7ffd354 100644 (file)
@@ -2,11 +2,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GNU Libidn API Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<title>GNU Libidn API Reference Manual: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
 <link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
 <link rel="next" href="intro.html" title="GNU Libidn API Reference Manual">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libidn API Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GNU Libidn 1.25
+      for GNU Libidn 1.42
 .
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://www.gnu.org/software/libidn/reference/" target="_top">https://www.gnu.org/software/libidn/reference/</a>.
 </div>
 <hr>
 </div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
 <dt><span class="chapter"><a href="intro.html">GNU Libidn API Reference Manual</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="libidn-idna.html">idna</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-idna.h.html">idna.h</a></span><span class="refpurpose"> — IDNA-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-stringprep.h.html">stringprep.h</a></span><span class="refpurpose"> — Stringprep-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-punycode.html">punycode</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-punycode.h.html">punycode.h</a></span><span class="refpurpose"> — Punycode-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-pr29.h.html">pr29.h</a></span><span class="refpurpose"> — PR29-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-tld.h.html">tld.h</a></span><span class="refpurpose"> — TLD-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-idn-free.html">idn-free</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-idn-free.h.html">idn-free.h</a></span><span class="refpurpose"> — Memory deallocation functions</span>
 </dt>
 </dl></dd>
 <dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
+<dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated API</a></span></dt>
 </dl></div>
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/reference/html/index.sgml b/doc/reference/html/index.sgml
deleted file mode 100644 (file)
index 53e9b97..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<ONLINE href="https://www.gnu.org/software/libidn/reference/">
-<ANCHOR id="libidn-idna" href="libidn/libidn-idna.html">
-<ANCHOR id="libidn-idna.synopsis" href="libidn/libidn-idna.html#libidn-idna.synopsis">
-<ANCHOR id="libidn-idna.description" href="libidn/libidn-idna.html#libidn-idna.description">
-<ANCHOR id="libidn-idna.details" href="libidn/libidn-idna.html#libidn-idna.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-idna.html#IDNAPI:CAPS">
-<ANCHOR id="IDNA-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-ACE-PREFIX:CAPS">
-<ANCHOR id="Idna-flags" href="libidn/libidn-idna.html#Idna-flags">
-<ANCHOR id="IDNA-ALLOW-UNASSIGNED:CAPS" href="libidn/libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS">
-<ANCHOR id="IDNA-USE-STD3-ASCII-RULES:CAPS" href="libidn/libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS">
-<ANCHOR id="Idna-rc" href="libidn/libidn-idna.html#Idna-rc">
-<ANCHOR id="IDNA-SUCCESS:CAPS" href="libidn/libidn-idna.html#IDNA-SUCCESS:CAPS">
-<ANCHOR id="IDNA-STRINGPREP-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-STRINGPREP-ERROR:CAPS">
-<ANCHOR id="IDNA-PUNYCODE-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-PUNYCODE-ERROR:CAPS">
-<ANCHOR id="IDNA-CONTAINS-NON-LDH:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-NON-LDH:CAPS">
-<ANCHOR id="IDNA-CONTAINS-LDH:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-LDH:CAPS">
-<ANCHOR id="IDNA-CONTAINS-MINUS:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-MINUS:CAPS">
-<ANCHOR id="IDNA-INVALID-LENGTH:CAPS" href="libidn/libidn-idna.html#IDNA-INVALID-LENGTH:CAPS">
-<ANCHOR id="IDNA-NO-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-NO-ACE-PREFIX:CAPS">
-<ANCHOR id="IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS">
-<ANCHOR id="IDNA-CONTAINS-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-ACE-PREFIX:CAPS">
-<ANCHOR id="IDNA-ICONV-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-ICONV-ERROR:CAPS">
-<ANCHOR id="IDNA-MALLOC-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-MALLOC-ERROR:CAPS">
-<ANCHOR id="IDNA-DLOPEN-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-DLOPEN-ERROR:CAPS">
-<ANCHOR id="idna-strerror" href="libidn/libidn-idna.html#idna-strerror">
-<ANCHOR id="idna-to-ascii-4i" href="libidn/libidn-idna.html#idna-to-ascii-4i">
-<ANCHOR id="idna-to-ascii-4z" href="libidn/libidn-idna.html#idna-to-ascii-4z">
-<ANCHOR id="idna-to-ascii-8z" href="libidn/libidn-idna.html#idna-to-ascii-8z">
-<ANCHOR id="idna-to-ascii-lz" href="libidn/libidn-idna.html#idna-to-ascii-lz">
-<ANCHOR id="idna-to-unicode-44i" href="libidn/libidn-idna.html#idna-to-unicode-44i">
-<ANCHOR id="idna-to-unicode-4z4z" href="libidn/libidn-idna.html#idna-to-unicode-4z4z">
-<ANCHOR id="idna-to-unicode-8z4z" href="libidn/libidn-idna.html#idna-to-unicode-8z4z">
-<ANCHOR id="idna-to-unicode-8z8z" href="libidn/libidn-idna.html#idna-to-unicode-8z8z">
-<ANCHOR id="idna-to-unicode-8zlz" href="libidn/libidn-idna.html#idna-to-unicode-8zlz">
-<ANCHOR id="idna-to-unicode-lzlz" href="libidn/libidn-idna.html#idna-to-unicode-lzlz">
-<ANCHOR id="libidn-stringprep" href="libidn/libidn-stringprep.html">
-<ANCHOR id="libidn-stringprep.synopsis" href="libidn/libidn-stringprep.html#libidn-stringprep.synopsis">
-<ANCHOR id="libidn-stringprep.description" href="libidn/libidn-stringprep.html#libidn-stringprep.description">
-<ANCHOR id="libidn-stringprep.details" href="libidn/libidn-stringprep.html#libidn-stringprep.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-stringprep.html#IDNAPI:CAPS">
-<ANCHOR id="STRINGPREP-MAX-MAP-CHARS:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS">
-<ANCHOR id="STRINGPREP-VERSION:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-VERSION:CAPS">
-<ANCHOR id="Stringprep-profile" href="libidn/libidn-stringprep.html#Stringprep-profile">
-<ANCHOR id="Stringprep-profile-flags" href="libidn/libidn-stringprep.html#Stringprep-profile-flags">
-<ANCHOR id="STRINGPREP-NO-NFKC:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-NFKC:CAPS">
-<ANCHOR id="STRINGPREP-NO-BIDI:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-BIDI:CAPS">
-<ANCHOR id="STRINGPREP-NO-UNASSIGNED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-UNASSIGNED:CAPS">
-<ANCHOR id="Stringprep-profile-steps" href="libidn/libidn-stringprep.html#Stringprep-profile-steps">
-<ANCHOR id="STRINGPREP-NFKC:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NFKC:CAPS">
-<ANCHOR id="STRINGPREP-BIDI:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI:CAPS">
-<ANCHOR id="STRINGPREP-MAP-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MAP-TABLE:CAPS">
-<ANCHOR id="STRINGPREP-UNASSIGNED-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-UNASSIGNED-TABLE:CAPS">
-<ANCHOR id="STRINGPREP-PROHIBIT-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-PROHIBIT-TABLE:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-RAL-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-RAL-TABLE:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-L-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-L-TABLE:CAPS">
-<ANCHOR id="Stringprep-profiles" href="libidn/libidn-stringprep.html#Stringprep-profiles">
-<ANCHOR id="Stringprep-rc" href="libidn/libidn-stringprep.html#Stringprep-rc">
-<ANCHOR id="STRINGPREP-OK:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-OK:CAPS">
-<ANCHOR id="STRINGPREP-CONTAINS-UNASSIGNED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-CONTAINS-UNASSIGNED:CAPS">
-<ANCHOR id="STRINGPREP-CONTAINS-PROHIBITED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-CONTAINS-PROHIBITED:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS">
-<ANCHOR id="STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS">
-<ANCHOR id="STRINGPREP-TOO-SMALL-BUFFER:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-TOO-SMALL-BUFFER:CAPS">
-<ANCHOR id="STRINGPREP-PROFILE-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-PROFILE-ERROR:CAPS">
-<ANCHOR id="STRINGPREP-FLAG-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-FLAG-ERROR:CAPS">
-<ANCHOR id="STRINGPREP-UNKNOWN-PROFILE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-UNKNOWN-PROFILE:CAPS">
-<ANCHOR id="STRINGPREP-NFKC-FAILED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NFKC-FAILED:CAPS">
-<ANCHOR id="STRINGPREP-MALLOC-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MALLOC-ERROR:CAPS">
-<ANCHOR id="Stringprep-table-element" href="libidn/libidn-stringprep.html#Stringprep-table-element">
-<ANCHOR id="stringprep" href="libidn/libidn-stringprep.html#stringprep">
-<ANCHOR id="stringprep-4i" href="libidn/libidn-stringprep.html#stringprep-4i">
-<ANCHOR id="stringprep-4zi" href="libidn/libidn-stringprep.html#stringprep-4zi">
-<ANCHOR id="stringprep-check-version" href="libidn/libidn-stringprep.html#stringprep-check-version">
-<ANCHOR id="stringprep-convert" href="libidn/libidn-stringprep.html#stringprep-convert">
-<ANCHOR id="stringprep-iscsi" href="libidn/libidn-stringprep.html#stringprep-iscsi">
-<ANCHOR id="stringprep-kerberos5" href="libidn/libidn-stringprep.html#stringprep-kerberos5">
-<ANCHOR id="stringprep-locale-charset" href="libidn/libidn-stringprep.html#stringprep-locale-charset">
-<ANCHOR id="stringprep-locale-to-utf8" href="libidn/libidn-stringprep.html#stringprep-locale-to-utf8">
-<ANCHOR id="stringprep-nameprep" href="libidn/libidn-stringprep.html#stringprep-nameprep">
-<ANCHOR id="stringprep-nameprep-no-unassigned" href="libidn/libidn-stringprep.html#stringprep-nameprep-no-unassigned">
-<ANCHOR id="stringprep-plain" href="libidn/libidn-stringprep.html#stringprep-plain">
-<ANCHOR id="stringprep-profile" href="libidn/libidn-stringprep.html#stringprep-profile">
-<ANCHOR id="stringprep-strerror" href="libidn/libidn-stringprep.html#stringprep-strerror">
-<ANCHOR id="stringprep-ucs4-nfkc-normalize" href="libidn/libidn-stringprep.html#stringprep-ucs4-nfkc-normalize">
-<ANCHOR id="stringprep-ucs4-to-utf8" href="libidn/libidn-stringprep.html#stringprep-ucs4-to-utf8">
-<ANCHOR id="stringprep-unichar-to-utf8" href="libidn/libidn-stringprep.html#stringprep-unichar-to-utf8">
-<ANCHOR id="stringprep-utf8-nfkc-normalize" href="libidn/libidn-stringprep.html#stringprep-utf8-nfkc-normalize">
-<ANCHOR id="stringprep-utf8-to-locale" href="libidn/libidn-stringprep.html#stringprep-utf8-to-locale">
-<ANCHOR id="stringprep-utf8-to-ucs4" href="libidn/libidn-stringprep.html#stringprep-utf8-to-ucs4">
-<ANCHOR id="stringprep-utf8-to-unichar" href="libidn/libidn-stringprep.html#stringprep-utf8-to-unichar">
-<ANCHOR id="stringprep-xmpp-nodeprep" href="libidn/libidn-stringprep.html#stringprep-xmpp-nodeprep">
-<ANCHOR id="stringprep-xmpp-resourceprep" href="libidn/libidn-stringprep.html#stringprep-xmpp-resourceprep">
-<ANCHOR id="libidn-punycode" href="libidn/libidn-punycode.html">
-<ANCHOR id="libidn-punycode.synopsis" href="libidn/libidn-punycode.html#libidn-punycode.synopsis">
-<ANCHOR id="libidn-punycode.description" href="libidn/libidn-punycode.html#libidn-punycode.description">
-<ANCHOR id="libidn-punycode.details" href="libidn/libidn-punycode.html#libidn-punycode.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-punycode.html#IDNAPI:CAPS">
-<ANCHOR id="Punycode-status" href="libidn/libidn-punycode.html#Punycode-status">
-<ANCHOR id="PUNYCODE-SUCCESS:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-SUCCESS:CAPS">
-<ANCHOR id="PUNYCODE-BAD-INPUT:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS">
-<ANCHOR id="PUNYCODE-BIG-OUTPUT:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-BIG-OUTPUT:CAPS">
-<ANCHOR id="PUNYCODE-OVERFLOW:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-OVERFLOW:CAPS">
-<ANCHOR id="punycode-decode" href="libidn/libidn-punycode.html#punycode-decode">
-<ANCHOR id="punycode-encode" href="libidn/libidn-punycode.html#punycode-encode">
-<ANCHOR id="punycode-strerror" href="libidn/libidn-punycode.html#punycode-strerror">
-<ANCHOR id="punycode-uint" href="libidn/libidn-punycode.html#punycode-uint">
-<ANCHOR id="libidn-pr29" href="libidn/libidn-pr29.html">
-<ANCHOR id="libidn-pr29.synopsis" href="libidn/libidn-pr29.html#libidn-pr29.synopsis">
-<ANCHOR id="libidn-pr29.description" href="libidn/libidn-pr29.html#libidn-pr29.description">
-<ANCHOR id="libidn-pr29.details" href="libidn/libidn-pr29.html#libidn-pr29.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-pr29.html#IDNAPI:CAPS">
-<ANCHOR id="Pr29-rc" href="libidn/libidn-pr29.html#Pr29-rc">
-<ANCHOR id="PR29-SUCCESS:CAPS" href="libidn/libidn-pr29.html#PR29-SUCCESS:CAPS">
-<ANCHOR id="PR29-PROBLEM:CAPS" href="libidn/libidn-pr29.html#PR29-PROBLEM:CAPS">
-<ANCHOR id="PR29-STRINGPREP-ERROR:CAPS" href="libidn/libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS">
-<ANCHOR id="pr29-4" href="libidn/libidn-pr29.html#pr29-4">
-<ANCHOR id="pr29-4z" href="libidn/libidn-pr29.html#pr29-4z">
-<ANCHOR id="pr29-8z" href="libidn/libidn-pr29.html#pr29-8z">
-<ANCHOR id="pr29-strerror" href="libidn/libidn-pr29.html#pr29-strerror">
-<ANCHOR id="libidn-tld" href="libidn/libidn-tld.html">
-<ANCHOR id="libidn-tld.synopsis" href="libidn/libidn-tld.html#libidn-tld.synopsis">
-<ANCHOR id="libidn-tld.description" href="libidn/libidn-tld.html#libidn-tld.description">
-<ANCHOR id="libidn-tld.details" href="libidn/libidn-tld.html#libidn-tld.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-tld.html#IDNAPI:CAPS">
-<ANCHOR id="Tld-rc" href="libidn/libidn-tld.html#Tld-rc">
-<ANCHOR id="TLD-SUCCESS:CAPS" href="libidn/libidn-tld.html#TLD-SUCCESS:CAPS">
-<ANCHOR id="TLD-INVALID:CAPS" href="libidn/libidn-tld.html#TLD-INVALID:CAPS">
-<ANCHOR id="TLD-NODATA:CAPS" href="libidn/libidn-tld.html#TLD-NODATA:CAPS">
-<ANCHOR id="TLD-MALLOC-ERROR:CAPS" href="libidn/libidn-tld.html#TLD-MALLOC-ERROR:CAPS">
-<ANCHOR id="TLD-ICONV-ERROR:CAPS" href="libidn/libidn-tld.html#TLD-ICONV-ERROR:CAPS">
-<ANCHOR id="TLD-NO-TLD:CAPS" href="libidn/libidn-tld.html#TLD-NO-TLD:CAPS">
-<ANCHOR id="TLD-NOTLD:CAPS" href="libidn/libidn-tld.html#TLD-NOTLD:CAPS">
-<ANCHOR id="Tld-table" href="libidn/libidn-tld.html#Tld-table">
-<ANCHOR id="Tld-table-element" href="libidn/libidn-tld.html#Tld-table-element">
-<ANCHOR id="tld-check-4" href="libidn/libidn-tld.html#tld-check-4">
-<ANCHOR id="tld-check-4t" href="libidn/libidn-tld.html#tld-check-4t">
-<ANCHOR id="tld-check-4tz" href="libidn/libidn-tld.html#tld-check-4tz">
-<ANCHOR id="tld-check-4z" href="libidn/libidn-tld.html#tld-check-4z">
-<ANCHOR id="tld-check-8z" href="libidn/libidn-tld.html#tld-check-8z">
-<ANCHOR id="tld-check-lz" href="libidn/libidn-tld.html#tld-check-lz">
-<ANCHOR id="tld-default-table" href="libidn/libidn-tld.html#tld-default-table">
-<ANCHOR id="tld-get-4" href="libidn/libidn-tld.html#tld-get-4">
-<ANCHOR id="tld-get-4z" href="libidn/libidn-tld.html#tld-get-4z">
-<ANCHOR id="tld-get-table" href="libidn/libidn-tld.html#tld-get-table">
-<ANCHOR id="tld-get-z" href="libidn/libidn-tld.html#tld-get-z">
-<ANCHOR id="tld-strerror" href="libidn/libidn-tld.html#tld-strerror">
-<ANCHOR id="libidn-idn-free" href="libidn/libidn-idn-free.html">
-<ANCHOR id="libidn-idn-free.synopsis" href="libidn/libidn-idn-free.html#libidn-idn-free.synopsis">
-<ANCHOR id="libidn-idn-free.description" href="libidn/libidn-idn-free.html#libidn-idn-free.description">
-<ANCHOR id="libidn-idn-free.details" href="libidn/libidn-idn-free.html#libidn-idn-free.details">
-<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-idn-free.html#IDNAPI:CAPS">
index b76c1d2..ea54665 100644 (file)
@@ -2,44 +2,44 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GNU Libidn API Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<title>GNU Libidn API Reference Manual: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
 <link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
 <link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
 <link rel="prev" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="next" href="libidn-idna.html" title="idna">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="next" href="libidn-idna.h.html" title="idna.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-idna.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-idna.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="intro"></a>GNU Libidn API Reference Manual</h2></div></div></div>
-<div class="toc"><dl>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="intro"></a>GNU Libidn API Reference Manual</h1></div></div></div>
+<div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="libidn-idna.html">idna</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-idna.h.html">idna.h</a></span><span class="refpurpose"> — IDNA-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-stringprep.h.html">stringprep.h</a></span><span class="refpurpose"> — Stringprep-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-punycode.html">punycode</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-punycode.h.html">punycode.h</a></span><span class="refpurpose"> — Punycode-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-pr29.h.html">pr29.h</a></span><span class="refpurpose"> — PR29-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-tld.h.html">tld.h</a></span><span class="refpurpose"> — TLD-related functions</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="libidn-idn-free.html">idn-free</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-idn-free.h.html">idn-free.h</a></span><span class="refpurpose"> — Memory deallocation functions</span>
 </dt>
 </dl></div>
 <p>
@@ -99,7 +99,6 @@ examples, and more.
 <br class="figure-break">
 </div>
 <div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/reference/html/left-insensitive.png b/doc/reference/html/left-insensitive.png
new file mode 100644 (file)
index 0000000..903790a
Binary files /dev/null and b/doc/reference/html/left-insensitive.png differ
index 48cab27..21b31e3 100644 (file)
Binary files a/doc/reference/html/left.png and b/doc/reference/html/left.png differ
index 1330f91..b841290 100644 (file)
Binary files a/doc/reference/html/libidn-components.png and b/doc/reference/html/libidn-components.png differ
diff --git a/doc/reference/html/libidn-idn-free.h.html b/doc/reference/html/libidn-idn-free.h.html
new file mode 100644 (file)
index 0000000..a6af75c
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>idn-free.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-tld.h.html" title="tld.h">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-idn-free.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-tld.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-idn-free.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-idn-free.h.top_of_page"></a>idn-free.h</span></h2>
+<p>idn-free.h — Memory deallocation functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-idn-free.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody><tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-idn-free.h.description"></a><h2>Description</h2>
+<p>Memory deallocation functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-idn-free.h.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="libidn-idn-free.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-idn-free.html b/doc/reference/html/libidn-idn-free.html
deleted file mode 100644 (file)
index 52b6ad2..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>idn-free</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-tld.html" title="tld">
-<link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-tld.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-idn-free.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-idn-free.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-idn-free"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-idn-free.top_of_page"></a>idn-free</span></h2>
-<p>idn-free</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-idn-free.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-idn-free.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-idn-free.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-idna.h.html b/doc/reference/html/libidn-idna.h.html
new file mode 100644 (file)
index 0000000..b7c8ca2
--- /dev/null
@@ -0,0 +1,882 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>idna.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="next" href="libidn-stringprep.h.html" title="stringprep.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-idna.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="intro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-stringprep.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-idna.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-idna.h.top_of_page"></a>idna.h</span></h2>
+<p>idna.h — IDNA-related functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-idna.h.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-strerror" title="idna_strerror ()">idna_strerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-idna.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc">Idna_rc</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags">Idna_flags</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-idna.h.description"></a><h2>Description</h2>
+<p>IDNA-related functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-idna.h.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="idna-strerror"></a><h3>idna_strerror ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+idna_strerror (<em class="parameter"><code><a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> rc</code></em>);</pre>
+<p>Convert a return code integer to a text string.  This string can be
+used to output a diagnostic message to the user.</p>
+<p>IDNA_SUCCESS: Successful operation.  This value is guaranteed to
+  always be zero, the remaining ones are only guaranteed to hold
+  non-zero values, for logical comparison purposes.
+IDNA_STRINGPREP_ERROR:  Error during string preparation.
+IDNA_PUNYCODE_ERROR: Error during punycode operation.
+IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that
+  the string contains non-LDH ASCII characters.
+IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that
+  the string contains a leading or trailing hyphen-minus (U+002D).
+IDNA_INVALID_LENGTH: The final output string is not within the
+  (inclusive) range 1 to 63 characters.
+IDNA_NO_ACE_PREFIX: The string does not contain the ACE prefix
+  (for ToUnicode).
+IDNA_ROUNDTRIP_VERIFY_ERROR: The ToASCII operation on output
+  string does not equal the input.
+IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
+  ToASCII).
+IDNA_ICONV_ERROR: Character encoding conversion error.
+IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
+  fatal error).
+IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
+  internally in libc).</p>
+<div class="refsect3">
+<a name="idna-strerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>rc</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> return code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-strerror.returns"></a><h4>Returns</h4>
+<p> Returns a pointer to a statically allocated string
+containing a description of the error with the return code <em class="parameter"><code>rc</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-ascii-4i"></a><h3>idna_to_ascii_4i ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_ascii_4i (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+                  <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+                  <em class="parameter"><code><span class="type">char</span> *out</code></em>,
+                  <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>The ToASCII operation takes a sequence of Unicode code points that
+make up one domain label and transforms it into a sequence of code
+points in the ASCII range (0..7F). If ToASCII succeeds, the
+original sequence and the resulting sequence are equivalent labels.</p>
+<p>It is important to note that the ToASCII operation can fail. ToASCII
+fails if any step of it fails. If any step of the ToASCII operation
+fails on any label in a domain name, that domain name MUST NOT be used
+as an internationalized domain name. The method for deadling with this
+failure is application-specific.</p>
+<p>The inputs to ToASCII are a sequence of code points, the AllowUnassigned
+flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
+sequence of ASCII code points or a failure condition.</p>
+<p>ToASCII never alters a sequence of code points that are all in the ASCII
+range to begin with (although it could fail). Applying the ToASCII
+operation multiple times has exactly the same effect as applying it just
+once.</p>
+<div class="refsect3">
+<a name="idna-to-ascii-4i.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inlen</p></td>
+<td class="parameter_description"><p>length of input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>output zero terminated string that must have room for at
+least 63 characters plus the terminating zero.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-ascii-4i.returns"></a><h4>Returns</h4>
+<p> Returns 0 on success, or an <a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-44i"></a><h3>idna_to_unicode_44i ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_44i (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+                     <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+                     <em class="parameter"><code><span class="type">uint32_t</span> *out</code></em>,
+                     <em class="parameter"><code><span class="type">size_t</span> *outlen</code></em>,
+                     <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>The ToUnicode operation takes a sequence of Unicode code points
+that make up one domain label and returns a sequence of Unicode
+code points. If the input sequence is a label in ACE form, then the
+result is an equivalent internationalized label that is not in ACE
+form, otherwise the original sequence is returned unaltered.</p>
+<p>ToUnicode never fails. If any step fails, then the original input
+sequence is returned immediately in that step.</p>
+<p>The Punycode decoder can never output more code points than it
+inputs, but Nameprep can, and therefore ToUnicode can.  Note that
+the number of octets needed to represent a sequence of code points
+depends on the particular character encoding used.</p>
+<p>The inputs to ToUnicode are a sequence of code points, the
+AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
+ToUnicode is always a sequence of Unicode code points.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-44i.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inlen</p></td>
+<td class="parameter_description"><p>length of input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>output array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>outlen</p></td>
+<td class="parameter_description"><p>on input, maximum size of output array with unicode code points,
+on exit, actual size of output array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-44i.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> error condition, but it must only be
+used for debugging purposes.  The output buffer is always
+guaranteed to contain the correct data according to the
+specification (sans malloc induced errors).  NB!  This means that
+you normally ignore the return code from this function, as
+checking it means breaking the standard.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-ascii-4z"></a><h3>idna_to_ascii_4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_ascii_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+                  <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                  <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert UCS-4 domain name to ASCII string.  The domain name may
+contain several labels, separated by dots.  The output buffer must
+be deallocated by the caller.</p>
+<div class="refsect3">
+<a name="idna-to-ascii-4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero terminated input Unicode string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-ascii-4z.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-ascii-8z"></a><h3>idna_to_ascii_8z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_ascii_8z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                  <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                  <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert UTF-8 domain name to ASCII string.  The domain name may
+contain several labels, separated by dots.  The output buffer must
+be deallocated by the caller.</p>
+<div class="refsect3">
+<a name="idna-to-ascii-8z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero terminated input UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-ascii-8z.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-ascii-lz"></a><h3>idna_to_ascii_lz ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_ascii_lz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                  <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                  <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert domain name in the locale's encoding to ASCII string.  The
+domain name may contain several labels, separated by dots.  The
+output buffer must be deallocated by the caller.</p>
+<div class="refsect3">
+<a name="idna-to-ascii-lz.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero terminated input string encoded in the current locale's
+character set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-ascii-lz.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-4z4z"></a><h3>idna_to_unicode_4z4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_4z4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+                      <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+                      <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert possibly ACE encoded domain name in UCS-4 format into a
+UCS-4 string.  The domain name may contain several labels,
+separated by dots.  The output buffer must be deallocated by the
+caller.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-4z4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero-terminated Unicode string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output Unicode string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-4z4z.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-8z4z"></a><h3>idna_to_unicode_8z4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_8z4z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                      <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+                      <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert possibly ACE encoded domain name in UTF-8 format into a
+UCS-4 string.  The domain name may contain several labels,
+separated by dots.  The output buffer must be deallocated by the
+caller.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-8z4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero-terminated UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output Unicode string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-8z4z.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-8z8z"></a><h3>idna_to_unicode_8z8z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_8z8z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                      <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                      <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert possibly ACE encoded domain name in UTF-8 format into a
+UTF-8 string.  The domain name may contain several labels,
+separated by dots.  The output buffer must be deallocated by the
+caller.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-8z8z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero-terminated UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-8z8z.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-8zlz"></a><h3>idna_to_unicode_8zlz ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_8zlz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                      <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                      <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert possibly ACE encoded domain name in UTF-8 format into a
+string encoded in the current locale's character set.  The domain
+name may contain several labels, separated by dots.  The output
+buffer must be deallocated by the caller.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-8zlz.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero-terminated UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output string encoded in the
+current locale's character set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-8zlz.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="idna-to-unicode-lzlz"></a><h3>idna_to_unicode_lzlz ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+idna_to_unicode_lzlz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+                      <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+                      <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
+<p>Convert possibly ACE encoded domain name in the locale's character
+set into a string encoded in the current locale's character set.
+The domain name may contain several labels, separated by dots.  The
+output buffer must be deallocated by the caller.</p>
+<div class="refsect3">
+<a name="idna-to-unicode-lzlz.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>zero-terminated string encoded in the current locale's
+character set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>pointer to newly allocated output string encoded in the
+current locale's character set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-idna.h.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+<a class="link" href="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="idna-to-unicode-lzlz.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-idna.h.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libidn-idna.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Idna-rc"></a><h3>enum Idna_rc</h3>
+<p>Enumerated return codes of <a class="link" href="libidn-idna.h.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>,
+<a class="link" href="libidn-idna.h.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> functions (and functions derived from those
+functions).  The value 0 is guaranteed to always correspond to
+success.</p>
+<div class="refsect3">
+<a name="Idna-rc.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-SUCCESS:CAPS"></a>IDNA_SUCCESS</p></td>
+<td class="enum_member_description">
+<p>Successful operation.  This value is guaranteed to
+always be zero, the remaining ones are only guaranteed to hold
+non-zero values, for logical comparison purposes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-STRINGPREP-ERROR:CAPS"></a>IDNA_STRINGPREP_ERROR</p></td>
+<td class="enum_member_description">
+<p>Error during string preparation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-PUNYCODE-ERROR:CAPS"></a>IDNA_PUNYCODE_ERROR</p></td>
+<td class="enum_member_description">
+<p>Error during punycode operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-CONTAINS-NON-LDH:CAPS"></a>IDNA_CONTAINS_NON_LDH</p></td>
+<td class="enum_member_description">
+<p>For IDNA_USE_STD3_ASCII_RULES, indicate that
+the string contains non-LDH ASCII characters.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-CONTAINS-LDH:CAPS"></a>IDNA_CONTAINS_LDH</p></td>
+<td class="enum_member_description">
+<p>Same as <em class="parameter"><code>IDNA_CONTAINS_NON_LDH</code></em>
+, for compatibility
+with typo in earlier versions.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-CONTAINS-MINUS:CAPS"></a>IDNA_CONTAINS_MINUS</p></td>
+<td class="enum_member_description">
+<p>For IDNA_USE_STD3_ASCII_RULES, indicate that
+the string contains a leading or trailing hyphen-minus (U+002D).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-INVALID-LENGTH:CAPS"></a>IDNA_INVALID_LENGTH</p></td>
+<td class="enum_member_description">
+<p>The final output string is not within the
+(inclusive) range 1 to 63 characters.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-NO-ACE-PREFIX:CAPS"></a>IDNA_NO_ACE_PREFIX</p></td>
+<td class="enum_member_description">
+<p>The string does not contain the ACE prefix
+(for ToUnicode).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"></a>IDNA_ROUNDTRIP_VERIFY_ERROR</p></td>
+<td class="enum_member_description">
+<p>The ToASCII operation on output
+string does not equal the input.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-CONTAINS-ACE-PREFIX:CAPS"></a>IDNA_CONTAINS_ACE_PREFIX</p></td>
+<td class="enum_member_description">
+<p>The input contains the ACE prefix (for
+ToASCII).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-ICONV-ERROR:CAPS"></a>IDNA_ICONV_ERROR</p></td>
+<td class="enum_member_description">
+<p>Character encoding conversion error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-MALLOC-ERROR:CAPS"></a>IDNA_MALLOC_ERROR</p></td>
+<td class="enum_member_description">
+<p>Could not allocate buffer (this is typically a
+fatal error).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-DLOPEN-ERROR:CAPS"></a>IDNA_DLOPEN_ERROR</p></td>
+<td class="enum_member_description">
+<p>Could not dlopen the libcidn DSO (only used
+internally in libc).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Idna-flags"></a><h3>enum Idna_flags</h3>
+<p>Flags to pass to <a class="link" href="libidn-idna.h.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>, <a class="link" href="libidn-idna.h.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> etc.</p>
+<div class="refsect3">
+<a name="Idna-flags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-ALLOW-UNASSIGNED:CAPS"></a>IDNA_ALLOW_UNASSIGNED</p></td>
+<td class="enum_member_description">
+<p>Don't reject strings containing unassigned
+Unicode code points.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="IDNA-USE-STD3-ASCII-RULES:CAPS"></a>IDNA_USE_STD3_ASCII_RULES</p></td>
+<td class="enum_member_description">
+<p>Validate strings according to STD3
+rules (i.e., normal host name rules).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="IDNA-ACE-PREFIX:CAPS"></a><h3>IDNA_ACE_PREFIX</h3>
+<pre class="programlisting">#  define IDNA_ACE_PREFIX "xn--"
+</pre>
+<p>The IANA allocated prefix to use for IDNA. "xn--"</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-idna.html b/doc/reference/html/libidn-idna.html
deleted file mode 100644 (file)
index b73ef40..0000000
+++ /dev/null
@@ -1,700 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>idna</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="next" href="libidn-stringprep.html" title="stringprep">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="intro.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-stringprep.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-idna.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-idna.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-idna"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-idna.top_of_page"></a>idna</span></h2>
-<p>idna</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-idna.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-#define             <a class="link" href="libidn-idna.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>
-enum                <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags">Idna_flags</a>;
-enum                <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a>;
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-idna.html#idna-strerror" title="idna_strerror ()">idna_strerror</a>                       (<em class="parameter"><code><a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> rc</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a>                    (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a>                    (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a>                    (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a>                    (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a>                 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> *out</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *outlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a>                (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a>                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a>                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a>                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-idna.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a>                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-idna.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-idna.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="IDNA-ACE-PREFIX:CAPS"></a><h3>IDNA_ACE_PREFIX</h3>
-<pre class="programlisting">#  define IDNA_ACE_PREFIX "xn--"
-</pre>
-<p>
-The IANA allocated prefix to use for IDNA. "xn--"
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Idna-flags"></a><h3>enum Idna_flags</h3>
-<pre class="programlisting">typedef enum {
-    IDNA_ALLOW_UNASSIGNED = 0x0001,
-    IDNA_USE_STD3_ASCII_RULES = 0x0002
-} Idna_flags;
-</pre>
-<p>
-Flags to pass to <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>, <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> etc.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="IDNA-ALLOW-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></span></p></td>
-<td>Don't reject strings containing unassigned
-  Unicode code points.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-USE-STD3-ASCII-RULES:CAPS"></a><span class="term"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></span></p></td>
-<td>Validate strings according to STD3
-  rules (i.e., normal host name rules).
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Idna-rc"></a><h3>enum Idna_rc</h3>
-<pre class="programlisting">typedef enum {
-    IDNA_SUCCESS = 0,
-    IDNA_STRINGPREP_ERROR = 1,
-    IDNA_PUNYCODE_ERROR = 2,
-    IDNA_CONTAINS_NON_LDH = 3,
-    /* Workaround typo in earlier versions. */
-    IDNA_CONTAINS_LDH = IDNA_CONTAINS_NON_LDH,
-    IDNA_CONTAINS_MINUS = 4,
-    IDNA_INVALID_LENGTH = 5,
-    IDNA_NO_ACE_PREFIX = 6,
-    IDNA_ROUNDTRIP_VERIFY_ERROR = 7,
-    IDNA_CONTAINS_ACE_PREFIX = 8,
-    IDNA_ICONV_ERROR = 9,
-    /* Internal errors. */
-    IDNA_MALLOC_ERROR = 201,
-    IDNA_DLOPEN_ERROR = 202
-} Idna_rc;
-</pre>
-<p>
-Enumerated return codes of <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>,
-<a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> functions (and functions derived from those
-functions).  The value 0 is guaranteed to always correspond to
-success.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="IDNA-SUCCESS:CAPS"></a><span class="term"><code class="literal">IDNA_SUCCESS</code></span></p></td>
-<td>Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-STRINGPREP-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_STRINGPREP_ERROR</code></span></p></td>
-<td>Error during string preparation.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-PUNYCODE-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_PUNYCODE_ERROR</code></span></p></td>
-<td>Error during punycode operation.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-CONTAINS-NON-LDH:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_NON_LDH</code></span></p></td>
-<td>For IDNA_USE_STD3_ASCII_RULES, indicate that
-  the string contains non-LDH ASCII characters.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-CONTAINS-LDH:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_LDH</code></span></p></td>
-<td>Same as <em class="parameter"><code>IDNA_CONTAINS_NON_LDH</code></em>, for compatibility
-  with typo in earlier versions.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-CONTAINS-MINUS:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_MINUS</code></span></p></td>
-<td>For IDNA_USE_STD3_ASCII_RULES, indicate that
-  the string contains a leading or trailing hyphen-minus (U+002D).
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-INVALID-LENGTH:CAPS"></a><span class="term"><code class="literal">IDNA_INVALID_LENGTH</code></span></p></td>
-<td>The final output string is not within the
-  (inclusive) range 1 to 63 characters.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-NO-ACE-PREFIX:CAPS"></a><span class="term"><code class="literal">IDNA_NO_ACE_PREFIX</code></span></p></td>
-<td>The string does not contain the ACE prefix
-  (for ToUnicode).
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_ROUNDTRIP_VERIFY_ERROR</code></span></p></td>
-<td>The ToASCII operation on output
-  string does not equal the input.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-CONTAINS-ACE-PREFIX:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_ACE_PREFIX</code></span></p></td>
-<td>The input contains the ACE prefix (for
-  ToASCII).
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-ICONV-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_ICONV_ERROR</code></span></p></td>
-<td>Could not convert string in locale encoding.
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_MALLOC_ERROR</code></span></p></td>
-<td>Could not allocate buffer (this is typically a
-  fatal error).
-</td>
-</tr>
-<tr>
-<td><p><a name="IDNA-DLOPEN-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_DLOPEN_ERROR</code></span></p></td>
-<td>Could not dlopen the libcidn DSO (only used
-  internally in libc).
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-strerror"></a><h3>idna_strerror ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        idna_strerror                       (<em class="parameter"><code><a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> rc</code></em>);</pre>
-<p>
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-</p>
-<p>
-IDNA_SUCCESS: Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-IDNA_STRINGPREP_ERROR:  Error during string preparation.
-IDNA_PUNYCODE_ERROR: Error during punycode operation.
-IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that
-  the string contains non-LDH ASCII characters.
-IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that
-  the string contains a leading or trailing hyphen-minus (U+002D).
-IDNA_INVALID_LENGTH: The final output string is not within the
-  (inclusive) range 1 to 63 characters.
-IDNA_NO_ACE_PREFIX: The string does not contain the ACE prefix
-  (for ToUnicode).
-IDNA_ROUNDTRIP_VERIFY_ERROR: The ToASCII operation on output
-  string does not equal the input.
-IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
-  ToASCII).
-IDNA_ICONV_ERROR: Could not convert string in locale encoding.
-IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
-  fatal error).
-IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
-  internally in libc).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> return code.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns a pointer to a statically allocated string
-containing a description of the error with the return code <em class="parameter"><code>rc</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-ascii-4i"></a><h3>idna_to_ascii_4i ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_ascii_4i                    (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> *out</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-The ToASCII operation takes a sequence of Unicode code points that
-make up one domain label and transforms it into a sequence of code
-points in the ASCII range (0..7F). If ToASCII succeeds, the
-original sequence and the resulting sequence are equivalent labels.
-</p>
-<p>
-It is important to note that the ToASCII operation can fail. ToASCII
-fails if any step of it fails. If any step of the ToASCII operation
-fails on any label in a domain name, that domain name MUST NOT be used
-as an internationalized domain name. The method for deadling with this
-failure is application-specific.
-</p>
-<p>
-The inputs to ToASCII are a sequence of code points, the AllowUnassigned
-flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
-sequence of ASCII code points or a failure condition.
-</p>
-<p>
-ToASCII never alters a sequence of code points that are all in the ASCII
-range to begin with (although it could fail). Applying the ToASCII
-operation multiple times has exactly the same effect as applying it just
-once.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td>length of input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>output zero terminated string that must have room for at
-least 63 characters plus the terminating zero.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns 0 on success, or an <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-ascii-4z"></a><h3>idna_to_ascii_4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_ascii_4z                    (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert UCS-4 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero terminated input Unicode string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-ascii-8z"></a><h3>idna_to_ascii_8z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_ascii_8z                    (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert UTF-8 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero terminated input UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-ascii-lz"></a><h3>idna_to_ascii_lz ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_ascii_lz                    (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert domain name in the locale's encoding to ASCII string.  The
-domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero terminated input string encoded in the current locale's
-character set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-44i"></a><h3>idna_to_unicode_44i ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_44i                 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> *out</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *outlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-The ToUnicode operation takes a sequence of Unicode code points
-that make up one domain label and returns a sequence of Unicode
-code points. If the input sequence is a label in ACE form, then the
-result is an equivalent internationalized label that is not in ACE
-form, otherwise the original sequence is returned unaltered.
-</p>
-<p>
-ToUnicode never fails. If any step fails, then the original input
-sequence is returned immediately in that step.
-</p>
-<p>
-The Punycode decoder can never output more code points than it
-inputs, but Nameprep can, and therefore ToUnicode can.  Note that
-the number of octets needed to represent a sequence of code points
-depends on the particular character encoding used.
-</p>
-<p>
-The inputs to ToUnicode are a sequence of code points, the
-AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-ToUnicode is always a sequence of Unicode code points.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td>length of input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>output array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>outlen</code></em> :</span></p></td>
-<td>on input, maximum size of output array with unicode code points,
-on exit, actual size of output array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> error condition, but it must only be
-used for debugging purposes.  The output buffer is always
-guaranteed to contain the correct data according to the
-specification (sans malloc induced errors).  NB!  This means that
-you normally ignore the return code from this function, as
-checking it means breaking the standard.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-4z4z"></a><h3>idna_to_unicode_4z4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_4z4z                (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert possibly ACE encoded domain name in UCS-4 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero-terminated Unicode string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output Unicode string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-8z4z"></a><h3>idna_to_unicode_8z4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_8z4z                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero-terminated UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output Unicode string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-8z8z"></a><h3>idna_to_unicode_8z8z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_8z8z                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UTF-8 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero-terminated UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-8zlz"></a><h3>idna_to_unicode_8zlz ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_8zlz                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-string encoded in the current locale's character set.  The domain
-name may contain several labels, separated by dots.  The output
-buffer must be deallocated by the caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero-terminated UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output string encoded in the
-current locale's character set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idna-to-unicode-lzlz"></a><h3>idna_to_unicode_lzlz ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 idna_to_unicode_lzlz                (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **output</code></em>,
-                                                         <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
-<p>
-Convert possibly ACE encoded domain name in the locale's character
-set into a string encoded in the current locale's character set.
-The domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>zero-terminated string encoded in the current locale's
-character set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>pointer to newly allocated output string encoded in the
-current locale's character set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
-<a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-pr29.h.html b/doc/reference/html/libidn-pr29.h.html
new file mode 100644 (file)
index 0000000..a7c876b
--- /dev/null
@@ -0,0 +1,295 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>pr29.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-punycode.h.html" title="punycode.h">
+<link rel="next" href="libidn-tld.h.html" title="tld.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-pr29.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-punycode.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-tld.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-pr29.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-pr29.h.top_of_page"></a>pr29.h</span></h2>
+<p>pr29.h — PR29-related functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-pr29.h.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-pr29.h.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-pr29.h.html#pr29-4" title="pr29_4 ()">pr29_4</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-pr29.h.html#pr29-4z" title="pr29_4z ()">pr29_4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-pr29.h.html#pr29-8z" title="pr29_8z ()">pr29_8z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-pr29.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-pr29.h.description"></a><h2>Description</h2>
+<p>PR29-related functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-pr29.h.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="pr29-strerror"></a><h3>pr29_strerror ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+pr29_strerror (<em class="parameter"><code><a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> rc</code></em>);</pre>
+<p>Convert a return code integer to a text string.  This string can be
+used to output a diagnostic message to the user.</p>
+<p>PR29_SUCCESS: Successful operation.  This value is guaranteed to
+  always be zero, the remaining ones are only guaranteed to hold
+  non-zero values, for logical comparison purposes.
+PR29_PROBLEM: A problem sequence was encountered.
+PR29_STRINGPREP_ERROR: The character set conversion failed (only
+  for <a class="link" href="libidn-pr29.h.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).</p>
+<div class="refsect3">
+<a name="pr29-strerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>rc</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> return code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="pr29-strerror.returns"></a><h4>Returns</h4>
+<p> Returns a pointer to a statically allocated string
+containing a description of the error with the return code <em class="parameter"><code>rc</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="pr29-4"></a><h3>pr29_4 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+pr29_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+        <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
+<p>Check the input to see if it may be normalized into different
+strings by different NFKC implementations, due to an anomaly in the
+NFKC specifications.</p>
+<div class="refsect3">
+<a name="pr29-4.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of input array with unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="pr29-4.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.h.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+and <a class="link" href="libidn-pr29.h.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+(i.e., may be normalized into different strings by different
+implementations).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="pr29-4z"></a><h3>pr29_4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+pr29_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>);</pre>
+<p>Check the input to see if it may be normalized into different
+strings by different NFKC implementations, due to an anomaly in the
+NFKC specifications.</p>
+<div class="refsect3">
+<a name="pr29-4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>zero terminated array of Unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="pr29-4z.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.h.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+and <a class="link" href="libidn-pr29.h.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+(i.e., may be normalized into different strings by different
+implementations).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="pr29-8z"></a><h3>pr29_8z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+pr29_8z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>);</pre>
+<p>Check the input to see if it may be normalized into different
+strings by different NFKC implementations, due to an anomaly in the
+NFKC specifications.</p>
+<div class="refsect3">
+<a name="pr29-8z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>zero terminated input UTF-8 string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="pr29-8z.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-pr29.h.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.h.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+and <a class="link" href="libidn-pr29.h.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+(i.e., may be normalized into different strings by different
+implementations), or <a class="link" href="libidn-pr29.h.html#PR29-STRINGPREP-ERROR:CAPS"><code class="literal">PR29_STRINGPREP_ERROR</code></a> if there was a
+problem converting the string from UTF-8 to UCS-4.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libidn-pr29.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Pr29-rc"></a><h3>enum Pr29_rc</h3>
+<p>Enumerated return codes for <a class="link" href="libidn-pr29.h.html#pr29-4" title="pr29_4 ()"><code class="function">pr29_4()</code></a>, <a class="link" href="libidn-pr29.h.html#pr29-4z" title="pr29_4z ()"><code class="function">pr29_4z()</code></a>, <a class="link" href="libidn-pr29.h.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>.  The
+value 0 is guaranteed to always correspond to success.</p>
+<div class="refsect3">
+<a name="Pr29-rc.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="PR29-SUCCESS:CAPS"></a>PR29_SUCCESS</p></td>
+<td class="enum_member_description">
+<p>Successful operation.  This value is guaranteed to
+always be zero, the remaining ones are only guaranteed to hold
+non-zero values, for logical comparison purposes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PR29-PROBLEM:CAPS"></a>PR29_PROBLEM</p></td>
+<td class="enum_member_description">
+<p>A problem sequence was encountered.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PR29-STRINGPREP-ERROR:CAPS"></a>PR29_STRINGPREP_ERROR</p></td>
+<td class="enum_member_description">
+<p>The character set conversion failed (only
+for <a class="link" href="libidn-pr29.h.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-pr29.html b/doc/reference/html/libidn-pr29.html
deleted file mode 100644 (file)
index 98905e7..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>pr29</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-punycode.html" title="punycode">
-<link rel="next" href="libidn-tld.html" title="tld">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-punycode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-tld.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-pr29.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-pr29.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-pr29"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-pr29.top_of_page"></a>pr29</span></h2>
-<p>pr29</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-pr29.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-enum                <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a>;
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()">pr29_4</a>                              (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()">pr29_4z</a>                             (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()">pr29_8z</a>                             (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>);
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-pr29.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a>                       (<em class="parameter"><code><a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> rc</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-pr29.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-pr29.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Pr29-rc"></a><h3>enum Pr29_rc</h3>
-<pre class="programlisting">typedef enum {
-    PR29_SUCCESS = 0,
-    PR29_PROBLEM = 1,          /* String is a problem sequence. */
-    PR29_STRINGPREP_ERROR = 2 /* Charset conversion failed (p29_8*). */
-} Pr29_rc;
-</pre>
-<p>
-Enumerated return codes for <a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()"><code class="function">pr29_4()</code></a>, <a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()"><code class="function">pr29_4z()</code></a>, <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>.  The
-value 0 is guaranteed to always correspond to success.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="PR29-SUCCESS:CAPS"></a><span class="term"><code class="literal">PR29_SUCCESS</code></span></p></td>
-<td>Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-</td>
-</tr>
-<tr>
-<td><p><a name="PR29-PROBLEM:CAPS"></a><span class="term"><code class="literal">PR29_PROBLEM</code></span></p></td>
-<td>A problem sequence was encountered.
-</td>
-</tr>
-<tr>
-<td><p><a name="PR29-STRINGPREP-ERROR:CAPS"></a><span class="term"><code class="literal">PR29_STRINGPREP_ERROR</code></span></p></td>
-<td>The character set conversion failed (only
-  for <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="pr29-4"></a><h3>pr29_4 ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 pr29_4                              (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
-<p>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>length of input array with unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
-and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations).</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="pr29-4z"></a><h3>pr29_4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 pr29_4z                             (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>);</pre>
-<p>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>zero terminated array of Unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
-and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations).</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="pr29-8z"></a><h3>pr29_8z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 pr29_8z                             (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>);</pre>
-<p>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>zero terminated input UTF-8 string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
-and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations), or <a class="link" href="libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS"><code class="literal">PR29_STRINGPREP_ERROR</code></a> if there was a
-problem converting the string from UTF-8 to UCS-4.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="pr29-strerror"></a><h3>pr29_strerror ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        pr29_strerror                       (<em class="parameter"><code><a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> rc</code></em>);</pre>
-<p>
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-</p>
-<p>
-PR29_SUCCESS: Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-PR29_PROBLEM: A problem sequence was encountered.
-PR29_STRINGPREP_ERROR: The character set conversion failed (only
-  for <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> return code.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns a pointer to a statically allocated string
-containing a description of the error with the return code <em class="parameter"><code>rc</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-punycode.h.html b/doc/reference/html/libidn-punycode.h.html
new file mode 100644 (file)
index 0000000..f005870
--- /dev/null
@@ -0,0 +1,368 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>punycode.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-stringprep.h.html" title="stringprep.h">
+<link rel="next" href="libidn-pr29.h.html" title="pr29.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-punycode.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-stringprep.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-pr29.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-punycode.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-punycode.h.top_of_page"></a>punycode.h</span></h2>
+<p>punycode.h — Punycode-related functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-punycode.h.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-punycode.h.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-punycode.h.html#punycode-encode" title="punycode_encode ()">punycode_encode</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-punycode.h.html#punycode-decode" title="punycode_decode ()">punycode_decode</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-punycode.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status">Punycode_status</a></td>
+</tr>
+<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="libidn-punycode.h.html#punycode-uint" title="punycode_uint">punycode_uint</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-punycode.h.description"></a><h2>Description</h2>
+<p>Punycode-related functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-punycode.h.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="punycode-strerror"></a><h3>punycode_strerror ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+punycode_strerror (<em class="parameter"><code><a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> rc</code></em>);</pre>
+<p>Convert a return code integer to a text string.  This string can be
+used to output a diagnostic message to the user.</p>
+<p>PUNYCODE_SUCCESS: Successful operation.  This value is guaranteed
+  to always be zero, the remaining ones are only guaranteed to hold
+  non-zero values, for logical comparison purposes.
+PUNYCODE_BAD_INPUT: Input is invalid.
+PUNYCODE_BIG_OUTPUT: Output would exceed the space provided.
+PUNYCODE_OVERFLOW: Input needs wider integers to process.</p>
+<div class="refsect3">
+<a name="punycode-strerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>rc</p></td>
+<td class="parameter_description"><p>an <a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> return code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="punycode-strerror.returns"></a><h4>Returns</h4>
+<p> Returns a pointer to a statically allocated string
+containing a description of the error with the return code <em class="parameter"><code>rc</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="punycode-encode"></a><h3>punycode_encode ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+punycode_encode (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+                 <em class="parameter"><code>const <a class="link" href="libidn-punycode.h.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> input[]</code></em>,
+                 <em class="parameter"><code>const unsigned <span class="type">char</span> case_flags[]</code></em>,
+                 <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+                 <em class="parameter"><code><span class="type">char</span> output[]</code></em>);</pre>
+<p>Converts a sequence of code points (presumed to be Unicode code
+points) to Punycode.</p>
+<div class="refsect3">
+<a name="punycode-encode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input_length</p></td>
+<td class="parameter_description"><p>The number of code points in the <em class="parameter"><code>input</code></em>
+array and
+the number of flags in the <em class="parameter"><code>case_flags</code></em>
+array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>An array of code points.  They are presumed to be Unicode
+code points, but that is not strictly REQUIRED.  The array
+contains code points, not code units.  UTF-16 uses code units
+D800 through DFFF to refer to code points 10000..10FFFF.  The
+code points D800..DFFF do not occur in any valid Unicode string.
+The code points that can occur in Unicode strings (0..D7FF and
+E000..10FFFF) are also called Unicode scalar values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>case_flags</p></td>
+<td class="parameter_description"><p>A <code class="literal">NULL</code> pointer or an array of boolean values parallel
+to the <em class="parameter"><code>input</code></em>
+array.  Nonzero (true, flagged) suggests that the
+corresponding Unicode character be forced to uppercase after
+being decoded (if possible), and zero (false, unflagged) suggests
+that it be forced to lowercase (if possible).  ASCII code points
+(0..7F) are encoded literally, except that ASCII letters are
+forced to uppercase or lowercase according to the corresponding
+case flags.  If <em class="parameter"><code>case_flags</code></em>
+is a <code class="literal">NULL</code> pointer then ASCII letters
+are left as they are, and other code points are treated as
+unflagged.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output_length</p></td>
+<td class="parameter_description"><p>The caller passes in the maximum number of ASCII
+code points that it can receive.  On successful return it will
+contain the number of ASCII code points actually output.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>An array of ASCII code points.  It is *not*
+null-terminated; it will contain zeros if and only if the <em class="parameter"><code>input</code></em>
+contains zeros.  (Of course the caller can leave room for a
+terminator and add one if needed.)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="punycode-encode.returns"></a><h4>Returns</h4>
+<p> The return value can be any of the <a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
+values defined above except <a class="link" href="libidn-punycode.h.html#PUNYCODE-BAD-INPUT:CAPS"><code class="literal">PUNYCODE_BAD_INPUT</code></a>.  If not
+<a class="link" href="libidn-punycode.h.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then <em class="parameter"><code>output_size</code></em>
+and <em class="parameter"><code>output</code></em>
+might contain
+garbage.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="punycode-decode"></a><h3>punycode_decode ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+punycode_decode (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+                 <em class="parameter"><code>const <span class="type">char</span> input[]</code></em>,
+                 <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+                 <em class="parameter"><code><a class="link" href="libidn-punycode.h.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> output[]</code></em>,
+                 <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>);</pre>
+<p>Converts Punycode to a sequence of code points (presumed to be
+Unicode code points).</p>
+<div class="refsect3">
+<a name="punycode-decode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>input_length</p></td>
+<td class="parameter_description"><p>The number of ASCII code points in the <em class="parameter"><code>input</code></em>
+array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>An array of ASCII code points (0..7F).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output_length</p></td>
+<td class="parameter_description"><p>The caller passes in the maximum number of code
+points that it can receive into the <em class="parameter"><code>output</code></em>
+array (which is also
+the maximum number of flags that it can receive into the
+<em class="parameter"><code>case_flags</code></em>
+array, if <em class="parameter"><code>case_flags</code></em>
+is not a <code class="literal">NULL</code> pointer).  On
+successful return it will contain the number of code points
+actually output (which is also the number of flags actually
+output, if case_flags is not a null pointer).  The decoder will
+never need to output more code points than the number of ASCII
+code points in the input, because of the way the encoding is
+defined.  The number of code points output cannot exceed the
+maximum possible value of a punycode_uint, even if the supplied
+<em class="parameter"><code>output_length</code></em>
+is greater than that.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>An array of code points like the input argument of
+<a class="link" href="libidn-punycode.h.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> (see above).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>case_flags</p></td>
+<td class="parameter_description"><p>A <code class="literal">NULL</code> pointer (if the flags are not needed by the
+caller) or an array of boolean values parallel to the <em class="parameter"><code>output</code></em>
+array.  Nonzero (true, flagged) suggests that the corresponding
+Unicode character be forced to uppercase by the caller (if
+possible), and zero (false, unflagged) suggests that it be forced
+to lowercase (if possible).  ASCII code points (0..7F) are output
+already in the proper case, but their flags will be set
+appropriately so that applying the flags would be harmless.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="punycode-decode.returns"></a><h4>Returns</h4>
+<p> The return value can be any of the <a class="link" href="libidn-punycode.h.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
+values defined above.  If not <a class="link" href="libidn-punycode.h.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then
+<em class="parameter"><code>output_length</code></em>
+, <em class="parameter"><code>output</code></em>
+, and <em class="parameter"><code>case_flags</code></em>
+might contain garbage.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libidn-punycode.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Punycode-status"></a><h3>enum Punycode_status</h3>
+<p>Enumerated return codes of <a class="link" href="libidn-punycode.h.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> and <a class="link" href="libidn-punycode.h.html#punycode-decode" title="punycode_decode ()"><code class="function">punycode_decode()</code></a>.
+The value 0 is guaranteed to always correspond to success.</p>
+<div class="refsect3">
+<a name="Punycode-status.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="PUNYCODE-SUCCESS:CAPS"></a>PUNYCODE_SUCCESS</p></td>
+<td class="enum_member_description">
+<p>Successful operation.  This value is guaranteed
+to always be zero, the remaining ones are only guaranteed to hold
+non-zero values, for logical comparison purposes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PUNYCODE-BAD-INPUT:CAPS"></a>PUNYCODE_BAD_INPUT</p></td>
+<td class="enum_member_description">
+<p>Input is invalid.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PUNYCODE-BIG-OUTPUT:CAPS"></a>PUNYCODE_BIG_OUTPUT</p></td>
+<td class="enum_member_description">
+<p>Output would exceed the space provided.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PUNYCODE-OVERFLOW:CAPS"></a>PUNYCODE_OVERFLOW</p></td>
+<td class="enum_member_description">
+<p>Input needs wider integers to process.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="punycode-uint"></a><h3>punycode_uint</h3>
+<pre class="programlisting">  typedef uint32_t punycode_uint;
+</pre>
+<p>Unicode code point data type, this is always a 32 bit unsigned
+integer.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-punycode.html b/doc/reference/html/libidn-punycode.html
deleted file mode 100644 (file)
index 8139f3a..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>punycode</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-stringprep.html" title="stringprep">
-<link rel="next" href="libidn-pr29.html" title="pr29">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-stringprep.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-pr29.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-punycode.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-punycode.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-punycode"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-punycode.top_of_page"></a>punycode</span></h2>
-<p>punycode</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-punycode.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-enum                <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a>;
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()">punycode_decode</a>                     (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> input[]</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> output[]</code></em>,
-                                                         <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()">punycode_encode</a>                     (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> input[]</code></em>,
-                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> case_flags[]</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> output[]</code></em>);
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-punycode.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a>                   (<em class="parameter"><code><a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> rc</code></em>);
-typedef             <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-punycode.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-punycode.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Punycode-status"></a><h3>enum Punycode_status</h3>
-<pre class="programlisting">typedef enum {
-    PUNYCODE_SUCCESS = punycode_success,
-    PUNYCODE_BAD_INPUT = punycode_bad_input,
-    PUNYCODE_BIG_OUTPUT = punycode_big_output,
-    PUNYCODE_OVERFLOW = punycode_overflow
-} Punycode_status;
-</pre>
-<p>
-Enumerated return codes of <a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> and <a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()"><code class="function">punycode_decode()</code></a>.
-The value 0 is guaranteed to always correspond to success.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="PUNYCODE-SUCCESS:CAPS"></a><span class="term"><code class="literal">PUNYCODE_SUCCESS</code></span></p></td>
-<td>Successful operation.  This value is guaranteed
-  to always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-</td>
-</tr>
-<tr>
-<td><p><a name="PUNYCODE-BAD-INPUT:CAPS"></a><span class="term"><code class="literal">PUNYCODE_BAD_INPUT</code></span></p></td>
-<td>Input is invalid.
-</td>
-</tr>
-<tr>
-<td><p><a name="PUNYCODE-BIG-OUTPUT:CAPS"></a><span class="term"><code class="literal">PUNYCODE_BIG_OUTPUT</code></span></p></td>
-<td>Output would exceed the space provided.
-</td>
-</tr>
-<tr>
-<td><p><a name="PUNYCODE-OVERFLOW:CAPS"></a><span class="term"><code class="literal">PUNYCODE_OVERFLOW</code></span></p></td>
-<td>Input needs wider integers to process.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="punycode-decode"></a><h3>punycode_decode ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 punycode_decode                     (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> input[]</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> output[]</code></em>,
-                                                         <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>);</pre>
-<p>
-Converts Punycode to a sequence of code points (presumed to be
-Unicode code points).
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input_length</code></em> :</span></p></td>
-<td>The number of ASCII code points in the <em class="parameter"><code>input</code></em> array.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>An array of ASCII code points (0..7F).</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output_length</code></em> :</span></p></td>
-<td>The caller passes in the maximum number of code
-points that it can receive into the <em class="parameter"><code>output</code></em> array (which is also
-the maximum number of flags that it can receive into the
-<em class="parameter"><code>case_flags</code></em> array, if <em class="parameter"><code>case_flags</code></em> is not a <code class="literal">NULL</code> pointer).  On
-successful return it will contain the number of code points
-actually output (which is also the number of flags actually
-output, if case_flags is not a null pointer).  The decoder will
-never need to output more code points than the number of ASCII
-code points in the input, because of the way the encoding is
-defined.  The number of code points output cannot exceed the
-maximum possible value of a punycode_uint, even if the supplied
-<em class="parameter"><code>output_length</code></em> is greater than that.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>An array of code points like the input argument of
-<a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> (see above).</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>case_flags</code></em> :</span></p></td>
-<td>A <code class="literal">NULL</code> pointer (if the flags are not needed by the
-caller) or an array of boolean values parallel to the <em class="parameter"><code>output</code></em>
-array.  Nonzero (true, flagged) suggests that the corresponding
-Unicode character be forced to uppercase by the caller (if
-possible), and zero (false, unflagged) suggests that it be forced
-to lowercase (if possible).  ASCII code points (0..7F) are output
-already in the proper case, but their flags will be set
-appropriately so that applying the flags would be harmless.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The return value can be any of the <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
-values defined above.  If not <a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then
-<em class="parameter"><code>output_length</code></em>, <em class="parameter"><code>output</code></em>, and <em class="parameter"><code>case_flags</code></em> might contain garbage.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="punycode-encode"></a><h3>punycode_encode ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 punycode_encode                     (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> input[]</code></em>,
-                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> case_flags[]</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> output[]</code></em>);</pre>
-<p>
-Converts a sequence of code points (presumed to be Unicode code
-points) to Punycode.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input_length</code></em> :</span></p></td>
-<td>The number of code points in the <em class="parameter"><code>input</code></em> array and
-the number of flags in the <em class="parameter"><code>case_flags</code></em> array.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td>An array of code points.  They are presumed to be Unicode
-code points, but that is not strictly REQUIRED.  The array
-contains code points, not code units.  UTF-16 uses code units
-D800 through DFFF to refer to code points 10000..10FFFF.  The
-code points D800..DFFF do not occur in any valid Unicode string.
-The code points that can occur in Unicode strings (0..D7FF and
-E000..10FFFF) are also called Unicode scalar values.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>case_flags</code></em> :</span></p></td>
-<td>A <code class="literal">NULL</code> pointer or an array of boolean values parallel
-to the <em class="parameter"><code>input</code></em> array.  Nonzero (true, flagged) suggests that the
-corresponding Unicode character be forced to uppercase after
-being decoded (if possible), and zero (false, unflagged) suggests
-that it be forced to lowercase (if possible).  ASCII code points
-(0..7F) are encoded literally, except that ASCII letters are
-forced to uppercase or lowercase according to the corresponding
-case flags.  If <em class="parameter"><code>case_flags</code></em> is a <code class="literal">NULL</code> pointer then ASCII letters
-are left as they are, and other code points are treated as
-unflagged.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output_length</code></em> :</span></p></td>
-<td>The caller passes in the maximum number of ASCII
-code points that it can receive.  On successful return it will
-contain the number of ASCII code points actually output.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td>An array of ASCII code points.  It is *not*
-null-terminated; it will contain zeros if and only if the <em class="parameter"><code>input</code></em>
-contains zeros.  (Of course the caller can leave room for a
-terminator and add one if needed.)</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The return value can be any of the <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
-values defined above except <a class="link" href="libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS"><code class="literal">PUNYCODE_BAD_INPUT</code></a>.  If not
-<a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then <em class="parameter"><code>output_size</code></em> and <em class="parameter"><code>output</code></em> might contain
-garbage.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="punycode-strerror"></a><h3>punycode_strerror ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        punycode_strerror                   (<em class="parameter"><code><a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> rc</code></em>);</pre>
-<p>
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-</p>
-<p>
-PUNYCODE_SUCCESS: Successful operation.  This value is guaranteed
-  to always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-PUNYCODE_BAD_INPUT: Input is invalid.
-PUNYCODE_BIG_OUTPUT: Output would exceed the space provided.
-PUNYCODE_OVERFLOW: Input needs wider integers to process.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td>an <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> return code.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns a pointer to a statically allocated string
-containing a description of the error with the return code <em class="parameter"><code>rc</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="punycode-uint"></a><h3>punycode_uint</h3>
-<pre class="programlisting">  typedef uint32_t punycode_uint;
-</pre>
-<p>
-Unicode code point data type, this is always a 32 bit unsigned
-integer.
-</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-stringprep.h.html b/doc/reference/html/libidn-stringprep.h.html
new file mode 100644 (file)
index 0000000..05dfc72
--- /dev/null
@@ -0,0 +1,1595 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>stringprep.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-idna.h.html" title="idna.h">
+<link rel="next" href="libidn-punycode.h.html" title="punycode.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-stringprep.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-idna.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-punycode.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-stringprep.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-stringprep.h.top_of_page"></a>stringprep.h</span></h2>
+<p>stringprep.h — Stringprep-related functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-stringprep.h.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep" title="stringprep ()">stringprep</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">uint32_t</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">uint32_t</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">uint32_t</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-stringprep.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-table-element" title="struct Stringprep_table_element">Stringprep_table_element</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-table" title="struct Stringprep_table">Stringprep_table</a></td>
+</tr>
+<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libidn-stringprep.h.html#Stringprep-profiles" title="struct Stringprep_profiles">Stringprep_profiles</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-stringprep.h.description"></a><h2>Description</h2>
+<p>Stringprep-related functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-stringprep.h.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="stringprep-nameprep"></a><h3>stringprep_nameprep()</h3>
+<pre class="programlisting">#define             stringprep_nameprep(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the nameprep profile.
+The AllowUnassigned flag is true, use
+<a class="link" href="libidn-stringprep.h.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()"><code class="function">stringprep_nameprep_no_unassigned()</code></a> if you want a false
+AllowUnassigned.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-nameprep.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-nameprep-no-unassigned"></a><h3>stringprep_nameprep_no_unassigned()</h3>
+<pre class="programlisting">#define             stringprep_nameprep_no_unassigned(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the nameprep profile.
+The AllowUnassigned flag is false, use <a class="link" href="libidn-stringprep.h.html#stringprep-nameprep" title="stringprep_nameprep()"><code class="function">stringprep_nameprep()</code></a> for
+true AllowUnassigned.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-nameprep-no-unassigned.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-plain"></a><h3>stringprep_plain()</h3>
+<pre class="programlisting">#define             stringprep_plain(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the draft SASL
+ANONYMOUS profile.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-plain.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-kerberos5"></a><h3>stringprep_kerberos5()</h3>
+<pre class="programlisting">#define             stringprep_kerberos5(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the draft Kerberos 5
+node identifier profile.  Returns 0 iff successful, or an error
+code.</p>
+<div class="refsect3">
+<a name="stringprep-kerberos5.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-xmpp-nodeprep"></a><h3>stringprep_xmpp_nodeprep()</h3>
+<pre class="programlisting">#define             stringprep_xmpp_nodeprep(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the draft XMPP node
+identifier profile.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-xmpp-nodeprep.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-xmpp-resourceprep"></a><h3>stringprep_xmpp_resourceprep()</h3>
+<pre class="programlisting">#define             stringprep_xmpp_resourceprep(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the draft XMPP resource
+identifier profile.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-xmpp-resourceprep.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-iscsi"></a><h3>stringprep_iscsi()</h3>
+<pre class="programlisting">#define             stringprep_iscsi(in, maxlen)</pre>
+<p>Prepare the input UTF-8 string according to the draft iSCSI
+stringprep profile.  Returns 0 iff successful, or an error code.</p>
+<div class="refsect3">
+<a name="stringprep-iscsi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-4i"></a><h3>stringprep_4i ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+stringprep_4i (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+               <em class="parameter"><code><span class="type">size_t</span> *len</code></em>,
+               <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+               <em class="parameter"><code><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+               <em class="parameter"><code>const <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
+<p>Prepare the input UCS-4 string according to the stringprep profile,
+and write back the result to the input string.</p>
+<p>The input is not required to be zero terminated (<em class="parameter"><code>ucs4</code></em>
+[<em class="parameter"><code>len</code></em>
+] = 0).
+The output will not be zero terminated unless <em class="parameter"><code>ucs4</code></em>
+[<em class="parameter"><code>len</code></em>
+] = 0.
+Instead, see <a class="link" href="libidn-stringprep.h.html#stringprep-4zi" title="stringprep_4zi ()"><code class="function">stringprep_4zi()</code></a> if your input is zero terminated or
+if you want the output to be.</p>
+<p>Since the stringprep operation can expand the string, <em class="parameter"><code>maxucs4len</code></em>
+
+indicate how large the buffer holding the string is.  This function
+will not read or write to code points outside that size.</p>
+<p>The <em class="parameter"><code>flags</code></em>
+ are one of <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.</p>
+<p>The <em class="parameter"><code>profile</code></em>
+ contain the <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
+perform.  Your application can define new profiles, possibly
+re-using the generic stringprep tables that always will be part of
+the library, or use one of the currently supported profiles.</p>
+<div class="refsect3">
+<a name="stringprep-4i.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ucs4</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>on input, length of input array with Unicode code points,
+on exit, length of output array with Unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxucs4len</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>profile</p></td>
+<td class="parameter_description"><p>pointer to <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-4i.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-stringprep.h.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
+<a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-4zi"></a><h3>stringprep_4zi ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+stringprep_4zi (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+                <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+                <em class="parameter"><code><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+                <em class="parameter"><code>const <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
+<p>Prepare the input zero terminated UCS-4 string according to the
+stringprep profile, and write back the result to the input string.</p>
+<p>Since the stringprep operation can expand the string, <em class="parameter"><code>maxucs4len</code></em>
+
+indicate how large the buffer holding the string is.  This function
+will not read or write to code points outside that size.</p>
+<p>The <em class="parameter"><code>flags</code></em>
+ are one of <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.</p>
+<p>The <em class="parameter"><code>profile</code></em>
+ contain the <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
+perform.  Your application can define new profiles, possibly
+re-using the generic stringprep tables that always will be part of
+the library, or use one of the currently supported profiles.</p>
+<div class="refsect3">
+<a name="stringprep-4zi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ucs4</p></td>
+<td class="parameter_description"><p>input/output array with zero terminated string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxucs4len</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>profile</p></td>
+<td class="parameter_description"><p>pointer to <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-4zi.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-stringprep.h.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
+<a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep"></a><h3>stringprep ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+stringprep (<em class="parameter"><code><span class="type">char</span> *in</code></em>,
+            <em class="parameter"><code><span class="type">size_t</span> maxlen</code></em>,
+            <em class="parameter"><code><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+            <em class="parameter"><code>const <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
+<p>Prepare the input zero terminated UTF-8 string according to the
+stringprep profile, and write back the result to the input string.</p>
+<p>Note that you must convert strings entered in the systems locale
+into UTF-8 before using this function, see
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()"><code class="function">stringprep_locale_to_utf8()</code></a>.</p>
+<p>Since the stringprep operation can expand the string, <em class="parameter"><code>maxlen</code></em>
+
+indicate how large the buffer holding the string is.  This function
+will not read or write to characters outside that size.</p>
+<p>The <em class="parameter"><code>flags</code></em>
+ are one of <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.</p>
+<p>The <em class="parameter"><code>profile</code></em>
+ contain the <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
+perform.  Your application can define new profiles, possibly
+re-using the generic stringprep tables that always will be part of
+the library, or use one of the currently supported profiles.</p>
+<div class="refsect3">
+<a name="stringprep.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input/output array with string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxlen</p></td>
+<td class="parameter_description"><p>maximum length of input/output array.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>profile</p></td>
+<td class="parameter_description"><p>pointer to <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-stringprep.h.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-profile"></a><h3>stringprep_profile ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+stringprep_profile (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+                    <em class="parameter"><code><span class="type">char</span> **out</code></em>,
+                    <em class="parameter"><code>const <span class="type">char</span> *profile</code></em>,
+                    <em class="parameter"><code><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>);</pre>
+<p>Prepare the input zero terminated UTF-8 string according to the
+stringprep profile, and return the result in a newly allocated
+variable.</p>
+<p>Note that you must convert strings entered in the systems locale
+into UTF-8 before using this function, see
+<a class="link" href="libidn-stringprep.h.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()"><code class="function">stringprep_locale_to_utf8()</code></a>.</p>
+<p>The output <em class="parameter"><code>out</code></em>
+ variable must be deallocated by the caller.</p>
+<p>The <em class="parameter"><code>flags</code></em>
+ are one of <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.</p>
+<p>The <em class="parameter"><code>profile</code></em>
+ specifies the name of the stringprep profile to use.
+It must be one of the internally supported stringprep profiles.</p>
+<div class="refsect3">
+<a name="stringprep-profile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>input array with UTF-8 string to prepare.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>output variable with pointer to newly allocate string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>profile</p></td>
+<td class="parameter_description"><p>name of stringprep profile to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-profile.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libidn-stringprep.h.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-strerror"></a><h3>stringprep_strerror ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+stringprep_strerror (<em class="parameter"><code><a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> rc</code></em>);</pre>
+<p>Convert a return code integer to a text string.  This string can be
+used to output a diagnostic message to the user.</p>
+<p>STRINGPREP_OK: Successful operation.  This value is guaranteed to
+  always be zero, the remaining ones are only guaranteed to hold
+  non-zero values, for logical comparison purposes.
+STRINGPREP_CONTAINS_UNASSIGNED: String contain unassigned Unicode
+  code points, which is forbidden by the profile.
+STRINGPREP_CONTAINS_PROHIBITED: String contain code points
+  prohibited by the profile.
+STRINGPREP_BIDI_BOTH_L_AND_RAL: String contain code points with
+  conflicting bidirection category.
+STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: Leading and trailing character
+  in string not of proper bidirectional category.
+STRINGPREP_BIDI_CONTAINS_PROHIBITED: Contains prohibited code
+  points detected by bidirectional code.
+STRINGPREP_TOO_SMALL_BUFFER: Buffer handed to function was too
+  small.  This usually indicate a problem in the calling
+  application.
+STRINGPREP_PROFILE_ERROR: The stringprep profile was inconsistent.
+  This usually indicate an internal error in the library.
+STRINGPREP_FLAG_ERROR: The supplied flag conflicted with profile.
+  This usually indicate a problem in the calling application.
+STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
+  known to the library.
+STRINGPREP_ICONV_ERROR: Character encoding conversion error.
+STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed.  This
+  usually indicate an internal error in the library.
+STRINGPREP_MALLOC_ERROR: The <code class="function">malloc()</code> was out of memory.  This is
+  usually a fatal error.</p>
+<div class="refsect3">
+<a name="stringprep-strerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>rc</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> return code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-strerror.returns"></a><h4>Returns</h4>
+<p> Returns a pointer to a statically allocated string
+containing a description of the error with the return code <em class="parameter"><code>rc</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-check-version"></a><h3>stringprep_check_version ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+stringprep_check_version (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
+<p>Check that the version of the library is at minimum the requested one
+and return the version string; return NULL if the condition is not
+satisfied.  If a NULL is passed to this function, no check is done,
+but the version string is simply returned.</p>
+<p>See <a class="link" href="libidn-stringprep.h.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION"><code class="literal">STRINGPREP_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em>
+ string.</p>
+<div class="refsect3">
+<a name="stringprep-check-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>req_version</p></td>
+<td class="parameter_description"><p>Required version number, or NULL.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-check-version.returns"></a><h4>Returns</h4>
+<p> Version string of run-time library, or NULL if the
+run-time library does not meet the required version number.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-unichar-to-utf8"></a><h3>stringprep_unichar_to_utf8 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+stringprep_unichar_to_utf8 (<em class="parameter"><code><span class="type">uint32_t</span> c</code></em>,
+                            <em class="parameter"><code><span class="type">char</span> *outbuf</code></em>);</pre>
+<p>Converts a single character to UTF-8.</p>
+<div class="refsect3">
+<a name="stringprep-unichar-to-utf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>c</p></td>
+<td class="parameter_description"><p>a ISO10646 character code</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>outbuf</p></td>
+<td class="parameter_description"><p>output buffer, must have at least 6 bytes of space.
+If <code class="literal">NULL</code>, the length will be computed and returned
+and nothing will be written to <em class="parameter"><code>outbuf</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-unichar-to-utf8.returns"></a><h4>Returns</h4>
+<p> number of bytes written.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-utf8-to-unichar"></a><h3>stringprep_utf8_to_unichar ()</h3>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span>
+stringprep_utf8_to_unichar (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
+<p>Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
+If <em class="parameter"><code>p</code></em>
+ does not point to a valid UTF-8 encoded character, results are
+undefined.</p>
+<div class="refsect3">
+<a name="stringprep-utf8-to-unichar.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>a pointer to Unicode character encoded as UTF-8</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-utf8-to-unichar.returns"></a><h4>Returns</h4>
+<p> the resulting character.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-utf8-to-ucs4"></a><h3>stringprep_utf8_to_ucs4 ()</h3>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span> *
+stringprep_utf8_to_ucs4 (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
+<p>Convert a string from UTF-8 to a 32-bit fixed width representation
+as UCS-4.  The function now performs error checking to verify that
+the input is valid UTF-8 (before it was documented to not do error
+checking).</p>
+<div class="refsect3">
+<a name="stringprep-utf8-to-ucs4.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a UTF-8 encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>the maximum length of <em class="parameter"><code>str</code></em>
+to use. If <em class="parameter"><code>len</code></em>
+&lt; 0, then
+the string is nul-terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>items_written</p></td>
+<td class="parameter_description"><p>location to store the number of characters in the
+result, or <code class="literal">NULL</code>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-utf8-to-ucs4.returns"></a><h4>Returns</h4>
+<p> a pointer to a newly allocated UCS-4 string.
+This value must be deallocated by the caller.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-ucs4-to-utf8"></a><h3>stringprep_ucs4_to_utf8 ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+stringprep_ucs4_to_utf8 (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
+                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+                         <em class="parameter"><code><span class="type">size_t</span> *items_read</code></em>,
+                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
+<p>Convert a string from a 32-bit fixed width representation as UCS-4.
+to UTF-8. The result will be terminated with a 0 byte.</p>
+<div class="refsect3">
+<a name="stringprep-ucs4-to-utf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a UCS-4 encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>the maximum length of <em class="parameter"><code>str</code></em>
+to use. If <em class="parameter"><code>len</code></em>
+&lt; 0, then
+the string is terminated with a 0 character.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>items_read</p></td>
+<td class="parameter_description"><p>location to store number of characters read read, or <code class="literal">NULL</code>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>items_written</p></td>
+<td class="parameter_description"><p>location to store number of bytes written or <code class="literal">NULL</code>.
+The value here stored does not include the trailing 0
+byte.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-ucs4-to-utf8.returns"></a><h4>Returns</h4>
+<p> a pointer to a newly allocated UTF-8 string.
+This value must be deallocated by the caller.
+If an error occurs, <code class="literal">NULL</code> will be returned.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-utf8-nfkc-normalize"></a><h3>stringprep_utf8_nfkc_normalize ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+stringprep_utf8_nfkc_normalize (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+                                <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
+<p>Converts a string into canonical form, standardizing
+such issues as whether a character with an accent
+is represented as a base character and combining
+accent or as a single precomposed character.</p>
+<p>The normalization mode is NFKC (ALL COMPOSE).  It standardizes
+differences that do not affect the text content, such as the
+above-mentioned accent representation. It standardizes the
+"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
+the standard forms (in this case DIGIT THREE). Formatting
+information may be lost but for most text operations such
+characters should be considered the same. It returns a result with
+composed forms rather than a maximally decomposed form.</p>
+<div class="refsect3">
+<a name="stringprep-utf8-nfkc-normalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a UTF-8 encoded string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
+, in bytes, or -1 if <em class="parameter"><code>str</code></em>
+is nul-terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-utf8-nfkc-normalize.returns"></a><h4>Returns</h4>
+<p> a newly allocated string, that is the
+NFKC normalized form of <em class="parameter"><code>str</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-ucs4-nfkc-normalize"></a><h3>stringprep_ucs4_nfkc_normalize ()</h3>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span> *
+stringprep_ucs4_nfkc_normalize (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
+                                <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
+<p>Converts a UCS4 string into canonical form, see
+<a class="link" href="libidn-stringprep.h.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()"><code class="function">stringprep_utf8_nfkc_normalize()</code></a> for more information.</p>
+<div class="refsect3">
+<a name="stringprep-ucs4-nfkc-normalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a Unicode string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
+array, or -1 if <em class="parameter"><code>str</code></em>
+is nul-terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-ucs4-nfkc-normalize.returns"></a><h4>Returns</h4>
+<p> a newly allocated Unicode string, that is the NFKC
+normalized form of <em class="parameter"><code>str</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-locale-charset"></a><h3>stringprep_locale_charset ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+stringprep_locale_charset (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Find out current locale charset.  The function respect the CHARSET
+environment variable, but typically uses nl_langinfo(CODESET) when
+it is supported.  It fall back on "ASCII" if CHARSET isn't set and
+nl_langinfo isn't supported or return anything.</p>
+<p>Note that this function return the application's locale's preferred
+charset (or thread's locale's preferred charset, if your system
+support thread-specific locales).  It does not return what the
+system may be using.  Thus, if you receive data from external
+sources you cannot in general use this function to guess what
+charset it is encoded in.  Use stringprep_convert from the external
+representation into the charset returned by this function, to have
+data in the locale encoding.</p>
+<div class="refsect3">
+<a name="stringprep-locale-charset.returns"></a><h4>Returns</h4>
+<p> Return the character set used by the current locale.
+It will never return NULL, but use "ASCII" as a fallback.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-convert"></a><h3>stringprep_convert ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+stringprep_convert (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+                    <em class="parameter"><code>const <span class="type">char</span> *to_codeset</code></em>,
+                    <em class="parameter"><code>const <span class="type">char</span> *from_codeset</code></em>);</pre>
+<p>Convert the string from one character set to another using the
+system's <code class="function">iconv()</code> function.</p>
+<div class="refsect3">
+<a name="stringprep-convert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>input zero-terminated string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>to_codeset</p></td>
+<td class="parameter_description"><p>name of destination character set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>from_codeset</p></td>
+<td class="parameter_description"><p>name of origin character set, as used by <em class="parameter"><code>str</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-convert.returns"></a><h4>Returns</h4>
+<p> Returns newly allocated zero-terminated string which
+is <em class="parameter"><code>str</code></em>
+transcoded into to_codeset.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-locale-to-utf8"></a><h3>stringprep_locale_to_utf8 ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+stringprep_locale_to_utf8 (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
+<p>Convert string encoded in the locale's character set into UTF-8 by
+using <a class="link" href="libidn-stringprep.h.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.</p>
+<div class="refsect3">
+<a name="stringprep-locale-to-utf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>input zero terminated string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-locale-to-utf8.returns"></a><h4>Returns</h4>
+<p> Returns newly allocated zero-terminated string which
+is <em class="parameter"><code>str</code></em>
+transcoded into UTF-8.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="stringprep-utf8-to-locale"></a><h3>stringprep_utf8_to_locale ()</h3>
+<pre class="programlisting"><span class="returnvalue">char</span> *
+stringprep_utf8_to_locale (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
+<p>Convert string encoded in UTF-8 into the locale's character set by
+using <a class="link" href="libidn-stringprep.h.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.</p>
+<div class="refsect3">
+<a name="stringprep-utf8-to-locale.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>input zero terminated string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="stringprep-utf8-to-locale.returns"></a><h4>Returns</h4>
+<p> Returns newly allocated zero-terminated string which
+is <em class="parameter"><code>str</code></em>
+transcoded into the locale's character set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libidn-stringprep.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="STRINGPREP-VERSION:CAPS"></a><h3>STRINGPREP_VERSION</h3>
+<pre class="programlisting"># define STRINGPREP_VERSION "1.42"
+</pre>
+<p>String defined via CPP denoting the header file version number.
+Used together with <a class="link" href="libidn-stringprep.h.html#stringprep-check-version" title="stringprep_check_version ()"><code class="function">stringprep_check_version()</code></a> to verify header file
+and run-time library consistency.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-rc"></a><h3>enum Stringprep_rc</h3>
+<p>Enumerated return codes of <a class="link" href="libidn-stringprep.h.html#stringprep" title="stringprep ()"><code class="function">stringprep()</code></a>, <a class="link" href="libidn-stringprep.h.html#stringprep-profile" title="stringprep_profile ()"><code class="function">stringprep_profile()</code></a>
+functions (and macros using those functions).  The value 0 is
+guaranteed to always correspond to success.</p>
+<div class="refsect3">
+<a name="Stringprep-rc.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-OK:CAPS"></a>STRINGPREP_OK</p></td>
+<td class="enum_member_description">
+<p>Successful operation.  This value is guaranteed to
+always be zero, the remaining ones are only guaranteed to hold
+non-zero values, for logical comparison purposes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-CONTAINS-UNASSIGNED:CAPS"></a>STRINGPREP_CONTAINS_UNASSIGNED</p></td>
+<td class="enum_member_description">
+<p>String contain unassigned Unicode
+code points, which is forbidden by the profile.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-CONTAINS-PROHIBITED:CAPS"></a>STRINGPREP_CONTAINS_PROHIBITED</p></td>
+<td class="enum_member_description">
+<p>String contain code points
+prohibited by the profile.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"></a>STRINGPREP_BIDI_BOTH_L_AND_RAL</p></td>
+<td class="enum_member_description">
+<p>String contain code points with
+conflicting bidirection category.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"></a>STRINGPREP_BIDI_LEADTRAIL_NOT_RAL</p></td>
+<td class="enum_member_description">
+<p>Leading and trailing character
+in string not of proper bidirectional category.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"></a>STRINGPREP_BIDI_CONTAINS_PROHIBITED</p></td>
+<td class="enum_member_description">
+<p>Contains prohibited code
+points detected by bidirectional code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-TOO-SMALL-BUFFER:CAPS"></a>STRINGPREP_TOO_SMALL_BUFFER</p></td>
+<td class="enum_member_description">
+<p>Buffer handed to function was too
+small.  This usually indicate a problem in the calling
+application.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-PROFILE-ERROR:CAPS"></a>STRINGPREP_PROFILE_ERROR</p></td>
+<td class="enum_member_description">
+<p>The stringprep profile was inconsistent.
+This usually indicate an internal error in the library.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-FLAG-ERROR:CAPS"></a>STRINGPREP_FLAG_ERROR</p></td>
+<td class="enum_member_description">
+<p>The supplied flag conflicted with profile.
+This usually indicate a problem in the calling application.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-UNKNOWN-PROFILE:CAPS"></a>STRINGPREP_UNKNOWN_PROFILE</p></td>
+<td class="enum_member_description">
+<p>The supplied profile name was not
+known to the library.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-ICONV-ERROR:CAPS"></a>STRINGPREP_ICONV_ERROR</p></td>
+<td class="enum_member_description">
+<p>Character encoding conversion error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-NFKC-FAILED:CAPS"></a>STRINGPREP_NFKC_FAILED</p></td>
+<td class="enum_member_description">
+<p>The Unicode NFKC operation failed.  This
+usually indicate an internal error in the library.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-MALLOC-ERROR:CAPS"></a>STRINGPREP_MALLOC_ERROR</p></td>
+<td class="enum_member_description">
+<p>The <code class="function">malloc()</code> was out of memory.  This is
+usually a fatal error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-profile-flags"></a><h3>enum Stringprep_profile_flags</h3>
+<p>Stringprep profile flags.</p>
+<div class="refsect3">
+<a name="Stringprep-profile-flags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-NO-NFKC:CAPS"></a>STRINGPREP_NO_NFKC</p></td>
+<td class="enum_member_description">
+<p>Disable the NFKC normalization, as well as
+selecting the non-NFKC case folding tables.  Usually the profile
+specifies BIDI and NFKC settings, and applications should not
+override it unless in special situations.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-NO-BIDI:CAPS"></a>STRINGPREP_NO_BIDI</p></td>
+<td class="enum_member_description">
+<p>Disable the BIDI step.  Usually the profile
+specifies BIDI and NFKC settings, and applications should not
+override it unless in special situations.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-NO-UNASSIGNED:CAPS"></a>STRINGPREP_NO_UNASSIGNED</p></td>
+<td class="enum_member_description">
+<p>Make the library return with an error if
+string contains unassigned characters according to profile.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-profile-steps"></a><h3>enum Stringprep_profile_steps</h3>
+<p>Various steps in the stringprep algorithm.  You really want to
+study the source code to understand this one.  Only useful if you
+want to add another profile.</p>
+<div class="refsect3">
+<a name="Stringprep-profile-steps.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-NFKC:CAPS"></a>STRINGPREP_NFKC</p></td>
+<td class="enum_member_description">
+<p>The NFKC step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI:CAPS"></a>STRINGPREP_BIDI</p></td>
+<td class="enum_member_description">
+<p>The BIDI step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-MAP-TABLE:CAPS"></a>STRINGPREP_MAP_TABLE</p></td>
+<td class="enum_member_description">
+<p>The MAP step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-UNASSIGNED-TABLE:CAPS"></a>STRINGPREP_UNASSIGNED_TABLE</p></td>
+<td class="enum_member_description">
+<p>The Unassigned step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-PROHIBIT-TABLE:CAPS"></a>STRINGPREP_PROHIBIT_TABLE</p></td>
+<td class="enum_member_description">
+<p>The Prohibited step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"></a>STRINGPREP_BIDI_PROHIBIT_TABLE</p></td>
+<td class="enum_member_description">
+<p>The BIDI-Prohibited step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-RAL-TABLE:CAPS"></a>STRINGPREP_BIDI_RAL_TABLE</p></td>
+<td class="enum_member_description">
+<p>The BIDI-RAL step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="STRINGPREP-BIDI-L-TABLE:CAPS"></a>STRINGPREP_BIDI_L_TABLE</p></td>
+<td class="enum_member_description">
+<p>The BIDI-L step.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="STRINGPREP-MAX-MAP-CHARS:CAPS"></a><h3>STRINGPREP_MAX_MAP_CHARS</h3>
+<pre class="programlisting"># define STRINGPREP_MAX_MAP_CHARS 4
+</pre>
+<p>Maximum number of code points that can replace a single code point,
+during stringprep mapping.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-table-element"></a><h3>struct Stringprep_table_element</h3>
+<pre class="programlisting">struct Stringprep_table_element {
+    uint32_t start;
+    uint32_t end;
+    uint32_t map[STRINGPREP_MAX_MAP_CHARS];
+};
+</pre>
+<p>Stringprep profile table element.</p>
+<div class="refsect3">
+<a name="Stringprep-table-element.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="Stringprep-table-element.start"></a>start</code></em>;</p></td>
+<td class="struct_member_description"><p>starting codepoint.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="Stringprep-table-element.end"></a>end</code></em>;</p></td>
+<td class="struct_member_description"><p>ending codepoint, 0 if only one character.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="Stringprep-table-element.map"></a>map</code></em>[STRINGPREP_MAX_MAP_CHARS];</p></td>
+<td class="struct_member_description"><p>codepoints to map <em class="parameter"><code>start</code></em>
+into, NULL if end is not 0.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-table"></a><h3>struct Stringprep_table</h3>
+<pre class="programlisting">struct Stringprep_table {
+    Stringprep_profile_steps operation;
+    Stringprep_profile_flags flags;
+    const Stringprep_table_element *table;
+    size_t table_size;
+};
+</pre>
+<p>Stringprep profile table.</p>
+<div class="refsect3">
+<a name="Stringprep-table.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps"><span class="type">Stringprep_profile_steps</span></a> <em class="structfield"><code><a name="Stringprep-table.operation"></a>operation</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps"><span class="type">Stringprep_profile_steps</span></a> value</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> <em class="structfield"><code><a name="Stringprep-table.flags"></a>flags</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="libidn-stringprep.h.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>const <a class="link" href="libidn-stringprep.h.html#Stringprep-table-element" title="struct Stringprep_table_element"><span class="type">Stringprep_table_element</span></a> *<em class="structfield"><code><a name="Stringprep-table.table"></a>table</code></em>;</p></td>
+<td class="struct_member_description"><p>zero-terminated array of <a class="link" href="libidn-stringprep.h.html#Stringprep-table-element" title="struct Stringprep_table_element"><code class="literal">Stringprep_table_element</code></a> elements.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">size_t</span> <em class="structfield"><code><a name="Stringprep-table.table-size"></a>table_size</code></em>;</p></td>
+<td class="struct_member_description"><p>size of <em class="parameter"><code>table</code></em>
+, to speed up searching.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-profile"></a><h3>Stringprep_profile</h3>
+<pre class="programlisting">  typedef struct Stringprep_table Stringprep_profile;
+</pre>
+<p>Stringprep profile table.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Stringprep-profiles"></a><h3>struct Stringprep_profiles</h3>
+<pre class="programlisting">struct Stringprep_profiles {
+    const char *name;
+    const Stringprep_profile *tables;
+};
+</pre>
+<p>Element structure</p>
+<div class="refsect3">
+<a name="Stringprep-profiles.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p>const <span class="type">char</span> *<em class="structfield"><code><a name="Stringprep-profiles.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>name of stringprep profile.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>const <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *<em class="structfield"><code><a name="Stringprep-profiles.tables"></a>tables</code></em>;</p></td>
+<td class="struct_member_description"><p>zero-terminated array of <a class="link" href="libidn-stringprep.h.html#Stringprep-profile" title="Stringprep_profile"><code class="literal">Stringprep_profile</code></a> elements.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-stringprep.html b/doc/reference/html/libidn-stringprep.html
deleted file mode 100644 (file)
index 5aec206..0000000
+++ /dev/null
@@ -1,1129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>stringprep</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-idna.html" title="idna">
-<link rel="next" href="libidn-punycode.html" title="punycode">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-idna.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-punycode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-stringprep.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-stringprep.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-stringprep"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-stringprep.top_of_page"></a>stringprep</span></h2>
-<p>stringprep</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-stringprep.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-#define             <a class="link" href="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>
-#define             <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>
-typedef             <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a>;
-enum                <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a>;
-enum                <a class="link" href="libidn-stringprep.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a>;
-typedef             <a class="link" href="libidn-stringprep.html#Stringprep-profiles" title="Stringprep_profiles">Stringprep_profiles</a>;
-enum                <a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a>;
-typedef             <a class="link" href="libidn-stringprep.html#Stringprep-table-element" title="Stringprep_table_element">Stringprep_table_element</a>;
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()">stringprep</a>                          (<em class="parameter"><code><span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxlen</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-stringprep.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a>                       (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a>                      (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a>            (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);
-<span class="returnvalue">char</span> *              <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a>                  (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *to_codeset</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *from_codeset</code></em>);
-#define             <a class="link" href="libidn-stringprep.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a>                    (in,
-                                                         maxlen)
-#define             <a class="link" href="libidn-stringprep.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a>                (in,
-                                                         maxlen)
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-stringprep.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a>           (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">char</span> *              <a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a>           (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);
-#define             <a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a>                 (in,
-                                                         maxlen)
-#define             <a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a>   (in,
-                                                         maxlen)
-#define             <a class="link" href="libidn-stringprep.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a>                    (in,
-                                                         maxlen)
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a>                  (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *profile</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>);
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-stringprep.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a>                 (<em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> rc</code></em>);
-<span class="returnvalue">uint32_t</span> *          <a class="link" href="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a>      (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);
-<span class="returnvalue">char</span> *              <a class="link" href="libidn-stringprep.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a>             (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_read</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-stringprep.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a>          (<em class="parameter"><code><span class="type">uint32_t</span> c</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> *outbuf</code></em>);
-<span class="returnvalue">char</span> *              <a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a>      (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);
-<span class="returnvalue">char</span> *              <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a>           (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);
-<span class="returnvalue">uint32_t</span> *          <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a>             (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);
-<span class="returnvalue">uint32_t</span>            <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a>          (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);
-#define             <a class="link" href="libidn-stringprep.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a>            (in,
-                                                         maxlen)
-#define             <a class="link" href="libidn-stringprep.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a>        (in,
-                                                         maxlen)
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-stringprep.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-stringprep.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="STRINGPREP-MAX-MAP-CHARS:CAPS"></a><h3>STRINGPREP_MAX_MAP_CHARS</h3>
-<pre class="programlisting"># define STRINGPREP_MAX_MAP_CHARS 4
-</pre>
-<p>
-Maximum number of code points that can replace a single code point,
-during stringprep mapping.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="STRINGPREP-VERSION:CAPS"></a><h3>STRINGPREP_VERSION</h3>
-<pre class="programlisting"># define STRINGPREP_VERSION "1.25"
-</pre>
-<p>
-String defined via CPP denoting the header file version number.
-Used together with <a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()"><code class="function">stringprep_check_version()</code></a> to verify header file
-and run-time library consistency.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-profile"></a><h3>Stringprep_profile</h3>
-<pre class="programlisting">  typedef struct Stringprep_table Stringprep_profile;
-</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-profile-flags"></a><h3>enum Stringprep_profile_flags</h3>
-<pre class="programlisting">typedef enum {
-    STRINGPREP_NO_NFKC = 1,
-    STRINGPREP_NO_BIDI = 2,
-    STRINGPREP_NO_UNASSIGNED = 4
-} Stringprep_profile_flags;
-</pre>
-<p>
-Stringprep profile flags.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="STRINGPREP-NO-NFKC:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_NFKC</code></span></p></td>
-<td>Disable the NFKC normalization, as well as
-  selecting the non-NFKC case folding tables.  Usually the profile
-  specifies BIDI and NFKC settings, and applications should not
-  override it unless in special situations.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-NO-BIDI:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_BIDI</code></span></p></td>
-<td>Disable the BIDI step.  Usually the profile
-  specifies BIDI and NFKC settings, and applications should not
-  override it unless in special situations.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-NO-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_UNASSIGNED</code></span></p></td>
-<td>Make the library return with an error if
-  string contains unassigned characters according to profile.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-profile-steps"></a><h3>enum Stringprep_profile_steps</h3>
-<pre class="programlisting">typedef enum {
-    STRINGPREP_NFKC = 1,
-    STRINGPREP_BIDI = 2,
-    STRINGPREP_MAP_TABLE = 3,
-    STRINGPREP_UNASSIGNED_TABLE = 4,
-    STRINGPREP_PROHIBIT_TABLE = 5,
-    STRINGPREP_BIDI_PROHIBIT_TABLE = 6,
-    STRINGPREP_BIDI_RAL_TABLE = 7,
-    STRINGPREP_BIDI_L_TABLE = 8
-} Stringprep_profile_steps;
-</pre>
-<p>
-Various steps in the stringprep algorithm.  You really want to
-study the source code to understand this one.  Only useful if you
-want to add another profile.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="STRINGPREP-NFKC:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NFKC</code></span></p></td>
-<td>The NFKC step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI</code></span></p></td>
-<td>The BIDI step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-MAP-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_MAP_TABLE</code></span></p></td>
-<td>The MAP step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-UNASSIGNED-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_UNASSIGNED_TABLE</code></span></p></td>
-<td>The Unassigned step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-PROHIBIT-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_PROHIBIT_TABLE</code></span></p></td>
-<td>The Prohibited step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_PROHIBIT_TABLE</code></span></p></td>
-<td>The BIDI-Prohibited step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-RAL-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_RAL_TABLE</code></span></p></td>
-<td>The BIDI-RAL step.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-L-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_L_TABLE</code></span></p></td>
-<td>The BIDI-L step.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-profiles"></a><h3>Stringprep_profiles</h3>
-<pre class="programlisting">  typedef struct Stringprep_profiles Stringprep_profiles;
-</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-rc"></a><h3>enum Stringprep_rc</h3>
-<pre class="programlisting">typedef enum {
-    STRINGPREP_OK = 0,
-    /* Stringprep errors. */
-    STRINGPREP_CONTAINS_UNASSIGNED = 1,
-    STRINGPREP_CONTAINS_PROHIBITED = 2,
-    STRINGPREP_BIDI_BOTH_L_AND_RAL = 3,
-    STRINGPREP_BIDI_LEADTRAIL_NOT_RAL = 4,
-    STRINGPREP_BIDI_CONTAINS_PROHIBITED = 5,
-    /* Error in calling application. */
-    STRINGPREP_TOO_SMALL_BUFFER = 100,
-    STRINGPREP_PROFILE_ERROR = 101,
-    STRINGPREP_FLAG_ERROR = 102,
-    STRINGPREP_UNKNOWN_PROFILE = 103,
-    /* Internal errors. */
-    STRINGPREP_NFKC_FAILED = 200,
-    STRINGPREP_MALLOC_ERROR = 201
-} Stringprep_rc;
-</pre>
-<p>
-Enumerated return codes of <a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()"><code class="function">stringprep()</code></a>, <a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()"><code class="function">stringprep_profile()</code></a>
-functions (and macros using those functions).  The value 0 is
-guaranteed to always correspond to success.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="STRINGPREP-OK:CAPS"></a><span class="term"><code class="literal">STRINGPREP_OK</code></span></p></td>
-<td>Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-CONTAINS-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_UNASSIGNED</code></span></p></td>
-<td>String contain unassigned Unicode
-  code points, which is forbidden by the profile.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-CONTAINS-PROHIBITED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_PROHIBITED</code></span></p></td>
-<td>String contain code points
-  prohibited by the profile.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_BOTH_L_AND_RAL</code></span></p></td>
-<td>String contain code points with
-  conflicting bidirection category.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_LEADTRAIL_NOT_RAL</code></span></p></td>
-<td>Leading and trailing character
-  in string not of proper bidirectional category.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_CONTAINS_PROHIBITED</code></span></p></td>
-<td>Contains prohibited code
-  points detected by bidirectional code.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-TOO-SMALL-BUFFER:CAPS"></a><span class="term"><code class="literal">STRINGPREP_TOO_SMALL_BUFFER</code></span></p></td>
-<td>Buffer handed to function was too
-  small.  This usually indicate a problem in the calling
-  application.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-PROFILE-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_PROFILE_ERROR</code></span></p></td>
-<td>The stringprep profile was inconsistent.
-  This usually indicate an internal error in the library.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-FLAG-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_FLAG_ERROR</code></span></p></td>
-<td>The supplied flag conflicted with profile.
-  This usually indicate a problem in the calling application.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-UNKNOWN-PROFILE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_UNKNOWN_PROFILE</code></span></p></td>
-<td>The supplied profile name was not
-  known to the library.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-NFKC-FAILED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NFKC_FAILED</code></span></p></td>
-<td>The Unicode NFKC operation failed.  This
-  usually indicate an internal error in the library.
-</td>
-</tr>
-<tr>
-<td><p><a name="STRINGPREP-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_MALLOC_ERROR</code></span></p></td>
-<td>The <code class="function">malloc()</code> was out of memory.  This is
-  usually a fatal error.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Stringprep-table-element"></a><h3>Stringprep_table_element</h3>
-<pre class="programlisting">  typedef struct Stringprep_table_element Stringprep_table_element;
-</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep"></a><h3>stringprep ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 stringprep                          (<em class="parameter"><code><span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxlen</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
-<p>
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and write back the result to the input string.
-</p>
-<p>
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()"><code class="function">stringprep_locale_to_utf8()</code></a>.
-</p>
-<p>
-Since the stringprep operation can expand the string, <em class="parameter"><code>maxlen</code></em>
-indicate how large the buffer holding the string is.  This function
-will not read or write to characters outside that size.
-</p>
-<p>
-The <em class="parameter"><code>flags</code></em> are one of <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.
-</p>
-<p>
-The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-4i"></a><h3>stringprep_4i ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 stringprep_4i                       (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
-<p>
-Prepare the input UCS-4 string according to the stringprep profile,
-and write back the result to the input string.
-</p>
-<p>
-The input is not required to be zero terminated (<em class="parameter"><code>ucs4</code></em>[<em class="parameter"><code>len</code></em>] = 0).
-The output will not be zero terminated unless <em class="parameter"><code>ucs4</code></em>[<em class="parameter"><code>len</code></em>] = 0.
-Instead, see <a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()"><code class="function">stringprep_4zi()</code></a> if your input is zero terminated or
-if you want the output to be.
-</p>
-<p>
-Since the stringprep operation can expand the string, <em class="parameter"><code>maxucs4len</code></em>
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-</p>
-<p>
-The <em class="parameter"><code>flags</code></em> are one of <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.
-</p>
-<p>
-The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>ucs4</code></em> :</span></p></td>
-<td>input/output array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>on input, length of input array with Unicode code points,
-on exit, length of output array with Unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxucs4len</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
-<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-4zi"></a><h3>stringprep_4zi ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 stringprep_4zi                      (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
-<p>
-Prepare the input zero terminated UCS-4 string according to the
-stringprep profile, and write back the result to the input string.
-</p>
-<p>
-Since the stringprep operation can expand the string, <em class="parameter"><code>maxucs4len</code></em>
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-</p>
-<p>
-The <em class="parameter"><code>flags</code></em> are one of <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.
-</p>
-<p>
-The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>ucs4</code></em> :</span></p></td>
-<td>input/output array with zero terminated string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxucs4len</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
-<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-check-version"></a><h3>stringprep_check_version ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        stringprep_check_version            (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
-<p>
-Check that the version of the library is at minimum the requested one
-and return the version string; return NULL if the condition is not
-satisfied.  If a NULL is passed to this function, no check is done,
-but the version string is simply returned.
-</p>
-<p>
-See <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION"><code class="literal">STRINGPREP_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> string.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>req_version</code></em> :</span></p></td>
-<td>Required version number, or NULL.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Version string of run-time library, or NULL if the
-run-time library does not meet the required version number.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-convert"></a><h3>stringprep_convert ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *              stringprep_convert                  (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *to_codeset</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *from_codeset</code></em>);</pre>
-<p>
-Convert the string from one character set to another using the
-system's <code class="function">iconv()</code> function.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>input zero-terminated string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>to_codeset</code></em> :</span></p></td>
-<td>name of destination character set.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>from_codeset</code></em> :</span></p></td>
-<td>name of origin character set, as used by <em class="parameter"><code>str</code></em>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns newly allocated zero-terminated string which
-is <em class="parameter"><code>str</code></em> transcoded into to_codeset.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-iscsi"></a><h3>stringprep_iscsi()</h3>
-<pre class="programlisting">#define             stringprep_iscsi(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the draft iSCSI
-stringprep profile.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-kerberos5"></a><h3>stringprep_kerberos5()</h3>
-<pre class="programlisting">#define             stringprep_kerberos5(in, maxlen)</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-locale-charset"></a><h3>stringprep_locale_charset ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        stringprep_locale_charset           (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Find out current locale charset.  The function respect the CHARSET
-environment variable, but typically uses nl_langinfo(CODESET) when
-it is supported.  It fall back on "ASCII" if CHARSET isn't set and
-nl_langinfo isn't supported or return anything.
-</p>
-<p>
-Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
-support thread-specific locales).  It does not return what the
-system may be using.  Thus, if you receive data from external
-sources you cannot in general use this function to guess what
-charset it is encoded in.  Use stringprep_convert from the external
-representation into the charset returned by this function, to have
-data in the locale encoding.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return the character set used by the current locale.
-It will never return NULL, but use "ASCII" as a fallback.</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-locale-to-utf8"></a><h3>stringprep_locale_to_utf8 ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *              stringprep_locale_to_utf8           (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
-<p>
-Convert string encoded in the locale's character set into UTF-8 by
-using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>input zero terminated string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns newly allocated zero-terminated string which
-is <em class="parameter"><code>str</code></em> transcoded into UTF-8.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-nameprep"></a><h3>stringprep_nameprep()</h3>
-<pre class="programlisting">#define             stringprep_nameprep(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the nameprep profile.
-The AllowUnassigned flag is true, use
-<a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()"><code class="function">stringprep_nameprep_no_unassigned()</code></a> if you want a false
-AllowUnassigned.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-nameprep-no-unassigned"></a><h3>stringprep_nameprep_no_unassigned()</h3>
-<pre class="programlisting">#define             stringprep_nameprep_no_unassigned(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the nameprep profile.
-The AllowUnassigned flag is false, use <a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()"><code class="function">stringprep_nameprep()</code></a> for
-true AllowUnassigned.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-plain"></a><h3>stringprep_plain()</h3>
-<pre class="programlisting">#define             stringprep_plain(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the draft SASL
-ANONYMOUS profile.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-profile"></a><h3>stringprep_profile ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 stringprep_profile                  (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>,
-                                                         <em class="parameter"><code>const <span class="type">char</span> *profile</code></em>,
-                                                         <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>);</pre>
-<p>
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and return the result in a newly allocated
-variable.
-</p>
-<p>
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()"><code class="function">stringprep_locale_to_utf8()</code></a>.
-</p>
-<p>
-The output <em class="parameter"><code>out</code></em> variable must be deallocated by the caller.
-</p>
-<p>
-The <em class="parameter"><code>flags</code></em> are one of <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> values, or 0.
-</p>
-<p>
-The <em class="parameter"><code>profile</code></em> specifies the name of the stringprep profile to use.
-It must be one of the internally supported stringprep profiles.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input array with UTF-8 string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>output variable with pointer to newly allocate string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td>name of stringprep profile to use.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-strerror"></a><h3>stringprep_strerror ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        stringprep_strerror                 (<em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> rc</code></em>);</pre>
-<p>
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-</p>
-<p>
-STRINGPREP_OK: Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-STRINGPREP_CONTAINS_UNASSIGNED: String contain unassigned Unicode
-  code points, which is forbidden by the profile.
-STRINGPREP_CONTAINS_PROHIBITED: String contain code points
-  prohibited by the profile.
-STRINGPREP_BIDI_BOTH_L_AND_RAL: String contain code points with
-  conflicting bidirection category.
-STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: Leading and trailing character
-  in string not of proper bidirectional category.
-STRINGPREP_BIDI_CONTAINS_PROHIBITED: Contains prohibited code
-  points detected by bidirectional code.
-STRINGPREP_TOO_SMALL_BUFFER: Buffer handed to function was too
-  small.  This usually indicate a problem in the calling
-  application.
-STRINGPREP_PROFILE_ERROR: The stringprep profile was inconsistent.
-  This usually indicate an internal error in the library.
-STRINGPREP_FLAG_ERROR: The supplied flag conflicted with profile.
-  This usually indicate a problem in the calling application.
-STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
-  known to the library.
-STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed.  This
-  usually indicate an internal error in the library.
-STRINGPREP_MALLOC_ERROR: The <code class="function">malloc()</code> was out of memory.  This is
-  usually a fatal error.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td>a <a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> return code.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns a pointer to a statically allocated string
-containing a description of the error with the return code <em class="parameter"><code>rc</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-ucs4-nfkc-normalize"></a><h3>stringprep_ucs4_nfkc_normalize ()</h3>
-<pre class="programlisting"><span class="returnvalue">uint32_t</span> *          stringprep_ucs4_nfkc_normalize      (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
-<p>
-Converts a UCS4 string into canonical form, see
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()"><code class="function">stringprep_utf8_nfkc_normalize()</code></a> for more information.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>a Unicode string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>length of <em class="parameter"><code>str</code></em> array, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated Unicode string, that is the NFKC
-normalized form of <em class="parameter"><code>str</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-ucs4-to-utf8"></a><h3>stringprep_ucs4_to_utf8 ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *              stringprep_ucs4_to_utf8             (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_read</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
-<p>
-Convert a string from a 32-bit fixed width representation as UCS-4.
-to UTF-8. The result will be terminated with a 0 byte.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>a UCS-4 encoded string</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> &lt; 0, then
-the string is terminated with a 0 character.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>items_read</code></em> :</span></p></td>
-<td>location to store number of characters read read, or <code class="literal">NULL</code>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>items_written</code></em> :</span></p></td>
-<td>location to store number of bytes written or <code class="literal">NULL</code>.
-The value here stored does not include the trailing 0
-byte.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to a newly allocated UTF-8 string.
-This value must be deallocated by the caller.
-If an error occurs, <code class="literal">NULL</code> will be returned.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-unichar-to-utf8"></a><h3>stringprep_unichar_to_utf8 ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 stringprep_unichar_to_utf8          (<em class="parameter"><code><span class="type">uint32_t</span> c</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> *outbuf</code></em>);</pre>
-<p>
-Converts a single character to UTF-8.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
-<td>a ISO10646 character code</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>outbuf</code></em> :</span></p></td>
-<td>output buffer, must have at least 6 bytes of space.
-If <code class="literal">NULL</code>, the length will be computed and returned
-and nothing will be written to <em class="parameter"><code>outbuf</code></em>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of bytes written.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-utf8-nfkc-normalize"></a><h3>stringprep_utf8_nfkc_normalize ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *              stringprep_utf8_nfkc_normalize      (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
-<p>
-Converts a string into canonical form, standardizing
-such issues as whether a character with an accent
-is represented as a base character and combining
-accent or as a single precomposed character.
-</p>
-<p>
-The normalization mode is NFKC (ALL COMPOSE).  It standardizes
-differences that do not affect the text content, such as the
-above-mentioned accent representation. It standardizes the
-"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
-the standard forms (in this case DIGIT THREE). Formatting
-information may be lost but for most text operations such
-characters should be considered the same. It returns a result with
-composed forms rather than a maximally decomposed form.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>a UTF-8 encoded string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>length of <em class="parameter"><code>str</code></em>, in bytes, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a newly allocated string, that is the
-NFKC normalized form of <em class="parameter"><code>str</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-utf8-to-locale"></a><h3>stringprep_utf8_to_locale ()</h3>
-<pre class="programlisting"><span class="returnvalue">char</span> *              stringprep_utf8_to_locale           (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
-<p>
-Convert string encoded in UTF-8 into the locale's character set by
-using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>input zero terminated string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns newly allocated zero-terminated string which
-is <em class="parameter"><code>str</code></em> transcoded into the locale's character set.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-utf8-to-ucs4"></a><h3>stringprep_utf8_to_ucs4 ()</h3>
-<pre class="programlisting"><span class="returnvalue">uint32_t</span> *          stringprep_utf8_to_ucs4             (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
-                                                         <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
-<p>
-Convert a string from UTF-8 to a 32-bit fixed width
-representation as UCS-4, assuming valid UTF-8 input.
-This function does no error checking on the input.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td>a UTF-8 encoded string</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> &lt; 0, then
-the string is nul-terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>items_written</code></em> :</span></p></td>
-<td>location to store the number of characters in the
-result, or <code class="literal">NULL</code>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to a newly allocated UCS-4 string.
-This value must be deallocated by the caller.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-utf8-to-unichar"></a><h3>stringprep_utf8_to_unichar ()</h3>
-<pre class="programlisting"><span class="returnvalue">uint32_t</span>            stringprep_utf8_to_unichar          (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
-<p>
-Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
-If <em class="parameter"><code>p</code></em> does not point to a valid UTF-8 encoded character, results are
-undefined.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
-<td>a pointer to Unicode character encoded as UTF-8</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the resulting character.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-xmpp-nodeprep"></a><h3>stringprep_xmpp_nodeprep()</h3>
-<pre class="programlisting">#define             stringprep_xmpp_nodeprep(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the draft XMPP node
-identifier profile.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="stringprep-xmpp-resourceprep"></a><h3>stringprep_xmpp_resourceprep()</h3>
-<pre class="programlisting">#define             stringprep_xmpp_resourceprep(in, maxlen)</pre>
-<p>
-Prepare the input UTF-8 string according to the draft XMPP resource
-identifier profile.  Returns 0 iff successful, or an error code.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>input/ouput array with string to prepare.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td>maximum length of input/output array.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-tld.h.html b/doc/reference/html/libidn-tld.h.html
new file mode 100644 (file)
index 0000000..fa6c9c7
--- /dev/null
@@ -0,0 +1,926 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>tld.h: GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-pr29.h.html" title="pr29.h">
+<link rel="next" href="libidn-idn-free.h.html" title="idn-free.h">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#libidn-tld.h.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-pr29.h.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libidn-idn-free.h.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libidn-tld.h"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libidn-tld.h.top_of_page"></a>tld.h</span></h2>
+<p>tld.h — TLD-related functions</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libidn-tld.h.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-strerror" title="tld_strerror ()">tld_strerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-get-z" title="tld_get_z ()">tld_get_z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="returnvalue">Tld_table</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-get-table" title="tld_get_table ()">tld_get_table</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="returnvalue">Tld_table</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-default-table" title="tld_default_table ()">tld_default_table</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libidn-tld.h.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-tld.h.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libidn-idna.h.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libidn-tld.h.html#Tld-table-element" title="struct Tld_table_element">Tld_table_element</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table">Tld_table</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc">Tld_rc</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libidn-tld.h.description"></a><h2>Description</h2>
+<p>TLD-related functions.</p>
+</div>
+<div class="refsect1">
+<a name="libidn-tld.h.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="tld-strerror"></a><h3>tld_strerror ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+tld_strerror (<em class="parameter"><code><a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> rc</code></em>);</pre>
+<p>Convert a return code integer to a text string.  This string can be
+used to output a diagnostic message to the user.</p>
+<p>TLD_SUCCESS: Successful operation.  This value is guaranteed to
+  always be zero, the remaining ones are only guaranteed to hold
+  non-zero values, for logical comparison purposes.
+TLD_INVALID: Invalid character found.
+TLD_NODATA: No input data was provided.
+TLD_MALLOC_ERROR: Error during memory allocation.
+TLD_ICONV_ERROR: Character encoding conversion error.
+TLD_NO_TLD: No top-level domain found in domain string.</p>
+<div class="refsect3">
+<a name="tld-strerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>rc</p></td>
+<td class="parameter_description"><p>tld return code</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-strerror.returns"></a><h4>Returns</h4>
+<p> Returns a pointer to a statically allocated string
+containing a description of the error with the return code <em class="parameter"><code>rc</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-get-4"></a><h3>tld_get_4 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_get_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+           <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+           <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
+<p>Isolate the top-level domain of <em class="parameter"><code>in</code></em>
+ and return it as an ASCII
+string in <em class="parameter"><code>out</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-get-4.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Array of unicode code points to process. Does not need to be
+zero terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inlen</p></td>
+<td class="parameter_description"><p>Number of unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>Zero terminated ascii result string pointer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-get-4.returns"></a><h4>Returns</h4>
+<p> Return <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-get-4z"></a><h3>tld_get_4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_get_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+            <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
+<p>Isolate the top-level domain of <em class="parameter"><code>in</code></em>
+ and return it as an ASCII
+string in <em class="parameter"><code>out</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-get-4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero terminated array of unicode code points to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>Zero terminated ascii result string pointer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-get-4z.returns"></a><h4>Returns</h4>
+<p> Return <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-get-z"></a><h3>tld_get_z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_get_z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+           <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
+<p>Isolate the top-level domain of <em class="parameter"><code>in</code></em>
+ and return it as an ASCII
+string in <em class="parameter"><code>out</code></em>
+.  The input string <em class="parameter"><code>in</code></em>
+ may be UTF-8, ISO-8859-1 or
+any ASCII compatible character encoding.</p>
+<div class="refsect3">
+<a name="tld-get-z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero terminated character array to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>Zero terminated ascii result string pointer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-get-z.returns"></a><h4>Returns</h4>
+<p> Return <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-get-table"></a><h3>tld_get_table ()</h3>
+<pre class="programlisting">const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="returnvalue">Tld_table</span></a> *
+tld_get_table (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+               <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **tables</code></em>);</pre>
+<p>Get the TLD table for a named TLD by searching through the given
+TLD table array.</p>
+<div class="refsect3">
+<a name="tld-get-table.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>tld</p></td>
+<td class="parameter_description"><p>TLD name (e.g. "com") as zero terminated ASCII byte string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tables</p></td>
+<td class="parameter_description"><p>Zero terminated array of <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> info-structures for
+TLDs.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-get-table.returns"></a><h4>Returns</h4>
+<p> Return structure corresponding to TLD <em class="parameter"><code>tld</code></em>
+by going
+thru <em class="parameter"><code>tables</code></em>
+, or return <code class="literal">NULL</code> if no such structure is found.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-default-table"></a><h3>tld_default_table ()</h3>
+<pre class="programlisting">const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="returnvalue">Tld_table</span></a> *
+tld_default_table (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+                   <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
+<p>Get the TLD table for a named TLD, using the internal defaults,
+possibly overridden by the (optional) supplied tables.</p>
+<div class="refsect3">
+<a name="tld-default-table.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>tld</p></td>
+<td class="parameter_description"><p>TLD name (e.g. "com") as zero terminated ASCII byte string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>overrides</p></td>
+<td class="parameter_description"><p>Additional zero terminated array of <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a>
+info-structures for TLDs, or <code class="literal">NULL</code> to only use library default
+tables.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-default-table.returns"></a><h4>Returns</h4>
+<p> Return structure corresponding to TLD <em class="parameter"><code>tld_str</code></em>
+, first
+looking through <em class="parameter"><code>overrides</code></em>
+then thru built-in list, or <code class="literal">NULL</code> if
+no such structure found.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-4t"></a><h3>tld_check_4t ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_4t (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+              <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+              <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+              <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
+<p>Test each of the code points in <em class="parameter"><code>in</code></em>
+ for whether or not
+they are allowed by the data structure in <em class="parameter"><code>tld</code></em>
+, return
+the position of the first character for which this is not
+the case in <em class="parameter"><code>errpos</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-check-4t.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Array of unicode code points to process. Does not need to be
+zero terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inlen</p></td>
+<td class="parameter_description"><p>Number of unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tld</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
+which the input should be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-4t.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+points are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-4tz"></a><h3>tld_check_4tz ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_4tz (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+               <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+               <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
+<p>Test each of the code points in <em class="parameter"><code>in</code></em>
+ for whether or not
+they are allowed by the data structure in <em class="parameter"><code>tld</code></em>
+, return
+the position of the first character for which this is not
+the case in <em class="parameter"><code>errpos</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-check-4tz.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero terminated array of unicode code points to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tld</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
+which the input should be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-4tz.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+points are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-4"></a><h3>tld_check_4 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+             <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+             <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+             <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
+<p>Test each of the code points in <em class="parameter"><code>in</code></em>
+ for whether or not they are
+allowed by the information in <em class="parameter"><code>overrides</code></em>
+ or by the built-in TLD
+restriction data. When data for the same TLD is available both
+internally and in <em class="parameter"><code>overrides</code></em>
+, the information in <em class="parameter"><code>overrides</code></em>
+ takes
+precedence. If several entries for a specific TLD are found, the
+first one is used.  If <em class="parameter"><code>overrides</code></em>
+ is <code class="literal">NULL</code>, only the built-in
+information is used.  The position of the first offending character
+is returned in <em class="parameter"><code>errpos</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-check-4.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Array of unicode code points to process. Does not need to be
+zero terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inlen</p></td>
+<td class="parameter_description"><p>Number of unicode code points.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>overrides</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+structures that complement and supersede the built-in information.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-4.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+points are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-4z"></a><h3>tld_check_4z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+              <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+              <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
+<p>Test each of the code points in <em class="parameter"><code>in</code></em>
+ for whether or not they are
+allowed by the information in <em class="parameter"><code>overrides</code></em>
+ or by the built-in TLD
+restriction data. When data for the same TLD is available both
+internally and in <em class="parameter"><code>overrides</code></em>
+, the information in <em class="parameter"><code>overrides</code></em>
+ takes
+precedence. If several entries for a specific TLD are found, the
+first one is used.  If <em class="parameter"><code>overrides</code></em>
+ is <code class="literal">NULL</code>, only the built-in
+information is used.  The position of the first offending character
+is returned in <em class="parameter"><code>errpos</code></em>
+.</p>
+<div class="refsect3">
+<a name="tld-check-4z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero-terminated array of unicode code points to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>overrides</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+structures that complement and supersede the built-in information.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-4z.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+points are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-8z"></a><h3>tld_check_8z ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_8z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+              <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+              <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
+<p>Test each of the characters in <em class="parameter"><code>in</code></em>
+ for whether or not they are
+allowed by the information in <em class="parameter"><code>overrides</code></em>
+ or by the built-in TLD
+restriction data. When data for the same TLD is available both
+internally and in <em class="parameter"><code>overrides</code></em>
+, the information in <em class="parameter"><code>overrides</code></em>
+ takes
+precedence. If several entries for a specific TLD are found, the
+first one is used.  If <em class="parameter"><code>overrides</code></em>
+ is <code class="literal">NULL</code>, only the built-in
+information is used.  The position of the first offending character
+is returned in <em class="parameter"><code>errpos</code></em>
+.  Note that the error position refers to the
+decoded character offset rather than the byte position in the
+string.</p>
+<div class="refsect3">
+<a name="tld-check-8z.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero-terminated UTF8 string to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>overrides</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+structures that complement and supersede the built-in information.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-8z.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
+characters are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="tld-check-lz"></a><h3>tld_check_lz ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+tld_check_lz (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+              <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+              <em class="parameter"><code>const <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
+<p>Test each of the characters in <em class="parameter"><code>in</code></em>
+ for whether or not they are
+allowed by the information in <em class="parameter"><code>overrides</code></em>
+ or by the built-in TLD
+restriction data. When data for the same TLD is available both
+internally and in <em class="parameter"><code>overrides</code></em>
+, the information in <em class="parameter"><code>overrides</code></em>
+ takes
+precedence. If several entries for a specific TLD are found, the
+first one is used.  If <em class="parameter"><code>overrides</code></em>
+ is <code class="literal">NULL</code>, only the built-in
+information is used.  The position of the first offending character
+is returned in <em class="parameter"><code>errpos</code></em>
+.  Note that the error position refers to the
+decoded character offset rather than the byte position in the
+string.</p>
+<div class="refsect3">
+<a name="tld-check-lz.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>Zero-terminated string in the current locales encoding to process.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errpos</p></td>
+<td class="parameter_description"><p>Position of offending character is returned here.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>overrides</p></td>
+<td class="parameter_description"><p>A <a class="link" href="libidn-tld.h.html#Tld-table" title="struct Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+structures that complement and supersede the built-in information.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="tld-check-lz.returns"></a><h4>Returns</h4>
+<p> Returns the <a class="link" href="libidn-tld.h.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.h.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
+characters are valid or when <em class="parameter"><code>tld</code></em>
+is null, <a class="link" href="libidn-tld.h.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
+character is not allowed, or additional error codes on general
+failure conditions.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libidn-tld.h.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
+<pre class="programlisting">#define             IDNAPI</pre>
+<p>Symbol holding shared library API visibility decorator.</p>
+<p>This is used internally by the library header file and should never
+be used or modified by the application.</p>
+<p>https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Tld-table-element"></a><h3>struct Tld_table_element</h3>
+<pre class="programlisting">struct Tld_table_element {
+    uint32_t start;
+    uint32_t end;
+};
+</pre>
+<p>Interval of valid code points in the TLD.</p>
+<div class="refsect3">
+<a name="Tld-table-element.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="Tld-table-element.start"></a>start</code></em>;</p></td>
+<td class="struct_member_description"><p>Start of range.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="Tld-table-element.end"></a>end</code></em>;</p></td>
+<td class="struct_member_description"><p>End of range, end == start if single.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Tld-table"></a><h3>struct Tld_table</h3>
+<pre class="programlisting">struct Tld_table {
+    const char *name;
+    const char *version;
+    size_t nvalid;
+    const Tld_table_element *valid;
+};
+</pre>
+<p>List valid code points in a TLD.</p>
+<div class="refsect3">
+<a name="Tld-table.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p>const <span class="type">char</span> *<em class="structfield"><code><a name="Tld-table.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TLD name, e.g., "no".</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>const <span class="type">char</span> *<em class="structfield"><code><a name="Tld-table.version"></a>version</code></em>;</p></td>
+<td class="struct_member_description"><p>Version string from TLD file.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">size_t</span> <em class="structfield"><code><a name="Tld-table.nvalid"></a>nvalid</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of entries in data.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>const <a class="link" href="libidn-tld.h.html#Tld-table-element" title="struct Tld_table_element"><span class="type">Tld_table_element</span></a> *<em class="structfield"><code><a name="Tld-table.valid"></a>valid</code></em>;</p></td>
+<td class="struct_member_description"><p>Sorted array (of size <em class="parameter"><code>nvalid</code></em>
+) of valid code points.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Tld-rc"></a><h3>enum Tld_rc</h3>
+<p>Enumerated return codes of the TLD checking functions.
+The value 0 is guaranteed to always correspond to success.</p>
+<div class="refsect3">
+<a name="Tld-rc.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-SUCCESS:CAPS"></a>TLD_SUCCESS</p></td>
+<td class="enum_member_description">
+<p>Successful operation.  This value is guaranteed to
+always be zero, the remaining ones are only guaranteed to hold
+non-zero values, for logical comparison purposes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-INVALID:CAPS"></a>TLD_INVALID</p></td>
+<td class="enum_member_description">
+<p>Invalid character found.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-NODATA:CAPS"></a>TLD_NODATA</p></td>
+<td class="enum_member_description">
+<p>No input data was provided.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-MALLOC-ERROR:CAPS"></a>TLD_MALLOC_ERROR</p></td>
+<td class="enum_member_description">
+<p>Error during memory allocation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-ICONV-ERROR:CAPS"></a>TLD_ICONV_ERROR</p></td>
+<td class="enum_member_description">
+<p>Character encoding conversion error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-NO-TLD:CAPS"></a>TLD_NO_TLD</p></td>
+<td class="enum_member_description">
+<p>No top-level domain found in domain string.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="TLD-NOTLD:CAPS"></a>TLD_NOTLD</p></td>
+<td class="enum_member_description">
+<p>Same as <em class="parameter"><code>TLD_NO_TLD</code></em>
+, for compatibility
+with typo in earlier versions.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/reference/html/libidn-tld.html b/doc/reference/html/libidn-tld.html
deleted file mode 100644 (file)
index ceb40b0..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>tld</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-pr29.html" title="pr29">
-<link rel="next" href="libidn-idn-free.html" title="idn-free">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="libidn-pr29.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-idn-free.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#libidn-tld.synopsis" class="shortcut">Top</a>
-                   | 
-                  <a href="#libidn-tld.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry">
-<a name="libidn-tld"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libidn-tld.top_of_page"></a>tld</span></h2>
-<p>tld</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="libidn-tld.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define             <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
-enum                <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a>;
-typedef             <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a>;
-typedef             <a class="link" href="libidn-tld.html#Tld-table-element" title="Tld_table_element">Tld_table_element</a>;
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a>                         (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a>                        (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a>                       (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a>                        (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a>                        (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a>                        (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
-const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> *   <a class="link" href="libidn-tld.html#tld-default-table" title="tld_default_table ()">tld_default_table</a>                   (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a>                           (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a>                          (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);
-const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> *   <a class="link" href="libidn-tld.html#tld-get-table" title="tld_get_table ()">tld_get_table</a>                       (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **tables</code></em>);
-<span class="returnvalue">int</span>                 <a class="link" href="libidn-tld.html#tld-get-z" title="tld_get_z ()">tld_get_z</a>                           (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);
-const <span class="returnvalue">char</span> *        <a class="link" href="libidn-tld.html#tld-strerror" title="tld_strerror ()">tld_strerror</a>                        (<em class="parameter"><code><a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> rc</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="libidn-tld.description"></a><h2>Description</h2>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="libidn-tld.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
-<pre class="programlisting">#define             IDNAPI</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Tld-rc"></a><h3>enum Tld_rc</h3>
-<pre class="programlisting">typedef enum {
-    TLD_SUCCESS = 0,
-    TLD_INVALID = 1,           /* Invalid character found. */
-    TLD_NODATA = 2,            /* Char, domain or inlen = 0. */
-    TLD_MALLOC_ERROR = 3,
-    TLD_ICONV_ERROR = 4,
-    TLD_NO_TLD = 5,
-    /* Workaround typo in earlier versions. */
-    TLD_NOTLD = TLD_NO_TLD
-} Tld_rc;
-</pre>
-<p>
-Enumerated return codes of the TLD checking functions.
-The value 0 is guaranteed to always correspond to success.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><a name="TLD-SUCCESS:CAPS"></a><span class="term"><code class="literal">TLD_SUCCESS</code></span></p></td>
-<td>Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-INVALID:CAPS"></a><span class="term"><code class="literal">TLD_INVALID</code></span></p></td>
-<td>Invalid character found.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-NODATA:CAPS"></a><span class="term"><code class="literal">TLD_NODATA</code></span></p></td>
-<td>No input data was provided.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">TLD_MALLOC_ERROR</code></span></p></td>
-<td>Error during memory allocation.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-ICONV-ERROR:CAPS"></a><span class="term"><code class="literal">TLD_ICONV_ERROR</code></span></p></td>
-<td>Error during iconv string conversion.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-NO-TLD:CAPS"></a><span class="term"><code class="literal">TLD_NO_TLD</code></span></p></td>
-<td>No top-level domain found in domain string.
-</td>
-</tr>
-<tr>
-<td><p><a name="TLD-NOTLD:CAPS"></a><span class="term"><code class="literal">TLD_NOTLD</code></span></p></td>
-<td>Same as <em class="parameter"><code>TLD_NO_TLD</code></em>, for compatibility
-  with typo in earlier versions.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Tld-table"></a><h3>Tld_table</h3>
-<pre class="programlisting">  typedef struct Tld_table Tld_table;
-</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Tld-table-element"></a><h3>Tld_table_element</h3>
-<pre class="programlisting">  typedef struct Tld_table_element Tld_table_element;
-</pre>
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-4"></a><h3>tld_check_4 ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_4                         (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
-<p>
-Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not they are
-allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Array of unicode code points to process. Does not need to be
-zero terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td>Number of unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
-structures that complement and supersede the built-in information.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
-points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-4t"></a><h3>tld_check_4t ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_4t                        (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
-<p>
-Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not
-they are allowed by the data structure in <em class="parameter"><code>tld</code></em>, return
-the position of the first character for which this is not
-the case in <em class="parameter"><code>errpos</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Array of unicode code points to process. Does not need to be
-zero terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td>Number of unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
-which the input should be tested.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
-points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-4tz"></a><h3>tld_check_4tz ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_4tz                       (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
-<p>
-Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not
-they are allowed by the data structure in <em class="parameter"><code>tld</code></em>, return
-the position of the first character for which this is not
-the case in <em class="parameter"><code>errpos</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero terminated array of unicode code points to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
-which the input should be tested.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
-points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-4z"></a><h3>tld_check_4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_4z                        (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
-<p>
-Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not they are
-allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero-terminated array of unicode code points to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
-structures that complement and supersede the built-in information.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
-points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-8z"></a><h3>tld_check_8z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_8z                        (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
-<p>
-Test each of the characters in <em class="parameter"><code>in</code></em> for whether or not they are
-allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero-terminated UTF8 string to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
-structures that complement and supersede the built-in information.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
-characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-check-lz"></a><h3>tld_check_lz ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_check_lz                        (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
-<p>
-Test each of the characters in <em class="parameter"><code>in</code></em> for whether or not they are
-allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
-information is used.  The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero-terminated string in the current locales encoding to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td>Position of offending character is returned here.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
-structures that complement and supersede the built-in information.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
-characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
-character is not allowed, or additional error codes on general
-failure conditions.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-default-table"></a><h3>tld_default_table ()</h3>
-<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> *   tld_default_table                   (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
-<p>
-Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td>TLD name (e.g. "com") as zero terminated ASCII byte string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td>Additional zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a>
-info-structures for TLDs, or <code class="literal">NULL</code> to only use library deault
-tables.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return structure corresponding to TLD <em class="parameter"><code>tld_str</code></em>, first
-looking through <em class="parameter"><code>overrides</code></em> then thru built-in list, or <code class="literal">NULL</code> if
-no such structure found.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-get-4"></a><h3>tld_get_4 ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_get_4                           (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
-<p>
-Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
-string in <em class="parameter"><code>out</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Array of unicode code points to process. Does not need to be
-zero terminated.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td>Number of unicode code points.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>Zero terminated ascii result string pointer.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
-<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-get-4z"></a><h3>tld_get_4z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_get_4z                          (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
-<p>
-Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
-string in <em class="parameter"><code>out</code></em>.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero terminated array of unicode code points to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>Zero terminated ascii result string pointer.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
-<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-get-table"></a><h3>tld_get_table ()</h3>
-<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> *   tld_get_table                       (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
-                                                         <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **tables</code></em>);</pre>
-<p>
-Get the TLD table for a named TLD by searching through the given
-TLD table array.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td>TLD name (e.g. "com") as zero terminated ASCII byte string.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>tables</code></em> :</span></p></td>
-<td>Zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> info-structures for
-TLDs.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return structure corresponding to TLD <em class="parameter"><code>tld</code></em> by going
-thru <em class="parameter"><code>tables</code></em>, or return <code class="literal">NULL</code> if no such structure is found.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-get-z"></a><h3>tld_get_z ()</h3>
-<pre class="programlisting"><span class="returnvalue">int</span>                 tld_get_z                           (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
-                                                         <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
-<p>
-Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
-string in <em class="parameter"><code>out</code></em>.  The input string <em class="parameter"><code>in</code></em> may be UTF-8, ISO-8859-1 or
-any ASCII compatible character encoding.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td>Zero terminated character array to process.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td>Zero terminated ascii result string pointer.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
-<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="tld-strerror"></a><h3>tld_strerror ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *        tld_strerror                        (<em class="parameter"><code><a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> rc</code></em>);</pre>
-<p>
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-</p>
-<p>
-TLD_SUCCESS: Successful operation.  This value is guaranteed to
-  always be zero, the remaining ones are only guaranteed to hold
-  non-zero values, for logical comparison purposes.
-TLD_INVALID: Invalid character found.
-TLD_NODATA: No input data was provided.
-TLD_MALLOC_ERROR: Error during memory allocation.
-TLD_ICONV_ERROR: Error during iconv string conversion.
-TLD_NO_TLD: No top-level domain found in domain string.
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td>tld return code</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Returns a pointer to a statically allocated string
-containing a description of the error with the return code <em class="parameter"><code>rc</code></em>.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
-          Generated by GTK-Doc V1.18</div>
-</body>
-</html>
\ No newline at end of file
index b5002a1..4e894b8 100644 (file)
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GNU Libidn API Reference Manual" link="index.html" author="" name="libidn" version="2" language="c">
+<book xmlns="http://www.devhelp.net/book" title="GNU Libidn API Reference Manual" link="index.html" author="" name="libidn" version="2" language="c" online="https://www.gnu.org/software/libidn/reference/">
   <chapters>
     <sub name="GNU Libidn API Reference Manual" link="intro.html">
-      <sub name="idna" link="libidn-idna.html"/>
-      <sub name="stringprep" link="libidn-stringprep.html"/>
-      <sub name="punycode" link="libidn-punycode.html"/>
-      <sub name="pr29" link="libidn-pr29.html"/>
-      <sub name="tld" link="libidn-tld.html"/>
-      <sub name="idn-free" link="libidn-idn-free.html"/>
+      <sub name="idna.h" link="libidn-idna.h.html"/>
+      <sub name="stringprep.h" link="libidn-stringprep.h.html"/>
+      <sub name="punycode.h" link="libidn-punycode.h.html"/>
+      <sub name="pr29.h" link="libidn-pr29.h.html"/>
+      <sub name="tld.h" link="libidn-tld.h.html"/>
+      <sub name="idn-free.h" link="libidn-idn-free.h.html"/>
     </sub>
     <sub name="API Index" link="api-index-full.html"/>
+    <sub name="Index of deprecated API" link="api-index-deprecated.html"/>
   </chapters>
   <functions>
-    <keyword type="macro" name="IDNAPI" link="libidn-idna.html#IDNAPI:CAPS"/>
-    <keyword type="macro" name="IDNA_ACE_PREFIX" link="libidn-idna.html#IDNA-ACE-PREFIX:CAPS"/>
-    <keyword type="enum" name="enum Idna_flags" link="libidn-idna.html#Idna-flags"/>
-    <keyword type="enum" name="enum Idna_rc" link="libidn-idna.html#Idna-rc"/>
-    <keyword type="function" name="idna_strerror ()" link="libidn-idna.html#idna-strerror"/>
-    <keyword type="function" name="idna_to_ascii_4i ()" link="libidn-idna.html#idna-to-ascii-4i"/>
-    <keyword type="function" name="idna_to_ascii_4z ()" link="libidn-idna.html#idna-to-ascii-4z"/>
-    <keyword type="function" name="idna_to_ascii_8z ()" link="libidn-idna.html#idna-to-ascii-8z"/>
-    <keyword type="function" name="idna_to_ascii_lz ()" link="libidn-idna.html#idna-to-ascii-lz"/>
-    <keyword type="function" name="idna_to_unicode_44i ()" link="libidn-idna.html#idna-to-unicode-44i"/>
-    <keyword type="function" name="idna_to_unicode_4z4z ()" link="libidn-idna.html#idna-to-unicode-4z4z"/>
-    <keyword type="function" name="idna_to_unicode_8z4z ()" link="libidn-idna.html#idna-to-unicode-8z4z"/>
-    <keyword type="function" name="idna_to_unicode_8z8z ()" link="libidn-idna.html#idna-to-unicode-8z8z"/>
-    <keyword type="function" name="idna_to_unicode_8zlz ()" link="libidn-idna.html#idna-to-unicode-8zlz"/>
-    <keyword type="function" name="idna_to_unicode_lzlz ()" link="libidn-idna.html#idna-to-unicode-lzlz"/>
-    <keyword type="macro" name="IDNAPI" link="libidn-stringprep.html#IDNAPI:CAPS"/>
-    <keyword type="macro" name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS"/>
-    <keyword type="macro" name="STRINGPREP_VERSION" link="libidn-stringprep.html#STRINGPREP-VERSION:CAPS"/>
-    <keyword type="typedef" name="Stringprep_profile" link="libidn-stringprep.html#Stringprep-profile"/>
-    <keyword type="enum" name="enum Stringprep_profile_flags" link="libidn-stringprep.html#Stringprep-profile-flags"/>
-    <keyword type="enum" name="enum Stringprep_profile_steps" link="libidn-stringprep.html#Stringprep-profile-steps"/>
-    <keyword type="typedef" name="Stringprep_profiles" link="libidn-stringprep.html#Stringprep-profiles"/>
-    <keyword type="enum" name="enum Stringprep_rc" link="libidn-stringprep.html#Stringprep-rc"/>
-    <keyword type="typedef" name="Stringprep_table_element" link="libidn-stringprep.html#Stringprep-table-element"/>
-    <keyword type="function" name="stringprep ()" link="libidn-stringprep.html#stringprep"/>
-    <keyword type="function" name="stringprep_4i ()" link="libidn-stringprep.html#stringprep-4i"/>
-    <keyword type="function" name="stringprep_4zi ()" link="libidn-stringprep.html#stringprep-4zi"/>
-    <keyword type="function" name="stringprep_check_version ()" link="libidn-stringprep.html#stringprep-check-version"/>
-    <keyword type="function" name="stringprep_convert ()" link="libidn-stringprep.html#stringprep-convert"/>
-    <keyword type="macro" name="stringprep_iscsi()" link="libidn-stringprep.html#stringprep-iscsi"/>
-    <keyword type="macro" name="stringprep_kerberos5()" link="libidn-stringprep.html#stringprep-kerberos5"/>
-    <keyword type="function" name="stringprep_locale_charset ()" link="libidn-stringprep.html#stringprep-locale-charset"/>
-    <keyword type="function" name="stringprep_locale_to_utf8 ()" link="libidn-stringprep.html#stringprep-locale-to-utf8"/>
-    <keyword type="macro" name="stringprep_nameprep()" link="libidn-stringprep.html#stringprep-nameprep"/>
-    <keyword type="macro" name="stringprep_nameprep_no_unassigned()" link="libidn-stringprep.html#stringprep-nameprep-no-unassigned"/>
-    <keyword type="macro" name="stringprep_plain()" link="libidn-stringprep.html#stringprep-plain"/>
-    <keyword type="function" name="stringprep_profile ()" link="libidn-stringprep.html#stringprep-profile"/>
-    <keyword type="function" name="stringprep_strerror ()" link="libidn-stringprep.html#stringprep-strerror"/>
-    <keyword type="function" name="stringprep_ucs4_nfkc_normalize ()" link="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize"/>
-    <keyword type="function" name="stringprep_ucs4_to_utf8 ()" link="libidn-stringprep.html#stringprep-ucs4-to-utf8"/>
-    <keyword type="function" name="stringprep_unichar_to_utf8 ()" link="libidn-stringprep.html#stringprep-unichar-to-utf8"/>
-    <keyword type="function" name="stringprep_utf8_nfkc_normalize ()" link="libidn-stringprep.html#stringprep-utf8-nfkc-normalize"/>
-    <keyword type="function" name="stringprep_utf8_to_locale ()" link="libidn-stringprep.html#stringprep-utf8-to-locale"/>
-    <keyword type="function" name="stringprep_utf8_to_ucs4 ()" link="libidn-stringprep.html#stringprep-utf8-to-ucs4"/>
-    <keyword type="function" name="stringprep_utf8_to_unichar ()" link="libidn-stringprep.html#stringprep-utf8-to-unichar"/>
-    <keyword type="macro" name="stringprep_xmpp_nodeprep()" link="libidn-stringprep.html#stringprep-xmpp-nodeprep"/>
-    <keyword type="macro" name="stringprep_xmpp_resourceprep()" link="libidn-stringprep.html#stringprep-xmpp-resourceprep"/>
-    <keyword type="macro" name="IDNAPI" link="libidn-punycode.html#IDNAPI:CAPS"/>
-    <keyword type="enum" name="enum Punycode_status" link="libidn-punycode.html#Punycode-status"/>
-    <keyword type="function" name="punycode_decode ()" link="libidn-punycode.html#punycode-decode"/>
-    <keyword type="function" name="punycode_encode ()" link="libidn-punycode.html#punycode-encode"/>
-    <keyword type="function" name="punycode_strerror ()" link="libidn-punycode.html#punycode-strerror"/>
-    <keyword type="typedef" name="punycode_uint" link="libidn-punycode.html#punycode-uint"/>
-    <keyword type="macro" name="IDNAPI" link="libidn-pr29.html#IDNAPI:CAPS"/>
-    <keyword type="enum" name="enum Pr29_rc" link="libidn-pr29.html#Pr29-rc"/>
-    <keyword type="function" name="pr29_4 ()" link="libidn-pr29.html#pr29-4"/>
-    <keyword type="function" name="pr29_4z ()" link="libidn-pr29.html#pr29-4z"/>
-    <keyword type="function" name="pr29_8z ()" link="libidn-pr29.html#pr29-8z"/>
-    <keyword type="function" name="pr29_strerror ()" link="libidn-pr29.html#pr29-strerror"/>
-    <keyword type="macro" name="IDNAPI" link="libidn-tld.html#IDNAPI:CAPS"/>
-    <keyword type="enum" name="enum Tld_rc" link="libidn-tld.html#Tld-rc"/>
-    <keyword type="typedef" name="Tld_table" link="libidn-tld.html#Tld-table"/>
-    <keyword type="typedef" name="Tld_table_element" link="libidn-tld.html#Tld-table-element"/>
-    <keyword type="function" name="tld_check_4 ()" link="libidn-tld.html#tld-check-4"/>
-    <keyword type="function" name="tld_check_4t ()" link="libidn-tld.html#tld-check-4t"/>
-    <keyword type="function" name="tld_check_4tz ()" link="libidn-tld.html#tld-check-4tz"/>
-    <keyword type="function" name="tld_check_4z ()" link="libidn-tld.html#tld-check-4z"/>
-    <keyword type="function" name="tld_check_8z ()" link="libidn-tld.html#tld-check-8z"/>
-    <keyword type="function" name="tld_check_lz ()" link="libidn-tld.html#tld-check-lz"/>
-    <keyword type="function" name="tld_default_table ()" link="libidn-tld.html#tld-default-table"/>
-    <keyword type="function" name="tld_get_4 ()" link="libidn-tld.html#tld-get-4"/>
-    <keyword type="function" name="tld_get_4z ()" link="libidn-tld.html#tld-get-4z"/>
-    <keyword type="function" name="tld_get_table ()" link="libidn-tld.html#tld-get-table"/>
-    <keyword type="function" name="tld_get_z ()" link="libidn-tld.html#tld-get-z"/>
-    <keyword type="function" name="tld_strerror ()" link="libidn-tld.html#tld-strerror"/>
-    <keyword type="macro" name="IDNAPI" link="libidn-idn-free.html#IDNAPI:CAPS"/>
-    <keyword type="constant" name="IDNA_ALLOW_UNASSIGNED" link="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"/>
-    <keyword type="constant" name="IDNA_USE_STD3_ASCII_RULES" link="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"/>
-    <keyword type="constant" name="IDNA_SUCCESS" link="libidn-idna.html#IDNA-SUCCESS:CAPS"/>
-    <keyword type="constant" name="IDNA_STRINGPREP_ERROR" link="libidn-idna.html#IDNA-STRINGPREP-ERROR:CAPS"/>
-    <keyword type="constant" name="IDNA_PUNYCODE_ERROR" link="libidn-idna.html#IDNA-PUNYCODE-ERROR:CAPS"/>
-    <keyword type="constant" name="IDNA_CONTAINS_NON_LDH" link="libidn-idna.html#IDNA-CONTAINS-NON-LDH:CAPS"/>
-    <keyword type="constant" name="IDNA_CONTAINS_LDH" link="libidn-idna.html#IDNA-CONTAINS-LDH:CAPS"/>
-    <keyword type="constant" name="IDNA_CONTAINS_MINUS" link="libidn-idna.html#IDNA-CONTAINS-MINUS:CAPS"/>
-    <keyword type="constant" name="IDNA_INVALID_LENGTH" link="libidn-idna.html#IDNA-INVALID-LENGTH:CAPS"/>
-    <keyword type="constant" name="IDNA_NO_ACE_PREFIX" link="libidn-idna.html#IDNA-NO-ACE-PREFIX:CAPS"/>
-    <keyword type="constant" name="IDNA_ROUNDTRIP_VERIFY_ERROR" link="libidn-idna.html#IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"/>
-    <keyword type="constant" name="IDNA_CONTAINS_ACE_PREFIX" link="libidn-idna.html#IDNA-CONTAINS-ACE-PREFIX:CAPS"/>
-    <keyword type="constant" name="IDNA_ICONV_ERROR" link="libidn-idna.html#IDNA-ICONV-ERROR:CAPS"/>
-    <keyword type="constant" name="IDNA_MALLOC_ERROR" link="libidn-idna.html#IDNA-MALLOC-ERROR:CAPS"/>
-    <keyword type="constant" name="IDNA_DLOPEN_ERROR" link="libidn-idna.html#IDNA-DLOPEN-ERROR:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_NO_NFKC" link="libidn-stringprep.html#STRINGPREP-NO-NFKC:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_NO_BIDI" link="libidn-stringprep.html#STRINGPREP-NO-BIDI:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_NO_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-NO-UNASSIGNED:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_NFKC" link="libidn-stringprep.html#STRINGPREP-NFKC:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI" link="libidn-stringprep.html#STRINGPREP-BIDI:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_MAP_TABLE" link="libidn-stringprep.html#STRINGPREP-MAP-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_UNASSIGNED_TABLE" link="libidn-stringprep.html#STRINGPREP-UNASSIGNED-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_PROHIBIT_TABLE" link="libidn-stringprep.html#STRINGPREP-PROHIBIT-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_PROHIBIT_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_RAL_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-RAL-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_L_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-L-TABLE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_OK" link="libidn-stringprep.html#STRINGPREP-OK:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_CONTAINS_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-UNASSIGNED:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-PROHIBITED:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_BOTH_L_AND_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_LEADTRAIL_NOT_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_BIDI_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_TOO_SMALL_BUFFER" link="libidn-stringprep.html#STRINGPREP-TOO-SMALL-BUFFER:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_PROFILE_ERROR" link="libidn-stringprep.html#STRINGPREP-PROFILE-ERROR:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_FLAG_ERROR" link="libidn-stringprep.html#STRINGPREP-FLAG-ERROR:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_UNKNOWN_PROFILE" link="libidn-stringprep.html#STRINGPREP-UNKNOWN-PROFILE:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_NFKC_FAILED" link="libidn-stringprep.html#STRINGPREP-NFKC-FAILED:CAPS"/>
-    <keyword type="constant" name="STRINGPREP_MALLOC_ERROR" link="libidn-stringprep.html#STRINGPREP-MALLOC-ERROR:CAPS"/>
-    <keyword type="constant" name="PUNYCODE_SUCCESS" link="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"/>
-    <keyword type="constant" name="PUNYCODE_BAD_INPUT" link="libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS"/>
-    <keyword type="constant" name="PUNYCODE_BIG_OUTPUT" link="libidn-punycode.html#PUNYCODE-BIG-OUTPUT:CAPS"/>
-    <keyword type="constant" name="PUNYCODE_OVERFLOW" link="libidn-punycode.html#PUNYCODE-OVERFLOW:CAPS"/>
-    <keyword type="constant" name="PR29_SUCCESS" link="libidn-pr29.html#PR29-SUCCESS:CAPS"/>
-    <keyword type="constant" name="PR29_PROBLEM" link="libidn-pr29.html#PR29-PROBLEM:CAPS"/>
-    <keyword type="constant" name="PR29_STRINGPREP_ERROR" link="libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS"/>
-    <keyword type="constant" name="TLD_SUCCESS" link="libidn-tld.html#TLD-SUCCESS:CAPS"/>
-    <keyword type="constant" name="TLD_INVALID" link="libidn-tld.html#TLD-INVALID:CAPS"/>
-    <keyword type="constant" name="TLD_NODATA" link="libidn-tld.html#TLD-NODATA:CAPS"/>
-    <keyword type="constant" name="TLD_MALLOC_ERROR" link="libidn-tld.html#TLD-MALLOC-ERROR:CAPS"/>
-    <keyword type="constant" name="TLD_ICONV_ERROR" link="libidn-tld.html#TLD-ICONV-ERROR:CAPS"/>
-    <keyword type="constant" name="TLD_NO_TLD" link="libidn-tld.html#TLD-NO-TLD:CAPS"/>
-    <keyword type="constant" name="TLD_NOTLD" link="libidn-tld.html#TLD-NOTLD:CAPS"/>
+    <keyword type="function" name="idna_strerror ()" link="libidn-idna.h.html#idna-strerror"/>
+    <keyword type="function" name="idna_to_ascii_4i ()" link="libidn-idna.h.html#idna-to-ascii-4i"/>
+    <keyword type="function" name="idna_to_unicode_44i ()" link="libidn-idna.h.html#idna-to-unicode-44i"/>
+    <keyword type="function" name="idna_to_ascii_4z ()" link="libidn-idna.h.html#idna-to-ascii-4z"/>
+    <keyword type="function" name="idna_to_ascii_8z ()" link="libidn-idna.h.html#idna-to-ascii-8z"/>
+    <keyword type="function" name="idna_to_ascii_lz ()" link="libidn-idna.h.html#idna-to-ascii-lz"/>
+    <keyword type="function" name="idna_to_unicode_4z4z ()" link="libidn-idna.h.html#idna-to-unicode-4z4z"/>
+    <keyword type="function" name="idna_to_unicode_8z4z ()" link="libidn-idna.h.html#idna-to-unicode-8z4z"/>
+    <keyword type="function" name="idna_to_unicode_8z8z ()" link="libidn-idna.h.html#idna-to-unicode-8z8z"/>
+    <keyword type="function" name="idna_to_unicode_8zlz ()" link="libidn-idna.h.html#idna-to-unicode-8zlz"/>
+    <keyword type="function" name="idna_to_unicode_lzlz ()" link="libidn-idna.h.html#idna-to-unicode-lzlz"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-idna.h.html#IDNAPI:CAPS"/>
+    <keyword type="enum" name="enum Idna_rc" link="libidn-idna.h.html#Idna-rc"/>
+    <keyword type="enum" name="enum Idna_flags" link="libidn-idna.h.html#Idna-flags"/>
+    <keyword type="macro" name="IDNA_ACE_PREFIX" link="libidn-idna.h.html#IDNA-ACE-PREFIX:CAPS"/>
+    <keyword type="macro" name="stringprep_nameprep()" link="libidn-stringprep.h.html#stringprep-nameprep"/>
+    <keyword type="macro" name="stringprep_nameprep_no_unassigned()" link="libidn-stringprep.h.html#stringprep-nameprep-no-unassigned"/>
+    <keyword type="macro" name="stringprep_plain()" link="libidn-stringprep.h.html#stringprep-plain"/>
+    <keyword type="macro" name="stringprep_kerberos5()" link="libidn-stringprep.h.html#stringprep-kerberos5"/>
+    <keyword type="macro" name="stringprep_xmpp_nodeprep()" link="libidn-stringprep.h.html#stringprep-xmpp-nodeprep"/>
+    <keyword type="macro" name="stringprep_xmpp_resourceprep()" link="libidn-stringprep.h.html#stringprep-xmpp-resourceprep"/>
+    <keyword type="macro" name="stringprep_iscsi()" link="libidn-stringprep.h.html#stringprep-iscsi"/>
+    <keyword type="function" name="stringprep_4i ()" link="libidn-stringprep.h.html#stringprep-4i"/>
+    <keyword type="function" name="stringprep_4zi ()" link="libidn-stringprep.h.html#stringprep-4zi"/>
+    <keyword type="function" name="stringprep ()" link="libidn-stringprep.h.html#stringprep"/>
+    <keyword type="function" name="stringprep_profile ()" link="libidn-stringprep.h.html#stringprep-profile"/>
+    <keyword type="function" name="stringprep_strerror ()" link="libidn-stringprep.h.html#stringprep-strerror"/>
+    <keyword type="function" name="stringprep_check_version ()" link="libidn-stringprep.h.html#stringprep-check-version"/>
+    <keyword type="function" name="stringprep_unichar_to_utf8 ()" link="libidn-stringprep.h.html#stringprep-unichar-to-utf8"/>
+    <keyword type="function" name="stringprep_utf8_to_unichar ()" link="libidn-stringprep.h.html#stringprep-utf8-to-unichar"/>
+    <keyword type="function" name="stringprep_utf8_to_ucs4 ()" link="libidn-stringprep.h.html#stringprep-utf8-to-ucs4"/>
+    <keyword type="function" name="stringprep_ucs4_to_utf8 ()" link="libidn-stringprep.h.html#stringprep-ucs4-to-utf8"/>
+    <keyword type="function" name="stringprep_utf8_nfkc_normalize ()" link="libidn-stringprep.h.html#stringprep-utf8-nfkc-normalize"/>
+    <keyword type="function" name="stringprep_ucs4_nfkc_normalize ()" link="libidn-stringprep.h.html#stringprep-ucs4-nfkc-normalize"/>
+    <keyword type="function" name="stringprep_locale_charset ()" link="libidn-stringprep.h.html#stringprep-locale-charset"/>
+    <keyword type="function" name="stringprep_convert ()" link="libidn-stringprep.h.html#stringprep-convert"/>
+    <keyword type="function" name="stringprep_locale_to_utf8 ()" link="libidn-stringprep.h.html#stringprep-locale-to-utf8"/>
+    <keyword type="function" name="stringprep_utf8_to_locale ()" link="libidn-stringprep.h.html#stringprep-utf8-to-locale"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-stringprep.h.html#IDNAPI:CAPS"/>
+    <keyword type="macro" name="STRINGPREP_VERSION" link="libidn-stringprep.h.html#STRINGPREP-VERSION:CAPS"/>
+    <keyword type="enum" name="enum Stringprep_rc" link="libidn-stringprep.h.html#Stringprep-rc"/>
+    <keyword type="enum" name="enum Stringprep_profile_flags" link="libidn-stringprep.h.html#Stringprep-profile-flags"/>
+    <keyword type="enum" name="enum Stringprep_profile_steps" link="libidn-stringprep.h.html#Stringprep-profile-steps"/>
+    <keyword type="macro" name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.h.html#STRINGPREP-MAX-MAP-CHARS:CAPS"/>
+    <keyword type="struct" name="struct Stringprep_table_element" link="libidn-stringprep.h.html#Stringprep-table-element"/>
+    <keyword type="struct" name="struct Stringprep_table" link="libidn-stringprep.h.html#Stringprep-table"/>
+    <keyword type="typedef" name="Stringprep_profile" link="libidn-stringprep.h.html#Stringprep-profile"/>
+    <keyword type="struct" name="struct Stringprep_profiles" link="libidn-stringprep.h.html#Stringprep-profiles"/>
+    <keyword type="function" name="punycode_strerror ()" link="libidn-punycode.h.html#punycode-strerror"/>
+    <keyword type="function" name="punycode_encode ()" link="libidn-punycode.h.html#punycode-encode"/>
+    <keyword type="function" name="punycode_decode ()" link="libidn-punycode.h.html#punycode-decode"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-punycode.h.html#IDNAPI:CAPS"/>
+    <keyword type="enum" name="enum Punycode_status" link="libidn-punycode.h.html#Punycode-status"/>
+    <keyword type="typedef" name="punycode_uint" link="libidn-punycode.h.html#punycode-uint"/>
+    <keyword type="function" name="pr29_strerror ()" link="libidn-pr29.h.html#pr29-strerror"/>
+    <keyword type="function" name="pr29_4 ()" link="libidn-pr29.h.html#pr29-4"/>
+    <keyword type="function" name="pr29_4z ()" link="libidn-pr29.h.html#pr29-4z"/>
+    <keyword type="function" name="pr29_8z ()" link="libidn-pr29.h.html#pr29-8z"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-pr29.h.html#IDNAPI:CAPS"/>
+    <keyword type="enum" name="enum Pr29_rc" link="libidn-pr29.h.html#Pr29-rc"/>
+    <keyword type="function" name="tld_strerror ()" link="libidn-tld.h.html#tld-strerror"/>
+    <keyword type="function" name="tld_get_4 ()" link="libidn-tld.h.html#tld-get-4"/>
+    <keyword type="function" name="tld_get_4z ()" link="libidn-tld.h.html#tld-get-4z"/>
+    <keyword type="function" name="tld_get_z ()" link="libidn-tld.h.html#tld-get-z"/>
+    <keyword type="function" name="tld_get_table ()" link="libidn-tld.h.html#tld-get-table"/>
+    <keyword type="function" name="tld_default_table ()" link="libidn-tld.h.html#tld-default-table"/>
+    <keyword type="function" name="tld_check_4t ()" link="libidn-tld.h.html#tld-check-4t"/>
+    <keyword type="function" name="tld_check_4tz ()" link="libidn-tld.h.html#tld-check-4tz"/>
+    <keyword type="function" name="tld_check_4 ()" link="libidn-tld.h.html#tld-check-4"/>
+    <keyword type="function" name="tld_check_4z ()" link="libidn-tld.h.html#tld-check-4z"/>
+    <keyword type="function" name="tld_check_8z ()" link="libidn-tld.h.html#tld-check-8z"/>
+    <keyword type="function" name="tld_check_lz ()" link="libidn-tld.h.html#tld-check-lz"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-tld.h.html#IDNAPI:CAPS"/>
+    <keyword type="struct" name="struct Tld_table_element" link="libidn-tld.h.html#Tld-table-element"/>
+    <keyword type="struct" name="struct Tld_table" link="libidn-tld.h.html#Tld-table"/>
+    <keyword type="enum" name="enum Tld_rc" link="libidn-tld.h.html#Tld-rc"/>
+    <keyword type="macro" name="IDNAPI" link="libidn-idn-free.h.html#IDNAPI:CAPS"/>
+    <keyword type="constant" name="IDNA_SUCCESS" link="libidn-idna.h.html#IDNA-SUCCESS:CAPS"/>
+    <keyword type="constant" name="IDNA_STRINGPREP_ERROR" link="libidn-idna.h.html#IDNA-STRINGPREP-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_PUNYCODE_ERROR" link="libidn-idna.h.html#IDNA-PUNYCODE-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_CONTAINS_NON_LDH" link="libidn-idna.h.html#IDNA-CONTAINS-NON-LDH:CAPS"/>
+    <keyword type="constant" name="IDNA_CONTAINS_LDH" link="libidn-idna.h.html#IDNA-CONTAINS-LDH:CAPS"/>
+    <keyword type="constant" name="IDNA_CONTAINS_MINUS" link="libidn-idna.h.html#IDNA-CONTAINS-MINUS:CAPS"/>
+    <keyword type="constant" name="IDNA_INVALID_LENGTH" link="libidn-idna.h.html#IDNA-INVALID-LENGTH:CAPS"/>
+    <keyword type="constant" name="IDNA_NO_ACE_PREFIX" link="libidn-idna.h.html#IDNA-NO-ACE-PREFIX:CAPS"/>
+    <keyword type="constant" name="IDNA_ROUNDTRIP_VERIFY_ERROR" link="libidn-idna.h.html#IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_CONTAINS_ACE_PREFIX" link="libidn-idna.h.html#IDNA-CONTAINS-ACE-PREFIX:CAPS"/>
+    <keyword type="constant" name="IDNA_ICONV_ERROR" link="libidn-idna.h.html#IDNA-ICONV-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_MALLOC_ERROR" link="libidn-idna.h.html#IDNA-MALLOC-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_DLOPEN_ERROR" link="libidn-idna.h.html#IDNA-DLOPEN-ERROR:CAPS"/>
+    <keyword type="constant" name="IDNA_ALLOW_UNASSIGNED" link="libidn-idna.h.html#IDNA-ALLOW-UNASSIGNED:CAPS"/>
+    <keyword type="constant" name="IDNA_USE_STD3_ASCII_RULES" link="libidn-idna.h.html#IDNA-USE-STD3-ASCII-RULES:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_OK" link="libidn-stringprep.h.html#STRINGPREP-OK:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_CONTAINS_UNASSIGNED" link="libidn-stringprep.h.html#STRINGPREP-CONTAINS-UNASSIGNED:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_CONTAINS_PROHIBITED" link="libidn-stringprep.h.html#STRINGPREP-CONTAINS-PROHIBITED:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_BOTH_L_AND_RAL" link="libidn-stringprep.h.html#STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_LEADTRAIL_NOT_RAL" link="libidn-stringprep.h.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_CONTAINS_PROHIBITED" link="libidn-stringprep.h.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_TOO_SMALL_BUFFER" link="libidn-stringprep.h.html#STRINGPREP-TOO-SMALL-BUFFER:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_PROFILE_ERROR" link="libidn-stringprep.h.html#STRINGPREP-PROFILE-ERROR:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_FLAG_ERROR" link="libidn-stringprep.h.html#STRINGPREP-FLAG-ERROR:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_UNKNOWN_PROFILE" link="libidn-stringprep.h.html#STRINGPREP-UNKNOWN-PROFILE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_ICONV_ERROR" link="libidn-stringprep.h.html#STRINGPREP-ICONV-ERROR:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_NFKC_FAILED" link="libidn-stringprep.h.html#STRINGPREP-NFKC-FAILED:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_MALLOC_ERROR" link="libidn-stringprep.h.html#STRINGPREP-MALLOC-ERROR:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_NO_NFKC" link="libidn-stringprep.h.html#STRINGPREP-NO-NFKC:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_NO_BIDI" link="libidn-stringprep.h.html#STRINGPREP-NO-BIDI:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_NO_UNASSIGNED" link="libidn-stringprep.h.html#STRINGPREP-NO-UNASSIGNED:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_NFKC" link="libidn-stringprep.h.html#STRINGPREP-NFKC:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI" link="libidn-stringprep.h.html#STRINGPREP-BIDI:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_MAP_TABLE" link="libidn-stringprep.h.html#STRINGPREP-MAP-TABLE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_UNASSIGNED_TABLE" link="libidn-stringprep.h.html#STRINGPREP-UNASSIGNED-TABLE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_PROHIBIT_TABLE" link="libidn-stringprep.h.html#STRINGPREP-PROHIBIT-TABLE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_PROHIBIT_TABLE" link="libidn-stringprep.h.html#STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_RAL_TABLE" link="libidn-stringprep.h.html#STRINGPREP-BIDI-RAL-TABLE:CAPS"/>
+    <keyword type="constant" name="STRINGPREP_BIDI_L_TABLE" link="libidn-stringprep.h.html#STRINGPREP-BIDI-L-TABLE:CAPS"/>
+    <keyword type="constant" name="PUNYCODE_SUCCESS" link="libidn-punycode.h.html#PUNYCODE-SUCCESS:CAPS"/>
+    <keyword type="constant" name="PUNYCODE_BAD_INPUT" link="libidn-punycode.h.html#PUNYCODE-BAD-INPUT:CAPS"/>
+    <keyword type="constant" name="PUNYCODE_BIG_OUTPUT" link="libidn-punycode.h.html#PUNYCODE-BIG-OUTPUT:CAPS"/>
+    <keyword type="constant" name="PUNYCODE_OVERFLOW" link="libidn-punycode.h.html#PUNYCODE-OVERFLOW:CAPS"/>
+    <keyword type="constant" name="PR29_SUCCESS" link="libidn-pr29.h.html#PR29-SUCCESS:CAPS"/>
+    <keyword type="constant" name="PR29_PROBLEM" link="libidn-pr29.h.html#PR29-PROBLEM:CAPS"/>
+    <keyword type="constant" name="PR29_STRINGPREP_ERROR" link="libidn-pr29.h.html#PR29-STRINGPREP-ERROR:CAPS"/>
+    <keyword type="constant" name="TLD_SUCCESS" link="libidn-tld.h.html#TLD-SUCCESS:CAPS"/>
+    <keyword type="constant" name="TLD_INVALID" link="libidn-tld.h.html#TLD-INVALID:CAPS"/>
+    <keyword type="constant" name="TLD_NODATA" link="libidn-tld.h.html#TLD-NODATA:CAPS"/>
+    <keyword type="constant" name="TLD_MALLOC_ERROR" link="libidn-tld.h.html#TLD-MALLOC-ERROR:CAPS"/>
+    <keyword type="constant" name="TLD_ICONV_ERROR" link="libidn-tld.h.html#TLD-ICONV-ERROR:CAPS"/>
+    <keyword type="constant" name="TLD_NO_TLD" link="libidn-tld.h.html#TLD-NO-TLD:CAPS"/>
+    <keyword type="constant" name="TLD_NOTLD" link="libidn-tld.h.html#TLD-NOTLD:CAPS"/>
+    <keyword type="member" name="Stringprep-table-element.start" link="libidn-stringprep.h.html#Stringprep-table-element.start"/>
+    <keyword type="member" name="Stringprep-table-element.end" link="libidn-stringprep.h.html#Stringprep-table-element.end"/>
+    <keyword type="member" name="Stringprep-table-element.map" link="libidn-stringprep.h.html#Stringprep-table-element.map"/>
+    <keyword type="member" name="Stringprep-table.operation" link="libidn-stringprep.h.html#Stringprep-table.operation"/>
+    <keyword type="member" name="Stringprep-table.flags" link="libidn-stringprep.h.html#Stringprep-table.flags"/>
+    <keyword type="member" name="Stringprep-table.table" link="libidn-stringprep.h.html#Stringprep-table.table"/>
+    <keyword type="member" name="Stringprep-table.table-size" link="libidn-stringprep.h.html#Stringprep-table.table-size"/>
+    <keyword type="member" name="Stringprep-profiles.name" link="libidn-stringprep.h.html#Stringprep-profiles.name"/>
+    <keyword type="member" name="Stringprep-profiles.tables" link="libidn-stringprep.h.html#Stringprep-profiles.tables"/>
+    <keyword type="member" name="Tld-table-element.start" link="libidn-tld.h.html#Tld-table-element.start"/>
+    <keyword type="member" name="Tld-table-element.end" link="libidn-tld.h.html#Tld-table-element.end"/>
+    <keyword type="member" name="Tld-table.name" link="libidn-tld.h.html#Tld-table.name"/>
+    <keyword type="member" name="Tld-table.version" link="libidn-tld.h.html#Tld-table.version"/>
+    <keyword type="member" name="Tld-table.nvalid" link="libidn-tld.h.html#Tld-table.nvalid"/>
+    <keyword type="member" name="Tld-table.valid" link="libidn-tld.h.html#Tld-table.valid"/>
   </functions>
 </book>
diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png
new file mode 100644 (file)
index 0000000..a3696bf
Binary files /dev/null and b/doc/reference/html/right-insensitive.png differ
index ed55207..73d25da 100644 (file)
Binary files a/doc/reference/html/right.png and b/doc/reference/html/right.png differ
index d6f6c26..2eeda1f 100644 (file)
@@ -1,15 +1,23 @@
+body
+{
+  font-family: cantarell, sans-serif;
+}
 .synopsis, .classsynopsis
 {
   /* tango:aluminium 1/2 */
   background: #eeeeec;
-  border: solid 1px #d3d7cf;
+  background: rgba(238, 238, 236, 0.5);
+  border: solid 1px rgb(238, 238, 236);
   padding: 0.5em;
 }
 .programlisting
 {
   /* tango:sky blue 0/1 */
+  /* fallback for no rgba support */
   background: #e6f3ff;
   border: solid 1px #729fcf;
+  background: rgba(114, 159, 207, 0.1);
+  border: solid 1px rgba(114, 159, 207, 0.2);
   padding: 0.5em;
 }
 .variablelist
   vertical-align: top;
 }
 
-@media screen {
-  sup a.footnote
-  {
-    position: relative;
-    top: 0em ! important;
-    
-  }
-  /* this is needed so that the local anchors are displayed below the naviagtion */
-  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
-  {
-    display: inline-block;
-    position: relative;
-    top:-5em;
-  }
-  /* this seems to be a bug in the xsl style sheets when generating indexes */
-  div.index div.index
-  {
-    top: 0em;
-  }
-  /* make space for the fixed navigation bar and add space at the bottom so that
-   * link targets appear somewhat close to top
-   */
-  body
-  {
-    padding-top: 3.2em;
-    padding-bottom: 20em;
-  }
-  /* style and size the navigation bar */
-  table.navigation#top
-  {
-    position: fixed;
-    /* tango:scarlet red 0/1 */
-    background: #ffe6e6;
-    border: solid 1px #ef2929;
-    margin-top: 0;
-    margin-bottom: 0;
-    top: 0;
-    left: 0;
-    height: 3em;
-    z-index: 10;
-  }
-  .navigation a, .navigation a:visited
-  {
-    /* tango:scarlet red 3 */
-    color: #a40000;
-  }
-  .navigation a:hover
-  {
-    /* tango:scarlet red 1 */
-    color: #ef2929;
-  }
-  td.shortcuts
-  {
-    /* tango:scarlet red 1 */
-    color: #ef2929;
-    font-size: 80%;
-    white-space: nowrap;
-  }
-}
-@media print {
-  table.navigation {
-    visibility: collapse;
-    display: none;
-  }
-  div.titlepage table.navigation {
-    visibility: visible;
-    display: table;
-    /* tango:scarlet red 0/1 */
-    background: #ffe6e6;
-    border: solid 1px #ef2929;
-    margin-top: 0;
-    margin-bottom: 0;
-    top: 0;
-    left: 0;
-    height: 3em;
-  }
-}
-
-.navigation .title
-{
-  font-size: 200%;
+span.nowrap {
+  white-space: nowrap;
 }
 
 div.gallery-float
@@ -132,6 +61,61 @@ a:hover
   color: #729fcf;
 }
 
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+  text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+  color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+  margin: 0.25em;
+}
+
+div.informaltable table[border="1"],
 div.table table
 {
   border-collapse: collapse;
@@ -140,6 +124,8 @@ div.table table
   border: solid 1px #babdb6;
 }
 
+div.informaltable table[border="1"] td,
+div.informaltable table th,
 div.table table td, div.table table th
 {
   /* tango:aluminium 3 */
@@ -148,20 +134,51 @@ div.table table td, div.table table th
   vertical-align: top;
 }
 
+div.informaltable table[border="1"] th,
 div.table table th
 {
   /* tango:aluminium 2 */
   background-color: #d3d7cf;
 }
 
+h4
+{
+  color: #555753;
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+
 hr
 {
-  /* tango:aluminium 3 */
-  color: #babdb6;
-  background: #babdb6;
+  /* tango:aluminium 1 */
+  color: #d3d7cf;
+  background: #d3d7cf;
   border: none 0px;
   height: 1px;
   clear: both;
+  margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+  padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+  padding-top: 0.25em;
+  padding-bottom: 0.25em;
+  font-weight: bold;
+}
+
+dl.toc > dl
+{
+  padding-bottom: 0.5em;
+}
+
+.parameter
+{
+  font-style: normal;
 }
 
 .footer
@@ -173,31 +190,70 @@ hr
   font-size: 80%;
 }
 
+.informalfigure,
+.figure
+{
+  margin: 1em;
+}
+
+.informalexample,
+.example
+{
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+
 .warning
 {
   /* tango:orange 0/1 */
   background: #ffeed9;
+  background: rgba(252, 175, 62, 0.1);
   border-color: #ffb04f;
+  border-color: rgba(252, 175, 62, 0.2);
 }
 .note
 {
   /* tango:chameleon 0/0.5 */
   background: #d8ffb2;
+  background: rgba(138, 226, 52, 0.1);
   border-color: #abf562;
+  border-color: rgba(138, 226, 52, 0.2);
 }
-.note, .warning
+div.blockquote
+{
+  border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
 {
   padding: 0.5em;
   border-width: 1px;
   border-style: solid;
+  margin: 2em;
 }
-.note h3, .warning h3
+.note p, .warning p
 {
-  margin-top: 0.0em
+  margin: 0;
 }
-.note p, .warning p
+
+div.warning h3.title,
+div.note h3.title
+{
+  display: none;
+}
+
+p + div.section
 {
-  margin-bottom: 0.0em
+  margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+  margin-bottom: 1em;
 }
 
 /* blob links */
@@ -210,33 +266,34 @@ h2 .extralinks, h3 .extralinks
   font-weight: normal;
 }
 
+.lineart
+{
+  color: #d3d7cf;
+  font-weight: normal;
+}
+
 .annotation
 {
   /* tango:aluminium 5 */
   color: #555753;
-  font-size: 80%;
   font-weight: normal;
 }
 
-/* code listings */
+.structfield
+{
+  font-style: normal;
+  font-weight: normal;
+}
 
-.listing_code .programlisting .cbracket   { color: #a40000; } /* tango: scarlet red 3 */
-.listing_code .programlisting .comment    { color: #a1a39d; } /* tango: aluminium 4 */
-.listing_code .programlisting .function   { color: #000000; font-weight: bold; }
-.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
-.listing_code .programlisting .keyword    { color: #4e9a06; } /* tango: chameleon 3  */
-.listing_code .programlisting .linenum    { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .normal     { color: #000000; }
-.listing_code .programlisting .number     { color: #75507b; } /* tango: plum 2 */
-.listing_code .programlisting .preproc    { color: #204a87; } /* tango: sky blue 3  */
-.listing_code .programlisting .string     { color: #c17d11; } /* tango: chocolate 2 */
-.listing_code .programlisting .type       { color: #000000; }
-.listing_code .programlisting .type a     { color: #11326b; } /* tango: sky blue 4 */
-.listing_code .programlisting .symbol     { color: #ce5c00; } /* tango: orange 3 */
+acronym,abbr
+{
+  border-bottom: 1px dotted gray;
+}
 
 .listing_frame {
   /* tango:sky blue 1 */
   border: solid 1px #729fcf;
+  border: solid 1px rgba(114, 159, 207, 0.2);
   padding: 0px;
 }
 
@@ -248,19 +305,226 @@ h2 .extralinks, h3 .extralinks
 .listing_lines {
   /* tango:sky blue 0.5 */
   background: #a6c5e3;
+  background: rgba(114, 159, 207, 0.2);
   /* tango:aluminium 6 */
   color: #2e3436;
 }
 .listing_code {
   /* tango:sky blue 0 */
   background: #e6f3ff;
+  background: rgba(114, 159, 207, 0.1);
 }
 .listing_code .programlisting {
   /* override from previous */
   border: none 0px;
   padding: 0px;
+  background: none;
 }
 .listing_lines pre, .listing_code pre {
   margin: 0px;
 }
 
+@media screen {
+  /* these have a <sup> as a first child, but since there are no parent selectors
+   * we can't use that. */
+  a.footnote
+  {
+    position: relative;
+    top: 0em ! important;
+  }
+  /* this is needed so that the local anchors are displayed below the naviagtion */
+  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+  {
+    display: inline-block;
+    position: relative;
+    top:-5em;
+  }
+  /* this seems to be a bug in the xsl style sheets when generating indexes */
+  div.index div.index
+  {
+    top: 0em;
+  }
+  /* make space for the fixed navigation bar and add space at the bottom so that
+   * link targets appear somewhat close to top
+   */
+  body
+  {
+    padding-top: 2.5em;
+    padding-bottom: 500px;
+    max-width: 60em;
+  }
+  p
+  {
+    max-width: 60em;
+  }
+  /* style and size the navigation bar */
+  table.navigation#top
+  {
+    position: fixed;
+    background: #e2e2e2;
+    border-bottom: solid 1px #babdb6;
+    border-spacing: 5px;
+    margin-top: 0;
+    margin-bottom: 0;
+    top: 0;
+    left: 0;
+    z-index: 10;
+  }
+  table.navigation#top td
+  {
+    padding-left: 6px;
+    padding-right: 6px;
+  }
+  .navigation a, .navigation a:visited
+  {
+    /* tango:sky blue 3 */
+    color: #204a87;
+  }
+  .navigation a:hover
+  {
+    /* tango:sky blue 2 */
+    color: #3465a4;
+  }
+  td.shortcuts
+  {
+    /* tango:sky blue 2 */
+    color: #3465a4;
+    font-size: 80%;
+    white-space: nowrap;
+  }
+  td.shortcuts .dim
+  {
+    color: #babdb6;
+  }
+  .navigation .title
+  {
+    font-size: 80%;
+    max-width: none;
+    margin: 0px;
+    font-weight: normal;
+  }
+}
+@media screen and (min-width: 60em) {
+  /* screen larger than 60em */
+  body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+  /* screen less than 60em */
+  #nav_hierarchy { display: none; }
+  #nav_interfaces { display: none; }
+  #nav_prerequisites { display: none; }
+  #nav_derived_interfaces { display: none; }
+  #nav_implementations { display: none; }
+  #nav_child_properties { display: none; }
+  #nav_style_properties { display: none; }
+  #nav_index { display: none; }
+  #nav_glossary { display: none; }
+  .gallery_image { display: none; }
+  .property_flags { display: none; }
+  .signal_flags { display: none; }
+  .parameter_annotations { display: none; }
+  .enum_member_annotations { display: none; }
+  .struct_member_annotations { display: none; }
+  .union_member_annotations { display: none; }
+  /* now that a column is hidden, optimize space */
+  col.parameters_name { width: auto; }
+  col.parameters_description { width: auto; }
+  col.struct_members_name { width: auto; }
+  col.struct_members_description { width: auto; }
+  col.enum_members_name { width: auto; }
+  col.enum_members_description { width: auto; }
+  col.union_members_name { width: auto; }
+  col.union_members_description { width: auto; }
+  .listing_lines { display: none; }
+}
+@media print {
+  table.navigation {
+    visibility: collapse;
+    display: none;
+  }
+  div.titlepage table.navigation {
+    visibility: visible;
+    display: table;
+    background: #e2e2e2;
+    border: solid 1px #babdb6;
+    margin-top: 0;
+    margin-bottom: 0;
+    top: 0;
+    left: 0;
+    height: 3em;
+  }
+}
+
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.hll { background-color: #ffffcc }
+.c { color: #3D7B7B; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.cp { color: #9C6500 } /* Comment.Preproc */
+.cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #E40000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #008400 } /* Generic.Inserted */
+.go { color: #717171 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0044DD } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #687822 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #717171; font-weight: bold } /* Name.Entity */
+.ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #767600 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mb { color: #666666 } /* Literal.Number.Bin */
+.mf { color: #666666 } /* Literal.Number.Float */
+.mh { color: #666666 } /* Literal.Number.Hex */
+.mi { color: #666666 } /* Literal.Number.Integer */
+.mo { color: #666666 } /* Literal.Number.Oct */
+.sa { color: #BA2121 } /* Literal.String.Affix */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.dl { color: #BA2121 } /* Literal.String.Delimiter */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #A45A77 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.fm { color: #0000FF } /* Name.Function.Magic */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.vm { color: #19177C } /* Name.Variable.Magic */
+.il { color: #666666 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/doc/reference/html/up-insensitive.png b/doc/reference/html/up-insensitive.png
new file mode 100644 (file)
index 0000000..674be9c
Binary files /dev/null and b/doc/reference/html/up-insensitive.png differ
index 8eb591f..ae83f66 100644 (file)
Binary files a/doc/reference/html/up.png and b/doc/reference/html/up.png differ
similarity index 95%
rename from doc/reference/libidn-docs.sgml
rename to doc/reference/libidn-docs.xml
index bf260f6..363347d 100644 (file)
@@ -92,4 +92,8 @@ examples, and more.
     <title>API Index</title>
     <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
   </index>
+  <index id="api-index-deprecated">
+    <title>Index of deprecated API</title>
+    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+  </index>
 </book>
index dab2720..7cb7ea0 100644 (file)
@@ -6,15 +6,15 @@ IDNAPI
 <SECTION>
 <FILE>idna</FILE>
 IDNAPI
-IDNA_ACE_PREFIX
-Idna_flags
 Idna_rc
+Idna_flags
+IDNA_ACE_PREFIX
 idna_strerror
 idna_to_ascii_4i
+idna_to_unicode_44i
 idna_to_ascii_4z
 idna_to_ascii_8z
 idna_to_ascii_lz
-idna_to_unicode_44i
 idna_to_unicode_4z4z
 idna_to_unicode_8z4z
 idna_to_unicode_8z8z
@@ -26,75 +26,76 @@ idna_to_unicode_lzlz
 <FILE>pr29</FILE>
 IDNAPI
 Pr29_rc
+pr29_strerror
 pr29_4
 pr29_4z
 pr29_8z
-pr29_strerror
 </SECTION>
 
 <SECTION>
 <FILE>punycode</FILE>
 IDNAPI
 Punycode_status
-punycode_decode
-punycode_encode
 punycode_strerror
 punycode_uint
+punycode_encode
+punycode_decode
 </SECTION>
 
 <SECTION>
 <FILE>stringprep</FILE>
 IDNAPI
-STRINGPREP_MAX_MAP_CHARS
 STRINGPREP_VERSION
-Stringprep_profile
+Stringprep_rc
 Stringprep_profile_flags
 Stringprep_profile_steps
-Stringprep_profiles
-Stringprep_rc
+STRINGPREP_MAX_MAP_CHARS
 Stringprep_table_element
-stringprep
-stringprep_4i
-stringprep_4zi
-stringprep_check_version
-stringprep_convert
-stringprep_iscsi
-stringprep_kerberos5
-stringprep_locale_charset
-stringprep_locale_to_utf8
+Stringprep_table
+Stringprep_profile
+Stringprep_profiles
 stringprep_nameprep
 stringprep_nameprep_no_unassigned
 stringprep_plain
+stringprep_kerberos5
+stringprep_xmpp_nodeprep
+stringprep_xmpp_resourceprep
+stringprep_iscsi
+stringprep_4i
+stringprep_4zi
+stringprep
 stringprep_profile
 stringprep_strerror
-stringprep_ucs4_nfkc_normalize
-stringprep_ucs4_to_utf8
+stringprep_check_version
 stringprep_unichar_to_utf8
+stringprep_utf8_to_unichar
+stringprep_utf8_to_ucs4
+stringprep_ucs4_to_utf8
 stringprep_utf8_nfkc_normalize
+stringprep_ucs4_nfkc_normalize
+stringprep_locale_charset
+stringprep_convert
+stringprep_locale_to_utf8
 stringprep_utf8_to_locale
-stringprep_utf8_to_ucs4
-stringprep_utf8_to_unichar
-stringprep_xmpp_nodeprep
-stringprep_xmpp_resourceprep
 </SECTION>
 
 <SECTION>
 <FILE>tld</FILE>
 IDNAPI
-Tld_rc
-Tld_table
 Tld_table_element
-tld_check_4
+Tld_table
+Tld_rc
+tld_strerror
+tld_get_4
+tld_get_4z
+tld_get_z
+tld_get_table
+tld_default_table
 tld_check_4t
 tld_check_4tz
+tld_check_4
 tld_check_4z
 tld_check_8z
 tld_check_lz
-tld_default_table
-tld_get_4
-tld_get_4z
-tld_get_table
-tld_get_z
-tld_strerror
 </SECTION>
 
index 4c9dac9..a6863fb 100644 (file)
Binary files a/doc/reference/libidn.pdf and b/doc/reference/libidn.pdf differ
diff --git a/doc/reference/libidn.types b/doc/reference/libidn.types
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/doc/reference/tmpl/idn-free.sgml b/doc/reference/tmpl/idn-free.sgml
deleted file mode 100644 (file)
index 73d9ebf..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-idn-free
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/doc/reference/tmpl/idna.sgml b/doc/reference/tmpl/idna.sgml
deleted file mode 100644 (file)
index 920e719..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-idna
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO IDNA_ACE_PREFIX ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM Idna_flags ##### -->
-<para>
-
-</para>
-
-@IDNA_ALLOW_UNASSIGNED: 
-@IDNA_USE_STD3_ASCII_RULES: 
-
-<!-- ##### ENUM Idna_rc ##### -->
-<para>
-
-</para>
-
-@IDNA_SUCCESS: 
-@IDNA_STRINGPREP_ERROR: 
-@IDNA_PUNYCODE_ERROR: 
-@IDNA_CONTAINS_NON_LDH: 
-@IDNA_CONTAINS_LDH: 
-@IDNA_CONTAINS_MINUS: 
-@IDNA_INVALID_LENGTH: 
-@IDNA_NO_ACE_PREFIX: 
-@IDNA_ROUNDTRIP_VERIFY_ERROR: 
-@IDNA_CONTAINS_ACE_PREFIX: 
-@IDNA_ICONV_ERROR: 
-@IDNA_MALLOC_ERROR: 
-@IDNA_DLOPEN_ERROR: 
-
-<!-- ##### FUNCTION idna_strerror ##### -->
-<para>
-
-</para>
-
-@rc: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_ascii_4i ##### -->
-<para>
-
-</para>
-
-@in: 
-@inlen: 
-@out: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_ascii_4z ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_ascii_8z ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_ascii_lz ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_44i ##### -->
-<para>
-
-</para>
-
-@in: 
-@inlen: 
-@out: 
-@outlen: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_4z4z ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_8z4z ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_8z8z ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_8zlz ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION idna_to_unicode_lzlz ##### -->
-<para>
-
-</para>
-
-@input: 
-@output: 
-@flags: 
-@Returns: 
-
-
diff --git a/doc/reference/tmpl/pr29.sgml b/doc/reference/tmpl/pr29.sgml
deleted file mode 100644 (file)
index e5be296..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-pr29
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM Pr29_rc ##### -->
-<para>
-
-</para>
-
-@PR29_SUCCESS: 
-@PR29_PROBLEM: 
-@PR29_STRINGPREP_ERROR: 
-
-<!-- ##### FUNCTION pr29_4 ##### -->
-<para>
-
-</para>
-
-@in: 
-@len: 
-@Returns: 
-
-
-<!-- ##### FUNCTION pr29_4z ##### -->
-<para>
-
-</para>
-
-@in: 
-@Returns: 
-
-
-<!-- ##### FUNCTION pr29_8z ##### -->
-<para>
-
-</para>
-
-@in: 
-@Returns: 
-
-
-<!-- ##### FUNCTION pr29_strerror ##### -->
-<para>
-
-</para>
-
-@rc: 
-@Returns: 
-
-
diff --git a/doc/reference/tmpl/punycode.sgml b/doc/reference/tmpl/punycode.sgml
deleted file mode 100644 (file)
index faf66d4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-punycode
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM Punycode_status ##### -->
-<para>
-
-</para>
-
-@PUNYCODE_SUCCESS: 
-@PUNYCODE_BAD_INPUT: 
-@PUNYCODE_BIG_OUTPUT: 
-@PUNYCODE_OVERFLOW: 
-
-<!-- ##### FUNCTION punycode_decode ##### -->
-<para>
-
-</para>
-
-@input_length: 
-@input: 
-@output_length: 
-@output: 
-@case_flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION punycode_encode ##### -->
-<para>
-
-</para>
-
-@input_length: 
-@input: 
-@case_flags: 
-@output_length: 
-@output: 
-@Returns: 
-
-
-<!-- ##### FUNCTION punycode_strerror ##### -->
-<para>
-
-</para>
-
-@rc: 
-@Returns: 
-
-
-<!-- ##### TYPEDEF punycode_uint ##### -->
-<para>
-
-</para>
-
-
diff --git a/doc/reference/tmpl/stringprep.sgml b/doc/reference/tmpl/stringprep.sgml
deleted file mode 100644 (file)
index bfb02dd..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-stringprep
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO STRINGPREP_MAX_MAP_CHARS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO STRINGPREP_VERSION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### TYPEDEF Stringprep_profile ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM Stringprep_profile_flags ##### -->
-<para>
-
-</para>
-
-@STRINGPREP_NO_NFKC: 
-@STRINGPREP_NO_BIDI: 
-@STRINGPREP_NO_UNASSIGNED: 
-
-<!-- ##### ENUM Stringprep_profile_steps ##### -->
-<para>
-
-</para>
-
-@STRINGPREP_NFKC: 
-@STRINGPREP_BIDI: 
-@STRINGPREP_MAP_TABLE: 
-@STRINGPREP_UNASSIGNED_TABLE: 
-@STRINGPREP_PROHIBIT_TABLE: 
-@STRINGPREP_BIDI_PROHIBIT_TABLE: 
-@STRINGPREP_BIDI_RAL_TABLE: 
-@STRINGPREP_BIDI_L_TABLE: 
-
-<!-- ##### TYPEDEF Stringprep_profiles ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM Stringprep_rc ##### -->
-<para>
-
-</para>
-
-@STRINGPREP_OK: 
-@STRINGPREP_CONTAINS_UNASSIGNED: 
-@STRINGPREP_CONTAINS_PROHIBITED: 
-@STRINGPREP_BIDI_BOTH_L_AND_RAL: 
-@STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: 
-@STRINGPREP_BIDI_CONTAINS_PROHIBITED: 
-@STRINGPREP_TOO_SMALL_BUFFER: 
-@STRINGPREP_PROFILE_ERROR: 
-@STRINGPREP_FLAG_ERROR: 
-@STRINGPREP_UNKNOWN_PROFILE: 
-@STRINGPREP_NFKC_FAILED: 
-@STRINGPREP_MALLOC_ERROR: 
-
-<!-- ##### TYPEDEF Stringprep_table_element ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION stringprep ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-@flags: 
-@profile: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_4i ##### -->
-<para>
-
-</para>
-
-@ucs4: 
-@len: 
-@maxucs4len: 
-@flags: 
-@profile: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_4zi ##### -->
-<para>
-
-</para>
-
-@ucs4: 
-@maxucs4len: 
-@flags: 
-@profile: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_check_version ##### -->
-<para>
-
-</para>
-
-@req_version: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_convert ##### -->
-<para>
-
-</para>
-
-@str: 
-@to_codeset: 
-@from_codeset: 
-@Returns: 
-
-
-<!-- ##### MACRO stringprep_iscsi ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### MACRO stringprep_kerberos5 ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### FUNCTION stringprep_locale_charset ##### -->
-<para>
-
-</para>
-
-@void: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_locale_to_utf8 ##### -->
-<para>
-
-</para>
-
-@str: 
-@Returns: 
-
-
-<!-- ##### MACRO stringprep_nameprep ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### MACRO stringprep_nameprep_no_unassigned ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### MACRO stringprep_plain ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### FUNCTION stringprep_profile ##### -->
-<para>
-
-</para>
-
-@in: 
-@out: 
-@profile: 
-@flags: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_strerror ##### -->
-<para>
-
-</para>
-
-@rc: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_ucs4_nfkc_normalize ##### -->
-<para>
-
-</para>
-
-@str: 
-@len: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_ucs4_to_utf8 ##### -->
-<para>
-
-</para>
-
-@str: 
-@len: 
-@items_read: 
-@items_written: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_unichar_to_utf8 ##### -->
-<para>
-
-</para>
-
-@c: 
-@outbuf: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_utf8_nfkc_normalize ##### -->
-<para>
-
-</para>
-
-@str: 
-@len: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_utf8_to_locale ##### -->
-<para>
-
-</para>
-
-@str: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_utf8_to_ucs4 ##### -->
-<para>
-
-</para>
-
-@str: 
-@len: 
-@items_written: 
-@Returns: 
-
-
-<!-- ##### FUNCTION stringprep_utf8_to_unichar ##### -->
-<para>
-
-</para>
-
-@p: 
-@Returns: 
-
-
-<!-- ##### MACRO stringprep_xmpp_nodeprep ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
-<!-- ##### MACRO stringprep_xmpp_resourceprep ##### -->
-<para>
-
-</para>
-
-@in: 
-@maxlen: 
-
-
diff --git a/doc/reference/tmpl/tld.sgml b/doc/reference/tmpl/tld.sgml
deleted file mode 100644 (file)
index b20bb53..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-tld
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO IDNAPI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM Tld_rc ##### -->
-<para>
-
-</para>
-
-@TLD_SUCCESS: 
-@TLD_INVALID: 
-@TLD_NODATA: 
-@TLD_MALLOC_ERROR: 
-@TLD_ICONV_ERROR: 
-@TLD_NO_TLD: 
-@TLD_NOTLD: 
-
-<!-- ##### TYPEDEF Tld_table ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF Tld_table_element ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION tld_check_4 ##### -->
-<para>
-
-</para>
-
-@in: 
-@inlen: 
-@errpos: 
-@overrides: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_check_4t ##### -->
-<para>
-
-</para>
-
-@in: 
-@inlen: 
-@errpos: 
-@tld: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_check_4tz ##### -->
-<para>
-
-</para>
-
-@in: 
-@errpos: 
-@tld: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_check_4z ##### -->
-<para>
-
-</para>
-
-@in: 
-@errpos: 
-@overrides: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_check_8z ##### -->
-<para>
-
-</para>
-
-@in: 
-@errpos: 
-@overrides: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_check_lz ##### -->
-<para>
-
-</para>
-
-@in: 
-@errpos: 
-@overrides: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_default_table ##### -->
-<para>
-
-</para>
-
-@tld: 
-@overrides: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_get_4 ##### -->
-<para>
-
-</para>
-
-@in: 
-@inlen: 
-@out: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_get_4z ##### -->
-<para>
-
-</para>
-
-@in: 
-@out: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_get_table ##### -->
-<para>
-
-</para>
-
-@tld: 
-@tables: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_get_z ##### -->
-<para>
-
-</para>
-
-@in: 
-@out: 
-@Returns: 
-
-
-<!-- ##### FUNCTION tld_strerror ##### -->
-<para>
-
-</para>
-
-@rc: 
-@Returns: 
-
-
index 2296c05..5c400dc 100644 (file)
@@ -15,7 +15,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 EXTRA_DIST = rfc3454.txt \
        UnicodeData-3.2.0.txt LineBreak-3.2.0.txt \
index e8cbe74..1c165df 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,104 +106,132 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/specifications
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -168,9 +250,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -190,290 +275,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -483,16 +857,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -509,33 +888,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -550,28 +942,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -581,26 +981,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -619,6 +1027,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -640,9 +1049,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -660,36 +1068,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -698,12 +1108,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -716,11 +1130,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -753,27 +1169,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -786,71 +1224,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -859,11 +1331,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -876,45 +1358,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -922,7 +1417,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -940,8 +1434,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -954,8 +1450,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -971,6 +1469,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1000,14 +1499,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/specifications/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/specifications/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1024,14 +1522,16 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1164,15 +1664,18 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 2e7502b..85706a6 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 April 2012
-@set UPDATED-MONTH April 2012
-@set EDITION 1.25
-@set VERSION 1.25
+@set UPDATED 12 January 2024
+@set UPDATED-MONTH January 2024
+@set EDITION 1.42
+@set VERSION 1.42
diff --git a/doc/texi/idn-free.c.texi b/doc/texi/idn-free.c.texi
deleted file mode 100644 (file)
index 7da46c1..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-@subheading idn_free
-@anchor{idn_free}
-@deftypefun {void} {idn_free} (void * @var{ptr})
-@var{ptr}: memory region to deallocate, or @code{NULL}.
-
-Deallocates memory region by calling @code{free()}.  If @code{ptr} is @code{NULL} no
-operation is performed.
-
-Normally applications de-allocate strings allocated by libidn by
-calling @code{free()} directly.  Under Windows, different parts of the
-same application may use different heap memory, and then it is
-important to deallocate memory allocated within the same module
-that allocated it.  This function makes that possible.
-@end deftypefun
-
index 7da46c1..bc55b94 100644 (file)
@@ -1,13 +1,13 @@
 @subheading idn_free
 @anchor{idn_free}
 @deftypefun {void} {idn_free} (void * @var{ptr})
-@var{ptr}: memory region to deallocate, or @code{NULL}.
+@var{ptr}: memory region to deallocate, or @code{NULL} .
 
-Deallocates memory region by calling @code{free()}.  If @code{ptr} is @code{NULL} no
+Deallocates memory region by calling @code{free()} .  If  @code{ptr} is @code{NULL}  no
 operation is performed.
 
 Normally applications de-allocate strings allocated by libidn by
-calling @code{free()} directly.  Under Windows, different parts of the
+calling @code{free()}  directly.  Under Windows, different parts of the
 same application may use different heap memory, and then it is
 important to deallocate memory allocated within the same module
 that allocated it.  This function makes that possible.
diff --git a/doc/texi/idna.c.texi b/doc/texi/idna.c.texi
deleted file mode 100644 (file)
index 8b36c26..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-@subheading idna_to_ascii_4i
-@anchor{idna_to_ascii_4i}
-@deftypefun {int} {idna_to_ascii_4i} (const uint32_t * @var{in}, size_t @var{inlen}, char * @var{out}, int @var{flags})
-@var{in}: input array with unicode code points.
-
-@var{inlen}: length of input array with unicode code points.
-
-@var{out}: output zero terminated string that must have room for at
-least 63 characters plus the terminating zero.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-The ToASCII operation takes a sequence of Unicode code points that
-make up one domain label and transforms it into a sequence of code
-points in the ASCII range (0..7F). If ToASCII succeeds, the
-original sequence and the resulting sequence are equivalent labels.
-
-It is important to note that the ToASCII operation can fail. ToASCII
-fails if any step of it fails. If any step of the ToASCII operation
-fails on any label in a domain name, that domain name MUST NOT be used
-as an internationalized domain name. The method for deadling with this
-failure is application-specific.
-
-The inputs to ToASCII are a sequence of code points, the AllowUnassigned
-flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
-sequence of ASCII code points or a failure condition.
-
-ToASCII never alters a sequence of code points that are all in the ASCII
-range to begin with (although it could fail). Applying the ToASCII
-operation multiple times has exactly the same effect as applying it just
-once.
-
-@strong{Return value:} Returns 0 on success, or an @code{Idna_rc} error code.
-@end deftypefun
-
-@subheading idna_to_unicode_44i
-@anchor{idna_to_unicode_44i}
-@deftypefun {int} {idna_to_unicode_44i} (const uint32_t * @var{in}, size_t @var{inlen}, uint32_t * @var{out}, size_t * @var{outlen}, int @var{flags})
-@var{in}: input array with unicode code points.
-
-@var{inlen}: length of input array with unicode code points.
-
-@var{out}: output array with unicode code points.
-
-@var{outlen}: on input, maximum size of output array with unicode code points,
-on exit, actual size of output array with unicode code points.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-The ToUnicode operation takes a sequence of Unicode code points
-that make up one domain label and returns a sequence of Unicode
-code points. If the input sequence is a label in ACE form, then the
-result is an equivalent internationalized label that is not in ACE
-form, otherwise the original sequence is returned unaltered.
-
-ToUnicode never fails. If any step fails, then the original input
-sequence is returned immediately in that step.
-
-The Punycode decoder can never output more code points than it
-inputs, but Nameprep can, and therefore ToUnicode can.  Note that
-the number of octets needed to represent a sequence of code points
-depends on the particular character encoding used.
-
-The inputs to ToUnicode are a sequence of code points, the
-AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-ToUnicode is always a sequence of Unicode code points.
-
-@strong{Return value:} Returns @code{Idna_rc} error condition, but it must only be
-used for debugging purposes.  The output buffer is always
-guaranteed to contain the correct data according to the
-specification (sans malloc induced errors).  NB!  This means that
-you normally ignore the return code from this function, as
-checking it means breaking the standard.
-@end deftypefun
-
-@subheading idna_to_ascii_4z
-@anchor{idna_to_ascii_4z}
-@deftypefun {int} {idna_to_ascii_4z} (const uint32_t * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero terminated input Unicode string.
-
-@var{output}: pointer to newly allocated output string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert UCS-4 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_ascii_8z
-@anchor{idna_to_ascii_8z}
-@deftypefun {int} {idna_to_ascii_8z} (const char * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero terminated input UTF-8 string.
-
-@var{output}: pointer to newly allocated output string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert UTF-8 domain name to ASCII string.  The domain name may
-contain several labels, separated by dots.  The output buffer must
-be deallocated by the caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_ascii_lz
-@anchor{idna_to_ascii_lz}
-@deftypefun {int} {idna_to_ascii_lz} (const char * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero terminated input string encoded in the current locale's
-character set.
-
-@var{output}: pointer to newly allocated output string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert domain name in the locale's encoding to ASCII string.  The
-domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_unicode_4z4z
-@anchor{idna_to_unicode_4z4z}
-@deftypefun {int} {idna_to_unicode_4z4z} (const uint32_t * @var{input}, uint32_t ** @var{output}, int @var{flags})
-@var{input}: zero-terminated Unicode string.
-
-@var{output}: pointer to newly allocated output Unicode string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert possibly ACE encoded domain name in UCS-4 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_unicode_8z4z
-@anchor{idna_to_unicode_8z4z}
-@deftypefun {int} {idna_to_unicode_8z4z} (const char * @var{input}, uint32_t ** @var{output}, int @var{flags})
-@var{input}: zero-terminated UTF-8 string.
-
-@var{output}: pointer to newly allocated output Unicode string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UCS-4 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_unicode_8z8z
-@anchor{idna_to_unicode_8z8z}
-@deftypefun {int} {idna_to_unicode_8z8z} (const char * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero-terminated UTF-8 string.
-
-@var{output}: pointer to newly allocated output UTF-8 string.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UTF-8 string.  The domain name may contain several labels,
-separated by dots.  The output buffer must be deallocated by the
-caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_unicode_8zlz
-@anchor{idna_to_unicode_8zlz}
-@deftypefun {int} {idna_to_unicode_8zlz} (const char * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero-terminated UTF-8 string.
-
-@var{output}: pointer to newly allocated output string encoded in the
-current locale's character set.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert possibly ACE encoded domain name in UTF-8 format into a
-string encoded in the current locale's character set.  The domain
-name may contain several labels, separated by dots.  The output
-buffer must be deallocated by the caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
-@subheading idna_to_unicode_lzlz
-@anchor{idna_to_unicode_lzlz}
-@deftypefun {int} {idna_to_unicode_lzlz} (const char * @var{input}, char ** @var{output}, int @var{flags})
-@var{input}: zero-terminated string encoded in the current locale's
-character set.
-
-@var{output}: pointer to newly allocated output string encoded in the
-current locale's character set.
-
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
-
-Convert possibly ACE encoded domain name in the locale's character
-set into a string encoded in the current locale's character set.
-The domain name may contain several labels, separated by dots.  The
-output buffer must be deallocated by the caller.
-
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
-@end deftypefun
-
index 7674516..1914c9a 100644 (file)
@@ -1,7 +1,7 @@
 @subheading idna_strerror
 @anchor{idna_strerror}
 @deftypefun {const char *} {idna_strerror} (Idna_rc @var{rc})
-@var{rc}: an @code{Idna_rc} return code.
+@var{rc}: an @code{Idna_rc}  return code.
 
 Convert a return code integer to a text string.  This string can be
 used to output a diagnostic message to the user.
@@ -32,7 +32,7 @@ string does not equal the input.
 @strong{IDNA_CONTAINS_ACE_PREFIX:} The input contains the ACE prefix (for
 ToASCII).
 
-@strong{IDNA_ICONV_ERROR:} Could not convert string in locale encoding.
+@strong{IDNA_ICONV_ERROR:} Character encoding conversion error.
 
 @strong{IDNA_MALLOC_ERROR:} Could not allocate buffer (this is typically a
 fatal error).
@@ -40,7 +40,7 @@ fatal error).
 @strong{IDNA_DLOPEN_ERROR:} Could not dlopen the libcidn DSO (only used
 internally in libc).
 
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  @code{rc} .
 @end deftypefun
 
index 6633090..0c5b6b1 100644 (file)
@@ -8,8 +8,8 @@
 @var{out}: output zero terminated string that must have room for at
 least 63 characters plus the terminating zero.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 The ToASCII operation takes a sequence of Unicode code points that
 make up one domain label and transforms it into a sequence of code
@@ -31,6 +31,6 @@ range to begin with (although it could fail). Applying the ToASCII
 operation multiple times has exactly the same effect as applying it just
 once.
 
-@strong{Return value:} Returns 0 on success, or an @code{Idna_rc} error code.
+Return value: Returns 0 on success, or an @code{Idna_rc}  error code.
 @end deftypefun
 
index 6882e73..6151c35 100644 (file)
@@ -5,13 +5,13 @@
 
 @var{output}: pointer to newly allocated output string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert UCS-4 domain name to ASCII string.  The domain name may
 contain several labels, separated by dots.  The output buffer must
 be deallocated by the caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index bd279c4..bd757ed 100644 (file)
@@ -5,13 +5,13 @@
 
 @var{output}: pointer to newly allocated output string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert UTF-8 domain name to ASCII string.  The domain name may
 contain several labels, separated by dots.  The output buffer must
 be deallocated by the caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index be5465d..c1adcd6 100644 (file)
@@ -6,13 +6,13 @@ character set.
 
 @var{output}: pointer to newly allocated output string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert domain name in the locale's encoding to ASCII string.  The
 domain name may contain several labels, separated by dots.  The
 output buffer must be deallocated by the caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index a1d7d4e..b8ba6ba 100644 (file)
@@ -10,8 +10,8 @@
 @var{outlen}: on input, maximum size of output array with unicode code points,
 on exit, actual size of output array with unicode code points.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 The ToUnicode operation takes a sequence of Unicode code points
 that make up one domain label and returns a sequence of Unicode
@@ -31,7 +31,7 @@ The inputs to ToUnicode are a sequence of code points, the
 AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
 ToUnicode is always a sequence of Unicode code points.
 
-@strong{Return value:} Returns @code{Idna_rc} error condition, but it must only be
+Return value: Returns @code{Idna_rc}  error condition, but it must only be
 used for debugging purposes.  The output buffer is always
 guaranteed to contain the correct data according to the
 specification (sans malloc induced errors).  NB!  This means that
index 5c45829..39c1718 100644 (file)
@@ -5,14 +5,14 @@
 
 @var{output}: pointer to newly allocated output Unicode string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert possibly ACE encoded domain name in UCS-4 format into a
 UCS-4 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index ef32d1a..2070c85 100644 (file)
@@ -5,14 +5,14 @@
 
 @var{output}: pointer to newly allocated output Unicode string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert possibly ACE encoded domain name in UTF-8 format into a
 UCS-4 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index 49d1c04..b73611b 100644 (file)
@@ -5,14 +5,14 @@
 
 @var{output}: pointer to newly allocated output UTF-8 string.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert possibly ACE encoded domain name in UTF-8 format into a
 UTF-8 string.  The domain name may contain several labels,
 separated by dots.  The output buffer must be deallocated by the
 caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index 7ca0e7c..23fec20 100644 (file)
@@ -6,14 +6,14 @@
 @var{output}: pointer to newly allocated output string encoded in the
 current locale's character set.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert possibly ACE encoded domain name in UTF-8 format into a
 string encoded in the current locale's character set.  The domain
 name may contain several labels, separated by dots.  The output
 buffer must be deallocated by the caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
index 30b43f3..3074c7a 100644 (file)
@@ -7,14 +7,14 @@ character set.
 @var{output}: pointer to newly allocated output string encoded in the
 current locale's character set.
 
-@var{flags}: an @code{Idna_flags} value, e.g., @code{IDNA_ALLOW_UNASSIGNED} or
-@code{IDNA_USE_STD3_ASCII_RULES}.
+@var{flags}: an @code{Idna_flags}  value, e.g., @code{IDNA_ALLOW_UNASSIGNED}  or
+@code{IDNA_USE_STD3_ASCII_RULES} .
 
 Convert possibly ACE encoded domain name in the locale's character
 set into a string encoded in the current locale's character set.
 The domain name may contain several labels, separated by dots.  The
 output buffer must be deallocated by the caller.
 
-@strong{Return value:} Returns @code{IDNA_SUCCESS} on success, or error code.
+Return value: Returns @code{IDNA_SUCCESS}  on success, or error code.
 @end deftypefun
 
diff --git a/doc/texi/nfkc.c.texi b/doc/texi/nfkc.c.texi
deleted file mode 100644 (file)
index 8a715c2..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-@subheading stringprep_utf8_to_unichar
-@anchor{stringprep_utf8_to_unichar}
-@deftypefun {uint32_t} {stringprep_utf8_to_unichar} (const char * @var{p})
-@var{p}: a pointer to Unicode character encoded as UTF-8
-
-Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
-If @code{p} does not point to a valid UTF-8 encoded character, results are
-undefined.
-
-@strong{Return value:} the resulting character.
-@end deftypefun
-
-@subheading stringprep_unichar_to_utf8
-@anchor{stringprep_unichar_to_utf8}
-@deftypefun {int} {stringprep_unichar_to_utf8} (uint32_t @var{c}, char * @var{outbuf})
-@var{c}: a ISO10646 character code
-
-@var{outbuf}: output buffer, must have at least 6 bytes of space.
-If @code{NULL}, the length will be computed and returned
-and nothing will be written to @code{outbuf}.
-
-Converts a single character to UTF-8.
-
-@strong{Return value:} number of bytes written.
-@end deftypefun
-
-@subheading stringprep_utf8_to_ucs4
-@anchor{stringprep_utf8_to_ucs4}
-@deftypefun {uint32_t *} {stringprep_utf8_to_ucs4} (const char * @var{str}, ssize_t @var{len}, size_t * @var{items_written})
-@var{str}: a UTF-8 encoded string
-
-@var{len}: the maximum length of @code{str} to use. If @code{len} < 0, then
-the string is nul-terminated.
-
-@var{items_written}: location to store the number of characters in the
-result, or @code{NULL}.
-
-Convert a string from UTF-8 to a 32-bit fixed width
-representation as UCS-4, assuming valid UTF-8 input.
-This function does no error checking on the input.
-
-@strong{Return value:} a pointer to a newly allocated UCS-4 string.
-This value must be deallocated by the caller.
-@end deftypefun
-
-@subheading stringprep_ucs4_to_utf8
-@anchor{stringprep_ucs4_to_utf8}
-@deftypefun {char *} {stringprep_ucs4_to_utf8} (const uint32_t * @var{str}, ssize_t @var{len}, size_t * @var{items_read}, size_t * @var{items_written})
-@var{str}: a UCS-4 encoded string
-
-@var{len}: the maximum length of @code{str} to use. If @code{len} < 0, then
-the string is terminated with a 0 character.
-
-@var{items_read}: location to store number of characters read read, or @code{NULL}.
-
-@var{items_written}: location to store number of bytes written or @code{NULL}.
-The value here stored does not include the trailing 0
-byte.
-
-Convert a string from a 32-bit fixed width representation as UCS-4.
-to UTF-8. The result will be terminated with a 0 byte.
-
-@strong{Return value:} a pointer to a newly allocated UTF-8 string.
-This value must be deallocated by the caller.
-If an error occurs, @code{NULL} will be returned.
-@end deftypefun
-
-@subheading stringprep_utf8_nfkc_normalize
-@anchor{stringprep_utf8_nfkc_normalize}
-@deftypefun {char *} {stringprep_utf8_nfkc_normalize} (const char * @var{str}, ssize_t @var{len})
-@var{str}: a UTF-8 encoded string.
-
-@var{len}: length of @code{str}, in bytes, or -1 if @code{str} is nul-terminated.
-
-Converts a string into canonical form, standardizing
-such issues as whether a character with an accent
-is represented as a base character and combining
-accent or as a single precomposed character.
-
-The normalization mode is NFKC (ALL COMPOSE).  It standardizes
-differences that do not affect the text content, such as the
-above-mentioned accent representation. It standardizes the
-"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
-the standard forms (in this case DIGIT THREE). Formatting
-information may be lost but for most text operations such
-characters should be considered the same. It returns a result with
-composed forms rather than a maximally decomposed form.
-
-@strong{Return value:} a newly allocated string, that is the
-NFKC normalized form of @code{str}.
-@end deftypefun
-
-@subheading stringprep_ucs4_nfkc_normalize
-@anchor{stringprep_ucs4_nfkc_normalize}
-@deftypefun {uint32_t *} {stringprep_ucs4_nfkc_normalize} (const uint32_t * @var{str}, ssize_t @var{len})
-@var{str}: a Unicode string.
-
-@var{len}: length of @code{str} array, or -1 if @code{str} is nul-terminated.
-
-Converts a UCS4 string into canonical form, see
-@code{stringprep_utf8_nfkc_normalize()} for more information.
-
-@strong{Return value:} a newly allocated Unicode string, that is the NFKC
-normalized form of @code{str}.
-@end deftypefun
-
diff --git a/doc/texi/pr29.c.texi b/doc/texi/pr29.c.texi
deleted file mode 100644 (file)
index 4f5e489..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-@subheading pr29_4
-@anchor{pr29_4}
-@deftypefun {int} {pr29_4} (const uint32_t * @var{in}, size_t @var{len})
-@var{in}: input array with unicode code points.
-
-@var{len}: length of input array with unicode code points.
-
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations).
-@end deftypefun
-
-@subheading pr29_4z
-@anchor{pr29_4z}
-@deftypefun {int} {pr29_4z} (const uint32_t * @var{in})
-@var{in}: zero terminated array of Unicode code points.
-
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations).
-@end deftypefun
-
-@subheading pr29_8z
-@anchor{pr29_8z}
-@deftypefun {int} {pr29_8z} (const char * @var{in})
-@var{in}: zero terminated input UTF-8 string.
-
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.
-
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
-(i.e., may be normalized into different strings by different
-implementations), or @code{PR29_STRINGPREP_ERROR} if there was a
-problem converting the string from UTF-8 to UCS-4.
-@end deftypefun
-
index 51649fe..6304400 100644 (file)
@@ -9,8 +9,8 @@ Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
 
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
+Return value: Returns the @code{Pr29_rc}  value @code{PR29_SUCCESS}  on success,
+and @code{PR29_PROBLEM}  if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
 implementations).
 @end deftypefun
index 2a79bfe..b544a2b 100644 (file)
@@ -7,8 +7,8 @@ Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
 
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
+Return value: Returns the @code{Pr29_rc}  value @code{PR29_SUCCESS}  on success,
+and @code{PR29_PROBLEM}  if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
 implementations).
 @end deftypefun
index 8516b2f..172b48d 100644 (file)
@@ -7,10 +7,10 @@ Check the input to see if it may be normalized into different
 strings by different NFKC implementations, due to an anomaly in the
 NFKC specifications.
 
-@strong{Return value:} Returns the @code{Pr29_rc} value @code{PR29_SUCCESS} on success,
-and @code{PR29_PROBLEM} if the input sequence is a "problem sequence"
+Return value: Returns the @code{Pr29_rc}  value @code{PR29_SUCCESS}  on success,
+and @code{PR29_PROBLEM}  if the input sequence is a "problem sequence"
 (i.e., may be normalized into different strings by different
-implementations), or @code{PR29_STRINGPREP_ERROR} if there was a
+implementations), or @code{PR29_STRINGPREP_ERROR}  if there was a
 problem converting the string from UTF-8 to UCS-4.
 @end deftypefun
 
index 2f8cd3b..8f858a2 100644 (file)
@@ -1,7 +1,7 @@
 @subheading pr29_strerror
 @anchor{pr29_strerror}
 @deftypefun {const char *} {pr29_strerror} (Pr29_rc @var{rc})
-@var{rc}: an @code{Pr29_rc} return code.
+@var{rc}: an @code{Pr29_rc}  return code.
 
 Convert a return code integer to a text string.  This string can be
 used to output a diagnostic message to the user.
@@ -13,9 +13,9 @@ non-zero values, for logical comparison purposes.
 @strong{PR29_PROBLEM:} A problem sequence was encountered.
 
 @strong{PR29_STRINGPREP_ERROR:} The character set conversion failed (only
-for @code{pr29_8z()}).
+for @code{pr29_8z()} ).
 
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  @code{rc} .
 @end deftypefun
 
diff --git a/doc/texi/punycode.c.texi b/doc/texi/punycode.c.texi
deleted file mode 100644 (file)
index 8c7887c..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-@subheading punycode_encode
-@anchor{punycode_encode}
-@deftypefun {int} {punycode_encode} (size_t @var{input_length}, const punycode_uint [] @var{input}, const unsigned char [] @var{case_flags}, size_t * @var{output_length}, char [] @var{output})
-@var{input_length}: The number of code points in the @code{input} array and
-the number of flags in the @code{case_flags} array.
-
-@var{input}: An array of code points.  They are presumed to be Unicode
-code points, but that is not strictly REQUIRED.  The array
-contains code points, not code units.  UTF-16 uses code units
-D800 through DFFF to refer to code points 10000..10FFFF.  The
-code points D800..DFFF do not occur in any valid Unicode string.
-The code points that can occur in Unicode strings (0..D7FF and
-E000..10FFFF) are also called Unicode scalar values.
-
-@var{case_flags}: A @code{NULL} pointer or an array of boolean values parallel
-to the @code{input} array.  Nonzero (true, flagged) suggests that the
-corresponding Unicode character be forced to uppercase after
-being decoded (if possible), and zero (false, unflagged) suggests
-that it be forced to lowercase (if possible).  ASCII code points
-(0..7F) are encoded literally, except that ASCII letters are
-forced to uppercase or lowercase according to the corresponding
-case flags.  If @code{case_flags} is a @code{NULL} pointer then ASCII letters
-are left as they are, and other code points are treated as
-unflagged.
-
-@var{output_length}: The caller passes in the maximum number of ASCII
-code points that it can receive.  On successful return it will
-contain the number of ASCII code points actually output.
-
-@var{output}: An array of ASCII code points.  It is *not*
-null-terminated; it will contain zeros if and only if the @code{input}
-contains zeros.  (Of course the caller can leave room for a
-terminator and add one if needed.)
-
-Converts a sequence of code points (presumed to be Unicode code
-points) to Punycode.
-
-@strong{Return value:} The return value can be any of the @code{Punycode_status}
-values defined above except @code{PUNYCODE_BAD_INPUT}.  If not
-@code{PUNYCODE_SUCCESS}, then @code{output_size} and @code{output} might contain
-garbage.
-@end deftypefun
-
-@subheading punycode_decode
-@anchor{punycode_decode}
-@deftypefun {int} {punycode_decode} (size_t @var{input_length}, const char [] @var{input}, size_t * @var{output_length}, punycode_uint [] @var{output}, unsigned char [] @var{case_flags})
-@var{input_length}: The number of ASCII code points in the @code{input} array.
-
-@var{input}: An array of ASCII code points (0..7F).
-
-@var{output_length}: The caller passes in the maximum number of code
-points that it can receive into the @code{output} array (which is also
-the maximum number of flags that it can receive into the
-@code{case_flags} array, if @code{case_flags} is not a @code{NULL} pointer).  On
-successful return it will contain the number of code points
-actually output (which is also the number of flags actually
-output, if case_flags is not a null pointer).  The decoder will
-never need to output more code points than the number of ASCII
-code points in the input, because of the way the encoding is
-defined.  The number of code points output cannot exceed the
-maximum possible value of a punycode_uint, even if the supplied
-@code{output_length} is greater than that.
-
-@var{output}: An array of code points like the input argument of
-@code{punycode_encode()} (see above).
-
-@var{case_flags}: A @code{NULL} pointer (if the flags are not needed by the
-caller) or an array of boolean values parallel to the @code{output}
-array.  Nonzero (true, flagged) suggests that the corresponding
-Unicode character be forced to uppercase by the caller (if
-possible), and zero (false, unflagged) suggests that it be forced
-to lowercase (if possible).  ASCII code points (0..7F) are output
-already in the proper case, but their flags will be set
-appropriately so that applying the flags would be harmless.
-
-Converts Punycode to a sequence of code points (presumed to be
-Unicode code points).
-
-@strong{Return value:} The return value can be any of the @code{Punycode_status}
-values defined above.  If not @code{PUNYCODE_SUCCESS}, then
-@code{output_length}, @code{output}, and @code{case_flags} might contain garbage.
-@end deftypefun
-
index 323daa1..7319179 100644 (file)
@@ -1,14 +1,14 @@
 @subheading punycode_decode
 @anchor{punycode_decode}
 @deftypefun {int} {punycode_decode} (size_t @var{input_length}, const char [] @var{input}, size_t * @var{output_length}, punycode_uint [] @var{output}, unsigned char [] @var{case_flags})
-@var{input_length}: The number of ASCII code points in the @code{input} array.
+@var{input_length}: The number of ASCII code points in the  @code{input} array.
 
 @var{input}: An array of ASCII code points (0..7F).
 
 @var{output_length}: The caller passes in the maximum number of code
-points that it can receive into the @code{output} array (which is also
+points that it can receive into the  @code{output} array (which is also
 the maximum number of flags that it can receive into the
-@code{case_flags} array, if @code{case_flags} is not a @code{NULL} pointer).  On
+ @code{case_flags} array, if  @code{case_flags} is not a @code{NULL}  pointer).  On
 successful return it will contain the number of code points
 actually output (which is also the number of flags actually
 output, if case_flags is not a null pointer).  The decoder will
@@ -16,14 +16,13 @@ never need to output more code points than the number of ASCII
 code points in the input, because of the way the encoding is
 defined.  The number of code points output cannot exceed the
 maximum possible value of a punycode_uint, even if the supplied
-@code{output_length} is greater than that.
+ @code{output_length} is greater than that.
 
 @var{output}: An array of code points like the input argument of
-@code{punycode_encode()} (see above).
+@code{punycode_encode()}  (see above).
 
-@var{case_flags}: A @code{NULL} pointer (if the flags are not needed by the
-caller) or an array of boolean values parallel to the @code{output}
-array.  Nonzero (true, flagged) suggests that the corresponding
+@var{case_flags}: A @code{NULL}  pointer (if the flags are not needed by the
+caller) or an array of boolean values parallel to the  @code{output} array.  Nonzero (true, flagged) suggests that the corresponding
 Unicode character be forced to uppercase by the caller (if
 possible), and zero (false, unflagged) suggests that it be forced
 to lowercase (if possible).  ASCII code points (0..7F) are output
@@ -33,8 +32,8 @@ appropriately so that applying the flags would be harmless.
 Converts Punycode to a sequence of code points (presumed to be
 Unicode code points).
 
-@strong{Return value:} The return value can be any of the @code{Punycode_status}
-values defined above.  If not @code{PUNYCODE_SUCCESS}, then
-@code{output_length}, @code{output}, and @code{case_flags} might contain garbage.
+Return value: The return value can be any of the @code{Punycode_status} 
+values defined above.  If not @code{PUNYCODE_SUCCESS} , then
+ @code{output_length} ,  @code{output} , and  @code{case_flags} might contain garbage.
 @end deftypefun
 
index 3f7d57b..de7ef4a 100644 (file)
@@ -1,8 +1,8 @@
 @subheading punycode_encode
 @anchor{punycode_encode}
 @deftypefun {int} {punycode_encode} (size_t @var{input_length}, const punycode_uint [] @var{input}, const unsigned char [] @var{case_flags}, size_t * @var{output_length}, char [] @var{output})
-@var{input_length}: The number of code points in the @code{input} array and
-the number of flags in the @code{case_flags} array.
+@var{input_length}: The number of code points in the  @code{input} array and
+the number of flags in the  @code{case_flags} array.
 
 @var{input}: An array of code points.  They are presumed to be Unicode
 code points, but that is not strictly REQUIRED.  The array
@@ -12,14 +12,14 @@ code points D800..DFFF do not occur in any valid Unicode string.
 The code points that can occur in Unicode strings (0..D7FF and
 E000..10FFFF) are also called Unicode scalar values.
 
-@var{case_flags}: A @code{NULL} pointer or an array of boolean values parallel
-to the @code{input} array.  Nonzero (true, flagged) suggests that the
+@var{case_flags}: A @code{NULL}  pointer or an array of boolean values parallel
+to the  @code{input} array.  Nonzero (true, flagged) suggests that the
 corresponding Unicode character be forced to uppercase after
 being decoded (if possible), and zero (false, unflagged) suggests
 that it be forced to lowercase (if possible).  ASCII code points
 (0..7F) are encoded literally, except that ASCII letters are
 forced to uppercase or lowercase according to the corresponding
-case flags.  If @code{case_flags} is a @code{NULL} pointer then ASCII letters
+case flags.  If  @code{case_flags} is a @code{NULL}  pointer then ASCII letters
 are left as they are, and other code points are treated as
 unflagged.
 
@@ -28,16 +28,22 @@ code points that it can receive.  On successful return it will
 contain the number of ASCII code points actually output.
 
 @var{output}: An array of ASCII code points.  It is *not*
-null-terminated; it will contain zeros if and only if the @code{input}
-contains zeros.  (Of course the caller can leave room for a
+null-terminated; it will contain zeros if and only if the  @code{input} contains zeros.  (Of course the caller can leave room for a
 terminator and add one if needed.)
 
 Converts a sequence of code points (presumed to be Unicode code
 points) to Punycode.
 
-@strong{Return value:} The return value can be any of the @code{Punycode_status}
-values defined above except @code{PUNYCODE_BAD_INPUT}.  If not
-@code{PUNYCODE_SUCCESS}, then @code{output_size} and @code{output} might contain
+Return value: The return value can be any of the @code{Punycode_status} 
+values defined above except @code{PUNYCODE_BAD_INPUT} .  If not
+@code{PUNYCODE_SUCCESS} , then  @code{output_size} and  @code{output} might contain
+garbage.
+Converts a sequence of code points (presumed to be Unicode code
+points) to Punycode.
+
+Return value: The return value can be any of the @code{Punycode_status} 
+values defined above except @code{PUNYCODE_BAD_INPUT} .  If not
+@code{PUNYCODE_SUCCESS} , then  @code{output_size} and  @code{output} might contain
 garbage.
 @end deftypefun
 
index 9e29628..f671f66 100644 (file)
@@ -1,7 +1,7 @@
 @subheading punycode_strerror
 @anchor{punycode_strerror}
 @deftypefun {const char *} {punycode_strerror} (Punycode_status @var{rc})
-@var{rc}: an @code{Punycode_status} return code.
+@var{rc}: an @code{Punycode_status}  return code.
 
 Convert a return code integer to a text string.  This string can be
 used to output a diagnostic message to the user.
@@ -16,7 +16,7 @@ non-zero values, for logical comparison purposes.
 
 @strong{PUNYCODE_OVERFLOW:} Input needs wider integers to process.
 
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  @code{rc} .
 @end deftypefun
 
diff --git a/doc/texi/strerror-idna.c.texi b/doc/texi/strerror-idna.c.texi
deleted file mode 100644 (file)
index 7674516..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-@subheading idna_strerror
-@anchor{idna_strerror}
-@deftypefun {const char *} {idna_strerror} (Idna_rc @var{rc})
-@var{rc}: an @code{Idna_rc} return code.
-
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-@strong{IDNA_SUCCESS:} Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-@strong{IDNA_STRINGPREP_ERROR:} Error during string preparation.
-
-@strong{IDNA_PUNYCODE_ERROR:} Error during punycode operation.
-
-@strong{IDNA_CONTAINS_NON_LDH:} For IDNA_USE_STD3_ASCII_RULES, indicate that
-the string contains non-LDH ASCII characters.
-
-@strong{IDNA_CONTAINS_MINUS:} For IDNA_USE_STD3_ASCII_RULES, indicate that
-the string contains a leading or trailing hyphen-minus (U+002D).
-
-@strong{IDNA_INVALID_LENGTH:} The final output string is not within the
-(inclusive) range 1 to 63 characters.
-
-@strong{IDNA_NO_ACE_PREFIX:} The string does not contain the ACE prefix
-(for ToUnicode).
-
-@strong{IDNA_ROUNDTRIP_VERIFY_ERROR:} The ToASCII operation on output
-string does not equal the input.
-
-@strong{IDNA_CONTAINS_ACE_PREFIX:} The input contains the ACE prefix (for
-ToASCII).
-
-@strong{IDNA_ICONV_ERROR:} Could not convert string in locale encoding.
-
-@strong{IDNA_MALLOC_ERROR:} Could not allocate buffer (this is typically a
-fatal error).
-
-@strong{IDNA_DLOPEN_ERROR:} Could not dlopen the libcidn DSO (only used
-internally in libc).
-
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
-@end deftypefun
-
diff --git a/doc/texi/strerror-pr29.c.texi b/doc/texi/strerror-pr29.c.texi
deleted file mode 100644 (file)
index 2f8cd3b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-@subheading pr29_strerror
-@anchor{pr29_strerror}
-@deftypefun {const char *} {pr29_strerror} (Pr29_rc @var{rc})
-@var{rc}: an @code{Pr29_rc} return code.
-
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-@strong{PR29_SUCCESS:} Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-@strong{PR29_PROBLEM:} A problem sequence was encountered.
-
-@strong{PR29_STRINGPREP_ERROR:} The character set conversion failed (only
-for @code{pr29_8z()}).
-
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
-@end deftypefun
-
diff --git a/doc/texi/strerror-punycode.c.texi b/doc/texi/strerror-punycode.c.texi
deleted file mode 100644 (file)
index 9e29628..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-@subheading punycode_strerror
-@anchor{punycode_strerror}
-@deftypefun {const char *} {punycode_strerror} (Punycode_status @var{rc})
-@var{rc}: an @code{Punycode_status} return code.
-
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-@strong{PUNYCODE_SUCCESS:} Successful operation.  This value is guaranteed
-to always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-@strong{PUNYCODE_BAD_INPUT:} Input is invalid.
-
-@strong{PUNYCODE_BIG_OUTPUT:} Output would exceed the space provided.
-
-@strong{PUNYCODE_OVERFLOW:} Input needs wider integers to process.
-
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
-@end deftypefun
-
diff --git a/doc/texi/strerror-stringprep.c.texi b/doc/texi/strerror-stringprep.c.texi
deleted file mode 100644 (file)
index ee1b067..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-@subheading stringprep_strerror
-@anchor{stringprep_strerror}
-@deftypefun {const char *} {stringprep_strerror} (Stringprep_rc @var{rc})
-@var{rc}: a @code{Stringprep_rc} return code.
-
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-@strong{STRINGPREP_OK:} Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-@strong{STRINGPREP_CONTAINS_UNASSIGNED:} String contain unassigned Unicode
-code points, which is forbidden by the profile.
-
-@strong{STRINGPREP_CONTAINS_PROHIBITED:} String contain code points
-prohibited by the profile.
-
-@strong{STRINGPREP_BIDI_BOTH_L_AND_RAL:} String contain code points with
-conflicting bidirection category.
-
-@strong{STRINGPREP_BIDI_LEADTRAIL_NOT_RAL:} Leading and trailing character
-in string not of proper bidirectional category.
-
-@strong{STRINGPREP_BIDI_CONTAINS_PROHIBITED:} Contains prohibited code
-points detected by bidirectional code.
-
-@strong{STRINGPREP_TOO_SMALL_BUFFER:} Buffer handed to function was too
-small.  This usually indicate a problem in the calling
-application.
-
-@strong{STRINGPREP_PROFILE_ERROR:} The stringprep profile was inconsistent.
-This usually indicate an internal error in the library.
-
-@strong{STRINGPREP_FLAG_ERROR:} The supplied flag conflicted with profile.
-This usually indicate a problem in the calling application.
-
-@strong{STRINGPREP_UNKNOWN_PROFILE:} The supplied profile name was not
-known to the library.
-
-@strong{STRINGPREP_NFKC_FAILED:} The Unicode NFKC operation failed.  This
-usually indicate an internal error in the library.
-
-@strong{STRINGPREP_MALLOC_ERROR:} The @code{malloc()} was out of memory.  This is
-usually a fatal error.
-
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
-@end deftypefun
-
diff --git a/doc/texi/strerror-tld.c.texi b/doc/texi/strerror-tld.c.texi
deleted file mode 100644 (file)
index 3eeb9c2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-@subheading tld_strerror
-@anchor{tld_strerror}
-@deftypefun {const char *} {tld_strerror} (Tld_rc @var{rc})
-@var{rc}: tld return code
-
-Convert a return code integer to a text string.  This string can be
-used to output a diagnostic message to the user.
-
-@strong{TLD_SUCCESS:} Successful operation.  This value is guaranteed to
-always be zero, the remaining ones are only guaranteed to hold
-non-zero values, for logical comparison purposes.
-
-@strong{TLD_INVALID:} Invalid character found.
-
-@strong{TLD_NODATA:} No input data was provided.
-
-@strong{TLD_MALLOC_ERROR:} Error during memory allocation.
-
-@strong{TLD_ICONV_ERROR:} Error during iconv string conversion.
-
-@strong{TLD_NO_TLD:} No top-level domain found in domain string.
-
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
-@end deftypefun
-
diff --git a/doc/texi/stringprep.c.texi b/doc/texi/stringprep.c.texi
deleted file mode 100644 (file)
index 0529788..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-@subheading stringprep_4i
-@anchor{stringprep_4i}
-@deftypefun {int} {stringprep_4i} (uint32_t * @var{ucs4}, size_t * @var{len}, size_t @var{maxucs4len}, Stringprep_profile_flags @var{flags}, const Stringprep_profile * @var{profile})
-@var{ucs4}: input/output array with string to prepare.
-
-@var{len}: on input, length of input array with Unicode code points,
-on exit, length of output array with Unicode code points.
-
-@var{maxucs4len}: maximum length of input/output array.
-
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
-
-@var{profile}: pointer to @code{Stringprep_profile} to use.
-
-Prepare the input UCS-4 string according to the stringprep profile,
-and write back the result to the input string.
-
-The input is not required to be zero terminated (@code{ucs4}[@code{len}] = 0).
-The output will not be zero terminated unless @code{ucs4}[@code{len}] = 0.
-Instead, see @code{stringprep_4zi()} if your input is zero terminated or
-if you want the output to be.
-
-Since the stringprep operation can expand the string, @code{maxucs4len}
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
-
-The @code{profile} contain the @code{Stringprep_profile} instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an
-@code{Stringprep_rc} error code.
-@end deftypefun
-
-@subheading stringprep_4zi
-@anchor{stringprep_4zi}
-@deftypefun {int} {stringprep_4zi} (uint32_t * @var{ucs4}, size_t @var{maxucs4len}, Stringprep_profile_flags @var{flags}, const Stringprep_profile * @var{profile})
-@var{ucs4}: input/output array with zero terminated string to prepare.
-
-@var{maxucs4len}: maximum length of input/output array.
-
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
-
-@var{profile}: pointer to @code{Stringprep_profile} to use.
-
-Prepare the input zero terminated UCS-4 string according to the
-stringprep profile, and write back the result to the input string.
-
-Since the stringprep operation can expand the string, @code{maxucs4len}
-indicate how large the buffer holding the string is.  This function
-will not read or write to code points outside that size.
-
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
-
-The @code{profile} contain the @code{Stringprep_profile} instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an
-@code{Stringprep_rc} error code.
-@end deftypefun
-
-@subheading stringprep
-@anchor{stringprep}
-@deftypefun {int} {stringprep} (char * @var{in}, size_t @var{maxlen}, Stringprep_profile_flags @var{flags}, const Stringprep_profile * @var{profile})
-@var{in}: input/ouput array with string to prepare.
-
-@var{maxlen}: maximum length of input/output array.
-
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
-
-@var{profile}: pointer to @code{Stringprep_profile} to use.
-
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and write back the result to the input string.
-
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-@code{stringprep_locale_to_utf8()}.
-
-Since the stringprep operation can expand the string, @code{maxlen}
-indicate how large the buffer holding the string is.  This function
-will not read or write to characters outside that size.
-
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
-
-The @code{profile} contain the @code{Stringprep_profile} instructions to
-perform.  Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.
-
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an error code.
-@end deftypefun
-
-@subheading stringprep_profile
-@anchor{stringprep_profile}
-@deftypefun {int} {stringprep_profile} (const char * @var{in}, char ** @var{out}, const char * @var{profile}, Stringprep_profile_flags @var{flags})
-@var{in}: input array with UTF-8 string to prepare.
-
-@var{out}: output variable with pointer to newly allocate string.
-
-@var{profile}: name of stringprep profile to use.
-
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
-
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and return the result in a newly allocated
-variable.
-
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-@code{stringprep_locale_to_utf8()}.
-
-The output @code{out} variable must be deallocated by the caller.
-
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
-
-The @code{profile} specifies the name of the stringprep profile to use.
-It must be one of the internally supported stringprep profiles.
-
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an error code.
-@end deftypefun
-
index 5d082a3..c655542 100644 (file)
@@ -1,32 +1,31 @@
 @subheading stringprep
 @anchor{stringprep}
 @deftypefun {int} {stringprep} (char * @var{in}, size_t @var{maxlen}, Stringprep_profile_flags @var{flags}, const Stringprep_profile * @var{profile})
-@var{in}: input/ouput array with string to prepare.
+@var{in}: input/output array with string to prepare.
 
 @var{maxlen}: maximum length of input/output array.
 
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
+@var{flags}: a @code{Stringprep_profile_flags}  value, or 0.
 
-@var{profile}: pointer to @code{Stringprep_profile} to use.
+@var{profile}: pointer to @code{Stringprep_profile}  to use.
 
 Prepare the input zero terminated UTF-8 string according to the
 stringprep profile, and write back the result to the input string.
 
 Note that you must convert strings entered in the systems locale
 into UTF-8 before using this function, see
-@code{stringprep_locale_to_utf8()}.
+@code{stringprep_locale_to_utf8()} .
 
-Since the stringprep operation can expand the string, @code{maxlen}
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  @code{maxlen} indicate how large the buffer holding the string is.  This function
 will not read or write to characters outside that size.
 
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
+The  @code{flags} are one of @code{Stringprep_profile_flags}  values, or 0.
 
-The @code{profile} contain the @code{Stringprep_profile} instructions to
+The  @code{profile} contain the @code{Stringprep_profile}  instructions to
 perform.  Your application can define new profiles, possibly
 re-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
 
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an error code.
+Return value: Returns @code{STRINGPREP_OK}  iff successful, or an error code.
 @end deftypefun
 
index 7eac683..4bced52 100644 (file)
@@ -8,30 +8,49 @@ on exit, length of output array with Unicode code points.
 
 @var{maxucs4len}: maximum length of input/output array.
 
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
+@var{flags}: a @code{Stringprep_profile_flags}  value, or 0.
 
-@var{profile}: pointer to @code{Stringprep_profile} to use.
+@var{profile}: pointer to @code{Stringprep_profile}  to use.
 
 Prepare the input UCS-4 string according to the stringprep profile,
 and write back the result to the input string.
 
-The input is not required to be zero terminated (@code{ucs4}[@code{len}] = 0).
-The output will not be zero terminated unless @code{ucs4}[@code{len}] = 0.
-Instead, see @code{stringprep_4zi()} if your input is zero terminated or
+The input is not required to be zero terminated ( @code{ucs4} [ @code{len} ] = 0).
+The output will not be zero terminated unless  @code{ucs4} [ @code{len} ] = 0.
+Instead, see @code{stringprep_4zi()}  if your input is zero terminated or
 if you want the output to be.
 
-Since the stringprep operation can expand the string, @code{maxucs4len}
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  @code{maxucs4len} indicate how large the buffer holding the string is.  This function
 will not read or write to code points outside that size.
 
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
+The  @code{flags} are one of @code{Stringprep_profile_flags}  values, or 0.
 
-The @code{profile} contain the @code{Stringprep_profile} instructions to
+The  @code{profile} contain the @code{Stringprep_profile}  instructions to
 perform.  Your application can define new profiles, possibly
 re-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
 
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an
-@code{Stringprep_rc} error code.
+Return value: Returns @code{STRINGPREP_OK}  iff successful, or an
+@code{Stringprep_rc}  error code.
+Prepare the input UCS-4 string according to the stringprep profile,
+and write back the result to the input string.
+
+The input is not required to be zero terminated ( @code{ucs4} [ @code{len} ] = 0).
+The output will not be zero terminated unless  @code{ucs4} [ @code{len} ] = 0.
+Instead, see @code{stringprep_4zi()}  if your input is zero terminated or
+if you want the output to be.
+
+Since the stringprep operation can expand the string,  @code{maxucs4len} indicate how large the buffer holding the string is.  This function
+will not read or write to code points outside that size.
+
+The  @code{flags} are one of @code{Stringprep_profile_flags}  values, or 0.
+
+The  @code{profile} contain the @code{Stringprep_profile}  instructions to
+perform.  Your application can define new profiles, possibly
+re-using the generic stringprep tables that always will be part of
+the library, or use one of the currently supported profiles.
+
+Return value: Returns @code{STRINGPREP_OK}  iff successful, or an
+@code{Stringprep_rc}  error code.
 @end deftypefun
 
index 7b27522..87532de 100644 (file)
@@ -5,25 +5,24 @@
 
 @var{maxucs4len}: maximum length of input/output array.
 
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
+@var{flags}: a @code{Stringprep_profile_flags}  value, or 0.
 
-@var{profile}: pointer to @code{Stringprep_profile} to use.
+@var{profile}: pointer to @code{Stringprep_profile}  to use.
 
 Prepare the input zero terminated UCS-4 string according to the
 stringprep profile, and write back the result to the input string.
 
-Since the stringprep operation can expand the string, @code{maxucs4len}
-indicate how large the buffer holding the string is.  This function
+Since the stringprep operation can expand the string,  @code{maxucs4len} indicate how large the buffer holding the string is.  This function
 will not read or write to code points outside that size.
 
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
+The  @code{flags} are one of @code{Stringprep_profile_flags}  values, or 0.
 
-The @code{profile} contain the @code{Stringprep_profile} instructions to
+The  @code{profile} contain the @code{Stringprep_profile}  instructions to
 perform.  Your application can define new profiles, possibly
 re-using the generic stringprep tables that always will be part of
 the library, or use one of the currently supported profiles.
 
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an
-@code{Stringprep_rc} error code.
+Return value: Returns @code{STRINGPREP_OK}  iff successful, or an
+@code{Stringprep_rc}  error code.
 @end deftypefun
 
index 2ba59d2..5aeb4f8 100644 (file)
@@ -8,9 +8,9 @@ and return the version string; return NULL if the condition is not
 satisfied.  If a NULL is passed to this function, no check is done,
 but the version string is simply returned.
 
-See @code{STRINGPREP_VERSION} for a suitable @code{req_version} string.
+See @code{STRINGPREP_VERSION}  for a suitable  @code{req_version} string.
 
-@strong{Return value:} Version string of run-time library, or NULL if the
+Return value: Version string of run-time library, or NULL if the
 run-time library does not meet the required version number.
 @end deftypefun
 
index 15b186c..de3fecb 100644 (file)
@@ -5,12 +5,12 @@
 
 @var{to_codeset}: name of destination character set.
 
-@var{from_codeset}: name of origin character set, as used by @code{str}.
+@var{from_codeset}: name of origin character set, as used by  @code{str} .
 
 Convert the string from one character set to another using the
-system's @code{iconv()} function.
+system's @code{iconv()}  function.
 
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into to_codeset.
+Return value: Returns newly allocated zero-terminated string which
+is  @code{str} transcoded into to_codeset.
 @end deftypefun
 
index e97407f..13c398e 100644 (file)
@@ -1,14 +1,17 @@
 @subheading stringprep_locale_charset
 @anchor{stringprep_locale_charset}
 @deftypefun {const char *} {stringprep_locale_charset} ( @var{void})
+Enumerated return codes of the TLD checking functions.
+The value 0 is guaranteed to always correspond to success.
 
+@strong{:} 
 Find out current locale charset.  The function respect the CHARSET
 environment variable, but typically uses nl_langinfo(CODESET) when
 it is supported.  It fall back on "ASCII" if CHARSET isn't set and
 nl_langinfo isn't supported or return anything.
 
 Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
+charset (or thread's locale's preferred charset, if your system
 support thread-specific locales).  It does not return what the
 system may be using.  Thus, if you receive data from external
 sources you cannot in general use this function to guess what
@@ -16,7 +19,7 @@ charset it is encoded in.  Use stringprep_convert from the external
 representation into the charset returned by this function, to have
 data in the locale encoding.
 
-@strong{Return value:} Return the character set used by the current locale.
+Return value: Return the character set used by the current locale.
 It will never return NULL, but use "ASCII" as a fallback.
 @end deftypefun
 
index 1a49de8..a53bf6c 100644 (file)
@@ -4,9 +4,9 @@
 @var{str}: input zero terminated string.
 
 Convert string encoded in the locale's character set into UTF-8 by
-using @code{stringprep_convert()}.
+using @code{stringprep_convert()} .
 
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into UTF-8.
+Return value: Returns newly allocated zero-terminated string which
+is  @code{str} transcoded into UTF-8.
 @end deftypefun
 
index 790577f..aa728a4 100644 (file)
@@ -7,7 +7,7 @@
 
 @var{profile}: name of stringprep profile to use.
 
-@var{flags}: a @code{Stringprep_profile_flags} value, or 0.
+@var{flags}: a @code{Stringprep_profile_flags}  value, or 0.
 
 Prepare the input zero terminated UTF-8 string according to the
 stringprep profile, and return the result in a newly allocated
@@ -15,15 +15,15 @@ variable.
 
 Note that you must convert strings entered in the systems locale
 into UTF-8 before using this function, see
-@code{stringprep_locale_to_utf8()}.
+@code{stringprep_locale_to_utf8()} .
 
-The output @code{out} variable must be deallocated by the caller.
+The output  @code{out} variable must be deallocated by the caller.
 
-The @code{flags} are one of @code{Stringprep_profile_flags} values, or 0.
+The  @code{flags} are one of @code{Stringprep_profile_flags}  values, or 0.
 
-The @code{profile} specifies the name of the stringprep profile to use.
+The  @code{profile} specifies the name of the stringprep profile to use.
 It must be one of the internally supported stringprep profiles.
 
-@strong{Return value:} Returns @code{STRINGPREP_OK} iff successful, or an error code.
+Return value: Returns @code{STRINGPREP_OK}  iff successful, or an error code.
 @end deftypefun
 
index ee1b067..1c4a598 100644 (file)
@@ -1,7 +1,7 @@
 @subheading stringprep_strerror
 @anchor{stringprep_strerror}
 @deftypefun {const char *} {stringprep_strerror} (Stringprep_rc @var{rc})
-@var{rc}: a @code{Stringprep_rc} return code.
+@var{rc}: a @code{Stringprep_rc}  return code.
 
 Convert a return code integer to a text string.  This string can be
 used to output a diagnostic message to the user.
@@ -38,13 +38,15 @@ This usually indicate a problem in the calling application.
 @strong{STRINGPREP_UNKNOWN_PROFILE:} The supplied profile name was not
 known to the library.
 
+@strong{STRINGPREP_ICONV_ERROR:} Character encoding conversion error.
+
 @strong{STRINGPREP_NFKC_FAILED:} The Unicode NFKC operation failed.  This
 usually indicate an internal error in the library.
 
-@strong{STRINGPREP_MALLOC_ERROR:} The @code{malloc()} was out of memory.  This is
+@strong{STRINGPREP_MALLOC_ERROR:} The @code{malloc()}  was out of memory.  This is
 usually a fatal error.
 
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  @code{rc} .
 @end deftypefun
 
index 1fb7ed1..48a5e81 100644 (file)
@@ -3,12 +3,12 @@
 @deftypefun {uint32_t *} {stringprep_ucs4_nfkc_normalize} (const uint32_t * @var{str}, ssize_t @var{len})
 @var{str}: a Unicode string.
 
-@var{len}: length of @code{str} array, or -1 if @code{str} is nul-terminated.
+@var{len}: length of  @code{str} array, or -1 if  @code{str} is nul-terminated.
 
 Converts a UCS4 string into canonical form, see
-@code{stringprep_utf8_nfkc_normalize()} for more information.
+@code{stringprep_utf8_nfkc_normalize()}  for more information.
 
-@strong{Return value:} a newly allocated Unicode string, that is the NFKC
-normalized form of @code{str}.
+Return value: a newly allocated Unicode string, that is the NFKC
+normalized form of  @code{str} .
 @end deftypefun
 
index 5ed5902..c0c6b48 100644 (file)
@@ -3,20 +3,20 @@
 @deftypefun {char *} {stringprep_ucs4_to_utf8} (const uint32_t * @var{str}, ssize_t @var{len}, size_t * @var{items_read}, size_t * @var{items_written})
 @var{str}: a UCS-4 encoded string
 
-@var{len}: the maximum length of @code{str} to use. If @code{len} < 0, then
+@var{len}: the maximum length of  @code{str} to use. If  @code{len} < 0, then
 the string is terminated with a 0 character.
 
-@var{items_read}: location to store number of characters read read, or @code{NULL}.
+@var{items_read}: location to store number of characters read read, or @code{NULL} .
 
-@var{items_written}: location to store number of bytes written or @code{NULL}.
+@var{items_written}: location to store number of bytes written or @code{NULL} .
 The value here stored does not include the trailing 0
 byte.
 
 Convert a string from a 32-bit fixed width representation as UCS-4.
 to UTF-8. The result will be terminated with a 0 byte.
 
-@strong{Return value:} a pointer to a newly allocated UTF-8 string.
+Return value: a pointer to a newly allocated UTF-8 string.
 This value must be deallocated by the caller.
-If an error occurs, @code{NULL} will be returned.
+If an error occurs, @code{NULL}  will be returned.
 @end deftypefun
 
index 435884f..5c131b7 100644 (file)
@@ -4,11 +4,11 @@
 @var{c}: a ISO10646 character code
 
 @var{outbuf}: output buffer, must have at least 6 bytes of space.
-If @code{NULL}, the length will be computed and returned
-and nothing will be written to @code{outbuf}.
+If @code{NULL} , the length will be computed and returned
+and nothing will be written to  @code{outbuf} .
 
 Converts a single character to UTF-8.
 
-@strong{Return value:} number of bytes written.
+Return value: number of bytes written.
 @end deftypefun
 
index dc51a4d..150286a 100644 (file)
@@ -3,7 +3,7 @@
 @deftypefun {char *} {stringprep_utf8_nfkc_normalize} (const char * @var{str}, ssize_t @var{len})
 @var{str}: a UTF-8 encoded string.
 
-@var{len}: length of @code{str}, in bytes, or -1 if @code{str} is nul-terminated.
+@var{len}: length of  @code{str} , in bytes, or -1 if  @code{str} is nul-terminated.
 
 Converts a string into canonical form, standardizing
 such issues as whether a character with an accent
@@ -19,7 +19,7 @@ information may be lost but for most text operations such
 characters should be considered the same. It returns a result with
 composed forms rather than a maximally decomposed form.
 
-@strong{Return value:} a newly allocated string, that is the
-NFKC normalized form of @code{str}.
+Return value: a newly allocated string, that is the
+NFKC normalized form of  @code{str} .
 @end deftypefun
 
index 9c73b14..ff2c589 100644 (file)
@@ -4,9 +4,9 @@
 @var{str}: input zero terminated string.
 
 Convert string encoded in UTF-8 into the locale's character set by
-using @code{stringprep_convert()}.
+using @code{stringprep_convert()} .
 
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into the locale's character set.
+Return value: Returns newly allocated zero-terminated string which
+is  @code{str} transcoded into the locale's character set.
 @end deftypefun
 
index 346d628..0b133c3 100644 (file)
@@ -3,17 +3,18 @@
 @deftypefun {uint32_t *} {stringprep_utf8_to_ucs4} (const char * @var{str}, ssize_t @var{len}, size_t * @var{items_written})
 @var{str}: a UTF-8 encoded string
 
-@var{len}: the maximum length of @code{str} to use. If @code{len} < 0, then
+@var{len}: the maximum length of  @code{str} to use. If  @code{len} < 0, then
 the string is nul-terminated.
 
 @var{items_written}: location to store the number of characters in the
-result, or @code{NULL}.
+result, or @code{NULL} .
 
-Convert a string from UTF-8 to a 32-bit fixed width
-representation as UCS-4, assuming valid UTF-8 input.
-This function does no error checking on the input.
+Convert a string from UTF-8 to a 32-bit fixed width representation
+as UCS-4.  The function now performs error checking to verify that
+the input is valid UTF-8 (before it was documented to not do error
+checking).
 
-@strong{Return value:} a pointer to a newly allocated UCS-4 string.
+Return value: a pointer to a newly allocated UCS-4 string.
 This value must be deallocated by the caller.
 @end deftypefun
 
index 5cfd339..5d1dc04 100644 (file)
@@ -4,9 +4,14 @@
 @var{p}: a pointer to Unicode character encoded as UTF-8
 
 Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
-If @code{p} does not point to a valid UTF-8 encoded character, results are
+If  @code{p} does not point to a valid UTF-8 encoded character, results are
 undefined.
 
-@strong{Return value:} the resulting character.
+Return value: the resulting character.
+Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
+If  @code{p} does not point to a valid UTF-8 encoded character, results are
+undefined.
+
+Return value: the resulting character.
 @end deftypefun
 
diff --git a/doc/texi/tld.c.texi b/doc/texi/tld.c.texi
deleted file mode 100644 (file)
index de3891f..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-@subheading tld_get_table
-@anchor{tld_get_table}
-@deftypefun {const Tld_table *} {tld_get_table} (const char * @var{tld}, const Tld_table ** @var{tables})
-@var{tld}: TLD name (e.g. "com") as zero terminated ASCII byte string.
-
-@var{tables}: Zero terminated array of @code{Tld_table} info-structures for
-TLDs.
-
-Get the TLD table for a named TLD by searching through the given
-TLD table array.
-
-@strong{Return value:} Return structure corresponding to TLD @code{tld} by going
-thru @code{tables}, or return @code{NULL} if no such structure is found.
-@end deftypefun
-
-@subheading tld_default_table
-@anchor{tld_default_table}
-@deftypefun {const Tld_table *} {tld_default_table} (const char * @var{tld}, const Tld_table ** @var{overrides})
-@var{tld}: TLD name (e.g. "com") as zero terminated ASCII byte string.
-
-@var{overrides}: Additional zero terminated array of @code{Tld_table}
-info-structures for TLDs, or @code{NULL} to only use library deault
-tables.
-
-Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.
-
-@strong{Return value:} Return structure corresponding to TLD @code{tld_str}, first
-looking through @code{overrides} then thru built-in list, or @code{NULL} if
-no such structure found.
-@end deftypefun
-
-@subheading tld_get_4
-@anchor{tld_get_4}
-@deftypefun {int} {tld_get_4} (const uint32_t * @var{in}, size_t @var{inlen}, char ** @var{out})
-@var{in}: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-@var{inlen}: Number of unicode code points.
-
-@var{out}: Zero terminated ascii result string pointer.
-
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.
-
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
-@end deftypefun
-
-@subheading tld_get_4z
-@anchor{tld_get_4z}
-@deftypefun {int} {tld_get_4z} (const uint32_t * @var{in}, char ** @var{out})
-@var{in}: Zero terminated array of unicode code points to process.
-
-@var{out}: Zero terminated ascii result string pointer.
-
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.
-
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
-@end deftypefun
-
-@subheading tld_get_z
-@anchor{tld_get_z}
-@deftypefun {int} {tld_get_z} (const char * @var{in}, char ** @var{out})
-@var{in}: Zero terminated character array to process.
-
-@var{out}: Zero terminated ascii result string pointer.
-
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.  The input string @code{in} may be UTF-8, ISO-8859-1 or
-any ASCII compatible character encoding.
-
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
-@end deftypefun
-
-@subheading tld_check_4t
-@anchor{tld_check_4t}
-@deftypefun {int} {tld_check_4t} (const uint32_t * @var{in}, size_t @var{inlen}, size_t * @var{errpos}, const Tld_table * @var{tld})
-@var{in}: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-@var{inlen}: Number of unicode code points.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{tld}: A @code{Tld_table} data structure representing the restrictions for
-which the input should be tested.
-
-Test each of the code points in @code{in} for whether or not
-they are allowed by the data structure in @code{tld}, return
-the position of the first character for which this is not
-the case in @code{errpos}.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
-@subheading tld_check_4tz
-@anchor{tld_check_4tz}
-@deftypefun {int} {tld_check_4tz} (const uint32_t * @var{in}, size_t * @var{errpos}, const Tld_table * @var{tld})
-@var{in}: Zero terminated array of unicode code points to process.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{tld}: A @code{Tld_table} data structure representing the restrictions for
-which the input should be tested.
-
-Test each of the code points in @code{in} for whether or not
-they are allowed by the data structure in @code{tld}, return
-the position of the first character for which this is not
-the case in @code{errpos}.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
-@subheading tld_check_4
-@anchor{tld_check_4}
-@deftypefun {int} {tld_check_4} (const uint32_t * @var{in}, size_t @var{inlen}, size_t * @var{errpos}, const Tld_table ** @var{overrides})
-@var{in}: Array of unicode code points to process. Does not need to be
-zero terminated.
-
-@var{inlen}: Number of unicode code points.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-Test each of the code points in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
-information is used.  The position of the first offending character
-is returned in @code{errpos}.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
-@subheading tld_check_4z
-@anchor{tld_check_4z}
-@deftypefun {int} {tld_check_4z} (const uint32_t * @var{in}, size_t * @var{errpos}, const Tld_table ** @var{overrides})
-@var{in}: Zero-terminated array of unicode code points to process.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-Test each of the code points in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
-information is used.  The position of the first offending character
-is returned in @code{errpos}.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
-@subheading tld_check_8z
-@anchor{tld_check_8z}
-@deftypefun {int} {tld_check_8z} (const char * @var{in}, size_t * @var{errpos}, const Tld_table ** @var{overrides})
-@var{in}: Zero-terminated UTF8 string to process.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-Test each of the characters in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
-information is used.  The position of the first offending character
-is returned in @code{errpos}.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all
-characters are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
-@subheading tld_check_lz
-@anchor{tld_check_lz}
-@deftypefun {int} {tld_check_lz} (const char * @var{in}, size_t * @var{errpos}, const Tld_table ** @var{overrides})
-@var{in}: Zero-terminated string in the current locales encoding to process.
-
-@var{errpos}: Position of offending character is returned here.
-
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
-structures that complement and supersede the built-in information.
-
-Test each of the characters in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
-precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
-information is used.  The position of the first offending character
-is returned in @code{errpos}.  Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.
-
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all
-characters are valid or when @code{tld} is null, @code{TLD_INVALID} if a
-character is not allowed, or additional error codes on general
-failure conditions.
-@end deftypefun
-
index 3790b39..e874192 100644 (file)
@@ -8,20 +8,20 @@ zero terminated.
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
+@var{overrides}: A @code{Tld_table}  array of additional domain restriction
 structures that complement and supersede the built-in information.
 
-Test each of the code points in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
+Test each of the code points in  @code{in} for whether or not they are
+allowed by the information in  @code{overrides} or by the built-in TLD
 restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
+internally and in  @code{overrides} , the information in  @code{overrides} takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
+first one is used.  If  @code{overrides} is @code{NULL} , only the built-in
 information is used.  The position of the first offending character
-is returned in @code{errpos}.
+is returned in  @code{errpos} .
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all code
+points are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index 7e55195..615802d 100644 (file)
@@ -8,16 +8,16 @@ zero terminated.
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{tld}: A @code{Tld_table} data structure representing the restrictions for
+@var{tld}: A @code{Tld_table}  data structure representing the restrictions for
 which the input should be tested.
 
-Test each of the code points in @code{in} for whether or not
-they are allowed by the data structure in @code{tld}, return
+Test each of the code points in  @code{in} for whether or not
+they are allowed by the data structure in  @code{tld} , return
 the position of the first character for which this is not
-the case in @code{errpos}.
+the case in  @code{errpos} .
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all code
+points are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index fc7da3c..aa07d95 100644 (file)
@@ -5,16 +5,16 @@
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{tld}: A @code{Tld_table} data structure representing the restrictions for
+@var{tld}: A @code{Tld_table}  data structure representing the restrictions for
 which the input should be tested.
 
-Test each of the code points in @code{in} for whether or not
-they are allowed by the data structure in @code{tld}, return
+Test each of the code points in  @code{in} for whether or not
+they are allowed by the data structure in  @code{tld} , return
 the position of the first character for which this is not
-the case in @code{errpos}.
+the case in  @code{errpos} .
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all code
+points are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index 5158989..f2b64ee 100644 (file)
@@ -5,20 +5,20 @@
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
+@var{overrides}: A @code{Tld_table}  array of additional domain restriction
 structures that complement and supersede the built-in information.
 
-Test each of the code points in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
+Test each of the code points in  @code{in} for whether or not they are
+allowed by the information in  @code{overrides} or by the built-in TLD
 restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
+internally and in  @code{overrides} , the information in  @code{overrides} takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
+first one is used.  If  @code{overrides} is @code{NULL} , only the built-in
 information is used.  The position of the first offending character
-is returned in @code{errpos}.
+is returned in  @code{errpos} .
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all code
-points are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all code
+points are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index 17b42e3..cc53cfc 100644 (file)
@@ -5,22 +5,22 @@
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
+@var{overrides}: A @code{Tld_table}  array of additional domain restriction
 structures that complement and supersede the built-in information.
 
-Test each of the characters in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
+Test each of the characters in  @code{in} for whether or not they are
+allowed by the information in  @code{overrides} or by the built-in TLD
 restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
+internally and in  @code{overrides} , the information in  @code{overrides} takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
+first one is used.  If  @code{overrides} is @code{NULL} , only the built-in
 information is used.  The position of the first offending character
-is returned in @code{errpos}.  Note that the error position refers to the
+is returned in  @code{errpos} .  Note that the error position refers to the
 decoded character offset rather than the byte position in the
 string.
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all
-characters are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all
+characters are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index 7e83d4a..5153959 100644 (file)
@@ -5,22 +5,22 @@
 
 @var{errpos}: Position of offending character is returned here.
 
-@var{overrides}: A @code{Tld_table} array of additional domain restriction
+@var{overrides}: A @code{Tld_table}  array of additional domain restriction
 structures that complement and supersede the built-in information.
 
-Test each of the characters in @code{in} for whether or not they are
-allowed by the information in @code{overrides} or by the built-in TLD
+Test each of the characters in  @code{in} for whether or not they are
+allowed by the information in  @code{overrides} or by the built-in TLD
 restriction data. When data for the same TLD is available both
-internally and in @code{overrides}, the information in @code{overrides} takes
+internally and in  @code{overrides} , the information in  @code{overrides} takes
 precedence. If several entries for a specific TLD are found, the
-first one is used.  If @code{overrides} is @code{NULL}, only the built-in
+first one is used.  If  @code{overrides} is @code{NULL} , only the built-in
 information is used.  The position of the first offending character
-is returned in @code{errpos}.  Note that the error position refers to the
+is returned in  @code{errpos} .  Note that the error position refers to the
 decoded character offset rather than the byte position in the
 string.
 
-@strong{Return value:} Returns the @code{Tld_rc} value @code{TLD_SUCCESS} if all
-characters are valid or when @code{tld} is null, @code{TLD_INVALID} if a
+Return value: Returns the @code{Tld_rc}  value @code{TLD_SUCCESS}  if all
+characters are valid or when  @code{tld} is null, @code{TLD_INVALID}  if a
 character is not allowed, or additional error codes on general
 failure conditions.
 @end deftypefun
index 408a149..244e089 100644 (file)
@@ -3,15 +3,15 @@
 @deftypefun {const Tld_table *} {tld_default_table} (const char * @var{tld}, const Tld_table ** @var{overrides})
 @var{tld}: TLD name (e.g. "com") as zero terminated ASCII byte string.
 
-@var{overrides}: Additional zero terminated array of @code{Tld_table}
-info-structures for TLDs, or @code{NULL} to only use library deault
+@var{overrides}: Additional zero terminated array of @code{Tld_table} 
+info-structures for TLDs, or @code{NULL}  to only use library default
 tables.
 
 Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.
+possibly overridden by the (optional) supplied tables.
 
-@strong{Return value:} Return structure corresponding to TLD @code{tld_str}, first
-looking through @code{overrides} then thru built-in list, or @code{NULL} if
+Return value: Return structure corresponding to TLD  @code{tld_str} , first
+looking through  @code{overrides} then thru built-in list, or @code{NULL}  if
 no such structure found.
 @end deftypefun
 
index 60fda1b..5d08e1d 100644 (file)
@@ -8,10 +8,10 @@ zero terminated.
 
 @var{out}: Zero terminated ascii result string pointer.
 
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.
+Isolate the top-level domain of  @code{in} and return it as an ASCII
+string in  @code{out} .
 
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
+Return value: Return @code{TLD_SUCCESS}  on success, or the corresponding
+@code{Tld_rc}  error code otherwise.
 @end deftypefun
 
index e241079..dfa27f0 100644 (file)
@@ -5,10 +5,10 @@
 
 @var{out}: Zero terminated ascii result string pointer.
 
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.
+Isolate the top-level domain of  @code{in} and return it as an ASCII
+string in  @code{out} .
 
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
+Return value: Return @code{TLD_SUCCESS}  on success, or the corresponding
+@code{Tld_rc}  error code otherwise.
 @end deftypefun
 
index b647d16..5c778fe 100644 (file)
@@ -3,13 +3,18 @@
 @deftypefun {const Tld_table *} {tld_get_table} (const char * @var{tld}, const Tld_table ** @var{tables})
 @var{tld}: TLD name (e.g. "com") as zero terminated ASCII byte string.
 
-@var{tables}: Zero terminated array of @code{Tld_table} info-structures for
+@var{tables}: Zero terminated array of @code{Tld_table}  info-structures for
 TLDs.
 
 Get the TLD table for a named TLD by searching through the given
 TLD table array.
 
-@strong{Return value:} Return structure corresponding to TLD @code{tld} by going
-thru @code{tables}, or return @code{NULL} if no such structure is found.
+Return value: Return structure corresponding to TLD  @code{tld} by going
+thru  @code{tables} , or return @code{NULL}  if no such structure is found.
+Get the TLD table for a named TLD by searching through the given
+TLD table array.
+
+Return value: Return structure corresponding to TLD  @code{tld} by going
+thru  @code{tables} , or return @code{NULL}  if no such structure is found.
 @end deftypefun
 
index 1ff5b02..32a618d 100644 (file)
@@ -5,11 +5,11 @@
 
 @var{out}: Zero terminated ascii result string pointer.
 
-Isolate the top-level domain of @code{in} and return it as an ASCII
-string in @code{out}.  The input string @code{in} may be UTF-8, ISO-8859-1 or
+Isolate the top-level domain of  @code{in} and return it as an ASCII
+string in  @code{out} .  The input string  @code{in} may be UTF-8, ISO-8859-1 or
 any ASCII compatible character encoding.
 
-@strong{Return value:} Return @code{TLD_SUCCESS} on success, or the corresponding
-@code{Tld_rc} error code otherwise.
+Return value: Return @code{TLD_SUCCESS}  on success, or the corresponding
+@code{Tld_rc}  error code otherwise.
 @end deftypefun
 
index 3eeb9c2..252b73a 100644 (file)
@@ -16,11 +16,11 @@ non-zero values, for logical comparison purposes.
 
 @strong{TLD_MALLOC_ERROR:} Error during memory allocation.
 
-@strong{TLD_ICONV_ERROR:} Error during iconv string conversion.
+@strong{TLD_ICONV_ERROR:} Character encoding conversion error.
 
 @strong{TLD_NO_TLD:} No top-level domain found in domain string.
 
-@strong{Return value:} Returns a pointer to a statically allocated string
-containing a description of the error with the return code @code{rc}.
+Return value: Returns a pointer to a statically allocated string
+containing a description of the error with the return code  @code{rc} .
 @end deftypefun
 
diff --git a/doc/texi/toutf8.c.texi b/doc/texi/toutf8.c.texi
deleted file mode 100644 (file)
index 7fc7d28..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-@subheading stringprep_locale_charset
-@anchor{stringprep_locale_charset}
-@deftypefun {const char *} {stringprep_locale_charset} ( @var{void})
-
-Find out current locale charset.  The function respect the CHARSET
-environment variable, but typically uses nl_langinfo(CODESET) when
-it is supported.  It fall back on "ASCII" if CHARSET isn't set and
-nl_langinfo isn't supported or return anything.
-
-Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
-support thread-specific locales).  It does not return what the
-system may be using.  Thus, if you receive data from external
-sources you cannot in general use this function to guess what
-charset it is encoded in.  Use stringprep_convert from the external
-representation into the charset returned by this function, to have
-data in the locale encoding.
-
-@strong{Return value:} Return the character set used by the current locale.
-It will never return NULL, but use "ASCII" as a fallback.
-@end deftypefun
-
-@subheading stringprep_convert
-@anchor{stringprep_convert}
-@deftypefun {char *} {stringprep_convert} (const char * @var{str}, const char * @var{to_codeset}, const char * @var{from_codeset})
-@var{str}: input zero-terminated string.
-
-@var{to_codeset}: name of destination character set.
-
-@var{from_codeset}: name of origin character set, as used by @code{str}.
-
-Convert the string from one character set to another using the
-system's @code{iconv()} function.
-
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into to_codeset.
-@end deftypefun
-
-@subheading stringprep_locale_to_utf8
-@anchor{stringprep_locale_to_utf8}
-@deftypefun {char *} {stringprep_locale_to_utf8} (const char * @var{str})
-@var{str}: input zero terminated string.
-
-Convert string encoded in the locale's character set into UTF-8 by
-using @code{stringprep_convert()}.
-
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into UTF-8.
-@end deftypefun
-
-@subheading stringprep_utf8_to_locale
-@anchor{stringprep_utf8_to_locale}
-@deftypefun {char *} {stringprep_utf8_to_locale} (const char * @var{str})
-@var{str}: input zero terminated string.
-
-Convert string encoded in UTF-8 into the locale's character set by
-using @code{stringprep_convert()}.
-
-@strong{Return value:} Returns newly allocated zero-terminated string which
-is @code{str} transcoded into the locale's character set.
-@end deftypefun
-
diff --git a/doc/texi/version.c.texi b/doc/texi/version.c.texi
deleted file mode 100644 (file)
index 2ba59d2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-@subheading stringprep_check_version
-@anchor{stringprep_check_version}
-@deftypefun {const char *} {stringprep_check_version} (const char * @var{req_version})
-@var{req_version}: Required version number, or NULL.
-
-Check that the version of the library is at minimum the requested one
-and return the version string; return NULL if the condition is not
-satisfied.  If a NULL is passed to this function, no check is done,
-but the version string is simply returned.
-
-See @code{STRINGPREP_VERSION} for a suitable @code{req_version} string.
-
-@strong{Return value:} Version string of run-time library, or NULL if the
-run-time library does not meet the required version number.
-@end deftypefun
-
diff --git a/doc/texinfo.css b/doc/texinfo.css
deleted file mode 100644 (file)
index 69614b5..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-body {
-       margin: 2%;
-       padding: 0 5%;
-       background: #ffffff;
-}
-h1,h2,h3,h4,h5 {
-    font-weight: bold;
-    padding: 5px 5px 5px 5px;
-    background-color: #c2e0ff;
-    color: #336699;
-}
-h1 {
-    padding: 2em 2em 2em 5%;
-    color: white;
-    background: #336699;
-    text-align: center;
-    letter-spacing: 3px;
-}
-h2 { text-decoration: underline; }
-pre {
-  margin: 0 5%;
-  padding: 0.5em;
-}
-pre.example {
-  border: solid 1px;
-  background: #eeeeff;
-  padding-bottom: 1em;
-}
-pre.verbatim {
-  border: solid 1px gray;
-  background: white;
-  padding-bottom: 1em;
-}
-div.node {
-  margin: 0 -5% 0 -2%;
-  padding: 0.5em 0.5em;
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-  font-weight: bold;
-}
-dd, li {
-  padding-top: 0.1em;
-  padding-bottom: 0.1em;
-}
index 5a3b1ae..7c918e2 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson.
+# Copyright (C) 2004-2024 Simon Josefsson.
 # Copyright (C) 2004  Free Software Foundation, Inc
 #
 # This file is part of GNU Libidn.
@@ -15,6 +15,6 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 EXTRA_DIST = README fr.tld no.tld
index d8dd208..d6e877c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2004-2012 Simon Josefsson.
+# Copyright (C) 2004-2024 Simon Josefsson.
 # Copyright (C) 2004  Free Software Foundation, Inc
 #
 # This file is part of GNU Libidn.
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -52,104 +106,132 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc/tld
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -168,9 +250,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -190,290 +275,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -483,16 +857,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -509,33 +888,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -550,28 +942,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -581,26 +981,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -619,6 +1027,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -640,9 +1049,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -660,36 +1068,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -698,12 +1108,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -716,11 +1130,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -753,27 +1169,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -786,71 +1224,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -859,11 +1331,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -876,45 +1358,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -922,7 +1417,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -940,8 +1434,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -954,8 +1450,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -971,6 +1469,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -995,14 +1494,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/tld/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu doc/tld/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1019,14 +1517,16 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
 
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
 
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1159,15 +1659,18 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+       cscopelist-am ctags-am distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 4e76040..40a9686 100644 (file)
@@ -1,5 +1,5 @@
 Libidn doc/tld/README -- Notes and definition of the TLD tables.
-Copyright (C) 2004-2012 Simon Josefsson
+Copyright (C) 2004-2024 Simon Josefsson
 Copyright (C) 2004  Free Software Foundation, Inc
 See the end for copying conditions.
 
index c724f46..cc78824 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 # Copyright (C) 2003 Stephane Bortzmeyer <bortzmeyer@nic.fr> / AFNIC
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -6,7 +6,7 @@
 
 version "1.0"
 tld fr
+
 # Variant table for the French language
 # See Internet-Draft draft-hoffman-idn-reg-00
 #
@@ -41,7 +41,7 @@ U+006D
 # <URL:http://www.ouest-france.fr/dossiershtm/cours-de-breton/lecture.htm>
 # or in basque.
 U+006E
-# o and its variants : ô. ö <U+00F6> exists in French? No word uses 
+# o and its variants : ô. ö <U+00F6> exists in French? No word uses
 # it.
 # ò <U+00F2> does not exist in french but in occitan
 # <URL:http://occitanet.free.fr/fr/index.html>
index 6ee80b3..d6fc7f8 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
 # Author: Thomas Jacob, Internet24.de.
 
 # Copying and distribution of this file, with or without modification,
@@ -8,6 +8,7 @@
 # See http://www.norid.no/domeneregistrering/idn/idn_nyetegn.html
 # http://www.norid.no/regelverk/forslag/idn-2003/index.en.html
 # http://www.norid.no/regelverk/forslag/idn-2003/2003-02-18.en.html
+# https://www.norid.no/en/om-domenenavn/regelverk-for-no/#link3
 
 # --- snip ---
 #
@@ -31,7 +32,7 @@
 #
 # --- snap ---
 
-version "1.0"
+version "2.0"
 tld no
 
 U+00E1 # a med akutt aksent / á 00E1
@@ -43,6 +44,7 @@ U+0111 # d med strek
 U+00E9 # e med akutt aksent / é
 U+00E8 # e med gravis-aksent / è
 U+00EA # e med circumflex-aksent / ê
+U+00EF # i with umlaut / ï
 U+014B # eng
 U+0144 # n med akutt aksent
 U+00F1 # n med tilde / ñ
index 2e7502b..85706a6 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 April 2012
-@set UPDATED-MONTH April 2012
-@set EDITION 1.25
-@set VERSION 1.25
+@set UPDATED 12 January 2024
+@set UPDATED-MONTH January 2024
+@set EDITION 1.42
+@set VERSION 1.42
index 31a79d2..263cc91 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson.
+# Copyright (C) 2002-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -14,7 +14,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 EXTRA_DIST = README
 
index ba738c4..10049ab 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson.
+# Copyright (C) 2002-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -55,82 +109,95 @@ noinst_PROGRAMS = example$(EXEEXT) example2$(EXEEXT) example3$(EXEEXT) \
        example4$(EXEEXT) $(am__EXEEXT_1)
 @TLD_TRUE@am__append_1 = example5
 subdir = examples
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -144,6 +211,7 @@ example_DEPENDENCIES = ../lib/libidn.la
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
 example2_SOURCES = example2.c
 example2_OBJECTS = example2.$(OBJEXT)
 example2_LDADD = $(LDADD)
@@ -160,9 +228,24 @@ example5_SOURCES = example5.c
 example5_OBJECTS = example5.$(OBJEXT)
 example5_LDADD = $(LDADD)
 example5_DEPENDENCIES = ../lib/libidn.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/example.Po ./$(DEPDIR)/example2.Po \
+       ./$(DEPDIR)/example3.Po ./$(DEPDIR)/example4.Po \
+       ./$(DEPDIR)/example5.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -172,34 +255,54 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = example.c example2.c example3.c example4.c example5.c
 DIST_SOURCES = example.c example2.c example3.c example4.c example5.c
-ETAGS = etags
-CTAGS = ctags
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -218,9 +321,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -240,290 +346,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -533,16 +928,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -559,33 +959,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -600,28 +1013,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -631,26 +1052,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -669,6 +1098,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -690,9 +1120,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -710,36 +1139,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -748,12 +1179,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -766,11 +1201,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -803,27 +1240,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -836,71 +1295,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -909,11 +1402,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -926,45 +1429,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -972,7 +1488,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -990,8 +1505,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1004,8 +1521,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1021,6 +1540,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1049,14 +1569,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu examples/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1076,18 +1595,23 @@ clean-noinstPROGRAMS:
        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
        echo " rm -f" $$list; \
        rm -f $$list
+
 example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES) $(EXTRA_example_DEPENDENCIES) 
        @rm -f example$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+
 example2$(EXEEXT): $(example2_OBJECTS) $(example2_DEPENDENCIES) $(EXTRA_example2_DEPENDENCIES) 
        @rm -f example2$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(example2_OBJECTS) $(example2_LDADD) $(LIBS)
+
 example3$(EXEEXT): $(example3_OBJECTS) $(example3_DEPENDENCIES) $(EXTRA_example3_DEPENDENCIES) 
        @rm -f example3$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(example3_OBJECTS) $(example3_LDADD) $(LIBS)
+
 example4$(EXEEXT): $(example4_OBJECTS) $(example4_DEPENDENCIES) $(EXTRA_example4_DEPENDENCIES) 
        @rm -f example4$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(example4_OBJECTS) $(example4_LDADD) $(LIBS)
+
 example5$(EXEEXT): $(example5_OBJECTS) $(example5_DEPENDENCIES) $(EXTRA_example5_DEPENDENCIES) 
        @rm -f example5$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(example5_OBJECTS) $(example5_LDADD) $(LIBS)
@@ -1098,25 +1622,31 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example3.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example4.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example2.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example3.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example4.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example5.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1131,26 +1661,15 @@ mostlyclean-libtool:
 clean-libtool:
        -rm -rf .libs _libs
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1162,15 +1681,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1179,11 +1694,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1253,7 +1785,11 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/example.Po
+       -rm -f ./$(DEPDIR)/example2.Po
+       -rm -f ./$(DEPDIR)/example3.Po
+       -rm -f ./$(DEPDIR)/example4.Po
+       -rm -f ./$(DEPDIR)/example5.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1299,7 +1835,11 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/example.Po
+       -rm -f ./$(DEPDIR)/example2.Po
+       -rm -f ./$(DEPDIR)/example3.Po
+       -rm -f ./$(DEPDIR)/example4.Po
+       -rm -f ./$(DEPDIR)/example5.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1320,18 +1860,21 @@ uninstall-am:
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstPROGRAMS ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libtool clean-noinstPROGRAMS 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 install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 7d772bd..f3c716b 100644 (file)
@@ -1,5 +1,5 @@
 Libidn examples/README -- Information about files in examples/ directory.
-Copyright (C) 2003-2012 Simon Josefsson
+Copyright (C) 2003-2024 Simon Josefsson
 See the end for copying conditions.
 
 This directory contains examples on how to use Libidn.
index 9034a96..d49bfb8 100644 (file)
@@ -1,5 +1,5 @@
 /* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -53,9 +53,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Before locale2utf8 (length %ld): ", strlen (buf));
+  printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   p = stringprep_locale_to_utf8 (buf);
@@ -67,9 +67,9 @@ main (void)
   else
     printf ("Could not convert string to UTF-8, continuing anyway...\n");
 
-  printf ("Before stringprep (length %ld): ", strlen (buf));
+  printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
@@ -77,9 +77,9 @@ main (void)
     printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
   else
     {
-      printf ("After stringprep (length %ld): ", strlen (buf));
+      printf ("After stringprep (length %ld): ", (long int) strlen (buf));
       for (i = 0; i < strlen (buf); i++)
-       printf ("%02x ", buf[i] & 0xFF);
+       printf ("%02x ", (unsigned) buf[i] & 0xFF);
       printf ("\n");
     }
 
index 24fa844..b4a0d0a 100644 (file)
@@ -1,5 +1,5 @@
 /* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  * Copyright (C) 2002  Adam M. Costello
  *
  * This file is part of GNU Libidn.
@@ -15,7 +15,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
index 71b0380..9e58829 100644 (file)
@@ -1,5 +1,5 @@
 /* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -54,9 +54,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = idna_to_ascii_lz (buf, &p, 0);
@@ -66,9 +66,9 @@ main (void)
       return EXIT_FAILURE;
     }
 
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
   for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
   printf ("\n");
 
   free (p);
index 2ce9739..4eb0ecc 100644 (file)
@@ -1,5 +1,5 @@
 /* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -54,9 +54,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   rc = idna_to_unicode_lzlz (buf, &p, 0);
@@ -66,9 +66,9 @@ main (void)
       return EXIT_FAILURE;
     }
 
-  printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
+  printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
   for (i = 0; i < strlen (p); i++)
-    printf ("%02x ", p[i] & 0xFF);
+    printf ("%02x ", (unsigned) p[i] & 0xFF);
   printf ("\n");
 
   free (p);
index 90e5ecf..88ff52c 100644 (file)
@@ -1,5 +1,5 @@
 /* example5.c --- Example TLD checking.
- * Copyright (C) 2004-2012 Simon Josefsson
+ * Copyright (C) 2004-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -66,9 +66,9 @@ main (void)
     perror ("fgets");
   buf[strlen (buf) - 1] = '\0';
 
-  printf ("Read string (length %ld): ", strlen (buf));
+  printf ("Read string (length %ld): ", (long int) strlen (buf));
   for (i = 0; i < strlen (buf); i++)
-    printf ("%02x ", buf[i] & 0xFF);
+    printf ("%02x ", (unsigned) buf[i] & 0xFF);
   printf ("\n");
 
   p = stringprep_locale_to_utf8 (buf);
@@ -87,7 +87,7 @@ main (void)
       return 2;
     }
 
-  printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
+  printf ("ToASCII string (length %ld): %s\n", (long int) strlen (p), p);
 
   rc = idna_to_unicode_8z4z (p, &r, 0);
   free (p);
@@ -107,7 +107,8 @@ main (void)
   free (r);
   if (rc == TLD_INVALID)
     {
-      printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
+      printf ("Domain rejected by TLD check, Unicode position %ld\n",
+             (long int) errpos);
       return 1;
     }
   else if (rc != TLD_SUCCESS)
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am
new file mode 100644 (file)
index 0000000..8dc1390
--- /dev/null
@@ -0,0 +1,61 @@
+# Copyright (c) 2017-2020 Tim Ruehsen
+
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl -DSRCDIR=\"$(abs_srcdir)\" -DTEST_RUN
+AM_LDFLAGS = -no-install
+
+LDADD = ../lib/libidn.la ../gl/libgnu.la
+
+IDN_TESTS = \
+ libidn_toascii_fuzzer$(EXEEXT) \
+ libidn_tounicode_fuzzer$(EXEEXT) \
+ libidn_stringprep_fuzzer$(EXEEXT)
+
+check_PROGRAMS = $(IDN_TESTS)
+
+libidn_toascii_fuzzer_SOURCES = libidn_toascii_fuzzer.c main.c fuzzer.h
+libidn_tounicode_fuzzer_SOURCES = libidn_tounicode_fuzzer.c main.c fuzzer.h
+libidn_stringprep_fuzzer_SOURCES = libidn_stringprep_fuzzer.c main.c fuzzer.h
+# libidn_error_fuzzer.c is too static, not worth fuzzing
+
+dist-hook:
+       find . -name '*.options' -exec cp -v '{}' $(distdir) ';'
+       find . -name '*.dict' -exec cp -v '{}' $(distdir) ';'
+#      find . -name '*.in' -exec cp -vr '{}' $(distdir) ';'
+       find . -name '*.repro' -exec cp -vr '{}' $(distdir) ';'
+
+TESTS = $(IDN_TESTS)
+
+clean-local:
+       rm -rf *.gc?? *.log lcov coverage.info
+
+oss-fuzz:
+       if test "$$OUT" != ""; then \
+       for ccfile in *_fuzzer.c; do \
+       fuzzer=$$(basename $$ccfile .c); \
+       $$CXX $$CXXFLAGS -I$(top_srcdir)/lib -I$(top_srcdir) \
+       "$${fuzzer}.c" -o "$${fuzzer}" \
+       ../lib/.libs/libidn.a $${LIB_FUZZING_ENGINE} -Wl,-Bstatic \
+       -Wl,-Bdynamic; \
+       done; \
+       fi
+
+.PHONY: oss-fuzz
diff --git a/fuzz/Makefile.in b/fuzz/Makefile.in
new file mode 100644 (file)
index 0000000..a10e711
--- /dev/null
@@ -0,0 +1,2296 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (c) 2017-2020 Tim Ruehsen
+
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = fuzz
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_libidn_stringprep_fuzzer_OBJECTS =  \
+       libidn_stringprep_fuzzer.$(OBJEXT) main.$(OBJEXT)
+libidn_stringprep_fuzzer_OBJECTS =  \
+       $(am_libidn_stringprep_fuzzer_OBJECTS)
+libidn_stringprep_fuzzer_LDADD = $(LDADD)
+libidn_stringprep_fuzzer_DEPENDENCIES = ../lib/libidn.la \
+       ../gl/libgnu.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+am_libidn_toascii_fuzzer_OBJECTS = libidn_toascii_fuzzer.$(OBJEXT) \
+       main.$(OBJEXT)
+libidn_toascii_fuzzer_OBJECTS = $(am_libidn_toascii_fuzzer_OBJECTS)
+libidn_toascii_fuzzer_LDADD = $(LDADD)
+libidn_toascii_fuzzer_DEPENDENCIES = ../lib/libidn.la ../gl/libgnu.la
+am_libidn_tounicode_fuzzer_OBJECTS =  \
+       libidn_tounicode_fuzzer.$(OBJEXT) main.$(OBJEXT)
+libidn_tounicode_fuzzer_OBJECTS =  \
+       $(am_libidn_tounicode_fuzzer_OBJECTS)
+libidn_tounicode_fuzzer_LDADD = $(LDADD)
+libidn_tounicode_fuzzer_DEPENDENCIES = ../lib/libidn.la \
+       ../gl/libgnu.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libidn_stringprep_fuzzer.Po \
+       ./$(DEPDIR)/libidn_toascii_fuzzer.Po \
+       ./$(DEPDIR)/libidn_tounicode_fuzzer.Po ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libidn_stringprep_fuzzer_SOURCES) \
+       $(libidn_toascii_fuzzer_SOURCES) \
+       $(libidn_tounicode_fuzzer_SOURCES)
+DIST_SOURCES = $(libidn_stringprep_fuzzer_SOURCES) \
+       $(libidn_toascii_fuzzer_SOURCES) \
+       $(libidn_tounicode_fuzzer_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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 \
+       $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/test-driver README.md
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl -DSRCDIR=\"$(abs_srcdir)\" -DTEST_RUN
+AM_LDFLAGS = -no-install
+LDADD = ../lib/libidn.la ../gl/libgnu.la
+IDN_TESTS = \
+ libidn_toascii_fuzzer$(EXEEXT) \
+ libidn_tounicode_fuzzer$(EXEEXT) \
+ libidn_stringprep_fuzzer$(EXEEXT)
+
+check_PROGRAMS = $(IDN_TESTS)
+libidn_toascii_fuzzer_SOURCES = libidn_toascii_fuzzer.c main.c fuzzer.h
+libidn_tounicode_fuzzer_SOURCES = libidn_tounicode_fuzzer.c main.c fuzzer.h
+libidn_stringprep_fuzzer_SOURCES = libidn_stringprep_fuzzer.c main.c fuzzer.h
+TESTS = $(IDN_TESTS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fuzz/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu fuzz/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+       echo " rm -f" $$list; \
+       rm -f $$list || exit $$?; \
+       test -n "$(EXEEXT)" || exit 0; \
+       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+       echo " rm -f" $$list; \
+       rm -f $$list
+
+libidn_stringprep_fuzzer$(EXEEXT): $(libidn_stringprep_fuzzer_OBJECTS) $(libidn_stringprep_fuzzer_DEPENDENCIES) $(EXTRA_libidn_stringprep_fuzzer_DEPENDENCIES) 
+       @rm -f libidn_stringprep_fuzzer$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(libidn_stringprep_fuzzer_OBJECTS) $(libidn_stringprep_fuzzer_LDADD) $(LIBS)
+
+libidn_toascii_fuzzer$(EXEEXT): $(libidn_toascii_fuzzer_OBJECTS) $(libidn_toascii_fuzzer_DEPENDENCIES) $(EXTRA_libidn_toascii_fuzzer_DEPENDENCIES) 
+       @rm -f libidn_toascii_fuzzer$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(libidn_toascii_fuzzer_OBJECTS) $(libidn_toascii_fuzzer_LDADD) $(LIBS)
+
+libidn_tounicode_fuzzer$(EXEEXT): $(libidn_tounicode_fuzzer_OBJECTS) $(libidn_tounicode_fuzzer_DEPENDENCIES) $(EXTRA_libidn_tounicode_fuzzer_DEPENDENCIES) 
+       @rm -f libidn_tounicode_fuzzer$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(libidn_tounicode_fuzzer_OBJECTS) $(libidn_tounicode_fuzzer_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_stringprep_fuzzer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_toascii_fuzzer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_tounicode_fuzzer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       elif test -n "$$redo_logs"; then \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS: $(check_PROGRAMS)
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+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 \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+libidn_toascii_fuzzer.log: libidn_toascii_fuzzer$(EXEEXT)
+       @p='libidn_toascii_fuzzer$(EXEEXT)'; \
+       b='libidn_toascii_fuzzer'; \
+       $(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)
+libidn_tounicode_fuzzer.log: libidn_tounicode_fuzzer$(EXEEXT)
+       @p='libidn_tounicode_fuzzer$(EXEEXT)'; \
+       b='libidn_tounicode_fuzzer'; \
+       $(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)
+libidn_stringprep_fuzzer.log: libidn_stringprep_fuzzer$(EXEEXT)
+       @p='libidn_stringprep_fuzzer$(EXEEXT)'; \
+       b='libidn_stringprep_fuzzer'; \
+       $(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); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-hook
+check-am: all-am
+       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
+       mostlyclean-am
+
+distclean: distclean-am
+               -rm -f ./$(DEPDIR)/libidn_stringprep_fuzzer.Po
+       -rm -f ./$(DEPDIR)/libidn_toascii_fuzzer.Po
+       -rm -f ./$(DEPDIR)/libidn_tounicode_fuzzer.Po
+       -rm -f ./$(DEPDIR)/main.Po
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+               -rm -f ./$(DEPDIR)/libidn_stringprep_fuzzer.Po
+       -rm -f ./$(DEPDIR)/libidn_toascii_fuzzer.Po
+       -rm -f ./$(DEPDIR)/libidn_tounicode_fuzzer.Po
+       -rm -f ./$(DEPDIR)/main.Po
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+       check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
+       clean-local cscopelist-am ctags ctags-am dist-hook distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am recheck tags tags-am uninstall \
+       uninstall-am
+
+.PRECIOUS: Makefile
+
+# libidn_error_fuzzer.c is too static, not worth fuzzing
+
+dist-hook:
+       find . -name '*.options' -exec cp -v '{}' $(distdir) ';'
+       find . -name '*.dict' -exec cp -v '{}' $(distdir) ';'
+#      find . -name '*.in' -exec cp -vr '{}' $(distdir) ';'
+       find . -name '*.repro' -exec cp -vr '{}' $(distdir) ';'
+
+clean-local:
+       rm -rf *.gc?? *.log lcov coverage.info
+
+oss-fuzz:
+       if test "$$OUT" != ""; then \
+       for ccfile in *_fuzzer.c; do \
+       fuzzer=$$(basename $$ccfile .c); \
+       $$CXX $$CXXFLAGS -I$(top_srcdir)/lib -I$(top_srcdir) \
+       "$${fuzzer}.c" -o "$${fuzzer}" \
+       ../lib/.libs/libidn.a $${LIB_FUZZING_ENGINE} -Wl,-Bstatic \
+       -Wl,-Bdynamic; \
+       done; \
+       fi
+
+.PHONY: oss-fuzz
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/fuzz/README.md b/fuzz/README.md
new file mode 100644 (file)
index 0000000..10586f8
--- /dev/null
@@ -0,0 +1,108 @@
+# Fuzzers
+
+These are fuzzers designed for use with `libFuzzer` or `afl`. They can
+be used to run on Google's OSS-Fuzz (https://github.com/google/oss-fuzz/).
+
+The convention used here is that the initial values for each parser fuzzer
+are taken from the $NAME.in directory.
+
+Crash reproducers from OSS-Fuzz are put into $NAME.repro directory for
+regression testing with top dir 'make check' or 'make check-valgrind'.
+
+The ./configure runs below are for libidn.
+
+
+# Running a fuzzer using clang
+
+Use the following commands on top dir:
+```
+export CC=clang-6.0
+export CXX=clang++-6.0
+# address sanitizer:
+export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined,integer,nullability -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp"
+# undefined sanitizer;
+export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr -fno-sanitize-recover=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr -fsanitize=fuzzer-no-link"
+ASAN_OPTIONS=detect_leaks=0 ./configure --enable-static --disable-doc
+make clean
+make -j$(nproc)
+cd fuzz
+
+# run wget_options_fuzzer
+UBSAN_OPTIONS=print_stacktrace=1 ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-6.0/bin/llvm-symbolizer \
+  ./run-clang.sh libidn_toascii_fuzzer
+```
+
+If you see a crash, then a crash corpora is written that can be used for further
+investigation. E.g.
+```
+==2410==ERROR: AddressSanitizer: heap-use-after-free on address 0x602000004e90 at pc 0x00000049cf9c bp 0x7fffb5543f70 sp 0x7fffb55
+43720
+...
+Test unit written to ./crash-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
+```
+
+To reproduce the crash:
+```
+./libidn_toascii_fuzzer < ./crash-adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
+```
+
+You can also copy/move that file into libidn_toascii_fuzzer.repro/
+and re-build the project without fuzzing for a valgrind run, if you like that better.
+Just a `./configure --enable-valgrind-tests` and a `make check` should reproduce it.
+
+
+# Running a fuzzer using AFL
+
+Use the following commands on top dir:
+
+```
+$ CC=afl-clang-fast ./configure --disable-doc
+$ make -j$(nproc) clean all
+$ cd fuzz
+$ ./run-afl.sh libidn_fuzzer
+```
+
+# Fuzz code coverage using the corpus directories *.in/
+
+Code coverage reports currently work best with gcc+lcov+genhtml.
+
+In the top directory:
+```
+CC=gcc CFLAGS="-O0 -g" ./configure --disable-doc
+make coverage
+xdg-open doc/coverage/index.html
+```
+
+Each fuzzer target has it's own functions to cover, e.g.
+`libidn_toascii_fuzzer` covers idna_to_ascii_* functions.
+
+To work on corpora for better coverage, `cd fuzz` and use e.g.
+`./view-coverage.sh libidn_toascii_fuzzer`.
+
+
+# Enhancing the testsuite for issues found
+
+Each reproducer file should be dropped into the appropriate *.repro/
+directory.
+
+# License
+
+Copyright (c) 2017-2020 Tim Ruehsen
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/fuzz/fuzzer.h b/fuzz/fuzzer.h
new file mode 100644 (file)
index 0000000..735a1c2
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright(c) 2017 Tim Ruehsen
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include <stddef.h>            /* size_t */
+#include <stdint.h>            /* uint8_t */
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int LLVMFuzzerTestOneInput (const uint8_t * data, size_t size);
diff --git a/fuzz/libidn_stringprep_fuzzer.c b/fuzz/libidn_stringprep_fuzzer.c
new file mode 100644 (file)
index 0000000..4ea67f3
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright(c) 2017 Tim Ruehsen
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include <assert.h>            /* assert */
+#include <stdint.h>            /* uint8_t, uint32_t */
+#include <stdlib.h>            /* malloc, free */
+#include <string.h>            /* memcpy */
+
+#include "stringprep.h"
+#include "pr29.h"
+#include "tld.h"
+#include "idn-free.h"
+#include "fuzzer.h"
+
+int
+LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
+{
+  char *wdata;
+  char *label;
+  char *utf8_seq;
+  char *out;
+  uint32_t cp;
+  size_t errpos;
+
+  if (size > 2048)
+    return 0;
+
+  wdata = (char *) malloc (size + 1);
+  label = (char *) malloc (size + 1);
+  utf8_seq = (char *) malloc (6);
+  assert (wdata != NULL);
+  assert (label != NULL);
+  assert (utf8_seq != NULL);
+
+  /* 0 terminate */
+  memcpy (label, data, size);
+  label[size] = 0;
+
+  stringprep_check_version (label);
+
+  if (stringprep_profile
+      (label, &out, "Nodeprep",
+       (Stringprep_profile_flags) 0) == STRINGPREP_OK)
+    idn_free (out);
+
+  pr29_8z (label);             /* internally calls stringprep_utf8_to_ucs4() */
+
+#ifdef WITH_TLD
+  if (tld_get_z (label, &out) == TLD_SUCCESS)  /* internally calls tld_get_4() */
+    idn_free (out);
+  const Tld_table *tld = tld_default_table ("fr", NULL);
+  tld_check_8z (label, &errpos, NULL);
+  tld_check_lz (label, &errpos, NULL);
+#endif
+
+  out = stringprep_utf8_nfkc_normalize ((char *) data, size);
+  idn_free (out);
+
+  cp = stringprep_utf8_to_unichar (label);
+  stringprep_unichar_to_utf8 (cp, utf8_seq);
+
+  memcpy (wdata, data, size);
+  wdata[size] = 0;
+  stringprep (wdata, size, (Stringprep_profile_flags) 0, stringprep_nameprep);
+  memcpy (wdata, data, size);
+  wdata[size] = 0;
+  stringprep (wdata, size, STRINGPREP_NO_UNASSIGNED, stringprep_nameprep);
+
+  if ((size & 3) == 0)
+    {
+      uint32_t *u32 = (uint32_t *) malloc (size + 4);
+
+      assert (u32 != NULL);
+
+      memcpy (u32, data, size);
+      u32[size / 4] = 0;
+      stringprep_4zi (u32, size / 4, (Stringprep_profile_flags) 0,
+                     stringprep_xmpp_nodeprep);
+
+      memcpy (u32, data, size);
+      u32[size / 4] = 0;
+#ifdef WITH_TLD
+      if (tld_get_4z (u32, &out) == TLD_SUCCESS)       /* internally calls tld_get_4() */
+       idn_free (out);
+
+      tld_check_4tz (u32, &errpos, tld);
+      tld_check_4z (u32, &errpos, NULL);
+#endif
+
+      free (u32);
+    }
+
+  free (utf8_seq);
+  free (label);
+  free (wdata);
+
+  return 0;
+}
diff --git a/fuzz/libidn_toascii_fuzzer.c b/fuzz/libidn_toascii_fuzzer.c
new file mode 100644 (file)
index 0000000..ca79dad
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright(c) 2017 Tim Ruehsen
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include <assert.h>            /* assert */
+#include <stdint.h>            /* uint8_t, uint32_t */
+#include <stdlib.h>            /* malloc, free */
+#include <string.h>            /* memcpy */
+
+#include "idna.h"
+#include "idn-free.h"
+#include "fuzzer.h"
+
+int
+LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
+{
+  char *domain;
+  char *out;
+
+  if (size > 1024)
+    return 0;
+
+  domain = (char *) malloc (size + 1);
+  assert (domain != NULL);
+
+  if ((size & 3) == 0)
+    {
+      uint32_t *data0 = (uint32_t *) malloc (size + 4);
+      char *asc = (char *) malloc (64);
+
+      assert (data0 != NULL);
+      assert (asc != NULL);
+
+      idna_to_ascii_4i ((uint32_t *) data, size / 4, asc, 0);
+      idna_to_ascii_4i ((uint32_t *) data, size / 4, asc,
+                       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES);
+
+      free (asc);
+
+      memcpy (data0, data, size);
+      data0[size / 4] = 0;
+      if (idna_to_ascii_4z (data0, &out, 0) == IDNA_SUCCESS)
+       idn_free (out);
+      if (idna_to_ascii_4z
+         (data0, &out,
+          IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+       idn_free (out);
+      free (data0);
+    }
+
+  /* 0 terminate */
+  memcpy (domain, data, size);
+  domain[size] = 0;
+
+  if (idna_to_ascii_8z (domain, &out, 0) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_ascii_8z
+      (domain, &out,
+       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_ascii_lz (domain, &out, 0) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_ascii_lz
+      (domain, &out,
+       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+    idn_free (out);
+
+  free (domain);
+
+  return 0;
+}
diff --git a/fuzz/libidn_tounicode_fuzzer.c b/fuzz/libidn_tounicode_fuzzer.c
new file mode 100644 (file)
index 0000000..5f908d6
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Copyright(c) 2017 Tim Ruehsen
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include <assert.h>            /* assert */
+#include <stdint.h>            /* uint8_t, uint32_t */
+#include <stdlib.h>            /* malloc, free */
+#include <string.h>            /* memcpy */
+
+#include "idna.h"
+#include "idn-free.h"
+#include "fuzzer.h"
+
+int
+LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
+{
+  char *domain;
+  char *out;
+
+  if (size > 1024)
+    return 0;
+
+  domain = (char *) malloc (size + 1);
+  assert (domain != NULL);
+
+  /* 0 terminate */
+  memcpy (domain, data, size);
+  domain[size] = 0;
+
+  if ((size & 3) == 0)
+    {
+      uint32_t *u32 = (uint32_t *) malloc (size);
+      size_t u32len;
+
+      assert (u32 != NULL);
+
+      u32len = size / 4;
+      idna_to_unicode_44i ((uint32_t *) data, size / 4, u32, &u32len, 0);
+      u32len = size / 4;
+      idna_to_unicode_44i ((uint32_t *) data, size / 4, u32, &u32len,
+                          IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES);
+
+      free (u32);
+
+      uint32_t *data0 = (uint32_t *) malloc (size + 4), *out0;
+      assert (data0 != NULL);
+      memcpy (data0, data, size);
+      data0[size / 4] = 0;
+
+      if (idna_to_unicode_4z4z (data0, &out0, 0) == IDNA_SUCCESS)
+       idn_free (out0);
+      if (idna_to_unicode_4z4z
+         (data0, &out0,
+          IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+       idn_free (out0);
+
+      free (data0);
+
+      if (idna_to_unicode_8z4z (domain, &out0, 0) == IDNA_SUCCESS)
+       idn_free (out0);
+      if (idna_to_unicode_8z4z
+         (domain, &out0,
+          IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+       idn_free (out0);
+    }
+
+  if (idna_to_unicode_8z8z (domain, &out, 0) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_unicode_8z8z
+      (domain, &out,
+       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_unicode_8zlz (domain, &out, 0) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_unicode_8zlz
+      (domain, &out,
+       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_unicode_lzlz (domain, &out, 0) == IDNA_SUCCESS)
+    idn_free (out);
+  if (idna_to_unicode_lzlz
+      (domain, &out,
+       IDNA_ALLOW_UNASSIGNED | IDNA_USE_STD3_ASCII_RULES) == IDNA_SUCCESS)
+    idn_free (out);
+
+  free (domain);
+
+  return 0;
+}
diff --git a/fuzz/libidn_tounicode_fuzzer.dict b/fuzz/libidn_tounicode_fuzzer.dict
new file mode 100644 (file)
index 0000000..09c2b55
--- /dev/null
@@ -0,0 +1,2 @@
+"xn--"
+"XN--"
diff --git a/fuzz/libidn_tounicode_fuzzer.repro/clusterfuzz-testcase-6105917865066496 b/fuzz/libidn_tounicode_fuzzer.repro/clusterfuzz-testcase-6105917865066496
new file mode 100644 (file)
index 0000000..ebb7d1a
--- /dev/null
@@ -0,0 +1 @@
+Xn--nXKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\ No newline at end of file
diff --git a/fuzz/main.c b/fuzz/main.c
new file mode 100644 (file)
index 0000000..3bb8d47
--- /dev/null
@@ -0,0 +1,156 @@
+/*
+ * Copyright(c) 2017 Tim Ruehsen
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include "../config.h"
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/stat.h>
+
+#include "fuzzer.h"
+
+#ifdef TEST_RUN
+
+# include <dirent.h>
+
+static int
+test_all_from (const char *dirname)
+{
+  DIR *dirp;
+  struct dirent *dp;
+
+  if ((dirp = opendir (dirname)))
+    {
+      while ((dp = readdir (dirp)))
+       {
+         if (*dp->d_name == '.')
+           continue;
+
+         char fname[strlen (dirname) + strlen (dp->d_name) + 2];
+         snprintf (fname, sizeof (fname), "%s/%s", dirname, dp->d_name);
+
+         int fd;
+         if ((fd = open (fname, O_RDONLY)) == -1)
+           {
+             fprintf (stderr, "Failed to open %s (%d)\n", fname, errno);
+             continue;
+           }
+
+         struct stat st;
+         if (fstat (fd, &st) != 0)
+           {
+             fprintf (stderr, "Failed to stat %d (%d)\n", fd, errno);
+             close (fd);
+             continue;
+           }
+
+         uint8_t *data = malloc (st.st_size);
+         ssize_t n;
+         if ((n = read (fd, data, st.st_size)) == st.st_size)
+           {
+             printf ("testing %llu bytes from '%s'\n",
+                     (unsigned long long) st.st_size, fname);
+             LLVMFuzzerTestOneInput (data, st.st_size);
+           }
+         else
+           fprintf (stderr,
+                    "Failed to read %llu bytes from %s (%d), got %zd\n",
+                    (unsigned long long) st.st_size, fname, errno, n);
+
+         free (data);
+         close (fd);
+       }
+      closedir (dirp);
+      return 0;
+    }
+
+  return 1;
+}
+
+int
+main (int argc, char **argv)
+{
+  const char *target = strrchr (argv[0], '/');
+  target = target ? target + 1 : argv[0];
+
+  (void) argc;
+
+  {
+    int rc;
+    char corporadir[sizeof (SRCDIR) + 1 + strlen (target) + 8];
+    snprintf (corporadir, sizeof (corporadir), SRCDIR "/%s.in", target);
+
+    rc = test_all_from (corporadir);
+    if (rc)
+      fprintf (stderr, "Failed to find %s\n", corporadir);
+
+    snprintf (corporadir, sizeof (corporadir), SRCDIR "/%s.repro", target);
+    test_all_from (corporadir);
+    if (test_all_from (corporadir) && rc)
+      return 77;               // SKIP
+  }
+
+  return 0;
+}
+
+#else
+
+# ifndef __AFL_LOOP
+static int
+__AFL_LOOP (int n)
+{
+  static int first = 1;
+
+  if (first)
+    {
+      first = 0;
+      return 1;
+    }
+
+  return 0;
+}
+# endif
+
+int
+main (void)
+{
+  int ret;
+  unsigned char buf[64 * 1024];
+
+  while (__AFL_LOOP (10000))
+    {                          // only works with afl-clang-fast
+      ret = fread (buf, 1, sizeof (buf), stdin);
+      if (ret < 0)
+       return 0;
+
+      LLVMFuzzerTestOneInput (buf, ret);
+    }
+
+  return 0;
+}
+
+#endif /* TEST_RUN */
index 60759d6..5287863 100644 (file)
@@ -1,10 +1,10 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -13,7 +13,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
-
-AUTOMAKE_OPTIONS = 1.5 gnits
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnu \
+#  --source-base=gl \
+#  --m4-base=gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=gl/tests \
+#  --aux-dir=build-aux \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=gl \
+#  --no-vc-files \
+#  autobuild \
+#  csharpcomp-script \
+#  csharpexec-script \
+#  error \
+#  getline \
+#  getopt-gnu \
+#  git-version-gen \
+#  gitlog-to-changelog \
+#  lib-msvc-compat \
+#  lib-symbol-versions \
+#  lib-symbol-visibility \
+#  manywarnings \
+#  pmccabe2html \
+#  progname \
+#  readme-release \
+#  update-copyright \
+#  useless-if-before-free \
+#  valgrind-tests \
+#  version-etc
+
+AUTOMAKE_OPTIONS = 1.14 gnits
 
 SUBDIRS =
 noinst_HEADERS =
@@ -37,6 +67,7 @@ MOSTLYCLEANDIRS =
 CLEANFILES =
 DISTCLEANFILES =
 MAINTAINERCLEANFILES =
+# No GNU Make output.
 EXTRA_DIST += m4/gnulib-cache.m4
 
 AM_CPPFLAGS =
@@ -45,6 +76,7 @@ AM_CFLAGS =
 noinst_LTLIBRARIES += libgnu.la
 
 libgnu_la_SOURCES =
+libgnu_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
 libgnu_la_LIBADD = $(gl_LTLIBOBJS)
 libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS)
 EXTRA_libgnu_la_SOURCES =
@@ -52,6 +84,99 @@ libgnu_la_LDFLAGS = $(AM_LDFLAGS)
 libgnu_la_LDFLAGS += -no-undefined
 libgnu_la_LDFLAGS += $(LTLIBINTL)
 
+## begin gnulib module absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER)
+
+## end   gnulib module absolute-header
+
+## begin gnulib module alloca-opt
+
+BUILT_SOURCES += $(ALLOCA_H)
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ALLOCA_H
+alloca.h: alloca.in.h $(top_builddir)/config.status
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+         -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' \
+         $(srcdir)/alloca.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+alloca.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += alloca.h alloca.h-t
+
+EXTRA_DIST += alloca.in.h
+
+## end   gnulib module alloca-opt
+
+## begin gnulib module announce-gen
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen
+
+## end   gnulib module announce-gen
+
+## begin gnulib module assert-h
+
+BUILT_SOURCES += $(ASSERT_H)
+
+# We need the following in order to create <assert.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ASSERT_H
+assert.h: assert.in.h verify.h $(top_builddir)/config.status
+       $(gl_V_at){ $(SED_HEADER_STDOUT) \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \
+             < $(srcdir)/assert.in.h && \
+         sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \
+             -e 's|_gl_verify|_gl_static_assert|g' \
+             -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \
+             -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \
+             < $(srcdir)/verify.h; \
+       } > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+assert.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += assert.h assert.h-t
+
+EXTRA_DIST += assert.in.h verify.h
+
+## end   gnulib module assert-h
+
+## begin gnulib module basename-lgpl
+
+libgnu_la_SOURCES += basename-lgpl.c
+
+EXTRA_DIST += basename-lgpl.h
+
+## end   gnulib module basename-lgpl
+
+## begin gnulib module cloexec
+
+libgnu_la_SOURCES += cloexec.c
+
+EXTRA_DIST += cloexec.h
+
+## end   gnulib module cloexec
+
+## begin gnulib module close
+
+if GL_COND_OBJ_CLOSE
+libgnu_la_SOURCES += close.c
+endif
+
+## end   gnulib module close
+
 ## begin gnulib module csharpcomp-script
 
 
@@ -66,6 +191,21 @@ EXTRA_DIST += $(top_srcdir)/build-aux/csharpexec.sh.in
 
 ## end   gnulib module csharpexec-script
 
+## begin gnulib module do-release-commit-and-tag
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/do-release-commit-and-tag
+
+## end   gnulib module do-release-commit-and-tag
+
+## begin gnulib module dup2
+
+if GL_COND_OBJ_DUP2
+libgnu_la_SOURCES += dup2.c
+endif
+
+## end   gnulib module dup2
+
 ## begin gnulib module errno
 
 BUILT_SOURCES += $(ERRNO_H)
@@ -74,9 +214,8 @@ BUILT_SOURCES += $(ERRNO_H)
 # doesn't have one that is POSIX compliant.
 if GL_GENERATE_ERRNO_H
 errno.h: errno.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@@ -87,9 +226,8 @@ errno.h: errno.in.h $(top_builddir)/config.status
              -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
              -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
              -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
-             < $(srcdir)/errno.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             $(srcdir)/errno.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 errno.h: $(top_builddir)/config.status
        rm -f $@
@@ -102,12 +240,126 @@ EXTRA_DIST += errno.in.h
 
 ## begin gnulib module error
 
+if GL_COND_OBJ_ERROR
+libgnu_la_SOURCES += error.c
+endif
+
+## end   gnulib module error
 
-EXTRA_DIST += error.c error.h
+## begin gnulib module error-h
 
-EXTRA_libgnu_la_SOURCES += error.c
+BUILT_SOURCES += error.h
 
-## end   gnulib module error
+# We need the following in order to override <error.h>.
+error.h: error.in.h $(top_builddir)/config.status $(CXXDEFS_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''HAVE_ERROR_H''@|$(HAVE_ERROR_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''NEXT_ERROR_H''@|$(NEXT_ERROR_H)|g' \
+             -e 's|@''HAVE_ERROR''@|$(HAVE_ERROR)|g' \
+             -e 's|@''HAVE_ERROR_AT_LINE''@|$(HAVE_ERROR_AT_LINE)|g' \
+             -e 's|@''REPLACE_ERROR''@|$(REPLACE_ERROR)|g' \
+             -e 's|@''REPLACE_ERROR_AT_LINE''@|$(REPLACE_ERROR_AT_LINE)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             $(srcdir)/error.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += error.h error.h-t
+
+EXTRA_DIST += error.in.h
+
+## end   gnulib module error-h
+
+## begin gnulib module fcntl
+
+if GL_COND_OBJ_FCNTL
+libgnu_la_SOURCES += fcntl.c
+endif
+
+## end   gnulib module fcntl
+
+## begin gnulib module fcntl-h
+
+BUILT_SOURCES += fcntl.h
+
+# We need the following in order to create <fcntl.h> when the system
+# doesn't have one that works with the given compiler.
+fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
+             -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \
+             -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \
+             -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \
+             -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \
+             -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \
+             -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \
+             -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
+             -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
+             -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
+             -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
+             -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
+             -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/fcntl.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += fcntl.h fcntl.h-t
+
+EXTRA_DIST += fcntl.in.h
+
+## end   gnulib module fcntl-h
+
+## begin gnulib module fd-hook
+
+libgnu_la_SOURCES += fd-hook.c
+
+EXTRA_DIST += fd-hook.h
+
+## end   gnulib module fd-hook
+
+## begin gnulib module filename
+
+
+EXTRA_DIST += filename.h
+
+## end   gnulib module filename
+
+## begin gnulib module fstat
+
+if GL_COND_OBJ_FSTAT
+libgnu_la_SOURCES += fstat.c
+endif
+
+EXTRA_DIST += stat-w32.c stat-w32.h
+
+EXTRA_libgnu_la_SOURCES += stat-w32.c
+
+## end   gnulib module fstat
+
+## begin gnulib module gen-header
+
+# In 'sed', replace the pattern space with a "DO NOT EDIT" comment.
+SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,
+
+# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT".
+SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G
+
+# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading
+# "DO_NOT_EDIT".  Although this could be done more simply via:
+#      SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t
+# the -n and 'w' avoid a fork+exec, at least when GNU Make is used.
+SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t'
+
+# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that
+gl_V_at = $(AM_V_GEN)
+
+## end   gnulib module gen-header
 
 ## begin gnulib module gendocs
 
@@ -116,46 +368,117 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh
 
 ## end   gnulib module gendocs
 
+## begin gnulib module getdelim
+
+if GL_COND_OBJ_GETDELIM
+libgnu_la_SOURCES += getdelim.c
+endif
+
+## end   gnulib module getdelim
+
+## begin gnulib module getdtablesize
+
+if GL_COND_OBJ_GETDTABLESIZE
+libgnu_la_SOURCES += getdtablesize.c
+endif
+
+## end   gnulib module getdtablesize
+
+## begin gnulib module getline
+
+if GL_COND_OBJ_GETLINE
+libgnu_la_SOURCES += getline.c
+endif
+
+## end   gnulib module getline
+
 ## begin gnulib module getopt-posix
 
-BUILT_SOURCES += $(GETOPT_H)
+BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)
 
 # We need the following in order to create <getopt.h> when the system
 # doesn't have one that works with the given compiler.
+if GL_GENERATE_GETOPT_H
 getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             < $(srcdir)/getopt.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
-MOSTLYCLEANFILES += getopt.h getopt.h-t
+             $(srcdir)/getopt.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+getopt.h: $(top_builddir)/config.status
+       rm -f $@
+endif
 
-EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
+if GL_GENERATE_GETOPT_CDEFS_H
+getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)$(SED_HEADER_STDOUT) \
+         -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
+         $(srcdir)/getopt-cdefs.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+getopt-cdefs.h: $(top_builddir)/config.status
+       rm -f $@
+endif
 
-EXTRA_libgnu_la_SOURCES += getopt.c getopt1.c
+MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t
+
+if GL_COND_OBJ_GETOPT
+libgnu_la_SOURCES += getopt.c getopt1.c
+endif
+
+EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.in.h getopt_int.h
 
 ## end   gnulib module getopt-posix
 
+## begin gnulib module getprogname
+
+if GL_COND_OBJ_GETPROGNAME
+libgnu_la_SOURCES += getprogname.c
+endif
+
+EXTRA_DIST += getprogname.h
+
+## end   gnulib module getprogname
+
 ## begin gnulib module gettext-h
 
 libgnu_la_SOURCES += gettext.h
 
 ## end   gnulib module gettext-h
 
+## begin gnulib module git-version-gen
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/git-version-gen
+
+## end   gnulib module git-version-gen
+
+## begin gnulib module gitlog-to-changelog
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog
+
+## end   gnulib module gitlog-to-changelog
+
+## begin gnulib module gnu-web-doc-update
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update
+
+## end   gnulib module gnu-web-doc-update
+
 ## begin gnulib module gnumakefile
 
+EXTRA_DIST += $(top_srcdir)/GNUmakefile
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
-       test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
-
-EXTRA_DIST += $(top_srcdir)/GNUmakefile
+       test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
 
 ## end   gnulib module gnumakefile
 
@@ -166,37 +489,104 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gnupload
 
 ## end   gnulib module gnupload
 
+## begin gnulib module idx
+
+libgnu_la_SOURCES += idx.h
+
+## end   gnulib module idx
+
 ## begin gnulib module intprops
 
 
-EXTRA_DIST += intprops.h
+EXTRA_DIST += intprops-internal.h intprops.h
 
 ## end   gnulib module intprops
 
+## begin gnulib module lib-symbol-visibility
+
+# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
+# compilation of all sources that make up the library. This line here does it
+# only for the gnulib part of it. The developer is responsible for adding
+# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
+AM_CFLAGS += $(CFLAG_VISIBILITY)
+
+## end   gnulib module lib-symbol-visibility
+
+## begin gnulib module limits-h
+
+BUILT_SOURCES += $(LIMITS_H)
+
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+if GL_GENERATE_LIMITS_H
+limits.h: limits.in.h $(top_builddir)/config.status
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+             $(srcdir)/limits.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+limits.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += limits.h limits.h-t
+
+EXTRA_DIST += limits.in.h
+
+## end   gnulib module limits-h
+
 ## begin gnulib module maintainer-makefile
 
 EXTRA_DIST += $(top_srcdir)/maint.mk
 
 ## end   gnulib module maintainer-makefile
 
-## begin gnulib module msvc-inval
+## begin gnulib module malloca
+
+libgnu_la_SOURCES += malloca.c
 
+EXTRA_DIST += malloca.h
 
-EXTRA_DIST += msvc-inval.c msvc-inval.h
+## end   gnulib module malloca
 
-EXTRA_libgnu_la_SOURCES += msvc-inval.c
+## begin gnulib module msvc-inval
+
+if GL_COND_OBJ_MSVC_INVAL
+libgnu_la_SOURCES += msvc-inval.c
+endif
+
+EXTRA_DIST += msvc-inval.h
 
 ## end   gnulib module msvc-inval
 
 ## begin gnulib module msvc-nothrow
 
+if GL_COND_OBJ_MSVC_NOTHROW
+libgnu_la_SOURCES += msvc-nothrow.c
+endif
 
-EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h
-
-EXTRA_libgnu_la_SOURCES += msvc-nothrow.c
+EXTRA_DIST += msvc-nothrow.h
 
 ## end   gnulib module msvc-nothrow
 
+## begin gnulib module open
+
+if GL_COND_OBJ_OPEN
+libgnu_la_SOURCES += open.c
+endif
+
+## end   gnulib module open
+
+## begin gnulib module pathmax
+
+
+EXTRA_DIST += pathmax.h
+
+## end   gnulib module pathmax
+
 ## begin gnulib module pmccabe2html
 
 
@@ -210,75 +600,74 @@ libgnu_la_SOURCES += progname.h progname.c
 
 ## end   gnulib module progname
 
-## begin gnulib module snippet/arg-nonnull
+## begin gnulib module snippet/_Noreturn
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+
+_NORETURN_H=$(srcdir)/_Noreturn.h
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+EXTRA_DIST += _Noreturn.h
 
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+## end   gnulib module snippet/_Noreturn
 
-ARG_NONNULL_H=arg-nonnull.h
+## begin gnulib module snippet/arg-nonnull
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+
+ARG_NONNULL_H=$(srcdir)/arg-nonnull.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+EXTRA_DIST += arg-nonnull.h
 
 ## end   gnulib module snippet/arg-nonnull
 
 ## begin gnulib module snippet/c++defs
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+CXXDEFS_H=$(srcdir)/c++defs.h
 
-CXXDEFS_H=c++defs.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+EXTRA_DIST += c++defs.h
 
 ## end   gnulib module snippet/c++defs
 
 ## begin gnulib module snippet/warn-on-use
 
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-WARN_ON_USE_H=warn-on-use.h
+WARN_ON_USE_H=$(srcdir)/warn-on-use.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+EXTRA_DIST += warn-on-use.h
 
 ## end   gnulib module snippet/warn-on-use
 
+## begin gnulib module stat
+
+if GL_COND_OBJ_STAT
+libgnu_la_SOURCES += stat.c
+endif
+
+EXTRA_DIST += stat-w32.c stat-w32.h
+
+EXTRA_libgnu_la_SOURCES += stat-w32.c
+
+## end   gnulib module stat
+
+## begin gnulib module stat-time
+
+libgnu_la_SOURCES += stat-time.c
+
+EXTRA_DIST += stat-time.h
+
+## end   gnulib module stat-time
+
 ## begin gnulib module stdarg
 
 BUILT_SOURCES += $(STDARG_H)
@@ -287,16 +676,14 @@ BUILT_SOURCES += $(STDARG_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDARG_H
 stdarg.h: stdarg.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
-             < $(srcdir)/stdarg.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             $(srcdir)/stdarg.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 stdarg.h: $(top_builddir)/config.status
        rm -f $@
@@ -307,6 +694,27 @@ EXTRA_DIST += stdarg.in.h
 
 ## end   gnulib module stdarg
 
+## begin gnulib module stdckdint
+
+BUILT_SOURCES += $(STDCKDINT_H)
+
+# We need the following in order to create <stdckdint.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDCKDINT_H
+stdckdint.h: stdckdint.in.h $(top_builddir)/config.status
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+         $(srcdir)/stdckdint.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+stdckdint.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += stdckdint.h stdckdint.h-t
+
+EXTRA_DIST += intprops-internal.h stdckdint.in.h
+
+## end   gnulib module stdckdint
+
 ## begin gnulib module stddef
 
 BUILT_SOURCES += $(STDDEF_H)
@@ -315,18 +723,17 @@ BUILT_SOURCES += $(STDDEF_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDDEF_H
 stddef.h: stddef.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+             -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
              -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
              -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
-             < $(srcdir)/stddef.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             $(srcdir)/stddef.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 stddef.h: $(top_builddir)/config.status
        rm -f $@
@@ -337,21 +744,386 @@ EXTRA_DIST += stddef.in.h
 
 ## end   gnulib module stddef
 
-## begin gnulib module strerror
+## begin gnulib module stdint
+
+BUILT_SOURCES += $(STDINT_H)
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDINT_H
+stdint.h: stdint.in.h $(top_builddir)/config.status
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+             -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
+             -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+             -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+             -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+             -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+             -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+             -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+             -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+             -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+             -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+             -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+             -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+             -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+             $(srcdir)/stdint.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+stdint.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += stdint.h stdint.h-t
+
+EXTRA_DIST += stdint.in.h
 
+## end   gnulib module stdint
 
-EXTRA_DIST += strerror.c
+## begin gnulib module stdio
 
-EXTRA_libgnu_la_SOURCES += strerror.c
+BUILT_SOURCES += stdio.h
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+             -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \
+             -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \
+             -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \
+             -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \
+             -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \
+             -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \
+             -e 's/@''GNULIB_FOPEN_GNU''@/$(GL_GNULIB_FOPEN_GNU)/g' \
+             -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \
+             -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \
+             -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \
+             -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \
+             -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \
+             -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \
+             -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \
+             -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \
+             -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \
+             -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \
+             -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \
+             -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \
+             -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \
+             -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \
+             -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \
+             -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \
+             -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \
+             -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \
+             -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \
+             -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \
+             -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \
+             -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \
+             -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \
+             -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \
+             -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \
+             -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \
+             -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \
+             -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \
+             -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \
+             -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \
+             -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \
+             -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \
+             -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \
+             -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \
+             -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \
+             -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \
+             -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \
+             -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \
+             -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \
+             -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \
+             -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \
+             < $(srcdir)/stdio.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
+             -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+             -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+             -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+             -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+             -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+             -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \
+             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+             -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \
+             -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+             -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+             -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+             -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+             -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+             -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+             -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+             -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+             -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+             -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+             -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|$(REPLACE_FOPEN_FOR_FOPEN_GNU)|g' \
+             -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+             -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+             -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+             -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+             -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+             -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+             -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+             -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+             -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+             -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+             -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+             -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+             -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+             -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+             -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+             -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+             -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+             -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+             -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+             -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+             -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+             -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+             -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+             -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+             -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3
+
+if GL_COND_OBJ_STDIO_READ
+libgnu_la_SOURCES += stdio-read.c
+endif
+if GL_COND_OBJ_STDIO_WRITE
+libgnu_la_SOURCES += stdio-write.c
+endif
+
+EXTRA_DIST += stdio.in.h
+
+## end   gnulib module stdio
+
+## begin gnulib module stdlib
+
+BUILT_SOURCES += stdlib.h
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+             -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \
+             -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \
+             -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \
+             -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_GNULIB_CALLOC_GNU)/g' \
+             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
+             -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \
+             -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \
+             -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \
+             -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \
+             -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \
+             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \
+             -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \
+             -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \
+             -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \
+             -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \
+             -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \
+             -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \
+             -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
+             -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
+             -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
+             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \
+             -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \
+             -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \
+             -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \
+             -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \
+             -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \
+             -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \
+             -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \
+             -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \
+             -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \
+             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \
+             -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \
+             -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \
+             -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \
+             -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \
+             -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \
+             -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \
+             -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \
+             -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \
+             < $(srcdir)/stdlib.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+             -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \
+             -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
+             -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+             -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+             -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
+             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+             -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
+             -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
+             -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
+             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
+             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
+             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+             -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
+             -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
+             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+             -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
+             -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
+             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+             -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \
+             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
+             -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+             -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+             -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
+             -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+             -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
+             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+             -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+             -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
+             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+             -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+             -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
+             -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
+             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+             -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
+             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+             -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
+             -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
+             -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
+             -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \
+             -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \
+             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t1 stdlib.h-t2 stdlib.h-t3
+
+EXTRA_DIST += stdlib.in.h
+
+## end   gnulib module stdlib
+
+## begin gnulib module strerror
+
+if GL_COND_OBJ_STRERROR
+libgnu_la_SOURCES += strerror.c
+endif
 
 ## end   gnulib module strerror
 
 ## begin gnulib module strerror-override
 
+if GL_COND_OBJ_STRERROR_OVERRIDE
+libgnu_la_SOURCES += strerror-override.c
+endif
 
-EXTRA_DIST += strerror-override.c strerror-override.h
-
-EXTRA_libgnu_la_SOURCES += strerror-override.c
+EXTRA_DIST += strerror-override.h
 
 ## end   gnulib module strerror-override
 
@@ -362,58 +1134,67 @@ BUILT_SOURCES += string.h
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-             -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
-             -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
-             -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
-             -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
-             -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
-             -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
-             -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
-             -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
-             -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
-             -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
-             -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
-             -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
-             -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
-             -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
-             -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
-             -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
-             -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
-             -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
-             -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
-             -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
-             -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
-             -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
-             -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
-             -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
-             -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
-             -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
-             -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
-             -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
-             -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
-             -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
-             -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
-             -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
-             -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
-             -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
-             -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
-             -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
-             -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
-             < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \
+             -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \
+             -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \
+             -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \
+             -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \
+             -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \
+             -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \
+             -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \
+             -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \
+             -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \
+             -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \
+             -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \
+             -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \
+             -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \
+             -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \
+             -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \
+             -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \
+             -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \
+             -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \
+             -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \
+             -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \
+             -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \
+             -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \
+             -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \
+             -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \
+             -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \
+             -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \
+             -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \
+             -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \
+             -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \
+             -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \
+             -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \
+             -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \
+             -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \
+             -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \
+             -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \
+             -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \
+             -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \
+             -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \
+             -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \
+             -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \
+             -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \
+             -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \
+             -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/string.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-             -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
              -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
              -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
              -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+             -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
              -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
              -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
              -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -426,35 +1207,116 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+             -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \
+             -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \
+             -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+             -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-             < $(srcdir)/string.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += string.h string.h-t
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)rm -f $@-t1
+       $(AM_V_at)mv $@-t2 $@
+MOSTLYCLEANFILES += string.h string.h-t1 string.h-t2
 
 EXTRA_DIST += string.in.h
 
 ## end   gnulib module string
 
+## begin gnulib module sys_stat
+
+BUILT_SOURCES += sys/stat.h
+
+# We need the following in order to create <sys/stat.h> when the system
+# has one that is incomplete.
+sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
+             -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \
+             -e 's/@''GNULIB_CHMOD''@/$(GL_GNULIB_CHMOD)/g' \
+             -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \
+             -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \
+             -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \
+             -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \
+             -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \
+             -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \
+             -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \
+             -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \
+             -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \
+             -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \
+             -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \
+             -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \
+             -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \
+             -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \
+             -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \
+             -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \
+             -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \
+             -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \
+             -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \
+             -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
+             -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
+             -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
+             -e 's|@''HAVE_GETUMASK''@|$(HAVE_GETUMASK)|g' \
+             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
+             -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
+             -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
+             -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
+             -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
+             -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
+             -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
+             -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
+             -e 's|@''REPLACE_CHMOD''@|$(REPLACE_CHMOD)|g' \
+             -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \
+             -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
+             -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
+             -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
+             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+             -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
+             -e 's|@''REPLACE_MKFIFOAT''@|$(REPLACE_MKFIFOAT)|g' \
+             -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
+             -e 's|@''REPLACE_MKNODAT''@|$(REPLACE_MKNODAT)|g' \
+             -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
+             -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/sys_stat.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t
+MOSTLYCLEANDIRS += sys
+
+EXTRA_DIST += sys_stat.in.h
+
+## end   gnulib module sys_stat
+
 ## begin gnulib module sys_types
 
 BUILT_SOURCES += sys/types.h
@@ -462,94 +1324,193 @@ BUILT_SOURCES += sys/types.h
 # We need the following in order to create <sys/types.h> when the system
 # doesn't have one that works with the given compiler.
 sys/types.h: sys_types.in.h $(top_builddir)/config.status
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             < $(srcdir)/sys_types.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
+             $(srcdir)/sys_types.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 MOSTLYCLEANFILES += sys/types.h sys/types.h-t
 
 EXTRA_DIST += sys_types.in.h
 
 ## end   gnulib module sys_types
 
+## begin gnulib module time-h
+
+BUILT_SOURCES += time.h
+
+# We need the following in order to create <time.h> when the system
+# doesn't have one that works with the given compiler.
+time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+             -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \
+             -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \
+             -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \
+             -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \
+             -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \
+             -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \
+             -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \
+             -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \
+             -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \
+             -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \
+             -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \
+             -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \
+             -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \
+             -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \
+             -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
+             -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+             -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+             -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \
+             -e 's|@''HAVE_TIMESPEC_GETRES''@|$(HAVE_TIMESPEC_GETRES)|g' \
+             -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
+             -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \
+             -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
+             -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
+             -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+             -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
+             -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \
+             -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+             -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \
+             -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
+             -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''TIME_H_DEFINES_TIME_UTC''@|$(TIME_H_DEFINES_TIME_UTC)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/time.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += time.h time.h-t
+
+EXTRA_DIST += time.in.h
+
+## end   gnulib module time-h
+
 ## begin gnulib module unistd
 
 BUILT_SOURCES += unistd.h
+libgnu_la_SOURCES += unistd.c
 
 # We need the following in order to create an empty placeholder for
 # <unistd.h> when the system doesn't have one.
 unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
-             -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
-             -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
-             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
-             -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
-             -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
-             -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
-             -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
-             -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
-             -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
-             -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
-             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
-             -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
-             -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
-             -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
-             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
-             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
-             -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
-             -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
-             -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
-             -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
-             -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
-             -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
-             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
-             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
-             -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
-             -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
-             -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
-             -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
-             -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
-             -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
-             -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
-             -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
-             -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
-             -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
-             -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
-             -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
-             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
-             -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
-             -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-             -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-             -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
-             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
-             -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
-             -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
-             -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
-             < $(srcdir)/unistd.in.h | \
-         sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-             -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+             -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \
+             -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \
+             -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \
+             -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \
+             -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \
+             -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \
+             -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \
+             -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \
+             -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \
+             -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \
+             -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \
+             -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \
+             -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \
+             -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \
+             -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \
+             -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \
+             -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \
+             -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \
+             -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \
+             < $(srcdir)/unistd.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \
+             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \
+             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \
+             -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \
+             -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \
+             -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \
+             -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \
+             -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \
+             -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \
+             -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \
+             -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_GNULIB_GETPASS_GNU)/g' \
+             -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \
+             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \
+             -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \
+             -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \
+             -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \
+             -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \
+             -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \
+             -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \
+             -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \
+             -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \
+             -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \
+             -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \
+             -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \
+             -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \
+             -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \
+             -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \
+             -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \
+             -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \
+             -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \
+             -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \
+             -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \
+             -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \
+             -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \
+             -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \
+             -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \
+             -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \
+             -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \
+             -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \
+             -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \
+             -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \
+             -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \
+             -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \
+             -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \
+             -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \
+             -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \
+             -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \
+             -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \
+             -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \
+             -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \
+             -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \
+             -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \
+             -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+             -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
              -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
              -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \
              -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
              -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
              -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
@@ -557,10 +1518,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \
              -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
              -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
              -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
              -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
              -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -578,53 +1540,81 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+             -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
              -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
              -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-         | \
-         sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+             -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
              -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+             -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
+             -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
+             -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
+             -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
+             -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \
+             -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \
+             -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
+             -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
              -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+             -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+             -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
+             -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \
              -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
              -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
              -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
              -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
              -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
              -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
              -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
              -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+             -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
              -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
              -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
              -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
              -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
              -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
              -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
              -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \
              -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
              -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += unistd.h unistd.h-t
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t3 > $@-t4
+       $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+       $(AM_V_at)mv $@-t4 $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4
 
 EXTRA_DIST += unistd.in.h
 
@@ -651,18 +1641,18 @@ EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files
 
 ## end   gnulib module vc-list-files
 
-## begin gnulib module verify
+## begin gnulib module version-etc
 
+libgnu_la_SOURCES += version-etc.h version-etc.c
 
-EXTRA_DIST += verify.h
+## end   gnulib module version-etc
 
-## end   gnulib module verify
+## begin gnulib module xalloc-oversized
 
-## begin gnulib module version-etc
 
-libgnu_la_SOURCES += version-etc.h version-etc.c
+EXTRA_DIST += xalloc-oversized.h
 
-## end   gnulib module version-etc
+## end   gnulib module xalloc-oversized
 
 
 mostlyclean-local: mostlyclean-generic
@@ -672,3 +1662,7 @@ mostlyclean-local: mostlyclean-generic
          fi; \
        done; \
        :
+distclean-local: distclean-gnulib-libobjs
+distclean-gnulib-libobjs:
+       -rm -f @gl_LIBOBJDEPS@
+maintainer-clean-local: distclean-gnulib-libobjs
index 4743f10..c178e5e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -28,7 +27,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnu \
+#  --source-base=gl \
+#  --m4-base=gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=gl/tests \
+#  --aux-dir=build-aux \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=gl \
+#  --no-vc-files \
+#  autobuild \
+#  csharpcomp-script \
+#  csharpexec-script \
+#  error \
+#  getline \
+#  getopt-gnu \
+#  git-version-gen \
+#  gitlog-to-changelog \
+#  lib-msvc-compat \
+#  lib-symbol-versions \
+#  lib-symbol-visibility \
+#  manywarnings \
+#  pmccabe2html \
+#  progname \
+#  readme-release \
+#  update-copyright \
+#  useless-if-before-free \
+#  valgrind-tests \
+#  version-etc
 
 
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -59,84 +143,115 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+@GL_COND_OBJ_CLOSE_TRUE@am__append_1 = close.c
+@GL_COND_OBJ_DUP2_TRUE@am__append_2 = dup2.c
+@GL_COND_OBJ_ERROR_TRUE@am__append_3 = error.c
+@GL_COND_OBJ_FCNTL_TRUE@am__append_4 = fcntl.c
+@GL_COND_OBJ_FSTAT_TRUE@am__append_5 = fstat.c
+@GL_COND_OBJ_GETDELIM_TRUE@am__append_6 = getdelim.c
+@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__append_7 = getdtablesize.c
+@GL_COND_OBJ_GETLINE_TRUE@am__append_8 = getline.c
+@GL_COND_OBJ_GETOPT_TRUE@am__append_9 = getopt.c getopt1.c
+@GL_COND_OBJ_GETPROGNAME_TRUE@am__append_10 = getprogname.c
+@GL_COND_OBJ_MSVC_INVAL_TRUE@am__append_11 = msvc-inval.c
+@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_12 = msvc-nothrow.c
+@GL_COND_OBJ_OPEN_TRUE@am__append_13 = open.c
+@GL_COND_OBJ_STAT_TRUE@am__append_14 = stat.c
+@GL_COND_OBJ_STDIO_READ_TRUE@am__append_15 = stdio-read.c
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_16 = stdio-write.c
+@GL_COND_OBJ_STRERROR_TRUE@am__append_17 = strerror.c
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_18 = strerror-override.c
 subdir = gl
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+       $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -144,17 +259,95 @@ CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-am_libgnu_la_OBJECTS = progname.lo version-etc.lo
+am__libgnu_la_SOURCES_DIST = basename-lgpl.c cloexec.c close.c dup2.c \
+       error.c fcntl.c fd-hook.c fstat.c getdelim.c getdtablesize.c \
+       getline.c getopt.c getopt1.c getprogname.c gettext.h idx.h \
+       malloca.c msvc-inval.c msvc-nothrow.c open.c progname.h \
+       progname.c stat.c stat-time.c stdio-read.c stdio-write.c \
+       strerror.c strerror-override.c unistd.c version-etc.h \
+       version-etc.c
+@GL_COND_OBJ_CLOSE_TRUE@am__objects_1 = libgnu_la-close.lo
+@GL_COND_OBJ_DUP2_TRUE@am__objects_2 = libgnu_la-dup2.lo
+@GL_COND_OBJ_ERROR_TRUE@am__objects_3 = libgnu_la-error.lo
+@GL_COND_OBJ_FCNTL_TRUE@am__objects_4 = libgnu_la-fcntl.lo
+@GL_COND_OBJ_FSTAT_TRUE@am__objects_5 = libgnu_la-fstat.lo
+@GL_COND_OBJ_GETDELIM_TRUE@am__objects_6 = libgnu_la-getdelim.lo
+@GL_COND_OBJ_GETDTABLESIZE_TRUE@am__objects_7 =  \
+@GL_COND_OBJ_GETDTABLESIZE_TRUE@       libgnu_la-getdtablesize.lo
+@GL_COND_OBJ_GETLINE_TRUE@am__objects_8 = libgnu_la-getline.lo
+@GL_COND_OBJ_GETOPT_TRUE@am__objects_9 = libgnu_la-getopt.lo \
+@GL_COND_OBJ_GETOPT_TRUE@      libgnu_la-getopt1.lo
+@GL_COND_OBJ_GETPROGNAME_TRUE@am__objects_10 =  \
+@GL_COND_OBJ_GETPROGNAME_TRUE@ libgnu_la-getprogname.lo
+@GL_COND_OBJ_MSVC_INVAL_TRUE@am__objects_11 = libgnu_la-msvc-inval.lo
+@GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_12 =  \
+@GL_COND_OBJ_MSVC_NOTHROW_TRUE@        libgnu_la-msvc-nothrow.lo
+@GL_COND_OBJ_OPEN_TRUE@am__objects_13 = libgnu_la-open.lo
+@GL_COND_OBJ_STAT_TRUE@am__objects_14 = libgnu_la-stat.lo
+@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_15 = libgnu_la-stdio-read.lo
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_16 =  \
+@GL_COND_OBJ_STDIO_WRITE_TRUE@ libgnu_la-stdio-write.lo
+@GL_COND_OBJ_STRERROR_TRUE@am__objects_17 = libgnu_la-strerror.lo
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_18 = libgnu_la-strerror-override.lo
+am_libgnu_la_OBJECTS = libgnu_la-basename-lgpl.lo libgnu_la-cloexec.lo \
+       $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+       $(am__objects_4) libgnu_la-fd-hook.lo $(am__objects_5) \
+       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+       $(am__objects_9) $(am__objects_10) libgnu_la-malloca.lo \
+       $(am__objects_11) $(am__objects_12) $(am__objects_13) \
+       libgnu_la-progname.lo $(am__objects_14) libgnu_la-stat-time.lo \
+       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+       $(am__objects_18) libgnu_la-unistd.lo libgnu_la-version-etc.lo
 libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
 libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libgnu_la_CFLAGS) \
+       $(CFLAGS) $(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libgnu_la-basename-lgpl.Plo \
+       ./$(DEPDIR)/libgnu_la-cloexec.Plo \
+       ./$(DEPDIR)/libgnu_la-close.Plo ./$(DEPDIR)/libgnu_la-dup2.Plo \
+       ./$(DEPDIR)/libgnu_la-error.Plo \
+       ./$(DEPDIR)/libgnu_la-fcntl.Plo \
+       ./$(DEPDIR)/libgnu_la-fd-hook.Plo \
+       ./$(DEPDIR)/libgnu_la-fstat.Plo \
+       ./$(DEPDIR)/libgnu_la-getdelim.Plo \
+       ./$(DEPDIR)/libgnu_la-getdtablesize.Plo \
+       ./$(DEPDIR)/libgnu_la-getline.Plo \
+       ./$(DEPDIR)/libgnu_la-getopt.Plo \
+       ./$(DEPDIR)/libgnu_la-getopt1.Plo \
+       ./$(DEPDIR)/libgnu_la-getprogname.Plo \
+       ./$(DEPDIR)/libgnu_la-malloca.Plo \
+       ./$(DEPDIR)/libgnu_la-msvc-inval.Plo \
+       ./$(DEPDIR)/libgnu_la-msvc-nothrow.Plo \
+       ./$(DEPDIR)/libgnu_la-open.Plo \
+       ./$(DEPDIR)/libgnu_la-progname.Plo \
+       ./$(DEPDIR)/libgnu_la-stat-time.Plo \
+       ./$(DEPDIR)/libgnu_la-stat-w32.Plo \
+       ./$(DEPDIR)/libgnu_la-stat.Plo \
+       ./$(DEPDIR)/libgnu_la-stdio-read.Plo \
+       ./$(DEPDIR)/libgnu_la-stdio-write.Plo \
+       ./$(DEPDIR)/libgnu_la-strerror-override.Plo \
+       ./$(DEPDIR)/libgnu_la-strerror.Plo \
+       ./$(DEPDIR)/libgnu_la-unistd.Plo \
+       ./$(DEPDIR)/libgnu_la-version-etc.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -164,38 +357,61 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
-DIST_SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+DIST_SOURCES = $(am__libgnu_la_SOURCES_DIST) \
+       $(EXTRA_libgnu_la_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -227,10 +443,12 @@ ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -249,9 +467,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -271,290 +492,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -564,16 +1074,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -590,33 +1105,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -631,28 +1159,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -662,26 +1198,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -700,6 +1244,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -721,9 +1266,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -741,36 +1285,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -779,12 +1325,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -797,11 +1347,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -834,27 +1386,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -867,71 +1441,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -940,11 +1548,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -957,45 +1575,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1003,7 +1634,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1021,8 +1651,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1035,8 +1667,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1052,6 +1686,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1060,64 +1695,116 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 gnits
+AUTOMAKE_OPTIONS = 1.14 gnits
 SUBDIRS = 
 noinst_HEADERS = 
 noinst_LIBRARIES = 
 noinst_LTLIBRARIES = libgnu.la
-EXTRA_DIST = m4/gnulib-cache.m4 \
+# No GNU Make output.
+EXTRA_DIST = m4/gnulib-cache.m4 alloca.in.h \
+       $(top_srcdir)/build-aux/announce-gen assert.in.h verify.h \
+       basename-lgpl.h cloexec.h \
        $(top_srcdir)/build-aux/csharpcomp.sh.in \
-       $(top_srcdir)/build-aux/csharpexec.sh.in errno.in.h error.c \
-       error.h $(top_srcdir)/build-aux/gendocs.sh getopt.c \
-       getopt.in.h getopt1.c getopt_int.h $(top_srcdir)/GNUmakefile \
-       $(top_srcdir)/build-aux/gnupload intprops.h \
-       $(top_srcdir)/maint.mk msvc-inval.c msvc-inval.h \
-       msvc-nothrow.c msvc-nothrow.h \
-       $(top_srcdir)/build-aux/pmccabe2html \
-       $(top_srcdir)/build-aux/pmccabe.css \
-       $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-       $(top_srcdir)/build-aux/snippet/c++defs.h \
-       $(top_srcdir)/build-aux/snippet/warn-on-use.h stdarg.in.h \
-       stddef.in.h strerror.c strerror-override.c strerror-override.h \
-       string.in.h sys_types.in.h unistd.in.h \
+       $(top_srcdir)/build-aux/csharpexec.sh.in \
+       $(top_srcdir)/build-aux/do-release-commit-and-tag errno.in.h \
+       error.in.h fcntl.in.h fd-hook.h filename.h stat-w32.c \
+       stat-w32.h $(top_srcdir)/build-aux/gendocs.sh \
+       getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h \
+       getopt-pfx-ext.h getopt.in.h getopt_int.h getprogname.h \
+       $(top_srcdir)/build-aux/git-version-gen \
+       $(top_srcdir)/build-aux/gitlog-to-changelog \
+       $(top_srcdir)/build-aux/gnu-web-doc-update \
+       $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \
+       intprops-internal.h intprops.h limits.in.h \
+       $(top_srcdir)/maint.mk malloca.h msvc-inval.h msvc-nothrow.h \
+       pathmax.h $(top_srcdir)/build-aux/pmccabe2html \
+       $(top_srcdir)/build-aux/pmccabe.css _Noreturn.h arg-nonnull.h \
+       c++defs.h warn-on-use.h stat-w32.c stat-w32.h stat-time.h \
+       stdarg.in.h intprops-internal.h stdckdint.in.h stddef.in.h \
+       stdint.in.h stdio.in.h stdlib.in.h strerror-override.h \
+       string.in.h sys_stat.in.h sys_types.in.h time.in.h unistd.in.h \
        $(top_srcdir)/build-aux/update-copyright \
        $(top_srcdir)/build-aux/useless-if-before-free \
-       $(top_srcdir)/build-aux/vc-list-files verify.h
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-BUILT_SOURCES = $(ERRNO_H) $(GETOPT_H) arg-nonnull.h c++defs.h \
-       warn-on-use.h $(STDARG_H) $(STDDEF_H) string.h sys/types.h \
-       unistd.h
+       $(top_srcdir)/build-aux/vc-list-files xalloc-oversized.h
+BUILT_SOURCES = $(ALLOCA_H) $(ASSERT_H) $(ERRNO_H) error.h fcntl.h \
+       $(GETOPT_H) $(GETOPT_CDEFS_H) $(LIMITS_H) $(STDARG_H) \
+       $(STDCKDINT_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h \
+       string.h sys/stat.h sys/types.h time.h unistd.h
 SUFFIXES = 
-MOSTLYCLEANFILES = core *.stackdump errno.h errno.h-t getopt.h \
-       getopt.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
-       warn-on-use.h warn-on-use.h-t stdarg.h stdarg.h-t stddef.h \
-       stddef.h-t string.h string.h-t sys/types.h sys/types.h-t \
-       unistd.h unistd.h-t
-MOSTLYCLEANDIRS = 
+MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t assert.h \
+       assert.h-t errno.h errno.h-t error.h error.h-t fcntl.h \
+       fcntl.h-t getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t \
+       limits.h limits.h-t stdarg.h stdarg.h-t stdckdint.h \
+       stdckdint.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h \
+       stdio.h-t1 stdio.h-t2 stdio.h-t3 stdlib.h stdlib.h-t1 \
+       stdlib.h-t2 stdlib.h-t3 string.h string.h-t1 string.h-t2 \
+       sys/stat.h sys/stat.h-t sys/types.h sys/types.h-t time.h \
+       time.h-t unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 \
+       unistd.h-t4
+MOSTLYCLEANDIRS = sys
 CLEANFILES = 
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 AM_CPPFLAGS = 
-AM_CFLAGS = 
-libgnu_la_SOURCES = gettext.h progname.h progname.c version-etc.h \
-       version-etc.c
+
+# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
+# compilation of all sources that make up the library. This line here does it
+# only for the gnulib part of it. The developer is responsible for adding
+# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
+AM_CFLAGS = $(CFLAG_VISIBILITY)
+libgnu_la_SOURCES = basename-lgpl.c cloexec.c $(am__append_1) \
+       $(am__append_2) $(am__append_3) $(am__append_4) fd-hook.c \
+       $(am__append_5) $(am__append_6) $(am__append_7) \
+       $(am__append_8) $(am__append_9) $(am__append_10) gettext.h \
+       idx.h malloca.c $(am__append_11) $(am__append_12) \
+       $(am__append_13) progname.h progname.c $(am__append_14) \
+       stat-time.c $(am__append_15) $(am__append_16) $(am__append_17) \
+       $(am__append_18) unistd.c version-etc.h version-etc.c
+libgnu_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
 libgnu_la_LIBADD = $(gl_LTLIBOBJS)
 libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS)
-EXTRA_libgnu_la_SOURCES = error.c getopt.c getopt1.c msvc-inval.c \
-       msvc-nothrow.c strerror.c strerror-override.c
+EXTRA_libgnu_la_SOURCES = stat-w32.c stat-w32.c
 libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBINTL)
-ARG_NONNULL_H = arg-nonnull.h
-CXXDEFS_H = c++defs.h
-WARN_ON_USE_H = warn-on-use.h
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER)
+
+# In 'sed', replace the pattern space with a "DO NOT EDIT" comment.
+SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,
+
+# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT".
+SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G
+
+# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading
+# "DO_NOT_EDIT".  Although this could be done more simply via:
+#      SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t
+# the -n and 'w' avoid a fork+exec, at least when GNU Make is used.
+SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t'
+
+# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that
+gl_V_at = $(AM_V_GEN)
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(srcdir)/_Noreturn.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+ARG_NONNULL_H = $(srcdir)/arg-nonnull.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+CXXDEFS_H = $(srcdir)/c++defs.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+WARN_ON_USE_H = $(srcdir)/warn-on-use.h
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -1135,14 +1822,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gl/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnits gl/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1159,12 +1845,15 @@ clean-noinstLIBRARIES:
 
 clean-noinstLTLIBRARIES:
        -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
+       @list='$(noinst_LTLIBRARIES)'; \
+       locs=`for p in $$list; do echo $$p; done | \
+             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+             sort -u`; \
+       test -z "$$locs" || { \
+         echo rm -f $${locs}; \
+         rm -f $${locs}; \
+       }
+
 libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES) $(EXTRA_libgnu_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libgnu_la_LINK)  $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
 
@@ -1174,29 +1863,54 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-basename-lgpl.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-cloexec.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-close.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-dup2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-error.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-fcntl.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-fd-hook.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-fstat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getdelim.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getdtablesize.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getline.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getopt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getopt1.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-getprogname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-malloca.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-msvc-inval.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-msvc-nothrow.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-open.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-progname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-stat-time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-stat-w32.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-stat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-stdio-read.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-stdio-write.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-strerror-override.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-strerror.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-unistd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-version-etc.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1205,6 +1919,202 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
+libgnu_la-basename-lgpl.lo: basename-lgpl.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-basename-lgpl.lo -MD -MP -MF $(DEPDIR)/libgnu_la-basename-lgpl.Tpo -c -o libgnu_la-basename-lgpl.lo `test -f 'basename-lgpl.c' || echo '$(srcdir)/'`basename-lgpl.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-basename-lgpl.Tpo $(DEPDIR)/libgnu_la-basename-lgpl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='basename-lgpl.c' object='libgnu_la-basename-lgpl.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-basename-lgpl.lo `test -f 'basename-lgpl.c' || echo '$(srcdir)/'`basename-lgpl.c
+
+libgnu_la-cloexec.lo: cloexec.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-cloexec.lo -MD -MP -MF $(DEPDIR)/libgnu_la-cloexec.Tpo -c -o libgnu_la-cloexec.lo `test -f 'cloexec.c' || echo '$(srcdir)/'`cloexec.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-cloexec.Tpo $(DEPDIR)/libgnu_la-cloexec.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cloexec.c' object='libgnu_la-cloexec.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-cloexec.lo `test -f 'cloexec.c' || echo '$(srcdir)/'`cloexec.c
+
+libgnu_la-close.lo: close.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-close.lo -MD -MP -MF $(DEPDIR)/libgnu_la-close.Tpo -c -o libgnu_la-close.lo `test -f 'close.c' || echo '$(srcdir)/'`close.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-close.Tpo $(DEPDIR)/libgnu_la-close.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='close.c' object='libgnu_la-close.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-close.lo `test -f 'close.c' || echo '$(srcdir)/'`close.c
+
+libgnu_la-dup2.lo: dup2.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-dup2.lo -MD -MP -MF $(DEPDIR)/libgnu_la-dup2.Tpo -c -o libgnu_la-dup2.lo `test -f 'dup2.c' || echo '$(srcdir)/'`dup2.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-dup2.Tpo $(DEPDIR)/libgnu_la-dup2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='dup2.c' object='libgnu_la-dup2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-dup2.lo `test -f 'dup2.c' || echo '$(srcdir)/'`dup2.c
+
+libgnu_la-error.lo: error.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-error.lo -MD -MP -MF $(DEPDIR)/libgnu_la-error.Tpo -c -o libgnu_la-error.lo `test -f 'error.c' || echo '$(srcdir)/'`error.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-error.Tpo $(DEPDIR)/libgnu_la-error.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='error.c' object='libgnu_la-error.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-error.lo `test -f 'error.c' || echo '$(srcdir)/'`error.c
+
+libgnu_la-fcntl.lo: fcntl.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-fcntl.lo -MD -MP -MF $(DEPDIR)/libgnu_la-fcntl.Tpo -c -o libgnu_la-fcntl.lo `test -f 'fcntl.c' || echo '$(srcdir)/'`fcntl.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-fcntl.Tpo $(DEPDIR)/libgnu_la-fcntl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fcntl.c' object='libgnu_la-fcntl.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-fcntl.lo `test -f 'fcntl.c' || echo '$(srcdir)/'`fcntl.c
+
+libgnu_la-fd-hook.lo: fd-hook.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-fd-hook.lo -MD -MP -MF $(DEPDIR)/libgnu_la-fd-hook.Tpo -c -o libgnu_la-fd-hook.lo `test -f 'fd-hook.c' || echo '$(srcdir)/'`fd-hook.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-fd-hook.Tpo $(DEPDIR)/libgnu_la-fd-hook.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fd-hook.c' object='libgnu_la-fd-hook.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-fd-hook.lo `test -f 'fd-hook.c' || echo '$(srcdir)/'`fd-hook.c
+
+libgnu_la-fstat.lo: fstat.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-fstat.lo -MD -MP -MF $(DEPDIR)/libgnu_la-fstat.Tpo -c -o libgnu_la-fstat.lo `test -f 'fstat.c' || echo '$(srcdir)/'`fstat.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-fstat.Tpo $(DEPDIR)/libgnu_la-fstat.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fstat.c' object='libgnu_la-fstat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-fstat.lo `test -f 'fstat.c' || echo '$(srcdir)/'`fstat.c
+
+libgnu_la-getdelim.lo: getdelim.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getdelim.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getdelim.Tpo -c -o libgnu_la-getdelim.lo `test -f 'getdelim.c' || echo '$(srcdir)/'`getdelim.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getdelim.Tpo $(DEPDIR)/libgnu_la-getdelim.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getdelim.c' object='libgnu_la-getdelim.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getdelim.lo `test -f 'getdelim.c' || echo '$(srcdir)/'`getdelim.c
+
+libgnu_la-getdtablesize.lo: getdtablesize.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getdtablesize.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getdtablesize.Tpo -c -o libgnu_la-getdtablesize.lo `test -f 'getdtablesize.c' || echo '$(srcdir)/'`getdtablesize.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getdtablesize.Tpo $(DEPDIR)/libgnu_la-getdtablesize.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getdtablesize.c' object='libgnu_la-getdtablesize.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getdtablesize.lo `test -f 'getdtablesize.c' || echo '$(srcdir)/'`getdtablesize.c
+
+libgnu_la-getline.lo: getline.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getline.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getline.Tpo -c -o libgnu_la-getline.lo `test -f 'getline.c' || echo '$(srcdir)/'`getline.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getline.Tpo $(DEPDIR)/libgnu_la-getline.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getline.c' object='libgnu_la-getline.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getline.lo `test -f 'getline.c' || echo '$(srcdir)/'`getline.c
+
+libgnu_la-getopt.lo: getopt.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getopt.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getopt.Tpo -c -o libgnu_la-getopt.lo `test -f 'getopt.c' || echo '$(srcdir)/'`getopt.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getopt.Tpo $(DEPDIR)/libgnu_la-getopt.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getopt.c' object='libgnu_la-getopt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getopt.lo `test -f 'getopt.c' || echo '$(srcdir)/'`getopt.c
+
+libgnu_la-getopt1.lo: getopt1.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getopt1.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getopt1.Tpo -c -o libgnu_la-getopt1.lo `test -f 'getopt1.c' || echo '$(srcdir)/'`getopt1.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getopt1.Tpo $(DEPDIR)/libgnu_la-getopt1.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getopt1.c' object='libgnu_la-getopt1.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getopt1.lo `test -f 'getopt1.c' || echo '$(srcdir)/'`getopt1.c
+
+libgnu_la-getprogname.lo: getprogname.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-getprogname.lo -MD -MP -MF $(DEPDIR)/libgnu_la-getprogname.Tpo -c -o libgnu_la-getprogname.lo `test -f 'getprogname.c' || echo '$(srcdir)/'`getprogname.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-getprogname.Tpo $(DEPDIR)/libgnu_la-getprogname.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='getprogname.c' object='libgnu_la-getprogname.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-getprogname.lo `test -f 'getprogname.c' || echo '$(srcdir)/'`getprogname.c
+
+libgnu_la-malloca.lo: malloca.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-malloca.lo -MD -MP -MF $(DEPDIR)/libgnu_la-malloca.Tpo -c -o libgnu_la-malloca.lo `test -f 'malloca.c' || echo '$(srcdir)/'`malloca.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-malloca.Tpo $(DEPDIR)/libgnu_la-malloca.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='malloca.c' object='libgnu_la-malloca.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-malloca.lo `test -f 'malloca.c' || echo '$(srcdir)/'`malloca.c
+
+libgnu_la-msvc-inval.lo: msvc-inval.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-msvc-inval.lo -MD -MP -MF $(DEPDIR)/libgnu_la-msvc-inval.Tpo -c -o libgnu_la-msvc-inval.lo `test -f 'msvc-inval.c' || echo '$(srcdir)/'`msvc-inval.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-msvc-inval.Tpo $(DEPDIR)/libgnu_la-msvc-inval.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='msvc-inval.c' object='libgnu_la-msvc-inval.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-msvc-inval.lo `test -f 'msvc-inval.c' || echo '$(srcdir)/'`msvc-inval.c
+
+libgnu_la-msvc-nothrow.lo: msvc-nothrow.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-msvc-nothrow.lo -MD -MP -MF $(DEPDIR)/libgnu_la-msvc-nothrow.Tpo -c -o libgnu_la-msvc-nothrow.lo `test -f 'msvc-nothrow.c' || echo '$(srcdir)/'`msvc-nothrow.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-msvc-nothrow.Tpo $(DEPDIR)/libgnu_la-msvc-nothrow.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='msvc-nothrow.c' object='libgnu_la-msvc-nothrow.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-msvc-nothrow.lo `test -f 'msvc-nothrow.c' || echo '$(srcdir)/'`msvc-nothrow.c
+
+libgnu_la-open.lo: open.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-open.lo -MD -MP -MF $(DEPDIR)/libgnu_la-open.Tpo -c -o libgnu_la-open.lo `test -f 'open.c' || echo '$(srcdir)/'`open.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-open.Tpo $(DEPDIR)/libgnu_la-open.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='open.c' object='libgnu_la-open.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-open.lo `test -f 'open.c' || echo '$(srcdir)/'`open.c
+
+libgnu_la-progname.lo: progname.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-progname.lo -MD -MP -MF $(DEPDIR)/libgnu_la-progname.Tpo -c -o libgnu_la-progname.lo `test -f 'progname.c' || echo '$(srcdir)/'`progname.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-progname.Tpo $(DEPDIR)/libgnu_la-progname.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='progname.c' object='libgnu_la-progname.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-progname.lo `test -f 'progname.c' || echo '$(srcdir)/'`progname.c
+
+libgnu_la-stat.lo: stat.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-stat.lo -MD -MP -MF $(DEPDIR)/libgnu_la-stat.Tpo -c -o libgnu_la-stat.lo `test -f 'stat.c' || echo '$(srcdir)/'`stat.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-stat.Tpo $(DEPDIR)/libgnu_la-stat.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='stat.c' object='libgnu_la-stat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-stat.lo `test -f 'stat.c' || echo '$(srcdir)/'`stat.c
+
+libgnu_la-stat-time.lo: stat-time.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-stat-time.lo -MD -MP -MF $(DEPDIR)/libgnu_la-stat-time.Tpo -c -o libgnu_la-stat-time.lo `test -f 'stat-time.c' || echo '$(srcdir)/'`stat-time.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-stat-time.Tpo $(DEPDIR)/libgnu_la-stat-time.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='stat-time.c' object='libgnu_la-stat-time.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-stat-time.lo `test -f 'stat-time.c' || echo '$(srcdir)/'`stat-time.c
+
+libgnu_la-stdio-read.lo: stdio-read.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-stdio-read.lo -MD -MP -MF $(DEPDIR)/libgnu_la-stdio-read.Tpo -c -o libgnu_la-stdio-read.lo `test -f 'stdio-read.c' || echo '$(srcdir)/'`stdio-read.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-stdio-read.Tpo $(DEPDIR)/libgnu_la-stdio-read.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='stdio-read.c' object='libgnu_la-stdio-read.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-stdio-read.lo `test -f 'stdio-read.c' || echo '$(srcdir)/'`stdio-read.c
+
+libgnu_la-stdio-write.lo: stdio-write.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-stdio-write.lo -MD -MP -MF $(DEPDIR)/libgnu_la-stdio-write.Tpo -c -o libgnu_la-stdio-write.lo `test -f 'stdio-write.c' || echo '$(srcdir)/'`stdio-write.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-stdio-write.Tpo $(DEPDIR)/libgnu_la-stdio-write.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='stdio-write.c' object='libgnu_la-stdio-write.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-stdio-write.lo `test -f 'stdio-write.c' || echo '$(srcdir)/'`stdio-write.c
+
+libgnu_la-strerror.lo: strerror.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-strerror.lo -MD -MP -MF $(DEPDIR)/libgnu_la-strerror.Tpo -c -o libgnu_la-strerror.lo `test -f 'strerror.c' || echo '$(srcdir)/'`strerror.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-strerror.Tpo $(DEPDIR)/libgnu_la-strerror.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='strerror.c' object='libgnu_la-strerror.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-strerror.lo `test -f 'strerror.c' || echo '$(srcdir)/'`strerror.c
+
+libgnu_la-strerror-override.lo: strerror-override.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-strerror-override.lo -MD -MP -MF $(DEPDIR)/libgnu_la-strerror-override.Tpo -c -o libgnu_la-strerror-override.lo `test -f 'strerror-override.c' || echo '$(srcdir)/'`strerror-override.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-strerror-override.Tpo $(DEPDIR)/libgnu_la-strerror-override.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='strerror-override.c' object='libgnu_la-strerror-override.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-strerror-override.lo `test -f 'strerror-override.c' || echo '$(srcdir)/'`strerror-override.c
+
+libgnu_la-unistd.lo: unistd.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-unistd.lo -MD -MP -MF $(DEPDIR)/libgnu_la-unistd.Tpo -c -o libgnu_la-unistd.lo `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-unistd.Tpo $(DEPDIR)/libgnu_la-unistd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistd.c' object='libgnu_la-unistd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-unistd.lo `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c
+
+libgnu_la-version-etc.lo: version-etc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-version-etc.lo -MD -MP -MF $(DEPDIR)/libgnu_la-version-etc.Tpo -c -o libgnu_la-version-etc.lo `test -f 'version-etc.c' || echo '$(srcdir)/'`version-etc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-version-etc.Tpo $(DEPDIR)/libgnu_la-version-etc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='version-etc.c' object='libgnu_la-version-etc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-version-etc.lo `test -f 'version-etc.c' || echo '$(srcdir)/'`version-etc.c
+
+libgnu_la-stat-w32.lo: stat-w32.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-stat-w32.lo -MD -MP -MF $(DEPDIR)/libgnu_la-stat-w32.Tpo -c -o libgnu_la-stat-w32.lo `test -f 'stat-w32.c' || echo '$(srcdir)/'`stat-w32.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-stat-w32.Tpo $(DEPDIR)/libgnu_la-stat-w32.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='stat-w32.c' object='libgnu_la-stat-w32.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-stat-w32.lo `test -f 'stat-w32.c' || echo '$(srcdir)/'`stat-w32.c
+
 mostlyclean-libtool:
        -rm -f *.lo
 
@@ -1212,22 +2122,25 @@ clean-libtool:
        -rm -rf .libs _libs
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1242,57 +2155,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1308,12 +2176,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1325,15 +2188,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1342,11 +2201,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1378,13 +2254,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1412,7 +2285,8 @@ installdirs: installdirs-recursive
 installdirs-am:
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
 
@@ -1452,7 +2326,34 @@ clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
        clean-noinstLTLIBRARIES mostlyclean-am
 
 distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/libgnu_la-basename-lgpl.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-cloexec.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-close.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-dup2.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-error.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fcntl.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fd-hook.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fstat.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getdelim.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getdtablesize.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getline.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getopt.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getopt1.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getprogname.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-malloca.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-msvc-inval.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-msvc-nothrow.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-open.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-progname.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat-time.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat-w32.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stdio-read.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stdio-write.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strerror-override.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strerror.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-unistd.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-version-etc.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-local distclean-tags
@@ -1498,9 +2399,37 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/libgnu_la-basename-lgpl.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-cloexec.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-close.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-dup2.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-error.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fcntl.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fd-hook.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-fstat.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getdelim.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getdtablesize.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getline.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getopt.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getopt1.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-getprogname.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-malloca.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-msvc-inval.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-msvc-nothrow.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-open.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-progname.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat-time.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat-w32.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stat.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stdio-read.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-stdio-write.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strerror-override.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strerror.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-unistd.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-version-etc.Plo
        -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+       maintainer-clean-local
 
 mostlyclean: mostlyclean-recursive
 
@@ -1517,14 +2446,13 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       ctags-recursive install install-am install-strip \
-       tags-recursive
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-exec install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
-       ctags-recursive distclean distclean-compile distclean-generic \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--depfiles check check-am clean clean-generic clean-libtool \
+       clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist-am \
+       ctags ctags-am distclean distclean-compile distclean-generic \
        distclean-libtool distclean-local distclean-tags distdir dvi \
        dvi-am html html-am info info-am install install-am \
        install-data install-data-am install-dvi install-dvi-am \
@@ -1532,18 +2460,48 @@ uninstall-am:
        install-info install-info-am install-man install-pdf \
        install-pdf-am install-ps install-ps-am install-strip \
        installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
+       maintainer-clean maintainer-clean-generic \
+       maintainer-clean-local mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_ALLOCA_H_TRUE@      -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' \
+@GL_GENERATE_ALLOCA_H_TRUE@      $(srcdir)/alloca.in.h > $@-t
+@GL_GENERATE_ALLOCA_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_FALSE@   rm -f $@
+
+# We need the following in order to create <assert.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_ASSERT_H_TRUE@assert.h: assert.in.h verify.h $(top_builddir)/config.status
+@GL_GENERATE_ASSERT_H_TRUE@    $(gl_V_at){ $(SED_HEADER_STDOUT) \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|@''NEXT_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          < $(srcdir)/assert.in.h && \
+@GL_GENERATE_ASSERT_H_TRUE@      sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|_gl_verify|_gl_static_assert|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \
+@GL_GENERATE_ASSERT_H_TRUE@          < $(srcdir)/verify.h; \
+@GL_GENERATE_ASSERT_H_TRUE@    } > $@-t
+@GL_GENERATE_ASSERT_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_ASSERT_H_FALSE@assert.h: $(top_builddir)/config.status
+@GL_GENERATE_ASSERT_H_FALSE@   rm -f $@
 
 # We need the following in order to create <errno.h> when the system
 # doesn't have one that is POSIX compliant.
 @GL_GENERATE_ERRNO_H_TRUE@errno.h: errno.in.h $(top_builddir)/config.status
-@GL_GENERATE_ERRNO_H_TRUE@     $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_ERRNO_H_TRUE@     { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_ERRNO_H_TRUE@       sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_ERRNO_H_TRUE@     $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''GUARD_PREFIX''@|GL|g' \
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@@ -1554,147 +2512,527 @@ uninstall-am:
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
 @GL_GENERATE_ERRNO_H_TRUE@           -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
-@GL_GENERATE_ERRNO_H_TRUE@           < $(srcdir)/errno.in.h; \
-@GL_GENERATE_ERRNO_H_TRUE@     } > $@-t && \
-@GL_GENERATE_ERRNO_H_TRUE@     mv $@-t $@
+@GL_GENERATE_ERRNO_H_TRUE@           $(srcdir)/errno.in.h > $@-t
+@GL_GENERATE_ERRNO_H_TRUE@     $(AM_V_at)mv $@-t $@
 @GL_GENERATE_ERRNO_H_FALSE@errno.h: $(top_builddir)/config.status
 @GL_GENERATE_ERRNO_H_FALSE@    rm -f $@
 
-# We need the following in order to create <getopt.h> when the system
+# We need the following in order to override <error.h>.
+error.h: error.in.h $(top_builddir)/config.status $(CXXDEFS_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''HAVE_ERROR_H''@|$(HAVE_ERROR_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''NEXT_ERROR_H''@|$(NEXT_ERROR_H)|g' \
+             -e 's|@''HAVE_ERROR''@|$(HAVE_ERROR)|g' \
+             -e 's|@''HAVE_ERROR_AT_LINE''@|$(HAVE_ERROR_AT_LINE)|g' \
+             -e 's|@''REPLACE_ERROR''@|$(REPLACE_ERROR)|g' \
+             -e 's|@''REPLACE_ERROR_AT_LINE''@|$(REPLACE_ERROR_AT_LINE)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             $(srcdir)/error.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create <fcntl.h> when the system
 # doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
+fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
+             -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
+             -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \
+             -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \
+             -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \
+             -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \
+             -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \
+             -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \
+             -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
+             -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
+             -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
+             -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
+             -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
+             -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             < $(srcdir)/getopt.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/fcntl.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 
+# We need the following in order to create <getopt.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_GETOPT_H_TRUE@getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
+@GL_GENERATE_GETOPT_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
+@GL_GENERATE_GETOPT_H_TRUE@          -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+@GL_GENERATE_GETOPT_H_TRUE@          $(srcdir)/getopt.in.h > $@-t
+@GL_GENERATE_GETOPT_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_GETOPT_H_FALSE@getopt.h: $(top_builddir)/config.status
+@GL_GENERATE_GETOPT_H_FALSE@   rm -f $@
+
+@GL_GENERATE_GETOPT_CDEFS_H_TRUE@getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status
+@GL_GENERATE_GETOPT_CDEFS_H_TRUE@      $(AM_V_GEN)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_GETOPT_CDEFS_H_TRUE@        -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \
+@GL_GENERATE_GETOPT_CDEFS_H_TRUE@        $(srcdir)/getopt-cdefs.in.h > $@-t
+@GL_GENERATE_GETOPT_CDEFS_H_TRUE@      $(AM_V_at)mv $@-t $@
+@GL_GENERATE_GETOPT_CDEFS_H_FALSE@getopt-cdefs.h: $(top_builddir)/config.status
+@GL_GENERATE_GETOPT_CDEFS_H_FALSE@     rm -f $@
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
-       test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
+       test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
+
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+@GL_GENERATE_LIMITS_H_TRUE@limits.h: limits.in.h $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          $(srcdir)/limits.in.h > $@-t
+@GL_GENERATE_LIMITS_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_FALSE@   rm -f $@
 
 # We need the following in order to create <stdarg.h> when the system
 # doesn't have one that works with the given compiler.
 @GL_GENERATE_STDARG_H_TRUE@stdarg.h: stdarg.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDARG_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDARG_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_STDARG_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDARG_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDARG_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL|g' \
 @GL_GENERATE_STDARG_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_STDARG_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDARG_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDARG_H_TRUE@          -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
-@GL_GENERATE_STDARG_H_TRUE@          < $(srcdir)/stdarg.in.h; \
-@GL_GENERATE_STDARG_H_TRUE@    } > $@-t && \
-@GL_GENERATE_STDARG_H_TRUE@    mv $@-t $@
+@GL_GENERATE_STDARG_H_TRUE@          $(srcdir)/stdarg.in.h > $@-t
+@GL_GENERATE_STDARG_H_TRUE@    $(AM_V_at)mv $@-t $@
 @GL_GENERATE_STDARG_H_FALSE@stdarg.h: $(top_builddir)/config.status
 @GL_GENERATE_STDARG_H_FALSE@   rm -f $@
 
+# We need the following in order to create <stdckdint.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_STDCKDINT_H_TRUE@stdckdint.h: stdckdint.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDCKDINT_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDCKDINT_H_TRUE@   $(srcdir)/stdckdint.in.h > $@-t
+@GL_GENERATE_STDCKDINT_H_TRUE@ $(AM_V_at)mv $@-t $@
+@GL_GENERATE_STDCKDINT_H_FALSE@stdckdint.h: $(top_builddir)/config.status
+@GL_GENERATE_STDCKDINT_H_FALSE@        rm -f $@
+
 # We need the following in order to create <stddef.h> when the system
 # doesn't have one that works with the given compiler.
 @GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDDEF_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDDEF_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_STDDEF_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDDEF_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
-@GL_GENERATE_STDDEF_H_TRUE@          < $(srcdir)/stddef.in.h; \
-@GL_GENERATE_STDDEF_H_TRUE@    } > $@-t && \
-@GL_GENERATE_STDDEF_H_TRUE@    mv $@-t $@
+@GL_GENERATE_STDDEF_H_TRUE@          $(srcdir)/stddef.in.h > $@-t
+@GL_GENERATE_STDDEF_H_TRUE@    $(AM_V_at)mv $@-t $@
 @GL_GENERATE_STDDEF_H_FALSE@stddef.h: $(top_builddir)/config.status
 @GL_GENERATE_STDDEF_H_FALSE@   rm -f $@
 
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          $(srcdir)/stdint.in.h > $@-t
+@GL_GENERATE_STDINT_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_FALSE@   rm -f $@
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+             -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \
+             -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \
+             -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \
+             -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \
+             -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \
+             -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \
+             -e 's/@''GNULIB_FOPEN_GNU''@/$(GL_GNULIB_FOPEN_GNU)/g' \
+             -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \
+             -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \
+             -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \
+             -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \
+             -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \
+             -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \
+             -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \
+             -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \
+             -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \
+             -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \
+             -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \
+             -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \
+             -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \
+             -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \
+             -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \
+             -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \
+             -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \
+             -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \
+             -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \
+             -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \
+             -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \
+             -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \
+             -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \
+             -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \
+             -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \
+             -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \
+             -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \
+             -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \
+             -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \
+             -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \
+             -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \
+             -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \
+             -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \
+             -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \
+             -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \
+             -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \
+             -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \
+             -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \
+             -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \
+             -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \
+             -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \
+             < $(srcdir)/stdio.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \
+             -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+             -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+             -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+             -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+             -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+             -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \
+             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+             -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \
+             -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+             -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+             -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+             -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+             -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+             -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+             -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+             -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+             -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+             -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+             -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|$(REPLACE_FOPEN_FOR_FOPEN_GNU)|g' \
+             -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+             -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+             -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+             -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+             -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+             -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+             -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+             -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+             -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+             -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+             -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+             -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+             -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+             -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+             -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+             -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+             -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+             -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+             -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+             -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+             -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+             -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+             -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+             -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+             -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+             -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \
+             -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \
+             -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \
+             -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_GNULIB_CALLOC_GNU)/g' \
+             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
+             -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \
+             -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \
+             -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \
+             -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \
+             -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \
+             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \
+             -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \
+             -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \
+             -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \
+             -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \
+             -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \
+             -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \
+             -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \
+             -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \
+             -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \
+             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \
+             -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \
+             -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \
+             -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \
+             -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \
+             -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \
+             -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \
+             -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \
+             -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \
+             -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \
+             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \
+             -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \
+             -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \
+             -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \
+             -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \
+             -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \
+             -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \
+             -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \
+             -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \
+             < $(srcdir)/stdlib.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+             -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \
+             -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
+             -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+             -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+             -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
+             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+             -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
+             -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
+             -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
+             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
+             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
+             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+             -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
+             -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
+             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+             -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
+             -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
+             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+             -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \
+             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
+             -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+             -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+             -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
+             -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+             -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
+             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+             -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+             -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
+             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+             -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+             -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
+             -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
+             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+             -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
+             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+             -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
+             -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
+             -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
+             -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \
+             -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \
+             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-             -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
-             -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
-             -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
-             -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
-             -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
-             -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
-             -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
-             -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
-             -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
-             -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
-             -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
-             -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
-             -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
-             -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
-             -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
-             -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
-             -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
-             -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
-             -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
-             -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
-             -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
-             -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
-             -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
-             -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
-             -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
-             -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
-             -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
-             -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
-             -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
-             -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
-             -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
-             -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
-             -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
-             -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
-             -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
-             -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
-             -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
-             < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \
+             -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \
+             -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \
+             -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \
+             -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \
+             -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \
+             -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \
+             -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \
+             -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \
+             -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \
+             -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \
+             -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \
+             -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \
+             -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \
+             -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \
+             -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \
+             -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \
+             -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \
+             -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \
+             -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \
+             -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \
+             -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \
+             -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \
+             -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \
+             -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \
+             -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \
+             -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \
+             -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \
+             -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \
+             -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \
+             -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \
+             -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \
+             -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \
+             -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \
+             -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \
+             -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \
+             -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \
+             -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \
+             -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \
+             -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \
+             -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \
+             -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \
+             -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \
+             -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/string.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-             -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
              -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
              -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
              -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+             -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
              -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
              -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
              -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -1707,112 +3045,272 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+             -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \
+             -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \
+             -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+             -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-             < $(srcdir)/string.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)rm -f $@-t1
+       $(AM_V_at)mv $@-t2 $@
+
+# We need the following in order to create <sys/stat.h> when the system
+# has one that is incomplete.
+sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)$(MKDIR_P) 'sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
+             -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \
+             -e 's/@''GNULIB_CHMOD''@/$(GL_GNULIB_CHMOD)/g' \
+             -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \
+             -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \
+             -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \
+             -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \
+             -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \
+             -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \
+             -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \
+             -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \
+             -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \
+             -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \
+             -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \
+             -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \
+             -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \
+             -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \
+             -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \
+             -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \
+             -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \
+             -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \
+             -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \
+             -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
+             -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
+             -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
+             -e 's|@''HAVE_GETUMASK''@|$(HAVE_GETUMASK)|g' \
+             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
+             -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
+             -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
+             -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
+             -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
+             -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
+             -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
+             -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
+             -e 's|@''REPLACE_CHMOD''@|$(REPLACE_CHMOD)|g' \
+             -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \
+             -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
+             -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
+             -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
+             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+             -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
+             -e 's|@''REPLACE_MKFIFOAT''@|$(REPLACE_MKFIFOAT)|g' \
+             -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
+             -e 's|@''REPLACE_MKNODAT''@|$(REPLACE_MKNODAT)|g' \
+             -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
+             -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/sys_stat.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 
 # We need the following in order to create <sys/types.h> when the system
 # doesn't have one that works with the given compiler.
 sys/types.h: sys_types.in.h $(top_builddir)/config.status
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(AM_V_GEN)$(MKDIR_P) 'sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             < $(srcdir)/sys_types.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
+             $(srcdir)/sys_types.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create <time.h> when the system
+# doesn't have one that works with the given compiler.
+time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+             -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \
+             -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \
+             -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \
+             -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \
+             -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \
+             -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \
+             -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \
+             -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \
+             -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \
+             -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \
+             -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \
+             -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \
+             -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \
+             -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \
+             -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
+             -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+             -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+             -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \
+             -e 's|@''HAVE_TIMESPEC_GETRES''@|$(HAVE_TIMESPEC_GETRES)|g' \
+             -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \
+             -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \
+             -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
+             -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
+             -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+             -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \
+             -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \
+             -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+             -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \
+             -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \
+             -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|$(UNISTD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+             -e 's|@''TIME_H_DEFINES_TIME_UTC''@|$(TIME_H_DEFINES_TIME_UTC)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/time.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 
 # We need the following in order to create an empty placeholder for
 # <unistd.h> when the system doesn't have one.
 unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL|g' \
              -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
              -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
-             -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
-             -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
-             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
-             -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
-             -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
-             -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
-             -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
-             -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
-             -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
-             -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
-             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
-             -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
-             -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
-             -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
-             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
-             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
-             -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
-             -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
-             -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
-             -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
-             -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
-             -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
-             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
-             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
-             -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
-             -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
-             -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
-             -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
-             -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
-             -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
-             -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
-             -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
-             -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
-             -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
-             -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
-             -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
-             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
-             -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
-             -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-             -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-             -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
-             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
-             -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
-             -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
-             -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
-             < $(srcdir)/unistd.in.h | \
-         sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-             -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+             -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \
+             -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \
+             -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \
+             -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \
+             -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \
+             -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \
+             -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \
+             -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \
+             -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \
+             -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \
+             -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \
+             -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \
+             -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \
+             -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \
+             -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \
+             -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \
+             -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \
+             -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \
+             -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \
+             < $(srcdir)/unistd.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \
+             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \
+             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \
+             -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \
+             -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \
+             -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \
+             -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \
+             -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \
+             -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \
+             -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \
+             -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_GNULIB_GETPASS_GNU)/g' \
+             -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \
+             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \
+             -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \
+             -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \
+             -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \
+             -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \
+             -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \
+             -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \
+             -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \
+             -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \
+             -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \
+             -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \
+             -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \
+             -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \
+             -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \
+             -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \
+             -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \
+             -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \
+             -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \
+             -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \
+             -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \
+             -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \
+             -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \
+             -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \
+             -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \
+             -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \
+             -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \
+             -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \
+             -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \
+             -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \
+             -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \
+             -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \
+             -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \
+             -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \
+             -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \
+             -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \
+             -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \
+             -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \
+             -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \
+             -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \
+             -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \
+             -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+             -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
              -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
              -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \
              -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
              -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
              -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
@@ -1820,10 +3318,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \
              -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
              -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
              -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
              -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
              -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -1841,52 +3340,80 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+             -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
              -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
              -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-         | \
-         sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+             -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
              -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+             -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
+             -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
+             -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
+             -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
+             -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \
+             -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \
+             -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
+             -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
              -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+             -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+             -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
+             -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \
              -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
              -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
              -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
              -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
              -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
              -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
              -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
              -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+             -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
              -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
              -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
              -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
              -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
              -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
              -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
              -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \
              -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
              -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t3 > $@-t4
+       $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+       $(AM_V_at)mv $@-t4 $@
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \
@@ -1895,6 +3422,10 @@ mostlyclean-local: mostlyclean-generic
          fi; \
        done; \
        :
+distclean-local: distclean-gnulib-libobjs
+distclean-gnulib-libobjs:
+       -rm -f @gl_LIBOBJDEPS@
+maintainer-clean-local: distclean-gnulib-libobjs
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/gl/_Noreturn.h b/gl/_Noreturn.h
new file mode 100644 (file)
index 0000000..7326bd4
--- /dev/null
@@ -0,0 +1,50 @@
+/* A C macro for declaring that a function does not return.
+   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+        && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+   /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+      that rare LLVM bug, though you may get many false-alarm warnings.  */
+#  define _Noreturn
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \
+        || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
diff --git a/gl/alloca.in.h b/gl/alloca.in.h
new file mode 100644 (file)
index 0000000..6aa47df
--- /dev/null
@@ -0,0 +1,72 @@
+/* Memory allocation on the stack.
+
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2024 Free Software Foundation,
+   Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
+   means there is a real alloca function.  */
+#ifndef _GL_ALLOCA_H
+#define _GL_ALLOCA_H
+
+/* alloca (N) returns a pointer to N bytes of memory
+   allocated on the stack, which will last until the function returns.
+   Use of alloca should be avoided:
+     - inside arguments of function calls - undefined behaviour,
+     - in inline functions - the allocation may actually last until the
+       calling function returns,
+     - for huge N (say, N >= 65536) - you never know how large (or small)
+       the stack is, and when the stack cannot fulfill the memory allocation
+       request, the program just crashes.
+ */
+
+#ifndef alloca
+  /* Some version of mingw have an <alloca.h> that causes trouble when
+     included after 'alloca' gets defined as a macro.  As a workaround,
+     include this <alloca.h> first and define 'alloca' as a macro afterwards
+     if needed.  */
+# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@
+#  include_next <alloca.h>
+# endif
+#endif
+#ifndef alloca
+# if defined __GNUC__ || (__clang_major__ >= 4)
+#  define alloca __builtin_alloca
+# elif defined _AIX
+#  define alloca __alloca
+# elif defined _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# elif defined __DECC && defined __VMS
+#  define alloca __ALLOCA
+# elif defined __TANDEM && defined _TNS_E_TARGET
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *_alloca (unsigned short);
+#  pragma intrinsic (_alloca)
+#  define alloca _alloca
+# elif defined __MVS__
+#  include <stdlib.h>
+# else
+#  include <stddef.h>
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *alloca (size_t);
+# endif
+#endif
+
+#endif /* _GL_ALLOCA_H */
similarity index 61%
rename from build-aux/snippet/arg-nonnull.h
rename to gl/arg-nonnull.h
index 3a9dd26..46c711c 100644 (file)
@@ -1,24 +1,24 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2009-2024 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 the Free Software Foundation; either version 3 of the License, or
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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.
+   Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
    that the values passed as arguments n, ..., m must be non-NULL pointers.
    n = 1 stands for the first argument, n = 2 for the second argument etc.  */
 #ifndef _GL_ARG_NONNULL
-# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
 #  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
 # else
 #  define _GL_ARG_NONNULL(params)
diff --git a/gl/assert.in.h b/gl/assert.in.h
new file mode 100644 (file)
index 0000000..6e4995e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Substitute for and wrapper around <assert.h>
+   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Do not guard the include, since <assert.h> is supposed to define
+   the assert macro each time it is included.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#@INCLUDE_NEXT@ @NEXT_ASSERT_H@
+
+/* The definition of static_assert is copied here.  */
diff --git a/gl/basename-lgpl.c b/gl/basename-lgpl.c
new file mode 100644 (file)
index 0000000..256f846
--- /dev/null
@@ -0,0 +1,70 @@
+/* basename.c -- return the last element in a file name
+
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2024 Free Software
+   Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "basename-lgpl.h"
+
+#include <string.h>
+
+#include "filename.h"
+
+char *
+last_component (char const *name)
+{
+  char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
+  char const *p;
+  bool last_was_slash = false;
+
+  while (ISSLASH (*base))
+    base++;
+
+  for (p = base; *p; p++)
+    {
+      if (ISSLASH (*p))
+        last_was_slash = true;
+      else if (last_was_slash)
+        {
+          base = p;
+          last_was_slash = false;
+        }
+    }
+
+  return (char *) base;
+}
+
+size_t
+base_len (char const *name)
+{
+  size_t len;
+  size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
+
+  for (len = strlen (name);  1 < len && ISSLASH (name[len - 1]);  len--)
+    continue;
+
+  if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1
+      && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
+    return 2;
+
+  if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
+      && len == prefix_len && ISSLASH (name[prefix_len]))
+    return prefix_len + 1;
+
+  return len;
+}
diff --git a/gl/basename-lgpl.h b/gl/basename-lgpl.h
new file mode 100644 (file)
index 0000000..2a56be9
--- /dev/null
@@ -0,0 +1,83 @@
+/* Extract the last component (base name) of a file name.
+
+   Copyright (C) 1998, 2001, 2003-2006, 2009-2024 Free Software Foundation,
+   Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BASENAME_LGPL_H
+#define _BASENAME_LGPL_H
+
+/* This file uses _GL_ATTRIBUTE_PURE.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#include <stddef.h>
+
+#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Return the address of the last file name component of FILENAME.
+   If FILENAME has some trailing slash(es), they are considered to be
+   part of the last component.
+   If FILENAME has no relative file name components because it is a file
+   system root, return the empty string.
+   Examples:
+              FILENAME      RESULT
+              "foo.c"       "foo.c"
+              "foo/bar.c"   "bar.c"
+              "/foo/bar.c"  "bar.c"
+              "foo/bar/"    "bar/"
+              "foo/bar//"   "bar//"
+              "/"           ""
+              "//"          ""
+              ""            ""
+   The return value is a tail of the given FILENAME; do NOT free() it!  */
+
+/* This function was traditionally called 'basename', but we avoid this
+   function name because
+     * Various platforms have different functions in their libc.
+       In particular, the glibc basename(), defined in <string.h>, does
+       not consider trailing slashes to be part of the component:
+              FILENAME      RESULT
+              "foo/bar/"    ""
+              "foo/bar//"   ""
+     * The 'basename' command eliminates trailing slashes and for a root
+       produces a non-empty result:
+              FILENAME      RESULT
+              "foo/bar/"    "bar"
+              "foo/bar//"   "bar"
+              "/"           "/"
+              "//"          "/"
+ */
+extern char *last_component (char const *filename) _GL_ATTRIBUTE_PURE;
+
+/* Return the length of the basename FILENAME.
+   Typically FILENAME is the value returned by base_name or last_component.
+   Act like strlen (FILENAME), except omit all trailing slashes.  */
+extern size_t base_len (char const *filename) _GL_ATTRIBUTE_PURE;
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* _BASENAME_LGPL_H */
similarity index 63%
rename from build-aux/snippet/c++defs.h
rename to gl/c++defs.h
index 96da94b..eb66967 100644 (file)
@@ -1,22 +1,31 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2012 Free Software Foundation, Inc.
+   Copyright (C) 2010-2024 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 the Free Software Foundation; either version 3 of the License, or
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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.
+   Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_CXXDEFS_H
 #define _GL_CXXDEFS_H
 
+/* Begin/end the GNULIB_NAMESPACE namespace.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
+# define _GL_END_NAMESPACE }
+#else
+# define _GL_BEGIN_NAMESPACE
+# define _GL_END_NAMESPACE
+#endif
+
 /* The three most frequent use cases of these macros are:
 
    * For providing a substitute for a function that is missing on some
    Example:
      _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
                                   _GL_ARG_NONNULL ((1)));
+
+   Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front
+   of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode.  (That's
+   because
+     [[...]] extern "C" <declaration>;
+   is invalid syntax in C++.)
  */
 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
   _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
    that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
    Example:
      _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
- */
+
+   Wrapping rpl_func in an object with an inline conversion operator
+   avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
   _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
 #if defined __cplusplus && defined GNULIB_NAMESPACE
 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
     namespace GNULIB_NAMESPACE                                \
     {                                                         \
-      rettype (*const func) parameters = ::rpl_func;          \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::rpl_func;                                  \
+        }                                                     \
+      } func = {};                                            \
     }                                                         \
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #else
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #endif
 
+/* _GL_CXXALIAS_MDA (func, rettype, parameters);
+   is to be used when func is a Microsoft deprecated alias, on native Windows.
+   It declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to _func, if GNULIB_NAMESPACE is defined.
+   Example:
+     _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
+ */
+#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
+
 /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
    is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
    except that the C function rpl_func may have a slightly different
 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
     namespace GNULIB_NAMESPACE                                     \
     {                                                              \
-      rettype (*const func) parameters =                           \
-        reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
+      static const struct _gl_ ## func ## _wrapper                 \
+      {                                                            \
+        typedef rettype (*type) parameters;                        \
+                                                                   \
+        inline operator type () const                              \
+        {                                                          \
+          return reinterpret_cast<type>(::rpl_func);               \
+        }                                                          \
+      } func = {};                                                 \
     }                                                              \
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #else
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #endif
 
+/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
+   is like  _GL_CXXALIAS_MDA (func, rettype, parameters);
+   except that the C function func may have a slightly different declaration.
+   A cast is used to silence the "invalid conversion" error that would
+   otherwise occur.  */
+#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
+
 /* _GL_CXXALIAS_SYS (func, rettype, parameters);
    declares a C++ alias called GNULIB_NAMESPACE::func
    that redirects to the system provided function func, if GNULIB_NAMESPACE
    is defined.
    Example:
      _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
- */
+
+   Wrapping func in an object with an inline conversion operator
+   avoids a reference to func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
 #if defined __cplusplus && defined GNULIB_NAMESPACE
-  /* If we were to write
-       rettype (*const func) parameters = ::func;
-     like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
-     better (remove an indirection through a 'static' pointer variable),
-     but then the _GL_CXXALIASWARN macro below would cause a warning not only
-     for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
-    namespace GNULIB_NAMESPACE                     \
-    {                                              \
-      static rettype (*func) parameters = ::func;  \
-    }                                              \
+# define _GL_CXXALIAS_SYS(func,rettype,parameters)            \
+    namespace GNULIB_NAMESPACE                                \
+    {                                                         \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::func;                                      \
+        }                                                     \
+      } func = {};                                            \
+    }                                                         \
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #else
 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
     namespace GNULIB_NAMESPACE                          \
     {                                                   \
-      static rettype (*func) parameters =               \
-        reinterpret_cast<rettype(*)parameters>(::func); \
+      static const struct _gl_ ## func ## _wrapper      \
+      {                                                 \
+        typedef rettype (*type) parameters;             \
+                                                        \
+        inline operator type () const                   \
+        {                                               \
+          return reinterpret_cast<type>(::func);        \
+        }                                               \
+      } func = {};                                      \
     }                                                   \
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #else
 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
     namespace GNULIB_NAMESPACE                                                \
     {                                                                         \
-      static rettype (*func) parameters =                                     \
-        reinterpret_cast<rettype(*)parameters>(                               \
-          (rettype2(*)parameters2)(::func));                                  \
+      static const struct _gl_ ## func ## _wrapper                            \
+      {                                                                       \
+        typedef rettype (*type) parameters;                                   \
+                                                                              \
+        inline operator type () const                                         \
+        {                                                                     \
+          return reinterpret_cast<type>((rettype2 (*) parameters2)(::func));  \
+        }                                                                     \
+      } func = {};                                                            \
     }                                                                         \
     _GL_EXTERN_C int _gl_cxxalias_dummy
 #else
    _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
 # define _GL_CXXALIASWARN_1(func,namespace) \
    _GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    we enable the warning only when not optimizing.  */
-# if !__OPTIMIZE__
+# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
 #  define _GL_CXXALIASWARN_2(func,namespace) \
     _GL_WARN_ON_USE (func, \
                      "The symbol ::" #func " refers to the system function. " \
                         GNULIB_NAMESPACE)
 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
    _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
-/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
    we enable the warning only when not optimizing.  */
-# if !__OPTIMIZE__
+# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
+    _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
                          "The symbol ::" #func " refers to the system function. " \
                          "Use " #namespace "::" #func " instead.")
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
-#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-     extern __typeof__ (func) func
 # else
 #  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
      _GL_EXTERN_C int _gl_cxxalias_dummy
diff --git a/gl/cloexec.c b/gl/cloexec.c
new file mode 100644 (file)
index 0000000..cdb0d74
--- /dev/null
@@ -0,0 +1,83 @@
+/* cloexec.c - set or clear the close-on-exec descriptor flag
+
+   Copyright (C) 1991, 2004-2006, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* The code is taken from glibc/manual/llio.texi  */
+
+#include <config.h>
+
+#include "cloexec.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true,
+   or clear the flag if VALUE is false.
+   Return 0 on success, or -1 on error with 'errno' set.
+
+   Note that on MingW, this function does NOT protect DESC from being
+   inherited into spawned children.  Instead, either use dup_cloexec
+   followed by closing the original DESC, or use interfaces such as
+   open or pipe2 that accept flags like O_CLOEXEC to create DESC
+   non-inheritable in the first place.  */
+
+int
+set_cloexec_flag (int desc, bool value)
+{
+#ifdef F_SETFD
+
+  int flags = fcntl (desc, F_GETFD, 0);
+
+  if (0 <= flags)
+    {
+      int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC);
+
+      if (flags == newflags
+          || fcntl (desc, F_SETFD, newflags) != -1)
+        return 0;
+    }
+
+  return -1;
+
+#else /* !F_SETFD */
+
+  /* Use dup2 to reject invalid file descriptors; the cloexec flag
+     will be unaffected.  */
+  if (desc < 0)
+    {
+      errno = EBADF;
+      return -1;
+    }
+  if (dup2 (desc, desc) < 0)
+    /* errno is EBADF here.  */
+    return -1;
+
+  /* There is nothing we can do on this kind of platform.  Punt.  */
+  return 0;
+#endif /* !F_SETFD */
+}
+
+
+/* Duplicates a file handle FD, while marking the copy to be closed
+   prior to exec or spawn.  Returns -1 and sets errno if FD could not
+   be duplicated.  */
+
+int
+dup_cloexec (int fd)
+{
+  return fcntl (fd, F_DUPFD_CLOEXEC, 0);
+}
diff --git a/gl/cloexec.h b/gl/cloexec.h
new file mode 100644 (file)
index 0000000..f52e5f2
--- /dev/null
@@ -0,0 +1,34 @@
+/* cloexec.c - set or clear the close-on-exec descriptor flag
+
+   Copyright (C) 2004, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true,
+   or clear the flag if VALUE is false.
+   Return 0 on success, or -1 on error with 'errno' set.
+
+   Note that on MingW, this function does NOT protect DESC from being
+   inherited into spawned children.  Instead, either use dup_cloexec
+   followed by closing the original DESC, or use interfaces such as
+   open or pipe2 that accept flags like O_CLOEXEC to create DESC
+   non-inheritable in the first place.  */
+
+int set_cloexec_flag (int desc, bool value);
+
+/* Duplicates a file handle FD, while marking the copy to be closed
+   prior to exec or spawn.  Returns -1 and sets errno if FD could not
+   be duplicated.  */
+
+int dup_cloexec (int fd);
similarity index 52%
rename from gltests/close.c
rename to gl/close.c
index 4b7accb..830fd82 100644 (file)
@@ -1,18 +1,18 @@
 /* close replacement.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
+   Copyright (C) 2008-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 #include <errno.h>
 
 #include "fd-hook.h"
-#include "msvc-inval.h"
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
 
 #undef close
 
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+#if defined _WIN32 && !defined __CYGWIN__
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
 static int
 close_nothrow (int fd)
 {
@@ -34,7 +37,7 @@ close_nothrow (int fd)
 
   TRY_MSVC_INVAL
     {
-      result = close (fd);
+      result = _close (fd);
     }
   CATCH_MSVC_INVAL
     {
@@ -45,6 +48,9 @@ close_nothrow (int fd)
 
   return result;
 }
+# else
+#  define close_nothrow _close
+# endif
 #else
 # define close_nothrow close
 #endif
diff --git a/gl/dup2.c b/gl/dup2.c
new file mode 100644 (file)
index 0000000..916e113
--- /dev/null
+++ b/gl/dup2.c
@@ -0,0 +1,189 @@
+/* Duplicate an open file descriptor to a specified file descriptor.
+
+   Copyright (C) 1999, 2004-2007, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include <errno.h>
+#include <fcntl.h>
+
+#undef dup2
+
+#if defined _WIN32 && ! defined __CYGWIN__
+
+/* Get declarations of the native Windows API functions.  */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+#  include "msvc-inval.h"
+# endif
+
+/* Get _get_osfhandle.  */
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+dup2_nothrow (int fd, int desired_fd)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = _dup2 (fd, desired_fd);
+    }
+  CATCH_MSVC_INVAL
+    {
+      errno = EBADF;
+      result = -1;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# else
+#  define dup2_nothrow _dup2
+# endif
+
+static int
+ms_windows_dup2 (int fd, int desired_fd)
+{
+  int result;
+
+  /* If fd is closed, mingw hangs on dup2 (fd, fd).  If fd is open,
+     dup2 (fd, fd) returns 0, but all further attempts to use fd in
+     future dup2 calls will hang.  */
+  if (fd == desired_fd)
+    {
+      if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE)
+        {
+          errno = EBADF;
+          return -1;
+        }
+      return fd;
+    }
+
+  /* Wine 1.0.1 return 0 when desired_fd is negative but not -1:
+     https://bugs.winehq.org/show_bug.cgi?id=21289 */
+  if (desired_fd < 0)
+    {
+      errno = EBADF;
+      return -1;
+    }
+
+  result = dup2_nothrow (fd, desired_fd);
+
+  if (result == 0)
+    result = desired_fd;
+
+  return result;
+}
+
+# define dup2 ms_windows_dup2
+
+#elif defined __KLIBC__
+
+# include <InnoTekLIBC/backend.h>
+
+static int
+klibc_dup2dirfd (int fd, int desired_fd)
+{
+  int tempfd;
+  int dupfd;
+
+  tempfd = open ("NUL", O_RDONLY);
+  if (tempfd == -1)
+    return -1;
+
+  if (tempfd == desired_fd)
+    {
+      close (tempfd);
+
+      char path[_MAX_PATH];
+      if (__libc_Back_ioFHToPath (fd, path, sizeof (path)))
+        return -1;
+
+      return open(path, O_RDONLY);
+    }
+
+  dupfd = klibc_dup2dirfd (fd, desired_fd);
+
+  close (tempfd);
+
+  return dupfd;
+}
+
+static int
+klibc_dup2 (int fd, int desired_fd)
+{
+  int dupfd;
+  struct stat sbuf;
+
+  dupfd = dup2 (fd, desired_fd);
+  if (dupfd == -1 && errno == ENOTSUP \
+      && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+    {
+      close (desired_fd);
+
+      return klibc_dup2dirfd (fd, desired_fd);
+    }
+
+  return dupfd;
+}
+
+# define dup2 klibc_dup2
+#endif
+
+int
+rpl_dup2 (int fd, int desired_fd)
+{
+  int result;
+
+#ifdef F_GETFL
+  /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
+     On Cygwin 1.5.x, dup2 (1, 1) returns 0.
+     On Cygwin 1.7.17, dup2 (1, -1) dumps core.
+     On Cygwin 1.7.25, dup2 (1, 256) can dump core.
+     On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
+# if HAVE_SETDTABLESIZE
+  setdtablesize (desired_fd + 1);
+# endif
+  if (desired_fd < 0)
+    fd = desired_fd;
+  if (fd == desired_fd)
+    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
+#endif
+
+  result = dup2 (fd, desired_fd);
+
+  /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x.  */
+  if (result == -1 && errno == EMFILE)
+    errno = EBADF;
+#if REPLACE_FCHDIR
+  if (fd != desired_fd && result != -1)
+    result = _gl_register_dup (fd, result);
+#endif
+  return result;
+}
index 2f42612..aa658e6 100644 (file)
@@ -1,19 +1,19 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
+   Copyright (C) 2008-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_ERRNO_H
 
@@ -30,7 +30,7 @@
 
 
 /* On native Windows platforms, many macros are not defined.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 /* These are the same values as defined by MSVC 10, for interoperability.  */
 
 #   define GNULIB_defined_ECANCELED 1
 #  endif
 
+#  ifndef EOWNERDEAD
+#   define EOWNERDEAD 133
+#   define GNULIB_defined_EOWNERDEAD 1
+#  endif
+
+#  ifndef ENOTRECOVERABLE
+#   define ENOTRECOVERABLE 127
+#   define GNULIB_defined_ENOTRECOVERABLE 1
+#  endif
+
 #  ifndef EINPROGRESS
 #   define EINPROGRESS     112
 #   define EALREADY        103
 #   define ELOOP           114
 #   define EHOSTUNREACH    110
 #   define EWOULDBLOCK     140
+#   define GNULIB_defined_ESOCK 1
+#  endif
+
+#  ifndef ETXTBSY
 #   define ETXTBSY         139
 #   define ENODATA         120  /* not required by POSIX */
 #   define ENOSR           124  /* not required by POSIX */
 #   define ENOSTR          125  /* not required by POSIX */
-#   define ENOTRECOVERABLE 127  /* not required by POSIX */
-#   define EOWNERDEAD      133  /* not required by POSIX */
 #   define ETIME           137  /* not required by POSIX */
 #   define EOTHER          131  /* not required by POSIX */
-#   define GNULIB_defined_ESOCK 1
+#   define GNULIB_defined_ESTREAMS 1
 #  endif
 
 /* These are intentionally the same values as the WSA* error numbers, defined
 #  define GNULIB_defined_ECANCELED 1
 # endif
 
+/* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not
+   defined.  */
+
+# ifndef EOWNERDEAD
+#  if defined __sun
+    /* Use the same values as defined for Solaris >= 8, for
+       interoperability.  */
+#   define EOWNERDEAD      58
+#   define ENOTRECOVERABLE 59
+#  elif defined _WIN32 && ! defined __CYGWIN__
+    /* We have a conflict here: pthreads-win32 defines these values
+       differently than MSVC 10.  It's hairy to decide which one to use.  */
+#   if defined __MINGW32__ && !defined USE_WINDOWS_THREADS
+     /* Use the same values as defined by pthreads-win32, for
+        interoperability.  */
+#    define EOWNERDEAD      43
+#    define ENOTRECOVERABLE 44
+#   else
+     /* Use the same values as defined by MSVC 10, for
+        interoperability.  */
+#    define EOWNERDEAD      133
+#    define ENOTRECOVERABLE 127
+#   endif
+#  else
+#   define EOWNERDEAD      2013
+#   define ENOTRECOVERABLE 2014
+#  endif
+#  define GNULIB_defined_EOWNERDEAD 1
+#  define GNULIB_defined_ENOTRECOVERABLE 1
+# endif
+
+# ifndef EILSEQ
+#  define EILSEQ 2015
+#  define GNULIB_defined_EILSEQ 1
+# endif
 
 #endif /* _@GUARD_PREFIX@_ERRNO_H */
 #endif /* _@GUARD_PREFIX@_ERRNO_H */
index dc8c65f..c53dfeb 100644 (file)
@@ -1,27 +1,28 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   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 file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by David MacKenzie <djm@gnu.ai.mit.edu>.  */
 
 #if !_LIBC
 # include <config.h>
+# define _GL_NO_INLINE_ERROR
 #endif
 
-#include "error.h"
+#include <error.h>
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -39,6 +40,9 @@
 # include <stdint.h>
 # include <wchar.h>
 # define mbsrtowcs __mbsrtowcs
+# define USE_UNLOCKED_IO 0
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(a, b)
+# define _GL_ARG_NONNULL(a)
 #endif
 
 #if USE_UNLOCKED_IO
@@ -72,14 +76,14 @@ extern void __error (int status, int errnum, const char *message, ...)
 extern void __error_at_line (int status, int errnum, const char *file_name,
                              unsigned int line_number, const char *message,
                              ...)
-     __attribute__ ((__format__ (__printf__, 5, 6)));;
+     __attribute__ ((__format__ (__printf__, 5, 6)));
 # define error __error
 # define error_at_line __error_at_line
 
 # include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
+# define fflush(s) _IO_fflush (s)
 # undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# define putc(c, fp) _IO_putc (c, fp)
 
 # include <bits/libc-lock.h>
 
@@ -88,43 +92,45 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
 # include <fcntl.h>
 # include <unistd.h>
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 /* Get _get_osfhandle.  */
-#  include "msvc-nothrow.h"
+#  if GNULIB_MSVC_NOTHROW
+#   include "msvc-nothrow.h"
+#  else
+#   include <io.h>
+#  endif
 # endif
 
 /* The gnulib override of fcntl is not needed in this file.  */
 # undef fcntl
 
-# if !HAVE_DECL_STRERROR_R
+# if !(GNULIB_STRERROR_R_POSIX || HAVE_DECL_STRERROR_R)
 #  ifndef HAVE_DECL_STRERROR_R
 "this configure-time declaration test was not run"
 #  endif
 #  if STRERROR_R_CHAR_P
-char *strerror_r ();
+char *strerror_r (int errnum, char *buf, size_t buflen);
 #  else
-int strerror_r ();
+int strerror_r (int errnum, char *buf, size_t buflen);
 #  endif
 # endif
 
-/* The calling program should define program_name and set it to the
-   name of the executing program.  */
-extern char *program_name;
+# define program_name getprogname ()
 
-# if HAVE_STRERROR_R || defined strerror_r
+# if GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r
 #  define __strerror_r strerror_r
-# endif /* HAVE_STRERROR_R || defined strerror_r */
+# endif /* GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r */
 #endif  /* not _LIBC */
 
 #if !_LIBC
 /* Return non-zero if FD is open.  */
-static inline int
+static int
 is_open (int fd)
 {
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
   /* On native Windows: The initial state of unassigned standard file
      descriptors is that they are open but point to an INVALID_HANDLE_VALUE.
      There is no fcntl, and the gnulib replacement fcntl does not support
@@ -139,7 +145,7 @@ is_open (int fd)
 }
 #endif
 
-static inline void
+static void
 flush_stdout (void)
 {
 #if !_LIBC
@@ -169,9 +175,9 @@ print_errno_message (int errnum)
 {
   char const *s;
 
-#if defined HAVE_STRERROR_R || _LIBC
+#if _LIBC || GNULIB_STRERROR_R_POSIX || defined HAVE_STRERROR_R
   char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
+# if _LIBC || (!GNULIB_STRERROR_R_POSIX && STRERROR_R_CHAR_P)
   s = __strerror_r (errnum, errbuf, sizeof errbuf);
 # else
   if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
@@ -195,13 +201,12 @@ print_errno_message (int errnum)
 #endif
 }
 
-static void
+static void _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0) _GL_ARG_NONNULL ((3))
 error_tail (int status, int errnum, const char *message, va_list args)
 {
 #if _LIBC
   if (_IO_fwide (stderr, 0) > 0)
     {
-# define ALLOCA_LIMIT 2000
       size_t len = strlen (message) + 1;
       wchar_t *wmessage = NULL;
       mbstate_t st;
@@ -237,7 +242,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
           if (res != len)
             break;
 
-          if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+          if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
             {
               /* This really should not happen if everything is fine.  */
               res = (size_t) -1;
@@ -266,7 +271,6 @@ error_tail (int status, int errnum, const char *message, va_list args)
   else
 #endif
     vfprintf (stderr, message, args);
-  va_end (args);
 
   ++error_message_count;
   if (errnum)
@@ -316,6 +320,7 @@ error (int status, int errnum, const char *message, ...)
 
   va_start (args, message);
   error_tail (status, errnum, message, args);
+  va_end (args);
 
 #ifdef _LIBC
   _IO_funlockfile (stderr);
@@ -342,7 +347,10 @@ error_at_line (int status, int errnum, const char *file_name,
 
       if (old_line_number == line_number
           && (file_name == old_file_name
-              || strcmp (old_file_name, file_name) == 0))
+              || (old_file_name != NULL
+                  && file_name != NULL
+                  && strcmp (old_file_name, file_name) == 0)))
+
         /* Simply return and print nothing.  */
         return;
 
@@ -374,15 +382,16 @@ error_at_line (int status, int errnum, const char *file_name,
     }
 
 #if _LIBC
-  __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
+  __fxprintf (NULL, file_name != NULL ? "%s:%u: " : " ",
               file_name, line_number);
 #else
-  fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
+  fprintf (stderr, file_name != NULL ? "%s:%u: " : " ",
            file_name, line_number);
 #endif
 
   va_start (args, message);
   error_tail (status, errnum, message, args);
+  va_end (args);
 
 #ifdef _LIBC
   _IO_funlockfile (stderr);
diff --git a/gl/error.h b/gl/error.h
deleted file mode 100644 (file)
index 9c2cb8b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2012 Free Software Foundation,
-   Inc.
-   This file is part of the GNU C Library.
-
-   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/>.  */
-
-#ifndef _ERROR_H
-#define _ERROR_H 1
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The __-protected variants of the attributes 'format' and 'printf' are
-   accepted by gcc versions 2.6.4 (effectively 2.7) and later.
-   We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
-   gnulib and libintl do '#define printf __printf__' when they override
-   the 'printf' function.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
-#else
-# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Print a message with 'fprintf (stderr, FORMAT, ...)';
-   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
-   If STATUS is nonzero, terminate the program with 'exit (STATUS)'.  */
-
-extern void error (int __status, int __errnum, const char *__format, ...)
-     _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
-
-extern void error_at_line (int __status, int __errnum, const char *__fname,
-                           unsigned int __lineno, const char *__format, ...)
-     _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
-
-/* If NULL, error will flush stdout, then print on stderr the program
-   name, a colon and a space.  Otherwise, error will call this
-   function without parameters instead.  */
-extern void (*error_print_progname) (void);
-
-/* This variable is incremented each time 'error' is called.  */
-extern unsigned int error_message_count;
-
-/* Sometimes we want to have at most one error per line.  This
-   variable controls whether this mode is selected or not.  */
-extern int error_one_per_line;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* error.h */
diff --git a/gl/error.in.h b/gl/error.in.h
new file mode 100644 (file)
index 0000000..51f8caf
--- /dev/null
@@ -0,0 +1,216 @@
+/* Declarations for error-reporting functions.
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2024 Free Software Foundation,
+   Inc.
+   This file is part of the GNU C Library.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _@GUARD_PREFIX@_ERROR_H
+
+/* No @PRAGMA_SYSTEM_HEADER@ here, because it would prevent
+   -Wimplicit-fallthrough warnings for missing FALLTHROUGH after error(...)
+   or error_at_line(...) invocations.  */
+
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_ERROR_H@
+# @INCLUDE_NEXT@ @NEXT_ERROR_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_ERROR_H
+#define _@GUARD_PREFIX@_ERROR_H
+
+/* This file uses _GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_FORMAT,
+  _GL_ATTRIBUTE_MAYBE_UNUSED.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* Get 'unreachable'.  */
+#include <stddef.h>
+
+/* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.  */
+#include <stdio.h>
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+#if GNULIB_VFPRINTF_POSIX
+# define _GL_ATTRIBUTE_SPEC_PRINTF_ERROR _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD
+#else
+# define _GL_ATTRIBUTE_SPEC_PRINTF_ERROR _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM
+#endif
+
+/* Helper macro for supporting the compiler's control flow analysis better.
+   It evaluates its arguments only once.
+   Test case: Compile copy-file.c with "gcc -Wimplicit-fallthrough".  */
+#if defined __GNUC__ || defined __clang__
+/* Use 'unreachable' to tell the compiler when the function call does not
+   return.  */
+# define __gl_error_call1(function, status, ...) \
+    ((function) (status, __VA_ARGS__), \
+     (status) != 0 ? unreachable () : (void) 0)
+/* If STATUS is a not a constant, the function call may or may not return;
+   therefore -Wimplicit-fallthrough will produce a warning.  Use a compound
+   statement in order to evaluate STATUS only once.
+   If STATUS is a constant, we don't use a compound statement, because that
+   would trigger a -Wimplicit-fallthrough warning even when STATUS is != 0,
+   when not optimizing.  This causes STATUS to be evaluated twice, but
+   that's OK since it does not have side effects.  */
+# define __gl_error_call(function, status, ...)                 \
+    (__builtin_constant_p (status)                              \
+     ? __gl_error_call1 (function, status, __VA_ARGS__)         \
+     : __extension__                                            \
+       ({                                                       \
+         int const __errstatus = status;                        \
+         __gl_error_call1 (function, __errstatus, __VA_ARGS__); \
+       }))
+#else
+# define __gl_error_call(function, status, ...) \
+    (function) (status, __VA_ARGS__)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Print a message with 'fprintf (stderr, FORMAT, ...)';
+   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+   If STATUS is nonzero, terminate the program with 'exit (STATUS)'.  */
+#if @REPLACE_ERROR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#  undef error
+#  define error rpl_error
+# endif
+_GL_FUNCDECL_RPL (error, void,
+                  (int __status, int __errnum, const char *__format, ...)
+                  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4)));
+_GL_CXXALIAS_RPL (error, void,
+                  (int __status, int __errnum, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+#  undef error
+#  define error(status, ...) \
+     __gl_error_call (rpl_error, status, __VA_ARGS__)
+# endif
+#else
+# if ! @HAVE_ERROR@
+_GL_FUNCDECL_SYS (error, void,
+                  (int __status, int __errnum, const char *__format, ...)
+                  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4)));
+# endif
+_GL_CXXALIAS_SYS (error, void,
+                  (int __status, int __errnum, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+#  ifdef error
+/* Only gcc ≥ 4.7 has __builtin_va_arg_pack.  */
+#   if _GL_GNUC_PREREQ (4, 7)
+#    pragma GCC diagnostic push
+#    pragma GCC diagnostic ignored "-Wattributes"
+_GL_ATTRIBUTE_MAYBE_UNUSED
+static void
+_GL_ATTRIBUTE_ALWAYS_INLINE
+_GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 3, 4))
+_gl_inline_error (int __status, int __errnum, const char *__format, ...)
+{
+  return error (__status, __errnum, __format, __builtin_va_arg_pack ());
+}
+#    pragma GCC diagnostic pop
+#    undef error
+#    define error(status, ...) \
+       __gl_error_call (_gl_inline_error, status, __VA_ARGS__)
+#   endif
+#  else
+#   define error(status, ...) \
+      __gl_error_call (error, status, __VA_ARGS__)
+#  endif
+# endif
+#endif
+#if __GLIBC__ >= 2
+_GL_CXXALIASWARN (error);
+#endif
+
+/* Likewise.  If FILENAME is non-NULL, include FILENAME:LINENO: in the
+   message.  */
+#if @REPLACE_ERROR_AT_LINE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#  undef error_at_line
+#  define error_at_line rpl_error_at_line
+# endif
+_GL_FUNCDECL_RPL (error_at_line, void,
+                  (int __status, int __errnum, const char *__filename,
+                   unsigned int __lineno, const char *__format, ...)
+                  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6)));
+_GL_CXXALIAS_RPL (error_at_line, void,
+                  (int __status, int __errnum, const char *__filename,
+                   unsigned int __lineno, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+#  undef error_at_line
+#  define error_at_line(status, ...) \
+     __gl_error_call (rpl_error_at_line, status, __VA_ARGS__)
+# endif
+#else
+# if ! @HAVE_ERROR_AT_LINE@
+_GL_FUNCDECL_SYS (error_at_line, void,
+                  (int __status, int __errnum, const char *__filename,
+                   unsigned int __lineno, const char *__format, ...)
+                  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6)));
+# endif
+_GL_CXXALIAS_SYS (error_at_line, void,
+                  (int __status, int __errnum, const char *__filename,
+                   unsigned int __lineno, const char *__format, ...));
+# ifndef _GL_NO_INLINE_ERROR
+#  ifdef error_at_line
+/* Only gcc ≥ 4.7 has __builtin_va_arg_pack.  */
+#   if _GL_GNUC_PREREQ (4, 7)
+#    pragma GCC diagnostic push
+#    pragma GCC diagnostic ignored "-Wattributes"
+_GL_ATTRIBUTE_MAYBE_UNUSED
+static void
+_GL_ATTRIBUTE_ALWAYS_INLINE
+_GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_ERROR, 5, 6))
+_gl_inline_error_at_line (int __status, int __errnum, const char *__filename,
+                          unsigned int __lineno, const char *__format, ...)
+{
+  return error_at_line (__status, __errnum, __filename, __lineno, __format,
+                        __builtin_va_arg_pack ());
+}
+#    pragma GCC diagnostic pop
+#    undef error_at_line
+#    define error_at_line(status, ...) \
+       __gl_error_call (_gl_inline_error_at_line, status, __VA_ARGS__)
+#   endif
+#  else
+#   define error_at_line(status, ...) \
+      __gl_error_call (error_at_line, status, __VA_ARGS__)
+#  endif
+# endif
+#endif
+_GL_CXXALIASWARN (error_at_line);
+
+/* If NULL, error will flush stdout, then print on stderr the program
+   name, a colon and a space.  Otherwise, error will call this
+   function without parameters instead.  */
+extern void (*error_print_progname) (void);
+
+/* This variable is incremented each time 'error' is called.  */
+extern unsigned int error_message_count;
+
+/* Sometimes we want to have at most one error per line.  This
+   variable controls whether this mode is selected or not.  */
+extern int error_one_per_line;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _@GUARD_PREFIX@_ERROR_H */
+#endif /* _@GUARD_PREFIX@_ERROR_H */
diff --git a/gl/fcntl.c b/gl/fcntl.c
new file mode 100644 (file)
index 0000000..7cd3a0f
--- /dev/null
@@ -0,0 +1,629 @@
+/* Provide file descriptor control.
+
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <fcntl.h>
+
+#include <errno.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#ifdef __KLIBC__
+# define INCL_DOS
+# include <os2.h>
+#endif
+
+#if defined _WIN32 && ! defined __CYGWIN__
+/* Get declarations of the native Windows API functions.  */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+/* Get _get_osfhandle.  */
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
+
+/* Upper bound on getdtablesize().  See lib/getdtablesize.c.  */
+# define OPEN_MAX_MAX 0x10000
+
+/* Duplicate OLDFD into the first available slot of at least NEWFD,
+   which must be positive, with FLAGS determining whether the duplicate
+   will be inheritable.  */
+static int
+dupfd (int oldfd, int newfd, int flags)
+{
+  /* Mingw has no way to create an arbitrary fd.  Iterate until all
+     file descriptors less than newfd are filled up.  */
+  HANDLE curr_process = GetCurrentProcess ();
+  HANDLE old_handle = (HANDLE) _get_osfhandle (oldfd);
+  unsigned char fds_to_close[OPEN_MAX_MAX / CHAR_BIT];
+  unsigned int fds_to_close_bound = 0;
+  int result;
+  BOOL inherit = flags & O_CLOEXEC ? FALSE : TRUE;
+  int mode;
+
+  if (newfd < 0 || getdtablesize () <= newfd)
+    {
+      errno = EINVAL;
+      return -1;
+    }
+  if (old_handle == INVALID_HANDLE_VALUE
+      || (mode = _setmode (oldfd, O_BINARY)) == -1)
+    {
+      /* oldfd is not open, or is an unassigned standard file
+         descriptor.  */
+      errno = EBADF;
+      return -1;
+    }
+  _setmode (oldfd, mode);
+  flags |= mode;
+
+  for (;;)
+    {
+      HANDLE new_handle;
+      int duplicated_fd;
+      unsigned int index;
+
+      if (!DuplicateHandle (curr_process,           /* SourceProcessHandle */
+                            old_handle,             /* SourceHandle */
+                            curr_process,           /* TargetProcessHandle */
+                            (PHANDLE) &new_handle,  /* TargetHandle */
+                            (DWORD) 0,              /* DesiredAccess */
+                            inherit,                /* InheritHandle */
+                            DUPLICATE_SAME_ACCESS)) /* Options */
+        {
+          switch (GetLastError ())
+            {
+              case ERROR_TOO_MANY_OPEN_FILES:
+                errno = EMFILE;
+                break;
+              case ERROR_INVALID_HANDLE:
+              case ERROR_INVALID_TARGET_HANDLE:
+              case ERROR_DIRECT_ACCESS_HANDLE:
+                errno = EBADF;
+                break;
+              case ERROR_INVALID_PARAMETER:
+              case ERROR_INVALID_FUNCTION:
+              case ERROR_INVALID_ACCESS:
+                errno = EINVAL;
+                break;
+              default:
+                errno = EACCES;
+                break;
+            }
+          result = -1;
+          break;
+        }
+      duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags);
+      if (duplicated_fd < 0)
+        {
+          CloseHandle (new_handle);
+          result = -1;
+          break;
+        }
+      if (newfd <= duplicated_fd)
+        {
+          result = duplicated_fd;
+          break;
+        }
+
+      /* Set the bit duplicated_fd in fds_to_close[].  */
+      index = (unsigned int) duplicated_fd / CHAR_BIT;
+      if (fds_to_close_bound <= index)
+        {
+          if (sizeof fds_to_close <= index)
+            /* Need to increase OPEN_MAX_MAX.  */
+            abort ();
+          memset (fds_to_close + fds_to_close_bound, '\0',
+                  index + 1 - fds_to_close_bound);
+          fds_to_close_bound = index + 1;
+        }
+      fds_to_close[index] |= 1 << ((unsigned int) duplicated_fd % CHAR_BIT);
+    }
+
+  /* Close the previous fds that turned out to be too small.  */
+  {
+    int saved_errno = errno;
+    unsigned int duplicated_fd;
+
+    for (duplicated_fd = 0;
+         duplicated_fd < fds_to_close_bound * CHAR_BIT;
+         duplicated_fd++)
+      if ((fds_to_close[duplicated_fd / CHAR_BIT]
+           >> (duplicated_fd % CHAR_BIT))
+          & 1)
+        close (duplicated_fd);
+
+    errno = saved_errno;
+  }
+
+# if REPLACE_FCHDIR
+  if (0 <= result)
+    result = _gl_register_dup (oldfd, result);
+# endif
+  return result;
+}
+#endif /* W32 */
+
+/* Forward declarations, because we '#undef fcntl' in the middle of this
+   compilation unit.  */
+/* Our implementation of fcntl (fd, F_DUPFD, target).  */
+static int rpl_fcntl_DUPFD (int fd, int target);
+/* Our implementation of fcntl (fd, F_DUPFD_CLOEXEC, target).  */
+static int rpl_fcntl_DUPFD_CLOEXEC (int fd, int target);
+#ifdef __KLIBC__
+/* Adds support for fcntl on directories.  */
+static int klibc_fcntl (int fd, int action, /* arg */...);
+#endif
+
+
+/* Perform the specified ACTION on the file descriptor FD, possibly
+   using the argument ARG further described below.  This replacement
+   handles the following actions, and forwards all others on to the
+   native fcntl.  An unrecognized ACTION returns -1 with errno set to
+   EINVAL.
+
+   F_DUPFD - duplicate FD, with int ARG being the minimum target fd.
+   If successful, return the duplicate, which will be inheritable;
+   otherwise return -1 and set errno.
+
+   F_DUPFD_CLOEXEC - duplicate FD, with int ARG being the minimum
+   target fd.  If successful, return the duplicate, which will not be
+   inheritable; otherwise return -1 and set errno.
+
+   F_GETFD - ARG need not be present.  If successful, return a
+   non-negative value containing the descriptor flags of FD (only
+   FD_CLOEXEC is portable, but other flags may be present); otherwise
+   return -1 and set errno.  */
+
+int
+fcntl (int fd, int action, /* arg */...)
+#undef fcntl
+#ifdef __KLIBC__
+# define fcntl klibc_fcntl
+#endif
+{
+  va_list arg;
+  int result = -1;
+  va_start (arg, action);
+  switch (action)
+    {
+    case F_DUPFD:
+      {
+        int target = va_arg (arg, int);
+        result = rpl_fcntl_DUPFD (fd, target);
+        break;
+      }
+
+    case F_DUPFD_CLOEXEC:
+      {
+        int target = va_arg (arg, int);
+        result = rpl_fcntl_DUPFD_CLOEXEC (fd, target);
+        break;
+      }
+
+#if !HAVE_FCNTL
+    case F_GETFD:
+      {
+# if defined _WIN32 && ! defined __CYGWIN__
+        HANDLE handle = (HANDLE) _get_osfhandle (fd);
+        DWORD flags;
+        if (handle == INVALID_HANDLE_VALUE
+            || GetHandleInformation (handle, &flags) == 0)
+          errno = EBADF;
+        else
+          result = (flags & HANDLE_FLAG_INHERIT) ? 0 : FD_CLOEXEC;
+# else /* !W32 */
+        /* Use dup2 to reject invalid file descriptors.  No way to
+           access this information, so punt.  */
+        if (0 <= dup2 (fd, fd))
+          result = 0;
+# endif /* !W32 */
+        break;
+      } /* F_GETFD */
+#endif /* !HAVE_FCNTL */
+
+      /* Implementing F_SETFD on mingw is not trivial - there is no
+         API for changing the O_NOINHERIT bit on an fd, and merely
+         changing the HANDLE_FLAG_INHERIT bit on the underlying handle
+         can lead to odd state.  It may be possible by duplicating the
+         handle, using _open_osfhandle with the right flags, then
+         using dup2 to move the duplicate onto the original, but that
+         is not supported for now.  */
+
+    default:
+      {
+#if HAVE_FCNTL
+        switch (action)
+          {
+          #ifdef F_BARRIERFSYNC                  /* macOS */
+          case F_BARRIERFSYNC:
+          #endif
+          #ifdef F_CHKCLEAN                      /* macOS */
+          case F_CHKCLEAN:
+          #endif
+          #ifdef F_CLOSEM                        /* NetBSD, HP-UX */
+          case F_CLOSEM:
+          #endif
+          #ifdef F_FLUSH_DATA                    /* macOS */
+          case F_FLUSH_DATA:
+          #endif
+          #ifdef F_FREEZE_FS                     /* macOS */
+          case F_FREEZE_FS:
+          #endif
+          #ifdef F_FULLFSYNC                     /* macOS */
+          case F_FULLFSYNC:
+          #endif
+          #ifdef F_GETCONFINED                   /* macOS */
+          case F_GETCONFINED:
+          #endif
+          #ifdef F_GETDEFAULTPROTLEVEL           /* macOS */
+          case F_GETDEFAULTPROTLEVEL:
+          #endif
+          #ifdef F_GETFD                         /* POSIX */
+          case F_GETFD:
+          #endif
+          #ifdef F_GETFL                         /* POSIX */
+          case F_GETFL:
+          #endif
+          #ifdef F_GETLEASE                      /* Linux */
+          case F_GETLEASE:
+          #endif
+          #ifdef F_GETNOSIGPIPE                  /* macOS */
+          case F_GETNOSIGPIPE:
+          #endif
+          #ifdef F_GETOWN                        /* POSIX */
+          case F_GETOWN:
+          #endif
+          #ifdef F_GETPIPE_SZ                    /* Linux */
+          case F_GETPIPE_SZ:
+          #endif
+          #ifdef F_GETPROTECTIONCLASS            /* macOS */
+          case F_GETPROTECTIONCLASS:
+          #endif
+          #ifdef F_GETPROTECTIONLEVEL            /* macOS */
+          case F_GETPROTECTIONLEVEL:
+          #endif
+          #ifdef F_GET_SEALS                     /* Linux */
+          case F_GET_SEALS:
+          #endif
+          #ifdef F_GETSIG                        /* Linux */
+          case F_GETSIG:
+          #endif
+          #ifdef F_MAXFD                         /* NetBSD */
+          case F_MAXFD:
+          #endif
+          #ifdef F_RECYCLE                       /* macOS */
+          case F_RECYCLE:
+          #endif
+          #ifdef F_SETFIFOENH                    /* HP-UX */
+          case F_SETFIFOENH:
+          #endif
+          #ifdef F_THAW_FS                       /* macOS */
+          case F_THAW_FS:
+          #endif
+            /* These actions take no argument.  */
+            result = fcntl (fd, action);
+            break;
+
+          #ifdef F_ADD_SEALS                     /* Linux */
+          case F_ADD_SEALS:
+          #endif
+          #ifdef F_BADFD                         /* Solaris */
+          case F_BADFD:
+          #endif
+          #ifdef F_CHECK_OPENEVT                 /* macOS */
+          case F_CHECK_OPENEVT:
+          #endif
+          #ifdef F_DUP2FD                        /* FreeBSD, AIX, Solaris */
+          case F_DUP2FD:
+          #endif
+          #ifdef F_DUP2FD_CLOEXEC                /* FreeBSD, Solaris */
+          case F_DUP2FD_CLOEXEC:
+          #endif
+          #ifdef F_DUP2FD_CLOFORK                /* Solaris */
+          case F_DUP2FD_CLOFORK:
+          #endif
+          #ifdef F_DUPFD                         /* POSIX */
+          case F_DUPFD:
+          #endif
+          #ifdef F_DUPFD_CLOEXEC                 /* POSIX */
+          case F_DUPFD_CLOEXEC:
+          #endif
+          #ifdef F_DUPFD_CLOFORK                 /* Solaris */
+          case F_DUPFD_CLOFORK:
+          #endif
+          #ifdef F_GETXFL                        /* Solaris */
+          case F_GETXFL:
+          #endif
+          #ifdef F_GLOBAL_NOCACHE                /* macOS */
+          case F_GLOBAL_NOCACHE:
+          #endif
+          #ifdef F_MAKECOMPRESSED                /* macOS */
+          case F_MAKECOMPRESSED:
+          #endif
+          #ifdef F_MOVEDATAEXTENTS               /* macOS */
+          case F_MOVEDATAEXTENTS:
+          #endif
+          #ifdef F_NOCACHE                       /* macOS */
+          case F_NOCACHE:
+          #endif
+          #ifdef F_NODIRECT                      /* macOS */
+          case F_NODIRECT:
+          #endif
+          #ifdef F_NOTIFY                        /* Linux */
+          case F_NOTIFY:
+          #endif
+          #ifdef F_OPLKACK                       /* IRIX */
+          case F_OPLKACK:
+          #endif
+          #ifdef F_OPLKREG                       /* IRIX */
+          case F_OPLKREG:
+          #endif
+          #ifdef F_RDAHEAD                       /* macOS */
+          case F_RDAHEAD:
+          #endif
+          #ifdef F_SETBACKINGSTORE               /* macOS */
+          case F_SETBACKINGSTORE:
+          #endif
+          #ifdef F_SETCONFINED                   /* macOS */
+          case F_SETCONFINED:
+          #endif
+          #ifdef F_SETFD                         /* POSIX */
+          case F_SETFD:
+          #endif
+          #ifdef F_SETFL                         /* POSIX */
+          case F_SETFL:
+          #endif
+          #ifdef F_SETLEASE                      /* Linux */
+          case F_SETLEASE:
+          #endif
+          #ifdef F_SETNOSIGPIPE                  /* macOS */
+          case F_SETNOSIGPIPE:
+          #endif
+          #ifdef F_SETOWN                        /* POSIX */
+          case F_SETOWN:
+          #endif
+          #ifdef F_SETPIPE_SZ                    /* Linux */
+          case F_SETPIPE_SZ:
+          #endif
+          #ifdef F_SETPROTECTIONCLASS            /* macOS */
+          case F_SETPROTECTIONCLASS:
+          #endif
+          #ifdef F_SETSIG                        /* Linux */
+          case F_SETSIG:
+          #endif
+          #ifdef F_SINGLE_WRITER                 /* macOS */
+          case F_SINGLE_WRITER:
+          #endif
+            /* These actions take an 'int' argument.  */
+            {
+              int x = va_arg (arg, int);
+              result = fcntl (fd, action, x);
+            }
+            break;
+
+          default:
+            /* Other actions take a pointer argument.  */
+            {
+              void *p = va_arg (arg, void *);
+              result = fcntl (fd, action, p);
+            }
+            break;
+          }
+#else
+        errno = EINVAL;
+#endif
+        break;
+      }
+    }
+  va_end (arg);
+  return result;
+}
+
+static int
+rpl_fcntl_DUPFD (int fd, int target)
+{
+  int result;
+#if !HAVE_FCNTL
+  result = dupfd (fd, target, 0);
+#elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR
+  /* Detect invalid target; needed for cygwin 1.5.x.  */
+  if (target < 0 || getdtablesize () <= target)
+    {
+      result = -1;
+      errno = EINVAL;
+    }
+  else
+    {
+      /* Haiku alpha 2 loses fd flags on original.  */
+      int flags = fcntl (fd, F_GETFD);
+      if (flags < 0)
+        result = -1;
+      else
+        {
+          result = fcntl (fd, F_DUPFD, target);
+          if (0 <= result && fcntl (fd, F_SETFD, flags) == -1)
+            {
+              int saved_errno = errno;
+              close (result);
+              result = -1;
+              errno = saved_errno;
+            }
+# if REPLACE_FCHDIR
+          if (0 <= result)
+            result = _gl_register_dup (fd, result);
+# endif
+        }
+    }
+#else
+  result = fcntl (fd, F_DUPFD, target);
+#endif
+  return result;
+}
+
+static int
+rpl_fcntl_DUPFD_CLOEXEC (int fd, int target)
+{
+  int result;
+#if !HAVE_FCNTL
+  result = dupfd (fd, target, O_CLOEXEC);
+#else /* HAVE_FCNTL */
+# if defined __NetBSD__ || defined __HAIKU__
+  /* On NetBSD 9.0, the system fcntl (fd, F_DUPFD_CLOEXEC, target)
+     has only the same effect as fcntl (fd, F_DUPFD, target).  */
+  /* On Haiku, the system fcntl (fd, F_DUPFD_CLOEXEC, target) sets
+     the FD_CLOEXEC flag on fd, not on target.  Therefore avoid the
+     system fcntl in this case.  */
+#  define have_dupfd_cloexec -1
+# else
+  /* Try the system call first, if the headers claim it exists
+     (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we
+     may be running with a glibc that has the macro but with an
+     older kernel that does not support it.  Cache the
+     information on whether the system call really works, but
+     avoid caching failure if the corresponding F_DUPFD fails
+     for any reason.  0 = unknown, 1 = yes, -1 = no.  */
+  static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0;
+  if (0 <= have_dupfd_cloexec)
+    {
+      result = fcntl (fd, F_DUPFD_CLOEXEC, target);
+      if (0 <= result || errno != EINVAL)
+        {
+          have_dupfd_cloexec = 1;
+#  if REPLACE_FCHDIR
+          if (0 <= result)
+            result = _gl_register_dup (fd, result);
+#  endif
+        }
+      else
+        {
+          result = rpl_fcntl_DUPFD (fd, target);
+          if (result >= 0)
+            have_dupfd_cloexec = -1;
+        }
+    }
+  else
+# endif
+    result = rpl_fcntl_DUPFD (fd, target);
+  if (0 <= result && have_dupfd_cloexec == -1)
+    {
+      int flags = fcntl (result, F_GETFD);
+      if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1)
+        {
+          int saved_errno = errno;
+          close (result);
+          errno = saved_errno;
+          result = -1;
+        }
+    }
+#endif /* HAVE_FCNTL */
+  return result;
+}
+
+#undef fcntl
+
+#ifdef __KLIBC__
+
+static int
+klibc_fcntl (int fd, int action, /* arg */...)
+{
+  va_list arg_ptr;
+  int arg;
+  struct stat sbuf;
+  int result;
+
+  va_start (arg_ptr, action);
+  arg = va_arg (arg_ptr, int);
+  result = fcntl (fd, action, arg);
+  /* EPERM for F_DUPFD, ENOTSUP for others */
+  if (result == -1 && (errno == EPERM || errno == ENOTSUP)
+      && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+    {
+      ULONG ulMode;
+
+      switch (action)
+        {
+        case F_DUPFD:
+          /* Find available fd */
+          while (fcntl (arg, F_GETFL) != -1 || errno != EBADF)
+            arg++;
+
+          result = dup2 (fd, arg);
+          break;
+
+        /* Using underlying APIs is right ? */
+        case F_GETFD:
+          if (DosQueryFHState (fd, &ulMode))
+            break;
+
+          result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0;
+          break;
+
+        case F_SETFD:
+          if (arg & ~FD_CLOEXEC)
+            break;
+
+          if (DosQueryFHState (fd, &ulMode))
+            break;
+
+          if (arg & FD_CLOEXEC)
+            ulMode |= OPEN_FLAGS_NOINHERIT;
+          else
+            ulMode &= ~OPEN_FLAGS_NOINHERIT;
+
+          /* Filter supported flags.  */
+          ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR
+                     | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT);
+
+          if (DosSetFHState (fd, ulMode))
+            break;
+
+          result = 0;
+          break;
+
+        case F_GETFL:
+          result = 0;
+          break;
+
+        case F_SETFL:
+          if (arg != 0)
+            break;
+
+          result = 0;
+          break;
+
+        default:
+          errno = EINVAL;
+          break;
+        }
+    }
+
+  va_end (arg_ptr);
+
+  return result;
+}
+
+#endif
similarity index 63%
rename from gltests/fcntl.in.h
rename to gl/fcntl.in.h
index 76e12f7..eea3b95 100644 (file)
@@ -1,19 +1,19 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2012 Free Software Foundation, Inc.
+   Copyright (C) 2006-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* written by Paul Eggert */
 
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 #@INCLUDE_NEXT@ @NEXT_FCNTL_H@
 
+/* Native Windows platforms declare open(), creat() in <io.h>.  */
+#if (@GNULIB_CREAT@ || @GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 #else
 /* Normal invocation convention.  */
 
    extern "C" { ... } block, which leads to errors in C++ mode with the
    overridden <sys/stat.h> from gnulib.  These errors are known to be gone
    with g++ version >= 4.3.  */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
 # include <sys/stat.h>
 #endif
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_FCNTL_H@
 
+/* Native Windows platforms declare open(), creat() in <io.h>.  */
+#if (@GNULIB_CREAT@ || @GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 #ifndef _@GUARD_PREFIX@_FCNTL_H
 #define _@GUARD_PREFIX@_FCNTL_H
 
-#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems.  */
-# include <unistd.h>
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
 #endif
 
-/* Native Windows platforms declare open(), creat() in <io.h>.  */
-#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
-    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-# include <io.h>
+#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems.  */
+# include <unistd.h>
 #endif
 
 
 
 /* Declare overridden functions.  */
 
+#if @GNULIB_CREAT@
+# if @REPLACE_CREAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef creat
+#   define creat rpl_creat
+#  endif
+_GL_FUNCDECL_RPL (creat, int, (const char *filename, mode_t mode)
+                             _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (creat, int, (const char *filename, mode_t mode));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef creat
+#   define creat _creat
+#  endif
+_GL_CXXALIAS_MDA (creat, int, (const char *filename, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode));
+# endif
+_GL_CXXALIASWARN (creat);
+#elif defined GNULIB_POSIXCHECK
+# undef creat
+/* Assume creat is always declared.  */
+_GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - "
+                 "use gnulib module creat for portability");
+#elif @GNULIB_MDA_CREAT@
+/* On native Windows, map 'creat' to '_creat', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::creat always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef creat
+#   define creat _creat
+#  endif
+/* Need to cast, because in mingw the last argument is 'int mode'.  */
+_GL_CXXALIAS_MDA_CAST (creat, int, (const char *filename, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode));
+# endif
+_GL_CXXALIASWARN (creat);
+#endif
+
 #if @GNULIB_FCNTL@
 # if @REPLACE_FCNTL@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #  endif
 _GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...));
 _GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...));
+#  if !GNULIB_defined_rpl_fcntl
+#   define GNULIB_defined_rpl_fcntl 1
+#  endif
 # else
 #  if !@HAVE_FCNTL@
 _GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...));
+#   if !GNULIB_defined_fcntl
+#    define GNULIB_defined_fcntl 1
+#   endif
 #  endif
 _GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...));
 # endif
@@ -114,6 +172,12 @@ _GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - "
 _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
                              _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef open
+#   define open _open
+#  endif
+_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
 # else
 _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
 # endif
@@ -127,6 +191,22 @@ _GL_CXXALIASWARN (open);
 /* Assume open is always declared.  */
 _GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
                  "use gnulib module open for portability");
+#elif @GNULIB_MDA_OPEN@
+/* On native Windows, map 'open' to '_open', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::open always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef open
+#   define open _open
+#  endif
+_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
+# else
+_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+# endif
+# if !defined __hpux
+_GL_CXXALIASWARN (open);
+# endif
 #endif
 
 #if @GNULIB_OPENAT@
@@ -186,6 +266,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
@@ -197,7 +293,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 #endif
 
 #ifndef O_CLOEXEC
-# define O_CLOEXEC 0
+# define O_CLOEXEC 0x40000000 /* Try to not collide with system O_* flags.  */
+# define GNULIB_defined_O_CLOEXEC 1
+#else
+# define GNULIB_defined_O_CLOEXEC 0
 #endif
 
 #ifndef O_DIRECT
@@ -216,6 +315,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_EXEC O_RDONLY /* This is often close enough in older systems.  */
 #endif
 
+#ifndef O_IGNORE_CTTY
+# define O_IGNORE_CTTY 0
+#endif
+
 #ifndef O_NDELAY
 # define O_NDELAY 0
 #endif
@@ -249,10 +352,18 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_NOFOLLOW 0
 #endif
 
+#ifndef O_NOLINK
+# define O_NOLINK 0
+#endif
+
 #ifndef O_NOLINKS
 # define O_NOLINKS 0
 #endif
 
+#ifndef O_NOTRANS
+# define O_NOTRANS 0
+#endif
+
 #ifndef O_RSYNC
 # define O_RSYNC 0
 #endif
@@ -269,7 +380,7 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_TTY_INIT 0
 #endif
 
-#if O_ACCMODE != (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
+#if ~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
 # undef O_ACCMODE
 # define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
 #endif
@@ -329,6 +440,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define AT_EACCESS 4
 #endif
 
+/* Ignore this flag if not supported.  */
+#ifndef AT_NO_AUTOMOUNT
+# define AT_NO_AUTOMOUNT 0
+#endif
 
 #endif /* _@GUARD_PREFIX@_FCNTL_H */
 #endif /* _@GUARD_PREFIX@_FCNTL_H */
similarity index 81%
rename from gltests/fd-hook.c
rename to gl/fd-hook.c
index 8f4ffe2..75bbe49 100644 (file)
@@ -1,19 +1,19 @@
-/* Hook for making making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+/* Hook for making file descriptor functions close(), ioctl() extensible.
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2009.
 
-   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 file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
similarity index 86%
rename from gltests/fd-hook.h
rename to gl/fd-hook.h
index 721e9ad..2150460 100644 (file)
@@ -1,18 +1,18 @@
-/* Hook for making making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+/* Hook for making file descriptor functions close(), ioctl() extensible.
+   Copyright (C) 2009-2024 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 the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
 #ifndef FD_HOOK_H
diff --git a/gl/filename.h b/gl/filename.h
new file mode 100644 (file)
index 0000000..a2400a9
--- /dev/null
@@ -0,0 +1,112 @@
+/* Basic filename support macros.
+   Copyright (C) 2001-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* From Paul Eggert and Jim Meyering.  */
+
+#ifndef _FILENAME_H
+#define _FILENAME_H
+
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Filename support.
+   ISSLASH(C)                  tests whether C is a directory separator
+                               character.
+   HAS_DEVICE(Filename)        tests whether Filename contains a device
+                               specification.
+   FILE_SYSTEM_PREFIX_LEN(Filename)  length of the device specification
+                                     at the beginning of Filename,
+                                     index of the part consisting of
+                                     alternating components and slashes.
+   FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+                               1 when a non-empty device specification
+                               can be followed by an empty or relative
+                               part,
+                               0 when a non-empty device specification
+                               must be followed by a slash,
+                               0 when device specification don't exist.
+   IS_ABSOLUTE_FILE_NAME(Filename)
+                               tests whether Filename is independent of
+                               any notion of "current directory".
+   IS_RELATIVE_FILE_NAME(Filename)
+                               tests whether Filename may be concatenated
+                               to a directory filename.
+   Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a
+   relative file name!
+   IS_FILE_NAME_WITH_DIR(Filename)  tests whether Filename contains a device
+                                    or directory specification.
+ */
+#if defined _WIN32 || defined __CYGWIN__ \
+    || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__
+  /* Native Windows, Cygwin, OS/2, DOS */
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+  /* Internal macro: Tests whether a character is a drive letter.  */
+# define _IS_DRIVE_LETTER(C) \
+    (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z'))
+  /* Help the compiler optimizing it.  This assumes ASCII.  */
+# undef _IS_DRIVE_LETTER
+# define _IS_DRIVE_LETTER(C) \
+    (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a')
+# define HAS_DEVICE(Filename) \
+    (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':')
+# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0)
+# ifdef __CYGWIN__
+#  define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
+# else
+   /* On native Windows, OS/2, DOS, the system has the notion of a
+      "current directory" on each drive.  */
+#  define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
+# endif
+# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+#  define IS_ABSOLUTE_FILE_NAME(Filename) \
+     ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)])
+# else
+#  define IS_ABSOLUTE_FILE_NAME(Filename) \
+     (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))
+# endif
+# define IS_RELATIVE_FILE_NAME(Filename) \
+    (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)))
+# define IS_FILE_NAME_WITH_DIR(Filename) \
+    (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \
+     || HAS_DEVICE (Filename))
+#else
+  /* Unix */
+# define ISSLASH(C) ((C) == '/')
+# define HAS_DEVICE(Filename) ((void) (Filename), 0)
+# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0)
+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
+# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0])
+# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0]))
+# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL)
+#endif
+
+/* Deprecated macros.  For backward compatibility with old users of the
+   'filename' module.  */
+#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME
+#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FILENAME_H */
diff --git a/gl/fstat.c b/gl/fstat.c
new file mode 100644 (file)
index 0000000..205d5aa
--- /dev/null
@@ -0,0 +1,94 @@
+/* fstat() replacement.
+   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
+   rpl_fstat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of fstat.  It might be defined as a macro.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WINDOWS_NATIVE
+#endif
+
+#if !defined WINDOWS_NATIVE
+
+static int
+orig_fstat (int fd, struct stat *buf)
+{
+  return fstat (fd, buf);
+}
+
+#endif
+
+/* Specification.  */
+#ifdef __osf__
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
+#else
+# include <sys/stat.h>
+#endif
+
+#include "stat-time.h"
+
+#include <errno.h>
+#include <unistd.h>
+#ifdef WINDOWS_NATIVE
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# if GNULIB_MSVC_NOTHROW
+#  include "msvc-nothrow.h"
+# else
+#  include <io.h>
+# endif
+# include "stat-w32.h"
+#endif
+
+int
+rpl_fstat (int fd, struct stat *buf)
+{
+#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY
+  /* Handle the case when rpl_open() used a dummy file descriptor to work
+     around an open() that can't normally visit directories.  */
+  const char *name = _gl_directory_name (fd);
+  if (name != NULL)
+    return stat (name, buf);
+#endif
+
+#ifdef WINDOWS_NATIVE
+  /* Fill the fields ourselves, because the original fstat function returns
+     values for st_atime, st_mtime, st_ctime that depend on the current time
+     zone.  See
+     <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00134.html>  */
+  HANDLE h = (HANDLE) _get_osfhandle (fd);
+
+  if (h == INVALID_HANDLE_VALUE)
+    {
+      errno = EBADF;
+      return -1;
+    }
+  return _gl_fstat_by_handle (h, NULL, buf);
+#else
+  return stat_time_normalize (orig_fstat (fd, buf), buf);
+#endif
+}
diff --git a/gl/getdelim.c b/gl/getdelim.c
new file mode 100644 (file)
index 0000000..58063b1
--- /dev/null
@@ -0,0 +1,143 @@
+/* getdelim.c --- Implementation of replacement getdelim function.
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2024 Free Software
+   Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Ported from glibc by Simon Josefsson. */
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
+   optimizes away the lineptr == NULL || n == NULL || fp == NULL tests below.  */
+#define _GL_ARG_NONNULL(params)
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#if USE_UNLOCKED_IO
+# include "unlocked-io.h"
+# define getc_maybe_unlocked(fp)        getc(fp)
+#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED
+# undef flockfile
+# undef funlockfile
+# define flockfile(x) ((void) 0)
+# define funlockfile(x) ((void) 0)
+# define getc_maybe_unlocked(fp)        getc(fp)
+#else
+# define getc_maybe_unlocked(fp)        getc_unlocked(fp)
+#endif
+
+static void
+alloc_failed (void)
+{
+#if defined _WIN32 && ! defined __CYGWIN__
+  /* Avoid errno problem without using the realloc module; see:
+     https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html  */
+  errno = ENOMEM;
+#endif
+}
+
+/* Read up to (and including) a DELIMITER from FP into *LINEPTR (and
+   NUL-terminate it).  *LINEPTR is a pointer returned from malloc (or
+   NULL), pointing to *N characters of space.  It is realloc'ed as
+   necessary.  Returns the number of characters read (not including
+   the null terminator), or -1 on error or EOF.  */
+
+ssize_t
+getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
+{
+  ssize_t result;
+  size_t cur_len = 0;
+
+  if (lineptr == NULL || n == NULL || fp == NULL)
+    {
+      errno = EINVAL;
+      return -1;
+    }
+
+  flockfile (fp);
+
+  if (*lineptr == NULL || *n == 0)
+    {
+      char *new_lineptr;
+      *n = 120;
+      new_lineptr = (char *) realloc (*lineptr, *n);
+      if (new_lineptr == NULL)
+        {
+          alloc_failed ();
+          result = -1;
+          goto unlock_return;
+        }
+      *lineptr = new_lineptr;
+    }
+
+  for (;;)
+    {
+      int i;
+
+      i = getc_maybe_unlocked (fp);
+      if (i == EOF)
+        {
+          result = -1;
+          break;
+        }
+
+      /* Make enough space for len+1 (for final NUL) bytes.  */
+      if (cur_len + 1 >= *n)
+        {
+          size_t needed_max =
+            SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
+          size_t needed = 2 * *n + 1;   /* Be generous. */
+          char *new_lineptr;
+
+          if (needed_max < needed)
+            needed = needed_max;
+          if (cur_len + 1 >= needed)
+            {
+              result = -1;
+              errno = EOVERFLOW;
+              goto unlock_return;
+            }
+
+          new_lineptr = (char *) realloc (*lineptr, needed);
+          if (new_lineptr == NULL)
+            {
+              alloc_failed ();
+              result = -1;
+              goto unlock_return;
+            }
+
+          *lineptr = new_lineptr;
+          *n = needed;
+        }
+
+      (*lineptr)[cur_len] = i;
+      cur_len++;
+
+      if (i == delimiter)
+        break;
+    }
+  (*lineptr)[cur_len] = '\0';
+  result = cur_len ? cur_len : result;
+
+ unlock_return:
+  funlockfile (fp); /* doesn't set errno */
+
+  return result;
+}
diff --git a/gl/getdtablesize.c b/gl/getdtablesize.c
new file mode 100644 (file)
index 0000000..762c100
--- /dev/null
@@ -0,0 +1,124 @@
+/* getdtablesize() function: Return maximum possible file descriptor value + 1.
+   Copyright (C) 2008-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2008.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#if defined _WIN32 && ! defined __CYGWIN__
+
+# include <stdio.h>
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+#  include "msvc-inval.h"
+# endif
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+_setmaxstdio_nothrow (int newmax)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = _setmaxstdio (newmax);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = -1;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# else
+#  define _setmaxstdio_nothrow _setmaxstdio
+# endif
+
+/* Cache for the previous getdtablesize () result.  Safe to cache because
+   Windows also lacks setrlimit.  */
+static int dtablesize;
+
+int
+getdtablesize (void)
+{
+  if (dtablesize == 0)
+    {
+      /* We are looking for the number N such that the valid file descriptors
+         are 0..N-1.  It can be obtained through a loop as follows:
+           {
+             int fd;
+             for (fd = 3; fd < 65536; fd++)
+               if (dup2 (0, fd) == -1)
+                 break;
+             return fd;
+           }
+         On Windows XP, the result is 2048.
+         The drawback of this loop is that it allocates memory for a libc
+         internal array that is never freed.
+
+         The number N can also be obtained as the upper bound for
+         _getmaxstdio ().  _getmaxstdio () returns the maximum number of open
+         FILE objects.  The sanity check in _setmaxstdio reveals the maximum
+         number of file descriptors.  This too allocates memory, but it is
+         freed when we call _setmaxstdio with the original value.  */
+      int orig_max_stdio = _getmaxstdio ();
+      unsigned int bound;
+      for (bound = 0x10000; _setmaxstdio_nothrow (bound) < 0; bound = bound / 2)
+        ;
+      _setmaxstdio_nothrow (orig_max_stdio);
+      dtablesize = bound;
+    }
+  return dtablesize;
+}
+
+#else
+
+# include <limits.h>
+# include <sys/resource.h>
+
+# ifndef RLIM_SAVED_CUR
+#  define RLIM_SAVED_CUR RLIM_INFINITY
+# endif
+# ifndef RLIM_SAVED_MAX
+#  define RLIM_SAVED_MAX RLIM_INFINITY
+# endif
+
+# ifdef __CYGWIN__
+  /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it
+     hits the compile-time constant hard limit of 3200.  We might as
+     well just report the hard limit.  */
+#  define rlim_cur rlim_max
+# endif
+
+int
+getdtablesize (void)
+{
+  struct rlimit lim;
+
+  if (getrlimit (RLIMIT_NOFILE, &lim) == 0
+      && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX
+      && lim.rlim_cur != RLIM_INFINITY
+      && lim.rlim_cur != RLIM_SAVED_CUR
+      && lim.rlim_cur != RLIM_SAVED_MAX)
+    return lim.rlim_cur;
+
+  return INT_MAX;
+}
+
+#endif
diff --git a/gl/getline.c b/gl/getline.c
new file mode 100644 (file)
index 0000000..2d03b64
--- /dev/null
@@ -0,0 +1,27 @@
+/* getline.c --- Implementation of replacement getline function.
+   Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Simon Josefsson. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+ssize_t
+getline (char **lineptr, size_t *n, FILE *stream)
+{
+  return getdelim (lineptr, n, '\n', stream);
+}
diff --git a/gl/getopt-cdefs.in.h b/gl/getopt-cdefs.in.h
new file mode 100644 (file)
index 0000000..a1d304d
--- /dev/null
@@ -0,0 +1,70 @@
+/* getopt-on-non-glibc compatibility macros.
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CDEFS_H
+#define _GETOPT_CDEFS_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  It does not have a protective #error, because
+   the guard macro for getopt.h in gnulib is not fixed.  */
+
+/* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect
+   a number of the internal macros supplied to GNU libc's headers by
+   sys/cdefs.h.  Provide fallback definitions for all of them.  */
+#if @HAVE_SYS_CDEFS_H@
+# include <sys/cdefs.h>
+#endif
+
+#ifndef __BEGIN_DECLS
+# ifdef __cplusplus
+#  define __BEGIN_DECLS extern "C" {
+# else
+#  define __BEGIN_DECLS /* nothing */
+# endif
+#endif
+#ifndef __END_DECLS
+# ifdef __cplusplus
+#  define __END_DECLS }
+# else
+#  define __END_DECLS /* nothing */
+# endif
+#endif
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_VERSION__
+# define __GNUC_PREREQ(maj, min) \
+        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __THROW
+# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4)
+#  if __cplusplus >= 201103L
+#   define __THROW      noexcept (true)
+#  else
+#   define __THROW      throw ()
+#  endif
+# else
+#  define __THROW
+# endif
+#endif
+
+#endif /* _GETOPT_CDEFS_H */
diff --git a/gl/getopt-core.h b/gl/getopt-core.h
new file mode 100644 (file)
index 0000000..12d09a2
--- /dev/null
@@ -0,0 +1,96 @@
+/* Declarations for getopt (basic, portable features only).
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CORE_H
+#define _GETOPT_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  Unlike most bits headers, it does not have
+   a protective #error, because the guard macro for getopt.h in
+   gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when 'ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to 'getopt'.
+
+   On entry to 'getopt', zero means this is the first call; initialize.
+
+   When 'getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, 'optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message 'getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, 'optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in 'optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU 'getopt'.
+
+   The argument '--' causes premature termination of argument
+   scanning, explicitly telling 'getopt' that there are no more
+   options.
+
+   If OPTS begins with '-', then non-option arguments are treated as
+   arguments to the option '\1'.  This behavior is specific to the GNU
+   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
+   the environment, then do not permute arguments.
+
+   For standards compliance, the 'argv' argument has the type
+   char *const *, but this is inaccurate; if argument permutation is
+   enabled, the argv array (not the strings it points to) must be
+   writable.  */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_CORE_H */
diff --git a/gl/getopt-ext.h b/gl/getopt-ext.h
new file mode 100644 (file)
index 0000000..e4b499d
--- /dev/null
@@ -0,0 +1,77 @@
+/* Declarations for getopt (GNU extensions).
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_EXT_H
+#define _GETOPT_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   Unlike most bits headers, it does not have a protective #error,
+   because the guard macro for getopt.h in gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of 'struct option' terminated by an element containing a name which is
+   zero.
+
+   The field 'has_arg' is:
+   no_argument         (or 0) if the option does not take an argument,
+   required_argument   (or 1) if the option requires an argument,
+   optional_argument   (or 2) if the option takes an optional argument.
+
+   If the field 'flag' is not NULL, it points to a variable that is set
+   to the value given in the field 'val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an 'int' to
+   a compiled-in constant, such as set a value from 'optarg', set the
+   option's 'flag' field to zero and its 'val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero 'flag' field, 'getopt'
+   returns the contents of the 'val' field.  */
+
+struct option
+{
+  const char *name;
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the 'has_arg' field of 'struct option'.  */
+
+#define no_argument            0
+#define required_argument      1
+#define optional_argument      2
+
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
+                       const char *__shortopts,
+                       const struct option *__longopts, int *__longind)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_EXT_H */
diff --git a/gl/getopt-pfx-core.h b/gl/getopt-pfx-core.h
new file mode 100644 (file)
index 0000000..78b7816
--- /dev/null
@@ -0,0 +1,66 @@
+/* getopt (basic, portable features) gnulib wrapper header.
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_CORE_H
+#define _GETOPT_PFX_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  It does not have a protective #error, because
+   the guard macro for getopt.h in gnulib is not fixed.  */
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in getopt-core.h and getopt-ext.h.  Systematically
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt
+# undef optarg
+# undef opterr
+# undef optind
+# undef optopt
+# define getopt __GETOPT_ID (getopt)
+# define optarg __GETOPT_ID (optarg)
+# define opterr __GETOPT_ID (opterr)
+# define optind __GETOPT_ID (optind)
+# define optopt __GETOPT_ID (optopt)
+
+/* Work around a problem on macOS, which declares getopt with a
+   trailing __DARWIN_ALIAS(getopt) that would expand to something like
+   __asm("_" "rpl_getopt" "$UNIX2003") were it not for the following
+   hack to suppress the macOS declaration <https://bugs.gnu.org/40205>.  */
+# ifdef __APPLE__
+#  define _GETOPT
+# endif
+
+/* The system's getopt.h may have already included getopt-core.h to
+   declare the unprefixed identifiers.  Undef _GETOPT_CORE_H so that
+   getopt-core.h declares them with prefixes.  */
+# undef _GETOPT_CORE_H
+#endif
+
+#include <getopt-core.h>
+
+#endif /* _GETOPT_PFX_CORE_H */
diff --git a/gl/getopt-pfx-ext.h b/gl/getopt-pfx-ext.h
new file mode 100644 (file)
index 0000000..f001c11
--- /dev/null
@@ -0,0 +1,70 @@
+/* getopt (GNU extensions) gnulib wrapper header.
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_EXT_H
+#define _GETOPT_PFX_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   It does not have a protective #error, because the guard macro for
+   getopt.h in gnulib is not fixed.  */
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in getopt-core.h and getopt-ext.h.  Systematically
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt_long
+# undef getopt_long_only
+# undef option
+# undef _getopt_internal
+# define getopt_long __GETOPT_ID (getopt_long)
+# define getopt_long_only __GETOPT_ID (getopt_long_only)
+# define option __GETOPT_ID (option)
+# define _getopt_internal __GETOPT_ID (getopt_internal)
+
+/* The system's getopt.h may have already included getopt-ext.h to
+   declare the unprefixed identifiers.  Undef _GETOPT_EXT_H so that
+   getopt-ext.h declares them with prefixes.  */
+# undef _GETOPT_EXT_H
+#endif
+
+/* Standalone applications get correct prototypes for getopt_long and
+   getopt_long_only; they declare "char **argv".  For backward
+   compatibility with old applications, if __GETOPT_PREFIX is not
+   defined, we supply GNU-libc-compatible, but incorrect, prototypes
+   using "char *const *argv".  (GNU libc is stuck with the incorrect
+   prototypes, as they are baked into older versions of LSB.)  */
+#ifndef __getopt_argv_const
+# if defined __GETOPT_PREFIX
+#  define __getopt_argv_const /* empty */
+# else
+#  define __getopt_argv_const const
+# endif
+#endif
+
+#include <getopt-ext.h>
+
+#endif /* _GETOPT_PFX_EXT_H */
index 4342a34..9283063 100644 (file)
@@ -1,29 +1,27 @@
 /* Getopt for GNU.
-   NOTE: getopt is part of the C library, so if you don't know what
-   "Keep this file name-space clean" means, talk to drepper@gnu.org
-   before changing it!
-   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2012 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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,
+   Copyright (C) 1987-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 \f
 #ifndef _LIBC
 # include <config.h>
 #endif
 
-#include "getopt.h"
+#include <getopt.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 
 #ifdef _LIBC
+/* When used as part of glibc, error printing must be done differently
+   for standards compliance.  getopt is not a cancellation point, so
+   it must not call functions that are, and it is specified by an
+   older standard than stdio locking, so it must not refer to
+   functions in the "user namespace" related to stdio locking.
+   Finally, it must use glibc's internal message translation so that
+   the messages are looked up in the proper text domain.  */
 # include <libintl.h>
+# define fprintf __fxprintf_nocancel
+# define flockfile(fp) _IO_flockfile (fp)
+# define funlockfile(fp) _IO_funlockfile (fp)
 #else
 # include "gettext.h"
 # define _(msgid) gettext (msgid)
+/* When used standalone, flockfile and funlockfile might not be
+   available.  */
+# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \
+      || (defined _WIN32 && ! defined __CYGWIN__))
+#  define flockfile(fp) /* nop */
+#  define funlockfile(fp) /* nop */
+# endif
+/* When used standalone, do not attempt to use alloca.  */
+# define __libc_use_alloca(size) 0
+# undef alloca
+# define alloca(size) (abort (), (void *)0)
 #endif
 
-#if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-/* This version of 'getopt' appears to the caller like standard Unix 'getopt'
-   but it behaves differently for the user, since it allows the user
-   to intersperse the options with the other arguments.
-
-   As 'getopt_long' works, it permutes the elements of ARGV so that,
-   when it is done, all the options precede everything else.  Thus
-   all application programs are extended to handle flexible argument order.
-
-   Using 'getopt' or setting the environment variable POSIXLY_CORRECT
+/* This implementation of 'getopt' has three modes for handling
+   options interspersed with non-option arguments.  It can stop
+   scanning for options at the first non-option argument encountered,
+   as POSIX specifies.  It can continue scanning for options after the
+   first non-option argument, but permute 'argv' as it goes so that,
+   after 'getopt' is done, all the options precede all the non-option
+   arguments and 'optind' points to the first non-option argument.
+   Or, it can report non-option arguments as if they were arguments to
+   the option character '\x01'.
+
+   The default behavior of 'getopt_long' is to permute the argument list.
+   When this implementation is used standalone, the default behavior of
+   'getopt' is to stop at the first non-option argument, but when it is
+   used as part of GNU libc it also permutes the argument list.  In both
+   cases, setting the environment variable POSIXLY_CORRECT to any value
    disables permutation.
-   Then the behavior is completely standard.
 
-   GNU application programs can use a third alternative mode in which
-   they can distinguish the relative order of options and other arguments.  */
+   If the first character of the OPTSTRING argument to 'getopt' or
+   'getopt_long' is '+', both functions will stop at the first
+   non-option argument.  If it is '-', both functions will report
+   non-option arguments as arguments to the option character '\x01'.  */
 
 #include "getopt_int.h"
 
@@ -95,42 +117,7 @@ int optopt = '?';
 /* Keep a global copy of all internal members of getopt_data.  */
 
 static struct _getopt_data getopt_data;
-
-\f
-#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV
-extern char *getenv ();
-#endif
 \f
-#ifdef _LIBC
-/* Stored original parameters.
-   XXX This is no good solution.  We should rather copy the args so
-   that we can compare them later.  But we must not use malloc(3).  */
-extern int __libc_argc;
-extern char **__libc_argv;
-
-/* Bash 2.0 gives us an environment variable containing flags
-   indicating ARGV elements that should not be considered arguments.  */
-
-# ifdef USE_NONOPTION_FLAGS
-/* Defined in getopt_init.c  */
-extern char *__getopt_nonoption_flags;
-# endif
-
-# ifdef USE_NONOPTION_FLAGS
-#  define SWAP_FLAGS(ch1, ch2) \
-  if (d->__nonoption_flags_len > 0)                                           \
-    {                                                                         \
-      char __tmp = __getopt_nonoption_flags[ch1];                             \
-      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];          \
-      __getopt_nonoption_flags[ch2] = __tmp;                                  \
-    }
-# else
-#  define SWAP_FLAGS(ch1, ch2)
-# endif
-#else   /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif  /* _LIBC */
-
 /* Exchange two adjacent subsequences of ARGV.
    One subsequence is elements [first_nonopt,last_nonopt)
    which contains all the non-options that have been skipped so far.
@@ -153,64 +140,40 @@ exchange (char **argv, struct _getopt_data *d)
      It leaves the longer segment in the right place overall,
      but it consists of two parts that need to be swapped next.  */
 
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  /* First make sure the handling of the '__getopt_nonoption_flags'
-     string can work normally.  Our top argument must be in the range
-     of the string.  */
-  if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
-    {
-      /* We must extend the array.  The user plays games with us and
-         presents new arguments.  */
-      char *new_str = malloc (top + 1);
-      if (new_str == NULL)
-        d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
-      else
-        {
-          memset (__mempcpy (new_str, __getopt_nonoption_flags,
-                             d->__nonoption_flags_max_len),
-                  '\0', top + 1 - d->__nonoption_flags_max_len);
-          d->__nonoption_flags_max_len = top + 1;
-          __getopt_nonoption_flags = new_str;
-        }
-    }
-#endif
-
   while (top > middle && middle > bottom)
     {
       if (top - middle > middle - bottom)
-        {
-          /* Bottom segment is the short one.  */
-          int len = middle - bottom;
-          register int i;
-
-          /* Swap it with the top part of the top segment.  */
-          for (i = 0; i < len; i++)
-            {
-              tem = argv[bottom + i];
-              argv[bottom + i] = argv[top - (middle - bottom) + i];
-              argv[top - (middle - bottom) + i] = tem;
-              SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
-            }
-          /* Exclude the moved bottom segment from further swapping.  */
-          top -= len;
-        }
+       {
+         /* Bottom segment is the short one.  */
+         int len = middle - bottom;
+         int i;
+
+         /* Swap it with the top part of the top segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[top - (middle - bottom) + i];
+             argv[top - (middle - bottom) + i] = tem;
+           }
+         /* Exclude the moved bottom segment from further swapping.  */
+         top -= len;
+       }
       else
-        {
-          /* Top segment is the short one.  */
-          int len = top - middle;
-          register int i;
-
-          /* Swap it with the bottom part of the bottom segment.  */
-          for (i = 0; i < len; i++)
-            {
-              tem = argv[bottom + i];
-              argv[bottom + i] = argv[middle + i];
-              argv[middle + i] = tem;
-              SWAP_FLAGS (bottom + i, middle + i);
-            }
-          /* Exclude the moved top segment from further swapping.  */
-          bottom += len;
-        }
+       {
+         /* Top segment is the short one.  */
+         int len = top - middle;
+         int i;
+
+         /* Swap it with the bottom part of the bottom segment.  */
+         for (i = 0; i < len; i++)
+           {
+             tem = argv[bottom + i];
+             argv[bottom + i] = argv[middle + i];
+             argv[middle + i] = tem;
+           }
+         /* Exclude the moved top segment from further swapping.  */
+         bottom += len;
+       }
     }
 
   /* Update records for the slots the non-options now occupy.  */
@@ -219,25 +182,219 @@ exchange (char **argv, struct _getopt_data *d)
   d->__last_nonopt = d->optind;
 }
 
-/* Initialize the internal data when the first call is made.  */
+/* Process the argument starting with d->__nextchar as a long option.
+   d->optind should *not* have been advanced over this argument.
+
+   If the value returned is -1, it was not actually a long option, the
+   state is unchanged, and the argument should be processed as a set
+   of short options (this can only happen when long_only is true).
+   Otherwise, the option (and its argument, if any) have been consumed
+   and the return value is the value to return from _getopt_internal_r.  */
+static int
+process_long_option (int argc, char **argv, const char *optstring,
+                    const struct option *longopts, int *longind,
+                    int long_only, struct _getopt_data *d,
+                    int print_errors, const char *prefix)
+{
+  char *nameend;
+  size_t namelen;
+  const struct option *p;
+  const struct option *pfound = NULL;
+  int n_options;
+  int option_index;
+
+  for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
+    /* Do nothing.  */ ;
+  namelen = nameend - d->__nextchar;
+
+  /* First look for an exact match, counting the options as a side
+     effect.  */
+  for (p = longopts, n_options = 0; p->name; p++, n_options++)
+    if (!strncmp (p->name, d->__nextchar, namelen)
+       && namelen == strlen (p->name))
+      {
+       /* Exact match found.  */
+       pfound = p;
+       option_index = n_options;
+       break;
+      }
+
+  if (pfound == NULL)
+    {
+      /* Didn't find an exact match, so look for abbreviations.  */
+      unsigned char *ambig_set = NULL;
+      /* Use simpler fallback diagnostic if ambig_set == &ambig_fallback.  */
+      unsigned char ambig_fallback;
+      void *ambig_malloced = NULL;
+      int indfound = -1;
+
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+       if (!strncmp (p->name, d->__nextchar, namelen))
+         {
+           if (pfound == NULL)
+             {
+               /* First nonexact match found.  */
+               pfound = p;
+               indfound = option_index;
+             }
+           else if (long_only
+                    || pfound->has_arg != p->has_arg
+                    || pfound->flag != p->flag
+                    || pfound->val != p->val)
+             {
+               /* Second or later nonexact match found.  */
+               if (ambig_set != &ambig_fallback)
+                 {
+                   if (!print_errors)
+                     /* Don't waste effort tracking the ambig set if
+                        we're not going to print it anyway.  */
+                     ambig_set = &ambig_fallback;
+                   else if (!ambig_set)
+                     {
+                       if (__libc_use_alloca (n_options))
+                         ambig_set = alloca (n_options);
+                       else
+                         {
+                           ambig_malloced = malloc (n_options);
+                           /* Fall back to simpler diagnostic if
+                              memory allocation fails.  */
+                           ambig_set = (ambig_malloced ? ambig_malloced
+                                        : &ambig_fallback);
+                         }
+
+                       if (ambig_set != &ambig_fallback)
+                         {
+                           memset (ambig_set, 0, n_options);
+                           ambig_set[indfound] = 1;
+                         }
+                     }
+                   if (ambig_set)
+                     ambig_set[option_index] = 1;
+                 }
+             }
+         }
+
+      if (ambig_set)
+       {
+         if (print_errors)
+           {
+             if (ambig_set == &ambig_fallback)
+               fprintf (stderr, _("%s: option '%s%s' is ambiguous\n"),
+                        argv[0], prefix, d->__nextchar);
+             else
+               {
+                 flockfile (stderr);
+                 fprintf (stderr,
+                          _("%s: option '%s%s' is ambiguous; possibilities:"),
+                          argv[0], prefix, d->__nextchar);
+
+                 for (option_index = 0; option_index < n_options; option_index++)
+                   if (ambig_set[option_index])
+                     fprintf (stderr, " '%s%s'",
+                              prefix, longopts[option_index].name);
+
+                 /* This must use 'fprintf' even though it's only
+                    printing a single character, so that it goes through
+                    __fxprintf_nocancel when compiled as part of glibc.  */
+                 fprintf (stderr, "\n");
+                 funlockfile (stderr);
+               }
+           }
+         free (ambig_malloced);
+         d->__nextchar += strlen (d->__nextchar);
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+
+      option_index = indfound;
+    }
+
+  if (pfound == NULL)
+    {
+      /* Can't find it as a long option.  If this is not getopt_long_only,
+        or the option starts with '--' or is not a valid short option,
+        then it's an error.  */
+      if (!long_only || argv[d->optind][1] == '-'
+         || strchr (optstring, *d->__nextchar) == NULL)
+       {
+         if (print_errors)
+           fprintf (stderr, _("%s: unrecognized option '%s%s'\n"),
+                    argv[0], prefix, d->__nextchar);
+
+         d->__nextchar = NULL;
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+
+      /* Otherwise interpret it as a short option.  */
+      return -1;
+    }
+
+  /* We have found a matching long option.  Consume it.  */
+  d->optind++;
+  d->__nextchar = NULL;
+  if (*nameend)
+    {
+      /* Don't test has_arg with >, because some C compilers don't
+        allow it to be used on enums.  */
+      if (pfound->has_arg)
+       d->optarg = nameend + 1;
+      else
+       {
+         if (print_errors)
+           fprintf (stderr,
+                    _("%s: option '%s%s' doesn't allow an argument\n"),
+                    argv[0], prefix, pfound->name);
+
+         d->optopt = pfound->val;
+         return '?';
+       }
+    }
+  else if (pfound->has_arg == 1)
+    {
+      if (d->optind < argc)
+       d->optarg = argv[d->optind++];
+      else
+       {
+         if (print_errors)
+           fprintf (stderr,
+                    _("%s: option '%s%s' requires an argument\n"),
+                    argv[0], prefix, pfound->name);
+
+         d->optopt = pfound->val;
+         return optstring[0] == ':' ? ':' : '?';
+       }
+    }
+
+  if (longind != NULL)
+    *longind = option_index;
+  if (pfound->flag)
+    {
+      *(pfound->flag) = pfound->val;
+      return 0;
+    }
+  return pfound->val;
+}
+
+/* Initialize internal data upon the first call to getopt.  */
 
 static const char *
-_getopt_initialize (int argc _GL_UNUSED,
-                    char **argv _GL_UNUSED, const char *optstring,
-                    struct _getopt_data *d, int posixly_correct)
+_getopt_initialize (_GL_UNUSED int argc,
+                   _GL_UNUSED char **argv, const char *optstring,
+                   struct _getopt_data *d, int posixly_correct)
 {
   /* Start processing options with ARGV-element 1 (since ARGV-element 0
      is the program name); the sequence of previously skipped
      non-option ARGV-elements is empty.  */
+  if (d->optind == 0)
+    d->optind = 1;
 
   d->__first_nonopt = d->__last_nonopt = d->optind;
-
   d->__nextchar = NULL;
 
-  d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT");
-
   /* Determine how to handle the ordering of options and nonoptions.  */
-
   if (optstring[0] == '-')
     {
       d->__ordering = RETURN_IN_ORDER;
@@ -248,41 +405,12 @@ _getopt_initialize (int argc _GL_UNUSED,
       d->__ordering = REQUIRE_ORDER;
       ++optstring;
     }
-  else if (d->__posixly_correct)
+  else if (posixly_correct || !!getenv ("POSIXLY_CORRECT"))
     d->__ordering = REQUIRE_ORDER;
   else
     d->__ordering = PERMUTE;
 
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  if (!d->__posixly_correct
-      && argc == __libc_argc && argv == __libc_argv)
-    {
-      if (d->__nonoption_flags_max_len == 0)
-        {
-          if (__getopt_nonoption_flags == NULL
-              || __getopt_nonoption_flags[0] == '\0')
-            d->__nonoption_flags_max_len = -1;
-          else
-            {
-              const char *orig_str = __getopt_nonoption_flags;
-              int len = d->__nonoption_flags_max_len = strlen (orig_str);
-              if (d->__nonoption_flags_max_len < argc)
-                d->__nonoption_flags_max_len = argc;
-              __getopt_nonoption_flags =
-                (char *) malloc (d->__nonoption_flags_max_len);
-              if (__getopt_nonoption_flags == NULL)
-                d->__nonoption_flags_max_len = -1;
-              else
-                memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
-                        '\0', d->__nonoption_flags_max_len - len);
-            }
-        }
-      d->__nonoption_flags_len = d->__nonoption_flags_max_len;
-    }
-  else
-    d->__nonoption_flags_len = 0;
-#endif
-
+  d->__initialized = 1;
   return optstring;
 }
 \f
@@ -344,8 +472,8 @@ _getopt_initialize (int argc _GL_UNUSED,
 
 int
 _getopt_internal_r (int argc, char **argv, const char *optstring,
-                    const struct option *longopts, int *longind,
-                    int long_only, struct _getopt_data *d, int posixly_correct)
+                   const struct option *longopts, int *longind,
+                   int long_only, struct _getopt_data *d, int posixly_correct)
 {
   int print_errors = d->opterr;
 
@@ -355,431 +483,129 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
   d->optarg = NULL;
 
   if (d->optind == 0 || !d->__initialized)
-    {
-      if (d->optind == 0)
-        d->optind = 1;  /* Don't scan ARGV[0], the program name.  */
-      optstring = _getopt_initialize (argc, argv, optstring, d,
-                                      posixly_correct);
-      d->__initialized = 1;
-    }
+    optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct);
   else if (optstring[0] == '-' || optstring[0] == '+')
     optstring++;
+
   if (optstring[0] == ':')
     print_errors = 0;
 
-  /* Test whether ARGV[optind] points to a non-option argument.
-     Either it does not have option syntax, or there is an environment flag
-     from the shell indicating it is not an option.  The later information
-     is only used when the used in the GNU libc.  */
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
-                      || (d->optind < d->__nonoption_flags_len                \
-                          && __getopt_nonoption_flags[d->optind] == '1'))
-#else
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
-#endif
+  /* Test whether ARGV[optind] points to a non-option argument.  */
+#define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
 
   if (d->__nextchar == NULL || *d->__nextchar == '\0')
     {
       /* Advance to the next ARGV-element.  */
 
       /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
-         moved back by the user (who may also have changed the arguments).  */
+        moved back by the user (who may also have changed the arguments).  */
       if (d->__last_nonopt > d->optind)
-        d->__last_nonopt = d->optind;
+       d->__last_nonopt = d->optind;
       if (d->__first_nonopt > d->optind)
-        d->__first_nonopt = d->optind;
+       d->__first_nonopt = d->optind;
 
       if (d->__ordering == PERMUTE)
-        {
-          /* If we have just processed some options following some non-options,
-             exchange them so that the options come first.  */
+       {
+         /* If we have just processed some options following some non-options,
+            exchange them so that the options come first.  */
 
-          if (d->__first_nonopt != d->__last_nonopt
-              && d->__last_nonopt != d->optind)
-            exchange ((char **) argv, d);
-          else if (d->__last_nonopt != d->optind)
-            d->__first_nonopt = d->optind;
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange (argv, d);
+         else if (d->__last_nonopt != d->optind)
+           d->__first_nonopt = d->optind;
 
-          /* Skip any additional non-options
-             and extend the range of non-options previously skipped.  */
+         /* Skip any additional non-options
+            and extend the range of non-options previously skipped.  */
 
-          while (d->optind < argc && NONOPTION_P)
-            d->optind++;
-          d->__last_nonopt = d->optind;
-        }
+         while (d->optind < argc && NONOPTION_P)
+           d->optind++;
+         d->__last_nonopt = d->optind;
+       }
 
       /* The special ARGV-element '--' means premature end of options.
-         Skip it like a null option,
-         then exchange with previous non-options as if it were an option,
-         then skip everything else like a non-option.  */
+        Skip it like a null option,
+        then exchange with previous non-options as if it were an option,
+        then skip everything else like a non-option.  */
 
       if (d->optind != argc && !strcmp (argv[d->optind], "--"))
-        {
-          d->optind++;
+       {
+         d->optind++;
 
-          if (d->__first_nonopt != d->__last_nonopt
-              && d->__last_nonopt != d->optind)
-            exchange ((char **) argv, d);
-          else if (d->__first_nonopt == d->__last_nonopt)
-            d->__first_nonopt = d->optind;
-          d->__last_nonopt = argc;
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange (argv, d);
+         else if (d->__first_nonopt == d->__last_nonopt)
+           d->__first_nonopt = d->optind;
+         d->__last_nonopt = argc;
 
-          d->optind = argc;
-        }
+         d->optind = argc;
+       }
 
       /* If we have done all the ARGV-elements, stop the scan
-         and back over any non-options that we skipped and permuted.  */
+        and back over any non-options that we skipped and permuted.  */
 
       if (d->optind == argc)
-        {
-          /* Set the next-arg-index to point at the non-options
-             that we previously skipped, so the caller will digest them.  */
-          if (d->__first_nonopt != d->__last_nonopt)
-            d->optind = d->__first_nonopt;
-          return -1;
-        }
+       {
+         /* Set the next-arg-index to point at the non-options
+            that we previously skipped, so the caller will digest them.  */
+         if (d->__first_nonopt != d->__last_nonopt)
+           d->optind = d->__first_nonopt;
+         return -1;
+       }
 
       /* If we have come to a non-option and did not permute it,
-         either stop the scan or describe it to the caller and pass it by.  */
+        either stop the scan or describe it to the caller and pass it by.  */
 
       if (NONOPTION_P)
-        {
-          if (d->__ordering == REQUIRE_ORDER)
-            return -1;
-          d->optarg = argv[d->optind++];
-          return 1;
-        }
+       {
+         if (d->__ordering == REQUIRE_ORDER)
+           return -1;
+         d->optarg = argv[d->optind++];
+         return 1;
+       }
 
       /* We have found another option-ARGV-element.
-         Skip the initial punctuation.  */
-
-      d->__nextchar = (argv[d->optind] + 1
-                  + (longopts != NULL && argv[d->optind][1] == '-'));
-    }
-
-  /* Decode the current option-ARGV-element.  */
-
-  /* Check whether the ARGV-element is a long option.
-
-     If long_only and the ARGV-element has the form "-f", where f is
-     a valid short option, don't consider it an abbreviated form of
-     a long option that starts with f.  Otherwise there would be no
-     way to give the -f short option.
-
-     On the other hand, if there's a long option "fubar" and
-     the ARGV-element is "-fu", do consider that an abbreviation of
-     the long option, just like "--fu", and not "-f" with arg "u".
-
-     This distinction seems to be the most useful approach.  */
-
-  if (longopts != NULL
-      && (argv[d->optind][1] == '-'
-          || (long_only && (argv[d->optind][2]
-                            || !strchr (optstring, argv[d->optind][1])))))
-    {
-      char *nameend;
-      unsigned int namelen;
-      const struct option *p;
-      const struct option *pfound = NULL;
-      struct option_list
-      {
-        const struct option *p;
-        struct option_list *next;
-      } *ambig_list = NULL;
-      int exact = 0;
-      int indfound = -1;
-      int option_index;
-
-      for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
-        /* Do nothing.  */ ;
-      namelen = nameend - d->__nextchar;
-
-      /* Test all long options for either exact match
-         or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
-        if (!strncmp (p->name, d->__nextchar, namelen))
-          {
-            if (namelen == (unsigned int) strlen (p->name))
-              {
-                /* Exact match found.  */
-                pfound = p;
-                indfound = option_index;
-                exact = 1;
-                break;
-              }
-            else if (pfound == NULL)
-              {
-                /* First nonexact match found.  */
-                pfound = p;
-                indfound = option_index;
-              }
-            else if (long_only
-                     || pfound->has_arg != p->has_arg
-                     || pfound->flag != p->flag
-                     || pfound->val != p->val)
-              {
-                /* Second or later nonexact match found.  */
-                struct option_list *newp = malloc (sizeof (*newp));
-                newp->p = p;
-                newp->next = ambig_list;
-                ambig_list = newp;
-              }
-          }
-
-      if (ambig_list != NULL && !exact)
-        {
-          if (print_errors)
-            {
-              struct option_list first;
-              first.p = pfound;
-              first.next = ambig_list;
-              ambig_list = &first;
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf = NULL;
-              size_t buflen = 0;
-
-              FILE *fp = open_memstream (&buf, &buflen);
-              if (fp != NULL)
-                {
-                  fprintf (fp,
-                           _("%s: option '%s' is ambiguous; possibilities:"),
-                           argv[0], argv[d->optind]);
-
-                  do
-                    {
-                      fprintf (fp, " '--%s'", ambig_list->p->name);
-                      ambig_list = ambig_list->next;
-                    }
-                  while (ambig_list != NULL);
-
-                  fputc_unlocked ('\n', fp);
-
-                  if (__builtin_expect (fclose (fp) != EOF, 1))
-                    {
-                      _IO_flockfile (stderr);
-
-                      int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                      ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                      __fxprintf (NULL, "%s", buf);
-
-                      ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                      _IO_funlockfile (stderr);
-
-                      free (buf);
-                    }
-                }
-#else
-              fprintf (stderr,
-                       _("%s: option '%s' is ambiguous; possibilities:"),
-                       argv[0], argv[d->optind]);
-              do
-                {
-                  fprintf (stderr, " '--%s'", ambig_list->p->name);
-                  ambig_list = ambig_list->next;
-                }
-              while (ambig_list != NULL);
-
-              fputc ('\n', stderr);
-#endif
-            }
-          d->__nextchar += strlen (d->__nextchar);
-          d->optind++;
-          d->optopt = 0;
-          return '?';
-        }
-
-      while (ambig_list != NULL)
-        {
-          struct option_list *pn = ambig_list->next;
-          free (ambig_list);
-          ambig_list = pn;
-        }
-
-      if (pfound != NULL)
-        {
-          option_index = indfound;
-          d->optind++;
-          if (*nameend)
-            {
-              /* Don't test has_arg with >, because some C compilers don't
-                 allow it to be used on enums.  */
-              if (pfound->has_arg)
-                d->optarg = nameend + 1;
-              else
-                {
-                  if (print_errors)
-                    {
-#if defined _LIBC && defined USE_IN_LIBIO
-                      char *buf;
-                      int n;
-#endif
-
-                      if (argv[d->optind - 1][1] == '-')
-                        {
-                          /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                          n = __asprintf (&buf, _("\
-%s: option '--%s' doesn't allow an argument\n"),
-                                          argv[0], pfound->name);
-#else
-                          fprintf (stderr, _("\
-%s: option '--%s' doesn't allow an argument\n"),
-                                   argv[0], pfound->name);
-#endif
-                        }
-                      else
-                        {
-                          /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                          n = __asprintf (&buf, _("\
-%s: option '%c%s' doesn't allow an argument\n"),
-                                          argv[0], argv[d->optind - 1][0],
-                                          pfound->name);
-#else
-                          fprintf (stderr, _("\
-%s: option '%c%s' doesn't allow an argument\n"),
-                                   argv[0], argv[d->optind - 1][0],
-                                   pfound->name);
-#endif
-                        }
-
-#if defined _LIBC && defined USE_IN_LIBIO
-                      if (n >= 0)
-                        {
-                          _IO_flockfile (stderr);
-
-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                          ((_IO_FILE *) stderr)->_flags2
-                            |= _IO_FLAGS2_NOTCANCEL;
-
-                          __fxprintf (NULL, "%s", buf);
-
-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                          _IO_funlockfile (stderr);
-
-                          free (buf);
-                        }
-#endif
-                    }
-
-                  d->__nextchar += strlen (d->__nextchar);
-
-                  d->optopt = pfound->val;
-                  return '?';
-                }
-            }
-          else if (pfound->has_arg == 1)
-            {
-              if (d->optind < argc)
-                d->optarg = argv[d->optind++];
-              else
-                {
-                  if (print_errors)
-                    {
-#if defined _LIBC && defined USE_IN_LIBIO
-                      char *buf;
-
-                      if (__asprintf (&buf, _("\
-%s: option '--%s' requires an argument\n"),
-                                      argv[0], pfound->name) >= 0)
-                        {
-                          _IO_flockfile (stderr);
-
-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                          ((_IO_FILE *) stderr)->_flags2
-                            |= _IO_FLAGS2_NOTCANCEL;
-
-                          __fxprintf (NULL, "%s", buf);
-
-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                          _IO_funlockfile (stderr);
-
-                          free (buf);
-                        }
-#else
-                      fprintf (stderr,
-                               _("%s: option '--%s' requires an argument\n"),
-                               argv[0], pfound->name);
-#endif
-                    }
-                  d->__nextchar += strlen (d->__nextchar);
-                  d->optopt = pfound->val;
-                  return optstring[0] == ':' ? ':' : '?';
-                }
-            }
-          d->__nextchar += strlen (d->__nextchar);
-          if (longind != NULL)
-            *longind = option_index;
-          if (pfound->flag)
-            {
-              *(pfound->flag) = pfound->val;
-              return 0;
-            }
-          return pfound->val;
-        }
-
-      /* Can't find it as a long option.  If this is not getopt_long_only,
-         or the option starts with '--' or is not a valid short
-         option, then it's an error.
-         Otherwise interpret it as a short option.  */
-      if (!long_only || argv[d->optind][1] == '-'
-          || strchr (optstring, *d->__nextchar) == NULL)
-        {
-          if (print_errors)
-            {
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf;
-              int n;
-#endif
-
-              if (argv[d->optind][1] == '-')
-                {
-                  /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                  n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
-                                  argv[0], d->__nextchar);
-#else
-                  fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
-                           argv[0], d->__nextchar);
-#endif
-                }
-              else
-                {
-                  /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
-                  n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
-                                  argv[0], argv[d->optind][0], d->__nextchar);
-#else
-                  fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
-                           argv[0], argv[d->optind][0], d->__nextchar);
-#endif
-                }
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              if (n >= 0)
-                {
-                  _IO_flockfile (stderr);
-
-                  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                  __fxprintf (NULL, "%s", buf);
-
-                  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                  _IO_funlockfile (stderr);
-
-                  free (buf);
-                }
-#endif
-            }
-          d->__nextchar = (char *) "";
-          d->optind++;
-          d->optopt = 0;
-          return '?';
-        }
+        Check whether it might be a long option.  */
+      if (longopts)
+       {
+         if (argv[d->optind][1] == '-')
+           {
+             /* "--foo" is always a long option.  The special option
+                "--" was handled above.  */
+             d->__nextchar = argv[d->optind] + 2;
+             return process_long_option (argc, argv, optstring, longopts,
+                                         longind, long_only, d,
+                                         print_errors, "--");
+           }
+
+         /* If long_only and the ARGV-element has the form "-f",
+            where f is a valid short option, don't consider it an
+            abbreviated form of a long option that starts with f.
+            Otherwise there would be no way to give the -f short
+            option.
+
+            On the other hand, if there's a long option "fubar" and
+            the ARGV-element is "-fu", do consider that an
+            abbreviation of the long option, just like "--fu", and
+            not "-f" with arg "u".
+
+            This distinction seems to be the most useful approach.  */
+         if (long_only && (argv[d->optind][2]
+                           || !strchr (optstring, argv[d->optind][1])))
+           {
+             int code;
+             d->__nextchar = argv[d->optind] + 1;
+             code = process_long_option (argc, argv, optstring, longopts,
+                                         longind, long_only, d,
+                                         print_errors, "-");
+             if (code != -1)
+               return code;
+           }
+       }
+
+      /* It is not a long option.  Skip the initial punctuation.  */
+      d->__nextchar = argv[d->optind] + 1;
     }
 
   /* Look at and handle the next short option-character.  */
@@ -794,331 +620,83 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
 
     if (temp == NULL || c == ':' || c == ';')
       {
-        if (print_errors)
-          {
-#if defined _LIBC && defined USE_IN_LIBIO
-              char *buf;
-              int n;
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-              n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
-                              argv[0], c);
-#else
-              fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-            if (n >= 0)
-              {
-                _IO_flockfile (stderr);
-
-                int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                __fxprintf (NULL, "%s", buf);
-
-                ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                _IO_funlockfile (stderr);
-
-                free (buf);
-              }
-#endif
-          }
-        d->optopt = c;
-        return '?';
+       if (print_errors)
+         fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
+       d->optopt = c;
+       return '?';
       }
+
     /* Convenience. Treat POSIX -W foo same as long option --foo */
-    if (temp[0] == 'W' && temp[1] == ';')
+    if (temp[0] == 'W' && temp[1] == ';' && longopts != NULL)
       {
-        char *nameend;
-        const struct option *p;
-        const struct option *pfound = NULL;
-        int exact = 0;
-        int ambig = 0;
-        int indfound = 0;
-        int option_index;
-
-        if (longopts == NULL)
-          goto no_longs;
-
-        /* This is an option that requires an argument.  */
-        if (*d->__nextchar != '\0')
-          {
-            d->optarg = d->__nextchar;
-            /* If we end this ARGV-element by taking the rest as an arg,
-               we must advance to the next element now.  */
-            d->optind++;
-          }
-        else if (d->optind == argc)
-          {
-            if (print_errors)
-              {
-#if defined _LIBC && defined USE_IN_LIBIO
-                char *buf;
-
-                if (__asprintf (&buf,
-                                _("%s: option requires an argument -- '%c'\n"),
-                                argv[0], c) >= 0)
-                  {
-                    _IO_flockfile (stderr);
-
-                    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                    __fxprintf (NULL, "%s", buf);
-
-                    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                    _IO_funlockfile (stderr);
-
-                    free (buf);
-                  }
-#else
-                fprintf (stderr,
-                         _("%s: option requires an argument -- '%c'\n"),
-                         argv[0], c);
-#endif
-              }
-            d->optopt = c;
-            if (optstring[0] == ':')
-              c = ':';
-            else
-              c = '?';
-            return c;
-          }
-        else
-          /* We already incremented 'd->optind' once;
-             increment it again when taking next ARGV-elt as argument.  */
-          d->optarg = argv[d->optind++];
-
-        /* optarg is now the argument, see if it's in the
-           table of longopts.  */
-
-        for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
-             nameend++)
-          /* Do nothing.  */ ;
-
-        /* Test all long options for either exact match
-           or abbreviated matches.  */
-        for (p = longopts, option_index = 0; p->name; p++, option_index++)
-          if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
-            {
-              if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
-                {
-                  /* Exact match found.  */
-                  pfound = p;
-                  indfound = option_index;
-                  exact = 1;
-                  break;
-                }
-              else if (pfound == NULL)
-                {
-                  /* First nonexact match found.  */
-                  pfound = p;
-                  indfound = option_index;
-                }
-              else if (long_only
-                       || pfound->has_arg != p->has_arg
-                       || pfound->flag != p->flag
-                       || pfound->val != p->val)
-                /* Second or later nonexact match found.  */
-                ambig = 1;
-            }
-        if (ambig && !exact)
-          {
-            if (print_errors)
-              {
-#if defined _LIBC && defined USE_IN_LIBIO
-                char *buf;
-
-                if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
-                                argv[0], d->optarg) >= 0)
-                  {
-                    _IO_flockfile (stderr);
-
-                    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                    __fxprintf (NULL, "%s", buf);
-
-                    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                    _IO_funlockfile (stderr);
-
-                    free (buf);
-                  }
-#else
-                fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
-                         argv[0], d->optarg);
-#endif
-              }
-            d->__nextchar += strlen (d->__nextchar);
-            d->optind++;
-            return '?';
-          }
-        if (pfound != NULL)
-          {
-            option_index = indfound;
-            if (*nameend)
-              {
-                /* Don't test has_arg with >, because some C compilers don't
-                   allow it to be used on enums.  */
-                if (pfound->has_arg)
-                  d->optarg = nameend + 1;
-                else
-                  {
-                    if (print_errors)
-                      {
-#if defined _LIBC && defined USE_IN_LIBIO
-                        char *buf;
-
-                        if (__asprintf (&buf, _("\
-%s: option '-W %s' doesn't allow an argument\n"),
-                                        argv[0], pfound->name) >= 0)
-                          {
-                            _IO_flockfile (stderr);
-
-                            int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                            ((_IO_FILE *) stderr)->_flags2
-                              |= _IO_FLAGS2_NOTCANCEL;
-
-                            __fxprintf (NULL, "%s", buf);
-
-                            ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                            _IO_funlockfile (stderr);
-
-                            free (buf);
-                          }
-#else
-                        fprintf (stderr, _("\
-%s: option '-W %s' doesn't allow an argument\n"),
-                                 argv[0], pfound->name);
-#endif
-                      }
-
-                    d->__nextchar += strlen (d->__nextchar);
-                    return '?';
-                  }
-              }
-            else if (pfound->has_arg == 1)
-              {
-                if (d->optind < argc)
-                  d->optarg = argv[d->optind++];
-                else
-                  {
-                    if (print_errors)
-                      {
-#if defined _LIBC && defined USE_IN_LIBIO
-                        char *buf;
-
-                        if (__asprintf (&buf, _("\
-%s: option '-W %s' requires an argument\n"),
-                                        argv[0], pfound->name) >= 0)
-                          {
-                            _IO_flockfile (stderr);
-
-                            int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                            ((_IO_FILE *) stderr)->_flags2
-                              |= _IO_FLAGS2_NOTCANCEL;
-
-                            __fxprintf (NULL, "%s", buf);
-
-                            ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                            _IO_funlockfile (stderr);
-
-                            free (buf);
-                          }
-#else
-                        fprintf (stderr, _("\
-%s: option '-W %s' requires an argument\n"),
-                                 argv[0], pfound->name);
-#endif
-                      }
-                    d->__nextchar += strlen (d->__nextchar);
-                    return optstring[0] == ':' ? ':' : '?';
-                  }
-              }
-            else
-              d->optarg = NULL;
-            d->__nextchar += strlen (d->__nextchar);
-            if (longind != NULL)
-              *longind = option_index;
-            if (pfound->flag)
-              {
-                *(pfound->flag) = pfound->val;
-                return 0;
-              }
-            return pfound->val;
-          }
-
-      no_longs:
-        d->__nextchar = NULL;
-        return 'W';   /* Let the application handle it.   */
+       /* This is an option that requires an argument.  */
+       if (*d->__nextchar != '\0')
+         d->optarg = d->__nextchar;
+       else if (d->optind == argc)
+         {
+           if (print_errors)
+             fprintf (stderr,
+                      _("%s: option requires an argument -- '%c'\n"),
+                      argv[0], c);
+
+           d->optopt = c;
+           if (optstring[0] == ':')
+             c = ':';
+           else
+             c = '?';
+           return c;
+         }
+       else
+         d->optarg = argv[d->optind];
+
+       d->__nextchar = d->optarg;
+       d->optarg = NULL;
+       return process_long_option (argc, argv, optstring, longopts, longind,
+                                   0 /* long_only */, d, print_errors, "-W ");
       }
     if (temp[1] == ':')
       {
-        if (temp[2] == ':')
-          {
-            /* This is an option that accepts an argument optionally.  */
-            if (*d->__nextchar != '\0')
-              {
-                d->optarg = d->__nextchar;
-                d->optind++;
-              }
-            else
-              d->optarg = NULL;
-            d->__nextchar = NULL;
-          }
-        else
-          {
-            /* This is an option that requires an argument.  */
-            if (*d->__nextchar != '\0')
-              {
-                d->optarg = d->__nextchar;
-                /* If we end this ARGV-element by taking the rest as an arg,
-                   we must advance to the next element now.  */
-                d->optind++;
-              }
-            else if (d->optind == argc)
-              {
-                if (print_errors)
-                  {
-#if defined _LIBC && defined USE_IN_LIBIO
-                    char *buf;
-
-                    if (__asprintf (&buf, _("\
-%s: option requires an argument -- '%c'\n"),
-                                    argv[0], c) >= 0)
-                      {
-                        _IO_flockfile (stderr);
-
-                        int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
-                        ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
-                        __fxprintf (NULL, "%s", buf);
-
-                        ((_IO_FILE *) stderr)->_flags2 = old_flags2;
-                        _IO_funlockfile (stderr);
-
-                        free (buf);
-                      }
-#else
-                    fprintf (stderr,
-                             _("%s: option requires an argument -- '%c'\n"),
-                             argv[0], c);
-#endif
-                  }
-                d->optopt = c;
-                if (optstring[0] == ':')
-                  c = ':';
-                else
-                  c = '?';
-              }
-            else
-              /* We already incremented 'optind' once;
-                 increment it again when taking next ARGV-elt as argument.  */
-              d->optarg = argv[d->optind++];
-            d->__nextchar = NULL;
-          }
+       if (temp[2] == ':')
+         {
+           /* This is an option that accepts an argument optionally.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               d->optind++;
+             }
+           else
+             d->optarg = NULL;
+           d->__nextchar = NULL;
+         }
+       else
+         {
+           /* This is an option that requires an argument.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               /* If we end this ARGV-element by taking the rest as an arg,
+                  we must advance to the next element now.  */
+               d->optind++;
+             }
+           else if (d->optind == argc)
+             {
+               if (print_errors)
+                 fprintf (stderr,
+                          _("%s: option requires an argument -- '%c'\n"),
+                          argv[0], c);
+
+               d->optopt = c;
+               if (optstring[0] == ':')
+                 c = ':';
+               else
+                 c = '?';
+             }
+           else
+             /* We already incremented 'optind' once;
+                increment it again when taking next ARGV-elt as argument.  */
+             d->optarg = argv[d->optind++];
+           d->__nextchar = NULL;
+         }
       }
     return c;
   }
@@ -1126,8 +704,8 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
 
 int
 _getopt_internal (int argc, char **argv, const char *optstring,
-                  const struct option *longopts, int *longind, int long_only,
-                  int posixly_correct)
+                 const struct option *longopts, int *longind, int long_only,
+                 int posixly_correct)
 {
   int result;
 
@@ -1135,8 +713,8 @@ _getopt_internal (int argc, char **argv, const char *optstring,
   getopt_data.opterr = opterr;
 
   result = _getopt_internal_r (argc, argv, optstring, longopts,
-                               longind, long_only, &getopt_data,
-                               posixly_correct);
+                              longind, long_only, &getopt_data,
+                              posixly_correct);
 
   optind = getopt_data.optind;
   optarg = getopt_data.optarg;
@@ -1145,32 +723,23 @@ _getopt_internal (int argc, char **argv, const char *optstring,
   return result;
 }
 
-/* glibc gets a LSB-compliant getopt.
-   Standalone applications get a POSIX-compliant getopt.  */
-#if _LIBC
-enum { POSIXLY_CORRECT = 0 };
-#else
-enum { POSIXLY_CORRECT = 1 };
-#endif
-
-int
-getopt (int argc, char *const *argv, const char *optstring)
-{
-  return _getopt_internal (argc, (char **) argv, optstring,
-                           (const struct option *) 0,
-                           (int *) 0,
-                           0, POSIXLY_CORRECT);
-}
+/* glibc gets a LSB-compliant getopt and a POSIX-complaint __posix_getopt.
+   Standalone applications just get a POSIX-compliant getopt.
+   POSIX and LSB both require these functions to take 'char *const *argv'
+   even though this is incorrect (because of the permutation).  */
+#define GETOPT_ENTRY(NAME, POSIXLY_CORRECT)                    \
+  int                                                          \
+  NAME (int argc, char *const *argv, const char *optstring)    \
+  {                                                            \
+    return _getopt_internal (argc, (char **)argv, optstring,   \
+                            0, 0, 0, POSIXLY_CORRECT);         \
+  }
 
 #ifdef _LIBC
-int
-__posix_getopt (int argc, char *const *argv, const char *optstring)
-{
-  return _getopt_internal (argc, argv, optstring,
-                           (const struct option *) 0,
-                           (int *) 0,
-                           0, 1);
-}
+GETOPT_ENTRY(getopt, 0)
+GETOPT_ENTRY(__posix_getopt, 1)
+#else
+GETOPT_ENTRY(getopt, 1)
 #endif
 
 \f
@@ -1191,51 +760,51 @@ main (int argc, char **argv)
 
       c = getopt (argc, argv, "abc:d:0123456789");
       if (c == -1)
-        break;
+       break;
 
       switch (c)
-        {
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-          if (digit_optind != 0 && digit_optind != this_option_optind)
-            printf ("digits occur in two different argv-elements.\n");
-          digit_optind = this_option_optind;
-          printf ("option %c\n", c);
-          break;
-
-        case 'a':
-          printf ("option a\n");
-          break;
-
-        case 'b':
-          printf ("option b\n");
-          break;
-
-        case 'c':
-          printf ("option c with value '%s'\n", optarg);
-          break;
-
-        case '?':
-          break;
-
-        default:
-          printf ("?? getopt returned character code 0%o ??\n", c);
-        }
+       {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value '%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
     }
 
   if (optind < argc)
     {
       printf ("non-option ARGV-elements: ");
       while (optind < argc)
-        printf ("%s ", argv[optind++]);
+       printf ("%s ", argv[optind++]);
       printf ("\n");
     }
 
index 06b6dfc..c2411a7 100644 (file)
@@ -1,20 +1,22 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2012 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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,
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library, which supplies a different version of
+   this file.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_GETOPT_H
 
 # undef _GL_SYSTEM_GETOPT
 #endif
 
-#ifndef _@GUARD_PREFIX@_GETOPT_H
-
-#ifndef __need_getopt
-# define _@GUARD_PREFIX@_GETOPT_H 1
-#endif
+#define _@GUARD_PREFIX@_GETOPT_H 1
 
 /* Standalone applications should #define __GETOPT_PREFIX to an
    identifier that prefixes the external functions and variables
-   defined in this header.  When this happens, include the
-   headers that might declare getopt so that they will not cause
-   confusion if included after this file (if the system had <getopt.h>,
-   we have already included it).  Then systematically rename
-   identifiers so that they do not collide with the system functions
-   and variables.  Renaming avoids problems with some compilers and
-   linkers.  */
-#if defined __GETOPT_PREFIX && !defined __need_getopt
+   defined in getopt-core.h and getopt-ext.h.  When this happens,
+   include the headers that might declare getopt so that they will not
+   cause confusion if included after this file (if the system had
+   <getopt.h>, we have already included it).  */
+#if defined __GETOPT_PREFIX
 # if !@HAVE_GETOPT_H@
+#  define __need_system_stdlib_h
 #  include <stdlib.h>
+#  undef __need_system_stdlib_h
 #  include <stdio.h>
 #  include <unistd.h>
 # endif
-# undef __need_getopt
-# undef getopt
-# undef getopt_long
-# undef getopt_long_only
-# undef optarg
-# undef opterr
-# undef optind
-# undef optopt
-# undef option
-# define __GETOPT_CONCAT(x, y) x ## y
-# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# define getopt __GETOPT_ID (getopt)
-# define getopt_long __GETOPT_ID (getopt_long)
-# define getopt_long_only __GETOPT_ID (getopt_long_only)
-# define optarg __GETOPT_ID (optarg)
-# define opterr __GETOPT_ID (opterr)
-# define optind __GETOPT_ID (optind)
-# define optopt __GETOPT_ID (optopt)
-# define option __GETOPT_ID (option)
-# define _getopt_internal __GETOPT_ID (getopt_internal)
-#endif
-
-/* Standalone applications get correct prototypes for getopt_long and
-   getopt_long_only; they declare "char **argv".  libc uses prototypes
-   with "char *const *argv" that are incorrect because getopt_long and
-   getopt_long_only can permute argv; this is required for backward
-   compatibility (e.g., for LSB 2.0.1).
-
-   This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',
-   but it caused redefinition warnings if both unistd.h and getopt.h were
-   included, since unistd.h includes getopt.h having previously defined
-   __need_getopt.
-
-   The only place where __getopt_argv_const is used is in definitions
-   of getopt_long and getopt_long_only below, but these are visible
-   only if __need_getopt is not defined, so it is quite safe to rewrite
-   the conditional as follows:
-*/
-#if !defined __need_getopt
-# if defined __GETOPT_PREFIX
-#  define __getopt_argv_const /* empty */
-# else
-#  define __getopt_argv_const const
-# endif
-#endif
-
-/* If __GNU_LIBRARY__ is not already defined, either we are being used
-   standalone, or this is the first header included in the source file.
-   If we are being used with glibc, we need to include <features.h>, but
-   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
-   not defined, include <ctype.h>, which will pull in <features.h> for us
-   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
-   doesn't flood the namespace with stuff the way some other headers do.)  */
-#if !defined __GNU_LIBRARY__
-# include <ctype.h>
-#endif
-
-#ifndef __THROW
-# ifndef __GNUC_PREREQ
-#  define __GNUC_PREREQ(maj, min) (0)
-# endif
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-#  define __THROW       throw ()
-# else
-#  define __THROW
-# endif
 #endif
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from 'getopt' to the caller.
-   When 'getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when 'ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to 'getopt'.
-
-   On entry to 'getopt', zero means this is the first call; initialize.
-
-   When 'getopt' returns -1, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, 'optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message 'getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
+#include <getopt-cdefs.h>
+#include <getopt-pfx-core.h>
+#include <getopt-pfx-ext.h>
 
-/* Set to an option character which was unrecognized.  */
-
-extern int optopt;
-
-#ifndef __need_getopt
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of 'struct option' terminated by an element containing a name which is
-   zero.
-
-   The field 'has_arg' is:
-   no_argument          (or 0) if the option does not take an argument,
-   required_argument    (or 1) if the option requires an argument,
-   optional_argument    (or 2) if the option takes an optional argument.
-
-   If the field 'flag' is not NULL, it points to a variable that is set
-   to the value given in the field 'val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an 'int' to
-   a compiled-in constant, such as set a value from 'optarg', set the
-   option's 'flag' field to zero and its 'val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero 'flag' field, 'getopt'
-   returns the contents of the 'val' field.  */
-
-# if !GNULIB_defined_struct_option
-struct option
-{
-  const char *name;
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-#  define GNULIB_defined_struct_option 1
-# endif
-
-/* Names for the values of the 'has_arg' field of 'struct option'.  */
-
-# define no_argument            0
-# define required_argument      1
-# define optional_argument      2
-#endif  /* need getopt */
-
-
-/* Get definitions and prototypes for functions to process the
-   arguments in ARGV (ARGC of them, minus the program name) for
-   options given in OPTS.
-
-   Return the option character from OPTS just read.  Return -1 when
-   there are no more options.  For unrecognized options, or options
-   missing arguments, 'optopt' is set to the option letter, and '?' is
-   returned.
-
-   The OPTS string is a list of characters which are recognized option
-   letters, optionally followed by colons, specifying that that letter
-   takes an argument, to be placed in 'optarg'.
-
-   If a letter in OPTS is followed by two colons, its argument is
-   optional.  This behavior is specific to the GNU 'getopt'.
-
-   The argument '--' causes premature termination of argument
-   scanning, explicitly telling 'getopt' that there are no more
-   options.
-
-   If OPTS begins with '-', then non-option arguments are treated as
-   arguments to the option '\1'.  This behavior is specific to the GNU
-   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
-   the environment, then do not permute arguments.  */
-
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#ifndef __need_getopt
-extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
-                        const char *__shortopts,
-                        const struct option *__longopts, int *__longind)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
-                             const char *__shortopts,
-                             const struct option *__longopts, int *__longind)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations.  */
-#undef __need_getopt
-
-#endif /* _@GUARD_PREFIX@_GETOPT_H */
 #endif /* _@GUARD_PREFIX@_GETOPT_H */
index fb2a8f5..c42d29f 100644 (file)
@@ -1,56 +1,44 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2012 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
+   Copyright (C) 1987-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
 
-   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.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library 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.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 \f
-#ifdef _LIBC
-# include <getopt.h>
-#else
+#ifndef _LIBC
 # include <config.h>
-# include "getopt.h"
 #endif
-#include "getopt_int.h"
-
-#include <stdio.h>
 
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
+#include <getopt.h>
+#include "getopt_int.h"
 
 int
 getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
-             const struct option *long_options, int *opt_index)
+            const struct option *long_options, int *opt_index)
 {
   return _getopt_internal (argc, (char **) argv, options, long_options,
-                           opt_index, 0, 0);
+                          opt_index, 0, 0);
 }
 
 int
 _getopt_long_r (int argc, char **argv, const char *options,
-                const struct option *long_options, int *opt_index,
-                struct _getopt_data *d)
+               const struct option *long_options, int *opt_index,
+               struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-                             0, d, 0);
+                            0, d, 0);
 }
 
 /* Like getopt_long, but '-' as well as '--' can indicate a long option.
@@ -60,26 +48,27 @@ _getopt_long_r (int argc, char **argv, const char *options,
 
 int
 getopt_long_only (int argc, char *__getopt_argv_const *argv,
-                  const char *options,
-                  const struct option *long_options, int *opt_index)
+                 const char *options,
+                 const struct option *long_options, int *opt_index)
 {
   return _getopt_internal (argc, (char **) argv, options, long_options,
-                           opt_index, 1, 0);
+                          opt_index, 1, 0);
 }
 
 int
 _getopt_long_only_r (int argc, char **argv, const char *options,
-                     const struct option *long_options, int *opt_index,
-                     struct _getopt_data *d)
+                    const struct option *long_options, int *opt_index,
+                    struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-                             1, d, 0);
+                            1, d, 0);
 }
 
 \f
 #ifdef TEST
 
 #include <stdio.h>
+#include <stdlib.h>
 
 int
 main (int argc, char **argv)
@@ -93,74 +82,74 @@ main (int argc, char **argv)
       int option_index = 0;
       static const struct option long_options[] =
       {
-        {"add", 1, 0, 0},
-        {"append", 0, 0, 0},
-        {"delete", 1, 0, 0},
-        {"verbose", 0, 0, 0},
-        {"create", 0, 0, 0},
-        {"file", 1, 0, 0},
-        {0, 0, 0, 0}
+       {"add", 1, 0, 0},
+       {"append", 0, 0, 0},
+       {"delete", 1, 0, 0},
+       {"verbose", 0, 0, 0},
+       {"create", 0, 0, 0},
+       {"file", 1, 0, 0},
+       {0, 0, 0, 0}
       };
 
       c = getopt_long (argc, argv, "abc:d:0123456789",
-                       long_options, &option_index);
+                      long_options, &option_index);
       if (c == -1)
-        break;
+       break;
 
       switch (c)
-        {
-        case 0:
-          printf ("option %s", long_options[option_index].name);
-          if (optarg)
-            printf (" with arg %s", optarg);
-          printf ("\n");
-          break;
-
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-          if (digit_optind != 0 && digit_optind != this_option_optind)
-            printf ("digits occur in two different argv-elements.\n");
-          digit_optind = this_option_optind;
-          printf ("option %c\n", c);
-          break;
-
-        case 'a':
-          printf ("option a\n");
-          break;
-
-        case 'b':
-          printf ("option b\n");
-          break;
-
-        case 'c':
-          printf ("option c with value '%s'\n", optarg);
-          break;
-
-        case 'd':
-          printf ("option d with value '%s'\n", optarg);
-          break;
-
-        case '?':
-          break;
-
-        default:
-          printf ("?? getopt returned character code 0%o ??\n", c);
-        }
+       {
+       case 0:
+         printf ("option %s", long_options[option_index].name);
+         if (optarg)
+           printf (" with arg %s", optarg);
+         printf ("\n");
+         break;
+
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+         if (digit_optind != 0 && digit_optind != this_option_optind)
+           printf ("digits occur in two different argv-elements.\n");
+         digit_optind = this_option_optind;
+         printf ("option %c\n", c);
+         break;
+
+       case 'a':
+         printf ("option a\n");
+         break;
+
+       case 'b':
+         printf ("option b\n");
+         break;
+
+       case 'c':
+         printf ("option c with value '%s'\n", optarg);
+         break;
+
+       case 'd':
+         printf ("option d with value '%s'\n", optarg);
+         break;
+
+       case '?':
+         break;
+
+       default:
+         printf ("?? getopt returned character code 0%o ??\n", c);
+       }
     }
 
   if (optind < argc)
     {
       printf ("non-option ARGV-elements: ");
       while (optind < argc)
-        printf ("%s ", argv[optind++]);
+       printf ("%s ", argv[optind++]);
       printf ("\n");
     }
 
index 2da020c..c00c0b6 100644 (file)
@@ -1,30 +1,31 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2012 Free Software
-   Foundation, Inc.
-   This file is part of the GNU C Library.
+   Copyright (C) 1989-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
 
-   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.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library 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.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GETOPT_INT_H
-#define _GETOPT_INT_H   1
+#define _GETOPT_INT_H  1
 
 #include <getopt.h>
 
 extern int _getopt_internal (int ___argc, char **___argv,
-                             const char *__shortopts,
-                             const struct option *__longopts, int *__longind,
-                             int __long_only, int __posixly_correct);
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind,
+                            int __long_only, int __posixly_correct);
 
 \f
 /* Reentrant versions which can handle parsing multiple argument
@@ -32,28 +33,20 @@ extern int _getopt_internal (int ___argc, char **___argv,
 
 /* Describe how to deal with options that follow non-option ARGV-elements.
 
-   If the caller did not specify anything,
-   the default is REQUIRE_ORDER if the environment variable
-   POSIXLY_CORRECT is defined, PERMUTE otherwise.
+   REQUIRE_ORDER means don't recognize them as options; stop option
+   processing when the first non-option is seen.  This is what POSIX
+   specifies should happen.
 
-   REQUIRE_ORDER means don't recognize them as options;
-   stop option processing when the first non-option is seen.
-   This is what Unix does.
-   This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using '+' as the first character
-   of the list of option characters, or by calling getopt.
-
-   PERMUTE is the default.  We permute the contents of ARGV as we
-   scan, so that eventually all the non-options are at the end.
-   This allows options to be given in any order, even with programs
-   that were not written to expect this.
+   PERMUTE means permute the contents of ARGV as we scan, so that
+   eventually all the non-options are at the end.  This allows options
+   to be given in any order, even with programs that were not written
+   to expect this.
 
    RETURN_IN_ORDER is an option available to programs that were
    written to expect options and other ARGV-elements in any order
    and that care about the ordering of the two.  We describe each
    non-option ARGV-element as if it were the argument of an option
-   with character code 1.  Using '-' as the first character of the
-   list of option characters selects this mode of operation.
+   with character code 1.
 
    The special argument '--' forces an end of option-scanning regardless
    of the value of 'ordering'.  In the case of RETURN_IN_ORDER, only
@@ -91,11 +84,6 @@ struct _getopt_data
   /* See __ord above.  */
   enum __ord __ordering;
 
-  /* If the POSIXLY_CORRECT environment variable is set
-     or getopt was called.  */
-  int __posixly_correct;
-
-
   /* Handle permutation of arguments.  */
 
   /* Describe the part of ARGV that contains non-options that have
@@ -104,32 +92,27 @@ struct _getopt_data
 
   int __first_nonopt;
   int __last_nonopt;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-  int __nonoption_flags_max_len;
-  int __nonoption_flags_len;
-#endif
 };
 
 /* The initializer is necessary to set OPTIND and OPTERR to their
    default values and to clear the initialization flag.  */
-#define _GETOPT_DATA_INITIALIZER        { 1, 1 }
+#define _GETOPT_DATA_INITIALIZER       { 1, 1 }
 
 extern int _getopt_internal_r (int ___argc, char **___argv,
-                               const char *__shortopts,
-                               const struct option *__longopts, int *__longind,
-                               int __long_only, struct _getopt_data *__data,
-                               int __posixly_correct);
+                              const char *__shortopts,
+                              const struct option *__longopts, int *__longind,
+                              int __long_only, struct _getopt_data *__data,
+                              int __posixly_correct);
 
 extern int _getopt_long_r (int ___argc, char **___argv,
-                           const char *__shortopts,
-                           const struct option *__longopts, int *__longind,
-                           struct _getopt_data *__data);
+                          const char *__shortopts,
+                          const struct option *__longopts, int *__longind,
+                          struct _getopt_data *__data);
 
 extern int _getopt_long_only_r (int ___argc, char **___argv,
-                                const char *__shortopts,
-                                const struct option *__longopts,
-                                int *__longind,
-                                struct _getopt_data *__data);
+                               const char *__shortopts,
+                               const struct option *__longopts,
+                               int *__longind,
+                               struct _getopt_data *__data);
 
 #endif /* getopt_int.h */
diff --git a/gl/getprogname.c b/gl/getprogname.c
new file mode 100644 (file)
index 0000000..392a9a2
--- /dev/null
@@ -0,0 +1,312 @@
+/* Program name management.
+   Copyright (C) 2016-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  Also get __argv declaration.  */
+#include <stdlib.h>
+
+#include <errno.h> /* get program_invocation_name declaration */
+
+#ifdef _AIX
+# include <unistd.h>
+# include <procinfo.h>
+# include <string.h>
+#endif
+
+#ifdef __MVS__
+# ifndef _OPEN_SYS
+#  define _OPEN_SYS
+# endif
+# include <string.h>
+# include <sys/ps.h>
+#endif
+
+#ifdef __hpux
+# include <unistd.h>
+# include <sys/param.h>
+# include <sys/pstat.h>
+# include <string.h>
+#endif
+
+#if defined __sgi || defined __osf__
+# include <string.h>
+# include <unistd.h>
+# include <stdio.h>
+# include <fcntl.h>
+# include <sys/procfs.h>
+#endif
+
+#if defined __SCO_VERSION__ || defined __sysv5__
+# include <fcntl.h>
+# include <string.h>
+#endif
+
+#include "basename-lgpl.h"
+
+#ifndef HAVE_GETPROGNAME  /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Solaris >= 11, Cygwin, Android API level >= 21 */
+char const *
+getprogname (void)
+{
+# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME                /* glibc, BeOS */
+  /* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
+  return program_invocation_short_name;
+# elif HAVE_DECL_PROGRAM_INVOCATION_NAME                    /* glibc, BeOS */
+  /* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
+  return last_component (program_invocation_name);
+# elif HAVE_GETEXECNAME                                     /* Solaris */
+  /* https://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hrb1/index.html */
+  const char *p = getexecname ();
+  if (!p)
+    p = "?";
+  return last_component (p);
+# elif HAVE_DECL___ARGV                                     /* mingw, MSVC */
+  /* https://docs.microsoft.com/en-us/cpp/c-runtime-library/argc-argv-wargv */
+  const char *p = __argv && __argv[0] ? __argv[0] : "?";
+  return last_component (p);
+# elif HAVE_VAR___PROGNAME                                  /* OpenBSD, Android, QNX */
+  /* https://man.openbsd.org/style.9 */
+  /* http://www.qnx.de/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fp%2F__progname.html */
+  /* Be careful to declare this only when we absolutely need it
+     (OpenBSD 5.1), rather than when it's available.  Otherwise,
+     its mere declaration makes program_invocation_short_name
+     malfunction (have zero length) with Fedora 25's glibc.  */
+  extern char *__progname;
+  const char *p = __progname;
+#  if defined __ANDROID__
+  return last_component (p);
+#  else
+  return p && p[0] ? p : "?";
+#  endif
+# elif _AIX                                                 /* AIX */
+  /* Idea by Bastien ROUCARIÈS,
+     https://lists.gnu.org/r/bug-gnulib/2010-12/msg00095.html
+     Reference: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/getprocs.htm
+  */
+  static char *p;
+  static int first = 1;
+  if (first)
+    {
+      first = 0;
+      pid_t pid = getpid ();
+      struct procentry64 procs;
+      p = (0 < getprocs64 (&procs, sizeof procs, NULL, 0, &pid, 1)
+           ? strdup (procs.pi_comm)
+           : NULL);
+      if (!p)
+        p = "?";
+    }
+  return p;
+# elif defined __hpux
+  static char *p;
+  static int first = 1;
+  if (first)
+    {
+      first = 0;
+      pid_t pid = getpid ();
+      struct pst_status status;
+      if (pstat_getproc (&status, sizeof status, 0, pid) > 0)
+        {
+          char *ucomm = status.pst_ucomm;
+          char *cmd = status.pst_cmd;
+          if (strlen (ucomm) < PST_UCOMMLEN - 1)
+            p = ucomm;
+          else
+            {
+              /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                 Look at cmd instead.  */
+              char *space = strchr (cmd, ' ');
+              if (space != NULL)
+                *space = '\0';
+              p = strrchr (cmd, '/');
+              if (p != NULL)
+                p++;
+              else
+                p = cmd;
+              if (strlen (p) > PST_UCOMMLEN - 1
+                  && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                /* p is less truncated than ucomm.  */
+                ;
+              else
+                p = ucomm;
+            }
+          p = strdup (p);
+        }
+      else
+        {
+#  if !defined __LP64__
+          /* Support for 32-bit programs running in 64-bit HP-UX.
+             The documented way to do this is to use the same source code
+             as above, but in a compilation unit where '#define _PSTAT64 1'
+             is in effect.  I prefer a single compilation unit; the struct
+             size and the offsets are not going to change.  */
+          char status64[1216];
+          if (__pstat_getproc64 (status64, sizeof status64, 0, pid) > 0)
+            {
+              char *ucomm = status64 + 288;
+              char *cmd = status64 + 168;
+              if (strlen (ucomm) < PST_UCOMMLEN - 1)
+                p = ucomm;
+              else
+                {
+                  /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                     Look at cmd instead.  */
+                  char *space = strchr (cmd, ' ');
+                  if (space != NULL)
+                    *space = '\0';
+                  p = strrchr (cmd, '/');
+                  if (p != NULL)
+                    p++;
+                  else
+                    p = cmd;
+                  if (strlen (p) > PST_UCOMMLEN - 1
+                      && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                    /* p is less truncated than ucomm.  */
+                    ;
+                  else
+                    p = ucomm;
+                }
+              p = strdup (p);
+            }
+          else
+#  endif
+            p = NULL;
+        }
+      if (!p)
+        p = "?";
+    }
+  return p;
+# elif __MVS__                                              /* z/OS */
+  /* https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/rtwgetp.htm */
+  static char *p = "?";
+  static int first = 1;
+  if (first)
+    {
+      pid_t pid = getpid ();
+      int token;
+      W_PSPROC buf;
+      first = 0;
+      memset (&buf, 0, sizeof(buf));
+      buf.ps_cmdptr    = (char *) malloc (buf.ps_cmdlen    = PS_CMDBLEN_LONG);
+      buf.ps_conttyptr = (char *) malloc (buf.ps_conttylen = PS_CONTTYBLEN);
+      buf.ps_pathptr   = (char *) malloc (buf.ps_pathlen   = PS_PATHBLEN);
+      if (buf.ps_cmdptr && buf.ps_conttyptr && buf.ps_pathptr)
+        {
+          for (token = 0; token >= 0;
+               token = w_getpsent (token, &buf, sizeof(buf)))
+            {
+              if (token > 0 && buf.ps_pid == pid)
+                {
+                  char *s = strdup (last_component (buf.ps_pathptr));
+                  if (s)
+                    {
+#  if defined __XPLINK__ && __CHARSET_LIB == 1
+                      /* The compiler option -qascii is in use.
+                         https://makingdeveloperslivesbetter.wordpress.com/2022/01/07/is-z-os-ascii-or-ebcdic-yes/
+                         https://www.ibm.com/docs/en/zos/2.5.0?topic=features-macros-related-compiler-option-settings
+                         So, convert the result from EBCDIC to ASCII.
+                         https://www.ibm.com/docs/en/zos/2.5.0?topic=functions-e2a-s-convert-string-from-ebcdic-ascii */
+                      if (__e2a_s (s) == (size_t)-1)
+                        free (s);
+                      else
+#  endif
+                        p = s;
+                    }
+                  break;
+                }
+            }
+        }
+      free (buf.ps_cmdptr);
+      free (buf.ps_conttyptr);
+      free (buf.ps_pathptr);
+    }
+  return p;
+# elif defined __sgi || defined __osf__                     /* IRIX or Tru64 */
+  char filename[50];
+  int fd;
+
+  # if defined __sgi
+    sprintf (filename, "/proc/pinfo/%d", (int) getpid ());
+  # else
+    sprintf (filename, "/proc/%d", (int) getpid ());
+  # endif
+  fd = open (filename, O_RDONLY | O_CLOEXEC);
+  if (0 <= fd)
+    {
+      prpsinfo_t buf;
+      int ioctl_ok = 0 <= ioctl (fd, PIOCPSINFO, &buf);
+      close (fd);
+      if (ioctl_ok)
+        {
+          char *name = buf.pr_fname;
+          size_t namesize = sizeof buf.pr_fname;
+          /* It may not be NUL-terminated.  */
+          char *namenul = memchr (name, '\0', namesize);
+          size_t namelen = namenul ? namenul - name : namesize;
+          char *namecopy = malloc (namelen + 1);
+          if (namecopy)
+            {
+              namecopy[namelen] = '\0';
+              return memcpy (namecopy, name, namelen);
+            }
+        }
+    }
+  return NULL;
+# elif defined __SCO_VERSION__ || defined __sysv5__                /* SCO OpenServer6/UnixWare */
+  char buf[80];
+  int fd;
+  sprintf (buf, "/proc/%d/cmdline", getpid());
+  fd = open (buf, O_RDONLY);
+  if (0 <= fd)
+    {
+      size_t n = read (fd, buf, 79);
+      if (n > 0)
+        {
+          buf[n] = '\0'; /* Guarantee null-termination */
+          char *progname;
+          progname = strrchr (buf, '/');
+          if (progname)
+            {
+              progname = progname + 1; /* Skip the '/' */
+            }
+          else
+            {
+              progname = buf;
+            }
+          char *ret;
+          ret = malloc (strlen (progname) + 1);
+          if (ret)
+            {
+              strcpy (ret, progname);
+              return ret;
+            }
+        }
+      close (fd);
+    }
+  return "?";
+# else
+#  error "getprogname module not ported to this OS"
+# endif
+}
+
+#endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/gl/getprogname.h b/gl/getprogname.h
new file mode 100644 (file)
index 0000000..bee1c1a
--- /dev/null
@@ -0,0 +1,26 @@
+/* Program name management.
+   Copyright (C) 2016-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GL_GETPROGNAME_H
+#define _GL_GETPROGNAME_H
+
+#include <stdlib.h>
+
+#if __GNUC__ || (__clang_major__ >= 4)
+# warning "The include file getprogname.h is deprecated. Use <stdlib.h> instead."
+#endif
+
+#endif
index 3108e4a..39d5ae4 100644 (file)
@@ -1,25 +1,26 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2012 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBGETTEXT_H
 #define _LIBGETTEXT_H 1
 
-/* NLS can be disabled through the configure --disable-nls option.  */
-#if ENABLE_NLS
+/* NLS can be disabled through the configure --disable-nls option
+   or through "#define ENABLE NLS 0" before including this file.  */
+#if defined ENABLE_NLS && ENABLE_NLS
 
 /* Get declarations of GNU message catalog functions.  */
 # include <libintl.h>
    initializer for static 'char[]' or 'const char[]' variables.  */
 #define gettext_noop(String) String
 
+/* The separator between msgctxt and msgid in a .mo file.  */
+#define GETTEXT_CONTEXT_GLUE "\004"
+
+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+   short and rarely need to change.
+   The letter 'p' stands for 'particular' or 'special'.  */
+#ifdef DEFAULT_TEXT_DOMAIN
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#else
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#endif
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+#ifdef DEFAULT_TEXT_DOMAIN
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#else
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#endif
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+pgettext_aux (const char *domain,
+              const char *msg_ctxt_id, const char *msgid,
+              int category)
+{
+  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+  if (translation == msg_ctxt_id)
+    return msgid;
+  else
+    return translation;
+}
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+npgettext_aux (const char *domain,
+               const char *msg_ctxt_id, const char *msgid,
+               const char *msgid_plural, unsigned long int n,
+               int category)
+{
+  const char *translation =
+    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+  if (translation == msg_ctxt_id || translation == msgid_plural)
+    return (n == 1 ? msgid : msgid_plural);
+  else
+    return translation;
+}
+
+/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+   can be arbitrary expressions.  But for string literals these macros are
+   less efficient than those above.  */
+
+#include <string.h>
+
+/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
+   This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
+   the default GCC many warnings set.  This allows programs to disable use
+   of VLAs, which may be unintended, or may be awkward to support portably,
+   or may have security implications due to non-deterministic stack usage.  */
+
+#if (!defined GNULIB_NO_VLA \
+     && defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \
+     && !defined __STDC_NO_VLA__)
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
+#else
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
+#endif
+
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#include <stdlib.h>
+#endif
+
+#define pgettext_expr(Msgctxt, Msgid) \
+  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcpgettext_expr (const char *domain,
+                 const char *msgctxt, const char *msgid,
+                 int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcgettext (domain, msg_ctxt_id, category);
+      found_translation = (translation != msg_ctxt_id);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return msgid;
+}
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcnpgettext_expr (const char *domain,
+                  const char *msgctxt, const char *msgid,
+                  const char *msgid_plural, unsigned long int n,
+                  int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+      found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return (n == 1 ? msgid : msgid_plural);
+}
+
 #endif /* _LIBGETTEXT_H */
diff --git a/gl/idx.h b/gl/idx.h
new file mode 100644 (file)
index 0000000..f9ce0ac
--- /dev/null
+++ b/gl/idx.h
@@ -0,0 +1,134 @@
+/* A type for indices and sizes.
+   Copyright (C) 2020-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _IDX_H
+#define _IDX_H
+
+/* Get ptrdiff_t.  */
+#include <stddef.h>
+
+/* Get PTRDIFF_MAX.  */
+#include <stdint.h>
+
+/* The type 'idx_t' holds an (array) index or an (object) size.
+   Its implementation promotes to a signed integer type,
+   which can hold the values
+     0..2^63-1 (on 64-bit platforms) or
+     0..2^31-1 (on 32-bit platforms).
+
+   Why a signed integer type?
+
+     * Security: Signed types can be checked for overflow via
+       '-fsanitize=undefined', but unsigned types cannot.
+
+     * Comparisons without surprises: ISO C99 § 6.3.1.8 specifies a few
+       surprising results for comparisons, such as
+
+           (int) -3 < (unsigned long) 7  =>  false
+           (int) -3 < (unsigned int) 7   =>  false
+       and on 32-bit machines:
+           (long) -3 < (unsigned int) 7  =>  false
+
+       This is surprising because the natural comparison order is by
+       value in the realm of infinite-precision signed integers (ℤ).
+
+       The best way to get rid of such surprises is to use signed types
+       for numerical integer values, and use unsigned types only for
+       bit masks and enums.
+
+   Why not use 'size_t' directly?
+
+     * Because 'size_t' is an unsigned type, and a signed type is better.
+       See above.
+
+   Why not use 'ssize_t'?
+
+     * 'ptrdiff_t' is more portable; it is standardized by ISO C
+       whereas 'ssize_t' is standardized only by POSIX.
+
+     * 'ssize_t' is not required to be as wide as 'size_t', and some
+       now-obsolete POSIX platforms had 'size_t' wider than 'ssize_t'.
+
+     * Conversely, some now-obsolete platforms had 'ptrdiff_t' wider
+       than 'size_t', which can be a win and conforms to POSIX.
+
+   Won't this cause a problem with objects larger than PTRDIFF_MAX?
+
+     * Typical modern or large platforms do not allocate such objects,
+       so this is not much of a problem in practice; for example, you
+       can safely write 'idx_t len = strlen (s);'.  To port to older
+       small platforms where allocations larger than PTRDIFF_MAX could
+       in theory be a problem, you can use Gnulib's ialloc module, or
+       functions like ximalloc in Gnulib's xalloc module.
+
+   Why not use 'ptrdiff_t' directly?
+
+     * Maintainability: When reading and modifying code, it helps to know that
+       a certain variable cannot have negative values.  For example, when you
+       have a loop
+
+         int n = ...;
+         for (int i = 0; i < n; i++) ...
+
+       or
+
+         ptrdiff_t n = ...;
+         for (ptrdiff_t i = 0; i < n; i++) ...
+
+       you have to ask yourself "what if n < 0?".  Whereas in
+
+         idx_t n = ...;
+         for (idx_t i = 0; i < n; i++) ...
+
+       you know that this case cannot happen.
+
+       Similarly, when a programmer writes
+
+         idx_t = ptr2 - ptr1;
+
+       there is an implied assertion that ptr1 and ptr2 point into the same
+       object and that ptr1 <= ptr2.
+
+     * Being future-proof: In the future, range types (integers which are
+       constrained to a certain range of values) may be added to C compilers
+       or to the C standard.  Several programming languages (Ada, Haskell,
+       Common Lisp, Pascal) already have range types.  Such range types may
+       help producing good code and good warnings.  The type 'idx_t' could
+       then be typedef'ed to a range type that is signed after promotion.  */
+
+/* In the future, idx_t could be typedef'ed to a signed range type.
+   The clang "extended integer types", supported in Clang 11 or newer
+   <https://clang.llvm.org/docs/LanguageExtensions.html#extended-integer-types>,
+   are a special case of range types.  However, these types don't support binary
+   operators with plain integer types (e.g. expressions such as x > 1).
+   Therefore, they don't behave like signed types (and not like unsigned types
+   either).  So, we cannot use them here.  */
+
+/* Use the signed type 'ptrdiff_t'.  */
+/* Note: ISO C does not mandate that 'size_t' and 'ptrdiff_t' have the same
+   size, but it is so on all platforms we have seen since 1990.  */
+typedef ptrdiff_t idx_t;
+
+/* IDX_MAX is the maximum value of an idx_t.  */
+#define IDX_MAX PTRDIFF_MAX
+
+/* So far no need has been found for an IDX_WIDTH macro.
+   Perhaps there should be another macro IDX_VALUE_BITS that does not
+   count the sign bit and is therefore one less than PTRDIFF_WIDTH.  */
+
+#endif /* _IDX_H */
diff --git a/gl/intprops-internal.h b/gl/intprops-internal.h
new file mode 100644 (file)
index 0000000..c8a87d2
--- /dev/null
@@ -0,0 +1,397 @@
+/* intprops-internal.h -- properties of integer types not visible to users
+
+   Copyright (C) 2001-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GL_INTPROPS_INTERNAL_H
+#define _GL_INTPROPS_INTERNAL_H
+
+#include <limits.h>
+
+/* Pacify GCC 13.2 in some calls to _GL_EXPR_SIGNED.  */
+#if defined __GNUC__ && 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+/* Return a value with the common real type of E and V and the value of V.
+   Do not evaluate E.  */
+#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v))
+
+/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
+   <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.  */
+#define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v))
+
+/* The extra casts in the following macros work around compiler bugs,
+   e.g., in Cray C 5.0.3.0.  */
+
+/* True if the real type T is signed.  */
+#define _GL_TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
+
+/* Return 1 if the real expression E, after promotion, has a
+   signed or floating type.  Do not evaluate E.  */
+#define _GL_EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+
+
+/* Minimum and maximum values for integer types and expressions.  */
+
+/* The width in bits of the integer type or expression T.
+   Do not evaluate T.  T must not be a bit-field expression.
+   Padding bits are not supported; this is checked at compile-time below.  */
+#define _GL_TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
+
+/* The maximum and minimum values for the type of the expression E,
+   after integer promotion.  E is not evaluated.  */
+#define _GL_INT_MINIMUM(e)                                              \
+  (_GL_EXPR_SIGNED (e)                                                  \
+   ? ~ _GL_SIGNED_INT_MAXIMUM (e)                                       \
+   : _GL_INT_CONVERT (e, 0))
+#define _GL_INT_MAXIMUM(e)                                              \
+  (_GL_EXPR_SIGNED (e)                                                  \
+   ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
+   : _GL_INT_NEGATE_CONVERT (e, 1))
+#define _GL_SIGNED_INT_MAXIMUM(e)                                       \
+  (((_GL_INT_CONVERT (e, 1) << (_GL_TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1)
+
+/* Work around OpenVMS incompatibility with C99.  */
+#if !defined LLONG_MAX && defined __INT64_MAX
+# define LLONG_MAX __INT64_MAX
+# define LLONG_MIN __INT64_MIN
+#endif
+
+/* This include file assumes that signed types are two's complement without
+   padding bits; the above macros have undefined behavior otherwise.
+   If this is a problem for you, please let us know how to fix it for your host.
+   This assumption is tested by the intprops-tests module.  */
+
+/* Does the __typeof__ keyword work?  This could be done by
+   'configure', but for now it's easier to do it by hand.  */
+#if (2 <= __GNUC__ \
+     || (4 <= __clang_major__) \
+     || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+     || (0x5110 <= __SUNPRO_C && !__STDC__))
+# define _GL_HAVE___TYPEOF__ 1
+#else
+# define _GL_HAVE___TYPEOF__ 0
+#endif
+
+/* Return 1 if the integer type or expression T might be signed.  Return 0
+   if it is definitely unsigned.  T must not be a bit-field expression.
+   This macro does not evaluate its argument, and expands to an
+   integer constant expression.  */
+#if _GL_HAVE___TYPEOF__
+# define _GL_SIGNED_TYPE_OR_EXPR(t) _GL_TYPE_SIGNED (__typeof__ (t))
+#else
+# define _GL_SIGNED_TYPE_OR_EXPR(t) 1
+#endif
+
+/* Return 1 if - A would overflow in [MIN,MAX] arithmetic.
+   A should not have side effects, and A's type should be an
+   integer with minimum value MIN and maximum MAX.  */
+#define _GL_INT_NEGATE_RANGE_OVERFLOW(a, min, max) \
+  ((min) < 0 ? (a) < - (max) : 0 < (a))
+
+/* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow
+   (A, B, P) work when P is non-null.  */
+#ifdef __EDG__
+/* EDG-based compilers like nvc 22.1 cannot add 64-bit signed to unsigned
+   <https://bugs.gnu.org/53256>.  */
+# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0
+#elif defined __has_builtin
+# define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow)
+/* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x,
+   see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269>.  */
+#elif 7 <= __GNUC__
+# define _GL_HAS_BUILTIN_ADD_OVERFLOW 1
+#else
+# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0
+#endif
+
+/* True if __builtin_mul_overflow (A, B, P) works when P is non-null.  */
+#if defined __clang_major__ && __clang_major__ < 14
+/* Work around Clang bug <https://bugs.llvm.org/show_bug.cgi?id=16404>.  */
+# define _GL_HAS_BUILTIN_MUL_OVERFLOW 0
+#else
+# define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW
+#endif
+
+/* True if __builtin_add_overflow_p (A, B, C) works, and similarly for
+   __builtin_sub_overflow_p and __builtin_mul_overflow_p.  */
+#ifdef __EDG__
+/* In EDG-based compilers like ICC 2021.3 and earlier,
+   __builtin_add_overflow_p etc. are not treated as integral constant
+   expressions even when all arguments are.  */
+# define _GL_HAS_BUILTIN_OVERFLOW_P 0
+#elif defined __has_builtin
+# define _GL_HAS_BUILTIN_OVERFLOW_P __has_builtin (__builtin_mul_overflow_p)
+#else
+# define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+#endif
+
+#if (!defined _GL_STDCKDINT_H && 202311 <= __STDC_VERSION__ \
+     && ! (_GL_HAS_BUILTIN_ADD_OVERFLOW && _GL_HAS_BUILTIN_MUL_OVERFLOW))
+# include <stdckdint.h>
+#endif
+
+/* Store the low-order bits of A + B, A - B, A * B, respectively, into *R.
+   Return 1 if the result overflows.  Arguments should not have side
+   effects and A, B and *R can be of any integer type other than char,
+   bool, a bit-precise integer type, or an enumeration type.  */
+#if _GL_HAS_BUILTIN_ADD_OVERFLOW
+# define _GL_INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r)
+# define _GL_INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r)
+#elif defined ckd_add && defined ckd_sub && !defined _GL_STDCKDINT_H
+# define _GL_INT_ADD_WRAPV(a, b, r) ckd_add (r, + (a), + (b))
+# define _GL_INT_SUBTRACT_WRAPV(a, b, r) ckd_sub (r, + (a), + (b))
+#else
+# define _GL_INT_ADD_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW)
+# define _GL_INT_SUBTRACT_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
+#endif
+#if _GL_HAS_BUILTIN_MUL_OVERFLOW
+# if ((9 < __GNUC__ + (3 <= __GNUC_MINOR__) \
+       || (__GNUC__ == 8 && 4 <= __GNUC_MINOR__)) \
+      && !defined __EDG__)
+#  define _GL_INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r)
+# else
+   /* Work around GCC bug 91450.  */
+#  define _GL_INT_MULTIPLY_WRAPV(a, b, r) \
+    ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && _GL_EXPR_SIGNED (a) && _GL_EXPR_SIGNED (b) \
+      && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \
+     ? ((void) __builtin_mul_overflow (a, b, r), 1) \
+     : __builtin_mul_overflow (a, b, r))
+# endif
+#elif defined ckd_mul && !defined _GL_STDCKDINT_H
+# define _GL_INT_MULTIPLY_WRAPV(a, b, r) ckd_mul (r, + (a), + (b))
+#else
+# define _GL_INT_MULTIPLY_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
+#endif
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+   https://llvm.org/bugs/show_bug.cgi?id=25390
+   For now, assume all versions of GCC-like compilers generate bogus
+   warnings for _Generic.  This matters only for compilers that
+   lack relevant builtins.  */
+#if __GNUC__ || defined __clang__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where OP specifies
+   the operation and OVERFLOW the overflow predicate.  Return 1 if the
+   result overflows.  Arguments should not have side effects,
+   and A, B and *R can be of any integer type other than char, bool, a
+   bit-precise integer type, or an enumeration type.  */
+#if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \
+   (_Generic \
+    (*(r), \
+     signed char: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        signed char, SCHAR_MIN, SCHAR_MAX), \
+     unsigned char: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        unsigned char, 0, UCHAR_MAX), \
+     short int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        short int, SHRT_MIN, SHRT_MAX), \
+     unsigned short int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        unsigned short int, 0, USHRT_MAX), \
+     int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        int, INT_MIN, INT_MAX), \
+     unsigned int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        unsigned int, 0, UINT_MAX), \
+     long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX), \
+     unsigned long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        unsigned long int, 0, ULONG_MAX), \
+     long long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX), \
+     unsigned long long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        unsigned long long int, 0, ULLONG_MAX)))
+#else
+/* Store the low-order bits of A <op> B into *R, where OP specifies
+   the operation and OVERFLOW the overflow predicate.  If *R is
+   signed, its type is ST with bounds SMIN..SMAX; otherwise its type
+   is UT with bounds U..UMAX.  ST and UT are narrower than int.
+   Return 1 if the result overflows.  Arguments should not have side
+   effects, and A, B and *R can be of any integer type other than
+   char, bool, a bit-precise integer type, or an enumeration type.  */
+# if _GL_HAVE___TYPEOF__
+#  define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \
+    (_GL_TYPE_SIGNED (__typeof__ (*(r))) \
+     ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \
+     : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax))
+# else
+#  define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \
+    (overflow (a, b, smin, smax) \
+     ? (overflow (a, b, 0, umax) \
+        ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \
+        : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \
+     : (overflow (a, b, 0, umax) \
+        ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \
+        : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0)))
+# endif
+
+# define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \
+   (sizeof *(r) == sizeof (signed char) \
+    ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \
+                                 signed char, SCHAR_MIN, SCHAR_MAX, \
+                                 unsigned char, UCHAR_MAX) \
+    : sizeof *(r) == sizeof (short int) \
+    ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \
+                                 short int, SHRT_MIN, SHRT_MAX, \
+                                 unsigned short int, USHRT_MAX) \
+    : sizeof *(r) == sizeof (int) \
+    ? (_GL_EXPR_SIGNED (*(r)) \
+       ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                          int, INT_MIN, INT_MAX) \
+       : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                          unsigned int, 0, UINT_MAX)) \
+    : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
+# ifdef LLONG_MAX
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    (sizeof *(r) == sizeof (long int) \
+     ? (_GL_EXPR_SIGNED (*(r)) \
+        ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                           long int, LONG_MIN, LONG_MAX) \
+        : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                           unsigned long int, 0, ULONG_MAX)) \
+     : (_GL_EXPR_SIGNED (*(r)) \
+        ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                           long long int, LLONG_MIN, LLONG_MAX) \
+        : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                           unsigned long long int, 0, ULLONG_MAX)))
+# else
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    (_GL_EXPR_SIGNED (*(r)) \
+     ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX) \
+     : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        unsigned long int, 0, ULONG_MAX))
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+   is given by OP.  Use the unsigned type UT for calculation to avoid
+   overflow problems.  *R's type is T, with extrema TMIN and TMAX.
+   T can be any signed integer type other than char, bool, a
+   bit-precise integer type, or an enumeration type.
+   Return 1 if the result overflows.  */
+#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+  (overflow (a, b, tmin, tmax) \
+   ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \
+   : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0))
+
+/* Return 1 if the integer expressions A - B and -A would overflow,
+   respectively.  Arguments should not have side effects,
+   and can be any signed integer type other than char, bool, a
+   bit-precise integer type, or an enumeration type.
+   These macros are tuned for their last input argument being a constant.  */
+
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_INT_NEGATE_OVERFLOW(a) \
+   __builtin_sub_overflow_p (0, a, (__typeof__ (- (a))) 0)
+#else
+# define _GL_INT_NEGATE_OVERFLOW(a) \
+   _GL_INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#endif
+
+/* Return the low-order bits of A <op> B, where the operation is given
+   by OP.  Use the unsigned type UT for calculation to avoid undefined
+   behavior on signed integer overflow, and convert the result to type T.
+   UT is at least as wide as T and is no narrower than unsigned int,
+   T is two's complement, and there is no padding or trap representations.
+   Assume that converting UT to T yields the low-order bits, as is
+   done in all known two's-complement C compilers.  E.g., see:
+   https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html
+
+   According to the C standard, converting UT to T yields an
+   implementation-defined result or signal for values outside T's
+   range.  However, code that works around this theoretical problem
+   runs afoul of a compiler bug in Oracle Studio 12.3 x86.  See:
+   https://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
+   As the compiler bug is real, don't try to work around the
+   theoretical problem.  */
+
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \
+  ((t) ((ut) (a) op (ut) (b)))
+
+/* Return true if the numeric values A + B, A - B, A * B fall outside
+   the range TMIN..TMAX.  Arguments should not have side effects
+   and can be any integer type other than char, bool,
+   a bit-precise integer type, or an enumeration type.
+   TMIN should be signed and nonpositive.
+   TMAX should be positive, and should be signed unless TMIN is zero.  */
+#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \
+  ((b) < 0 \
+   ? (((tmin) \
+       ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \
+          && (a) < (tmin) - (b)) \
+       : (a) <= -1 - (b)) \
+      || ((_GL_EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \
+   : (a) < 0 \
+   ? (((tmin) \
+       ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \
+          && (b) < (tmin) - (a)) \
+       : (b) <= -1 - (a)) \
+      || ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \
+          && (tmax) < (a) + (b))) \
+   : (tmax) < (b) || (tmax) - (b) < (a))
+#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \
+  (((a) < 0) == ((b) < 0) \
+   ? ((a) < (b) \
+      ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \
+      : (tmax) < (a) - (b)) \
+   : (a) < 0 \
+   ? ((!_GL_EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \
+      || (a) - (tmin) < (b)) \
+   : ((! (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \
+          && _GL_EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \
+       && (tmax) <= -1 - (b)) \
+      || (tmax) + (b) < (a)))
+#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \
+  ((b) < 0 \
+   ? ((a) < 0 \
+      ? (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \
+         ? (a) < (tmax) / (b) \
+         : ((_GL_INT_NEGATE_OVERFLOW (b) \
+             ? _GL_INT_CONVERT (b, tmax) >> (_GL_TYPE_WIDTH (+ (b)) - 1) \
+             : (tmax) / -(b)) \
+            <= -1 - (a))) \
+      : _GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \
+      ? (_GL_EXPR_SIGNED (a) \
+         ? 0 < (a) + (tmin) \
+         : 0 < (a) && -1 - (tmin) < (a) - 1) \
+      : (tmin) / (b) < (a)) \
+   : (b) == 0 \
+   ? 0 \
+   : ((a) < 0 \
+      ? (_GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \
+         ? (_GL_EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \
+         : (tmin) / (a) < (b)) \
+      : (tmax) / (b) < (a)))
+
+#endif /* _GL_INTPROPS_INTERNAL_H */
index 2485c78..43734f3 100644 (file)
@@ -1,34 +1,24 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2024 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
-   the Free Software Foundation; either version 3 of the License, or
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2.1 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.
+   GNU Lesser 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/>.  */
-
-/* Written by Paul Eggert.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_INTPROPS_H
 #define _GL_INTPROPS_H
 
-#include <limits.h>
-
-/* Return an integer value, converted to the same type as the integer
-   expression E after integer type promotion.  V is the unconverted value.  */
-#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
-
-/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.  */
-#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
+#include "intprops-internal.h"
 
 /* The extra casts in the following macros work around compiler bugs,
    e.g., in Cray C 5.0.3.0.  */
    an integer.  */
 #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1)
 
-/* True if negative values of the signed integer type T use two's
-   complement, ones' complement, or signed magnitude representation,
-   respectively.  Much GNU code assumes two's complement, but some
-   people like to be portable to all possible C hosts.  */
-#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
+/* True if the real type T is signed.  */
+#define TYPE_SIGNED(t) _GL_TYPE_SIGNED (t)
 
-/* True if the signed integer expression E uses two's complement.  */
-#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
+/* Return 1 if the real expression E, after promotion, has a
+   signed or floating type.  Do not evaluate E.  */
+#define EXPR_SIGNED(e) _GL_EXPR_SIGNED (e)
 
-/* True if the arithmetic type T is signed.  */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
-/* Return 1 if the integer expression E, after integer promotion, has
-   a signed type.  */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Minimum and maximum values for integer types and expressions.  */
 
-
-/* Minimum and maximum values for integer types and expressions.  These
-   macros have undefined behavior if T is signed and has padding bits.
-   If this is a problem for you, please let us know how to fix it for
-   your host.  */
+/* The width in bits of the integer type or expression T.
+   Do not evaluate T.  T must not be a bit-field expression.
+   Padding bits are not supported; this is checked at compile-time below.  */
+#define TYPE_WIDTH(t) _GL_TYPE_WIDTH (t)
 
 /* The maximum and minimum values for the integer type T.  */
-#define TYPE_MINIMUM(t)                                                 \
-  ((t) (! TYPE_SIGNED (t)                                               \
-        ? (t) 0                                                         \
-        : TYPE_SIGNED_MAGNITUDE (t)                                     \
-        ? ~ (t) 0                                                       \
-        : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
 #define TYPE_MAXIMUM(t)                                                 \
   ((t) (! TYPE_SIGNED (t)                                               \
         ? (t) -1                                                        \
-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-
-/* The maximum and minimum values for the type of the expression E,
-   after integer promotion.  E should not have side effects.  */
-#define _GL_INT_MINIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
-   ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e)         \
-   : _GL_INT_CONVERT (e, 0))
-#define _GL_INT_MAXIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
-   ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
-   : _GL_INT_NEGATE_CONVERT (e, 1))
-#define _GL_SIGNED_INT_MAXIMUM(e)                                       \
-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
-
-
-/* Return 1 if the __typeof__ keyword works.  This could be done by
-   'configure', but for now it's easier to do it by hand.  */
-#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
-# define _GL_HAVE___TYPEOF__ 1
-#else
-# define _GL_HAVE___TYPEOF__ 0
-#endif
-
-/* Return 1 if the integer type or expression T might be signed.  Return 0
-   if it is definitely unsigned.  This macro does not evaluate its argument,
-   and expands to an integer constant expression.  */
-#if _GL_HAVE___TYPEOF__
-# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t))
-#else
-# define _GL_SIGNED_TYPE_OR_EXPR(t) 1
-#endif
+        : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
 
 /* Bound on length of the string representing an unsigned integer
    value representable in B bits.  log10 (2.0) < 146/485.  The
 #define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485)
 
 /* Bound on length of the string representing an integer type or expression T.
+   T must not be a bit-field expression.
+
    Subtract 1 for the sign bit if T is signed, and then add 1 more for
    a minus sign if needed.
 
-   Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is
-   signed, this macro may overestimate the true bound by one byte when
+   Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 1 when its argument is
+   unsigned, this macro may overestimate the true bound by one byte when
    applied to unsigned types of size 2, 4, 16, ... bytes.  */
 #define INT_STRLEN_BOUND(t)                                     \
-  (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT                 \
-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
+  (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
    + _GL_SIGNED_TYPE_OR_EXPR (t))
 
 /* Bound on buffer size needed to represent an integer type or expression T,
-   including the terminating null.  */
+   including the terminating null.  T must not be a bit-field expression.  */
 #define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
 
 
 /* Range overflow checks.
 
    The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C
-   operators might not yield numerically correct answers due to
-   arithmetic overflow.  They do not rely on undefined or
-   implementation-defined behavior.  Their implementations are simple
-   and straightforward, but they are a bit harder to use than the
-   INT_<op>_OVERFLOW macros described below.
+   operators overflow arithmetically when given the same arguments.
+   These macros do not rely on undefined or implementation-defined behavior.
+   Although their implementations are simple and straightforward,
+   they are harder to use and may be less efficient than the
+   INT_<op>_WRAPV, INT_<op>_OK, and INT_<op>_OVERFLOW macros described below.
 
    Example usage:
 
    must have minimum value MIN and maximum MAX.  Unsigned types should
    use a zero MIN of the proper type.
 
+   Because all arguments are subject to integer promotions, these
+   macros typically do not work on types narrower than 'int'.
+
    These macros are tuned for constant MIN and MAX.  For commutative
    operations such as A + B, they are also tuned for constant B.  */
 
 /* Return 1 if - A would overflow in [MIN,MAX] arithmetic.
    See above for restrictions.  */
 #define INT_NEGATE_RANGE_OVERFLOW(a, min, max)          \
-  ((min) < 0                                            \
-   ? (a) < - (max)                                      \
-   : 0 < (a))
+  _GL_INT_NEGATE_RANGE_OVERFLOW (a, min, max)
 
 /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
    See above for restrictions.  Avoid && and || as they tickle
    bugs in Sun C 5.11 2010/08/13 and other compilers; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.  */
+   <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.  */
 #define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max)     \
   ((b) < 0                                              \
    ? ((a) < 0                                           \
    ? (a) < (min) >> (b)                                 \
    : (max) >> (b) < (a))
 
-
 /* The _GL*_OVERFLOW macros have the same restrictions as the
    *_RANGE_OVERFLOW macros, except that they do not assume that operands
    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
    that the result (e.g., A + B) has that type.  */
-#define _GL_ADD_OVERFLOW(a, b, min, max)                                \
-  ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
-   : (a) < 0 ? (b) <= (a) + (b)                                         \
-   : (b) < 0 ? (a) <= (a) + (b)                                         \
-   : (a) + (b) < (b))
-#define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                           \
-  ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)             \
-   : (a) < 0 ? 1                                                        \
-   : (b) < 0 ? (a) - (b) <= (a)                                         \
-   : (a) < (b))
-#define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                           \
-  (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a))))       \
-   || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#if _GL_HAS_BUILTIN_OVERFLOW_P
+# define _GL_ADD_OVERFLOW(a, b, min, max)                               \
+   __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                          \
+   __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                          \
+   __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+#else
+# define _GL_ADD_OVERFLOW(a, b, min, max)                                \
+   ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
+    : (a) < 0 ? (b) <= (a) + (b)                                         \
+    : (b) < 0 ? (a) <= (a) + (b)                                         \
+    : (a) + (b) < (b))
+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                           \
+   ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)             \
+    : (a) < 0 ? 1                                                        \
+    : (b) < 0 ? (a) - (b) <= (a)                                         \
+    : (a) < (b))
+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                           \
+   (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a))))       \
+    || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#endif
 #define _GL_DIVIDE_OVERFLOW(a, b, min, max)                             \
   ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max)  \
    : (a) < 0 ? (b) <= (a) + (b) - 1                                     \
     : (a) % - (b))                                                      \
    == 0)
 
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
 
    The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
    might not yield numerically correct answers due to arithmetic overflow.
-   They work correctly on all known practical hosts, and do not rely
+   The INT_<op>_WRAPV macros compute the low-order bits of the sum,
+   difference, and product of two C integers, and return 1 if these
+   low-order bits are not numerically correct.
+   These macros work correctly on all known practical hosts, and do not rely
    on undefined behavior due to signed arithmetic overflow.
 
-   Example usage:
+   Example usage, assuming A and B are long int:
 
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_OVERFLOW (i, j))
-       printf ("multiply would overflow");
+     if (INT_MULTIPLY_OVERFLOW (a, b))
+       printf ("result would overflow\n");
      else
-       printf ("product is %ld", i * j);
+       printf ("result is %ld (no overflow)\n", a * b);
+
+   Example usage with WRAPV flavor:
+
+     long int result;
+     bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+     printf ("result is %ld (%s)\n", result,
+             overflow ? "after overflow" : "no overflow");
+
+   Restrictions on these macros:
 
    These macros do not check for all possible numerical problems or
    undefined or unspecified behavior: they do not check for division
    These macros may evaluate their arguments zero or multiple times, so the
    arguments should not have side effects.
 
-   These macros are tuned for their last argument being a constant.
+   The WRAPV macros are not constant expressions.  They support only
+   +, binary -, and *.
+
+   Because the WRAPV macros convert the result, they report overflow
+   in different circumstances than the OVERFLOW macros do.  For
+   example, in the typical case with 16-bit 'short' and 32-bit 'int',
+   if A, B and *R are all of type 'short' then INT_ADD_OVERFLOW (A, B)
+   returns false because the addition cannot overflow after A and B
+   are converted to 'int', whereas INT_ADD_WRAPV (A, B, R) returns
+   true or false depending on whether the sum fits into 'short'.
+
+   These macros are tuned for their last input argument being a constant.
+
+   A, B, and *R should be integers; they need not be the same type,
+   and they need not be all signed or all unsigned.
+   However, none of the integer types should be bit-precise,
+   and *R's type should not be char, bool, or an enumeration type.
 
    Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
    A % B, and A << B would overflow, respectively.  */
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
 #define INT_SUBTRACT_OVERFLOW(a, b) \
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#define INT_NEGATE_OVERFLOW(a) \
-  INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#define INT_NEGATE_OVERFLOW(a) _GL_INT_NEGATE_OVERFLOW (a)
 #define INT_MULTIPLY_OVERFLOW(a, b) \
   _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
 #define INT_DIVIDE_OVERFLOW(a, b) \
    Arguments should be free of side effects.  */
 #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)        \
   op_result_overflow (a, b,                                     \
-                      _GL_INT_MINIMUM (0 * (b) + (a)),          \
-                      _GL_INT_MAXIMUM (0 * (b) + (a)))
+                      _GL_INT_MINIMUM (_GL_INT_CONVERT (a, b)), \
+                      _GL_INT_MAXIMUM (_GL_INT_CONVERT (a, b)))
+
+/* Store the low-order bits of A + B, A - B, A * B, respectively, into *R.
+   Return 1 if the result overflows.  See above for restrictions.  */
+#define INT_ADD_WRAPV(a, b, r) _GL_INT_ADD_WRAPV (a, b, r)
+#define INT_SUBTRACT_WRAPV(a, b, r) _GL_INT_SUBTRACT_WRAPV (a, b, r)
+#define INT_MULTIPLY_WRAPV(a, b, r) _GL_INT_MULTIPLY_WRAPV (a, b, r)
+
+/* The following macros compute A + B, A - B, and A * B, respectively.
+   If no overflow occurs, they set *R to the result and return 1;
+   otherwise, they return 0 and may modify *R.
+
+   Example usage:
+
+     long int result;
+     if (INT_ADD_OK (a, b, &result))
+       printf ("result is %ld\n", result);
+     else
+       printf ("overflow\n");
+
+   A, B, and *R should be integers; they need not be the same type,
+   and they need not be all signed or all unsigned.
+   However, none of the integer types should be bit-precise,
+   and *R's type should not be char, bool, or an enumeration type.
+
+   These macros work correctly on all known practical hosts, and do not rely
+   on undefined behavior due to signed arithmetic overflow.
+
+   These macros are not constant expressions.
+
+   These macros may evaluate their arguments zero or multiple times, so the
+   arguments should not have side effects.
+
+   These macros are tuned for B being a constant.  */
+
+#define INT_ADD_OK(a, b, r) (! INT_ADD_WRAPV (a, b, r))
+#define INT_SUBTRACT_OK(a, b, r) (! INT_SUBTRACT_WRAPV (a, b, r))
+#define INT_MULTIPLY_OK(a, b, r) (! INT_MULTIPLY_WRAPV (a, b, r))
 
 #endif /* _GL_INTPROPS_H */
diff --git a/gl/limits.in.h b/gl/limits.in.h
new file mode 100644 (file)
index 0000000..236fc58
--- /dev/null
@@ -0,0 +1,151 @@
+/* A GNU-like <limits.h>.
+
+   Copyright 2016-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined _GL_ALREADY_INCLUDING_LIMITS_H
+/* Special invocation convention:
+   On Haiku/x86_64, we have a sequence of nested includes
+   <limits.h> -> <syslimits.h> -> <limits.h>.
+   In this situation, LONG_MAX and INT_MAX are not yet defined,
+   therefore we should not attempt to define LONG_BIT.  */
+
+#@INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+
+# define _GL_ALREADY_INCLUDING_LIMITS_H
+
+/* The include_next requires a split double-inclusion guard.  */
+# @INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+# undef _GL_ALREADY_INCLUDING_LIMITS_H
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+#define _@GUARD_PREFIX@_LIMITS_H
+
+#ifndef LLONG_MIN
+# if defined LONG_LONG_MIN /* HP-UX 11.31 */
+#  define LLONG_MIN LONG_LONG_MIN
+# elif defined LONGLONG_MIN /* IRIX 6.5 */
+#  define LLONG_MIN LONGLONG_MIN
+# elif defined __GNUC__
+#  define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL)
+# endif
+#endif
+#ifndef LLONG_MAX
+# if defined LONG_LONG_MAX /* HP-UX 11.31 */
+#  define LLONG_MAX LONG_LONG_MAX
+# elif defined LONGLONG_MAX /* IRIX 6.5 */
+#  define LLONG_MAX LONGLONG_MAX
+# elif defined __GNUC__
+#  define LLONG_MAX __LONG_LONG_MAX__
+# endif
+#endif
+#ifndef ULLONG_MAX
+# if defined ULONG_LONG_MAX /* HP-UX 11.31 */
+#  define ULLONG_MAX ULONG_LONG_MAX
+# elif defined ULONGLONG_MAX /* IRIX 6.5 */
+#  define ULLONG_MAX ULONGLONG_MAX
+# elif defined __GNUC__
+#  define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
+# endif
+#endif
+
+/* The number of usable bits in an unsigned or signed integer type
+   with minimum value MIN and maximum value MAX, as an int expression
+   suitable in #if.  Cover all known practical hosts.  This
+   implementation exploits the fact that MAX is 1 less than a power of
+   2, and merely counts the number of 1 bits in MAX; "COBn" means
+   "count the number of 1 bits in the low-order n bits").  */
+#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max))
+#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n))
+#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n))
+#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n))
+#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n))
+#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
+#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
+
+#ifndef WORD_BIT
+/* Assume 'int' is 32 bits wide.  */
+# define WORD_BIT 32
+#endif
+#ifndef LONG_BIT
+/* Assume 'long' is 32 or 64 bits wide.  */
+# if LONG_MAX == INT_MAX
+#  define LONG_BIT 32
+# else
+#  define LONG_BIT 64
+# endif
+#endif
+
+/* Assume no multibyte character is longer than 16 bytes.  */
+#ifndef MB_LEN_MAX
+# define MB_LEN_MAX 16
+#endif
+
+/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014.  */
+
+#if (! defined ULLONG_WIDTH                                             \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \
+         || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)))
+# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX)
+# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX)
+# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX)
+# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX)
+# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX)
+# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX)
+# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX)
+# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX)
+# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX)
+# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX)
+# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
+#endif
+
+/* Macros specified by C23.  */
+
+#if (defined _GNU_SOURCE \
+     || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))
+# if ! defined BOOL_WIDTH
+#  define BOOL_WIDTH 1
+#  define BOOL_MAX 1
+# elif ! defined BOOL_MAX
+#  define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1)
+# endif
+#endif
+
+/* Macro specified by POSIX.  */
+
+/* The maximum ssize_t value.  Although it might not be of ssize_t type
+   as it should be, it's too much trouble to fix this minor detail.  */
+#ifndef SSIZE_MAX
+# ifdef _WIN64
+#  define SSIZE_MAX LLONG_MAX
+# else
+#  define SSIZE_MAX LONG_MAX
+# endif
+#endif
+
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif
index d978cb8..3448c40 100644 (file)
@@ -1,27 +1,82 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 8
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl This file must be named something that sorts before all other
-dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl gnulib-provided .m4 files.  It is needed until the clang fix has
+dnl been included in Autoconf.
 
-# AC_DEFUN_ONCE([NAME], VALUE)
-# ----------------------------
-# Define NAME to expand to VALUE on the first use (whether by direct
-# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses.
-# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier.  This
-# definition is slower than the version in Autoconf 2.64, because it
-# can only use interfaces that existed since 2.59; but it achieves the
-# same effect.  Quoting is necessary to avoid confusing Automake.
-m4_version_prereq([2.63.263], [],
-[m4_define([AC][_DEFUN_ONCE],
-  [AC][_DEFUN([$1],
-    [AC_REQUIRE([_gl_DEFUN_ONCE([$1])],
-      [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl
-[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])])
+# The following definitions arrange to use a compiler option
+# -Werror=implicit-function-declaration in AC_CHECK_DECL, when the
+# compiler is clang.  Without it, clang implicitly declares "known"
+# library functions in C mode, but not in C++ mode, which would cause
+# Gnulib to omit a declaration and thus later produce an error in C++
+# mode.  As of clang 9.0, these "known" functions are identified through
+# LIBBUILTIN invocations in the LLVM source file
+# llvm/tools/clang/include/clang/Basic/Builtins.def.
+# It's not possible to AC_REQUIRE the extra tests from AC_CHECK_DECL,
+# because AC_CHECK_DECL, like other Autoconf built-ins, is not supposed
+# to AC_REQUIRE anything: some configure.ac files have their first
+# AC_CHECK_DECL executed conditionally.  Therefore append the extra tests
+# to AC_PROG_CC.
+AC_DEFUN([gl_COMPILER_CLANG],
+[
+dnl AC_REQUIRE([AC_PROG_CC])
+  AC_CACHE_CHECK([whether the compiler is clang],
+    [gl_cv_compiler_clang],
+    [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error
+     dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has
+     dnl not yet been invoked.
+     _AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM([[
+           #ifdef __clang__
+           barfbarf
+           #endif
+           ]],[[]])
+        ],
+        [gl_cv_compiler_clang=no],
+        [gl_cv_compiler_clang=yes])
+    ])
+])
+AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL],
+[
+dnl AC_REQUIRE([AC_PROG_CC])
+dnl AC_REQUIRE([gl_COMPILER_CLANG])
+  AC_CACHE_CHECK([for compiler option needed when checking for declarations],
+    [gl_cv_compiler_check_decl_option],
+    [if test $gl_cv_compiler_clang = yes; then
+       dnl Test whether the compiler supports the option
+       dnl '-Werror=implicit-function-declaration'.
+       save_ac_compile="$ac_compile"
+       ac_compile="$ac_compile -Werror=implicit-function-declaration"
+       dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a
+       dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
+       _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
+         [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'],
+         [gl_cv_compiler_check_decl_option=none])
+       ac_compile="$save_ac_compile"
+     else
+       gl_cv_compiler_check_decl_option=none
+     fi
+    ])
+  if test "x$gl_cv_compiler_check_decl_option" != xnone; then
+    ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option"
+  else
+    ac_compile_for_check_decl="$ac_compile"
+  fi
+])
+dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl
+dnl instead of ac_compile.  If, for whatever reason, the override of AC_PROG_CC
+dnl in zzgnulib.m4 is inactive, use the original ac_compile.
+m4_define([_AC_CHECK_DECL_BODY],
+[  ac_save_ac_compile="$ac_compile"
+  if test -n "$ac_compile_for_check_decl"; then
+    ac_compile="$ac_compile_for_check_decl"
+  fi]
+m4_defn([_AC_CHECK_DECL_BODY])[  ac_compile="$ac_save_ac_compile"
+])
 
 # gl_00GNULIB
 # -----------
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4
new file mode 100644 (file)
index 0000000..0e9f9ba
--- /dev/null
@@ -0,0 +1,100 @@
+# absolute-header.m4 serial 18
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Derek Price.
+
+# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
+# ---------------------------------------
+# Find the absolute name of a header file, testing first if the header exists.
+# If the header were sys/inttypes.h, this macro would define
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
+# in config.h
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
+# Note: This macro assumes that the header file is not empty after
+# preprocessing, i.e. it does not only define preprocessor macros but also
+# provides some type/enum definitions or function/variable declarations.
+AC_DEFUN([gl_ABSOLUTE_HEADER],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PREPROC_REQUIRE()dnl
+m4_foreach_w([gl_HEADER_NAME], [$1],
+  [AS_VAR_PUSHDEF([gl_absolute_header],
+                  [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
+  AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+    [gl_absolute_header],
+    [AS_VAR_PUSHDEF([ac_header_exists],
+                    [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
+    AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
+    if test AS_VAR_GET([ac_header_exists]) = yes; then
+      gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
+    fi
+    AS_VAR_POPDEF([ac_header_exists])dnl
+    ])dnl
+  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
+                     ["AS_VAR_GET([gl_absolute_header])"],
+                     [Define this to an absolute name of <]m4_defn([gl_HEADER_NAME])[>.])
+  AS_VAR_POPDEF([gl_absolute_header])dnl
+])dnl
+])# gl_ABSOLUTE_HEADER
+
+# gl_ABSOLUTE_HEADER_ONE(HEADER)
+# ------------------------------
+# Like gl_ABSOLUTE_HEADER, except that:
+#   - it assumes that the header exists,
+#   - it uses the current CPPFLAGS,
+#   - it does not cache the result,
+#   - it is silent.
+AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
+  dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
+  dnl that contain only a #include of other header files and no
+  dnl non-comment tokens of their own. This leads to a failure to
+  dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
+  dnl and others. The workaround is to force preservation of comments
+  dnl through option -C. This ensures all necessary #line directives
+  dnl are present. GCC supports option -C as well.
+  case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+changequote(,)
+  case "$host_os" in
+    mingw* | windows*)
+      dnl For the sake of native Windows compilers (excluding gcc),
+      dnl treat backslash as a directory separator, like /.
+      dnl Actually, these compilers use a double-backslash as
+      dnl directory separator, inside the
+      dnl   # line "filename"
+      dnl directives.
+      gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+  dnl A sed expression that turns a string into a basic regular
+  dnl expression, for use within "/.../".
+  gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo '$1' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+changequote([,])
+  dnl eval is necessary to expand gl_absname_cpp.
+  dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+  dnl so use subshell.
+  AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
+[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+  sed -n "$gl_absolute_header_sed"`])
+])
index 656924b..9096021 100644 (file)
@@ -1,5 +1,5 @@
-# alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2012 Free Software Foundation,
+# alloca.m4 serial 21
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2024 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -26,30 +26,35 @@ AC_DEFUN([gl_FUNC_ALLOCA],
       AC_DEFINE([HAVE_ALLOCA], [1],
         [Define to 1 if you have 'alloca' after including <alloca.h>,
          a header that may be supplied by this distribution.])
-      ALLOCA_H=alloca.h
+      GL_GENERATE_ALLOCA_H=true
     else
       dnl alloca exists as a library function, i.e. it is slow and probably
       dnl a memory leak. Don't define HAVE_ALLOCA in this case.
-      ALLOCA_H=
+      GL_GENERATE_ALLOCA_H=false
     fi
   else
-    ALLOCA_H=alloca.h
+    GL_GENERATE_ALLOCA_H=true
   fi
-  AC_SUBST([ALLOCA_H])
-  AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"])
+
+  if test $ac_cv_working_alloca_h = yes; then
+    HAVE_ALLOCA_H=1
+  else
+    HAVE_ALLOCA_H=0
+  fi
+  AC_SUBST([HAVE_ALLOCA_H])
 ])
 
 # Prerequisites of lib/alloca.c.
 # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
 AC_DEFUN([gl_PREREQ_ALLOCA], [:])
 
-# This works around a bug in autoconf <= 2.68.
-# See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>.
+m4_version_prereq([2.70], [], [
 
-m4_version_prereq([2.69], [] ,[
-
-# This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
+# This works around a bug in autoconf <= 2.68 and has simplifications
+# from 2.70.  See:
+# https://lists.gnu.org/r/bug-gnulib/2011-06/msg00277.html
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
+# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=15edf7fd8094fd14a89d9891dd72a9624762597a
 
 # _AC_LIBOBJ_ALLOCA
 # -----------------
@@ -65,26 +70,6 @@ AC_LIBSOURCES(alloca.c)
 AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
 AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
 
-AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray,
-[AC_EGREP_CPP(webecray,
-[#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    AC_CHECK_FUNC($ac_func,
-                  [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
-                                      [Define to one of '_getb67', 'GETB67',
-                                       'getb67' for Cray-2 and Cray-YMP
-                                       systems. This function is required for
-                                       'alloca.c' support on those systems.])
-    break])
-  done
-fi
-
 AC_CACHE_CHECK([stack direction for C alloca],
                [ac_cv_c_stack_direction],
 [AC_RUN_IFELSE([AC_LANG_SOURCE(
@@ -115,7 +100,7 @@ AH_VERBATIM([STACK_DIRECTION],
         STACK_DIRECTION > 0 => grows toward higher addresses
         STACK_DIRECTION < 0 => grows toward lower addresses
         STACK_DIRECTION = 0 => direction of growth unknown */
-@%:@undef STACK_DIRECTION])dnl
+#undef STACK_DIRECTION])dnl
 AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
 ])# _AC_LIBOBJ_ALLOCA
 ])
diff --git a/gl/m4/assert_h.m4 b/gl/m4/assert_h.m4
new file mode 100644 (file)
index 0000000..a73e45f
--- /dev/null
@@ -0,0 +1,73 @@
+# assert-h.m4
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+AC_DEFUN([gl_ASSERT_H],
+[
+  AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert],
+    [gl_save_CFLAGS=$CFLAGS
+     for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
+      AS_CASE([$gl_working],
+        [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"])
+
+      AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#if defined __clang__ && __STDC_VERSION__ < 202311
+             #pragma clang diagnostic error "-Wc2x-extensions"
+             #pragma clang diagnostic error "-Wc++1z-extensions"
+            #endif
+            #ifdef INCLUDE_ASSERT_H
+             #include <assert.h>
+            #endif
+            static_assert (2 + 2 == 4, "arithmetic does not work");
+            static_assert (2 + 2 == 4);
+          ]],
+          [[
+            static_assert (sizeof (char) == 1, "sizeof does not work");
+            static_assert (sizeof (char) == 1);
+          ]])],
+       [gl_cv_static_assert=$gl_working],
+       [gl_cv_static_assert=no])
+      CFLAGS=$gl_save_CFLAGS
+      test "$gl_cv_static_assert" != no && break
+     done])
+
+  GL_GENERATE_ASSERT_H=false
+  AS_CASE([$gl_cv_static_assert],
+    [yes*keyword*],
+      [AC_DEFINE([HAVE_C_STATIC_ASSERT], [1],
+         [Define to 1 if the static_assert keyword works.])],
+    [no],
+      [GL_GENERATE_ASSERT_H=true
+       gl_NEXT_HEADERS([assert.h])])
+
+  dnl The "zz" puts this toward config.h's end, to avoid potential
+  dnl collisions with other definitions.
+  dnl #undef assert so that programs are not tempted to use it without
+  dnl specifically including assert.h.
+  dnl #undef __ASSERT_H__ so that on IRIX, when programs later include
+  dnl <assert.h>, this include actually defines assert.
+  dnl Break the #undef_s apart with a comment so that 'configure' does
+  dnl not comment them out.
+  AH_VERBATIM([zzstatic_assert],
+[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+     && (!defined __cplusplus \
+         || (__cpp_static_assert < 201411 \
+             && __GNUG__ < 6 && __clang_major__ < 6)))
+ #include <assert.h>
+ #undef/**/assert
+ #ifdef __sgi
+  #undef/**/__ASSERT_H__
+ #endif
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+    We need it also to be invocable with a single argument.  */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+  #undef/**/static_assert
+  #define static_assert _Static_assert
+ #endif
+#endif])
+])
index 284dc60..814bc19 100644 (file)
@@ -1,5 +1,5 @@
-# autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
+# autobuild.m4 serial 8
+dnl Copyright (C) 2004, 2006-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -27,7 +27,7 @@ AC_DEFUN([AB_INIT],
     AC_MSG_NOTICE([autobuild hostname... $hostname])
   fi
 
-  ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])])
+  m4_if([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])])
 
   date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ`
   if test "$?" != 0; then
diff --git a/gl/m4/c-bool.m4 b/gl/m4/c-bool.m4
new file mode 100644 (file)
index 0000000..44fba3c
--- /dev/null
@@ -0,0 +1,51 @@
+# Check for bool that conforms to C2023.
+
+dnl Copyright 2022-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_C_BOOL],
+[
+  AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_SOURCE([[
+          #if true == false
+           #error "true == false"
+          #endif
+          extern bool b;
+          bool b = true == false;]])],
+       [gl_cv_c_bool=yes],
+       [gl_cv_c_bool=no])])
+  if test "$gl_cv_c_bool" = yes; then
+    AC_DEFINE([HAVE_C_BOOL], [1],
+      [Define to 1 if bool, true and false work as per C2023.])
+  fi
+
+  AC_CHECK_HEADERS_ONCE([stdbool.h])
+
+  dnl The "zz" puts this toward config.h's end, to avoid potential
+  dnl collisions with other definitions.
+  dnl If 'bool', 'true' and 'false' do not work, arrange for them to work.
+  dnl In C, this means including <stdbool.h> if it is not already included.
+  dnl However, if the preprocessor mistakenly treats 'true' as 0,
+  dnl define it to a bool expression equal to 1; this is needed in
+  dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older.
+  AH_VERBATIM([zzbool],
+[#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif])
+])
index 379e70d..6b6d382 100644 (file)
@@ -1,16 +1,18 @@
-# close.m4 serial 8
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# close.m4 serial 10
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_FUNC_CLOSE],
+AC_DEFUN_ONCE([gl_FUNC_CLOSE],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_CLOSE=1
-  fi
+  m4_ifdef([gl_MSVC_INVAL], [
+    AC_REQUIRE([gl_MSVC_INVAL])
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_CLOSE=1
+    fi
+  ])
   m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
     gl_PREREQ_SYS_H_WINSOCK2
     if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
similarity index 58%
rename from m4/codeset.m4
rename to gl/m4/codeset.m4
index a53c042..94dccce 100644 (file)
@@ -1,5 +1,6 @@
-# codeset.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc.
+# codeset.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2024 Free Software
+dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,10 +10,12 @@ dnl From Bruno Haible.
 AC_DEFUN([AM_LANGINFO_CODESET],
 [
   AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
-    [AC_TRY_LINK([#include <langinfo.h>],
-      [char* cs = nl_langinfo(CODESET); return !cs;],
-      [am_cv_langinfo_codeset=yes],
-      [am_cv_langinfo_codeset=no])
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <langinfo.h>]],
+          [[char* cs = nl_langinfo(CODESET); return !cs;]])],
+       [am_cv_langinfo_codeset=yes],
+       [am_cv_langinfo_codeset=no])
     ])
   if test $am_cv_langinfo_codeset = yes; then
     AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
index 6ec3223..f92f1c7 100644 (file)
@@ -1,25 +1,21 @@
-# csharp.m4 serial 3
-dnl Copyright (C) 2004-2005, 2009-2012 Free Software Foundation, Inc.
+# csharp.m4 serial 4
+dnl Copyright (C) 2004-2005, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # Sets CSHARP_CHOICE to the preferred C# implementation:
-# 'pnet' or 'mono' or 'any' or 'no'.
+# 'mono' or 'any' or 'no'.
 AC_DEFUN([gt_CSHARP_CHOICE],
 [
   AC_MSG_CHECKING([for preferred C[#] implementation])
   AC_ARG_ENABLE([csharp],
-    [  --enable-csharp[[=IMPL]]  choose preferred C[#] implementation (pnet or mono)],
+    [  --enable-csharp[[=IMPL]]  choose preferred C[#] implementation (mono)],
     [CSHARP_CHOICE="$enableval"],
     CSHARP_CHOICE=any)
   AC_SUBST([CSHARP_CHOICE])
   AC_MSG_RESULT([$CSHARP_CHOICE])
   case "$CSHARP_CHOICE" in
-    pnet)
-      AC_DEFINE([CSHARP_CHOICE_PNET], [1],
-        [Define if pnet is the preferred C# implementation.])
-      ;;
     mono)
       AC_DEFINE([CSHARP_CHOICE_MONO], [1],
         [Define if mono is the preferred C# implementation.])
index dc7c588..5a236ed 100644 (file)
@@ -1,12 +1,12 @@
-# csharpcomp.m4 serial 8
-dnl Copyright (C) 2003-2005, 2007, 2009-2012 Free Software Foundation, Inc.
+# csharpcomp.m4 serial 9
+dnl Copyright (C) 2003-2005, 2007, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # Prerequisites of csharpcomp.sh.
 # Checks for a C# compiler.
-# Sets at most one of HAVE_CSCC, HAVE_MCS, HAVE_CSC.
+# Sets at most one of HAVE_MCS, HAVE_CSC.
 # Sets HAVE_CSHARPCOMP to nonempty if csharpcomp.sh will work.
 # Also sets CSHARPCOMPFLAGS.
 AC_DEFUN([gt_CSHARPCOMP],
@@ -17,30 +17,13 @@ AC_DEFUN([gt_CSHARPCOMP],
   pushdef([AC_MSG_CHECKING],[:])dnl
   pushdef([AC_CHECKING],[:])dnl
   pushdef([AC_MSG_RESULT],[:])dnl
-  AC_CHECK_PROG([HAVE_CSCC_IN_PATH], [cscc], [yes])
   AC_CHECK_PROG([HAVE_MCS_IN_PATH], [mcs], [yes])
   AC_CHECK_PROG([HAVE_CSC_IN_PATH], [csc], [yes])
   popdef([AC_MSG_RESULT])dnl
   popdef([AC_CHECKING])dnl
   popdef([AC_MSG_CHECKING])dnl
-  for impl in "$CSHARP_CHOICE" pnet mono sscli no; do
+  for impl in "$CSHARP_CHOICE" mono sscli no; do
     case "$impl" in
-      pnet)
-        if test -n "$HAVE_CSCC_IN_PATH" \
-           && cscc --version >/dev/null 2>/dev/null \
-           && (
-             # See if pnetlib is well installed.
-             echo 'class ConfTest { static void Main() { } }' > conftest.cs
-             cscc -o conftest.exe conftest.cs 2>/dev/null
-             error=$?
-             rm -f conftest.cs conftest.exe
-             exit $error
-            ); then
-          HAVE_CSCC=1
-          ac_result="cscc"
-          break
-        fi
-        ;;
       mono)
         if test -n "$HAVE_MCS_IN_PATH" \
            && mcs --version >/dev/null 2>/dev/null \
@@ -67,7 +50,6 @@ AC_DEFUN([gt_CSHARPCOMP],
     esac
   done
   AC_MSG_RESULT([$ac_result])
-  AC_SUBST([HAVE_CSCC])
   AC_SUBST([HAVE_MCS])
   AC_SUBST([HAVE_CSC])
   dnl Provide a default for CSHARPCOMPFLAGS.
index fab2611..079c572 100644 (file)
@@ -1,5 +1,5 @@
-# csharpexec.m4 serial 4
-dnl Copyright (C) 2003-2005, 2009-2012 Free Software Foundation, Inc.
+# csharpexec.m4 serial 9
+dnl Copyright (C) 2003-2005, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,14 +7,15 @@ dnl with or without modifications, as long as this notice is preserved.
 # Prerequisites of csharpexec.sh.
 # Checks for a C# execution engine.
 # gt_CSHARPEXEC or gt_CSHARPEXEC(testexecutable, its-directory)
-# Sets at most one of HAVE_ILRUN, HAVE_MONO, HAVE_CLIX.
+# Sets at most one of HAVE_MONO, HAVE_CLIX.
 # Sets HAVE_CSHARPEXEC to nonempty if csharpexec.sh will work.
 AC_DEFUN([gt_CSHARPEXEC],
 [
   AC_REQUIRE([gt_CSHARP_CHOICE])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_MSG_CHECKING([for C[#] program execution engine])
   AC_EGREP_CPP([yes], [
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+#if defined _WIN32 || defined __EMX__ || defined __DJGPP__
   yes
 #endif
 ], MONO_PATH_SEPARATOR=';', MONO_PATH_SEPARATOR=':')
@@ -22,27 +23,17 @@ AC_DEFUN([gt_CSHARPEXEC],
   pushdef([AC_MSG_CHECKING],[:])dnl
   pushdef([AC_CHECKING],[:])dnl
   pushdef([AC_MSG_RESULT],[:])dnl
-  AC_CHECK_PROG([HAVE_ILRUN_IN_PATH], [ilrun], [yes])
   AC_CHECK_PROG([HAVE_MONO_IN_PATH], [mono], [yes])
   AC_CHECK_PROG([HAVE_CLIX_IN_PATH], [clix], [yes])
   popdef([AC_MSG_RESULT])dnl
   popdef([AC_CHECKING])dnl
   popdef([AC_MSG_CHECKING])dnl
-  for impl in "$CSHARP_CHOICE" pnet mono no; do
+  for impl in "$CSHARP_CHOICE" mono no; do
     case "$impl" in
-      pnet)
-        if test -n "$HAVE_ILRUN_IN_PATH" \
-           && ilrun --version >/dev/null 2>/dev/null \
-           ifelse([$1], , , [&& ilrun $2/$1 >/dev/null 2>/dev/null]); then
-          HAVE_ILRUN=1
-          ac_result="ilrun"
-          break
-        fi
-        ;;
       mono)
         if test -n "$HAVE_MONO_IN_PATH" \
            && mono --version >/dev/null 2>/dev/null \
-           ifelse([$1], , , [&& mono $2/$1 >/dev/null 2>/dev/null]); then
+           m4_if([$1], , , [&& mono $2/$1 >/dev/null 2>/dev/null]); then
           HAVE_MONO=1
           ac_result="mono"
           break
@@ -50,10 +41,10 @@ AC_DEFUN([gt_CSHARPEXEC],
         ;;
       sscli)
         if test -n "$HAVE_CLIX_IN_PATH" \
-           ifelse([$1], , , [&& clix $2/$1 >/dev/null 2>/dev/null]); then
+           m4_if([$1], , , [&& clix $2/$1 >/dev/null 2>/dev/null]); then
           HAVE_CLIX=1
           case $host_os in
-            cygwin* | mingw* | pw32*)
+            cygwin* | mingw* | windows* | pw32*)
               CLIX_PATH_VAR=PATH
               ;;
             darwin* | rhapsody*)
@@ -80,7 +71,6 @@ AC_DEFUN([gt_CSHARPEXEC],
   AC_SUBST([MONO_PATH_SEPARATOR])
   AC_SUBST([CLIX_PATH_VAR])
   AC_SUBST([CLIX_PATH])
-  AC_SUBST([HAVE_ILRUN])
   AC_SUBST([HAVE_MONO])
   AC_SUBST([HAVE_CLIX])
 ])
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4
new file mode 100644 (file)
index 0000000..00f23a7
--- /dev/null
@@ -0,0 +1,38 @@
+# double-slash-root.m4 serial 4   -*- Autoconf -*-
+dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root],
+    [ if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi])
+  if test "$gl_cv_double_slash_root" = yes; then
+    AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1],
+      [Define to 1 if // is a file system root distinct from /.])
+  fi
+])
index fc86e80..f6759b6 100644 (file)
@@ -1,5 +1,5 @@
-#serial 18
-dnl Copyright (C) 2002, 2005, 2007, 2009-2012 Free Software Foundation, Inc.
+#serial 28
+dnl Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,71 +8,95 @@ AC_DEFUN([gl_FUNC_DUP2],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [
-    AC_CHECK_FUNCS_ONCE([dup2])
-    if test $ac_cv_func_dup2 = no; then
-      HAVE_DUP2=0
-    fi
-  ], [
-    AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.])
-  ])
-  if test $HAVE_DUP2 = 1; then
-    AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
-      [AC_RUN_IFELSE([
-         AC_LANG_PROGRAM([[#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>]],
-           [int result = 0;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
-              result |= 1;
-#endif
-            if (dup2 (1, 1) == 0)
-              result |= 2;
-#ifdef FD_CLOEXEC
-            if (fcntl (1, F_GETFD) != FD_CLOEXEC)
-              result |= 4;
-#endif
-            close (0);
-            if (dup2 (0, 0) != -1)
-              result |= 8;
-            /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
-              result |= 16;
-            return result;
-           ])
-        ],
-        [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
-        [case "$host_os" in
-           mingw*) # on this platform, dup2 always returns 0 for success
-             gl_cv_func_dup2_works="guessing no" ;;
-           cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
-             gl_cv_func_dup2_works="guessing no" ;;
-           linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
-                   # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
-             gl_cv_func_dup2_works="guessing no" ;;
-           haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
-             gl_cv_func_dup2_works="guessing no" ;;
-           *) gl_cv_func_dup2_works="guessing yes" ;;
-         esac])
-      ])
-    case "$gl_cv_func_dup2_works" in
-      *yes) ;;
-      *)
-        REPLACE_DUP2=1
-        ;;
-    esac
-  fi
+  AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
+    [AC_RUN_IFELSE([
+       AC_LANG_PROGRAM(
+         [[#include <errno.h>
+           #include <fcntl.h>
+           #include <limits.h>
+           #include <sys/resource.h>
+           #include <unistd.h>
+           ]GL_MDA_DEFINES[
+           #ifndef RLIM_SAVED_CUR
+           # define RLIM_SAVED_CUR RLIM_INFINITY
+           #endif
+           #ifndef RLIM_SAVED_MAX
+           # define RLIM_SAVED_MAX RLIM_INFINITY
+           #endif
+         ]],
+         [[int result = 0;
+           int bad_fd = INT_MAX;
+           struct rlimit rlim;
+           if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+               && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+               && rlim.rlim_cur != RLIM_INFINITY
+               && rlim.rlim_cur != RLIM_SAVED_MAX
+               && rlim.rlim_cur != RLIM_SAVED_CUR)
+             bad_fd = rlim.rlim_cur;
+           #ifdef FD_CLOEXEC
+             if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+               result |= 1;
+           #endif
+           if (dup2 (1, 1) != 1)
+             result |= 2;
+           #ifdef FD_CLOEXEC
+             if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+               result |= 4;
+           #endif
+           close (0);
+           if (dup2 (0, 0) != -1)
+             result |= 8;
+           /* Many gnulib modules require POSIX conformance of EBADF.  */
+           if (dup2 (2, bad_fd) == -1 && errno != EBADF)
+             result |= 16;
+           /* Flush out some cygwin core dumps.  */
+           if (dup2 (2, -1) != -1 || errno != EBADF)
+             result |= 32;
+           dup2 (2, 255);
+           dup2 (2, 256);
+           /* On OS/2 kLIBC, dup2() does not work on a directory fd.  */
+           {
+             int fd = open (".", O_RDONLY);
+             if (fd == -1)
+               result |= 64;
+             else if (dup2 (fd, fd + 1) == -1)
+               result |= 128;
+             close (fd);
+           }
+           return result;]])
+      ],
+      [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
+      [case "$host_os" in
+         mingw* | windows*) # on this platform, dup2 always returns 0 for success
+           gl_cv_func_dup2_works="guessing no" ;;
+         cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
+           gl_cv_func_dup2_works="guessing no" ;;
+         aix* | freebsd*)
+                 # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                 # not EBADF.
+           gl_cv_func_dup2_works="guessing no" ;;
+         haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
+           gl_cv_func_dup2_works="guessing no" ;;
+         *-android*) # implemented using dup3(), which fails if oldfd == newfd
+           gl_cv_func_dup2_works="guessing no" ;;
+         os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
+           gl_cv_func_dup2_works="guessing no" ;;
+         *) gl_cv_func_dup2_works="guessing yes" ;;
+       esac])
+    ])
+  case "$gl_cv_func_dup2_works" in
+    *yes) ;;
+    *)
+      REPLACE_DUP2=1
+      AC_CHECK_FUNCS([setdtablesize])
+      ;;
+  esac
   dnl Replace dup2() for supporting the gnulib-defined fchdir() function,
   dnl to keep fchdir's bookkeeping up-to-date.
   m4_ifdef([gl_FUNC_FCHDIR], [
     gl_TEST_FCHDIR
     if test $HAVE_FCHDIR = 0; then
-      if test $HAVE_DUP2 = 1; then
-        REPLACE_DUP2=1
-      fi
+      REPLACE_DUP2=1
     fi
   ])
 ])
index 75f17e2..d8862a1 100644 (file)
@@ -1,5 +1,5 @@
-# eealloc.m4 serial 2
-dnl Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
+# eealloc.m4 serial 3
+dnl Copyright (C) 2003, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,7 +8,6 @@ AC_DEFUN([gl_EEALLOC],
 [
   AC_REQUIRE([gl_EEMALLOC])
   AC_REQUIRE([gl_EEREALLOC])
-  AC_REQUIRE([AC_C_INLINE])
 ])
 
 AC_DEFUN([gl_EEMALLOC],
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4
deleted file mode 100644 (file)
index 8eb57c9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_ENVIRON],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  dnl Persuade glibc <unistd.h> to declare environ.
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-  gt_CHECK_VAR_DECL(
-    [#if HAVE_UNISTD_H
-     #include <unistd.h>
-     #endif
-     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
-     #include <stdlib.h>
-    ],
-    [environ])
-  if test $gt_cv_var_environ_declaration != yes; then
-    HAVE_DECL_ENVIRON=0
-  fi
-])
-
-# Check if a variable is properly declared.
-# gt_CHECK_VAR_DECL(includes,variable)
-AC_DEFUN([gt_CHECK_VAR_DECL],
-[
-  define([gt_cv_var], [gt_cv_var_]$2[_declaration])
-  AC_MSG_CHECKING([if $2 is properly declared])
-  AC_CACHE_VAL([gt_cv_var], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[$1
-           extern struct { int foo; } $2;]],
-         [[$2.foo = 1;]])],
-      [gt_cv_var=no],
-      [gt_cv_var=yes])])
-  AC_MSG_RESULT([$gt_cv_var])
-  if test $gt_cv_var = yes; then
-    AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
-              [Define if you have the declaration of $2.])
-  fi
-  undefine([gt_cv_var])
-])
index 4f0bb83..8900d6c 100644 (file)
@@ -1,15 +1,20 @@
-# errno_h.m4 serial 10
-dnl Copyright (C) 2004, 2006, 2008-2012 Free Software Foundation, Inc.
+# errno_h.m4 serial 14
+dnl Copyright (C) 2004, 2006, 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [
     AC_EGREP_CPP([booboo],[
 #include <errno.h>
+#if !defined ETXTBSY
+booboo
+#endif
 #if !defined ENOMSG
 booboo
 #endif
@@ -49,18 +54,25 @@ booboo
 #if !defined ECANCELED
 booboo
 #endif
+#if !defined EOWNERDEAD
+booboo
+#endif
+#if !defined ENOTRECOVERABLE
+booboo
+#endif
+#if !defined EILSEQ
+booboo
+#endif
       ],
       [gl_cv_header_errno_h_complete=no],
       [gl_cv_header_errno_h_complete=yes])
   ])
   if test $gl_cv_header_errno_h_complete = yes; then
-    ERRNO_H=''
+    GL_GENERATE_ERRNO_H=false
   else
     gl_NEXT_HEADERS([errno.h])
-    ERRNO_H='errno.h'
+    GL_GENERATE_ERRNO_H=true
   fi
-  AC_SUBST([ERRNO_H])
-  AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"])
   gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
   gl_REPLACE_ERRNO_VALUE([ENOLINK])
   gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
@@ -74,7 +86,7 @@ booboo
 # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
 AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
 [
-  if test -n "$ERRNO_H"; then
+  if $GL_GENERATE_ERRNO_H; then
     AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
       AC_EGREP_CPP([yes],[
 #include <errno.h>
@@ -117,9 +129,3 @@ yes
     AC_SUBST($1[_VALUE])
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
index 5d9c70a..5688afc 100644 (file)
@@ -1,6 +1,6 @@
-#serial 14
+#serial 16
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2024 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8,21 +8,15 @@
 
 AC_DEFUN([gl_ERROR],
 [
-  dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
-  dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
-  AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
-    [AC_LINK_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <error.h>]],
-          [[error_at_line (0, 0, "", 0, "an error occurred");]])],
-       [ac_cv_lib_error_at_line=yes],
-       [ac_cv_lib_error_at_line=no])])
 ])
 
 # Prerequisites of lib/error.c.
 AC_DEFUN([gl_PREREQ_ERROR],
 [
+  dnl Use system extensions on Android, so that AC_FUNC_STRERROR_R
+  dnl discovers the GNU API for strerror_r on Android API level 23 and later.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   AC_REQUIRE([AC_FUNC_STRERROR_R])
-  AC_REQUIRE([AC_C_INLINE])
   :
 ])
diff --git a/gl/m4/error_h.m4 b/gl/m4/error_h.m4
new file mode 100644 (file)
index 0000000..f8016ce
--- /dev/null
@@ -0,0 +1,124 @@
+# error_h.m4 serial 4
+dnl Copyright (C) 1996-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Provide a working "error.h".
+
+AC_DEFUN_ONCE([gl_ERROR_H],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  gl_CHECK_NEXT_HEADERS([error.h])
+  if test $ac_cv_header_error_h = yes; then
+    HAVE_ERROR_H=1
+  else
+    HAVE_ERROR_H=0
+  fi
+  AC_SUBST([HAVE_ERROR_H])
+
+  REPLACE_ERROR=0
+
+  gl_CHECK_FUNCS_ANDROID([error], [[#include <error.h>]])
+  if test $ac_cv_func_error = yes; then
+    HAVE_ERROR=1
+  else
+    HAVE_ERROR=0
+    case "$gl_cv_onwards_func_error" in
+      future*) REPLACE_ERROR=1 ;;
+    esac
+  fi
+
+  dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
+  dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
+  dnl We need to notice a missing declaration, like gl_CHECK_FUNCS_ANDROID does.
+  AC_CHECK_DECL([error_at_line], , , [[#include <error.h>]])
+  if test $ac_cv_have_decl_error_at_line = yes; then
+    AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
+      [AC_LINK_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <error.h>]],
+            [[error_at_line (0, 0, "", 0, "an error occurred");]])],
+         [ac_cv_lib_error_at_line=yes],
+         [ac_cv_lib_error_at_line=no])])
+  else
+    ac_cv_lib_error_at_line=no
+  fi
+  if test $ac_cv_lib_error_at_line = yes; then
+    HAVE_ERROR_AT_LINE=1
+  else
+    HAVE_ERROR_AT_LINE=0
+  fi
+  REPLACE_ERROR_AT_LINE=0
+
+  if test $ac_cv_func_error = yes && test $ac_cv_lib_error_at_line = yes; then
+    dnl On Android 11, when error_print_progname is set, the output of the
+    dnl error() function contains an extra space.
+    AC_CACHE_CHECK([for working error function],
+      [gl_cv_func_working_error],
+      [if test $cross_compiling != yes; then
+         AC_LINK_IFELSE(
+           [AC_LANG_PROGRAM([[
+              #include <error.h>
+              static void print_no_progname (void) {}
+            ]], [[
+              error_print_progname = print_no_progname;
+              error (0, 0, "foo");
+            ]])
+           ],
+           [rm -f conftest.out
+            if test -s conftest$ac_exeext \
+               && ./conftest$ac_exeext 2> conftest.out; then
+              if grep ' ' conftest.out >/dev/null; then
+                gl_cv_func_working_error=no
+              else
+                gl_cv_func_working_error=yes
+              fi
+            else
+              gl_cv_func_working_error=no
+            fi
+            rm -f conftest.out
+           ],
+           [gl_cv_func_working_error=no])
+       else
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM([[
+              #include <error.h>
+            ]], [[
+              error (0, 0, "foo");
+            ]])
+           ],
+           [case "$host_os" in
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_working_error="guessing yes" ;;
+                               # Guess no on Android.
+              linux*-android*) gl_cv_func_working_error="guessing no" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+              *)               gl_cv_func_working_error="$gl_cross_guess_normal" ;;
+            esac
+           ],
+           [gl_cv_func_working_error=no])
+       fi
+      ])
+    case "$gl_cv_func_working_error" in
+      *no)
+        REPLACE_ERROR=1
+        REPLACE_ERROR_AT_LINE=1
+        ;;
+    esac
+  fi
+
+  if test $HAVE_ERROR = 0 || test $REPLACE_ERROR = 1 \
+     || test $HAVE_ERROR_AT_LINE = 0 || test $REPLACE_ERROR_AT_LINE = 1; then
+    COMPILE_ERROR_C=1
+  else
+    COMPILE_ERROR_C=0
+  fi
+
+  AC_SUBST([HAVE_ERROR])
+  AC_SUBST([HAVE_ERROR_AT_LINE])
+  AC_SUBST([REPLACE_ERROR])
+  AC_SUBST([REPLACE_ERROR_AT_LINE])
+])
index 0bfaef6..6fc2e30 100644 (file)
@@ -1,14 +1,19 @@
-# serial 11  -*- Autoconf -*-
+# serial 23  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
+dnl Define to empty for the benefit of Autoconf 2.69 and earlier, so that
+dnl AC_USE_SYSTEM_EXTENSIONS (below) can be used unchanged from Autoconf 2.70+.
+m4_ifndef([AC_CHECK_INCLUDES_DEFAULT],
+  [AC_DEFUN([AC_CHECK_INCLUDES_DEFAULT], [])])
+
+# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git
 # Autoconf.  Perhaps we can remove this once we can assume Autoconf
-# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
+# is recent-enough everywhere, but since Autoconf mutates rapidly
 # enough in this area it's likely we'll need to redefine
 # AC_USE_SYSTEM_EXTENSIONS for quite some time.
 
 #      its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
 #      invocation occurs in gl_EARLY, not in gl_INIT.
 
+m4_version_prereq([2.72], [], [
+
 # AC_USE_SYSTEM_EXTENSIONS
 # ------------------------
 # Enable extensions on systems that normally disable them,
 # typically due to standards-conformance issues.
-# Remember that #undef in AH_VERBATIM gets replaced with #define by
-# AC_DEFINE.  The goal here is to define all known feature-enabling
-# macros, then, if reports of conflicts are made, disable macros that
-# cause problems on some platforms (such as __EXTENSIONS__).
+# We unconditionally define as many of the known feature-enabling
+# as possible, reserving conditional behavior for macros that are
+# known to cause problems on some platforms (such as __EXTENSIONS__).
 AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
-[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+[AC_BEFORE([$0], [AC_PREPROC_IFELSE])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_LINK_IFELSE])dnl
 AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-
-  AC_REQUIRE([AC_CANONICAL_HOST])
-
-  AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
-  if test "$MINIX" = yes; then
-    AC_DEFINE([_POSIX_SOURCE], [1],
-      [Define to 1 if you need to in order for 'stat' and other
-       things to work.])
-    AC_DEFINE([_POSIX_1_SOURCE], [2],
-      [Define to 2 if the system does not provide POSIX.1 features
-       except with this defined.])
-    AC_DEFINE([_MINIX], [1],
-      [Define to 1 if on MINIX.])
-  fi
-
-  dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
-  dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
-  dnl provided.
-  case "$host_os" in
-    hpux*)
-      AC_DEFINE([_XOPEN_SOURCE], [500],
-        [Define to 500 only on HP-UX.])
-      ;;
-  esac
-
-  AH_VERBATIM([__EXTENSIONS__],
+AC_BEFORE([$0], [AC_CHECK_INCLUDES_DEFAULT])dnl
+dnl #undef in AH_VERBATIM gets replaced with #define by AC_DEFINE.
+dnl Use a different key than __EXTENSIONS__, as that name broke existing
+dnl configure.ac when using autoheader 2.62.
+dnl The macros below are in alphabetical order ignoring leading _ or __
+dnl prefixes.
+AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
 [/* Enable extensions on AIX 3, Interix.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-/* Enable general extensions on MacOS X.  */
+/* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
 /* Enable GNU extensions on systems that have them.  */
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
-/* Enable threading extensions on Solaris.  */
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+# undef _MINIX
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+# undef _POSIX_SOURCE
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+# undef _POSIX_1_SOURCE
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by C23 Annex F.  */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
 #endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
 #endif
-])
+])dnl
+
+  AC_REQUIRE([AC_CHECK_INCLUDES_DEFAULT])dnl
+  _AC_CHECK_HEADER_ONCE([wchar.h])
+  _AC_CHECK_HEADER_ONCE([minix/config.h])
+
+dnl Defining __EXTENSIONS__ may break the system headers on some systems.
+dnl (FIXME: Which ones?)
   AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
     [ac_cv_safe_to_define___extensions__],
     [AC_COMPILE_IFELSE(
@@ -96,14 +158,57 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
           ]AC_INCLUDES_DEFAULT])],
        [ac_cv_safe_to_define___extensions__=yes],
        [ac_cv_safe_to_define___extensions__=no])])
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    AC_DEFINE([__EXTENSIONS__])
+
+dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to
+dnl 500, regardless of whether compiling with -Ae or -D_HPUX_SOURCE=1.
+dnl But defining _XOPEN_SOURCE may turn *off* extensions on platforms
+dnl not covered by turn-on-extensions macros (notably Dragonfly, Free,
+dnl and OpenBSD, which don't have any equivalent of _NETBSD_SOURCE) so
+dnl it should only be defined when necessary.
+  AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
+    [ac_cv_should_define__xopen_source],
+    [ac_cv_should_define__xopen_source=no
+    AS_IF([test $ac_cv_header_wchar_h = yes],
+      [AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM([[
+          #include <wchar.h>
+          mbstate_t x;]])],
+        [],
+        [AC_COMPILE_IFELSE(
+          [AC_LANG_PROGRAM([[
+            #define _XOPEN_SOURCE 500
+            #include <wchar.h>
+            mbstate_t x;]])],
+          [ac_cv_should_define__xopen_source=yes])])])])
+
   AC_DEFINE([_ALL_SOURCE])
   AC_DEFINE([_DARWIN_C_SOURCE])
   AC_DEFINE([_GNU_SOURCE])
+  AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API])
+  AC_DEFINE([_NETBSD_SOURCE])
+  AC_DEFINE([_OPENBSD_SOURCE])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+  AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
+  AC_DEFINE([__STDC_WANT_LIB_EXT2__])
+  AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__])
   AC_DEFINE([_TANDEM_SOURCE])
+  AS_IF([test $ac_cv_header_minix_config_h = yes],
+    [MINIX=yes
+    AC_DEFINE([_MINIX])
+    AC_DEFINE([_POSIX_SOURCE])
+    AC_DEFINE([_POSIX_1_SOURCE], [2])],
+    [MINIX=])
+  AS_IF([test $ac_cv_safe_to_define___extensions__ = yes],
+    [AC_DEFINE([__EXTENSIONS__])])
+  AS_IF([test $ac_cv_should_define__xopen_source = yes],
+    [AC_DEFINE([_XOPEN_SOURCE], [500])])
 ])# AC_USE_SYSTEM_EXTENSIONS
+])
 
 # gl_USE_SYSTEM_EXTENSIONS
 # ------------------------
@@ -111,13 +216,17 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
 # typically due to standards-conformance issues.
 AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS],
 [
-  dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS.
-  dnl gnulib does not need it. But if it gets required by third-party macros
-  dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a
-  dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
-  dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE,
-  dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck.
-  AC_REQUIRE([AC_GNU_SOURCE])
-
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  dnl On OpenBSD 6.8 with GCC, the include files contain a couple of
+  dnl definitions that are only activated with an explicit -D_ISOC11_SOURCE.
+  dnl That's because this version of GCC (4.2.1) supports the option
+  dnl '-std=gnu99' but not the option '-std=gnu11'.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    openbsd*)
+      AC_DEFINE([_ISOC11_SOURCE], [1],
+        [Define to enable the declarations of ISO C 11 types and functions.])
+      ;;
+  esac
 ])
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4
new file mode 100644 (file)
index 0000000..680250e
--- /dev/null
@@ -0,0 +1,132 @@
+dnl 'extern inline' a la ISO C99.
+
+dnl Copyright 2012-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_EXTERN_INLINE],
+[
+  AC_CACHE_CHECK([whether ctype.h defines __header_inline],
+    [gl_cv_have___header_inline],
+    [AC_PREPROC_IFELSE(
+       [AC_LANG_SOURCE([[#include <ctype.h>
+                         #ifndef __header_inline
+                          #error "<ctype.h> does not define __header_inline"
+                         #endif
+                        ]])],
+       [gl_cv_have___header_inline=yes],
+       [gl_cv_have___header_inline=no])])
+  if test "$gl_cv_have___header_inline" = yes; then
+    AC_DEFINE([HAVE___HEADER_INLINE], [1],
+      [Define to 1 if ctype.h defines __header_inline.])
+  fi
+
+  AH_VERBATIM([HAVE___HEADER_INLINE_1],
+[/* Please see the Gnulib manual for how to use these macros.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress extern inline with Sun C in standards-conformance mode, as it
+   mishandles inline functions that call each other.  E.g., for 'inline void f
+   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+   'reference to static identifier "f" in extern inline function'.
+   This bug was observed with Oracle Developer Studio 12.6
+   (Sun C 5.15 SunOS_sparc 2017/05/30).
+
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined HAVE___HEADER_INLINE \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
+#if ((__GNUC__ \
+      ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+         && !defined __PCC__) \
+      : (199901L <= __STDC_VERSION__ \
+         && !defined __HP_cc \
+         && !defined __PGI \
+         && !(defined __SUNPRO_C && __STDC__))) \
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined __PCC__ \
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
+#else
+# define _GL_INLINE _GL_UNUSED static
+# define _GL_EXTERN_INLINE _GL_UNUSED static
+#endif
+
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif])
+])
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4
new file mode 100644 (file)
index 0000000..49ab34d
--- /dev/null
@@ -0,0 +1,140 @@
+# fcntl-o.m4 serial 8
+dnl Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Paul Eggert.
+
+AC_PREREQ([2.60])
+
+# Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
+# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
+# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
+AC_DEFUN([gl_FCNTL_O_FLAGS],
+[
+  dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  AC_CHECK_FUNCS_ONCE([symlink])
+  AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
+    [AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <sys/types.h>
+           #include <sys/stat.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           # include <stdlib.h>
+           # defined sleep(n) _sleep ((n) * 1000)
+           #endif
+           #include <fcntl.h>
+           ]GL_MDA_DEFINES[
+           #ifndef O_NOATIME
+            #define O_NOATIME 0
+           #endif
+           #ifndef O_NOFOLLOW
+            #define O_NOFOLLOW 0
+           #endif
+           static int const constants[] =
+            {
+              O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
+              O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
+            };
+          ]],
+          [[
+            int result = !constants;
+            #if HAVE_SYMLINK
+            {
+              static char const sym[] = "conftest.sym";
+              if (symlink ("/dev/null", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              if (unlink (sym) != 0 || symlink (".", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_RDONLY | O_NOFOLLOW);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              unlink (sym);
+            }
+            #endif
+            {
+              static char const file[] = "confdefs.h";
+              int fd = open (file, O_RDONLY | O_NOATIME);
+              if (fd < 0)
+                result |= 8;
+              else
+                {
+                  struct stat st0;
+                  if (fstat (fd, &st0) != 0)
+                    result |= 16;
+                  else
+                    {
+                      char c;
+                      sleep (1);
+                      if (read (fd, &c, 1) != 1)
+                        result |= 24;
+                      else
+                        {
+                          if (close (fd) != 0)
+                            result |= 32;
+                          else
+                            {
+                              struct stat st1;
+                              if (stat (file, &st1) != 0)
+                                result |= 40;
+                              else
+                                if (st0.st_atime != st1.st_atime)
+                                  result |= 64;
+                            }
+                        }
+                    }
+                }
+            }
+            return result;]])],
+       [gl_cv_header_working_fcntl_h=yes],
+       [case $? in #(
+        4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
+        64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
+        68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
+         *) gl_cv_header_working_fcntl_h='no';;
+        esac],
+       [case "$host_os" in
+                             # Guess 'no' on native Windows.
+          mingw* | windows*) gl_cv_header_working_fcntl_h='no' ;;
+          *)                 gl_cv_header_working_fcntl_h=cross-compiling ;;
+        esac
+       ])
+    ])
+
+  case $gl_cv_header_working_fcntl_h in #(
+  *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
+  *) ac_val=1;;
+  esac
+  AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val],
+    [Define to 1 if O_NOATIME works.])
+
+  case $gl_cv_header_working_fcntl_h in #(
+  *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
+  *) ac_val=1;;
+  esac
+  AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val],
+    [Define to 1 if O_NOFOLLOW works.])
+])
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4
new file mode 100644 (file)
index 0000000..02b93f8
--- /dev/null
@@ -0,0 +1,151 @@
+# fcntl.m4 serial 11
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# For now, this module ensures that fcntl()
+# - supports F_DUPFD correctly
+# - supports or emulates F_DUPFD_CLOEXEC
+# - supports F_GETFD
+# Still to be ported to mingw:
+# - F_SETFD
+# - F_GETFL, F_SETFL
+# - F_GETOWN, F_SETOWN
+# - F_GETLK, F_SETLK, F_SETLKW
+AC_DEFUN([gl_FUNC_FCNTL],
+[
+  dnl Persuade glibc to expose F_DUPFD_CLOEXEC.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS_ONCE([fcntl])
+  if test $ac_cv_func_fcntl = no; then
+    gl_REPLACE_FCNTL
+  else
+    dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target
+    dnl haiku alpha 2 F_DUPFD has wrong errno
+    AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
+      [gl_cv_func_fcntl_f_dupfd_works],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <errno.h>
+              #include <fcntl.h>
+              #include <limits.h>
+              #include <sys/resource.h>
+              #include <unistd.h>
+              ]GL_MDA_DEFINES[
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
+            ]],
+            [[int result = 0;
+              int bad_fd = INT_MAX;
+              struct rlimit rlim;
+              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
+                  && rlim.rlim_cur != RLIM_INFINITY
+                  && rlim.rlim_cur != RLIM_SAVED_MAX
+                  && rlim.rlim_cur != RLIM_SAVED_CUR)
+                bad_fd = rlim.rlim_cur;
+              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
+              if (errno != EINVAL) result |= 2;
+              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+              if (errno != EINVAL) result |= 8;
+              /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
+              {
+                int fd;
+                fd = open (".", O_RDONLY);
+                if (fd == -1)
+                  result |= 16;
+                else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
+                  result |= 32;
+
+                close (fd);
+              }
+              return result;]])],
+         [gl_cv_func_fcntl_f_dupfd_works=yes],
+         [gl_cv_func_fcntl_f_dupfd_works=no],
+         [case $host_os in
+            aix* | cygwin* | haiku*)
+               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
+            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
+          esac])])
+    case $gl_cv_func_fcntl_f_dupfd_works in
+      *yes) ;;
+      *) gl_REPLACE_FCNTL
+        AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD
+          behavior does not match POSIX]) ;;
+    esac
+
+    dnl Many systems lack F_DUPFD_CLOEXEC.
+    dnl NetBSD 9.0 declares F_DUPFD_CLOEXEC but it works only like F_DUPFD.
+    AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC],
+      [gl_cv_func_fcntl_f_dupfd_cloexec],
+      [AC_RUN_IFELSE(
+         [AC_LANG_SOURCE(
+            [[#include <fcntl.h>
+              #include <unistd.h>
+              int main (int argc, char *argv[])
+              {
+                if (argc == 1)
+                  /* parent process */
+                  {
+                    if (fcntl (1, F_DUPFD_CLOEXEC, 10) < 0)
+                      return 1;
+                    return execl ("./conftest", "./conftest", "child", NULL);
+                  }
+                else
+                  /* child process */
+                  return (fcntl (10, F_GETFL) < 0 ? 0 : 42);
+              }
+            ]])
+         ],
+         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __linux__
+/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
+   it to support the semantics on older kernels that failed with EINVAL.  */
+choke me
+#endif
+           ]])],
+           [gl_cv_func_fcntl_f_dupfd_cloexec=yes],
+           [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])
+         ],
+         [gl_cv_func_fcntl_f_dupfd_cloexec=no],
+         [case "$host_os" in
+                     # Guess no on NetBSD.
+            netbsd*) gl_cv_func_fcntl_f_dupfd_cloexec="guessing no" ;;
+            *)       gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;;
+          esac
+         ])
+      ])
+    case "$gl_cv_func_fcntl_f_dupfd_cloexec" in
+      *yes) ;;
+      *)    gl_REPLACE_FCNTL
+            dnl No witness macro needed for this bug.
+            ;;
+    esac
+  fi
+  dnl Replace fcntl() for supporting the gnulib-defined fchdir() function,
+  dnl to keep fchdir's bookkeeping up-to-date.
+  m4_ifdef([gl_FUNC_FCHDIR], [
+    gl_TEST_FCHDIR
+    if test $HAVE_FCHDIR = 0; then
+      gl_REPLACE_FCNTL
+    fi
+  ])
+])
+
+AC_DEFUN([gl_REPLACE_FCNTL],
+[
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([fcntl])
+  if test $ac_cv_func_fcntl = no; then
+    HAVE_FCNTL=0
+  else
+    REPLACE_FCNTL=1
+  fi
+])
index cac28ae..ba4eb44 100644 (file)
@@ -1,13 +1,13 @@
-# serial 15
+# serial 20
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Paul Eggert.
 
-AC_DEFUN([gl_FCNTL_H],
+AC_DEFUN_ONCE([gl_FCNTL_H],
 [
   AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
   AC_REQUIRE([gl_FCNTL_O_FLAGS])
@@ -26,24 +26,44 @@ AC_DEFUN([gl_FCNTL_H],
     ]], [fcntl openat])
 ])
 
+# gl_FCNTL_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_FCNTL_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_FCNTL_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_FCNTL_H_DEFAULTS],
 [
-  GNULIB_FCNTL=0;        AC_SUBST([GNULIB_FCNTL])
-  GNULIB_NONBLOCKING=0;  AC_SUBST([GNULIB_NONBLOCKING])
-  GNULIB_OPEN=0;         AC_SUBST([GNULIB_OPEN])
-  GNULIB_OPENAT=0;       AC_SUBST([GNULIB_OPENAT])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCNTL=1;          AC_SUBST([HAVE_FCNTL])
   HAVE_OPENAT=1;         AC_SUBST([HAVE_OPENAT])
+  REPLACE_CREAT=0;       AC_SUBST([REPLACE_CREAT])
   REPLACE_FCNTL=0;       AC_SUBST([REPLACE_FCNTL])
   REPLACE_OPEN=0;        AC_SUBST([REPLACE_OPEN])
   REPLACE_OPENAT=0;      AC_SUBST([REPLACE_OPENAT])
diff --git a/gl/m4/fdopen.m4 b/gl/m4/fdopen.m4
deleted file mode 100644 (file)
index 9ca9d2a..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# fdopen.m4 serial 2
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FDOPEN],
-[
-  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FDOPEN=1
-  else
-    dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
-    AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
-      [
-        AC_RUN_IFELSE(
-          [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <errno.h>
-int
-main (void)
-{
-  FILE *fp;
-  errno = 0;
-  fp = fdopen (-1, "r");
-  if (fp != NULL)
-    return 1;
-  if (errno == 0)
-    return 2;
-  return 0;
-}]])],
-          [gl_cv_func_fdopen_works=yes],
-          [gl_cv_func_fdopen_works=no],
-          [case "$host_os" in
-             mingw*) gl_cv_func_fdopen_works="guessing no" ;;
-             *)      gl_cv_func_fdopen_works="guessing yes" ;;
-           esac
-          ])
-      ])
-    case "$gl_cv_func_fdopen_works" in
-      *no) REPLACE_FDOPEN=1 ;;
-    esac
-  fi
-])
-
-dnl Prerequisites of lib/fdopen.c.
-AC_DEFUN([gl_PREREQ_FDOPEN], [])
index 3ab3297..5e73b4e 100644 (file)
@@ -1,22 +1,22 @@
-# fstat.m4 serial 3
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
+# fstat.m4 serial 10
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_FSTAT],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 
-  AC_REQUIRE([gl_MSVC_INVAL])
-  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-    REPLACE_FSTAT=1
-  fi
-
-  AC_REQUIRE([gl_HEADER_SYS_STAT_H])
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    REPLACE_FSTAT=1
-  fi
+  case "$host_os" in
+    darwin* | mingw* | windows* | solaris*)
+      dnl macOS and Solaris stat can return a negative tv_nsec.
+      dnl On MinGW, the original stat() returns st_atime, st_mtime,
+      dnl st_ctime values that are affected by the time zone.
+      REPLACE_FSTAT=1
+      ;;
+  esac
 
   dnl Replace fstat() for supporting the gnulib-defined open() on directories.
   m4_ifdef([gl_FUNC_FCHDIR], [
@@ -32,8 +32,9 @@ AC_DEFUN([gl_FUNC_FSTAT],
   ])
 ])
 
-# Prerequisites of lib/fstat.c.
-AC_DEFUN([gl_PREREQ_FSTAT],
-[
-  AC_REQUIRE([AC_C_INLINE])
+# Prerequisites of lib/fstat.c and lib/stat-w32.c.
+AC_DEFUN([gl_PREREQ_FSTAT], [
+  AC_REQUIRE([gl_SYS_STAT_H])
+  AC_REQUIRE([gl_PREREQ_STAT_W32])
+  :
 ])
diff --git a/gl/m4/getcwd.m4 b/gl/m4/getcwd.m4
deleted file mode 100644 (file)
index 50b96c6..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-# getcwd.m4 - check for working getcwd that is compatible with glibc
-
-# Copyright (C) 2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Written by Paul Eggert.
-# serial 12
-
-AC_DEFUN([gl_FUNC_GETCWD_NULL],
-  [
-   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-   AC_CHECK_HEADERS_ONCE([unistd.h])
-   AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
-     [gl_cv_func_getcwd_null],
-     [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#        if HAVE_UNISTD_H
-#         include <unistd.h>
-#        else /* on Windows with MSVC */
-#         include <direct.h>
-#        endif
-#        ifndef getcwd
-         char *getcwd ();
-#        endif
-]], [[
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* mingw cwd does not start with '/', but getcwd does allocate.
-   However, mingw fails to honor non-zero size.  */
-#else
-           if (chdir ("/") != 0)
-             return 1;
-           else
-             {
-               char *f = getcwd (NULL, 0);
-               if (! f)
-                 return 2;
-               if (f[0] != '/')
-                 return 3;
-               if (f[1] != '\0')
-                 return 4;
-               return 0;
-             }
-#endif
-         ]])],
-        [gl_cv_func_getcwd_null=yes],
-        [gl_cv_func_getcwd_null=no],
-        [[case "$host_os" in
-                     # Guess yes on glibc systems.
-            *-gnu*)  gl_cv_func_getcwd_null="guessing yes";;
-                     # Guess yes on Cygwin.
-            cygwin*) gl_cv_func_getcwd_null="guessing yes";;
-                     # If we don't know, assume the worst.
-            *)       gl_cv_func_getcwd_null="guessing no";;
-          esac
-        ]])])
-])
-
-AC_DEFUN([gl_FUNC_GETCWD_SIGNATURE],
-[
-  AC_CACHE_CHECK([for getcwd with POSIX signature],
-    [gl_cv_func_getcwd_posix_signature],
-    [AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[#include <unistd.h>]],
-         [[extern
-           #ifdef __cplusplus
-           "C"
-           #endif
-           char *getcwd (char *, size_t);
-         ]])
-      ],
-      [gl_cv_func_getcwd_posix_signature=yes],
-      [gl_cv_func_getcwd_posix_signature=no])
-   ])
-])
-
-dnl Guarantee that getcwd will malloc with a NULL first argument.  Assumes
-dnl that either the system getcwd is robust, or that calling code is okay
-dnl with spurious failures when run from a directory with an absolute name
-dnl larger than 4k bytes.
-dnl
-dnl Assumes that getcwd exists; if you are worried about obsolete
-dnl platforms that lacked getcwd(), then you need to use the GPL module.
-AC_DEFUN([gl_FUNC_GETCWD_LGPL],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([gl_FUNC_GETCWD_NULL])
-  AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
-
-  case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in
-  *yes,yes) ;;
-  *)
-    dnl Minimal replacement lib/getcwd-lgpl.c.
-    REPLACE_GETCWD=1
-    ;;
-  esac
-])
-
-dnl Check for all known getcwd bugs; useful for a program likely to be
-dnl executed from an arbitrary location.
-AC_DEFUN([gl_FUNC_GETCWD],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([gl_FUNC_GETCWD_NULL])
-  AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  gl_abort_bug=no
-  case "$host_os" in
-    mingw*)
-      gl_cv_func_getcwd_path_max=yes
-      ;;
-    *)
-      gl_FUNC_GETCWD_PATH_MAX
-      case "$gl_cv_func_getcwd_null" in
-        *yes)
-          gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes])
-          ;;
-      esac
-      ;;
-  esac
-  dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD
-  dnl if appropriate.
-  case "$gl_cv_func_getcwd_path_max" in
-    "no, it has the AIX bug") ;;
-    *)
-      AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1],
-        [Define to 1 if getcwd minimally works, that is, its result can be
-         trusted when it succeeds.])
-      ;;
-  esac
-  case "$gl_cv_func_getcwd_path_max" in
-    "no, but it is partly working")
-      AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1],
-        [Define to 1 if getcwd works, except it sometimes fails when it
-         shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
-      ;;
-  esac
-
-  if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \
-     || test $gl_cv_func_getcwd_posix_signature != yes \
-     || test "$gl_cv_func_getcwd_path_max" != yes \
-     || test $gl_abort_bug = yes; then
-    REPLACE_GETCWD=1
-  fi
-])
-
-# Prerequisites of lib/getcwd.c, when full replacement is in effect.
-AC_DEFUN([gl_PREREQ_GETCWD],
-[
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO])
-  :
-])
diff --git a/gl/m4/getdelim.m4 b/gl/m4/getdelim.m4
new file mode 100644 (file)
index 0000000..0dbd8bc
--- /dev/null
@@ -0,0 +1,114 @@
+# getdelim.m4 serial 19
+
+dnl Copyright (C) 2005-2007, 2009-2024 Free Software Foundation, Inc.
+dnl
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_PREREQ([2.59])
+
+AC_DEFUN([gl_FUNC_GETDELIM],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+
+  dnl Persuade glibc <stdio.h> to declare getdelim().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_CHECK_DECLS_ONCE([getdelim])
+
+  gl_CHECK_FUNCS_ANDROID([getdelim], [[#include <stdio.h>]])
+  if test $ac_cv_func_getdelim = yes; then
+    HAVE_GETDELIM=1
+    dnl Found it in some library.  Verify that it works.
+    AC_CACHE_CHECK([for working getdelim function],
+      [gl_cv_func_working_getdelim],
+      [case "$host_os" in
+         darwin*)
+           dnl On macOS 10.13, valgrind detected an out-of-bounds read during
+           dnl the GNU sed test suite:
+           dnl   Invalid read of size 16
+           dnl      at 0x100EE6A05: _platform_memchr$VARIANT$Base (in /usr/lib/system/libsystem_platform.dylib)
+           dnl      by 0x100B7B0BD: getdelim (in /usr/lib/system/libsystem_c.dylib)
+           dnl      by 0x10000B0BE: ck_getdelim (utils.c:254)
+           gl_cv_func_working_getdelim=no ;;
+         *)
+           echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+           AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#    include <stdio.h>
+#    include <stdlib.h>
+#    include <string.h>
+    int main ()
+    {
+      FILE *in = fopen ("./conftest.data", "r");
+      if (!in)
+        return 1;
+      {
+        /* Test result for a NULL buffer and a zero size.
+           Based on a test program from Karl Heuer.  */
+        char *line = NULL;
+        size_t siz = 0;
+        int len = getdelim (&line, &siz, '\n', in);
+        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
+          { free (line); fclose (in); return 2; }
+        free (line);
+      }
+      {
+        /* Test result for a NULL buffer and a non-zero size.
+           This crashes on FreeBSD 8.0.  */
+        char *line = NULL;
+        size_t siz = (size_t)(~0) / 4;
+        if (getdelim (&line, &siz, '\n', in) == -1)
+          { fclose (in); return 3; }
+        free (line);
+      }
+      fclose (in);
+      return 0;
+    }
+    ]])],
+             [gl_cv_func_working_getdelim=yes],
+             [gl_cv_func_working_getdelim=no],
+             [dnl We're cross compiling.
+              dnl Guess it works on glibc2 systems and musl systems.
+              AC_EGREP_CPP([Lucky GNU user],
+                [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+  Lucky GNU user
+ #endif
+#endif
+                ],
+                [gl_cv_func_working_getdelim="guessing yes"],
+                [case "$host_os" in
+                   *-musl* | midipix*) gl_cv_func_working_getdelim="guessing yes" ;;
+                   *)                  gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;;
+                 esac
+                ])
+             ])
+           ;;
+       esac
+      ])
+    case "$gl_cv_func_working_getdelim" in
+      *yes) ;;
+      *) REPLACE_GETDELIM=1 ;;
+    esac
+  else
+    HAVE_GETDELIM=0
+    case "$gl_cv_onwards_func_getdelim" in
+      future*) REPLACE_GETDELIM=1 ;;
+    esac
+  fi
+
+  if test $ac_cv_have_decl_getdelim = no; then
+    HAVE_DECL_GETDELIM=0
+  fi
+])
+
+# Prerequisites of lib/getdelim.c.
+AC_DEFUN([gl_PREREQ_GETDELIM],
+[
+  AC_CHECK_FUNCS([flockfile funlockfile])
+  AC_CHECK_DECLS([getc_unlocked])
+])
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4
new file mode 100644 (file)
index 0000000..3b89456
--- /dev/null
@@ -0,0 +1,63 @@
+# getdtablesize.m4 serial 8
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_GETDTABLESIZE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS_ONCE([getdtablesize])
+  AC_CHECK_DECLS_ONCE([getdtablesize])
+  if test $ac_cv_func_getdtablesize = yes &&
+     test $ac_cv_have_decl_getdtablesize = yes; then
+    AC_CACHE_CHECK([whether getdtablesize works],
+      [gl_cv_func_getdtablesize_works],
+      [dnl There are two concepts: the "maximum possible file descriptor value + 1"
+       dnl and the "maximum number of open file descriptors in a process".
+       dnl Per SUSv2 and POSIX, getdtablesize() should return the first one.
+       dnl On most platforms, the first and the second concept are the same.
+       dnl On OpenVMS, however, they are different and getdtablesize() returns
+       dnl the second one; thus the test below fails. But we don't care
+       dnl because there's no good way to write a replacement getdtablesize().
+       case "$host_os" in
+         vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
+         *)
+           dnl Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft
+           dnl limit up to an unchangeable hard limit; all other platforms
+           dnl correctly require setrlimit before getdtablesize() can report
+           dnl a larger value.
+           AC_RUN_IFELSE([
+             AC_LANG_PROGRAM(
+               [[#include <unistd.h>]
+                GL_MDA_DEFINES
+               ],
+               [[int size = getdtablesize();
+                 if (dup2 (0, getdtablesize()) != -1)
+                   return 1;
+                 if (size != getdtablesize())
+                   return 2;
+               ]])],
+             [gl_cv_func_getdtablesize_works=yes],
+             [gl_cv_func_getdtablesize_works=no],
+             [case "$host_os" in
+                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+                  gl_cv_func_getdtablesize_works="guessing no" ;;
+                *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+              esac
+             ])
+           ;;
+       esac
+      ])
+    case "$gl_cv_func_getdtablesize_works" in
+      *yes | "no (limitation)") ;;
+      *) REPLACE_GETDTABLESIZE=1 ;;
+    esac
+  else
+    HAVE_GETDTABLESIZE=0
+  fi
+])
+
+# Prerequisites of lib/getdtablesize.c.
+AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:])
diff --git a/gl/m4/getline.m4 b/gl/m4/getline.m4
new file mode 100644 (file)
index 0000000..1a7e890
--- /dev/null
@@ -0,0 +1,111 @@
+# getline.m4 serial 33
+
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2024 Free Software Foundation,
+dnl Inc.
+dnl
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_PREREQ([2.59])
+
+dnl See if there's a working, system-supplied version of the getline function.
+dnl We can't just do AC_REPLACE_FUNCS([getline]) because some systems
+dnl have a function by that name in -linet that doesn't have anything
+dnl to do with the function we need.
+AC_DEFUN([gl_FUNC_GETLINE],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Persuade glibc <stdio.h> to declare getline().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_CHECK_DECLS_ONCE([getline])
+
+  gl_CHECK_FUNCS_ANDROID([getline], [[#include <stdio.h>]])
+  if test $ac_cv_func_getline = yes; then
+    dnl Found it in some library.  Verify that it works.
+    AC_CACHE_CHECK([for working getline function],
+      [am_cv_func_working_getline],
+      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#    include <stdio.h>
+#    include <stdlib.h>
+#    include <string.h>
+    int main ()
+    {
+      FILE *in = fopen ("./conftest.data", "r");
+      if (!in)
+        return 1;
+      {
+        /* Test result for a NULL buffer and a zero size.
+           Based on a test program from Karl Heuer.  */
+        char *line = NULL;
+        size_t siz = 0;
+        int len = getline (&line, &siz, in);
+        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
+          { free (line); fclose (in); return 2; }
+        free (line);
+      }
+      {
+        /* Test result for a NULL buffer and a non-zero size.
+           This crashes on FreeBSD 8.0.  */
+        char *line = NULL;
+        size_t siz = (size_t)(~0) / 4;
+        if (getline (&line, &siz, in) == -1)
+          { fclose (in); return 3; }
+        free (line);
+      }
+      fclose (in);
+      return 0;
+    }
+    ]])],
+         [am_cv_func_working_getline=yes],
+         [am_cv_func_working_getline=no],
+         [dnl We're cross compiling.
+          dnl Guess it works on glibc2 systems and musl systems.
+          AC_EGREP_CPP([Lucky GNU user],
+            [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+  Lucky GNU user
+ #endif
+#endif
+            ],
+            [am_cv_func_working_getline="guessing yes"],
+            [case "$host_os" in
+               *-musl* | midipix*) am_cv_func_working_getline="guessing yes" ;;
+               *)                  am_cv_func_working_getline="$gl_cross_guess_normal" ;;
+             esac
+            ])
+         ])
+      ])
+  else
+    am_cv_func_working_getline=no
+    case "$gl_cv_onwards_func_getline" in
+      future*) REPLACE_GETLINE=1 ;;
+    esac
+  fi
+
+  if test $ac_cv_have_decl_getline = no; then
+    HAVE_DECL_GETLINE=0
+  fi
+
+  case "$am_cv_func_working_getline" in
+    *yes) ;;
+    *)
+      dnl Set REPLACE_GETLINE always: Even if we have not found the broken
+      dnl getline function among $LIBS, it may exist in libinet and the
+      dnl executable may be linked with -linet.
+      REPLACE_GETLINE=1
+      ;;
+  esac
+])
+
+# Prerequisites of lib/getline.c.
+AC_DEFUN([gl_PREREQ_GETLINE],
+[
+  :
+])
index 2aea895..be812d8 100644 (file)
@@ -1,5 +1,5 @@
-# getopt.m4 serial 39
-dnl Copyright (C) 2002-2006, 2008-2012 Free Software Foundation, Inc.
+# getopt.m4 serial 49
+dnl Copyright (C) 2002-2006, 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,19 +9,20 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 [
   m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX])
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
   dnl Other modules can request the gnulib implementation of the getopt
   dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS.
   dnl argp.m4 does this.
   m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [
-    gl_GETOPT_IFELSE([], [])
     REPLACE_GETOPT=1
   ], [
     REPLACE_GETOPT=0
-    gl_GETOPT_IFELSE([
+    if test -n "$gl_replace_getopt"; then
       REPLACE_GETOPT=1
-    ],
-    [])
+    fi
   ])
+  GL_GENERATE_GETOPT_H=false
+  GL_GENERATE_GETOPT_CDEFS_H=false
   if test $REPLACE_GETOPT = 1; then
     dnl Arrange for getopt.h to be created.
     gl_GETOPT_SUBSTITUTE_HEADER
@@ -33,16 +34,16 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 # getopt_long_only.
 AC_DEFUN([gl_FUNC_GETOPT_GNU],
 [
+  dnl Set the variable gl_getopt_required, so that all invocations of
+  dnl gl_GETOPT_CHECK_HEADERS in the scope of the current configure file
+  dnl will check for getopt with GNU extensions.
+  dnl This means that if one gnulib-tool invocation requests getopt-posix
+  dnl and another gnulib-tool invocation requests getopt-gnu, it is as if
+  dnl both had requested getopt-gnu.
   m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU])
 
-  AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
-])
-
-# emacs' configure.in uses this.
-AC_DEFUN([gl_GETOPT_IFELSE],
-[
-  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
-  AS_IF([test -n "$gl_replace_getopt"], [$1], [$2])
+  dnl No need to invoke gl_FUNC_GETOPT_POSIX here; this is automatically
+  dnl done through the module dependency getopt-gnu -> getopt-posix.
 ])
 
 # Determine whether to replace the entire getopt facility.
@@ -74,11 +75,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
     AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes])
   fi
 
-  dnl mingw's getopt (in libmingwex.a) does weird things when the options
-  dnl strings starts with '+' and it's not the first call.  Some internal state
-  dnl is left over from earlier calls, and neither setting optind = 0 nor
-  dnl setting optreset = 1 get rid of this internal state.
-  dnl POSIX is silent on optind vs. optreset, so we allow either behavior.
   dnl POSIX 2008 does not specify leading '+' behavior, but see
   dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
   dnl the next version of POSIX.  For now, we only guarantee leading '+'
@@ -87,30 +83,16 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
     AC_CACHE_CHECK([whether getopt is POSIX compatible],
       [gl_cv_func_getopt_posix],
       [
-        dnl BSD getopt_long uses an incompatible method to reset option
-        dnl processing.  Existence of the optreset variable, in and of
-        dnl itself, is not a reason to replace getopt, but knowledge
-        dnl of the variable is needed to determine how to reset and
-        dnl whether a reset reparses the environment.  Solaris
-        dnl supports neither optreset nor optind=0, but keeps no state
-        dnl that needs a reset beyond setting optind=1; detect Solaris
-        dnl by getopt_clip.
-        AC_LINK_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[#include <unistd.h>]],
-             [[int *p = &optreset; return optreset;]])],
-          [gl_optind_min=1],
-          [AC_COMPILE_IFELSE(
-             [AC_LANG_PROGRAM(
-                [[#include <getopt.h>]],
-                [[return !getopt_clip;]])],
-             [gl_optind_min=1],
-             [gl_optind_min=0])])
-
-        dnl This test fails on mingw and succeeds on many other platforms.
-        gl_save_CPPFLAGS=$CPPFLAGS
-        CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
-        AC_RUN_IFELSE([AC_LANG_SOURCE([[
+        dnl Merging these three different test programs into a single one
+        dnl would require a reset mechanism. On BSD systems, it can be done
+        dnl through 'optreset'; on some others (glibc), it can be done by
+        dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1,
+        dnl Solaris 9, musl libc), there is no such mechanism.
+        if test $cross_compiling = no; then
+          dnl Sanity check. Succeeds everywhere (except on MSVC,
+          dnl which lacks <unistd.h> and getopt() entirely).
+          AC_RUN_IFELSE(
+            [AC_LANG_SOURCE([[
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
@@ -118,89 +100,107 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
 int
 main ()
 {
-  {
-    static char program[] = "program";
-    static char a[] = "-a";
-    static char foo[] = "foo";
-    static char bar[] = "bar";
-    char *argv[] = { program, a, foo, bar, NULL };
-    int c;
-
-    optind = OPTIND_MIN;
-    opterr = 0;
+  static char program[] = "program";
+  static char a[] = "-a";
+  static char foo[] = "foo";
+  static char bar[] = "bar";
+  char *argv[] = { program, a, foo, bar, NULL };
+  int c;
 
-    c = getopt (4, argv, "ab");
-    if (!(c == 'a'))
-      return 1;
-    c = getopt (4, argv, "ab");
-    if (!(c == -1))
-      return 2;
-    if (!(optind == 2))
-      return 3;
-  }
-  /* Some internal state exists at this point.  */
-  {
-    static char program[] = "program";
-    static char donald[] = "donald";
-    static char p[] = "-p";
-    static char billy[] = "billy";
-    static char duck[] = "duck";
-    static char a[] = "-a";
-    static char bar[] = "bar";
-    char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
-    int c;
+  c = getopt (4, argv, "ab");
+  if (!(c == 'a'))
+    return 1;
+  c = getopt (4, argv, "ab");
+  if (!(c == -1))
+    return 2;
+  if (!(optind == 2))
+    return 3;
+  return 0;
+}
+]])],
+            [gl_cv_func_getopt_posix=maybe],
+            [gl_cv_func_getopt_posix=no])
+          if test $gl_cv_func_getopt_posix = maybe; then
+            dnl Sanity check with '+'. Succeeds everywhere (except on MSVC,
+            dnl which lacks <unistd.h> and getopt() entirely).
+            AC_RUN_IFELSE(
+              [AC_LANG_SOURCE([[
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
 
-    optind = OPTIND_MIN;
-    opterr = 0;
+int
+main ()
+{
+  static char program[] = "program";
+  static char donald[] = "donald";
+  static char p[] = "-p";
+  static char billy[] = "billy";
+  static char duck[] = "duck";
+  static char a[] = "-a";
+  static char bar[] = "bar";
+  char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+  int c;
 
-    c = getopt (7, argv, "+abp:q:");
-    if (!(c == -1))
-      return 4;
-    if (!(strcmp (argv[0], "program") == 0))
-      return 5;
-    if (!(strcmp (argv[1], "donald") == 0))
-      return 6;
-    if (!(strcmp (argv[2], "-p") == 0))
-      return 7;
-    if (!(strcmp (argv[3], "billy") == 0))
-      return 8;
-    if (!(strcmp (argv[4], "duck") == 0))
-      return 9;
-    if (!(strcmp (argv[5], "-a") == 0))
-      return 10;
-    if (!(strcmp (argv[6], "bar") == 0))
-      return 11;
-    if (!(optind == 1))
-      return 12;
-  }
-  /* Detect MacOS 10.5, AIX 7.1 bug.  */
-  {
-    static char program[] = "program";
-    static char ab[] = "-ab";
-    char *argv[3] = { program, ab, NULL };
-    optind = OPTIND_MIN;
-    opterr = 0;
-    if (getopt (2, argv, "ab:") != 'a')
-      return 13;
-    if (getopt (2, argv, "ab:") != '?')
-      return 14;
-    if (optopt != 'b')
-      return 15;
-    if (optind != 2)
-      return 16;
-  }
+  c = getopt (7, argv, "+abp:q:");
+  if (!(c == -1))
+    return 4;
+  if (!(strcmp (argv[0], "program") == 0))
+    return 5;
+  if (!(strcmp (argv[1], "donald") == 0))
+    return 6;
+  if (!(strcmp (argv[2], "-p") == 0))
+    return 7;
+  if (!(strcmp (argv[3], "billy") == 0))
+    return 8;
+  if (!(strcmp (argv[4], "duck") == 0))
+    return 9;
+  if (!(strcmp (argv[5], "-a") == 0))
+    return 10;
+  if (!(strcmp (argv[6], "bar") == 0))
+    return 11;
+  if (!(optind == 1))
+    return 12;
+  return 0;
+}
+]])],
+              [gl_cv_func_getopt_posix=maybe],
+              [gl_cv_func_getopt_posix=no])
+          fi
+          if test $gl_cv_func_getopt_posix = maybe; then
+            dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug.
+            AC_RUN_IFELSE(
+              [AC_LANG_SOURCE([[
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
 
+int
+main ()
+{
+  static char program[] = "program";
+  static char ab[] = "-ab";
+  char *argv[3] = { program, ab, NULL };
+  if (getopt (2, argv, "ab:") != 'a')
+    return 13;
+  if (getopt (2, argv, "ab:") != '?')
+    return 14;
+  if (optopt != 'b')
+    return 15;
+  if (optind != 2)
+    return 16;
   return 0;
 }
 ]])],
-          [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
-          [case "$host_os" in
-             mingw*)         gl_cv_func_getopt_posix="guessing no";;
-             darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
-             *)              gl_cv_func_getopt_posix="guessing yes";;
-           esac
-          ])
-        CPPFLAGS=$gl_save_CPPFLAGS
+              [gl_cv_func_getopt_posix=yes],
+              [gl_cv_func_getopt_posix=no])
+          fi
+        else
+          case "$host_os" in
+            darwin* | aix* | mingw* | windows*) gl_cv_func_getopt_posix="guessing no";;
+            *)                                  gl_cv_func_getopt_posix="guessing yes";;
+          esac
+        fi
       ])
     case "$gl_cv_func_getopt_posix" in
       *no) gl_replace_getopt=yes ;;
@@ -236,7 +236,7 @@ dnl is ambiguous with environment values that contain newlines.
              nocrash_init();
 
              /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
-                and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+                and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
                 OSF/1 5.1, Solaris 10.  */
              {
                static char conftest[] = "conftest";
@@ -247,7 +247,7 @@ dnl is ambiguous with environment values that contain newlines.
                  result |= 1;
              }
              /* This code succeeds on glibc 2.8, mingw,
-                and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+                and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
                 IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x.  */
              {
                static char program[] = "program";
@@ -276,7 +276,7 @@ dnl is ambiguous with environment values that contain newlines.
                if (getopt (3, argv, "-p") != 1)
                  result |= 16;
                else if (getopt (3, argv, "-p") != 'p')
-                 result |= 32;
+                 result |= 16;
              }
              /* This code fails on glibc 2.11.  */
              {
@@ -286,9 +286,9 @@ dnl is ambiguous with environment values that contain newlines.
                char *argv[] = { program, b, a, NULL };
                optind = opterr = 0;
                if (getopt (3, argv, "+:a:b") != 'b')
-                 result |= 64;
+                 result |= 32;
                else if (getopt (3, argv, "+:a:b") != ':')
-                 result |= 64;
+                 result |= 32;
              }
              /* This code dumps core on glibc 2.14.  */
              {
@@ -298,18 +298,16 @@ dnl is ambiguous with environment values that contain newlines.
                char *argv[] = { program, w, dummy, NULL };
                optind = opterr = 1;
                if (getopt (3, argv, "W;") != 'W')
-                 result |= 128;
+                 result |= 64;
              }
              return result;
            ]])],
         [gl_cv_func_getopt_gnu=yes],
         [gl_cv_func_getopt_gnu=no],
-        [dnl Cross compiling. Guess based on host and declarations.
-         case $host_os:$ac_cv_have_decl_optreset in
-           *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
-           *:yes)               gl_cv_func_getopt_gnu=no;;
-           *)                   gl_cv_func_getopt_gnu=yes;;
-         esac
+        [dnl Cross compiling.
+         dnl Assume the worst, even on glibc platforms.
+         dnl But obey --enable-cross-guesses.
+         gl_cv_func_getopt_gnu="$gl_cross_guess_normal"
         ])
        case $gl_had_POSIXLY_CORRECT in
          exported) ;;
@@ -317,25 +315,67 @@ dnl is ambiguous with environment values that contain newlines.
          *) AS_UNSET([POSIXLY_CORRECT]) ;;
        esac
       ])
-    if test "$gl_cv_func_getopt_gnu" = "no"; then
+    if test "$gl_cv_func_getopt_gnu" != yes; then
       gl_replace_getopt=yes
+    else
+      AC_CACHE_CHECK([for working GNU getopt_long function],
+        [gl_cv_func_getopt_long_gnu],
+        [AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <getopt.h>
+                #include <stddef.h>
+                #include <string.h>
+              ]],
+              [[static const struct option long_options[] =
+                  {
+                    { "xtremely-",no_argument,       NULL, 1003 },
+                    { "xtra",     no_argument,       NULL, 1001 },
+                    { "xtreme",   no_argument,       NULL, 1002 },
+                    { "xtremely", no_argument,       NULL, 1003 },
+                    { NULL,       0,                 NULL, 0 }
+                  };
+                /* This code fails on OpenBSD 5.0.  */
+                {
+                  static char program[] = "program";
+                  static char xtremel[] = "--xtremel";
+                  char *argv[] = { program, xtremel, NULL };
+                  int option_index;
+                  optind = 1; opterr = 0;
+                  if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
+                    return 1;
+                }
+                return 0;
+              ]])],
+           [gl_cv_func_getopt_long_gnu=yes],
+           [gl_cv_func_getopt_long_gnu=no],
+           [dnl Cross compiling. Guess no on OpenBSD, yes otherwise.
+            case "$host_os" in
+              openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
+              *)        gl_cv_func_getopt_long_gnu="guessing yes";;
+            esac
+           ])
+        ])
+      case "$gl_cv_func_getopt_long_gnu" in
+        *yes) ;;
+        *) gl_replace_getopt=yes ;;
+      esac
     fi
   fi
 ])
 
-# emacs' configure.in uses this.
 AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
 [
-  GETOPT_H=getopt.h
+  AC_CHECK_HEADERS_ONCE([sys/cdefs.h])
+  if test $ac_cv_header_sys_cdefs_h = yes; then
+    HAVE_SYS_CDEFS_H=1
+  else
+    HAVE_SYS_CDEFS_H=0
+  fi
+  AC_SUBST([HAVE_SYS_CDEFS_H])
+
   AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
     [Define to rpl_ if the getopt replacement functions and variables
      should be used.])
-  AC_SUBST([GETOPT_H])
-])
-
-# Prerequisites of lib/getopt*.
-# emacs' configure.in uses this.
-AC_DEFUN([gl_PREREQ_GETOPT],
-[
-  AC_CHECK_DECLS_ONCE([getenv])
+  GL_GENERATE_GETOPT_H=true
+  GL_GENERATE_GETOPT_CDEFS_H=true
 ])
diff --git a/gl/m4/getprogname.m4 b/gl/m4/getprogname.m4
new file mode 100644 (file)
index 0000000..b8f9f23
--- /dev/null
@@ -0,0 +1,60 @@
+# getprogname.m4 - check for getprogname or replacements for it
+
+# Copyright (C) 2016-2024 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+AC_DEFUN([gl_FUNC_GETPROGNAME],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  gl_CHECK_FUNCS_ANDROID([getprogname], [[#include <stdlib.h>]])
+  if test $ac_cv_func_getprogname = no; then
+    HAVE_GETPROGNAME=0
+    case "$gl_cv_onwards_func_getprogname" in
+      future*) REPLACE_GETPROGNAME=1 ;;
+    esac
+  fi
+  AC_CHECK_DECLS([program_invocation_name],
+    [],
+    [HAVE_DECL_PROGRAM_INVOCATION_NAME=0],
+    [[#include <errno.h>]])
+])
+
+AC_DEFUN([gl_PREREQ_GETPROGNAME],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_FUNCS_ONCE([getexecname])
+  ac_found=0
+  AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [],
+    [#include <errno.h>])
+  AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [],
+    [#include <errno.h>])
+  AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include <stdlib.h>])
+
+  # Incur the cost of this test only if none of the above worked.
+  if test $ac_found = 0; then
+    # On OpenBSD 5.1, using the global __progname variable appears to be
+    # the only way to implement getprogname.
+    AC_CACHE_CHECK([whether __progname is defined in default libraries],
+      [gl_cv_var___progname],
+      [
+        gl_cv_var___progname=
+        AC_LINK_IFELSE(
+          [AC_LANG_PROGRAM(
+            [[extern char *__progname;]],
+            [[return *__progname;]]
+          )],
+          [gl_cv_var___progname=yes]
+        )
+      ]
+    )
+    if test "$gl_cv_var___progname" = yes; then
+      AC_DEFINE([HAVE_VAR___PROGNAME], 1,
+        [Define if you have a global __progname variable])
+    fi
+  fi
+])
index 0525d68..0218f22 100644 (file)
@@ -1,8 +1,8 @@
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -11,7 +11,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnu \
+#  --source-base=gl \
+#  --m4-base=gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=gl/tests \
+#  --aux-dir=build-aux \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=gl \
+#  --no-vc-files \
+#  autobuild \
+#  csharpcomp-script \
+#  csharpexec-script \
+#  error \
+#  getline \
+#  getopt-gnu \
+#  git-version-gen \
+#  gitlog-to-changelog \
+#  lib-msvc-compat \
+#  lib-symbol-versions \
+#  lib-symbol-visibility \
+#  manywarnings \
+#  pmccabe2html \
+#  progname \
+#  readme-release \
+#  update-copyright \
+#  useless-if-before-free \
+#  valgrind-tests \
+#  version-etc
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
-gl_LOCAL_DIR([gl/override])
+gl_LOCAL_DIR([gl])
 gl_MODULES([
   autobuild
   csharpcomp-script
   csharpexec-script
   error
-  fdl-1.3
-  gendocs
+  getline
   getopt-gnu
-  gnupload
-  maintainer-makefile
+  git-version-gen
+  gitlog-to-changelog
+  lib-msvc-compat
+  lib-symbol-versions
+  lib-symbol-visibility
   manywarnings
   pmccabe2html
   progname
+  readme-release
   update-copyright
   useless-if-before-free
   valgrind-tests
-  vc-list-files
   version-etc
-  warnings
 ])
-gl_AVOID([fcntl-h-tests stdlib-tests string-tests sys_stat-tests time-tests unistd-tests update-copyright-tests wchar-tests])
+gl_AVOID([])
 gl_SOURCE_BASE([gl])
 gl_M4_BASE([gl/m4])
 gl_PO_BASE([])
 gl_DOC_BASE([doc])
-gl_TESTS_BASE([gltests])
-gl_WITH_TESTS
+gl_TESTS_BASE([gl/tests])
 gl_LIB([libgnu])
 gl_MAKEFILE_NAME([])
 gl_LIBTOOL
 gl_MACRO_PREFIX([gl])
 gl_PO_DOMAIN([])
-gl_WITNESS_C_DOMAIN([])
+gl_WITNESS_C_MACRO([])
 gl_VC_FILES([false])
index d62b767..5dd755f 100644 (file)
@@ -1,25 +1,63 @@
-# gnulib-common.m4 serial 32
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 89
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
+AC_PREREQ([2.62])
+
 # gl_COMMON
 # is expanded unconditionally through gnulib-tool magic.
 AC_DEFUN([gl_COMMON], [
   dnl Use AC_REQUIRE here, so that the code is expanded once only.
   AC_REQUIRE([gl_00GNULIB])
   AC_REQUIRE([gl_COMMON_BODY])
+  AC_REQUIRE([gl_ZZGNULIB])
 ])
 AC_DEFUN([gl_COMMON_BODY], [
+  AH_VERBATIM([0witness],
+[/* Witness that <config.h> has been included.  */
+#define _GL_CONFIG_H_INCLUDED 1
+])
+  AH_VERBATIM([_GL_GNUC_PREREQ],
+[/* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define _GL_GNUC_PREREQ(major, minor) \
+    ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
+#else
+# define _GL_GNUC_PREREQ(major, minor) 0
+#endif
+])
   AH_VERBATIM([_Noreturn],
 [/* The _Noreturn keyword of C11.  */
-#if ! (defined _Noreturn \
-       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+        && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+   /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+      that rare LLVM bug, though you may get many false-alarm warnings.  */
+#  define _Noreturn
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (_GL_GNUC_PREREQ (4, 7) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
@@ -30,39 +68,590 @@ AC_DEFUN([gl_COMMON_BODY], [
 [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
    earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
-   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE__ && __MACH__ test for Mac OS X.
    __APPLE_CC__ tests for the Apple compiler and its version.
    __STDC_VERSION__ tests for the C99 mode.  */
 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
 # define __GNUC_STDC_INLINE__ 1
 #endif])
-  AH_VERBATIM([unused_parameter],
-[/* Define as a marker that can be attached to declarations that might not
-    be used.  This helps to reduce warnings, such as from
-    GCC -Wunused-parameter.  */
-#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_UNUSED __attribute__ ((__unused__))
+  AH_VERBATIM([attribute],
+[/* Attributes.  */
+#if (defined __has_attribute \
+     && (!defined __clang_minor__ \
+         || (defined __apple_build_version__ \
+             ? 6000000 <= __apple_build_version__ \
+             : 5 <= __clang_major__)))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
 #else
-# define _GL_UNUSED
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+#  define _GL_ATTR_may_alias 0
+# else
+#  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
+#endif
+
+/* Use __has_c_attribute if available.  However, do not use with
+   pre-C23 GCC, which can issue false positives if -Wpedantic.  */
+#if (defined __has_c_attribute \
+     && ! (_GL_GNUC_PREREQ (4, 6) \
+           && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710))
+# define _GL_HAVE___HAS_C_ATTRIBUTE 1
+#else
+# define _GL_HAVE___HAS_C_ATTRIBUTE 0
 #endif
-/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
-   is a misnomer outside of parameter lists.  */
-#define _UNUSED_PARAMETER_ _GL_UNUSED
 
-/* The __pure__ attribute was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+/* Define if, in a function declaration, the attributes in bracket syntax
+   [[...]] must come before the attributes in __attribute__((...)) syntax.
+   If this is defined, it is best to avoid the bracket syntax, so that the
+   various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any
+   order.  */
+#ifdef __cplusplus
+# if defined __clang__
+#  define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
 #else
-# define _GL_ATTRIBUTE_PURE /* empty */
+# if defined __GNUC__ && !defined __clang__
+#  define _GL_BRACKET_BEFORE_ATTRIBUTE 1
+# endif
+#endif
+]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead.
+[
+/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
+   is the size of the returned memory block.
+   _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied
+   by the Nth argument of the function is the size of the returned memory block.
+ */
+/* Applies to: function, pointer to function, function types.  */
+#ifndef _GL_ATTRIBUTE_ALLOC_SIZE
+# if _GL_HAS_ATTRIBUTE (alloc_size)
+#  define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+# else
+#  define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
+   function and report an error if it cannot do so.  */
+/* Applies to: function.  */
+#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE
+# if _GL_HAS_ATTRIBUTE (always_inline)
+#  define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+# else
+#  define _GL_ATTRIBUTE_ALWAYS_INLINE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
+    in stack traces when debugging.  The compiler should omit the function from
+    stack traces.  */
+/* Applies to: function.  */
+#ifndef _GL_ATTRIBUTE_ARTIFICIAL
+# if _GL_HAS_ATTRIBUTE (artificial)
+#  define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+# else
+#  define _GL_ATTRIBUTE_ARTIFICIAL
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed.  */
+/* Applies to: functions.  */
+/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
+   <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
+   Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
+#ifndef _GL_ATTRIBUTE_COLD
+# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+#  ifndef __SUNPRO_C
+#   define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+#  else
+#   define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+#  endif
+# else
+#  define _GL_ATTRIBUTE_COLD
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
+   calls to the function with the same arguments.
+   This attribute is safe for a function that neither depends on nor affects
+   observable state, and always returns exactly once - e.g., does not loop
+   forever, and does not call longjmp.
+   (This attribute is stricter than _GL_ATTRIBUTE_PURE.)  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_CONST
+# if _GL_HAS_ATTRIBUTE (const)
+#  define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+# else
+#  define _GL_ATTRIBUTE_CONST
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.
+   _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if _GL_GNUC_PREREQ (11, 0)
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
+   to use this earlier definition, since <stdlib.h> may not have been included
+   yet.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
+   The compiler may warn if the entity is used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: namespace, class, template specialization.  */
+#ifndef _GL_ATTRIBUTE_DEPRECATED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__deprecated__)
+#    define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+#   endif
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated)
+#  define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+# endif
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+#  define _GL_ATTRIBUTE_DEPRECATED
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
+   the function call is not optimized away.
+   _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
+   the function call is not optimized away.  */
+/* Applies to: functions.  */
+#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING)
+# if _GL_HAS_ATTRIBUTE (error)
+#  define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+#  define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+# elif _GL_HAS_ATTRIBUTE (diagnose_if)
+#  define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+#  define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+# else
+#  define _GL_ATTRIBUTE_ERROR(msg)
+#  define _GL_ATTRIBUTE_WARNING(msg)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
+   visible to debuggers etc., even with '-fwhole-program'.  */
+/* Applies to: functions, variables.  */
+#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# if _GL_HAS_ATTRIBUTE (externally_visible)
+#  define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+# else
+#  define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
+   the control flow falls through to the immediately following 'case' or
+   'default' label.  The compiler should not warn in this case.  */
+/* Applies to: Empty statement (;), inside a 'switch' statement.  */
+/* Always expands to something.  */
+#ifndef _GL_ATTRIBUTE_FALLTHROUGH
+# if _GL_HAVE___HAS_C_ATTRIBUTE
+#  if __has_c_attribute (__fallthrough__)
+#   define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough)
+#  define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+# ifndef _GL_ATTRIBUTE_FALLTHROUGH
+#  define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
+   declares that the STRING-INDEXth function argument is a format string of
+   style ARCHETYPE, which is one of:
+     printf, gnu_printf
+     scanf, gnu_scanf,
+     strftime, gnu_strftime,
+     strfmon,
+   or the same thing prefixed and suffixed with '__'.
+   If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
+   are suitable for the format string.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_FORMAT
+# if _GL_HAS_ATTRIBUTE (format)
+#  define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+# else
+#  define _GL_ATTRIBUTE_FORMAT(spec)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
+   compilation unit, it executes code from that unit only by return or by
+   exception handling.  This declaration lets the compiler optimize that unit
+   more aggressively.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_LEAF
+# if _GL_HAS_ATTRIBUTE (leaf)
+#  define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+# else
+#  define _GL_ATTRIBUTE_LEAF
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if _GL_HAS_ATTRIBUTE (malloc)
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
+   same storage as pointers to other types.  Thus this declaration disables
+   strict aliasing optimization.  */
+/* Applies to: types.  */
+/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
+#ifndef _GL_ATTRIBUTE_MAY_ALIAS
+# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+#  define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+# else
+#  define _GL_ATTRIBUTE_MAY_ALIAS
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
+   the entity is not used.  The compiler should not warn if the entity is not
+   used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: class.  */
+/* In C++ and C23, this is spelled [[__maybe_unused__]].
+   GCC's syntax is __attribute__ ((__unused__)).
+   clang supports both syntaxes.  Except that with clang ≥ 6, < 10, in C++ mode,
+   __has_c_attribute (__maybe_unused__) yields true but the use of
+   [[__maybe_unused__]] nevertheless produces a warning.  */
+#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if defined __clang__ && defined __cplusplus
+#   if !defined __apple_build_version__ && __clang_major__ >= 10
+#    define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#   endif
+#  elif _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__maybe_unused__)
+#    define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#   endif
+#  endif
+# endif
+# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
+#  define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+# endif
+#endif
+/* Alternative spelling of this macro, for convenience and for
+   compatibility with glibc/include/libc-symbols.h.  */
+#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
+/* Earlier spellings of this macro.  */
+#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
+
+/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not
+   discard the return value.  The compiler may warn if the caller does not use
+   the return value, unless the caller uses something like ignore_value.  */
+/* Applies to: function, enumeration, class.  */
+#ifndef _GL_ATTRIBUTE_NODISCARD
+# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE
+#  if defined __clang__ && defined __cplusplus
+  /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces
+     a warning.
+     The 1000 below means a yet unknown threshold.  When clang++ version X
+     starts supporting [[__nodiscard__]] without warning about it, you can
+     replace the 1000 with X.  */
+#   if __clang_major__ >= 1000
+#    define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#   endif
+#  elif _GL_HAVE___HAS_C_ATTRIBUTE
+#   if __has_c_attribute (__nodiscard__)
+#    define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#   endif
+#  endif
+# endif
+# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result)
+#  define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+# endif
+# ifndef _GL_ATTRIBUTE_NODISCARD
+#  define _GL_ATTRIBUTE_NODISCARD
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
+   function.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_NOINLINE
+# if _GL_HAS_ATTRIBUTE (noinline)
+#  define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+# else
+#  define _GL_ATTRIBUTE_NOINLINE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
+   must not be NULL.
+   _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
+   null.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_NONNULL
+# if _GL_HAS_ATTRIBUTE (nonnull)
+#  define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+# else
+#  define _GL_ATTRIBUTE_NONNULL(args)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
+   not meant to be NUL-terminated.  */
+/* Applies to: struct/union members and variables that are arrays of element
+   type '[[un]signed] char'.  */
+#ifndef _GL_ATTRIBUTE_NONSTRING
+# if _GL_HAS_ATTRIBUTE (nonstring)
+#  define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+# else
+#  define _GL_ATTRIBUTE_NONSTRING
+# endif
+#endif
+
+/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+/* Applies to: functions.  */
+/* After a function's parameter list, this attribute must come first, before
+   other attributes.  */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if _GL_HAS_ATTRIBUTE (nothrow)
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_PACKED declares:
+   For struct members: The member has the smallest possible alignment.
+   For struct, union, class: All members have the smallest possible alignment,
+   minimizing the memory required.  */
+/* Applies to: struct members, struct, union,
+   in C++ also: class.  */
+#ifndef _GL_ATTRIBUTE_PACKED
+# if _GL_HAS_ATTRIBUTE (packed)
+#  define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+# else
+#  define _GL_ATTRIBUTE_PACKED
+# endif
 #endif
 
-/* The __const__ attribute was added in gcc 2.95.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
+   calls to the function with the same arguments if observable state is not
+   changed between calls.
+   This attribute is safe for a function that does not affect
+   observable state, and always returns exactly once.
+   (This attribute is looser than _GL_ATTRIBUTE_CONST.)  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if _GL_HAS_ATTRIBUTE (pure)
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
+   a non-NULL pointer.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL
+# if _GL_HAS_ATTRIBUTE (returns_nonnull)
+#  define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+# else
+#  define _GL_ATTRIBUTE_RETURNS_NONNULL
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
+   trailing NULL argument.
+   _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
+   _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_SENTINEL
+# if _GL_HAS_ATTRIBUTE (sentinel)
+#  define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+# else
+#  define _GL_ATTRIBUTE_SENTINEL(pos)
+# endif
+#endif
+
+/* A helper macro.  Don't use it directly.  */
+#ifndef _GL_ATTRIBUTE_UNUSED
+# if _GL_HAS_ATTRIBUTE (unused)
+#  define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define _GL_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead.
+[
+/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the
+   immediately preceding label is not used.  The compiler should not warn
+   if the label is not used.  */
+/* Applies to: label (both in C and C++).  */
+/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
+   syntax.  But clang does.  */
+#ifndef _GL_UNUSED_LABEL
+# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+#  define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+# else
+#  define _GL_UNUSED_LABEL
+# endif
+#endif
+])
+  AH_VERBATIM([c_linkage],
+[/* In C++, there is the concept of "language linkage", that encompasses
+    name mangling and function calling conventions.
+    The following macros start and end a block of "C" linkage.  */
+#ifdef __cplusplus
+# define _GL_BEGIN_C_LINKAGE extern "C" {
+# define _GL_END_C_LINKAGE }
 #else
-# define _GL_ATTRIBUTE_CONST /* empty */
+# define _GL_BEGIN_C_LINKAGE
+# define _GL_END_C_LINKAGE
 #endif
 ])
+  AH_VERBATIM([async_safe],
+[/* The _GL_ASYNC_SAFE marker should be attached to functions that are
+   signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
+   invoked from such signal handlers.  Such functions have some restrictions:
+     * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
+       or should be listed as async-signal-safe in POSIX
+       <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
+       section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
+       particular, are NOT async-signal-safe.
+     * All memory locations (variables and struct fields) that these functions
+       access must be marked 'volatile'.  This holds for both read and write
+       accesses.  Otherwise the compiler might optimize away stores to and
+       reads from such locations that occur in the program, depending on its
+       data flow analysis.  For example, when the program contains a loop
+       that is intended to inspect a variable set from within a signal handler
+           while (!signal_occurred)
+             ;
+       the compiler is allowed to transform this into an endless loop if the
+       variable 'signal_occurred' is not declared 'volatile'.
+   Additionally, recall that:
+     * A signal handler should not modify errno (except if it is a handler
+       for a fatal signal and ends by raising the same signal again, thus
+       provoking the termination of the process).  If it invokes a function
+       that may clobber errno, it needs to save and restore the value of
+       errno.  */
+#define _GL_ASYNC_SAFE
+])
+  AH_VERBATIM([micro_optimizations],
+[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
+   n1 and n2 are expressions without side effects, that evaluate to real
+   numbers (excluding NaN).
+   It returns
+     1  if n1 > n2
+     0  if n1 == n2
+     -1 if n1 < n2
+   The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
+   jump with nearly all GCC versions up to GCC 10.
+   This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
+   GCC versions up to GCC 9.
+   The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
+   avoids conditional jumps in all GCC versions >= 3.4.  */
+#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
+])
+  dnl Hint which direction to take regarding cross-compilation guesses:
+  dnl When a user installs a program on a platform they are not intimately
+  dnl familiar with, --enable-cross-guesses=conservative is the appropriate
+  dnl choice.  It implements the "If we don't know, assume the worst" principle.
+  dnl However, when an operating system developer (on a platform which is not
+  dnl yet known to gnulib) builds packages for their platform, they want to
+  dnl expose, not hide, possible platform bugs; in this case,
+  dnl --enable-cross-guesses=risky is the appropriate choice.
+  dnl Sets the variables
+  dnl gl_cross_guess_normal    (to be used when 'yes' is good and 'no' is bad),
+  dnl gl_cross_guess_inverted  (to be used when 'no' is good and 'yes' is bad).
+  AC_ARG_ENABLE([cross-guesses],
+    [AS_HELP_STRING([[--enable-cross-guesses={conservative|risky}]],
+       [specify policy for cross-compilation guesses])],
+    [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then
+       AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses])
+       enableval=conservative
+     fi
+     gl_cross_guesses="$enableval"],
+    [gl_cross_guesses=conservative])
+  if test $gl_cross_guesses = risky; then
+    gl_cross_guess_normal="guessing yes"
+    gl_cross_guess_inverted="guessing no"
+  else
+    gl_cross_guess_normal="guessing no"
+    gl_cross_guess_inverted="guessing yes"
+  fi
   dnl Preparation for running test programs:
   dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
   dnl to /dev/tty, so they can be redirected to log files.  Such diagnostics
@@ -71,6 +660,16 @@ AC_DEFUN([gl_COMMON_BODY], [
   export LIBC_FATAL_STDERR_
 ])
 
+# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename])
+# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue])
+# initializes the shell variable that indicates the presence of the given module
+# as a C preprocessor expression.
+AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE],
+[
+  GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2])
+  AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1])
+])
+
 # gl_MODULE_INDICATOR_CONDITION
 # expands to a C preprocessor expression that evaluates to 1 or 0, depending
 # whether a gnulib module that has been requested shall be considered present
@@ -83,9 +682,9 @@ m4_define([gl_MODULE_INDICATOR_CONDITION], [1])
 AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
 [
   gl_MODULE_INDICATOR_SET_VARIABLE_AUX(
-    [GNULIB_[]m4_translit([[$1]],
-                          [abcdefghijklmnopqrstuvwxyz./-],
-                          [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])],
+    [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]],
+                                                       [abcdefghijklmnopqrstuvwxyz./-],
+                                                       [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])],
     [gl_MODULE_INDICATOR_CONDITION])
 ])
 
@@ -197,42 +796,20 @@ AC_DEFUN([gl_FEATURES_H],
   AC_SUBST([HAVE_FEATURES_H])
 ])
 
-# m4_foreach_w
-# is a backport of autoconf-2.59c's m4_foreach_w.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
-# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
-# ----------------------------------------------------
-# Backport of autoconf-2.63b's macro.
-# Remove this macro when we can assume autoconf >= 2.64.
-m4_ifndef([AS_VAR_IF],
-[m4_define([AS_VAR_IF],
-[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
-
 # gl_PROG_CC_C99
 # Modifies the value of the shell variable CC in an attempt to make $CC
 # understand ISO C99 source code.
-# This is like AC_PROG_CC_C99, except that
-# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
-# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
-#   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
-# Remaining problems:
-# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
-#   to CC twice
-#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
-# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
 AC_DEFUN([gl_PROG_CC_C99],
 [
-  dnl Change that version number to the minimum Autoconf version that supports
-  dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls.
-  m4_version_prereq([9.0],
-    [AC_REQUIRE([AC_PROG_CC_C99])],
-    [AC_REQUIRE([AC_PROG_CC_STDC])])
+  dnl Just use AC_PROG_CC_C99.
+  dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted
+  dnl value of CC will contain the C99 enabling options twice. But this is only
+  dnl a cosmetic problem.
+  dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99;
+  dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete."
+  m4_version_prereq([2.70],
+    [AC_REQUIRE([AC_PROG_CC])],
+    [AC_REQUIRE([AC_PROG_CC_C99])])
 ])
 
 # gl_PROG_AR_RANLIB
@@ -243,9 +820,11 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
   dnl as "cc", and GCC as "gcc". They have different object file formats and
-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl library formats. In particular, the GNU binutils programs ar and ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
+  dnl The '][' hides this use from 'aclocal'.
+  AC_BEFORE([$0], [A][M_PROG_AR])
   AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
       AC_EGREP_CPP([Amsterdam],
@@ -257,25 +836,39 @@ Amsterdam
         [gl_cv_c_amsterdam_compiler=yes],
         [gl_cv_c_amsterdam_compiler=no])
     ])
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+  dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+  dnl building with __ACK__.
+  if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-      dnl Use the Automake-documented default values for AR and ARFLAGS,
-      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
-      AC_CHECK_TOOL([AR], [ar], [ar])
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cru'
-      fi
     fi
-  else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cru'
+      ARFLAGS='-o'
     fi
+  else
+    dnl AM_PROG_AR was added in automake v1.11.2.  AM_PROG_AR does not AC_SUBST
+    dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+    dnl script on-demand, if not specified by ./configure of course).
+    dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+    dnl will be ignored.  Also, pay attention to call AM_PROG_AR in else block
+    dnl because AM_PROG_AR is written so it could re-set AR variable even for
+    dnl __ACK__.  It may seem like its easier to avoid calling the macro here,
+    dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+    dnl default value and automake should usually know them).
+    dnl
+    dnl The '][' hides this use from 'aclocal'.
+    m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:])
+  fi
+
+  dnl In case the code above has not helped with setting AR/ARFLAGS, use
+  dnl Automake-documented default values for AR and ARFLAGS, but prefer
+  dnl ${host}-ar over ar (useful for cross-compiling).
+  AC_CHECK_TOOL([AR], [ar], [ar])
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
+
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
   if test -z "$RANLIB"; then
@@ -289,42 +882,29 @@ Amsterdam
   AC_SUBST([RANLIB])
 ])
 
-# AC_PROG_MKDIR_P
-# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
-# for interoperability with automake-1.9.6 from autoconf-2.62.
-# Remove this macro when we can assume autoconf >= 2.62 or
-# autoconf >= 2.60 && automake >= 1.10.
-m4_ifdef([AC_PROG_MKDIR_P], [
-  dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
-  m4_define([AC_PROG_MKDIR_P],
-    m4_defn([AC_PROG_MKDIR_P])[
-    AC_SUBST([MKDIR_P])])], [
-  dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P.
-  AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
-    [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
-     MKDIR_P='$(mkdir_p)'
-     AC_SUBST([MKDIR_P])])])
-
 # AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
+# This definition is copied from post-2.70 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.70.
+m4_version_prereq([2.70.1], [], [
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
-   # The order here caters to the fact that C++ does not require restrict.
-   for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+   # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see:
+   # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html
+   # Put 'restrict' last, because C++ lacks it.
+   for ac_kw in __restrict__ __restrict _Restrict restrict; do
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[typedef int *int_ptr;
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
+         ]],
+         [[int s[1];
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
+         ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -332,22 +912,24 @@ AC_DEFUN([AC_C_RESTRICT],
  AH_VERBATIM([restrict],
 [/* Define to the equivalent of the C99 'restrict' keyword, or to
    nothing if this is not supported.  Do not define if restrict is
-   supported directly.  */
+   supported only directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
-#if defined __SUNPRO_CC && !defined __RESTRICT
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
+])# AC_C_RESTRICT
 ])
 
 # gl_BIGENDIAN
@@ -359,6 +941,22 @@ AC_DEFUN([gl_BIGENDIAN],
   AC_C_BIGENDIAN
 ])
 
+# A temporary file descriptor.
+# Must be less than 10, because dash 0.5.8 does not support redirections
+# with multi-digit file descriptors.
+m4_define([GL_TMP_FD], 9)
+
+# gl_SILENT(command)
+# executes command, but without the normal configure output.
+# This is useful when you want to invoke AC_CACHE_CHECK (or AC_CHECK_FUNC etc.)
+# inside another AC_CACHE_CHECK.
+AC_DEFUN([gl_SILENT],
+[
+  exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null
+  $1
+  exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&-
+])
+
 # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
 # is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
 # output a spurious "(cached)" mark in the midst of other configure output.
@@ -366,8 +964,493 @@ AC_DEFUN([gl_BIGENDIAN],
 # by an AC_MSG_CHECKING/AC_MSG_RESULT pair.
 AC_DEFUN([gl_CACHE_VAL_SILENT],
 [
-  saved_as_echo_n="$as_echo_n"
-  as_echo_n=':'
-  AC_CACHE_VAL([$1], [$2])
-  as_echo_n="$saved_as_echo_n"
+  gl_SILENT([
+    AC_CACHE_VAL([$1], [$2])
+  ])
+])
+
+# gl_CONDITIONAL(conditional, condition)
+# is like AM_CONDITIONAL(conditional, condition), except that it does not
+# produce an error
+#   configure: error: conditional "..." was never defined.
+#   Usually this means the macro was only invoked conditionally.
+# when only invoked conditionally. Instead, in that case, both the _TRUE
+# and the _FALSE case are disabled.
+AC_DEFUN([gl_CONDITIONAL],
+[
+  pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl
+  AM_CONDITIONAL([$1], [$2])
+  popdef([AC_CONFIG_COMMANDS_PRE])dnl
+  if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then
+    [$1]_TRUE='#'
+    [$1]_FALSE='#'
+  fi
+])
+
+# gl_CC_ALLOW_WARNINGS
+# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option
+# that reverts a preceding '-Werror' option, if available.
+# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang
+# and empty otherwise.
+AC_DEFUN([gl_CC_ALLOW_WARNINGS],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_CACHE_CHECK([for C compiler option to allow warnings],
+    [gl_cv_cc_wallow],
+    [rm -f conftest*
+     echo 'int dummy;' > conftest.c
+     AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null
+     AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null
+     dnl Test the number of error output lines, because AIX xlc accepts the
+     dnl option '-Wno-error', just to produce a warning
+     dnl "Option -Wno-error was incorrectly specified. The option will be ignored."
+     dnl afterwards.
+     if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+       gl_cv_cc_wallow='-Wno-error'
+     else
+       gl_cv_cc_wallow=none
+     fi
+     rm -f conftest*
+    ])
+  case "$gl_cv_cc_wallow" in
+    none) GL_CFLAG_ALLOW_WARNINGS='' ;;
+    *)    GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;;
+  esac
+  AC_SUBST([GL_CFLAG_ALLOW_WARNINGS])
+])
+
+# gl_CXX_ALLOW_WARNINGS
+# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option
+# that reverts a preceding '-Werror' option, if available.
+AC_DEFUN([gl_CXX_ALLOW_WARNINGS],
+[
+  dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX.
+  if test -n "$CXX" && test "$CXX" != no; then
+    AC_CACHE_CHECK([for C++ compiler option to allow warnings],
+      [gl_cv_cxx_wallow],
+      [rm -f conftest*
+       echo 'int dummy;' > conftest.cc
+       AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null
+       AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null
+       dnl Test the number of error output lines, because AIX xlC accepts the
+       dnl option '-Wno-error', just to produce a warning
+       dnl "Option -Wno-error was incorrectly specified. The option will be ignored."
+       dnl afterwards.
+       if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+         gl_cv_cxx_wallow='-Wno-error'
+       else
+         gl_cv_cxx_wallow=none
+       fi
+       rm -f conftest*
+      ])
+    case "$gl_cv_cxx_wallow" in
+      none) GL_CXXFLAG_ALLOW_WARNINGS='' ;;
+      *)    GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;;
+    esac
+  else
+    GL_CXXFLAG_ALLOW_WARNINGS=''
+  fi
+  AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS])
+])
+
+# gl_CC_GNULIB_WARNINGS
+# sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option
+# set that enables or disables warnings as suitable for the Gnulib coding style.
+AC_DEFUN([gl_CC_GNULIB_WARNINGS],
+[
+  AC_REQUIRE([gl_CC_ALLOW_WARNINGS])
+  dnl Assume that the compiler supports -Wno-* options only if it also supports
+  dnl -Wno-error.
+  GL_CFLAG_GNULIB_WARNINGS=''
+  if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then
+    dnl Enable these warning options:
+    dnl
+    dnl                                       GCC             clang
+    dnl -Wno-cast-qual                        >= 3            >= 3.9
+    dnl -Wno-conversion                       >= 3            >= 3.9
+    dnl -Wno-float-conversion                 >= 4.9          >= 3.9
+    dnl -Wno-float-equal                      >= 3            >= 3.9
+    dnl -Wimplicit-fallthrough                >= 7            >= 3.9
+    dnl -Wno-pedantic                         >= 4.8          >= 3.9
+    dnl -Wno-sign-compare                     >= 3            >= 3.9
+    dnl -Wno-sign-conversion                  >= 4.3          >= 3.9
+    dnl -Wno-tautological-out-of-range-compare  -             >= 3.9
+    dnl -Wno-type-limits                      >= 4.3          >= 3.9
+    dnl -Wno-undef                            >= 3            >= 3.9
+    dnl -Wno-unsuffixed-float-constants       >= 4.5
+    dnl -Wno-unused-function                  >= 3            >= 3.9
+    dnl -Wno-unused-parameter                 >= 3            >= 3.9
+    dnl
+    cat > conftest.c <<\EOF
+      #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-cast-qual
+      -Wno-conversion
+      -Wno-float-equal
+      -Wno-sign-compare
+      -Wno-undef
+      -Wno-unused-function
+      -Wno-unused-parameter
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-float-conversion
+      #endif
+      #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wimplicit-fallthrough
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-pedantic
+      #endif
+      #if 3 < __clang_major__ + (9 <= __clang_minor__)
+      -Wno-tautological-constant-out-of-range-compare
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      -Wno-sign-conversion
+      -Wno-type-limits
+      #endif
+      #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4
+      -Wno-unsuffixed-float-constants
+      #endif
+EOF
+    gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out"
+    if AC_TRY_EVAL([gl_command]); then
+      gl_options=`grep -v '#' conftest.out`
+      for word in $gl_options; do
+        GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word"
+      done
+    fi
+    rm -f conftest.c conftest.out
+  fi
+  AC_SUBST([GL_CFLAG_GNULIB_WARNINGS])
+])
+
+dnl gl_CONDITIONAL_HEADER([foo.h])
+dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input
+dnl and produces
+dnl   - an AC_SUBSTed variable FOO_H that is either a file name or empty, based
+dnl     on whether GL_GENERATE_FOO_H is true or false,
+dnl   - an Automake conditional GL_GENERATE_FOO_H that evaluates to the value of
+dnl     the shell variable GL_GENERATE_FOO_H.
+AC_DEFUN([gl_CONDITIONAL_HEADER],
+[
+  m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1)))
+  m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1)))
+  m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1)))
+  case "$gl_generate_var" in
+    false) gl_header_name='' ;;
+    true)
+      dnl It is OK to use a .h file in lib/ from within tests/, but not vice
+      dnl versa.
+      if test -z "$gl_header_name"; then
+        gl_header_name="${gl_source_base_prefix}$1"
+      fi
+      ;;
+    *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;;
+  esac
+  AC_SUBST(gl_header_name)
+  gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var])
+  m4_popdef([gl_generate_cond])
+  m4_popdef([gl_generate_var])
+  m4_popdef([gl_header_name])
+])
+
+dnl Preparations for gl_CHECK_FUNCS_MACOS.
+AC_DEFUN([gl_PREPARE_CHECK_FUNCS_MACOS],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_COMPILER_CLANG])
+  AC_CACHE_CHECK([for compiler option needed when checking for future declarations],
+    [gl_cv_compiler_check_future_option],
+    [case "$host_os" in
+       dnl This is only needed on macOS.
+       darwin*)
+         if test $gl_cv_compiler_clang = yes; then
+           dnl Test whether the compiler supports the option
+           dnl '-Werror=unguarded-availability-new'.
+           save_ac_compile="$ac_compile"
+           ac_compile="$ac_compile -Werror=unguarded-availability-new"
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
+             [gl_cv_compiler_check_future_option='-Werror=unguarded-availability-new'],
+             [gl_cv_compiler_check_future_option=none])
+           ac_compile="$save_ac_compile"
+         else
+           gl_cv_compiler_check_future_option=none
+         fi
+         ;;
+       *) gl_cv_compiler_check_future_option=none ;;
+     esac
+    ])
+])
+
+dnl Pieces of the expansion of
+dnl gl_CHECK_FUNCS_ANDROID
+dnl gl_CHECK_FUNCS_MACOS
+dnl gl_CHECK_FUNCS_ANDROID_MACOS
+
+AC_DEFUN([gl_CHECK_FUNCS_DEFAULT_CASE],
+[
+         *)
+           AC_CHECK_FUNC([$1])
+           [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
+           ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_ANDROID],
+[
+         linux*-android*)
+           AC_CHECK_DECL([$1], , , [$2])
+           if test $[ac_cv_have_decl_][$1] = yes; then
+             AC_CHECK_FUNC([[$1]])
+             if test $[ac_cv_func_][$1] = yes; then
+               [gl_cv_onwards_func_][$1]=yes
+             else
+               dnl The function is declared but does not exist. This should not
+               dnl happen normally. But anyway, we know that a future version
+               dnl of Android will have the function.
+               [gl_cv_onwards_func_][$1]='future OS version'
+             fi
+           else
+             [gl_cv_onwards_func_][$1]='future OS version'
+           fi
+           ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_MACOS],
+[
+         darwin*)
+           if test "x$gl_cv_compiler_check_future_option" != "xnone"; then
+             dnl Use a compile test, not a link test.
+             save_ac_compile="$ac_compile"
+             ac_compile="$ac_compile $gl_cv_compiler_check_future_option"
+             save_ac_compile_for_check_decl="$ac_compile_for_check_decl"
+             ac_compile_for_check_decl="$ac_compile_for_check_decl $gl_cv_compiler_check_future_option"
+             unset [ac_cv_have_decl_][$1]
+             AC_CHECK_DECL([$1], , , [$2])
+             ac_compile="$save_ac_compile"
+             ac_compile_for_check_decl="$save_ac_compile_for_check_decl"
+             [ac_cv_func_][$1]="$[ac_cv_have_decl_][$1]"
+             if test $[ac_cv_func_][$1] = yes; then
+               [gl_cv_onwards_func_][$1]=yes
+             else
+               unset [ac_cv_have_decl_][$1]
+               AC_CHECK_DECL([$1], , , [$2])
+               if test $[ac_cv_have_decl_][$1] = yes; then
+                 [gl_cv_onwards_func_][$1]='future OS version'
+               else
+                 [gl_cv_onwards_func_][$1]=no
+               fi
+             fi
+           else
+             AC_CHECK_FUNC([$1])
+             [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
+           fi
+           ;;
+])
+
+AC_DEFUN([gl_CHECK_FUNCS_SET_RESULTS],
+[
+  case "$[gl_cv_onwards_func_][$1]" in
+    future*) [ac_cv_func_][$1]=no ;;
+    *)       [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;;
+  esac
+  if test $[ac_cv_func_][$1] = yes; then
+    AC_DEFINE([HAVE_]m4_translit([[$1]],
+                                 [abcdefghijklmnopqrstuvwxyz],
+                                 [ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
+              [1], [Define to 1 if you have the `$1' function.])
+  fi
+])
+
+dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on Android.
+dnl
+dnl When code is compiled on Android, it is in the context of a certain
+dnl "Android API level", which indicates the minimum version of Android on
+dnl which the app can be installed. In other words, you don't compile for a
+dnl specific version of Android. You compile for all versions of Android,
+dnl onwards from the given API level.
+dnl Thus, the question "does the OS have the function func" has three possible
+dnl answers:
+dnl   - yes, in all versions starting from the given API level,
+dnl   - no, in no version,
+dnl   - not in the given API level, but in a later version of Android.
+dnl
+dnl In detail, this works as follows:
+dnl If func was added to Android API level, say, 28, then the libc.so has the
+dnl symbol func always, whereas the header file <foo.h> declares func
+dnl conditionally:
+dnl   #if __ANDROID_API__ >= 28
+dnl   ... func (...) __INTRODUCED_IN(28);
+dnl   #endif
+dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28",
+dnl the function func is declared and exists in libc.
+dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27",
+dnl the function func is not declared but exists in libc.
+dnl
+dnl This macro sets two variables:
+dnl   - gl_cv_onwards_func_<func>   to yes / no / "future OS version"
+dnl   - ac_cv_func_<func>           to yes / no / no
+dnl The first variable allows to distinguish all three cases.
+dnl The second variable is set, so that an invocation
+dnl   gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
+dnl can be used as a drop-in replacement for
+dnl   AC_CHECK_FUNCS([func]).
+AC_DEFUN([gl_CHECK_FUNCS_ANDROID],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([for [$1]],
+    [[gl_cv_onwards_func_][$1]],
+    [gl_SILENT([
+       case "$host_os" in
+         gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
+         gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+       esac
+      ])
+    ])
+  gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
+dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on macOS.
+dnl
+dnl When code is compiled on macOS, it is in the context of a certain minimum
+dnl macOS version, that can be set through the option '-mmacosx-version-min='.
+dnl In other words, you don't compile for a specific version of macOS. You
+dnl compile for all versions of macOS, onwards from the given version.
+dnl Thus, the question "does the OS have the function func" has three possible
+dnl answers:
+dnl   - yes, in all versions starting from the given version,
+dnl   - no, in no version,
+dnl   - not in the given version, but in a later version of macOS.
+dnl
+dnl In detail, this works as follows:
+dnl If func was added to, say, macOS version 13, then the libc has the
+dnl symbol func always, whereas the header file <foo.h> declares func
+dnl conditionally with a special availability attribute:
+dnl   ... func (...) __attribute__((availability(macos,introduced=13.0)));
+dnl Thus, when compiling with "clang mmacosx-version-min=13", there is no
+dnl warning about the use of func, and the resulting binary
+dnl   - runs fine on macOS 13,
+dnl   - aborts with a dyld "Symbol not found" message on macOS 12.
+dnl Whereas, when compiling with "clang mmacosx-version-min=12", there is a
+dnl   warning: 'func' is only available on macOS 13.0 or newer
+dnl   [-Wunguarded-availability-new],
+dnl and the resulting binary
+dnl   - runs fine on macOS 13,
+dnl   - crashes with a SIGSEGV (signal 11) on macOS 12.
+dnl
+dnl This macro sets two variables:
+dnl   - gl_cv_onwards_func_<func>   to yes / no / "future OS version"
+dnl   - ac_cv_func_<func>           to yes / no / no
+dnl The first variable allows to distinguish all three cases.
+dnl The second variable is set, so that an invocation
+dnl   gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
+dnl can be used as a drop-in replacement for
+dnl   AC_CHECK_FUNCS([func]).
+AC_DEFUN([gl_CHECK_FUNCS_MACOS],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
+  AC_CACHE_CHECK([for [$1]],
+    [[gl_cv_onwards_func_][$1]],
+    [gl_SILENT([
+       case "$host_os" in
+         gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
+         gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+       esac
+      ])
+    ])
+  gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
+dnl gl_CHECK_FUNCS_ANDROID_MACOS([func], [[#include <foo.h>]])
+dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
+dnl on Android and on macOS.
+dnl It is the combination of gl_CHECK_FUNCS_ANDROID and gl_CHECK_FUNCS_MACOS.
+AC_DEFUN([gl_CHECK_FUNCS_ANDROID_MACOS],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
+  AC_CACHE_CHECK([for [$1]],
+    [[gl_cv_onwards_func_][$1]],
+    [gl_SILENT([
+       case "$host_os" in
+         gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
+         gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
+         gl_CHECK_FUNCS_DEFAULT_CASE([$1])
+       esac
+      ])
+    ])
+  gl_CHECK_FUNCS_SET_RESULTS([$1])
+])
+
+dnl Expands to some code for use in .c programs that, on native Windows, defines
+dnl the Microsoft deprecated alias function names to the underscore-prefixed
+dnl actual function names. With this macro, these function names are available
+dnl without linking with '-loldnames' and without generating warnings.
+dnl Usage: Use it after all system header files are included.
+dnl          #include <...>
+dnl          #include <...>
+dnl          ]GL_MDA_DEFINES[
+dnl          ...
+AC_DEFUN([GL_MDA_DEFINES],[
+AC_REQUIRE([_GL_MDA_DEFINES])
+[$gl_mda_defines]
+])
+AC_DEFUN([_GL_MDA_DEFINES],
+[gl_mda_defines='
+#if defined _WIN32 && !defined __CYGWIN__
+#define access    _access
+#define chdir     _chdir
+#define chmod     _chmod
+#define close     _close
+#define creat     _creat
+#define dup       _dup
+#define dup2      _dup2
+#define ecvt      _ecvt
+#define execl     _execl
+#define execle    _execle
+#define execlp    _execlp
+#define execv     _execv
+#define execve    _execve
+#define execvp    _execvp
+#define execvpe   _execvpe
+#define fcloseall _fcloseall
+#define fcvt      _fcvt
+#define fdopen    _fdopen
+#define fileno    _fileno
+#define gcvt      _gcvt
+#define getcwd    _getcwd
+#define getpid    _getpid
+#define getw      _getw
+#define isatty    _isatty
+#define j0        _j0
+#define j1        _j1
+#define jn        _jn
+#define lfind     _lfind
+#define lsearch   _lsearch
+#define lseek     _lseek
+#define memccpy   _memccpy
+#define mkdir     _mkdir
+#define mktemp    _mktemp
+#define open      _open
+#define putenv    _putenv
+#define putw      _putw
+#define read      _read
+#define rmdir     _rmdir
+#define strdup    _strdup
+#define swab      _swab
+#define tempnam   _tempnam
+#define tzset     _tzset
+#define umask     _umask
+#define unlink    _unlink
+#define utime     _utime
+#define wcsdup    _wcsdup
+#define write     _write
+#define y0        _y0
+#define y1        _y1
+#define yn        _yn
+#endif
+'
 ])
index c295cdb..dc55bbf 100644 (file)
@@ -1,9 +1,9 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -12,7 +12,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
@@ -37,127 +37,105 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+
+  # Code from module absolute-header:
   # Code from module alloca-opt:
-  # Code from module alloca-opt-tests:
+  # Code from module announce-gen:
+  # Code from module assert-h:
   # Code from module autobuild:
   AB_INIT
-  # Code from module binary-io:
-  # Code from module binary-io-tests:
+  # Code from module basename-lgpl:
+  # Code from module c99:
+  # Code from module cloexec:
   # Code from module close:
-  # Code from module close-tests:
   # Code from module csharpcomp-script:
   # Code from module csharpexec-script:
-  # Code from module dosname:
+  # Code from module do-release-commit-and-tag:
+  # Code from module double-slash-root:
   # Code from module dup2:
-  # Code from module dup2-tests:
-  # Code from module environ:
-  # Code from module environ-tests:
   # Code from module errno:
-  # Code from module errno-tests:
   # Code from module error:
+  # Code from module error-h:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  # Code from module extern-inline:
+  # Code from module fcntl:
   # Code from module fcntl-h:
   # Code from module fd-hook:
-  # Code from module fdl-1.3:
-  # Code from module fdopen:
-  # Code from module fdopen-tests:
-  # Code from module fgetc-tests:
-  # Code from module fputc-tests:
-  # Code from module fread-tests:
+  # Code from module filename:
   # Code from module fstat:
-  # Code from module fstat-tests:
-  # Code from module fwrite-tests:
+  # Code from module gen-header:
   # Code from module gendocs:
-  # Code from module getcwd-lgpl:
-  # Code from module getcwd-lgpl-tests:
+  # Code from module getdelim:
+  # Code from module getdtablesize:
+  # Code from module getline:
   # Code from module getopt-gnu:
   # Code from module getopt-posix:
-  # Code from module getopt-posix-tests:
+  # Code from module getprogname:
   # Code from module gettext-h:
+  # Code from module git-version-gen:
+  # Code from module gitlog-to-changelog:
+  # Code from module gnu-web-doc-update:
   # Code from module gnumakefile:
   # Code from module gnupload:
-  # Code from module ignore-value:
-  # Code from module ignore-value-tests:
+  # Code from module idx:
   # Code from module include_next:
   # Code from module intprops:
-  # Code from module intprops-tests:
-  # Code from module inttypes:
-  # Code from module inttypes-incomplete:
-  # Code from module inttypes-tests:
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
-  # Code from module lstat:
-  # Code from module lstat-tests:
+  # Code from module lib-msvc-compat:
+  # Code from module lib-symbol-versions:
+  # Code from module lib-symbol-visibility:
+  # Code from module limits-h:
   # Code from module maintainer-makefile:
-  # Code from module malloc-posix:
   # Code from module malloca:
-  # Code from module malloca-tests:
   # Code from module manywarnings:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
   # Code from module nocrash:
   # Code from module open:
-  # Code from module open-tests:
   # Code from module pathmax:
-  # Code from module pathmax-tests:
   # Code from module pmccabe2html:
   # Code from module progname:
-  # Code from module putenv:
-  # Code from module same-inode:
-  # Code from module setenv:
-  # Code from module setenv-tests:
+  # Code from module readme-release:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
   # Code from module ssize_t:
   # Code from module stat:
-  # Code from module stat-tests:
+  # Code from module stat-time:
+  # Code from module std-gnu11:
   # Code from module stdarg:
   dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
-  dnl for the builtin va_copy to work.  With Autoconf 2.60 or later,
-  dnl gl_PROG_CC_C99 arranges for this.  With older Autoconf gl_PROG_CC_C99
-  dnl shouldn't hurt, though installers are on their own to set c99 mode.
+  dnl for the builtin va_copy to work.  gl_PROG_CC_C99 arranges for this.
   gl_PROG_CC_C99
   # Code from module stdbool:
-  # Code from module stdbool-tests:
+  # Code from module stdckdint:
   # Code from module stddef:
-  # Code from module stddef-tests:
   # Code from module stdint:
-  # Code from module stdint-tests:
   # Code from module stdio:
-  # Code from module stdio-tests:
+  gl_STDIO_H_EARLY
   # Code from module stdlib:
   # Code from module strerror:
   # Code from module strerror-override:
-  # Code from module strerror-tests:
   # Code from module string:
-  # Code from module symlink:
-  # Code from module symlink-tests:
   # Code from module sys_stat:
   # Code from module sys_types:
-  # Code from module sys_types-tests:
-  # Code from module test-framework-sh:
-  # Code from module test-framework-sh-tests:
-  # Code from module time:
+  # Code from module time-h:
   # Code from module unistd:
-  # Code from module unsetenv:
-  # Code from module unsetenv-tests:
   # Code from module update-copyright:
   # Code from module useless-if-before-free:
   # Code from module valgrind-tests:
+  # Code from module vararrays:
   # Code from module vc-list-files:
-  # Code from module vc-list-files-tests:
-  # Code from module verify:
-  # Code from module verify-tests:
   # Code from module version-etc:
-  # Code from module version-etc-fsf:
-  # Code from module version-etc-tests:
   # Code from module warnings:
-  # Code from module wchar:
+  # Code from module xalloc-oversized:
 ])
 
 # This macro should be invoked from ./configure.ac, in the section
@@ -172,86 +150,244 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
   m4_pushdef([gl_LIBSOURCES_LIST], [])
   m4_pushdef([gl_LIBSOURCES_DIR], [])
+  m4_pushdef([GL_MACRO_PREFIX], [gl])
+  m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL])
   gl_COMMON
   gl_source_base='gl'
-AC_REQUIRE([gt_CSHARPCOMP])
-AC_CONFIG_FILES([csharpcomp.sh:build-aux/csharpcomp.sh.in])
-# You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
-AC_CONFIG_FILES([csharpexec.sh:build-aux/csharpexec.sh.in])
-gl_HEADER_ERRNO_H
-gl_ERROR
-if test $ac_cv_lib_error_at_line = no; then
-  AC_LIBOBJ([error])
-  gl_PREREQ_ERROR
-fi
-m4_ifdef([AM_XGETTEXT_OPTION],
-  [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
-   AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
-gl_FUNC_GETOPT_GNU
-if test $REPLACE_GETOPT = 1; then
-  AC_LIBOBJ([getopt])
-  AC_LIBOBJ([getopt1])
-  gl_PREREQ_GETOPT
-  dnl Arrange for unistd.h to include getopt.h.
-  GNULIB_GL_UNISTD_H_GETOPT=1
-fi
-AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
-gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
-gl_FUNC_GETOPT_POSIX
-if test $REPLACE_GETOPT = 1; then
-  AC_LIBOBJ([getopt])
-  AC_LIBOBJ([getopt1])
-  gl_PREREQ_GETOPT
-  dnl Arrange for unistd.h to include getopt.h.
-  GNULIB_GL_UNISTD_H_GETOPT=1
-fi
-AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
-AC_SUBST([LIBINTL])
-AC_SUBST([LTLIBINTL])
-# Autoconf 2.61a.99 and earlier don't support linking a file only
-# in VPATH builds.  But since GNUmakefile is for maintainer use
-# only, it does not matter if we skip the link with older autoconf.
-# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
-# builds, so use a shell variable to bypass this.
-GNUmakefile=GNUmakefile
-m4_if(m4_version_compare([2.61a.100],
-        m4_defn([m4_PACKAGE_VERSION])), [1], [],
-      [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
-        [GNUmakefile=$GNUmakefile])])
-AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
-  [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
-gl_MSVC_INVAL
-if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-  AC_LIBOBJ([msvc-inval])
-fi
-gl_MSVC_NOTHROW
-if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-  AC_LIBOBJ([msvc-nothrow])
-fi
-AC_PATH_PROG([PMCCABE], [pmccabe], [false])
-AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
-AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
-gt_TYPE_SSIZE_T
-gl_STDARG_H
-gl_STDDEF_H
-gl_FUNC_STRERROR
-if test $REPLACE_STRERROR = 1; then
-  AC_LIBOBJ([strerror])
-fi
-gl_MODULE_INDICATOR([strerror])
-gl_STRING_MODULE_INDICATOR([strerror])
-AC_REQUIRE([gl_HEADER_ERRNO_H])
-AC_REQUIRE([gl_FUNC_STRERROR_0])
-if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
-  AC_LIBOBJ([strerror-override])
-  gl_PREREQ_SYS_H_WINSOCK2
-fi
-gl_HEADER_STRING_H
-gl_SYS_TYPES_H
-AC_PROG_MKDIR_P
-gl_UNISTD_H
-gl_VALGRIND_TESTS
-gl_VERSION_ETC
+  gl_source_base_prefix=
+  gl_FUNC_ALLOCA
+  gl_CONDITIONAL_HEADER([alloca.h])
+  AC_PROG_MKDIR_P
+  gl_ASSERT_H
+  gl_CONDITIONAL_HEADER([assert.h])
+  AC_PROG_MKDIR_P
+  gl_MODULE_INDICATOR_FOR_TESTS([cloexec])
+  gl_FUNC_CLOSE
+  gl_CONDITIONAL([GL_COND_OBJ_CLOSE], [test $REPLACE_CLOSE = 1])
+  gl_UNISTD_MODULE_INDICATOR([close])
+  AC_REQUIRE([gt_CSHARPCOMP])
+  AC_CONFIG_FILES([csharpcomp.sh:build-aux/csharpcomp.sh.in])
+  # You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
+  AC_CONFIG_FILES([csharpexec.sh:build-aux/csharpexec.sh.in])
+  gl_DOUBLE_SLASH_ROOT
+  gl_FUNC_DUP2
+  gl_CONDITIONAL([GL_COND_OBJ_DUP2], [test $REPLACE_DUP2 = 1])
+  AM_COND_IF([GL_COND_OBJ_DUP2], [
+    gl_PREREQ_DUP2
+  ])
+  gl_UNISTD_MODULE_INDICATOR([dup2])
+  gl_HEADER_ERRNO_H
+  gl_CONDITIONAL_HEADER([errno.h])
+  AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_ERROR_H])
+  gl_ERROR
+  gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test $COMPILE_ERROR_C = 1])
+  AM_COND_IF([GL_COND_OBJ_ERROR], [
+    gl_PREREQ_ERROR
+  ])
+  m4_ifdef([AM_XGETTEXT_OPTION],
+    [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
+     AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+  gl_ERROR_H
+  AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_EXTERN_INLINE])
+  gl_FUNC_FCNTL
+  gl_CONDITIONAL([GL_COND_OBJ_FCNTL],
+                 [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1])
+  gl_FCNTL_MODULE_INDICATOR([fcntl])
+  gl_FCNTL_H
+  gl_FCNTL_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_FUNC_FSTAT
+  gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1])
+  AM_COND_IF([GL_COND_OBJ_FSTAT], [
+    case "$host_os" in
+      mingw* | windows*)
+        AC_LIBOBJ([stat-w32])
+        ;;
+    esac
+    gl_PREREQ_FSTAT
+  ])
+  gl_SYS_STAT_MODULE_INDICATOR([fstat])
+  gl_FUNC_GETDELIM
+  gl_CONDITIONAL([GL_COND_OBJ_GETDELIM],
+                 [test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1])
+  AM_COND_IF([GL_COND_OBJ_GETDELIM], [
+    gl_PREREQ_GETDELIM
+  ])
+  gl_STDIO_MODULE_INDICATOR([getdelim])
+  gl_FUNC_GETDTABLESIZE
+  gl_CONDITIONAL([GL_COND_OBJ_GETDTABLESIZE],
+                 [test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1])
+  AM_COND_IF([GL_COND_OBJ_GETDTABLESIZE], [
+    gl_PREREQ_GETDTABLESIZE
+  ])
+  gl_UNISTD_MODULE_INDICATOR([getdtablesize])
+  gl_FUNC_GETLINE
+  gl_CONDITIONAL([GL_COND_OBJ_GETLINE], [test $REPLACE_GETLINE = 1])
+  AM_COND_IF([GL_COND_OBJ_GETLINE], [
+    gl_PREREQ_GETLINE
+  ])
+  gl_STDIO_MODULE_INDICATOR([getline])
+  gl_FUNC_GETOPT_GNU
+  dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required
+  dnl mechanism), there is no need to do any AC_LIBOBJ or AC_SUBST here; they are
+  dnl done in the getopt-posix module.
+  gl_FUNC_GETOPT_POSIX
+  gl_CONDITIONAL_HEADER([getopt.h])
+  gl_CONDITIONAL_HEADER([getopt-cdefs.h])
+  AC_PROG_MKDIR_P
+  gl_CONDITIONAL([GL_COND_OBJ_GETOPT], [test $REPLACE_GETOPT = 1])
+  AM_COND_IF([GL_COND_OBJ_GETOPT], [
+    dnl Define the substituted variable GNULIB_UNISTD_H_GETOPT to 1.
+    gl_UNISTD_H_REQUIRE_DEFAULTS
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT], [1])
+  ])
+  gl_UNISTD_MODULE_INDICATOR([getopt-posix])
+  gl_FUNC_GETPROGNAME
+  gl_CONDITIONAL([GL_COND_OBJ_GETPROGNAME],
+                 [test $HAVE_GETPROGNAME = 0 || test $REPLACE_GETPROGNAME = 1])
+  AM_COND_IF([GL_COND_OBJ_GETPROGNAME], [
+    gl_PREREQ_GETPROGNAME
+  ])
+  gl_STDLIB_MODULE_INDICATOR([getprogname])
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  # Autoconf 2.61a.99 and earlier don't support linking a file only
+  # in VPATH builds.  But since GNUmakefile is for maintainer use
+  # only, it does not matter if we skip the link with older autoconf.
+  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+  # builds, so use a shell variable to bypass this.
+  GNUmakefile=GNUmakefile
+  m4_if(m4_version_compare([2.61a.100],
+          m4_defn([m4_PACKAGE_VERSION])), [1], [],
+        [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
+          [GNUmakefile=$GNUmakefile])])
+  AC_REQUIRE([gl_LARGEFILE])
+  gl_LD_OUTPUT_DEF
+  gl_LD_VERSION_SCRIPT
+  gl_VISIBILITY
+  gl_LIMITS_H
+  gl_CONDITIONAL_HEADER([limits.h])
+  AC_PROG_MKDIR_P
+  AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
+    [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
+  AC_REQUIRE([AC_PROG_SED])
+  AC_REQUIRE([AC_PROG_GREP])
+  gl_MALLOCA
+  AC_REQUIRE([gl_MSVC_INVAL])
+  gl_CONDITIONAL([GL_COND_OBJ_MSVC_INVAL],
+                 [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1])
+  AC_REQUIRE([gl_MSVC_NOTHROW])
+  gl_CONDITIONAL([GL_COND_OBJ_MSVC_NOTHROW],
+                 [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1])
+  gl_MODULE_INDICATOR([msvc-nothrow])
+  gl_MULTIARCH
+  gl_FUNC_OPEN
+  gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1])
+  AM_COND_IF([GL_COND_OBJ_OPEN], [
+    gl_PREREQ_OPEN
+  ])
+  gl_FCNTL_MODULE_INDICATOR([open])
+  gl_PATHMAX
+  AC_PATH_PROG([PMCCABE], [pmccabe], [false])
+  AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
+  AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+  gt_TYPE_SSIZE_T
+  gl_FUNC_STAT
+  gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1])
+  AM_COND_IF([GL_COND_OBJ_STAT], [
+    case "$host_os" in
+      mingw* | windows*)
+        AC_LIBOBJ([stat-w32])
+        ;;
+    esac
+    gl_PREREQ_STAT
+  ])
+  gl_SYS_STAT_MODULE_INDICATOR([stat])
+  gl_STAT_TIME
+  gl_STAT_BIRTHTIME
+  gl_STDARG_H
+  gl_CONDITIONAL_HEADER([stdarg.h])
+  AC_PROG_MKDIR_P
+  gl_C_BOOL
+  AC_CHECK_HEADERS_ONCE([stdckdint.h])
+  if test $ac_cv_header_stdckdint_h = yes; then
+    GL_GENERATE_STDCKDINT_H=false
+  else
+    GL_GENERATE_STDCKDINT_H=true
+  fi
+  gl_CONDITIONAL_HEADER([stdckdint.h])
+  AC_PROG_MKDIR_P
+  gl_STDDEF_H
+  gl_STDDEF_H_REQUIRE_DEFAULTS
+  gl_CONDITIONAL_HEADER([stddef.h])
+  AC_PROG_MKDIR_P
+  gl_STDINT_H
+  gl_CONDITIONAL_HEADER([stdint.h])
+  dnl Because of gl_REPLACE_LIMITS_H:
+  gl_CONDITIONAL_HEADER([limits.h])
+  AC_PROG_MKDIR_P
+  gl_STDIO_H
+  gl_STDIO_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_CONDITIONAL([GL_COND_OBJ_STDIO_READ], [test $REPLACE_STDIO_READ_FUNCS = 1])
+  gl_CONDITIONAL([GL_COND_OBJ_STDIO_WRITE], [test $REPLACE_STDIO_WRITE_FUNCS = 1])
+  dnl No need to create extra modules for these functions. Everyone who uses
+  dnl <stdio.h> likely needs them.
+  gl_STDIO_MODULE_INDICATOR([fscanf])
+  gl_MODULE_INDICATOR([fscanf])
+  gl_STDIO_MODULE_INDICATOR([scanf])
+  gl_MODULE_INDICATOR([scanf])
+  gl_STDIO_MODULE_INDICATOR([fgetc])
+  gl_STDIO_MODULE_INDICATOR([getc])
+  gl_STDIO_MODULE_INDICATOR([getchar])
+  gl_STDIO_MODULE_INDICATOR([fgets])
+  gl_STDIO_MODULE_INDICATOR([fread])
+  dnl No need to create extra modules for these functions. Everyone who uses
+  dnl <stdio.h> likely needs them.
+  gl_STDIO_MODULE_INDICATOR([fprintf])
+  gl_STDIO_MODULE_INDICATOR([printf])
+  gl_STDIO_MODULE_INDICATOR([vfprintf])
+  gl_STDIO_MODULE_INDICATOR([vprintf])
+  gl_STDIO_MODULE_INDICATOR([fputc])
+  gl_STDIO_MODULE_INDICATOR([putc])
+  gl_STDIO_MODULE_INDICATOR([putchar])
+  gl_STDIO_MODULE_INDICATOR([fputs])
+  gl_STDIO_MODULE_INDICATOR([puts])
+  gl_STDIO_MODULE_INDICATOR([fwrite])
+  gl_STDLIB_H
+  gl_STDLIB_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_FUNC_STRERROR
+  gl_CONDITIONAL([GL_COND_OBJ_STRERROR], [test $REPLACE_STRERROR = 1])
+  gl_MODULE_INDICATOR([strerror])
+  gl_STRING_MODULE_INDICATOR([strerror])
+  AC_REQUIRE([gl_HEADER_ERRNO_H])
+  AC_REQUIRE([gl_FUNC_STRERROR_0])
+  gl_CONDITIONAL([GL_COND_OBJ_STRERROR_OVERRIDE],
+                 [test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1])
+  AM_COND_IF([GL_COND_OBJ_STRERROR_OVERRIDE], [
+    gl_PREREQ_SYS_H_WINSOCK2
+  ])
+  gl_STRING_H
+  gl_STRING_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_SYS_STAT_H
+  gl_SYS_STAT_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_SYS_TYPES_H
+  gl_SYS_TYPES_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_TIME_H
+  gl_TIME_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_UNISTD_H
+  gl_UNISTD_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_VALGRIND_TESTS
+  AC_C_VARARRAYS
+  gl_VERSION_ETC
   # End of code from modules
   m4_ifval(gl_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
@@ -264,6 +400,8 @@ gl_VERSION_ETC
       m4_if(m4_sysval, [0], [],
         [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
   ])
+  m4_popdef([GL_MODULE_INDICATOR_PREFIX])
+  m4_popdef([GL_MACRO_PREFIX])
   m4_popdef([gl_LIBSOURCES_DIR])
   m4_popdef([gl_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
@@ -272,16 +410,28 @@ gl_VERSION_ETC
   AC_CONFIG_COMMANDS_PRE([
     gl_libobjs=
     gl_ltlibobjs=
+    gl_libobjdeps=
     if test -n "$gl_LIBOBJS"; then
       # Remove the extension.
+changequote(,)dnl
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
+changequote([, ])dnl
       for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         gl_libobjs="$gl_libobjs $i.$ac_objext"
         gl_ltlibobjs="$gl_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        gl_libobjdeps="$gl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
     AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
+    AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps])
   ])
   gltests_libdeps=
   gltests_ltlibdeps=
@@ -290,111 +440,20 @@ gl_VERSION_ETC
   m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES]))
   m4_pushdef([gltests_LIBSOURCES_LIST], [])
   m4_pushdef([gltests_LIBSOURCES_DIR], [])
+  m4_pushdef([GL_MACRO_PREFIX], [gltests])
+  m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL])
   gl_COMMON
-  gl_source_base='gltests'
+  AC_REQUIRE([gl_CC_ALLOW_WARNINGS])
+  AC_REQUIRE([gl_CXX_ALLOW_WARNINGS])
+  gl_source_base='gl/tests'
+  gl_source_base_prefix=
 changequote(,)dnl
   gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 changequote([, ])dnl
   AC_SUBST([gltests_WITNESS])
   gl_module_indicator_condition=$gltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
-gl_FUNC_ALLOCA
-AC_REQUIRE([AC_C_INLINE])
-gl_FUNC_CLOSE
-if test $REPLACE_CLOSE = 1; then
-  AC_LIBOBJ([close])
-fi
-gl_UNISTD_MODULE_INDICATOR([close])
-gl_FUNC_DUP2
-if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
-  AC_LIBOBJ([dup2])
-  gl_PREREQ_DUP2
-fi
-gl_UNISTD_MODULE_INDICATOR([dup2])
-gl_ENVIRON
-gl_UNISTD_MODULE_INDICATOR([environ])
-gl_FCNTL_H
-gl_FUNC_FDOPEN
-if test $REPLACE_FDOPEN = 1; then
-  AC_LIBOBJ([fdopen])
-  gl_PREREQ_FDOPEN
-fi
-gl_STDIO_MODULE_INDICATOR([fdopen])
-gl_FUNC_FSTAT
-if test $REPLACE_FSTAT = 1; then
-  AC_LIBOBJ([fstat])
-  gl_PREREQ_FSTAT
-fi
-gl_SYS_STAT_MODULE_INDICATOR([fstat])
-gl_FUNC_GETCWD_LGPL
-if test $REPLACE_GETCWD = 1; then
-  AC_LIBOBJ([getcwd-lgpl])
-fi
-gl_UNISTD_MODULE_INDICATOR([getcwd])
-AC_REQUIRE([AC_C_INLINE])
-gl_INTTYPES_H
-gl_INTTYPES_INCOMPLETE
-AC_REQUIRE([gl_LARGEFILE])
-gl_FUNC_LSTAT
-if test $REPLACE_LSTAT = 1; then
-  AC_LIBOBJ([lstat])
-  gl_PREREQ_LSTAT
-fi
-gl_SYS_STAT_MODULE_INDICATOR([lstat])
-gl_FUNC_MALLOC_POSIX
-if test $REPLACE_MALLOC = 1; then
-  AC_LIBOBJ([malloc])
-fi
-gl_STDLIB_MODULE_INDICATOR([malloc-posix])
-gl_MALLOCA
-gl_MULTIARCH
-gl_FUNC_OPEN
-if test $REPLACE_OPEN = 1; then
-  AC_LIBOBJ([open])
-  gl_PREREQ_OPEN
-fi
-gl_FCNTL_MODULE_INDICATOR([open])
-gl_PATHMAX
-gl_FUNC_PUTENV
-if test $REPLACE_PUTENV = 1; then
-  AC_LIBOBJ([putenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([putenv])
-gl_FUNC_SETENV
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
-  AC_LIBOBJ([setenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([setenv])
-gl_FUNC_STAT
-if test $REPLACE_STAT = 1; then
-  AC_LIBOBJ([stat])
-  gl_PREREQ_STAT
-fi
-gl_SYS_STAT_MODULE_INDICATOR([stat])
-AM_STDBOOL_H
-gl_STDINT_H
-gt_TYPE_WCHAR_T
-gt_TYPE_WINT_T
-gl_STDIO_H
-gl_STDLIB_H
-gl_FUNC_SYMLINK
-if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
-  AC_LIBOBJ([symlink])
-fi
-gl_UNISTD_MODULE_INDICATOR([symlink])
-gl_HEADER_SYS_STAT_H
-AC_PROG_MKDIR_P
-gl_HEADER_TIME_H
-gl_FUNC_UNSETENV
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
-  AC_LIBOBJ([unsetenv])
-  gl_PREREQ_UNSETENV
-fi
-gl_STDLIB_MODULE_INDICATOR([unsetenv])
-gl_VALGRIND_TESTS
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
-AC_SUBST([abs_aux_dir])
-gl_WCHAR_H
+  gl_VALGRIND_TESTS
   m4_popdef([gl_MODULE_INDICATOR_CONDITION])
   m4_ifval(gltests_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
@@ -407,6 +466,8 @@ gl_WCHAR_H
       m4_if(m4_sysval, [0], [],
         [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
   ])
+  m4_popdef([GL_MODULE_INDICATOR_PREFIX])
+  m4_popdef([GL_MACRO_PREFIX])
   m4_popdef([gltests_LIBSOURCES_DIR])
   m4_popdef([gltests_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
@@ -415,17 +476,30 @@ gl_WCHAR_H
   AC_CONFIG_COMMANDS_PRE([
     gltests_libobjs=
     gltests_ltlibobjs=
+    gltests_libobjdeps=
     if test -n "$gltests_LIBOBJS"; then
       # Remove the extension.
+changequote(,)dnl
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
+changequote([, ])dnl
       for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         gltests_libobjs="$gltests_libobjs $i.$ac_objext"
         gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
     AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
+    AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps])
   ])
+  AC_REQUIRE([gl_CC_GNULIB_WARNINGS])
   LIBTESTS_LIBDEPS="$gltests_libdeps"
   AC_SUBST([LIBTESTS_LIBDEPS])
 ])
@@ -478,7 +552,7 @@ AC_DEFUN([gltests_REPLACE_FUNCS], [
 AC_DEFUN([gltests_LIBSOURCES], [
   m4_foreach([_gl_NAME], [$1], [
     m4_if(_gl_NAME, [alloca.c], [], [
-      m4_define([gltests_LIBSOURCES_DIR], [gltests])
+      m4_define([gltests_LIBSOURCES_DIR], [gl/tests])
       m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ])
     ])
   ])
@@ -487,191 +561,179 @@ AC_DEFUN([gltests_LIBSOURCES], [
 # This macro records the list of files which have been installed by
 # gnulib-tool and may be removed by future gnulib-tool invocations.
 AC_DEFUN([gl_FILE_LIST], [
+  build-aux/announce-gen
   build-aux/csharpcomp.sh.in
   build-aux/csharpexec.sh.in
+  build-aux/do-release-commit-and-tag
   build-aux/gendocs.sh
+  build-aux/git-version-gen
+  build-aux/gitlog-to-changelog
+  build-aux/gnu-web-doc-update
   build-aux/gnupload
   build-aux/pmccabe.css
   build-aux/pmccabe2html
-  build-aux/snippet/_Noreturn.h
-  build-aux/snippet/arg-nonnull.h
-  build-aux/snippet/c++defs.h
-  build-aux/snippet/warn-on-use.h
   build-aux/update-copyright
   build-aux/useless-if-before-free
   build-aux/vc-list-files
-  doc/fdl-1.3.texi
   doc/gendocs_template
+  doc/gendocs_template_min
+  lib/_Noreturn.h
+  lib/alloca.in.h
+  lib/arg-nonnull.h
+  lib/assert.in.h
+  lib/basename-lgpl.c
+  lib/basename-lgpl.h
+  lib/c++defs.h
+  lib/cloexec.c
+  lib/cloexec.h
+  lib/close.c
+  lib/dup2.c
   lib/errno.in.h
   lib/error.c
-  lib/error.h
+  lib/error.in.h
+  lib/fcntl.c
+  lib/fcntl.in.h
+  lib/fd-hook.c
+  lib/fd-hook.h
+  lib/filename.h
+  lib/fstat.c
+  lib/getdelim.c
+  lib/getdtablesize.c
+  lib/getline.c
+  lib/getopt-cdefs.in.h
+  lib/getopt-core.h
+  lib/getopt-ext.h
+  lib/getopt-pfx-core.h
+  lib/getopt-pfx-ext.h
   lib/getopt.c
   lib/getopt.in.h
   lib/getopt1.c
   lib/getopt_int.h
+  lib/getprogname.c
+  lib/getprogname.h
   lib/gettext.h
+  lib/idx.h
+  lib/intprops-internal.h
   lib/intprops.h
+  lib/limits.in.h
+  lib/malloca.c
+  lib/malloca.h
   lib/msvc-inval.c
   lib/msvc-inval.h
   lib/msvc-nothrow.c
   lib/msvc-nothrow.h
+  lib/open.c
+  lib/pathmax.h
   lib/progname.c
   lib/progname.h
+  lib/stat-time.c
+  lib/stat-time.h
+  lib/stat-w32.c
+  lib/stat-w32.h
+  lib/stat.c
   lib/stdarg.in.h
+  lib/stdckdint.in.h
   lib/stddef.in.h
+  lib/stdint.in.h
+  lib/stdio-read.c
+  lib/stdio-write.c
+  lib/stdio.in.h
+  lib/stdlib.in.h
   lib/strerror-override.c
   lib/strerror-override.h
   lib/strerror.c
   lib/string.in.h
+  lib/sys_stat.in.h
   lib/sys_types.in.h
+  lib/time.in.h
+  lib/unistd.c
   lib/unistd.in.h
   lib/verify.h
   lib/version-etc.c
   lib/version-etc.h
+  lib/warn-on-use.h
+  lib/xalloc-oversized.h
   m4/00gnulib.m4
+  m4/absolute-header.m4
   m4/alloca.m4
+  m4/assert_h.m4
   m4/autobuild.m4
+  m4/c-bool.m4
   m4/close.m4
+  m4/codeset.m4
   m4/csharp.m4
   m4/csharpcomp.m4
   m4/csharpexec.m4
+  m4/double-slash-root.m4
   m4/dup2.m4
   m4/eealloc.m4
-  m4/environ.m4
   m4/errno_h.m4
   m4/error.m4
+  m4/error_h.m4
   m4/extensions.m4
+  m4/extern-inline.m4
   m4/fcntl-o.m4
+  m4/fcntl.m4
   m4/fcntl_h.m4
-  m4/fdopen.m4
   m4/fstat.m4
-  m4/getcwd.m4
+  m4/getdelim.m4
+  m4/getdtablesize.m4
+  m4/getline.m4
   m4/getopt.m4
+  m4/getprogname.m4
   m4/gnulib-common.m4
   m4/include_next.m4
-  m4/inttypes-pri.m4
-  m4/inttypes.m4
   m4/largefile.m4
-  m4/longlong.m4
-  m4/lstat.m4
-  m4/malloc.m4
+  m4/ld-output-def.m4
+  m4/ld-version-script.m4
+  m4/limits-h.m4
+  m4/locale-fr.m4
   m4/malloca.m4
+  m4/manywarnings-c++.m4
   m4/manywarnings.m4
   m4/mode_t.m4
   m4/msvc-inval.m4
   m4/msvc-nothrow.m4
   m4/multiarch.m4
+  m4/musl.m4
   m4/nocrash.m4
   m4/off_t.m4
+  m4/open-cloexec.m4
+  m4/open-slash.m4
   m4/open.m4
   m4/pathmax.m4
-  m4/putenv.m4
-  m4/setenv.m4
+  m4/pid_t.m4
   m4/ssize_t.m4
+  m4/stat-time.m4
   m4/stat.m4
+  m4/std-gnu11.m4
   m4/stdarg.m4
-  m4/stdbool.m4
   m4/stddef_h.m4
   m4/stdint.m4
   m4/stdio_h.m4
   m4/stdlib_h.m4
   m4/strerror.m4
   m4/string_h.m4
-  m4/symlink.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
   m4/sys_types_h.m4
   m4/time_h.m4
   m4/unistd_h.m4
   m4/valgrind-tests.m4
+  m4/vararrays.m4
   m4/version-etc.m4
+  m4/visibility.m4
   m4/warn-on-use.m4
   m4/warnings.m4
-  m4/wchar_h.m4
   m4/wchar_t.m4
   m4/wint_t.m4
-  tests/init.sh
-  tests/macros.h
-  tests/signature.h
-  tests/test-alloca-opt.c
-  tests/test-binary-io.c
-  tests/test-binary-io.sh
-  tests/test-close.c
-  tests/test-dup2.c
-  tests/test-environ.c
-  tests/test-errno.c
-  tests/test-fdopen.c
-  tests/test-fgetc.c
-  tests/test-fputc.c
-  tests/test-fread.c
-  tests/test-fstat.c
-  tests/test-fwrite.c
-  tests/test-getcwd-lgpl.c
-  tests/test-getopt.c
-  tests/test-getopt.h
-  tests/test-getopt_long.h
-  tests/test-ignore-value.c
-  tests/test-init.sh
-  tests/test-intprops.c
-  tests/test-inttypes.c
-  tests/test-lstat.c
-  tests/test-lstat.h
-  tests/test-malloca.c
-  tests/test-open.c
-  tests/test-open.h
-  tests/test-pathmax.c
-  tests/test-setenv.c
-  tests/test-stat.c
-  tests/test-stat.h
-  tests/test-stdbool.c
-  tests/test-stddef.c
-  tests/test-stdint.c
-  tests/test-stdio.c
-  tests/test-strerror.c
-  tests/test-symlink.c
-  tests/test-symlink.h
-  tests/test-sys_types.c
-  tests/test-unsetenv.c
-  tests/test-vc-list-files-cvs.sh
-  tests/test-vc-list-files-git.sh
-  tests/test-verify.c
-  tests/test-verify.sh
-  tests/test-version-etc.c
-  tests/test-version-etc.sh
-  tests=lib/alloca.in.h
-  tests=lib/binary-io.h
-  tests=lib/close.c
-  tests=lib/dosname.h
-  tests=lib/dup2.c
-  tests=lib/fcntl.in.h
-  tests=lib/fd-hook.c
-  tests=lib/fd-hook.h
-  tests=lib/fdopen.c
-  tests=lib/fstat.c
-  tests=lib/getcwd-lgpl.c
-  tests=lib/ignore-value.h
-  tests=lib/inttypes.in.h
-  tests=lib/lstat.c
-  tests=lib/malloc.c
-  tests=lib/malloca.c
-  tests=lib/malloca.h
-  tests=lib/malloca.valgrind
-  tests=lib/open.c
-  tests=lib/pathmax.h
-  tests=lib/putenv.c
-  tests=lib/same-inode.h
-  tests=lib/setenv.c
-  tests=lib/stat.c
-  tests=lib/stdbool.in.h
-  tests=lib/stdint.in.h
-  tests=lib/stdio.in.h
-  tests=lib/stdlib.in.h
-  tests=lib/symlink.c
-  tests=lib/sys_stat.in.h
-  tests=lib/time.in.h
-  tests=lib/unsetenv.c
-  tests=lib/version-etc-fsf.c
-  tests=lib/wchar.in.h
+  m4/zzgnulib.m4
+  tests=lib/_Noreturn.h
+  tests=lib/arg-nonnull.h
+  tests=lib/c++defs.h
+  tests=lib/dummy.c
+  tests=lib/warn-on-use.h
   top/GNUmakefile
+  top/README-release
   top/maint.mk
 ])
index a60a261..8a1c52c 100644 (file)
@@ -1,12 +1,13 @@
-# include_next.m4 serial 23
-dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# include_next.m4 serial 26
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Paul Eggert and Derek Price.
 
-dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER.
+dnl Sets INCLUDE_NEXT, INCLUDE_NEXT_AS_FIRST_DIRECTIVE, PRAGMA_SYSTEM_HEADER,
+dnl and PRAGMA_COLUMNS.
 dnl
 dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to
 dnl 'include' otherwise.
@@ -105,19 +106,21 @@ dnl We intentionally avoid using AC_LANG_SOURCE here.
   AC_SUBST([INCLUDE_NEXT])
   AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE])
   AC_SUBST([PRAGMA_SYSTEM_HEADER])
-  AC_CACHE_CHECK([whether system header files limit the line length],
-    [gl_cv_pragma_columns],
-    [dnl HP NonStop systems, which define __TANDEM, have this misfeature.
-     AC_EGREP_CPP([choke me],
+
+  dnl HP NonStop systems, which define __TANDEM, limit the line length
+  dnl after including some system header files.
+  AC_CACHE_CHECK([whether source code line length is unlimited],
+    [gl_cv_source_line_length_unlimited],
+    [AC_EGREP_CPP([choke me],
        [
 #ifdef __TANDEM
 choke me
 #endif
        ],
-       [gl_cv_pragma_columns=yes],
-       [gl_cv_pragma_columns=no])
+       [gl_cv_source_line_length_unlimited=no],
+       [gl_cv_source_line_length_unlimited=yes])
     ])
-  if test $gl_cv_pragma_columns = yes; then
+  if test $gl_cv_source_line_length_unlimited = no; then
     PRAGMA_COLUMNS="#pragma COLUMNS 10000"
   else
     PRAGMA_COLUMNS=
@@ -175,89 +178,40 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL],
     [AC_CHECK_HEADERS_ONCE([$1])
     ])
 
-dnl FIXME: gl_next_header and gl_header_exists must be used unquoted
-dnl until we can assume autoconf 2.64 or newer.
   m4_foreach_w([gl_HEADER_NAME], [$1],
     [AS_VAR_PUSHDEF([gl_next_header],
                     [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
      if test $gl_cv_have_include_next = yes; then
-       AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
+       AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
      else
        AC_CACHE_CHECK(
          [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
-         m4_defn([gl_next_header]),
+         [gl_next_header],
          [m4_if([$2], [check],
             [AS_VAR_PUSHDEF([gl_header_exists],
                             [ac_cv_header_]m4_defn([gl_HEADER_NAME]))
-             if test AS_VAR_GET(gl_header_exists) = yes; then
+             if test AS_VAR_GET([gl_header_exists]) = yes; then
              AS_VAR_POPDEF([gl_header_exists])
             ])
-               AC_LANG_CONFTEST(
-                 [AC_LANG_SOURCE(
-                    [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
-                  )])
-               dnl AIX "xlc -E" and "cc -E" omit #line directives for header
-               dnl files that contain only a #include of other header files and
-               dnl no non-comment tokens of their own. This leads to a failure
-               dnl to detect the absolute name of <dirent.h>, <signal.h>,
-               dnl <poll.h> and others. The workaround is to force preservation
-               dnl of comments through option -C. This ensures all necessary
-               dnl #line directives are present. GCC supports option -C as well.
-               case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-changequote(,)
-               case "$host_os" in
-                 mingw*)
-                   dnl For the sake of native Windows compilers (excluding gcc),
-                   dnl treat backslash as a directory separator, like /.
-                   dnl Actually, these compilers use a double-backslash as
-                   dnl directory separator, inside the
-                   dnl   # line "filename"
-                   dnl directives.
-                   gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-               dnl A sed expression that turns a string into a basic regular
-               dnl expression, for use within "/.../".
-               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-changequote([,])
-               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-changequote(,)dnl
-                   s|^/[^/]|//&|
-changequote([,])dnl
-                   p
-                   q
-                 }'
-               dnl eval is necessary to expand gl_absname_cpp.
-               dnl Ultrix and Pyramid sh refuse to redirect output of eval,
-               dnl so use subshell.
-               AS_VAR_SET(gl_next_header,
-                 ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
-                      sed -n "$gl_absolute_header_sed"`'"'])
+          gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME)
+          AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME))
+          AS_VAR_SET([gl_next_header], ['"'$gl_header'"'])
           m4_if([$2], [check],
             [else
-               AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
+               AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
              fi
             ])
          ])
      fi
      AC_SUBST(
        AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])),
-       [AS_VAR_GET(gl_next_header)])
+       [AS_VAR_GET([gl_next_header])])
      if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
        gl_next_as_first_directive='<'gl_HEADER_NAME'>'
      else
        # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=AS_VAR_GET(gl_next_header)
+       gl_next_as_first_directive=AS_VAR_GET([gl_next_header])
      fi
      AC_SUBST(
        AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])),
index a159f4a..cbe9bc1 100644 (file)
 # Enable large files on systems where this is not the default.
+# Enable support for files on Linux file systems with 64-bit inode numbers.
 
-# Copyright 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# The following implementation works around a problem in autoconf <= 2.68;
-# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5.
-m4_version_prereq([2.69], [] ,[
+# The following macro works around a problem in Autoconf's AC_FUNC_FSEEKO:
+# It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
+# setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
+# and ftello in C++ mode as well.
+# This problem occurs in Autoconf 2.71 and earlier, which lack AC_SYS_YEAR2038.
+AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ m4_ifndef([AC_SYS_YEAR2038], [[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_FUNC_FSEEKO
+  case "$host_os" in
+    hpux*)
+      AC_DEFINE([_LARGEFILE_SOURCE], [1],
+        [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
+      ;;
+  esac
+ ]])
+)
+
+m4_ifndef([AC_SYS_YEAR2038_RECOMMENDED], [
+# Support AC_SYS_YEAR2038_RECOMMENDED and related macros, even if
+# Autoconf 2.71 or earlier.  This code is taken from Autoconf master.
+
+# _AC_SYS_YEAR2038_TEST_CODE
+# --------------------------
+# C code used to probe for time_t that can represent time points more
+# than 2**31 - 1 seconds after the epoch.  With the usual Unix epoch,
+# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
+# hence the name.
+AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
+[[
+  #include <time.h>
+  /* Check that time_t can represent 2**32 - 1 correctly.  */
+  #define LARGE_TIME_T \\
+    ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
+  int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
+                           && LARGE_TIME_T % 65537 == 0)
+                          ? 1 : -1];
+]])
+
+# _AC_SYS_YEAR2038_OPTIONS
+# ------------------------
+# List of known ways to enable support for large time_t.  If you change
+# this list you probably also need to change the AS_CASE at the end of
+# _AC_SYS_YEAR2038_PROBE.
+m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
+    ["none needed"]                   dnl 64-bit and newer 32-bit Unix
+    ["-D_TIME_BITS=64"]               dnl glibc 2.34 with some 32-bit ABIs
+    ["-D__MINGW_USE_VC2005_COMPAT"]   dnl 32-bit MinGW
+    ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
+                                      dnl 32-bit MinGW (misconfiguration)
+))
+
+# _AC_SYS_YEAR2038_PROBE
+# ----------------------
+# Subroutine of AC_SYS_YEAR2038.  Probe for time_t that can represent
+# time points more than 2**31 - 1 seconds after the epoch (dates after
+# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
+# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
+# "support not detected" if none of them worked.  Then, set compilation
+# options and #defines as necessary to enable large time_t support.
+#
+# Note that we do not test whether mktime, localtime, etc. handle
+# large values of time_t correctly, as that would require use of
+# AC_TRY_RUN.  Note also that some systems only support large time_t
+# together with large off_t.
+#
+# If you change this macro you may also need to change
+# _AC_SYS_YEAR2038_OPTIONS.
+AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
+[AC_CACHE_CHECK([for $CC option for timestamps after 2038],
+  [ac_cv_sys_year2038_opts],
+  [ac_save_CPPFLAGS="$CPPFLAGS"
+  ac_opt_found=no
+  for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
+    AS_IF([test x"$ac_opt" != x"none needed"],
+      [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
+      [ac_cv_sys_year2038_opts="$ac_opt"
+      ac_opt_found=yes])
+    test $ac_opt_found = no || break
+  done
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
+
+ac_have_year2038=yes
+AS_CASE([$ac_cv_sys_year2038_opts],
+  ["none needed"], [],
+  ["support not detected"],
+    [ac_have_year2038=no],
+
+  ["-D_TIME_BITS=64"],
+    [AC_DEFINE([_TIME_BITS], [64],
+      [Number of bits in time_t, on hosts where this is settable.])],
+
+  ["-D__MINGW_USE_VC2005_COMPAT"],
+    [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
+      [Define to 1 on platforms where this makes time_t a 64-bit type.])],
+
+  ["-U_USE_32_BIT_TIME_T"*],
+    [AC_MSG_FAILURE(m4_text_wrap(
+      [the 'time_t' type is currently forced to be 32-bit.
+       It will stop working after mid-January 2038.
+       Remove _USE_32BIT_TIME_T from the compiler flags.],
+      [], [], [55]))],
+
+  [AC_MSG_ERROR(
+    [internal error: bad value for \$ac_cv_sys_year2038_opts])])
+])
+
+# _AC_SYS_YEAR2038_ENABLE
+# -----------------------
+# Depending on which of the YEAR2038 macros was used, add either an
+# --enable-year2038 or a --disable-year2038 to
+# the configure script.  This is expanded very late and
+# therefore there cannot be any code in the AC_ARG_ENABLE.  The
+# default value for 'enable_year2038' is emitted unconditionally
+# because the generated code always looks at this variable.
+m4_define([_AC_SYS_YEAR2038_ENABLE],
+[m4_divert_text([DEFAULTS],
+  m4_provide_if([AC_SYS_YEAR2038],
+    [enable_year2038=yes],
+    [enable_year2038=no]))]dnl
+[AC_ARG_ENABLE([year2038],
+  m4_provide_if([AC_SYS_YEAR2038],
+    [AS_HELP_STRING([--disable-year2038],
+      [don't support timestamps after 2038])],
+    [AS_HELP_STRING([--enable-year2038],
+      [support timestamps after 2038])]))])
 
-# _AC_SYS_LARGEFILE_TEST_INCLUDES
-# -------------------------------
-m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+# AC_SYS_YEAR2038
+# ---------------
+# Attempt to detect and activate support for large time_t.
+# On systems where time_t is not always 64 bits, this probe can be
+# skipped by passing the --disable-year2038 option to configure.
+AC_DEFUN([AC_SYS_YEAR2038],
+[AC_REQUIRE([AC_SYS_LARGEFILE])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no],
+ [# If we're not cross compiling and 'touch' works with a large
+  # timestamp, then we can presume the system supports wider time_t
+  # *somehow* and we just weren't able to detect it.  One common
+  # case that we deliberately *don't* probe for is a system that
+  # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
+  # wide time_t.  (It would be inappropriate for us to override an
+  # intentional use of -m32.)  Error out, demanding use of
+  # --disable-year2038 if this is intentional.
+  AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
+    [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
+       [*'Feb  7  2106'* | *'Feb  7 17:10'*],
+       [AC_MSG_FAILURE(m4_text_wrap(
+         [this system appears to support timestamps after mid-January 2038,
+          but no mechanism for enabling wide 'time_t' was detected.
+          Did you mean to build a 64-bit binary? (E.g., 'CC="${CC} -m64"'.)
+          To proceed with 32-bit time_t, configure with '--disable-year2038'.],
+         [], [], [55]))])])])])
+
+# AC_SYS_YEAR2038_RECOMMENDED
+# ---------------------------
+# Same as AC_SYS_YEAR2038, but recommend support for large time_t.
+# If we cannot find any way to make time_t capable of representing
+# values larger than 2**31 - 1, error out unless --disable-year2038 is given.
+AC_DEFUN([AC_SYS_YEAR2038_RECOMMENDED],
+[AC_REQUIRE([AC_SYS_YEAR2038])dnl
+AS_IF([test "$enable_year2038,$ac_have_year2038" = yes,no],
+   [AC_MSG_FAILURE(m4_text_wrap(
+      [could not enable timestamps after mid-January 2038.
+       This package recommends support for these later timestamps.
+       However, to proceed with signed 32-bit time_t even though it
+       will fail then, configure with '--disable-year2038'.],
+      [], [], [55]))])])
+
+# _AC_SYS_LARGEFILE_TEST_CODE
+# ---------------------------
+# C code used to probe for large file support.
+m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
 [@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+@%:@ifndef FTYPE
+@%:@ define FTYPE off_t
+@%:@endif
+ /* Check that FTYPE can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_FTYPE to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
-                       && LARGE_OFF_T % 2147483647 == 1)
-                      ? 1 : -1]];[]dnl
+@%:@define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31))
+  int FTYPE_is_large[[(LARGE_FTYPE % 2147483629 == 721
+                      && LARGE_FTYPE % 2147483647 == 1)
+                     ? 1 : -1]];[]dnl
 ])
+# Defined by Autoconf 2.71 and circa 2022 Gnulib unwisely depended on it.
+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [_AC_SYS_LARGEFILE_TEST_CODE])
+
+# _AC_SYS_LARGEFILE_OPTIONS
+# -------------------------
+# List of known ways to enable support for large files.  If you change
+# this list you probably also need to change the AS_CASE at the end of
+# _AC_SYS_LARGEFILE_PROBE.
+m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
+    ["none needed"]                   dnl Most current systems
+    ["-D_FILE_OFFSET_BITS=64"]        dnl X/Open LFS spec
+    ["-D_LARGE_FILES=1"]              dnl 32-bit AIX 4.2.1+, 32-bit z/OS
+    ["-n32"]                          dnl 32-bit IRIX 6, SGI cc (obsolete)
+))
+
+# _AC_SYS_LARGEFILE_PROBE
+# -----------------------
+# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
+# the cache variable ac_cv_sys_largefile_opts to one of the values in
+# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
+# none of the options in that list worked.  Then, set compilation
+# options and #defines as necessary to enable large file support.
+#
+# If large file support is not detected, the behavior depends on which of
+# the top-level AC_SYS_LARGEFILE macros was used (see below).
+#
+# If you change this macro you may also need to change
+# _AC_SYS_LARGEFILE_OPTIONS.
+AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
+[AC_CACHE_CHECK([for $CC option to enable large file support],
+  [ac_cv_sys_largefile_opts],
+  [ac_save_CC="$CC"
+  ac_opt_found=no
+  for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
+    AS_IF([test x"$ac_opt" != x"none needed"],
+      [CC="$ac_save_CC $ac_opt"])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
+     [AS_IF([test x"$ac_opt" = x"none needed"],
+       [# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
+        CC="$CC -DFTYPE=ino_t"
+        AC_COMPILE_IFELSE([], [],
+          [CC="$CC -D_FILE_OFFSET_BITS=64"
+           AC_COMPILE_IFELSE([], [ac_opt='-D_FILE_OFFSET_BITS=64'])])])
+      ac_cv_sys_largefile_opts=$ac_opt
+      ac_opt_found=yes])
+    test $ac_opt_found = no || break
+  done
+  CC="$ac_save_CC"
+  dnl Gnulib implements large file support for native Windows, based on the
+  dnl variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE.
+  m4_ifdef([gl_LARGEFILE], [
+    AC_REQUIRE([AC_CANONICAL_HOST])
+    if test $ac_opt_found != yes; then
+      AS_CASE([$host_os],
+        [mingw* | windows*],
+          [ac_cv_sys_largefile_opts="supported through gnulib"
+           ac_opt_found=yes]
+      )
+    fi
+  ])
+  test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
 
+ac_have_largefile=yes
+AS_CASE([$ac_cv_sys_largefile_opts],
+  ["none needed"], [],
+  ["supported through gnulib"], [],
+  ["support not detected"],
+    [ac_have_largefile=no],
 
-# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
-#                              CACHE-VAR,
-#                              DESCRIPTION,
-#                              PROLOGUE, [FUNCTION-BODY])
-# --------------------------------------------------------
-m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
-[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
-[while :; do
-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
-    [AC_LANG_PROGRAM([$5], [$6])],
-    [$3=no; break])
-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
-    [AC_LANG_PROGRAM([@%:@define $1 $2
-$5], [$6])],
-    [$3=$2; break])
-  $3=unknown
-  break
-done])
-case $$3 in #(
-  no | unknown) ;;
-  *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
-esac
-rm -rf conftest*[]dnl
-])# _AC_SYS_LARGEFILE_MACRO_VALUE
+  ["-D_FILE_OFFSET_BITS=64"],
+    [AC_DEFINE([_FILE_OFFSET_BITS], [64],
+      [Number of bits in a file offset, on hosts where this is settable.])],
 
+  ["-D_LARGE_FILES=1"],
+    [AC_DEFINE([_LARGE_FILES], [1],
+      [Define to 1 on platforms where this makes off_t a 64-bit type.])],
+
+  ["-n32"],
+    [CC="$CC -n32"],
+
+  [AC_MSG_ERROR(
+    [internal error: bad value for \$ac_cv_sys_largefile_opts])])
+
+AS_IF([test "$enable_year2038" != no],
+  [_AC_SYS_YEAR2038_PROBE])
+AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])])
 
 # AC_SYS_LARGEFILE
 # ----------------
 # By default, many hosts won't let programs access large files;
 # one must use special compiler options to get large-file access to work.
 # For more details about this brain damage please see:
-# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html
+# http://www.unix.org/version2/whatsnew/lfs20mar.html
+# Additionally, on Linux file systems with 64-bit inodes a file that happens
+# to have a 64-bit inode number cannot be accessed by 32-bit applications on
+# Linux x86/x86_64.  This can occur with file systems such as XFS and NFS.
 AC_DEFUN([AC_SYS_LARGEFILE],
-[AC_ARG_ENABLE(largefile,
-               [  --disable-largefile     omit support for large files])
-if test "$enable_largefile" != no; then
-
-  AC_CACHE_CHECK([for special C compiler options needed for large files],
-    ac_cv_sys_largefile_CC,
-    [ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-         # IRIX 6.2 and later do not support large files by default,
-         # so use the C compiler's -n32 option if that helps.
-         AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
-         AC_COMPILE_IFELSE([], [break])
-         CC="$CC -n32"
-         AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
-         break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi])
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
-
-  _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
-    ac_cv_sys_file_offset_bits,
-    [Number of bits in a file offset, on hosts where this is settable.],
-    [_AC_SYS_LARGEFILE_TEST_INCLUDES])
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
-      ac_cv_sys_large_files,
-      [Define for large files, on AIX-style hosts.],
-      [_AC_SYS_LARGEFILE_TEST_INCLUDES])
-  fi
-
-  AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],
-[/* Enable large inode numbers on Mac OS X.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif])
-fi
-])# AC_SYS_LARGEFILE
-
-])# m4_version_prereq 2.69
+[AC_ARG_ENABLE([largefile],
+   [AS_HELP_STRING([--disable-largefile],
+      [omit support for large files])])dnl
+AS_IF([test "$enable_largefile,$enable_year2038" != no,no],
+  [_AC_SYS_LARGEFILE_PROBE])])
+])# m4_ifndef AC_SYS_YEAR2038_RECOMMENDED
 
 # Enable large files on systems where this is implemented by Gnulib, not by the
 # system headers.
@@ -111,7 +305,7 @@ AC_DEFUN([gl_LARGEFILE],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
   case "$host_os" in
-    mingw*)
+    mingw* | windows*)
       dnl Native Windows.
       dnl mingw64 defines off_t to a 64-bit type already, if
       dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE.
@@ -129,14 +323,29 @@ AC_DEFUN([gl_LARGEFILE],
       else
         WINDOWS_64_BIT_OFF_T=0
       fi
-      dnl But all native Windows platforms (including mingw64) have a 32-bit
-      dnl st_size member in 'struct stat'.
-      WINDOWS_64_BIT_ST_SIZE=1
+      dnl Some mingw versions define, if _FILE_OFFSET_BITS=64, 'struct stat'
+      dnl to 'struct _stat32i64' or 'struct _stat64' (depending on
+      dnl _USE_32BIT_TIME_T), which has a 32-bit st_size member.
+      AC_CACHE_CHECK([for 64-bit st_size], [gl_cv_member_st_size_64],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <sys/types.h>
+                struct stat buf;
+                int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
+              ]],
+              [[]])],
+           [gl_cv_member_st_size_64=yes], [gl_cv_member_st_size_64=no])
+        ])
+      if test $gl_cv_member_st_size_64 = no; then
+        WINDOWS_64_BIT_ST_SIZE=1
+      else
+        WINDOWS_64_BIT_ST_SIZE=0
+      fi
       ;;
     *)
       dnl Nothing to do on gnulib's side.
       dnl A 64-bit off_t is
-      dnl   - already the default on MacOS X, FreeBSD, NetBSD, OpenBSD, IRIX,
+      dnl   - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX,
       dnl     OSF/1, Cygwin,
       dnl   - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on
       dnl     glibc, HP-UX, Solaris,
similarity index 87%
rename from lib/gl/m4/ld-output-def.m4
rename to gl/m4/ld-output-def.m4
index 3511684..c0c5971 100644 (file)
@@ -1,5 +1,5 @@
-# ld-output-def.m4 serial 2
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# ld-output-def.m4 serial 3
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,7 +19,7 @@ AC_DEFUN([gl_LD_OUTPUT_DEF],
      else
        gl_ldflags_save=$LDFLAGS
        LDFLAGS="-Wl,--output-def,conftest.def"
-       AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[]])],
                    [gl_cv_ld_output_def=yes],
                    [gl_cv_ld_output_def=no])
        rm -f conftest.def
diff --git a/gl/m4/ld-version-script.m4 b/gl/m4/ld-version-script.m4
new file mode 100644 (file)
index 0000000..1bfa2c2
--- /dev/null
@@ -0,0 +1,48 @@
+# ld-version-script.m4 serial 6
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Simon Josefsson
+
+# FIXME: The test below returns a false positive for mingw
+# cross-compiles, 'local:' statements does not reduce number of
+# exported symbols in a DLL.  Use --disable-ld-version-script to work
+# around the problem.
+
+# gl_LD_VERSION_SCRIPT
+# --------------------
+# Check if LD supports linker scripts, and define automake conditional
+# HAVE_LD_VERSION_SCRIPT if so.
+AC_DEFUN([gl_LD_VERSION_SCRIPT],
+[
+  AC_ARG_ENABLE([ld-version-script],
+    [AS_HELP_STRING([[--enable-ld-version-script]],
+       [enable linker version script (default is enabled when possible)])],
+    [have_ld_version_script=$enableval],
+    [AC_CACHE_CHECK([if LD -Wl,--version-script works],
+       [gl_cv_sys_ld_version_script],
+       [gl_cv_sys_ld_version_script=no
+        save_LDFLAGS=$LDFLAGS
+        LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+        echo foo >conftest.map
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+          [],
+          [cat > conftest.map <<EOF
+VERS_1 {
+        global: sym;
+};
+
+VERS_2 {
+        global: sym;
+} VERS_1;
+EOF
+           AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+             [gl_cv_sys_ld_version_script=yes])])
+        rm -f conftest.map
+        LDFLAGS=$save_LDFLAGS])
+     have_ld_version_script=$gl_cv_sys_ld_version_script])
+  AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT],
+    [test "$have_ld_version_script" = yes])
+])
diff --git a/gl/m4/limits-h.m4 b/gl/m4/limits-h.m4
new file mode 100644 (file)
index 0000000..1825328
--- /dev/null
@@ -0,0 +1,54 @@
+dnl Check whether limits.h has needed features.
+
+dnl Copyright 2016-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+AC_DEFUN_ONCE([gl_LIMITS_H],
+[
+  gl_CHECK_NEXT_HEADERS([limits.h])
+
+  AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.],
+    [gl_cv_header_limits_width],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
+            int bw = BOOL_WIDTH;
+            int bm = BOOL_MAX;
+            int mblm = MB_LEN_MAX;
+          ]])],
+       [gl_cv_header_limits_width=yes],
+       [gl_cv_header_limits_width=no])])
+  GL_GENERATE_LIMITS_H=true
+  AS_IF([test "$gl_cv_header_limits_width" = yes],
+    [AC_CACHE_CHECK([whether limits.h has SSIZE_MAX],
+       [gl_cv_header_limits_ssize_max],
+       [AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#include <limits.h>
+               #ifndef SSIZE_MAX
+                 #error "SSIZE_MAX is not defined"
+               #endif
+             ]])],
+          [gl_cv_header_limits_ssize_max=yes],
+          [gl_cv_header_limits_ssize_max=no])])
+     if test "$gl_cv_header_limits_ssize_max" = yes; then
+       GL_GENERATE_LIMITS_H=false
+     fi])
+])
+
+dnl Unconditionally enables the replacement of <limits.h>.
+AC_DEFUN([gl_REPLACE_LIMITS_H],
+[
+  AC_REQUIRE([gl_LIMITS_H])
+  GL_GENERATE_LIMITS_H=true
+])
similarity index 62%
rename from lib/gl/m4/locale-fr.m4
rename to gl/m4/locale-fr.m4
index 04d801f..c952856 100644 (file)
@@ -1,5 +1,5 @@
-# locale-fr.m4 serial 16
-dnl Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
+# locale-fr.m4 serial 23
+dnl Copyright (C) 2003, 2005-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,13 +7,12 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Bruno Haible.
 
 dnl Determine the name of a french locale with traditional encoding.
-AC_DEFUN([gt_LOCALE_FR],
+AC_DEFUN_ONCE([gt_LOCALE_FR],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([AM_LANGINFO_CODESET])
   AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
-    AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
+    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 #include <locale.h>
 #include <time.h>
 #if HAVE_LANGINFO_CODESET
@@ -24,8 +23,14 @@ changequote(,)dnl
 struct tm t;
 char buf[16];
 int main () {
+  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
+     imitates locale dependent behaviour by looking at the environment
+     variables, and all locales use the UTF-8 encoding.  */
+#if defined __BEOS__ || defined __HAIKU__
+  return 1;
+#else
   /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -33,46 +38,46 @@ int main () {
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
     return 1;
-#else
+# else
   if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
+# endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
      some unit tests fail.
      On MirBSD 10, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
+# if HAVE_LANGINFO_CODESET
   {
     const char *cs = nl_langinfo (CODESET);
     if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
         || strcmp (cs, "UTF-8") == 0)
       return 1;
   }
-#endif
-#ifdef __CYGWIN__
+# endif
+# ifdef __CYGWIN__
   /* On Cygwin, avoid locale names without encoding suffix, because the
      locale_charset() function relies on the encoding suffix.  Note that
      LC_ALL is set on the command line.  */
   if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
+# endif
   /* Check whether in the abbreviation of the second month, the second
      character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
-#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
+# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
-#endif
+# endif
   return 0;
+#endif
 }
-changequote([,])dnl
-      ])])
+      ]])])
     if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -81,7 +86,7 @@ changequote([,])dnl
         # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
-        mingw*)
+        mingw* | windows*)
           # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
@@ -92,7 +97,7 @@ changequote([,])dnl
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -128,16 +133,31 @@ changequote([,])dnl
     rm -fr conftest*
   ])
   LOCALE_FR=$gt_cv_locale_fr
+  case $LOCALE_FR in #(
+    '' | *[[[:space:]\"\$\'*@<:@]]*)
+      dnl This locale name might cause trouble with sh or make.
+      AC_MSG_WARN([invalid locale "$LOCALE_FR"; assuming "none"])
+      LOCALE_FR=none;;
+  esac
   AC_SUBST([LOCALE_FR])
 ])
 
 dnl Determine the name of a french locale with UTF-8 encoding.
-AC_DEFUN([gt_LOCALE_FR_UTF8],
+AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([AM_LANGINFO_CODESET])
   AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [
-    AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
+    case "$host_os" in
+      *-musl* | midipix*)
+        dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without
+        dnl any locale file on disk. But they are effectively equivalent to the
+        dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES)
+        dnl for which localizations (.mo files) have been installed.
+        gt_cv_locale_fr_utf8=fr_FR.UTF-8
+        ;;
+      *)
+        AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 #include <locale.h>
 #include <time.h>
 #if HAVE_LANGINFO_CODESET
@@ -153,7 +173,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
      as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
@@ -165,7 +185,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -199,52 +219,82 @@ int main () {
 #endif
   return 0;
 }
-changequote([,])dnl
-      ])])
-    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=French_France.65001
-          else
-            # None found.
-            gt_cv_locale_fr_utf8=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_fr_utf8=fr_FR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_fr_utf8=fr_FR.UTF-8
-            else
-              # Test for the Solaris 7 locale name.
-              if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_fr_utf8=fr.UTF-8
+          ]])])
+        if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+          case "$host_os" in
+            # Handle native Windows specially, because there setlocale() interprets
+            # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+            # "fr" or "fra" as "French" or "French_France.1252",
+            # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+            # "ja" as "Japanese" or "Japanese_Japan.932",
+            # and similar.
+            mingw* | windows*)
+              # Test for the hypothetical native Windows locale name.
+              if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr_utf8=French_France.65001
               else
                 # None found.
                 gt_cv_locale_fr_utf8=none
               fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
+              ;;
+            *)
+              # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+              # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
+              # configure script would override the LC_ALL setting. Likewise for
+              # LC_CTYPE, which is also set at the beginning of the configure script.
+              # Test for the usual locale name.
+              if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                gt_cv_locale_fr_utf8=fr_FR
+              else
+                # Test for the locale name with explicit encoding suffix.
+                if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                  gt_cv_locale_fr_utf8=fr_FR.UTF-8
+                else
+                  # Test for the Solaris 7 locale name.
+                  if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+                    gt_cv_locale_fr_utf8=fr.UTF-8
+                  else
+                    # None found.
+                    gt_cv_locale_fr_utf8=none
+                  fi
+                fi
+              fi
+              ;;
+          esac
+        fi
+        rm -fr conftest*
+        ;;
+    esac
   ])
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
+  case $LOCALE_FR_UTF8 in #(
+    '' | *[[[:space:]\"\$\'*@<:@]]*)
+      dnl This locale name might cause trouble with sh or make.
+      AC_MSG_WARN([invalid locale "$LOCALE_FR_UTF8"; assuming "none"])
+      LOCALE_FR_UTF8=none;;
+  esac
   AC_SUBST([LOCALE_FR_UTF8])
+
+  dnl Users of $LOCALE_FR_UTF8 need to know which of the locale categories they
+  dnl can rely on.
+  case "$host_os" in
+    *-musl* | midipix*)
+      dnl On musl libc, locale categories other than LC_CTYPE and LC_MESSAGES
+      dnl are effectively unimplemented.
+      LC_COLLATE_IMPLEMENTED=false
+      LC_NUMERIC_IMPLEMENTED=false
+      LC_TIME_IMPLEMENTED=false
+      LC_MONETARY_IMPLEMENTED=false
+      ;;
+    *)
+      LC_COLLATE_IMPLEMENTED=true
+      LC_NUMERIC_IMPLEMENTED=true
+      LC_TIME_IMPLEMENTED=true
+      LC_MONETARY_IMPLEMENTED=true
+      ;;
+  esac
+  AC_SUBST([LC_COLLATE_IMPLEMENTED])
+  AC_SUBST([LC_NUMERIC_IMPLEMENTED])
+  AC_SUBST([LC_TIME_IMPLEMENTED])
+  AC_SUBST([LC_MONETARY_IMPLEMENTED])
 ])
diff --git a/gl/m4/lstat.m4 b/gl/m4/lstat.m4
deleted file mode 100644 (file)
index b7335bd..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-# serial 25
-
-# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-
-AC_DEFUN([gl_FUNC_LSTAT],
-[
-  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
-  dnl If lstat does not exist, the replacement <sys/stat.h> does
-  dnl "#define lstat stat", and lstat.c is a no-op.
-  AC_CHECK_FUNCS_ONCE([lstat])
-  if test $ac_cv_func_lstat = yes; then
-    AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
-        REPLACE_LSTAT=1
-        ;;
-    esac
-  else
-    HAVE_LSTAT=0
-  fi
-])
-
-# Prerequisites of lib/lstat.c.
-AC_DEFUN([gl_PREREQ_LSTAT],
-[
-  AC_REQUIRE([AC_C_INLINE])
-  :
-])
-
-AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
-[
-  dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
-  dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
-  AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
-    [gl_cv_func_lstat_dereferences_slashed_symlink],
-    [rm -f conftest.sym conftest.file
-     echo >conftest.file
-     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-            [AC_INCLUDES_DEFAULT],
-            [[struct stat sbuf;
-              /* Linux will dereference the symlink and fail, as required by
-                 POSIX.  That is better in the sense that it means we will not
-                 have to compile and use the lstat wrapper.  */
-              return lstat ("conftest.sym/", &sbuf) == 0;
-            ]])],
-         [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
-         [gl_cv_func_lstat_dereferences_slashed_symlink=no],
-         [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
-          esac
-         ])
-     else
-       # If the 'ln -s' command failed, then we probably don't even
-       # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
-     fi
-     rm -f conftest.sym conftest.file
-    ])
-  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-    *yes)
-      AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
-        [Define to 1 if 'lstat' dereferences a symlink specified
-         with a trailing slash.])
-      ;;
-  esac
-])
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4
deleted file mode 100644 (file)
index 8fa48e9..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-# malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-m4_version_prereq([2.70], [] ,[
-
-# This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
-AC_DEFUN([_AC_FUNC_MALLOC_IF],
-[
-  AC_REQUIRE([AC_HEADER_STDC])dnl
-  AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
-  AC_CHECK_HEADERS([stdlib.h])
-  AC_CACHE_CHECK([for GNU libc compatible malloc],
-    [ac_cv_func_malloc_0_nonnull],
-    [AC_RUN_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-            # include <stdlib.h>
-            #else
-            char *malloc ();
-            #endif
-          ]],
-          [[return ! malloc (0);]])
-       ],
-       [ac_cv_func_malloc_0_nonnull=yes],
-       [ac_cv_func_malloc_0_nonnull=no],
-       [case "$host_os" in
-          # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
-          | hpux* | solaris* | cygwin* | mingw*)
-            ac_cv_func_malloc_0_nonnull=yes ;;
-          # If we don't know, assume the worst.
-          *) ac_cv_func_malloc_0_nonnull=no ;;
-        esac
-       ])
-    ])
-  AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2])
-])# _AC_FUNC_MALLOC_IF
-
-])
-
-# gl_FUNC_MALLOC_GNU
-# ------------------
-# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
-# it is not.
-AC_DEFUN([gl_FUNC_MALLOC_GNU],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  dnl _AC_FUNC_MALLOC_IF is defined in Autoconf.
-  _AC_FUNC_MALLOC_IF(
-    [AC_DEFINE([HAVE_MALLOC_GNU], [1],
-               [Define to 1 if your system has a GNU libc compatible 'malloc'
-                function, and to 0 otherwise.])],
-    [AC_DEFINE([HAVE_MALLOC_GNU], [0])
-     REPLACE_MALLOC=1
-    ])
-])
-
-# gl_FUNC_MALLOC_POSIX
-# --------------------
-# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
-# fails), and replace malloc if it is not.
-AC_DEFUN([gl_FUNC_MALLOC_POSIX],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
-  if test $gl_cv_func_malloc_posix = yes; then
-    AC_DEFINE([HAVE_MALLOC_POSIX], [1],
-      [Define if the 'malloc' function is POSIX compliant.])
-  else
-    REPLACE_MALLOC=1
-  fi
-])
-
-# Test whether malloc, realloc, calloc are POSIX compliant,
-# Set gl_cv_func_malloc_posix to yes or no accordingly.
-AC_DEFUN([gl_CHECK_MALLOC_POSIX],
-[
-  AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
-    [gl_cv_func_malloc_posix],
-    [
-      dnl It is too dangerous to try to allocate a large amount of memory:
-      dnl some systems go to their knees when you do that. So assume that
-      dnl all Unix implementations of the function are POSIX compliant.
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[]],
-           [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-             choke me
-             #endif
-            ]])],
-        [gl_cv_func_malloc_posix=yes],
-        [gl_cv_func_malloc_posix=no])
-    ])
-])
index 7841979..77e1595 100644 (file)
@@ -1,5 +1,5 @@
-# malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2012 Free Software Foundation,
+# malloca.m4 serial 2
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2024 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -11,5 +11,4 @@ AC_DEFUN([gl_MALLOCA],
   dnl @ALLOCA@ and @LTALLOCA@.
   dnl gl_FUNC_ALLOCA   dnl Already brought in by the module dependencies.
   AC_REQUIRE([gl_EEMALLOC])
-  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
 ])
index fd0e372..4d44f3a 100644 (file)
@@ -1,11 +1,13 @@
-# manywarnings.m4 serial 3
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# manywarnings.m4 serial 24
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Simon Josefsson
 
+AC_PREREQ([2.64])
+
 # gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR)
 # --------------------------------------------------
 # Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR.
@@ -21,7 +23,7 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT],
       *" $gl_warn_item "*)
         ;;
       *)
-        gl_warn_set="$gl_warn_set $gl_warn_item"
+        AS_VAR_APPEND([gl_warn_set], [" $gl_warn_item"])
         ;;
     esac
   done
@@ -33,152 +35,172 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT],
 # Add all documented GCC warning parameters to variable VARIABLE.
 # Note that you need to test them using gl_WARN_ADD if you want to
 # make sure your gcc understands it.
+#
+# The effects of this macro depend on the current language (_AC_LANG).
 AC_DEFUN([gl_MANYWARN_ALL_GCC],
+[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+
+# Specialization for _AC_LANG = C.
+AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
 [
-  dnl First, check if -Wno-missing-field-initializers is needed.
-  dnl -Wmissing-field-initializers is implied by -W, but that issues
-  dnl warnings with GCC version before 4.7, for the common idiom
-  dnl of initializing types on the stack to zero, using { 0, }
+  AC_LANG_PUSH([C])
+
+  dnl First, check for some issues that only occur when combining multiple
+  dnl gcc warning categories.
   AC_REQUIRE([AC_PROG_CC])
-  if test -n "$GCC"; then
-
-    dnl First, check -W -Werror -Wno-missing-field-initializers is supported
-    dnl with the current $CC $CFLAGS $CPPFLAGS.
-    AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported])
-    AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM([[]], [[]])],
-        [gl_cv_cc_nomfi_supported=yes],
-        [gl_cv_cc_nomfi_supported=no])
-      CFLAGS="$gl_save_CFLAGS"])
-    AC_MSG_RESULT([$gl_cv_cc_nomfi_supported])
-
-    if test "$gl_cv_cc_nomfi_supported" = yes; then
-      dnl Now check whether -Wno-missing-field-initializers is needed
-      dnl for the { 0, } construct.
-      AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed])
-      AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        AC_COMPILE_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[void f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-               }
-             ]],
-             [[]])],
-          [gl_cv_cc_nomfi_needed=no],
-          [gl_cv_cc_nomfi_needed=yes])
-        CFLAGS="$gl_save_CFLAGS"
+  AS_IF([test -n "$GCC"], [
+    AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed],
+      [gl_cv_cc_nomfi_needed],
+      [gl_cv_cc_nomfi_needed=no
+       gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Wextra -Werror"
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[struct file_data { int desc, name; };
+              struct cmp { struct file_data file[1]; };
+              void f (struct cmp *r)
+              {
+                typedef struct { int a; int b; } s_t;
+                s_t s1 = { 0, };
+                struct cmp cmp = { .file[0].desc = r->file[0].desc + s1.a };
+                *r = cmp;
+              }
+            ]],
+            [[]])],
+         [],
+         [CFLAGS="$CFLAGS -Wno-missing-field-initializers"
+          AC_COMPILE_IFELSE([],
+            [gl_cv_cc_nomfi_needed=yes])])
+       CFLAGS="$gl_save_CFLAGS"
+    ])
+
+    dnl Next, check if -Werror -Wuninitialized is useful with the
+    dnl user's choice of $CFLAGS; some versions of gcc warn that it
+    dnl has no effect if -O is not also used
+    AC_CACHE_CHECK([whether -Wuninitialized is supported],
+      [gl_cv_cc_uninitialized_supported],
+      [gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror -Wuninitialized"
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[]], [[]])],
+         [gl_cv_cc_uninitialized_supported=yes],
+         [gl_cv_cc_uninitialized_supported=no])
+       CFLAGS="$gl_save_CFLAGS"
       ])
-      AC_MSG_RESULT([$gl_cv_cc_nomfi_needed])
-    fi
-  fi
+  ])
 
-  gl_manywarn_set=
-  for gl_manywarn_item in \
+  # List all gcc warning categories.
+  # To compare this list to your installed GCC's, run this Bash command:
+  #
+  # comm -3 \
+  #  <((sed -n 's/^  *\(-[^ 0-9][^ ]*\).*/\1/p' manywarnings.m4; \
+  #     awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
+
+  $1=
+  for gl_manywarn_item in -fanalyzer -fstrict-flex-arrays \
     -Wall \
-    -W \
-    -Wformat-y2k \
-    -Wformat-nonliteral \
-    -Wformat-security \
-    -Winit-self \
-    -Wmissing-include-dirs \
-    -Wswitch-default \
-    -Wswitch-enum \
-    -Wunused \
-    -Wunknown-pragmas \
-    -Wstrict-aliasing \
-    -Wstrict-overflow \
-    -Wsystem-headers \
-    -Wfloat-equal \
-    -Wtraditional \
-    -Wtraditional-conversion \
-    -Wdeclaration-after-statement \
-    -Wundef \
-    -Wshadow \
-    -Wunsafe-loop-optimizations \
-    -Wpointer-arith \
+    -Warith-conversion \
     -Wbad-function-cast \
-    -Wc++-compat \
-    -Wcast-qual \
-    -Wcast-align \
-    -Wwrite-strings \
-    -Wconversion \
-    -Wsign-conversion \
+    -Wcast-align=strict \
+    -Wdate-time \
+    -Wdisabled-optimization \
+    -Wdouble-promotion \
+    -Wduplicated-branches \
+    -Wduplicated-cond \
+    -Wextra \
+    -Wformat-signedness \
+    -Winit-self \
+    -Winline \
+    -Winvalid-pch \
     -Wlogical-op \
-    -Waggregate-return \
-    -Wstrict-prototypes \
-    -Wold-style-definition \
-    -Wmissing-prototypes \
     -Wmissing-declarations \
-    -Wmissing-noreturn \
-    -Wmissing-format-attribute \
-    -Wpacked \
-    -Wpadded \
-    -Wredundant-decls \
+    -Wmissing-include-dirs \
+    -Wmissing-prototypes \
     -Wnested-externs \
-    -Wunreachable-code \
-    -Winline \
-    -Winvalid-pch \
-    -Wlong-long \
-    -Wvla \
-    -Wvolatile-register-var \
-    -Wdisabled-optimization \
-    -Wstack-protector \
+    -Wnull-dereference \
+    -Wold-style-definition \
+    -Wopenmp-simd \
     -Woverlength-strings \
-    -Wbuiltin-macro-redefined \
-    -Wmudflap \
-    -Wpacked-bitfield-compat \
-    -Wsync-nand \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # The following are not documented in the manual but are included in
-  # output from gcc --help=warnings.
-  for gl_manywarn_item in \
-    -Wattributes \
-    -Wcoverage-mismatch \
-    -Wmultichar \
-    -Wunused-macros \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # More warnings from gcc 4.6.2 --help=warnings.
-  for gl_manywarn_item in \
-    -Wabi \
-    -Wcpp \
-    -Wdeprecated \
-    -Wdeprecated-declarations \
-    -Wdiv-by-zero \
-    -Wdouble-promotion \
-    -Wendif-labels \
-    -Wextra \
-    -Wformat-contains-nul \
-    -Wformat-extra-args \
-    -Wformat-zero-length \
-    -Wformat=2 \
-    -Wmultichar \
-    -Wnormalized=nfc \
-    -Woverflow \
-    -Wpointer-to-int-cast \
-    -Wpragmas \
+    -Wpacked \
+    -Wpointer-arith \
+    -Wshadow \
+    -Wstack-protector \
+    -Wstrict-flex-arrays \
+    -Wstrict-overflow \
+    -Wstrict-prototypes \
+    -Wsuggest-attribute=cold \
     -Wsuggest-attribute=const \
+    -Wsuggest-attribute=format \
+    -Wsuggest-attribute=malloc \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
+    -Wsuggest-final-methods \
+    -Wsuggest-final-types \
+    -Wsync-nand \
+    -Wsystem-headers \
     -Wtrampolines \
+    -Wuninitialized \
+    -Wunknown-pragmas \
+    -Wunsafe-loop-optimizations \
+    -Wunused-macros \
+    -Wvariadic-macros \
+    -Wvector-operation-performance \
+    -Wvla \
+    -Wwrite-strings \
+    \
     ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
+    AS_VAR_APPEND([$1], [" $gl_manywarn_item"])
   done
 
-  # Disable the missing-field-initializers warning if needed
+  # gcc --help=warnings outputs an unusual form for these options; list
+  # them here so that the above 'comm' command doesn't report a false match.
+  AS_VAR_APPEND([$1], [' -Warray-bounds=2'])
+  AS_VAR_APPEND([$1], [' -Wattribute-alias=2'])
+  AS_VAR_APPEND([$1], [' -Wbidi-chars=any,ucn'])
+  AS_VAR_APPEND([$1], [' -Wformat-overflow=2'])
+  AS_VAR_APPEND([$1], [' -Wformat=2'])
+  AS_VAR_APPEND([$1], [' -Wformat-truncation=2'])
+  AS_VAR_APPEND([$1], [' -Wimplicit-fallthrough=5'])
+  AS_VAR_APPEND([$1], [' -Wshift-overflow=2'])
+  AS_VAR_APPEND([$1], [' -Wuse-after-free=3'])
+  AS_VAR_APPEND([$1], [' -Wunused-const-variable=2'])
+  AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031'])
+
+  # These are needed for older GCC versions.
+  if test -n "$GCC" && gl_gcc_version=`($CC --version) 2>/dev/null`; then
+    case $gl_gcc_version in
+      'gcc (GCC) '[[0-3]].* | \
+      'gcc (GCC) '4.[[0-7]].*)
+        AS_VAR_APPEND([$1], [' -fdiagnostics-show-option'])
+        AS_VAR_APPEND([$1], [' -funit-at-a-time'])
+          ;;
+    esac
+    case $gl_gcc_version in
+      'gcc (GCC) '[[0-9]].*)
+        AS_VAR_APPEND([$1], [' -fno-common'])
+          ;;
+    esac
+  fi
+
+  # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
-    gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
+    AS_VAR_APPEND([$1], [' -Wno-missing-field-initializers'])
+  fi
+
+  if test "$gl_cv_cc_uninitialized_supported" = no; then
+    AS_VAR_APPEND([$1], [' -Wno-uninitialized'])
   fi
 
-  $1=$gl_manywarn_set
+  # This warning have too many false alarms in GCC 11.2.1.
+  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101713
+  AS_VAR_APPEND([$1], [' -Wno-analyzer-malloc-leak'])
+
+  AC_LANG_POP([C])
+])
+
+# Specialization for _AC_LANG = C++.
+AC_DEFUN([gl_MANYWARN_ALL_GCC(C++)],
+[
+  gl_MANYWARN_ALL_GCC_CXX_IMPL([$1])
 ])
index 40f612a..af88da5 100644 (file)
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 8db4617..b8ba598 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 0125050..3e332a0 100644 (file)
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index b424dce..5f8339f 100644 (file)
@@ -1,12 +1,12 @@
-# multiarch.m4 serial 6
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# multiarch.m4 serial 9
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # Determine whether the compiler is or may be producing universal binaries.
 #
-# On MacOS X 10.5 and later systems, the user can create libraries and
+# On Mac OS X 10.5 and later systems, the user can create libraries and
 # executables that work on multiple system types--known as "fat" or
 # "universal" binaries--by specifying multiple '-arch' options to the
 # compiler but only a single '-arch' option to the preprocessor.  Like
@@ -21,37 +21,40 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN_ONCE([gl_MULTIARCH],
 [
   dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
-  gl_cv_c_multiarch=no
-  AC_COMPILE_IFELSE(
-    [AC_LANG_SOURCE(
-      [[#ifndef __APPLE_CC__
-         not a universal capable compiler
-        #endif
-        typedef int dummy;
-      ]])],
-    [
-     dnl Check for potential -arch flags.  It is not universal unless
-     dnl there are at least two -arch flags with different values.
-     arch=
-     prev=
-     for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
-       if test -n "$prev"; then
-         case $word in
-           i?86 | x86_64 | ppc | ppc64)
-             if test -z "$arch" || test "$arch" = "$word"; then
-               arch="$word"
-             else
-               gl_cv_c_multiarch=yes
-             fi
-             ;;
-         esac
-         prev=
-       else
-         if test "x$word" = "x-arch"; then
-           prev=arch
-         fi
-       fi
-     done
+  AC_CACHE_CHECK([whether the compiler produces multi-arch binaries],
+    [gl_cv_c_multiarch],
+    [gl_cv_c_multiarch=no
+     AC_COMPILE_IFELSE(
+       [AC_LANG_SOURCE(
+         [[#ifndef __APPLE_CC__
+            not a universal capable compiler
+           #endif
+           typedef int dummy;
+         ]])],
+       [
+        dnl Check for potential -arch flags.  It is not universal unless
+        dnl there are at least two -arch flags with different values.
+        arch=
+        prev=
+        for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
+          if test -n "$prev"; then
+            case $word in
+              i?86 | x86_64 | ppc | ppc64 | arm | arm64)
+                if test -z "$arch" || test "$arch" = "$word"; then
+                  arch="$word"
+                else
+                  gl_cv_c_multiarch=yes
+                fi
+                ;;
+            esac
+            prev=
+          else
+            if test "x$word" = "x-arch"; then
+              prev=arch
+            fi
+          fi
+        done
+       ])
     ])
   if test $gl_cv_c_multiarch = yes; then
     APPLE_UNIVERSAL_BUILD=1
diff --git a/gl/m4/musl.m4 b/gl/m4/musl.m4
new file mode 100644 (file)
index 0000000..34d2c1f
--- /dev/null
@@ -0,0 +1,20 @@
+# musl.m4 serial 4
+dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Test for musl libc, despite the musl libc authors don't like it
+# <https://wiki.musl-libc.org/faq.html>
+# <https://lists.gnu.org/archive/html/bug-gnulib/2018-02/msg00079.html>.
+# From Bruno Haible.
+
+AC_DEFUN_ONCE([gl_MUSL_LIBC],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    *-musl* | midipix*)
+      AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.])
+      ;;
+  esac
+])
index 08ef825..9730fc0 100644 (file)
@@ -1,5 +1,5 @@
-# nocrash.m4 serial 3
-dnl Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc.
+# nocrash.m4 serial 5
+dnl Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,7 +18,7 @@ dnl          int main() { nocrash_init(); ... }
 AC_DEFUN([GL_NOCRASH],[[
 #include <stdlib.h>
 #if defined __MACH__ && defined __APPLE__
-/* Avoid a crash on MacOS X.  */
+/* Avoid a crash on Mac OS X.  */
 #include <mach/mach.h>
 #include <mach/mach_error.h>
 #include <mach/thread_status.h>
@@ -53,7 +53,7 @@ nocrash_init (void)
   /* Allocate a port on which the thread shall listen for exceptions.  */
   if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
       == KERN_SUCCESS) {
-    /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
+    /* See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
     if (mach_port_insert_right (self, our_exception_port, our_exception_port,
                                 MACH_MSG_TYPE_MAKE_SEND)
         == KERN_SUCCESS) {
@@ -72,14 +72,14 @@ nocrash_init (void)
            for a particular thread.  This has the effect that when our exception
            port gets the message, the thread specific exception port has already
            been asked, and we don't need to bother about it.
-           See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
+           See https://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
         task_set_exception_ports (self, mask, our_exception_port,
                                   EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
       }
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -110,11 +110,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
index dfca2df..f3259f9 100644 (file)
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/open-cloexec.m4 b/gl/m4/open-cloexec.m4
new file mode 100644 (file)
index 0000000..a2d5032
--- /dev/null
@@ -0,0 +1,21 @@
+# Test whether O_CLOEXEC is defined.
+
+dnl Copyright 2017-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_PREPROC_O_CLOEXEC],
+[
+  AC_CACHE_CHECK([for O_CLOEXEC],
+    [gl_cv_macro_O_CLOEXEC],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[#include <fcntl.h>
+                          #ifndef O_CLOEXEC
+                            choke me;
+                          #endif
+                        ]],
+                        [[return O_CLOEXEC;]])],
+       [gl_cv_macro_O_CLOEXEC=yes],
+       [gl_cv_macro_O_CLOEXEC=no])])
+])
diff --git a/gl/m4/open-slash.m4 b/gl/m4/open-slash.m4
new file mode 100644 (file)
index 0000000..45310c0
--- /dev/null
@@ -0,0 +1,60 @@
+# open-slash.m4 serial 2
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Tests whether open() and creat() recognize a trailing slash.
+dnl Sets gl_cv_func_open_slash.
+AC_DEFUN([gl_OPEN_TRAILING_SLASH_BUG],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  dnl open("foo/") should not create a file when the file name has a
+  dnl trailing slash.  FreeBSD only has the problem on symlinks.
+  AC_CHECK_FUNCS_ONCE([lstat])
+  AC_CACHE_CHECK([whether open recognizes a trailing slash],
+    [gl_cv_func_open_slash],
+    [# Assume that if we have lstat, we can also check symlinks.
+     if test $ac_cv_func_lstat = yes; then
+       touch conftest.tmp
+       ln -s conftest.tmp conftest.lnk
+     fi
+     AC_RUN_IFELSE(
+       [AC_LANG_SOURCE([[
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+]GL_MDA_DEFINES[
+int main ()
+{
+  int result = 0;
+#if HAVE_LSTAT
+  if (open ("conftest.lnk/", O_RDONLY) != -1)
+    result |= 1;
+#endif
+  if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
+    result |= 2;
+  return result;
+}]])],
+       [gl_cv_func_open_slash=yes],
+       [gl_cv_func_open_slash=no],
+       [
+changequote(,)dnl
+        case "$host_os" in
+          freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
+            gl_cv_func_open_slash="guessing no" ;;
+          *)
+            gl_cv_func_open_slash="guessing yes" ;;
+        esac
+changequote([,])dnl
+       ])
+     rm -f conftest.sl conftest.tmp conftest.lnk
+    ])
+  case "$gl_cv_func_open_slash" in
+    *no)
+      AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1],
+        [Define to 1 if open() fails to recognize a trailing slash.])
+      ;;
+  esac
+])
index c85971d..91e5c31 100644 (file)
@@ -1,5 +1,5 @@
-# open.m4 serial 13
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# open.m4 serial 16
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,56 +7,21 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_OPEN],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_PREPROC_O_CLOEXEC])
   case "$host_os" in
-    mingw* | pw*)
+    mingw* | windows* | pw*)
       REPLACE_OPEN=1
       ;;
     *)
       dnl open("foo/") should not create a file when the file name has a
       dnl trailing slash.  FreeBSD only has the problem on symlinks.
       AC_CHECK_FUNCS_ONCE([lstat])
-      AC_CACHE_CHECK([whether open recognizes a trailing slash],
-        [gl_cv_func_open_slash],
-        [# Assume that if we have lstat, we can also check symlinks.
-          if test $ac_cv_func_lstat = yes; then
-            touch conftest.tmp
-            ln -s conftest.tmp conftest.lnk
-          fi
-          AC_RUN_IFELSE(
-            [AC_LANG_SOURCE([[
-#include <fcntl.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-int main ()
-{
-  int result = 0;
-#if HAVE_LSTAT
-  if (open ("conftest.lnk/", O_RDONLY) != -1)
-    result |= 1;
-#endif
-  if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
-    result |= 2;
-  return result;
-}]])],
-            [gl_cv_func_open_slash=yes],
-            [gl_cv_func_open_slash=no],
-            [
-changequote(,)dnl
-             case "$host_os" in
-               freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
-                 gl_cv_func_open_slash="guessing no" ;;
-               *)
-                 gl_cv_func_open_slash="guessing yes" ;;
-             esac
-changequote([,])dnl
-            ])
-          rm -f conftest.sl conftest.tmp conftest.lnk
-        ])
+      if test "$gl_cv_macro_O_CLOEXEC" != yes; then
+        REPLACE_OPEN=1
+      fi
+      gl_OPEN_TRAILING_SLASH_BUG
       case "$gl_cv_func_open_slash" in
         *no)
-          AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1],
-            [Define to 1 if open() fails to recognize a trailing slash.])
           REPLACE_OPEN=1
           ;;
       esac
@@ -86,7 +51,6 @@ changequote([,])dnl
 # Prerequisites of lib/open.c.
 AC_DEFUN([gl_PREREQ_OPEN],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T])
   :
 ])
index 0117861..a0fc296 100644 (file)
@@ -1,5 +1,5 @@
-# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation,
+# pathmax.m4 serial 11
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2024 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,7 @@ AC_DEFUN([gl_PATHMAX_SNIPPET], [[
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
diff --git a/gl/m4/putenv.m4 b/gl/m4/putenv.m4
deleted file mode 100644 (file)
index b971b12..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# putenv.m4 serial 19
-dnl Copyright (C) 2002-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-dnl
-dnl Check whether putenv ("FOO") removes FOO from the environment.
-dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
-
-AC_DEFUN([gl_FUNC_PUTENV],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([for putenv compatible with GNU and SVID],
-   [gl_cv_func_svid_putenv],
-   [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[
-    /* Put it in env.  */
-    if (putenv ("CONFTEST_putenv=val"))
-      return 1;
-
-    /* Try to remove it.  */
-    if (putenv ("CONFTEST_putenv"))
-      return 2;
-
-    /* Make sure it was deleted.  */
-    if (getenv ("CONFTEST_putenv") != 0)
-      return 3;
-
-    return 0;
-              ]])],
-             gl_cv_func_svid_putenv=yes,
-             gl_cv_func_svid_putenv=no,
-             dnl When crosscompiling, assume putenv is broken.
-             [case "$host_os" in
-                        # Guess yes on glibc systems.
-                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
-                        # If we don't know, assume the worst.
-                *)      gl_cv_func_svid_putenv="guessing no" ;;
-              esac
-             ])
-   ])
-  case "$gl_cv_func_svid_putenv" in
-    *yes) ;;
-    *)
-      REPLACE_PUTENV=1
-      ;;
-  esac
-])
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4
deleted file mode 100644 (file)
index e1931e7..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-# setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_SETENV],
-[
-  AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  if test $ac_cv_func_setenv = no; then
-    HAVE_SETENV=0
-  else
-    AC_CACHE_CHECK([whether setenv validates arguments],
-      [gl_cv_func_setenv_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-       #include <stdlib.h>
-       #include <errno.h>
-       #include <string.h>
-      ]], [[
-       int result = 0;
-       {
-         if (setenv ("", "", 0) != -1)
-           result |= 1;
-         else if (errno != EINVAL)
-           result |= 2;
-       }
-       {
-         if (setenv ("a", "=", 1) != 0)
-           result |= 4;
-         else if (strcmp (getenv ("a"), "=") != 0)
-           result |= 8;
-       }
-       return result;
-      ]])],
-      [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
-      [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_setenv_works="guessing no" ;;
-       esac
-      ])])
-    case "$gl_cv_func_setenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_SETENV=1
-        ;;
-    esac
-  fi
-])
-
-# Like gl_FUNC_SETENV, except prepare for separate compilation
-# (no REPLACE_SETENV, no AC_LIBOBJ).
-AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_CHECK_DECLS_ONCE([setenv])
-  if test $ac_cv_have_decl_setenv = no; then
-    HAVE_DECL_SETENV=0
-  fi
-  AC_CHECK_FUNCS_ONCE([setenv])
-  gl_PREREQ_SETENV
-])
-
-AC_DEFUN([gl_FUNC_UNSETENV],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CHECK_DECLS_ONCE([unsetenv])
-  if test $ac_cv_have_decl_unsetenv = no; then
-    HAVE_DECL_UNSETENV=0
-  fi
-  AC_CHECK_FUNCS([unsetenv])
-  if test $ac_cv_func_unsetenv = no; then
-    HAVE_UNSETENV=0
-  else
-    HAVE_UNSETENV=1
-    dnl Some BSDs return void, failing to do error checking.
-    AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[
-#undef _BSD
-#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
-#include <stdlib.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-int unsetenv (const char *name);
-            ]],
-            [[]])],
-         [gt_cv_func_unsetenv_ret='int'],
-         [gt_cv_func_unsetenv_ret='void'])])
-    if test $gt_cv_func_unsetenv_ret = 'void'; then
-      AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
-       instead of int.])
-      REPLACE_UNSETENV=1
-    fi
-
-    dnl Solaris 10 unsetenv does not remove all copies of a name.
-    dnl Haiku alpha 2 unsetenv gets confused by assignment to environ.
-    dnl OpenBSD 4.7 unsetenv("") does not fail.
-    AC_CACHE_CHECK([whether unsetenv obeys POSIX],
-      [gl_cv_func_unsetenv_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-       #include <stdlib.h>
-       #include <errno.h>
-       extern char **environ;
-      ]], [[
-       char entry1[] = "a=1";
-       char entry2[] = "b=2";
-       char *env[] = { entry1, entry2, NULL };
-       if (putenv ((char *) "a=1")) return 1;
-       if (putenv (entry2)) return 2;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 3;
-       if (!unsetenv ("") || errno != EINVAL) return 4;
-       entry2[0] = 'b';
-       environ = env;
-       if (!getenv ("a")) return 5;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 6;
-      ]])],
-      [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
-      [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unsetenv_works="guessing no" ;;
-       esac
-      ])])
-    case "$gl_cv_func_unsetenv_works" in
-      *yes) ;;
-      *)
-        REPLACE_UNSETENV=1
-        ;;
-    esac
-  fi
-])
-
-# Prerequisites of lib/setenv.c.
-AC_DEFUN([gl_PREREQ_SETENV],
-[
-  AC_REQUIRE([AC_FUNC_ALLOCA])
-  AC_REQUIRE([gl_ENVIRON])
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-  AC_CHECK_HEADERS([search.h])
-  AC_CHECK_FUNCS([tsearch])
-])
-
-# Prerequisites of lib/unsetenv.c.
-AC_DEFUN([gl_PREREQ_UNSETENV],
-[
-  AC_REQUIRE([gl_ENVIRON])
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-])
index 209d64c..25b28d7 100644 (file)
@@ -1,23 +1,37 @@
-# ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2012 Free Software Foundation, Inc.
+# ssize_t.m4 serial 6
+dnl Copyright (C) 2001-2003, 2006, 2010-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
-dnl Test whether ssize_t is defined.
+dnl Define ssize_t if it does not already exist.
 
 AC_DEFUN([gt_TYPE_SSIZE_T],
 [
-  AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
+  AC_CACHE_CHECK([for ssize_t], [gl_cv_ssize_t],
     [AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM(
           [[#include <sys/types.h>]],
           [[int x = sizeof (ssize_t *) + sizeof (ssize_t);
             return !x;]])],
-       [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
-  if test $gt_cv_ssize_t = no; then
-    AC_DEFINE([ssize_t], [int],
-              [Define as a signed type of the same size as size_t.])
+       [gl_cv_ssize_t=yes], [gl_cv_ssize_t=no])])
+  if test $gl_cv_ssize_t = no; then
+    dnl On 64-bit native Windows, ssize_t needs to be defined as 'long long',
+    dnl for consistency with the 64-bit size_t.
+    AC_CACHE_CHECK([whether size_t is wider than 'long'], [gl_cv_size_t_large],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <sys/types.h>
+              typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1];
+            ]])],
+         [gl_cv_size_t_large=yes], [gl_cv_size_t_large=no])])
+    if test $gl_cv_size_t_large = yes; then
+      gl_def_ssize_t='long long'
+    else
+      gl_def_ssize_t='long'
+    fi
+    AC_DEFINE_UNQUOTED([ssize_t], [$gl_def_ssize_t],
+                       [Define as a signed type of the same size as size_t.])
   fi
 ])
diff --git a/gl/m4/stat-time.m4 b/gl/m4/stat-time.m4
new file mode 100644 (file)
index 0000000..8bec2f5
--- /dev/null
@@ -0,0 +1,83 @@
+# Checks for stat-related time functions.
+
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2024 Free Software
+# Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# st_atim.tv_nsec - Linux, Solaris, Cygwin
+# st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE
+# st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE
+# st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1)
+
+# st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway)
+# st_birthtim - Cygwin 1.7.0+
+
+AC_DEFUN([gl_STAT_TIME],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_HEADERS_ONCE([sys/time.h])
+
+  AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec],
+    [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec],
+       [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec],
+       [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+          [[
+            #include <sys/types.h>
+            #include <sys/stat.h>
+            #if HAVE_SYS_TIME_H
+            # include <sys/time.h>
+            #endif
+            #include <time.h>
+            struct timespec ts;
+            struct stat st;
+          ]],
+          [[
+            st.st_atim = ts;
+          ]])],
+          [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes],
+          [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])])
+     if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
+       AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [1],
+         [Define to 1 if the type of the st_atim member of a struct stat is
+          struct timespec.])
+     fi],
+    [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [],
+       [AC_CHECK_MEMBERS([struct stat.st_atimensec], [],
+          [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], [],
+             [#include <sys/types.h>
+              #include <sys/stat.h>])],
+          [#include <sys/types.h>
+           #include <sys/stat.h>])],
+       [#include <sys/types.h>
+        #include <sys/stat.h>])],
+    [#include <sys/types.h>
+     #include <sys/stat.h>])
+])
+
+# Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.)
+# and NTFS (Cygwin).
+# There was a time when this field was named st_createtime (21 June
+# 2002 to 16 July 2002) But that window is very small and applied only
+# to development code, so systems still using that configuration are
+# not supported.  See revisions 1.10 and 1.11 of FreeBSD's
+# src/sys/ufs/ufs/dinode.h.
+#
+AC_DEFUN([gl_STAT_BIRTHTIME],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_HEADERS_ONCE([sys/time.h])
+  AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [],
+    [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [],
+      [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [],
+         [#include <sys/types.h>
+          #include <sys/stat.h>])],
+       [#include <sys/types.h>
+        #include <sys/stat.h>])],
+    [#include <sys/types.h>
+     #include <sys/stat.h>])
+])
index a8b79f5..1d2a9e2 100644 (file)
@@ -1,6 +1,6 @@
-# serial 10
+# serial 21
 
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8,68 +8,80 @@
 
 AC_DEFUN([gl_FUNC_STAT],
 [
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_CHECK_FUNCS_ONCE([lstat])
-  dnl mingw is the only known platform where stat(".") and stat("./") differ
-  AC_CACHE_CHECK([whether stat handles trailing slashes on directories],
-      [gl_cv_func_stat_dir_slash],
-      [AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-           [[#include <sys/stat.h>
-]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])],
-         [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no],
-         [case $host_os in
-            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
-            *) gl_cv_func_stat_dir_slash="guessing yes";;
-          esac])])
-  dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
-  dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
-  dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
-  AC_CACHE_CHECK([whether stat handles trailing slashes on files],
-      [gl_cv_func_stat_file_slash],
-      [touch conftest.tmp
-       # Assume that if we have lstat, we can also check symlinks.
-       if test $ac_cv_func_lstat = yes; then
-         ln -s conftest.tmp conftest.lnk
-       fi
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-           [[#include <sys/stat.h>
+  case "$host_os" in
+    mingw* | windows*)
+      dnl On this platform, the original stat() returns st_atime, st_mtime,
+      dnl st_ctime values that are affected by the time zone.
+      REPLACE_STAT=1
+      ;;
+    *)
+      dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
+      dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
+      dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
+      AC_CACHE_CHECK([whether stat handles trailing slashes on files],
+        [gl_cv_func_stat_file_slash],
+        [touch conftest.tmp
+         # Assume that if we have lstat, we can also check symlinks.
+         if test $ac_cv_func_lstat = yes; then
+           ln -s conftest.tmp conftest.lnk
+         fi
+         AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM(
+             [[#include <sys/stat.h>
 ]], [[int result = 0;
-      struct stat st;
-      if (!stat ("conftest.tmp/", &st))
-        result |= 1;
+               struct stat st;
+               if (!stat ("conftest.tmp/", &st))
+                 result |= 1;
 #if HAVE_LSTAT
-      if (!stat ("conftest.lnk/", &st))
-        result |= 2;
+               if (!stat ("conftest.lnk/", &st))
+                 result |= 2;
 #endif
-      return result;
-           ]])],
-         [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
-         [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_stat_file_slash="guessing no" ;;
-          esac
-         ])
-       rm -f conftest.tmp conftest.lnk])
-  case $gl_cv_func_stat_dir_slash in
-    *no) REPLACE_STAT=1
-      AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs
-        help when passed a directory name with a trailing slash]);;
-  esac
-  case $gl_cv_func_stat_file_slash in
-    *no) REPLACE_STAT=1
-      AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
-        help when passed a file name with a trailing slash]);;
+               return result;
+             ]])],
+           [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
+           [case "$host_os" in
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on systems that emulate the Linux system calls.
+              midipix*)        gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | gnu*)   gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+              *)               gl_cv_func_stat_file_slash="$gl_cross_guess_normal" ;;
+            esac
+           ])
+         rm -f conftest.tmp conftest.lnk])
+      case $gl_cv_func_stat_file_slash in
+        *no)
+          REPLACE_STAT=1
+          AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
+            help when passed a file name with a trailing slash]);;
+      esac
+      case $host_os in
+        dnl macOS and Solaris stat can return a negative tv_nsec.
+        darwin* | solaris*)
+          REPLACE_FSTAT=1 ;;
+      esac
+      ;;
   esac
 ])
 
-# Prerequisites of lib/stat.c.
-AC_DEFUN([gl_PREREQ_STAT],
-[
-  AC_REQUIRE([AC_C_INLINE])
+# Prerequisites of lib/stat.c and lib/stat-w32.c.
+AC_DEFUN([gl_PREREQ_STAT], [
+  AC_REQUIRE([gl_SYS_STAT_H])
+  AC_REQUIRE([gl_PREREQ_STAT_W32])
   :
 ])
+
+# Prerequisites of lib/stat-w32.c.
+AC_DEFUN([gl_PREREQ_STAT_W32], [
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw* | windows*)
+      AC_CHECK_HEADERS([sdkddkver.h])
+      ;;
+  esac
+])
index 5c313cb..989383c 100644 (file)
@@ -1,5 +1,5 @@
-# stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
+# stdarg.m4 serial 8
+dnl Copyright (C) 2006, 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,21 +9,21 @@ dnl Provide a working va_copy in combination with <stdarg.h>.
 
 AC_DEFUN([gl_STDARG_H],
 [
-  STDARG_H=''
+  GL_GENERATE_STDARG_H=false
   NEXT_STDARG_H='<stdarg.h>'
-  AC_MSG_CHECKING([for va_copy])
-  AC_CACHE_VAL([gl_cv_func_va_copy], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[#include <stdarg.h>]],
-         [[
+  AC_CACHE_CHECK([for va_copy],
+    [gl_cv_func_va_copy],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdarg.h>]],
+          [[
 #ifndef va_copy
 void (*func) (va_list, va_list) = va_copy;
 #endif
-         ]])],
-      [gl_cv_func_va_copy=yes],
-      [gl_cv_func_va_copy=no])])
-  AC_MSG_RESULT([$gl_cv_func_va_copy])
+          ]])],
+       [gl_cv_func_va_copy=yes],
+       [gl_cv_func_va_copy=no])
+    ])
   if test $gl_cv_func_va_copy = no; then
     dnl Provide a substitute.
     dnl Usually a simple definition in <config.h> is enough. Not so on AIX 5
@@ -40,7 +40,7 @@ void (*func) (va_list, va_list) = va_copy;
       ], [gl_aixcc=yes], [gl_aixcc=no])
     if test $gl_aixcc = yes; then
       dnl Provide a substitute <stdarg.h> file.
-      STDARG_H=stdarg.h
+      GL_GENERATE_STDARG_H=true
       gl_NEXT_HEADERS([stdarg.h])
       dnl Fallback for the case when <stdarg.h> contains only macro definitions.
       if test "$gl_cv_next_stdarg_h" = '""'; then
@@ -72,7 +72,5 @@ error, bail out
       fi
     fi
   fi
-  AC_SUBST([STDARG_H])
-  AM_CONDITIONAL([GL_GENERATE_STDARG_H], [test -n "$STDARG_H"])
   AC_SUBST([NEXT_STDARG_H])
 ])
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4
deleted file mode 100644 (file)
index eabfa64..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-# Check for stdbool.h that conforms to C99.
-
-dnl Copyright (C) 2002-2006, 2009-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# Prepare for substituting <stdbool.h> if it is not supported.
-
-AC_DEFUN([AM_STDBOOL_H],
-[
-  AC_REQUIRE([AC_CHECK_HEADER_STDBOOL])
-
-  # Define two additional variables used in the Makefile substitution.
-
-  if test "$ac_cv_header_stdbool_h" = yes; then
-    STDBOOL_H=''
-  else
-    STDBOOL_H='stdbool.h'
-  fi
-  AC_SUBST([STDBOOL_H])
-  AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"])
-
-  if test "$ac_cv_type__Bool" = yes; then
-    HAVE__BOOL=1
-  else
-    HAVE__BOOL=0
-  fi
-  AC_SUBST([HAVE__BOOL])
-])
-
-# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
-AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
-
-# This version of the macro is needed in autoconf <= 2.68.
-
-AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
-  [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
-     [ac_cv_header_stdbool_h],
-     [AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-             #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
-             #endif
-             #ifndef __bool_true_false_are_defined
-              "error: __bool_true_false_are_defined is not defined"
-             #endif
-
-             struct s { _Bool s: 1; _Bool t; } s;
-
-             char a[true == 1 ? 1 : -1];
-             char b[false == 0 ? 1 : -1];
-             char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-             char d[(bool) 0.5 == true ? 1 : -1];
-             /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
-             char g[true];
-             char h[sizeof (_Bool)];
-             char i[sizeof s.t];
-             enum { j = false, k = true, l = false * true, m = true * 256 };
-             /* The following fails for
-                HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
-             char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-             /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-              */
-             _Bool q = true;
-             _Bool *pq = &q;
-           ]],
-           [[
-             bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
-             /* Refer to every declared value, to avoid compiler optimizations.  */
-             return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
-           ]])],
-        [ac_cv_header_stdbool_h=yes],
-        [ac_cv_header_stdbool_h=no])])
-   AC_CHECK_TYPES([_Bool])
-])
index cc11609..1bf9eb3 100644 (file)
@@ -1,19 +1,61 @@
-dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# stddef_h.m4 serial 14
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_STDDEF_H],
+dnl A placeholder for <stddef.h>, for platforms that have issues.
+
+AC_DEFUN_ONCE([gl_STDDEF_H],
 [
   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
   AC_REQUIRE([gt_TYPE_WCHAR_T])
-  STDDEF_H=
+
+  dnl Persuade OpenBSD <stddef.h> to declare max_align_t.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+  GL_GENERATE_STDDEF_H=false
+
+  dnl Test whether the type max_align_t exists and whether its alignment
+  dnl "is as great as is supported by the implementation in all contexts".
+  AC_CACHE_CHECK([for good max_align_t],
+    [gl_cv_type_max_align_t],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[/* On FreeBSD 12.0/x86, max_align_t defined by <stddef.h> has
+               the correct alignment with the default (wrong) definition of
+               _Alignof, but a wrong alignment as soon as we activate an
+               ISO C compliant _Alignof definition.  */
+            #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus
+             #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b)
+            #endif
+            #include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+            typedef struct { char a; max_align_t b; } max_helper;
+            typedef struct { char a; long b; } long_helper;
+            typedef struct { char a; double b; } double_helper;
+            typedef struct { char a; long double b; } long_double_helper;
+            int check3[2 * (offsetof (long_helper, b) <= offsetof (max_helper, b)) - 1];
+            int check4[2 * (offsetof (double_helper, b) <= offsetof (max_helper, b)) - 1];
+            int check5[2 * (offsetof (long_double_helper, b) <= offsetof (max_helper, b)) - 1];
+          ]])],
+       [gl_cv_type_max_align_t=yes],
+       [gl_cv_type_max_align_t=no])
+    ])
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    GL_GENERATE_STDDEF_H=true
+  fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
-    STDDEF_H=stddef.h
+    GL_GENERATE_STDDEF_H=true
   fi
+
   AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
     [gl_cv_decl_null_works],
     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
@@ -23,25 +65,55 @@ AC_DEFUN([gl_STDDEF_H],
       [gl_cv_decl_null_works=no])])
   if test $gl_cv_decl_null_works = no; then
     REPLACE_NULL=1
-    STDDEF_H=stddef.h
+    GL_GENERATE_STDDEF_H=true
   fi
-  AC_SUBST([STDDEF_H])
-  AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
-  if test -n "$STDDEF_H"; then
+
+  AC_CACHE_CHECK([for unreachable],
+    [gl_cv_func_unreachable],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stddef.h>
+          ]],
+          [[unreachable ();
+          ]])],
+       [gl_cv_func_unreachable=yes],
+       [gl_cv_func_unreachable=no])
+    ])
+  if test $gl_cv_func_unreachable = no; then
+    GL_GENERATE_STDDEF_H=true
+  fi
+
+  if $GL_GENERATE_STDDEF_H; then
     gl_NEXT_HEADERS([stddef.h])
   fi
 ])
 
+# gl_STDDEF_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_STDDEF_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_STDDEF_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_STDDEF_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS], [
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_STDDEF_H_DEFAULTS],
 [
   dnl Assume proper GNU behavior unless another module says otherwise.
   REPLACE_NULL=0;                AC_SUBST([REPLACE_NULL])
+  HAVE_MAX_ALIGN_T=1;            AC_SUBST([HAVE_MAX_ALIGN_T])
   HAVE_WCHAR_T=1;                AC_SUBST([HAVE_WCHAR_T])
 ])
index 28d342e..4aa2508 100644 (file)
@@ -1,5 +1,5 @@
-# stdint.m4 serial 43
-dnl Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# stdint.m4 serial 63
+dnl Copyright (C) 2001-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,25 +7,22 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Paul Eggert and Bruno Haible.
 dnl Test whether <stdint.h> is supported or must be substituted.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_STDINT_H],
 [
   AC_PREREQ([2.59])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 
-  dnl Check for long long int and unsigned long long int.
-  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-  if test $ac_cv_type_long_long_int = yes; then
-    HAVE_LONG_LONG_INT=1
-  else
-    HAVE_LONG_LONG_INT=0
-  fi
-  AC_SUBST([HAVE_LONG_LONG_INT])
-  AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
-  if test $ac_cv_type_unsigned_long_long_int = yes; then
-    HAVE_UNSIGNED_LONG_LONG_INT=1
-  else
-    HAVE_UNSIGNED_LONG_LONG_INT=0
-  fi
-  AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
+  AC_REQUIRE([gl_LIMITS_H])
+  AC_REQUIRE([gt_TYPE_WINT_T])
+
+  dnl For backward compatibility. Some packages may still be testing these
+  dnl macros.
+  AC_DEFINE([HAVE_LONG_LONG_INT], [1],
+    [Define to 1 if the system has the type 'long long int'.])
+  AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
+    [Define to 1 if the system has the type 'unsigned long long int'.])
 
   dnl Check for <wchar.h>, in the same way as gl_WCHAR_H does.
   AC_CHECK_HEADERS_ONCE([wchar.h])
@@ -37,7 +34,7 @@ AC_DEFUN_ONCE([gl_STDINT_H],
   AC_SUBST([HAVE_WCHAR_H])
 
   dnl Check for <inttypes.h>.
-  dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
+  AC_CHECK_HEADERS_ONCE([inttypes.h])
   if test $ac_cv_header_inttypes_h = yes; then
     HAVE_INTTYPES_H=1
   else
@@ -46,7 +43,7 @@ AC_DEFUN_ONCE([gl_STDINT_H],
   AC_SUBST([HAVE_INTTYPES_H])
 
   dnl Check for <sys/types.h>.
-  dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
+  AC_CHECK_HEADERS_ONCE([sys/types.h])
   if test $ac_cv_header_sys_types_h = yes; then
     HAVE_SYS_TYPES_H=1
   else
@@ -70,6 +67,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
        AC_COMPILE_IFELSE([
          AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
 #if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -150,6 +149,18 @@ uintptr_t h = UINTPTR_MAX;
 intmax_t i = INTMAX_MAX;
 uintmax_t j = UINTMAX_MAX;
 
+/* Check that SIZE_MAX has the correct type, if possible.  */
+/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it.  */
+#if 201112 <= __STDC_VERSION__ \
+    && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \
+        || defined __clang__)
+int k = _Generic (SIZE_MAX, size_t: 0);
+#elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \
+       || (0x5110 <= __SUNPRO_C && !__STDC__))
+extern size_t k;
+extern __typeof__ (SIZE_MAX) k;
+#endif
+
 #include <limits.h> /* for CHAR_BIT */
 #define TYPE_MINIMUM(t) \
   ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
@@ -162,7 +173,7 @@ struct s {
       PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
       && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
       ? 1 : -1;
-  /* Detect bug in FreeBSD 6.0 / ia64.  */
+  /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64.  */
   int check_SIG_ATOMIC:
       SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
       && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
@@ -218,6 +229,8 @@ struct s {
           AC_RUN_IFELSE([
             AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 ]
 gl_STDINT_INCLUDES
@@ -272,36 +285,88 @@ static const char *macro_values[] =
 ]])],
               [gl_cv_header_working_stdint_h=yes],
               [],
-              [dnl When cross-compiling, assume it works.
-               gl_cv_header_working_stdint_h=yes
+              [case "$host_os" in
+                                    # Guess yes on native Windows.
+                 mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;;
+                                    # In general, assume it works.
+                 *)                 gl_cv_header_working_stdint_h="guessing yes" ;;
+               esac
               ])
          ])
       ])
   fi
-  if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
-  else
-    dnl Check for <sys/inttypes.h>, and for
-    dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
-    AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
-    if test $ac_cv_header_sys_inttypes_h = yes; then
-      HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
-    fi
-    AC_SUBST([HAVE_SYS_INTTYPES_H])
-    if test $ac_cv_header_sys_bitypes_h = yes; then
-      HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
-    fi
-    AC_SUBST([HAVE_SYS_BITYPES_H])
 
-    gl_STDINT_TYPE_PROPERTIES
-    STDINT_H=stdint.h
-  fi
-  AC_SUBST([STDINT_H])
-  AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  GL_GENERATE_STDINT_H=true
+  case "$gl_cv_header_working_stdint_h" in
+    *yes)
+      HAVE_C99_STDINT_H=1
+      dnl Now see whether the system <stdint.h> works without
+      dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined.
+      dnl If not, there would be problems when stdint.h is included from C++.
+      AC_CACHE_CHECK([whether stdint.h works without ISO C predefines],
+        [gl_cv_header_stdint_without_STDC_macros],
+        [gl_cv_header_stdint_without_STDC_macros=no
+         AC_COMPILE_IFELSE([
+           AC_LANG_PROGRAM([[
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+]
+gl_STDINT_INCLUDES
+[
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+           ]])],
+           [gl_cv_header_stdint_without_STDC_macros=yes])
+        ])
+
+      if test $gl_cv_header_stdint_without_STDC_macros = no; then
+        AC_DEFINE([__STDC_CONSTANT_MACROS], [1],
+          [Define to 1 if the system <stdint.h> predates C++11.])
+        AC_DEFINE([__STDC_LIMIT_MACROS], [1],
+          [Define to 1 if the system <stdint.h> predates C++11.])
+      fi
+      AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.],
+        [gl_cv_header_stdint_width],
+        [gl_cv_header_stdint_width=no
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM([[
+              /* Work if build is not clean.  */
+              #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+              #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+               #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+              #endif
+              #include <stdint.h>
+              ]gl_STDINT_INCLUDES[
+              int iw = UINTMAX_WIDTH;
+              ]])],
+           [gl_cv_header_stdint_width=yes])])
+      if test "$gl_cv_header_stdint_width" = yes; then
+        GL_GENERATE_STDINT_H=false
+      fi
+      ;;
+    *)
+      dnl Check for <sys/inttypes.h>, and for
+      dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
+      AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
+      if test $ac_cv_header_sys_inttypes_h = yes; then
+        HAVE_SYS_INTTYPES_H=1
+      fi
+      if test $ac_cv_header_sys_bitypes_h = yes; then
+        HAVE_SYS_BITYPES_H=1
+      fi
+      gl_STDINT_TYPE_PROPERTIES
+      ;;
+  esac
+
+  dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
+  gl_REPLACE_LIMITS_H
+
+  AC_SUBST([HAVE_C99_STDINT_H])
+  AC_SUBST([HAVE_SYS_BITYPES_H])
+  AC_SUBST([HAVE_SYS_INTTYPES_H])
 ])
 
 dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
@@ -429,13 +494,9 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
 dnl gl_STDINT_INCLUDES
 AC_DEFUN([gl_STDINT_INCLUDES],
 [[
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
   #include <stddef.h>
   #include <signal.h>
   #if HAVE_WCHAR_H
-  # include <stdio.h>
-  # include <time.h>
   # include <wchar.h>
   #endif
 ]])
@@ -467,18 +528,7 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
   dnl requirement that wint_t is "unchanged by default argument promotions".
   dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
   dnl Set the variable BITSIZEOF_WINT_T accordingly.
-  if test $BITSIZEOF_WINT_T -lt 32; then
+  if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then
     BITSIZEOF_WINT_T=32
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
-
-# Hey Emacs!
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
index b03393b..c19feef 100644 (file)
@@ -1,71 +1,89 @@
-# stdio_h.m4 serial 41
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# stdio_h.m4 serial 63
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_STDIO_H],
+AC_DEFUN([gl_STDIO_H_EARLY],
+[
+  dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because
+  dnl the results of several configure tests depend on it: The tests
+  dnl   - checking whether snprintf returns a byte count as in C99...
+  dnl   - checking whether snprintf truncates the result as in C99...
+  dnl   - checking whether printf supports the 'F' directive...
+  dnl   - checking whether printf supports the grouping flag...
+  dnl   - checking whether printf supports the zero flag correctly...
+  dnl   - checking whether printf supports infinite 'double' arguments...
+  dnl   - checking whether printf supports large precisions...
+  dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if
+  dnl __USE_MINGW_ANSI_STDIO is not set.
+  AH_VERBATIM([MINGW_ANSI_STDIO],
+[/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+])
+  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
+])
+
+AC_DEFUN_ONCE([gl_STDIO_H],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_REQUIRE([AC_C_INLINE])
   gl_NEXT_HEADERS([stdio.h])
 
-  dnl No need to create extra modules for these functions. Everyone who uses
-  dnl <stdio.h> likely needs them.
-  GNULIB_FSCANF=1
-  GNULIB_SCANF=1
-  GNULIB_FGETC=1
-  GNULIB_GETC=1
-  GNULIB_GETCHAR=1
-  GNULIB_FGETS=1
-  GNULIB_FREAD=1
-  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
-  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
-  dnl also an optimization, to avoid performing a configure check whose result
-  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
-  dnl or GNULIB_NONBLOCKING redundant.
+  dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
+  dnl inttypes.h behave like gnu instead of system; we must give our
+  dnl printf wrapper the right attribute to match.
+  AC_CACHE_CHECK([which flavor of printf attribute matches inttypes macros],
+    [gl_cv_func_printf_attribute_flavor],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+       #define __STDC_FORMAT_MACROS 1
+       #include <stdio.h>
+       #include <inttypes.h>
+       /* For non-mingw systems, compilation will trivially succeed.
+          For mingw, compilation will succeed for older mingw (system
+          printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
+         (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+       extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
+       #endif
+      ]])], [gl_cv_func_printf_attribute_flavor=system],
+      [gl_cv_func_printf_attribute_flavor=gnu])])
+  if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+    AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1],
+      [Define to 1 if printf and friends should be labeled with
+       attribute "__gnu_printf__" instead of "__printf__"])
+  fi
+
+  dnl For defining _PRINTF_NAN_LEN_MAX.
+  gl_MUSL_LIBC
+
+  dnl This ifdef is an optimization, to avoid performing a configure check whose
+  dnl result is not used. But it does not make the test of
+  dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant.
   m4_ifdef([gl_NONBLOCKING_IO], [
     gl_NONBLOCKING_IO
     if test $gl_cv_have_nonblocking != yes; then
       REPLACE_STDIO_READ_FUNCS=1
-      AC_LIBOBJ([stdio-read])
     fi
   ])
 
-  dnl No need to create extra modules for these functions. Everyone who uses
-  dnl <stdio.h> likely needs them.
-  GNULIB_FPRINTF=1
-  GNULIB_PRINTF=1
-  GNULIB_VFPRINTF=1
-  GNULIB_VPRINTF=1
-  GNULIB_FPUTC=1
-  GNULIB_PUTC=1
-  GNULIB_PUTCHAR=1
-  GNULIB_FPUTS=1
-  GNULIB_PUTS=1
-  GNULIB_FWRITE=1
-  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
-  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
-  dnl also an optimization, to avoid performing a configure check whose result
-  dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
-  dnl GNULIB_SIGPIPE redundant.
+  dnl This ifdef is an optimization, to avoid performing a configure check whose
+  dnl result is not used. But it does not make the test of
+  dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant.
   m4_ifdef([gl_SIGNAL_SIGPIPE], [
     gl_SIGNAL_SIGPIPE
     if test $gl_cv_header_signal_h_SIGPIPE != yes; then
       REPLACE_STDIO_WRITE_FUNCS=1
-      AC_LIBOBJ([stdio-write])
     fi
   ])
-  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
-  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
-  dnl also an optimization, to avoid performing a configure check whose result
-  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
-  dnl or GNULIB_NONBLOCKING redundant.
+  dnl This ifdef is an optimization, to avoid performing a configure check whose
+  dnl result is not used. But it does not make the test of
+  dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant.
   m4_ifdef([gl_NONBLOCKING_IO], [
     gl_NONBLOCKING_IO
     if test $gl_cv_have_nonblocking != yes; then
       REPLACE_STDIO_WRITE_FUNCS=1
-      AC_LIBOBJ([stdio-write])
     fi
   ])
 
@@ -75,79 +93,122 @@ AC_DEFUN([gl_STDIO_H],
   gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
     ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
     renameat snprintf tmpfile vdprintf vsnprintf])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  AC_CHECK_DECLS_ONCE([fcloseall])
+  if test $ac_cv_have_decl_fcloseall = no; then
+    HAVE_DECL_FCLOSEALL=0
+  fi
+
+  AC_CHECK_DECLS_ONCE([getw])
+  if test $ac_cv_have_decl_getw = no; then
+    HAVE_DECL_GETW=0
+  fi
+
+  AC_CHECK_DECLS_ONCE([putw])
+  if test $ac_cv_have_decl_putw = no; then
+    HAVE_DECL_PUTW=0
+  fi
 ])
 
+# gl_STDIO_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_STDIO_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN_GNU])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREAD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREOPEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSCANF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEKO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTCHAR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMOVE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FILENO], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETW], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTW], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TEMPNAM], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_STDIO_H_DEFAULTS],
 [
-  GNULIB_DPRINTF=0;              AC_SUBST([GNULIB_DPRINTF])
-  GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
-  GNULIB_FDOPEN=0;               AC_SUBST([GNULIB_FDOPEN])
-  GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
-  GNULIB_FGETC=0;                AC_SUBST([GNULIB_FGETC])
-  GNULIB_FGETS=0;                AC_SUBST([GNULIB_FGETS])
-  GNULIB_FOPEN=0;                AC_SUBST([GNULIB_FOPEN])
-  GNULIB_FPRINTF=0;              AC_SUBST([GNULIB_FPRINTF])
-  GNULIB_FPRINTF_POSIX=0;        AC_SUBST([GNULIB_FPRINTF_POSIX])
-  GNULIB_FPURGE=0;               AC_SUBST([GNULIB_FPURGE])
-  GNULIB_FPUTC=0;                AC_SUBST([GNULIB_FPUTC])
-  GNULIB_FPUTS=0;                AC_SUBST([GNULIB_FPUTS])
-  GNULIB_FREAD=0;                AC_SUBST([GNULIB_FREAD])
-  GNULIB_FREOPEN=0;              AC_SUBST([GNULIB_FREOPEN])
-  GNULIB_FSCANF=0;               AC_SUBST([GNULIB_FSCANF])
-  GNULIB_FSEEK=0;                AC_SUBST([GNULIB_FSEEK])
-  GNULIB_FSEEKO=0;               AC_SUBST([GNULIB_FSEEKO])
-  GNULIB_FTELL=0;                AC_SUBST([GNULIB_FTELL])
-  GNULIB_FTELLO=0;               AC_SUBST([GNULIB_FTELLO])
-  GNULIB_FWRITE=0;               AC_SUBST([GNULIB_FWRITE])
-  GNULIB_GETC=0;                 AC_SUBST([GNULIB_GETC])
-  GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
-  GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
-  GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
-  GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
-  GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
-  GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
-  GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
-  GNULIB_POPEN=0;                AC_SUBST([GNULIB_POPEN])
-  GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
-  GNULIB_PRINTF_POSIX=0;         AC_SUBST([GNULIB_PRINTF_POSIX])
-  GNULIB_PUTC=0;                 AC_SUBST([GNULIB_PUTC])
-  GNULIB_PUTCHAR=0;              AC_SUBST([GNULIB_PUTCHAR])
-  GNULIB_PUTS=0;                 AC_SUBST([GNULIB_PUTS])
-  GNULIB_REMOVE=0;               AC_SUBST([GNULIB_REMOVE])
-  GNULIB_RENAME=0;               AC_SUBST([GNULIB_RENAME])
-  GNULIB_RENAMEAT=0;             AC_SUBST([GNULIB_RENAMEAT])
-  GNULIB_SCANF=0;                AC_SUBST([GNULIB_SCANF])
-  GNULIB_SNPRINTF=0;             AC_SUBST([GNULIB_SNPRINTF])
-  GNULIB_SPRINTF_POSIX=0;        AC_SUBST([GNULIB_SPRINTF_POSIX])
-  GNULIB_STDIO_H_NONBLOCKING=0;  AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
-  GNULIB_STDIO_H_SIGPIPE=0;      AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
-  GNULIB_TMPFILE=0;              AC_SUBST([GNULIB_TMPFILE])
-  GNULIB_VASPRINTF=0;            AC_SUBST([GNULIB_VASPRINTF])
-  GNULIB_VFSCANF=0;              AC_SUBST([GNULIB_VFSCANF])
-  GNULIB_VSCANF=0;               AC_SUBST([GNULIB_VSCANF])
-  GNULIB_VDPRINTF=0;             AC_SUBST([GNULIB_VDPRINTF])
-  GNULIB_VFPRINTF=0;             AC_SUBST([GNULIB_VFPRINTF])
-  GNULIB_VFPRINTF_POSIX=0;       AC_SUBST([GNULIB_VFPRINTF_POSIX])
-  GNULIB_VPRINTF=0;              AC_SUBST([GNULIB_VPRINTF])
-  GNULIB_VPRINTF_POSIX=0;        AC_SUBST([GNULIB_VPRINTF_POSIX])
-  GNULIB_VSNPRINTF=0;            AC_SUBST([GNULIB_VSNPRINTF])
-  GNULIB_VSPRINTF_POSIX=0;       AC_SUBST([GNULIB_VSPRINTF_POSIX])
   dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_FCLOSEALL=1;         AC_SUBST([HAVE_DECL_FCLOSEALL])
   HAVE_DECL_FPURGE=1;            AC_SUBST([HAVE_DECL_FPURGE])
   HAVE_DECL_FSEEKO=1;            AC_SUBST([HAVE_DECL_FSEEKO])
   HAVE_DECL_FTELLO=1;            AC_SUBST([HAVE_DECL_FTELLO])
   HAVE_DECL_GETDELIM=1;          AC_SUBST([HAVE_DECL_GETDELIM])
   HAVE_DECL_GETLINE=1;           AC_SUBST([HAVE_DECL_GETLINE])
+  HAVE_DECL_GETW=1;              AC_SUBST([HAVE_DECL_GETW])
   HAVE_DECL_OBSTACK_PRINTF=1;    AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
+  HAVE_DECL_PUTW=1;              AC_SUBST([HAVE_DECL_PUTW])
   HAVE_DECL_SNPRINTF=1;          AC_SUBST([HAVE_DECL_SNPRINTF])
   HAVE_DECL_VSNPRINTF=1;         AC_SUBST([HAVE_DECL_VSNPRINTF])
   HAVE_DPRINTF=1;                AC_SUBST([HAVE_DPRINTF])
@@ -163,6 +224,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   REPLACE_FDOPEN=0;              AC_SUBST([REPLACE_FDOPEN])
   REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
   REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
+  REPLACE_FOPEN_FOR_FOPEN_GNU=0; AC_SUBST([REPLACE_FOPEN_FOR_FOPEN_GNU])
   REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
   REPLACE_FPURGE=0;              AC_SUBST([REPLACE_FPURGE])
   REPLACE_FREOPEN=0;             AC_SUBST([REPLACE_FREOPEN])
index ab43728..92e67a7 100644 (file)
@@ -1,10 +1,10 @@
-# stdlib_h.m4 serial 41
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 76
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_STDLIB_H],
+AC_DEFUN_ONCE([gl_STDLIB_H],
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   gl_NEXT_HEADERS([stdlib.h])
@@ -14,101 +14,245 @@ AC_DEFUN([gl_STDLIB_H],
   dnl guaranteed by C89.
   gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
 #if HAVE_SYS_LOADAVG_H
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
 # include <sys/loadavg.h>
 #endif
 #if HAVE_RANDOM_H
 # include <random.h>
 #endif
-    ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
-    initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
-    posix_openpt ptsname ptsname_r random random_r realpath rpmatch
-    setenv setstate setstate_r srandom srandom_r
-    strtod strtoll strtoull unlockpt unsetenv])
+    ]], [_Exit aligned_alloc atoll canonicalize_file_name free
+    getloadavg getprogname getsubopt grantpt
+    initstate initstate_r mbstowcs mbtowc mkdtemp mkostemp mkostemps mkstemp
+    mkstemps posix_memalign posix_openpt ptsname ptsname_r qsort_r
+    random random_r reallocarray realpath rpmatch secure_getenv setenv
+    setstate setstate_r srandom srandom_r
+    strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  dnl Test whether MB_CUR_MAX needs to be overridden.
+  dnl On Solaris 10, in UTF-8 locales, its value is 3 but needs to be 4.
+  dnl Fortunately, we can do this because on this platform MB_LEN_MAX is 5.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gt_LOCALE_FR_UTF8])
+  AC_CACHE_CHECK([whether MB_CUR_MAX is correct],
+    [gl_cv_macro_MB_CUR_MAX_good],
+    [
+      dnl Initial guess, used when cross-compiling or when no suitable locale
+      dnl is present.
+changequote(,)dnl
+      case "$host_os" in
+                  # Guess no on Solaris.
+        solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;;
+                  # Guess yes otherwise.
+        *)        gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;;
+      esac
+changequote([,])dnl
+      if test $LOCALE_FR_UTF8 != none; then
+        AC_RUN_IFELSE(
+          [AC_LANG_SOURCE([[
+#include <locale.h>
+#include <stdlib.h>
+int main ()
+{
+  int result = 0;
+  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
+    {
+      if (MB_CUR_MAX < 4)
+        result |= 1;
+    }
+  return result;
+}]])],
+          [gl_cv_macro_MB_CUR_MAX_good=yes],
+          [gl_cv_macro_MB_CUR_MAX_good=no],
+          [:])
+      fi
+    ])
+  case "$gl_cv_macro_MB_CUR_MAX_good" in
+    *yes) ;;
+    *) REPLACE_MB_CUR_MAX=1 ;;
+  esac
+
+  AC_CHECK_DECLS_ONCE([ecvt])
+  if test $ac_cv_have_decl_ecvt = no; then
+    HAVE_DECL_ECVT=0
+  fi
+  AC_CHECK_DECLS_ONCE([fcvt])
+  if test $ac_cv_have_decl_fcvt = no; then
+    HAVE_DECL_FCVT=0
+  fi
+  AC_CHECK_DECLS_ONCE([gcvt])
+  if test $ac_cv_have_decl_gcvt = no; then
+    HAVE_DECL_GCVT=0
+  fi
 ])
 
+# gl_STDLIB_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_STDLIB_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_GNU])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPROGNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOWCS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAND])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_STDLIB_H_DEFAULTS],
 [
-  GNULIB__EXIT=0;         AC_SUBST([GNULIB__EXIT])
-  GNULIB_ATOLL=0;         AC_SUBST([GNULIB_ATOLL])
-  GNULIB_CALLOC_POSIX=0;  AC_SUBST([GNULIB_CALLOC_POSIX])
-  GNULIB_CANONICALIZE_FILE_NAME=0;  AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
-  GNULIB_GETLOADAVG=0;    AC_SUBST([GNULIB_GETLOADAVG])
-  GNULIB_GETSUBOPT=0;     AC_SUBST([GNULIB_GETSUBOPT])
-  GNULIB_GRANTPT=0;       AC_SUBST([GNULIB_GRANTPT])
-  GNULIB_MALLOC_POSIX=0;  AC_SUBST([GNULIB_MALLOC_POSIX])
-  GNULIB_MBTOWC=0;        AC_SUBST([GNULIB_MBTOWC])
-  GNULIB_MKDTEMP=0;       AC_SUBST([GNULIB_MKDTEMP])
-  GNULIB_MKOSTEMP=0;      AC_SUBST([GNULIB_MKOSTEMP])
-  GNULIB_MKOSTEMPS=0;     AC_SUBST([GNULIB_MKOSTEMPS])
-  GNULIB_MKSTEMP=0;       AC_SUBST([GNULIB_MKSTEMP])
-  GNULIB_MKSTEMPS=0;      AC_SUBST([GNULIB_MKSTEMPS])
-  GNULIB_POSIX_OPENPT=0;  AC_SUBST([GNULIB_POSIX_OPENPT])
-  GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
-  GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
-  GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
-  GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
-  GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
-  GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
-  GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
-  GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
-  GNULIB_SETENV=0;        AC_SUBST([GNULIB_SETENV])
-  GNULIB_STRTOD=0;        AC_SUBST([GNULIB_STRTOD])
-  GNULIB_STRTOLL=0;       AC_SUBST([GNULIB_STRTOLL])
-  GNULIB_STRTOULL=0;      AC_SUBST([GNULIB_STRTOULL])
-  GNULIB_SYSTEM_POSIX=0;  AC_SUBST([GNULIB_SYSTEM_POSIX])
-  GNULIB_UNLOCKPT=0;      AC_SUBST([GNULIB_UNLOCKPT])
-  GNULIB_UNSETENV=0;      AC_SUBST([GNULIB_UNSETENV])
-  GNULIB_WCTOMB=0;        AC_SUBST([GNULIB_WCTOMB])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE__EXIT=1;              AC_SUBST([HAVE__EXIT])
+  HAVE_ALIGNED_ALLOC=1;      AC_SUBST([HAVE_ALIGNED_ALLOC])
   HAVE_ATOLL=1;              AC_SUBST([HAVE_ATOLL])
   HAVE_CANONICALIZE_FILE_NAME=1;  AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
+  HAVE_DECL_ECVT=1;          AC_SUBST([HAVE_DECL_ECVT])
+  HAVE_DECL_FCVT=1;          AC_SUBST([HAVE_DECL_FCVT])
+  HAVE_DECL_GCVT=1;          AC_SUBST([HAVE_DECL_GCVT])
   HAVE_DECL_GETLOADAVG=1;    AC_SUBST([HAVE_DECL_GETLOADAVG])
+  HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME])
+  HAVE_GETPROGNAME=1;        AC_SUBST([HAVE_GETPROGNAME])
   HAVE_GETSUBOPT=1;          AC_SUBST([HAVE_GETSUBOPT])
   HAVE_GRANTPT=1;            AC_SUBST([HAVE_GRANTPT])
+  HAVE_INITSTATE=1;          AC_SUBST([HAVE_INITSTATE])
+  HAVE_DECL_INITSTATE=1;     AC_SUBST([HAVE_DECL_INITSTATE])
+  HAVE_MBTOWC=1;             AC_SUBST([HAVE_MBTOWC])
   HAVE_MKDTEMP=1;            AC_SUBST([HAVE_MKDTEMP])
   HAVE_MKOSTEMP=1;           AC_SUBST([HAVE_MKOSTEMP])
   HAVE_MKOSTEMPS=1;          AC_SUBST([HAVE_MKOSTEMPS])
   HAVE_MKSTEMP=1;            AC_SUBST([HAVE_MKSTEMP])
   HAVE_MKSTEMPS=1;           AC_SUBST([HAVE_MKSTEMPS])
+  HAVE_POSIX_MEMALIGN=1;     AC_SUBST([HAVE_POSIX_MEMALIGN])
   HAVE_POSIX_OPENPT=1;       AC_SUBST([HAVE_POSIX_OPENPT])
   HAVE_PTSNAME=1;            AC_SUBST([HAVE_PTSNAME])
   HAVE_PTSNAME_R=1;          AC_SUBST([HAVE_PTSNAME_R])
+  HAVE_QSORT_R=1;            AC_SUBST([HAVE_QSORT_R])
   HAVE_RANDOM=1;             AC_SUBST([HAVE_RANDOM])
   HAVE_RANDOM_H=1;           AC_SUBST([HAVE_RANDOM_H])
   HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
+  HAVE_REALLOCARRAY=1;       AC_SUBST([HAVE_REALLOCARRAY])
   HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
   HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
+  HAVE_SECURE_GETENV=1;      AC_SUBST([HAVE_SECURE_GETENV])
   HAVE_SETENV=1;             AC_SUBST([HAVE_SETENV])
   HAVE_DECL_SETENV=1;        AC_SUBST([HAVE_DECL_SETENV])
+  HAVE_SETSTATE=1;           AC_SUBST([HAVE_SETSTATE])
+  HAVE_DECL_SETSTATE=1;      AC_SUBST([HAVE_DECL_SETSTATE])
   HAVE_STRTOD=1;             AC_SUBST([HAVE_STRTOD])
+  HAVE_STRTOL=1;             AC_SUBST([HAVE_STRTOL])
+  HAVE_STRTOLD=1;            AC_SUBST([HAVE_STRTOLD])
   HAVE_STRTOLL=1;            AC_SUBST([HAVE_STRTOLL])
+  HAVE_STRTOUL=1;            AC_SUBST([HAVE_STRTOUL])
   HAVE_STRTOULL=1;           AC_SUBST([HAVE_STRTOULL])
   HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
   HAVE_SYS_LOADAVG_H=0;      AC_SUBST([HAVE_SYS_LOADAVG_H])
   HAVE_UNLOCKPT=1;           AC_SUBST([HAVE_UNLOCKPT])
   HAVE_DECL_UNSETENV=1;      AC_SUBST([HAVE_DECL_UNSETENV])
-  REPLACE_CALLOC=0;          AC_SUBST([REPLACE_CALLOC])
+  REPLACE__EXIT=0;           AC_SUBST([REPLACE__EXIT])
+  REPLACE_ALIGNED_ALLOC=0;   AC_SUBST([REPLACE_ALIGNED_ALLOC])
+  REPLACE_CALLOC_FOR_CALLOC_GNU=0;    AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU])
+  REPLACE_CALLOC_FOR_CALLOC_POSIX=0;  AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX])
   REPLACE_CANONICALIZE_FILE_NAME=0;  AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
-  REPLACE_MALLOC=0;          AC_SUBST([REPLACE_MALLOC])
+  REPLACE_FREE=0;            AC_SUBST([REPLACE_FREE])
+  REPLACE_GETLOADAVG=0;      AC_SUBST([REPLACE_GETLOADAVG])
+  REPLACE_GETPROGNAME=0;     AC_SUBST([REPLACE_GETPROGNAME])
+  REPLACE_GETSUBOPT=0;       AC_SUBST([REPLACE_GETSUBOPT])
+  REPLACE_INITSTATE=0;       AC_SUBST([REPLACE_INITSTATE])
+  REPLACE_MALLOC_FOR_MALLOC_GNU=0;    AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU])
+  REPLACE_MALLOC_FOR_MALLOC_POSIX=0;  AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX])
+  REPLACE_MB_CUR_MAX=0;      AC_SUBST([REPLACE_MB_CUR_MAX])
+  REPLACE_MBSTOWCS=0;        AC_SUBST([REPLACE_MBSTOWCS])
   REPLACE_MBTOWC=0;          AC_SUBST([REPLACE_MBTOWC])
+  REPLACE_MKOSTEMP=0;        AC_SUBST([REPLACE_MKOSTEMP])
+  REPLACE_MKOSTEMPS=0;       AC_SUBST([REPLACE_MKOSTEMPS])
   REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
+  REPLACE_POSIX_MEMALIGN=0;  AC_SUBST([REPLACE_POSIX_MEMALIGN])
+  REPLACE_POSIX_OPENPT=0;    AC_SUBST([REPLACE_POSIX_OPENPT])
+  REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
   REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_QSORT_R=0;         AC_SUBST([REPLACE_QSORT_R])
+  REPLACE_RAND=0;            AC_SUBST([REPLACE_RAND])
+  REPLACE_RANDOM=0;          AC_SUBST([REPLACE_RANDOM])
   REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
-  REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
+  REPLACE_REALLOC_FOR_REALLOC_GNU=0;    AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU])
+  REPLACE_REALLOC_FOR_REALLOC_POSIX=0;  AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX])
+  REPLACE_REALLOCARRAY=0;    AC_SUBST([REPLACE_REALLOCARRAY])
   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
   REPLACE_SETENV=0;          AC_SUBST([REPLACE_SETENV])
+  REPLACE_SETSTATE=0;        AC_SUBST([REPLACE_SETSTATE])
   REPLACE_STRTOD=0;          AC_SUBST([REPLACE_STRTOD])
+  REPLACE_STRTOL=0;          AC_SUBST([REPLACE_STRTOL])
+  REPLACE_STRTOLD=0;         AC_SUBST([REPLACE_STRTOLD])
+  REPLACE_STRTOLL=0;         AC_SUBST([REPLACE_STRTOLL])
+  REPLACE_STRTOUL=0;         AC_SUBST([REPLACE_STRTOUL])
+  REPLACE_STRTOULL=0;        AC_SUBST([REPLACE_STRTOULL])
   REPLACE_UNSETENV=0;        AC_SUBST([REPLACE_UNSETENV])
   REPLACE_WCTOMB=0;          AC_SUBST([REPLACE_WCTOMB])
 ])
index 1c96e52..a1d1261 100644 (file)
@@ -1,19 +1,19 @@
-# strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2012 Free Software Foundation, Inc.
+# strerror.m4 serial 25
+dnl Copyright (C) 2002, 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_STRERROR],
 [
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
   AC_REQUIRE([gl_HEADER_ERRNO_H])
   AC_REQUIRE([gl_FUNC_STRERROR_0])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
     AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
   ])
-  if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+  if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then
     AC_CACHE_CHECK([for working strerror function],
      [gl_cv_func_working_strerror],
      [AC_RUN_IFELSE(
@@ -24,10 +24,12 @@ AC_DEFUN([gl_FUNC_STRERROR],
         [gl_cv_func_working_strerror=yes],
         [gl_cv_func_working_strerror=no],
         [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_working_strerror="guessing no" ;;
+                               # Guess yes on glibc systems.
+           *-gnu* | gnu*)      gl_cv_func_working_strerror="guessing yes" ;;
+                               # Guess yes on musl systems.
+           *-musl* | midipix*) gl_cv_func_working_strerror="guessing yes" ;;
+                               # If we don't know, obey --enable-cross-guesses.
+           *)                  gl_cv_func_working_strerror="$gl_cross_guess_normal" ;;
          esac
         ])
     ])
@@ -78,10 +80,14 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
       [gl_cv_func_strerror_0_works=yes],
       [gl_cv_func_strerror_0_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+                             # Guess yes on glibc systems.
+         *-gnu* | gnu*)      gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # Guess yes on musl systems.
+         *-musl* | midipix*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # Guess yes on native Windows.
+         mingw* | windows*)  gl_cv_func_strerror_0_works="guessing yes" ;;
+                             # If we don't know, obey --enable-cross-guesses.
+         *)                  gl_cv_func_strerror_0_works="$gl_cross_guess_normal" ;;
        esac
       ])
   ])
index 5677e09..3cbcbc7 100644 (file)
@@ -1,25 +1,19 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 21
+# serial 37
 
 # Written by Paul Eggert.
 
-AC_DEFUN([gl_HEADER_STRING_H],
+AC_DEFUN_ONCE([gl_STRING_H],
 [
-  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
-  dnl once only, before all statements that occur in other macros.
-  AC_REQUIRE([gl_HEADER_STRING_H_BODY])
-])
-
-AC_DEFUN([gl_HEADER_STRING_H_BODY],
-[
-  AC_REQUIRE([AC_C_RESTRICT])
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only, before all statements
+  dnl that occur in other macros.
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
   gl_NEXT_HEADERS([string.h])
 
   dnl Check for declarations of anything we want to poison if the
@@ -27,66 +21,95 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY],
   dnl guaranteed by C89.
   gl_WARN_ON_USE_PREPARE([[#include <string.h>
     ]],
-    [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
+    [explicit_bzero ffsl ffsll memmem mempcpy memrchr memset_explicit
+     rawmemchr stpcpy stpncpy strchrnul
      strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
-     strerror_r strsignal strverscmp])
+     strerror_r strerrorname_np sigabbrev_np sigdescr_np strsignal strverscmp])
+
+  AC_REQUIRE([AC_C_RESTRICT])
 ])
 
+# gl_STRING_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_STRING_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_STRING_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
-AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS],
 [
-  GNULIB_FFSL=0;        AC_SUBST([GNULIB_FFSL])
-  GNULIB_FFSLL=0;       AC_SUBST([GNULIB_FFSLL])
-  GNULIB_MEMCHR=0;      AC_SUBST([GNULIB_MEMCHR])
-  GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
-  GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
-  GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
-  GNULIB_RAWMEMCHR=0;   AC_SUBST([GNULIB_RAWMEMCHR])
-  GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
-  GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
-  GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
-  GNULIB_STRDUP=0;      AC_SUBST([GNULIB_STRDUP])
-  GNULIB_STRNCAT=0;     AC_SUBST([GNULIB_STRNCAT])
-  GNULIB_STRNDUP=0;     AC_SUBST([GNULIB_STRNDUP])
-  GNULIB_STRNLEN=0;     AC_SUBST([GNULIB_STRNLEN])
-  GNULIB_STRPBRK=0;     AC_SUBST([GNULIB_STRPBRK])
-  GNULIB_STRSEP=0;      AC_SUBST([GNULIB_STRSEP])
-  GNULIB_STRSTR=0;      AC_SUBST([GNULIB_STRSTR])
-  GNULIB_STRCASESTR=0;  AC_SUBST([GNULIB_STRCASESTR])
-  GNULIB_STRTOK_R=0;    AC_SUBST([GNULIB_STRTOK_R])
-  GNULIB_MBSLEN=0;      AC_SUBST([GNULIB_MBSLEN])
-  GNULIB_MBSNLEN=0;     AC_SUBST([GNULIB_MBSNLEN])
-  GNULIB_MBSCHR=0;      AC_SUBST([GNULIB_MBSCHR])
-  GNULIB_MBSRCHR=0;     AC_SUBST([GNULIB_MBSRCHR])
-  GNULIB_MBSSTR=0;      AC_SUBST([GNULIB_MBSSTR])
-  GNULIB_MBSCASECMP=0;  AC_SUBST([GNULIB_MBSCASECMP])
-  GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
-  GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
-  GNULIB_MBSCASESTR=0;  AC_SUBST([GNULIB_MBSCASESTR])
-  GNULIB_MBSCSPN=0;     AC_SUBST([GNULIB_MBSCSPN])
-  GNULIB_MBSPBRK=0;     AC_SUBST([GNULIB_MBSPBRK])
-  GNULIB_MBSSPN=0;      AC_SUBST([GNULIB_MBSSPN])
-  GNULIB_MBSSEP=0;      AC_SUBST([GNULIB_MBSSEP])
-  GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
-  GNULIB_STRERROR=0;    AC_SUBST([GNULIB_STRERROR])
-  GNULIB_STRERROR_R=0;  AC_SUBST([GNULIB_STRERROR_R])
-  GNULIB_STRSIGNAL=0;   AC_SUBST([GNULIB_STRSIGNAL])
-  GNULIB_STRVERSCMP=0;  AC_SUBST([GNULIB_STRVERSCMP])
-  HAVE_MBSLEN=0;        AC_SUBST([HAVE_MBSLEN])
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMSET_EXPLICIT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS])
+  dnl Make sure the shell variable for GNULIB_FREE_POSIX is initialized.
+  gl_STDLIB_H_REQUIRE_DEFAULTS
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_STRING_H_DEFAULTS],
+[
+  HAVE_MBSLEN=0;             AC_SUBST([HAVE_MBSLEN])
   dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_EXPLICIT_BZERO=1;        AC_SUBST([HAVE_EXPLICIT_BZERO])
   HAVE_FFSL=1;                  AC_SUBST([HAVE_FFSL])
   HAVE_FFSLL=1;                 AC_SUBST([HAVE_FFSLL])
-  HAVE_MEMCHR=1;                AC_SUBST([HAVE_MEMCHR])
   HAVE_DECL_MEMMEM=1;           AC_SUBST([HAVE_DECL_MEMMEM])
   HAVE_MEMPCPY=1;               AC_SUBST([HAVE_MEMPCPY])
+  HAVE_MEMSET_EXPLICIT=1;       AC_SUBST([HAVE_MEMSET_EXPLICIT])
   HAVE_DECL_MEMRCHR=1;          AC_SUBST([HAVE_DECL_MEMRCHR])
   HAVE_RAWMEMCHR=1;             AC_SUBST([HAVE_RAWMEMCHR])
   HAVE_STPCPY=1;                AC_SUBST([HAVE_STPCPY])
@@ -100,21 +123,28 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   HAVE_STRCASESTR=1;            AC_SUBST([HAVE_STRCASESTR])
   HAVE_DECL_STRTOK_R=1;         AC_SUBST([HAVE_DECL_STRTOK_R])
   HAVE_DECL_STRERROR_R=1;       AC_SUBST([HAVE_DECL_STRERROR_R])
+  HAVE_STRERRORNAME_NP=1;       AC_SUBST([HAVE_STRERRORNAME_NP])
+  HAVE_SIGABBREV_NP=1;          AC_SUBST([HAVE_SIGABBREV_NP])
+  HAVE_SIGDESCR_NP=1;           AC_SUBST([HAVE_SIGDESCR_NP])
   HAVE_DECL_STRSIGNAL=1;        AC_SUBST([HAVE_DECL_STRSIGNAL])
   HAVE_STRVERSCMP=1;            AC_SUBST([HAVE_STRVERSCMP])
+  REPLACE_FFSLL=0;              AC_SUBST([REPLACE_FFSLL])
   REPLACE_MEMCHR=0;             AC_SUBST([REPLACE_MEMCHR])
   REPLACE_MEMMEM=0;             AC_SUBST([REPLACE_MEMMEM])
+  REPLACE_MEMPCPY=0;            AC_SUBST([REPLACE_MEMPCPY])
+  REPLACE_STPCPY=0;             AC_SUBST([REPLACE_STPCPY])
   REPLACE_STPNCPY=0;            AC_SUBST([REPLACE_STPNCPY])
+  REPLACE_STRCHRNUL=0;          AC_SUBST([REPLACE_STRCHRNUL])
   REPLACE_STRDUP=0;             AC_SUBST([REPLACE_STRDUP])
+  REPLACE_STRNCAT=0;            AC_SUBST([REPLACE_STRNCAT])
+  REPLACE_STRNDUP=0;            AC_SUBST([REPLACE_STRNDUP])
+  REPLACE_STRNLEN=0;            AC_SUBST([REPLACE_STRNLEN])
   REPLACE_STRSTR=0;             AC_SUBST([REPLACE_STRSTR])
   REPLACE_STRCASESTR=0;         AC_SUBST([REPLACE_STRCASESTR])
-  REPLACE_STRCHRNUL=0;          AC_SUBST([REPLACE_STRCHRNUL])
+  REPLACE_STRTOK_R=0;           AC_SUBST([REPLACE_STRTOK_R])
   REPLACE_STRERROR=0;           AC_SUBST([REPLACE_STRERROR])
   REPLACE_STRERROR_R=0;         AC_SUBST([REPLACE_STRERROR_R])
-  REPLACE_STRNCAT=0;            AC_SUBST([REPLACE_STRNCAT])
-  REPLACE_STRNDUP=0;            AC_SUBST([REPLACE_STRNDUP])
-  REPLACE_STRNLEN=0;            AC_SUBST([REPLACE_STRNLEN])
+  REPLACE_STRERRORNAME_NP=0;    AC_SUBST([REPLACE_STRERRORNAME_NP])
   REPLACE_STRSIGNAL=0;          AC_SUBST([REPLACE_STRSIGNAL])
-  REPLACE_STRTOK_R=0;           AC_SUBST([REPLACE_STRTOK_R])
   UNDEFINE_STRTOK_R=0;          AC_SUBST([UNDEFINE_STRTOK_R])
 ])
diff --git a/gl/m4/symlink.m4 b/gl/m4/symlink.m4
deleted file mode 100644 (file)
index cfd90ec..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# serial 6
-# See if we need to provide symlink replacement.
-
-dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Written by Eric Blake.
-
-AC_DEFUN([gl_FUNC_SYMLINK],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CHECK_FUNCS_ONCE([symlink])
-  dnl The best we can do on mingw is provide a dummy that always fails, so
-  dnl that compilation can proceed with fewer ifdefs.  On FreeBSD 7.2, AIX 7.1,
-  dnl and Solaris 9, we want to fix a bug with trailing slash handling.
-  if test $ac_cv_func_symlink = no; then
-    HAVE_SYMLINK=0
-  else
-    AC_CACHE_CHECK([whether symlink handles trailing slash correctly],
-      [gl_cv_func_symlink_works],
-      [AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-           [[#include <unistd.h>
-           ]],
-           [[int result = 0;
-             if (!symlink ("a", "conftest.link/"))
-               result |= 1;
-             if (symlink ("conftest.f", "conftest.lnk2"))
-               result |= 2;
-             else if (!symlink ("a", "conftest.lnk2/"))
-               result |= 4;
-             return result;
-           ]])],
-         [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no],
-         [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlink_works="guessing no" ;;
-          esac
-         ])
-      rm -f conftest.f conftest.link conftest.lnk2])
-    case "$gl_cv_func_symlink_works" in
-      *yes) ;;
-      *)
-        REPLACE_SYMLINK=1
-        ;;
-    esac
-  fi
-])
index 8d4e7e1..af52484 100644 (file)
@@ -1,16 +1,15 @@
-# sys_socket_h.m4 serial 22
-dnl Copyright (C) 2005-2012 Free Software Foundation, Inc.
+# sys_socket_h.m4 serial 29
+dnl Copyright (C) 2005-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Simon Josefsson.
 
-AC_DEFUN([gl_HEADER_SYS_SOCKET],
+AC_DEFUN_ONCE([gl_SYS_SOCKET_H],
 [
   AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_C_INLINE])
 
   dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have
   dnl old-style declarations (with return type 'int' instead of 'ssize_t')
@@ -23,6 +22,7 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
       ;;
   esac
 
+  GL_GENERATE_SYS_SOCKET_H=false
   AC_CACHE_CHECK([whether <sys/socket.h> is self-contained],
     [gl_cv_header_sys_socket_h_selfcontained],
     [
@@ -45,7 +45,7 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
             [gl_cv_header_sys_socket_h_shut=no])
         ])
       if test $gl_cv_header_sys_socket_h_shut = no; then
-        SYS_SOCKET_H='sys/socket.h'
+        GL_GENERATE_SYS_SOCKET_H=true
       fi
     fi
   fi
@@ -84,7 +84,7 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
   fi
   if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \
      || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then
-    SYS_SOCKET_H='sys/socket.h'
+    GL_GENERATE_SYS_SOCKET_H=true
   fi
   gl_PREREQ_SYS_H_WINSOCK2
 
@@ -96,6 +96,8 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
 #include <sys/socket.h>
     ]], [socket connect accept bind getpeername getsockname getsockopt
     listen recv send recvfrom sendto setsockopt shutdown accept4])
+
+  AC_REQUIRE([AC_C_RESTRICT])
 ])
 
 AC_DEFUN([gl_PREREQ_SYS_H_SOCKET],
@@ -105,17 +107,11 @@ AC_DEFUN([gl_PREREQ_SYS_H_SOCKET],
   gl_CHECK_NEXT_HEADERS([sys/socket.h])
   if test $ac_cv_header_sys_socket_h = yes; then
     HAVE_SYS_SOCKET_H=1
-    HAVE_WS2TCPIP_H=0
   else
     HAVE_SYS_SOCKET_H=0
-    if test $ac_cv_header_ws2tcpip_h = yes; then
-      HAVE_WS2TCPIP_H=1
-    else
-      HAVE_WS2TCPIP_H=0
-    fi
   fi
   AC_SUBST([HAVE_SYS_SOCKET_H])
-  AC_SUBST([HAVE_WS2TCPIP_H])
+  gl_PREREQ_SYS_H_WS2TCPIP
 ])
 
 # Common prerequisites of the <sys/socket.h> replacement and of the
@@ -143,32 +139,65 @@ AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2],
   AC_SUBST([HAVE_WINSOCK2_H])
 ])
 
+# Common prerequisites of the <sys/socket.h> replacement and of the
+# <arpa/inet.h> replacement.
+# Sets and substitutes HAVE_WS2TCPIP_H.
+AC_DEFUN([gl_PREREQ_SYS_H_WS2TCPIP],
+[
+  AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])
+  if test $ac_cv_header_sys_socket_h = yes; then
+    HAVE_WS2TCPIP_H=0
+  else
+    if test $ac_cv_header_ws2tcpip_h = yes; then
+      HAVE_WS2TCPIP_H=1
+    else
+      HAVE_WS2TCPIP_H=0
+    fi
+  fi
+  AC_SUBST([HAVE_WS2TCPIP_H])
+])
+
+# gl_SYS_SOCKET_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_SYS_SOCKET_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_SYS_SOCKET_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SOCKET])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CONNECT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BIND])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPEERNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKOPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LISTEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SEND])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECVFROM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SENDTO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETSOCKOPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SHUTDOWN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT4])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS],
 [
-  GNULIB_SOCKET=0;      AC_SUBST([GNULIB_SOCKET])
-  GNULIB_CONNECT=0;     AC_SUBST([GNULIB_CONNECT])
-  GNULIB_ACCEPT=0;      AC_SUBST([GNULIB_ACCEPT])
-  GNULIB_BIND=0;        AC_SUBST([GNULIB_BIND])
-  GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME])
-  GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME])
-  GNULIB_GETSOCKOPT=0;  AC_SUBST([GNULIB_GETSOCKOPT])
-  GNULIB_LISTEN=0;      AC_SUBST([GNULIB_LISTEN])
-  GNULIB_RECV=0;        AC_SUBST([GNULIB_RECV])
-  GNULIB_SEND=0;        AC_SUBST([GNULIB_SEND])
-  GNULIB_RECVFROM=0;    AC_SUBST([GNULIB_RECVFROM])
-  GNULIB_SENDTO=0;      AC_SUBST([GNULIB_SENDTO])
-  GNULIB_SETSOCKOPT=0;  AC_SUBST([GNULIB_SETSOCKOPT])
-  GNULIB_SHUTDOWN=0;    AC_SUBST([GNULIB_SHUTDOWN])
-  GNULIB_ACCEPT4=0;     AC_SUBST([GNULIB_ACCEPT4])
   HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
   HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1;
                         AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY])
index f45dee1..7501853 100644 (file)
@@ -1,5 +1,5 @@
-# sys_stat_h.m4 serial 27   -*- Autoconf -*-
-dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# sys_stat_h.m4 serial 42   -*- Autoconf -*-
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,13 +7,10 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Eric Blake.
 dnl Provide a GNU-like <sys/stat.h>.
 
-AC_DEFUN([gl_HEADER_SYS_STAT_H],
+AC_DEFUN_ONCE([gl_SYS_STAT_H],
 [
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 
-  dnl For the mkdir substitute.
-  AC_REQUIRE([AC_C_INLINE])
-
   dnl Check for broken stat macros.
   AC_REQUIRE([AC_HEADER_STAT])
 
@@ -22,18 +19,21 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   dnl Ensure the type mode_t gets defined.
   AC_REQUIRE([AC_TYPE_MODE_T])
 
-  dnl Whether to override 'struct stat'.
+  dnl Whether to enable precise timestamps in 'struct stat'.
+  m4_ifdef([gl_WINDOWS_STAT_TIMESPEC], [
+    AC_REQUIRE([gl_WINDOWS_STAT_TIMESPEC])
+  ], [
+    WINDOWS_STAT_TIMESPEC=0
+  ])
+  AC_SUBST([WINDOWS_STAT_TIMESPEC])
+
+  dnl Whether to ensure that struct stat.st_size is 64-bit wide.
   m4_ifdef([gl_LARGEFILE], [
     AC_REQUIRE([gl_LARGEFILE])
   ], [
     WINDOWS_64_BIT_ST_SIZE=0
   ])
   AC_SUBST([WINDOWS_64_BIT_ST_SIZE])
-  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-    AC_DEFINE([_GL_WINDOWS_64_BIT_ST_SIZE], [1],
-      [Define to 1 if Gnulib overrides 'struct stat' on Windows so that
-       struct stat.st_size becomes 64-bit.])
-  fi
 
   dnl Define types that are supposed to be defined in <sys/types.h> or
   dnl <sys/stat.h>.
@@ -46,39 +46,65 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h>
-    ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
-    mknod mknodat stat utimensat])
-]) # gl_HEADER_SYS_STAT_H
+    ]], [chmod fchmodat fstat fstatat futimens getumask lchmod lstat
+    mkdirat mkfifo mkfifoat mknod mknodat stat utimensat])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+])
 
+# gl_SYS_STAT_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_SYS_STAT_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHMOD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FUTIMENS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUMASK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHMOD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSTAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIRAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFOAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNOD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNODAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UTIMENSAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OVERRIDES_STRUCT_STAT])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHMOD], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKDIR], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UMASK], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
 [
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
-  GNULIB_FCHMODAT=0;    AC_SUBST([GNULIB_FCHMODAT])
-  GNULIB_FSTAT=0;       AC_SUBST([GNULIB_FSTAT])
-  GNULIB_FSTATAT=0;     AC_SUBST([GNULIB_FSTATAT])
-  GNULIB_FUTIMENS=0;    AC_SUBST([GNULIB_FUTIMENS])
-  GNULIB_LCHMOD=0;      AC_SUBST([GNULIB_LCHMOD])
-  GNULIB_LSTAT=0;       AC_SUBST([GNULIB_LSTAT])
-  GNULIB_MKDIRAT=0;     AC_SUBST([GNULIB_MKDIRAT])
-  GNULIB_MKFIFO=0;      AC_SUBST([GNULIB_MKFIFO])
-  GNULIB_MKFIFOAT=0;    AC_SUBST([GNULIB_MKFIFOAT])
-  GNULIB_MKNOD=0;       AC_SUBST([GNULIB_MKNOD])
-  GNULIB_MKNODAT=0;     AC_SUBST([GNULIB_MKNODAT])
-  GNULIB_STAT=0;        AC_SUBST([GNULIB_STAT])
-  GNULIB_UTIMENSAT=0;   AC_SUBST([GNULIB_UTIMENSAT])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCHMODAT=1;      AC_SUBST([HAVE_FCHMODAT])
   HAVE_FSTATAT=1;       AC_SUBST([HAVE_FSTATAT])
   HAVE_FUTIMENS=1;      AC_SUBST([HAVE_FUTIMENS])
+  HAVE_GETUMASK=1;      AC_SUBST([HAVE_GETUMASK])
   HAVE_LCHMOD=1;        AC_SUBST([HAVE_LCHMOD])
   HAVE_LSTAT=1;         AC_SUBST([HAVE_LSTAT])
   HAVE_MKDIRAT=1;       AC_SUBST([HAVE_MKDIRAT])
@@ -87,13 +113,17 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
   HAVE_MKNOD=1;         AC_SUBST([HAVE_MKNOD])
   HAVE_MKNODAT=1;       AC_SUBST([HAVE_MKNODAT])
   HAVE_UTIMENSAT=1;     AC_SUBST([HAVE_UTIMENSAT])
+  REPLACE_CHMOD=0;      AC_SUBST([REPLACE_CHMOD])
+  REPLACE_FCHMODAT=0;   AC_SUBST([REPLACE_FCHMODAT])
   REPLACE_FSTAT=0;      AC_SUBST([REPLACE_FSTAT])
   REPLACE_FSTATAT=0;    AC_SUBST([REPLACE_FSTATAT])
   REPLACE_FUTIMENS=0;   AC_SUBST([REPLACE_FUTIMENS])
   REPLACE_LSTAT=0;      AC_SUBST([REPLACE_LSTAT])
   REPLACE_MKDIR=0;      AC_SUBST([REPLACE_MKDIR])
   REPLACE_MKFIFO=0;     AC_SUBST([REPLACE_MKFIFO])
+  REPLACE_MKFIFOAT=0;   AC_SUBST([REPLACE_MKFIFOAT])
   REPLACE_MKNOD=0;      AC_SUBST([REPLACE_MKNOD])
+  REPLACE_MKNODAT=0;    AC_SUBST([REPLACE_MKNODAT])
   REPLACE_STAT=0;       AC_SUBST([REPLACE_STAT])
   REPLACE_UTIMENSAT=0;  AC_SUBST([REPLACE_UTIMENSAT])
 ])
index f11eef2..37d0cca 100644 (file)
@@ -1,12 +1,16 @@
-# sys_types_h.m4 serial 4
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
+# sys_types_h.m4 serial 13
+dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_SYS_TYPES_H],
+AC_DEFUN_ONCE([gl_SYS_TYPES_H],
 [
   AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS])
+
+  dnl Use sane struct stat types in OpenVMS 8.2 and later.
+  AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.])
+
   gl_NEXT_HEADERS([sys/types.h])
 
   dnl Ensure the type pid_t gets defined.
@@ -17,8 +21,50 @@ AC_DEFUN([gl_SYS_TYPES_H],
 
   dnl Whether to override the 'off_t' type.
   AC_REQUIRE([gl_TYPE_OFF_T])
+
+  dnl Whether to override the 'dev_t' and 'ino_t' types.
+  m4_ifdef([gl_WINDOWS_STAT_INODES], [
+    AC_REQUIRE([gl_WINDOWS_STAT_INODES])
+  ], [
+    WINDOWS_STAT_INODES=0
+  ])
+  AC_SUBST([WINDOWS_STAT_INODES])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_SYS_TYPES_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS], [
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS])
 ])
 
 AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
 [
 ])
+
+# This works around a buggy version in autoconf <= 2.69.
+# See <https://lists.gnu.org/r/autoconf/2016-08/msg00014.html>
+# The 2.70 version isn't quoted properly, so override it too.
+
+m4_version_prereq([2.70.1], [], [
+
+m4_undefine([AC_HEADER_MAJOR])
+AC_DEFUN([AC_HEADER_MAJOR],
+[AC_CHECK_HEADERS_ONCE([sys/types.h])
+AC_CHECK_HEADER([sys/mkdev.h],
+                [AC_DEFINE([MAJOR_IN_MKDEV], [1],
+                           [Define to 1 if `major', `minor', and `makedev' are
+                            declared in <mkdev.h>.])])
+if test $ac_cv_header_sys_mkdev_h = no; then
+  AC_CHECK_HEADER([sys/sysmacros.h],
+                  [AC_DEFINE([MAJOR_IN_SYSMACROS], [1],
+                             [Define to 1 if `major', `minor', and `makedev'
+                              are declared in <sysmacros.h>.])])
+fi
+])# AC_HEADER_MAJOR
+
+])
index b88da76..367f69e 100644 (file)
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2024 Free Software Foundation, Inc.
 
-# serial 6
+# serial 24
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 # Written by Paul Eggert and Jim Meyering.
 
-AC_DEFUN([gl_HEADER_TIME_H],
+AC_DEFUN_ONCE([gl_TIME_H],
 [
-  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
-  dnl once only, before all statements that occur in other macros.
-  AC_REQUIRE([gl_HEADER_TIME_H_BODY])
-])
+  dnl Ensure to expand the default settings once only, before all statements
+  dnl that occur in other macros.
+  AC_REQUIRE([gl_TIME_H_DEFAULTS])
 
-AC_DEFUN([gl_HEADER_TIME_H_BODY],
-[
-  AC_REQUIRE([AC_C_RESTRICT])
-  AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
   gl_NEXT_HEADERS([time.h])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[
+#include <time.h>
+    ]], [
+      asctime asctime_r ctime ctime_r gmtime_r localtime localtime_r mktime
+      nanosleep strftime strptime time timegm timespec_get timespec_getres tzset
+    ])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  AC_CACHE_CHECK([for TIME_UTC in <time.h>],
+    [gl_cv_time_h_has_TIME_UTC],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <time.h>
+          ]],
+          [[static int x = TIME_UTC; x++;]])],
+       [gl_cv_time_h_has_TIME_UTC=yes],
+       [gl_cv_time_h_has_TIME_UTC=no])])
+  if test $gl_cv_time_h_has_TIME_UTC = yes; then
+    TIME_H_DEFINES_TIME_UTC=1
+  else
+    TIME_H_DEFINES_TIME_UTC=0
+  fi
+  AC_SUBST([TIME_H_DEFINES_TIME_UTC])
 ])
 
-dnl Define HAVE_STRUCT_TIMESPEC if 'struct timespec' is declared
-dnl in time.h, sys/time.h, or pthread.h.
+dnl Check whether 'struct timespec' is declared
+dnl in time.h, sys/time.h, pthread.h, or unistd.h.
 
 AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
 [
@@ -44,6 +66,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
   TIME_H_DEFINES_STRUCT_TIMESPEC=0
   SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
   PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+  UNISTD_H_DEFINES_STRUCT_TIMESPEC=0
   if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
     TIME_H_DEFINES_STRUCT_TIMESPEC=1
   else
@@ -70,40 +93,87 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
            [gl_cv_sys_struct_timespec_in_pthread_h=no])])
       if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
         PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+      else
+        AC_CACHE_CHECK([for struct timespec in <unistd.h>],
+          [gl_cv_sys_struct_timespec_in_unistd_h],
+          [AC_COMPILE_IFELSE(
+             [AC_LANG_PROGRAM(
+                [[#include <unistd.h>
+                ]],
+                [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+             [gl_cv_sys_struct_timespec_in_unistd_h=yes],
+             [gl_cv_sys_struct_timespec_in_unistd_h=no])])
+        if test $gl_cv_sys_struct_timespec_in_unistd_h = yes; then
+          UNISTD_H_DEFINES_STRUCT_TIMESPEC=1
+        fi
       fi
     fi
   fi
   AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
   AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+  AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC])
 ])
 
+# gl_TIME_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_TIME_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_TIME_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
-AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TZSET], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_TIME_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_TIME_H_DEFAULTS],
 [
-  GNULIB_MKTIME=0;                       AC_SUBST([GNULIB_MKTIME])
-  GNULIB_NANOSLEEP=0;                    AC_SUBST([GNULIB_NANOSLEEP])
-  GNULIB_STRPTIME=0;                     AC_SUBST([GNULIB_STRPTIME])
-  GNULIB_TIMEGM=0;                       AC_SUBST([GNULIB_TIMEGM])
-  GNULIB_TIME_R=0;                       AC_SUBST([GNULIB_TIME_R])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_LOCALTIME_R=1;               AC_SUBST([HAVE_DECL_LOCALTIME_R])
   HAVE_NANOSLEEP=1;                      AC_SUBST([HAVE_NANOSLEEP])
   HAVE_STRPTIME=1;                       AC_SUBST([HAVE_STRPTIME])
   HAVE_TIMEGM=1;                         AC_SUBST([HAVE_TIMEGM])
-  dnl If another module says to replace or to not replace, do that.
-  dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
-  dnl this lets maintainers check for portability.
-  REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;  AC_SUBST([REPLACE_LOCALTIME_R])
-  REPLACE_MKTIME=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_MKTIME])
-  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;    AC_SUBST([REPLACE_NANOSLEEP])
-  REPLACE_TIMEGM=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_TIMEGM])
+  HAVE_TIMESPEC_GET=1;                   AC_SUBST([HAVE_TIMESPEC_GET])
+  HAVE_TIMESPEC_GETRES=1;                AC_SUBST([HAVE_TIMESPEC_GETRES])
+  dnl Even GNU libc does not have timezone_t yet.
+  HAVE_TIMEZONE_T=0;                     AC_SUBST([HAVE_TIMEZONE_T])
+  REPLACE_CTIME=0;                       AC_SUBST([REPLACE_CTIME])
+  REPLACE_GMTIME=0;                      AC_SUBST([REPLACE_GMTIME])
+  REPLACE_LOCALTIME=0;                   AC_SUBST([REPLACE_LOCALTIME])
+  REPLACE_LOCALTIME_R=0;                 AC_SUBST([REPLACE_LOCALTIME_R])
+  REPLACE_MKTIME=0;                      AC_SUBST([REPLACE_MKTIME])
+  REPLACE_NANOSLEEP=0;                   AC_SUBST([REPLACE_NANOSLEEP])
+  REPLACE_STRFTIME=0;                    AC_SUBST([REPLACE_STRFTIME])
+  REPLACE_TIME=0;                        AC_SUBST([REPLACE_TIME])
+  REPLACE_TIMEGM=0;                      AC_SUBST([REPLACE_TIMEGM])
+  REPLACE_TIMESPEC_GET=0;                AC_SUBST([REPLACE_TIMESPEC_GET])
+  REPLACE_TZSET=0;                       AC_SUBST([REPLACE_TZSET])
 ])
index 7e7651b..e078bd6 100644 (file)
@@ -1,17 +1,16 @@
-# unistd_h.m4 serial 65
-dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# unistd_h.m4 serial 95
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Simon Josefsson, Bruno Haible.
 
-AC_DEFUN([gl_UNISTD_H],
+AC_DEFUN_ONCE([gl_UNISTD_H],
 [
-  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
-  dnl once only, before all statements that occur in other macros.
+  dnl Ensure to expand the default settings once only, before all statements
+  dnl that occur in other macros.
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([AC_C_INLINE])
 
   gl_CHECK_NEXT_HEADERS([unistd.h])
   if test $ac_cv_header_unistd_h = yes; then
@@ -38,150 +37,240 @@ AC_DEFUN([gl_UNISTD_H],
 # include <fcntl.h>
 # include <stdio.h>
 # include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 #  include <io.h>
 # endif
 #endif
-    ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
-    fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
-    gethostname getlogin getlogin_r getpagesize
+    ]], [access chdir chown copy_file_range dup dup2 dup3 environ euidaccess
+    execl execle execlp execv execve execvp execvpe
+    faccessat fchdir
+    fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize
+    getentropy getgroups gethostname getlogin getlogin_r getpagesize getpass
     getusershell setusershell endusershell
     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
-    readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r
-    unlink unlinkat usleep])
+    readlink readlinkat rmdir sethostname sleep symlink symlinkat
+    truncate ttyname_r unlink unlinkat usleep])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  AC_CHECK_DECLS_ONCE([execvpe])
+  if test $ac_cv_have_decl_execvpe = no; then
+    HAVE_DECL_EXECVPE=0
+  fi
 ])
 
+# gl_UNISTD_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_UNISTD_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
   dnl Define it also as a C macro, for the benefit of the unit tests.
   gl_MODULE_INDICATOR_FOR_TESTS([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCESS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHDIR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHOWN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPY_FILE_RANGE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP2])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP3])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ENVIRON])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EUIDACCESS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVPE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FACCESSAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHDIR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHOWNAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDATASYNC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSYNC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTRUNCATE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCWD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDOMAINNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDTABLESIZE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETENTROPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETGROUPS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETHOSTNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS_GNU])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHOWN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINKAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSEEK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE2])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PREAD])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PWRITE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READ])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINKAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RMDIR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETHOSTNAME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SLEEP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINKAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCATE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TTYNAME_R])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_NONBLOCKING])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINKAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_USLEEP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WRITE])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ACCESS], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHDIR], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CLOSE], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP2], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECL], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLE], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLP], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECV], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVE], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVP], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVPE], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETCWD], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETPID], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ISATTY], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_LSEEK], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_READ], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_RMDIR], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_SWAB], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UNLINK], [1])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WRITE], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
 [
-  GNULIB_CHDIR=0;                AC_SUBST([GNULIB_CHDIR])
-  GNULIB_CHOWN=0;                AC_SUBST([GNULIB_CHOWN])
-  GNULIB_CLOSE=0;                AC_SUBST([GNULIB_CLOSE])
-  GNULIB_DUP=0;                  AC_SUBST([GNULIB_DUP])
-  GNULIB_DUP2=0;                 AC_SUBST([GNULIB_DUP2])
-  GNULIB_DUP3=0;                 AC_SUBST([GNULIB_DUP3])
-  GNULIB_ENVIRON=0;              AC_SUBST([GNULIB_ENVIRON])
-  GNULIB_EUIDACCESS=0;           AC_SUBST([GNULIB_EUIDACCESS])
-  GNULIB_FACCESSAT=0;            AC_SUBST([GNULIB_FACCESSAT])
-  GNULIB_FCHDIR=0;               AC_SUBST([GNULIB_FCHDIR])
-  GNULIB_FCHOWNAT=0;             AC_SUBST([GNULIB_FCHOWNAT])
-  GNULIB_FDATASYNC=0;            AC_SUBST([GNULIB_FDATASYNC])
-  GNULIB_FSYNC=0;                AC_SUBST([GNULIB_FSYNC])
-  GNULIB_FTRUNCATE=0;            AC_SUBST([GNULIB_FTRUNCATE])
-  GNULIB_GETCWD=0;               AC_SUBST([GNULIB_GETCWD])
-  GNULIB_GETDOMAINNAME=0;        AC_SUBST([GNULIB_GETDOMAINNAME])
-  GNULIB_GETDTABLESIZE=0;        AC_SUBST([GNULIB_GETDTABLESIZE])
-  GNULIB_GETGROUPS=0;            AC_SUBST([GNULIB_GETGROUPS])
-  GNULIB_GETHOSTNAME=0;          AC_SUBST([GNULIB_GETHOSTNAME])
-  GNULIB_GETLOGIN=0;             AC_SUBST([GNULIB_GETLOGIN])
-  GNULIB_GETLOGIN_R=0;           AC_SUBST([GNULIB_GETLOGIN_R])
-  GNULIB_GETPAGESIZE=0;          AC_SUBST([GNULIB_GETPAGESIZE])
-  GNULIB_GETUSERSHELL=0;         AC_SUBST([GNULIB_GETUSERSHELL])
-  GNULIB_GROUP_MEMBER=0;         AC_SUBST([GNULIB_GROUP_MEMBER])
-  GNULIB_ISATTY=0;               AC_SUBST([GNULIB_ISATTY])
-  GNULIB_LCHOWN=0;               AC_SUBST([GNULIB_LCHOWN])
-  GNULIB_LINK=0;                 AC_SUBST([GNULIB_LINK])
-  GNULIB_LINKAT=0;               AC_SUBST([GNULIB_LINKAT])
-  GNULIB_LSEEK=0;                AC_SUBST([GNULIB_LSEEK])
-  GNULIB_PIPE=0;                 AC_SUBST([GNULIB_PIPE])
-  GNULIB_PIPE2=0;                AC_SUBST([GNULIB_PIPE2])
-  GNULIB_PREAD=0;                AC_SUBST([GNULIB_PREAD])
-  GNULIB_PWRITE=0;               AC_SUBST([GNULIB_PWRITE])
-  GNULIB_READ=0;                 AC_SUBST([GNULIB_READ])
-  GNULIB_READLINK=0;             AC_SUBST([GNULIB_READLINK])
-  GNULIB_READLINKAT=0;           AC_SUBST([GNULIB_READLINKAT])
-  GNULIB_RMDIR=0;                AC_SUBST([GNULIB_RMDIR])
-  GNULIB_SETHOSTNAME=0;          AC_SUBST([GNULIB_SETHOSTNAME])
-  GNULIB_SLEEP=0;                AC_SUBST([GNULIB_SLEEP])
-  GNULIB_SYMLINK=0;              AC_SUBST([GNULIB_SYMLINK])
-  GNULIB_SYMLINKAT=0;            AC_SUBST([GNULIB_SYMLINKAT])
-  GNULIB_TTYNAME_R=0;            AC_SUBST([GNULIB_TTYNAME_R])
-  GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
-  GNULIB_UNISTD_H_SIGPIPE=0;     AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
-  GNULIB_UNLINK=0;               AC_SUBST([GNULIB_UNLINK])
-  GNULIB_UNLINKAT=0;             AC_SUBST([GNULIB_UNLINKAT])
-  GNULIB_USLEEP=0;               AC_SUBST([GNULIB_USLEEP])
-  GNULIB_WRITE=0;                AC_SUBST([GNULIB_WRITE])
   dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_CHOWN=1;           AC_SUBST([HAVE_CHOWN])
-  HAVE_DUP2=1;            AC_SUBST([HAVE_DUP2])
-  HAVE_DUP3=1;            AC_SUBST([HAVE_DUP3])
-  HAVE_EUIDACCESS=1;      AC_SUBST([HAVE_EUIDACCESS])
-  HAVE_FACCESSAT=1;       AC_SUBST([HAVE_FACCESSAT])
-  HAVE_FCHDIR=1;          AC_SUBST([HAVE_FCHDIR])
-  HAVE_FCHOWNAT=1;        AC_SUBST([HAVE_FCHOWNAT])
-  HAVE_FDATASYNC=1;       AC_SUBST([HAVE_FDATASYNC])
-  HAVE_FSYNC=1;           AC_SUBST([HAVE_FSYNC])
-  HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
-  HAVE_GETDTABLESIZE=1;   AC_SUBST([HAVE_GETDTABLESIZE])
-  HAVE_GETGROUPS=1;       AC_SUBST([HAVE_GETGROUPS])
-  HAVE_GETHOSTNAME=1;     AC_SUBST([HAVE_GETHOSTNAME])
-  HAVE_GETLOGIN=1;        AC_SUBST([HAVE_GETLOGIN])
-  HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
-  HAVE_GROUP_MEMBER=1;    AC_SUBST([HAVE_GROUP_MEMBER])
-  HAVE_LCHOWN=1;          AC_SUBST([HAVE_LCHOWN])
-  HAVE_LINK=1;            AC_SUBST([HAVE_LINK])
-  HAVE_LINKAT=1;          AC_SUBST([HAVE_LINKAT])
-  HAVE_PIPE=1;            AC_SUBST([HAVE_PIPE])
-  HAVE_PIPE2=1;           AC_SUBST([HAVE_PIPE2])
-  HAVE_PREAD=1;           AC_SUBST([HAVE_PREAD])
-  HAVE_PWRITE=1;          AC_SUBST([HAVE_PWRITE])
-  HAVE_READLINK=1;        AC_SUBST([HAVE_READLINK])
-  HAVE_READLINKAT=1;      AC_SUBST([HAVE_READLINKAT])
-  HAVE_SETHOSTNAME=1;     AC_SUBST([HAVE_SETHOSTNAME])
-  HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
-  HAVE_SYMLINK=1;         AC_SUBST([HAVE_SYMLINK])
-  HAVE_SYMLINKAT=1;       AC_SUBST([HAVE_SYMLINKAT])
-  HAVE_UNLINKAT=1;        AC_SUBST([HAVE_UNLINKAT])
-  HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
-  HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
-  HAVE_DECL_FCHDIR=1;     AC_SUBST([HAVE_DECL_FCHDIR])
-  HAVE_DECL_FDATASYNC=1;  AC_SUBST([HAVE_DECL_FDATASYNC])
-  HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
-  HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
-  HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
-  HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
-  HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME])
-  HAVE_DECL_TTYNAME_R=1;  AC_SUBST([HAVE_DECL_TTYNAME_R])
-  HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
-  HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
-  REPLACE_CHOWN=0;        AC_SUBST([REPLACE_CHOWN])
-  REPLACE_CLOSE=0;        AC_SUBST([REPLACE_CLOSE])
-  REPLACE_DUP=0;          AC_SUBST([REPLACE_DUP])
-  REPLACE_DUP2=0;         AC_SUBST([REPLACE_DUP2])
-  REPLACE_FCHOWNAT=0;     AC_SUBST([REPLACE_FCHOWNAT])
-  REPLACE_FTRUNCATE=0;    AC_SUBST([REPLACE_FTRUNCATE])
-  REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
-  REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
-  REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
-  REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
-  REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
-  REPLACE_ISATTY=0;       AC_SUBST([REPLACE_ISATTY])
-  REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
-  REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
-  REPLACE_LINKAT=0;       AC_SUBST([REPLACE_LINKAT])
-  REPLACE_LSEEK=0;        AC_SUBST([REPLACE_LSEEK])
-  REPLACE_PREAD=0;        AC_SUBST([REPLACE_PREAD])
-  REPLACE_PWRITE=0;       AC_SUBST([REPLACE_PWRITE])
-  REPLACE_READ=0;         AC_SUBST([REPLACE_READ])
-  REPLACE_READLINK=0;     AC_SUBST([REPLACE_READLINK])
-  REPLACE_RMDIR=0;        AC_SUBST([REPLACE_RMDIR])
-  REPLACE_SLEEP=0;        AC_SUBST([REPLACE_SLEEP])
-  REPLACE_SYMLINK=0;      AC_SUBST([REPLACE_SYMLINK])
-  REPLACE_TTYNAME_R=0;    AC_SUBST([REPLACE_TTYNAME_R])
-  REPLACE_UNLINK=0;       AC_SUBST([REPLACE_UNLINK])
-  REPLACE_UNLINKAT=0;     AC_SUBST([REPLACE_UNLINKAT])
-  REPLACE_USLEEP=0;       AC_SUBST([REPLACE_USLEEP])
-  REPLACE_WRITE=0;        AC_SUBST([REPLACE_WRITE])
-  UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
+  HAVE_CHOWN=1;                      AC_SUBST([HAVE_CHOWN])
+  HAVE_COPY_FILE_RANGE=1;            AC_SUBST([HAVE_COPY_FILE_RANGE])
+  HAVE_DUP3=1;                       AC_SUBST([HAVE_DUP3])
+  HAVE_EUIDACCESS=1;                 AC_SUBST([HAVE_EUIDACCESS])
+  HAVE_EXECVPE=1;                    AC_SUBST([HAVE_EXECVPE])
+  HAVE_FACCESSAT=1;                  AC_SUBST([HAVE_FACCESSAT])
+  HAVE_FCHDIR=1;                     AC_SUBST([HAVE_FCHDIR])
+  HAVE_FCHOWNAT=1;                   AC_SUBST([HAVE_FCHOWNAT])
+  HAVE_FDATASYNC=1;                  AC_SUBST([HAVE_FDATASYNC])
+  HAVE_FSYNC=1;                      AC_SUBST([HAVE_FSYNC])
+  HAVE_FTRUNCATE=1;                  AC_SUBST([HAVE_FTRUNCATE])
+  HAVE_GETDTABLESIZE=1;              AC_SUBST([HAVE_GETDTABLESIZE])
+  HAVE_GETENTROPY=1;                 AC_SUBST([HAVE_GETENTROPY])
+  HAVE_GETGROUPS=1;                  AC_SUBST([HAVE_GETGROUPS])
+  HAVE_GETHOSTNAME=1;                AC_SUBST([HAVE_GETHOSTNAME])
+  HAVE_GETLOGIN=1;                   AC_SUBST([HAVE_GETLOGIN])
+  HAVE_GETPAGESIZE=1;                AC_SUBST([HAVE_GETPAGESIZE])
+  HAVE_GETPASS=1;                    AC_SUBST([HAVE_GETPASS])
+  HAVE_GROUP_MEMBER=1;               AC_SUBST([HAVE_GROUP_MEMBER])
+  HAVE_LCHOWN=1;                     AC_SUBST([HAVE_LCHOWN])
+  HAVE_LINK=1;                       AC_SUBST([HAVE_LINK])
+  HAVE_LINKAT=1;                     AC_SUBST([HAVE_LINKAT])
+  HAVE_PIPE=1;                       AC_SUBST([HAVE_PIPE])
+  HAVE_PIPE2=1;                      AC_SUBST([HAVE_PIPE2])
+  HAVE_PREAD=1;                      AC_SUBST([HAVE_PREAD])
+  HAVE_PWRITE=1;                     AC_SUBST([HAVE_PWRITE])
+  HAVE_READLINK=1;                   AC_SUBST([HAVE_READLINK])
+  HAVE_READLINKAT=1;                 AC_SUBST([HAVE_READLINKAT])
+  HAVE_SETHOSTNAME=1;                AC_SUBST([HAVE_SETHOSTNAME])
+  HAVE_SLEEP=1;                      AC_SUBST([HAVE_SLEEP])
+  HAVE_SYMLINK=1;                    AC_SUBST([HAVE_SYMLINK])
+  HAVE_SYMLINKAT=1;                  AC_SUBST([HAVE_SYMLINKAT])
+  HAVE_UNLINKAT=1;                   AC_SUBST([HAVE_UNLINKAT])
+  HAVE_USLEEP=1;                     AC_SUBST([HAVE_USLEEP])
+  HAVE_DECL_ENVIRON=1;               AC_SUBST([HAVE_DECL_ENVIRON])
+  HAVE_DECL_EXECVPE=1;               AC_SUBST([HAVE_DECL_EXECVPE])
+  HAVE_DECL_FCHDIR=1;                AC_SUBST([HAVE_DECL_FCHDIR])
+  HAVE_DECL_FDATASYNC=1;             AC_SUBST([HAVE_DECL_FDATASYNC])
+  HAVE_DECL_GETDOMAINNAME=1;         AC_SUBST([HAVE_DECL_GETDOMAINNAME])
+  HAVE_DECL_GETLOGIN=1;              AC_SUBST([HAVE_DECL_GETLOGIN])
+  HAVE_DECL_GETLOGIN_R=1;            AC_SUBST([HAVE_DECL_GETLOGIN_R])
+  HAVE_DECL_GETPAGESIZE=1;           AC_SUBST([HAVE_DECL_GETPAGESIZE])
+  HAVE_DECL_GETUSERSHELL=1;          AC_SUBST([HAVE_DECL_GETUSERSHELL])
+  HAVE_DECL_SETHOSTNAME=1;           AC_SUBST([HAVE_DECL_SETHOSTNAME])
+  HAVE_DECL_TRUNCATE=1;              AC_SUBST([HAVE_DECL_TRUNCATE])
+  HAVE_DECL_TTYNAME_R=1;             AC_SUBST([HAVE_DECL_TTYNAME_R])
+  HAVE_OS_H=0;                       AC_SUBST([HAVE_OS_H])
+  HAVE_SYS_PARAM_H=0;                AC_SUBST([HAVE_SYS_PARAM_H])
+  REPLACE_ACCESS=0;                  AC_SUBST([REPLACE_ACCESS])
+  REPLACE_CHOWN=0;                   AC_SUBST([REPLACE_CHOWN])
+  REPLACE_CLOSE=0;                   AC_SUBST([REPLACE_CLOSE])
+  REPLACE_COPY_FILE_RANGE=0;         AC_SUBST([REPLACE_COPY_FILE_RANGE])
+  REPLACE_DUP=0;                     AC_SUBST([REPLACE_DUP])
+  REPLACE_DUP2=0;                    AC_SUBST([REPLACE_DUP2])
+  REPLACE_DUP3=0;                    AC_SUBST([REPLACE_DUP3])
+  REPLACE_EXECL=0;                   AC_SUBST([REPLACE_EXECL])
+  REPLACE_EXECLE=0;                  AC_SUBST([REPLACE_EXECLE])
+  REPLACE_EXECLP=0;                  AC_SUBST([REPLACE_EXECLP])
+  REPLACE_EXECV=0;                   AC_SUBST([REPLACE_EXECV])
+  REPLACE_EXECVE=0;                  AC_SUBST([REPLACE_EXECVE])
+  REPLACE_EXECVP=0;                  AC_SUBST([REPLACE_EXECVP])
+  REPLACE_EXECVPE=0;                 AC_SUBST([REPLACE_EXECVPE])
+  REPLACE_FACCESSAT=0;               AC_SUBST([REPLACE_FACCESSAT])
+  REPLACE_FCHDIR=0;                  AC_SUBST([REPLACE_FCHDIR])
+  REPLACE_FCHOWNAT=0;                AC_SUBST([REPLACE_FCHOWNAT])
+  REPLACE_FDATASYNC=0;               AC_SUBST([REPLACE_FDATASYNC])
+  REPLACE_FTRUNCATE=0;               AC_SUBST([REPLACE_FTRUNCATE])
+  REPLACE_GETCWD=0;                  AC_SUBST([REPLACE_GETCWD])
+  REPLACE_GETDOMAINNAME=0;           AC_SUBST([REPLACE_GETDOMAINNAME])
+  REPLACE_GETDTABLESIZE=0;           AC_SUBST([REPLACE_GETDTABLESIZE])
+  REPLACE_GETENTROPY=0;              AC_SUBST([REPLACE_GETENTROPY])
+  REPLACE_GETLOGIN_R=0;              AC_SUBST([REPLACE_GETLOGIN_R])
+  REPLACE_GETGROUPS=0;               AC_SUBST([REPLACE_GETGROUPS])
+  REPLACE_GETPAGESIZE=0;             AC_SUBST([REPLACE_GETPAGESIZE])
+  REPLACE_GETPASS=0;                 AC_SUBST([REPLACE_GETPASS])
+  REPLACE_GETPASS_FOR_GETPASS_GNU=0; AC_SUBST([REPLACE_GETPASS_FOR_GETPASS_GNU])
+  REPLACE_ISATTY=0;                  AC_SUBST([REPLACE_ISATTY])
+  REPLACE_LCHOWN=0;                  AC_SUBST([REPLACE_LCHOWN])
+  REPLACE_LINK=0;                    AC_SUBST([REPLACE_LINK])
+  REPLACE_LINKAT=0;                  AC_SUBST([REPLACE_LINKAT])
+  REPLACE_LSEEK=0;                   AC_SUBST([REPLACE_LSEEK])
+  REPLACE_PIPE2=0;                   AC_SUBST([REPLACE_PIPE2])
+  REPLACE_PREAD=0;                   AC_SUBST([REPLACE_PREAD])
+  REPLACE_PWRITE=0;                  AC_SUBST([REPLACE_PWRITE])
+  REPLACE_READ=0;                    AC_SUBST([REPLACE_READ])
+  REPLACE_READLINK=0;                AC_SUBST([REPLACE_READLINK])
+  REPLACE_READLINKAT=0;              AC_SUBST([REPLACE_READLINKAT])
+  REPLACE_RMDIR=0;                   AC_SUBST([REPLACE_RMDIR])
+  REPLACE_SETHOSTNAME=0;             AC_SUBST([REPLACE_SETHOSTNAME])
+  REPLACE_SLEEP=0;                   AC_SUBST([REPLACE_SLEEP])
+  REPLACE_SYMLINK=0;                 AC_SUBST([REPLACE_SYMLINK])
+  REPLACE_SYMLINKAT=0;               AC_SUBST([REPLACE_SYMLINKAT])
+  REPLACE_TRUNCATE=0;                AC_SUBST([REPLACE_TRUNCATE])
+  REPLACE_TTYNAME_R=0;               AC_SUBST([REPLACE_TTYNAME_R])
+  REPLACE_UNLINK=0;                  AC_SUBST([REPLACE_UNLINK])
+  REPLACE_UNLINKAT=0;                AC_SUBST([REPLACE_UNLINKAT])
+  REPLACE_USLEEP=0;                  AC_SUBST([REPLACE_USLEEP])
+  REPLACE_WRITE=0;                   AC_SUBST([REPLACE_WRITE])
+  UNISTD_H_HAVE_SYS_RANDOM_H=0;      AC_SUBST([UNISTD_H_HAVE_SYS_RANDOM_H])
+  UNISTD_H_HAVE_WINSOCK2_H=0;        AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
   UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
                            AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
 ])
index 6f2790e..d3ec128 100644 (file)
@@ -1,5 +1,5 @@
-# valgrind-tests.m4 serial 3
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# valgrind-tests.m4 serial 9
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,30 +8,96 @@ dnl From Simon Josefsson
 
 # gl_VALGRIND_TESTS()
 # -------------------
-# Check if valgrind is available, and set VALGRIND to it if available.
-AC_DEFUN([gl_VALGRIND_TESTS],
+# Check if valgrind is available.
+
+# Sets VALGRIND to command line (including options) to invoke valgrind
+# with, may be used directly in autoconf, makefiles or shell scripts.
+
+# Sets LOG_VALGRIND, suitable for use with LOG_COMPILER, that in
+# Makefile will expand to command line to invoke self-tests with,
+# i.e., LOG_VALGRIND = $(VALGRIND) $(DEFAULT_VALGRINDFLAGS)
+# $(VALGRINDFLAGS) $(AM_VALGRINDFLAGS).
+
+# Whether to look for valgrind and set the variables can be influenced
+# by calling gl_VALGRIND_TESTS_DEFAULT_NO in configure.ac.
+# Regardless, the user can change the choice through the options
+# --enable-valgrind-tests or --disable-valgrind-tests.
+
+# You may modify the VALGRIND, DEFAULT_VALGRINDFLAGS and VALGRINDFLAGS
+# variables before calling this function to override defaults.  Either
+# as developer from configure.ac or user on the ./configure command
+# line.  You may set the AM_VALGRINDFLAGS in Makefile.am to provide a
+# per-directory additional flag.
+
+AC_DEFUN([gl_VALGRIND_TESTS_DEFAULT_NO],
+[
+  gl_valgrind_tests_default=no
+])
+
+AC_DEFUN_ONCE([gl_VALGRIND_TESTS],
 [
-  AC_ARG_ENABLE(valgrind-tests,
-    AS_HELP_STRING([--enable-valgrind-tests],
-                   [run self tests under valgrind]),
-    [opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
+  AC_ARG_ENABLE([valgrind-tests],
+    AS_HELP_STRING([[--disable-valgrind-tests]],
+                   [don't try to run self tests under valgrind]),
+    [opt_valgrind_tests=$enableval], [opt_valgrind_tests=${gl_valgrind_tests_default:-yes}])
 
   # Run self-tests under valgrind?
   if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
-    AC_CHECK_PROGS(VALGRIND, valgrind)
-  fi
+    AC_CHECK_PROGS([VALGRIND], [valgrind])
 
-  OPTS="-q --error-exitcode=1 --leak-check=full"
+    # VALGRIND_PROGRAM contains the tool found by AC_CHECK_PROGS.  For
+    # backwards compatibility, the VALGRIND variable is later modified
+    # to also include all enabled options.  However the new variable
+    # LOG_VALGRIND needs to be able to refer to the valgrind tool
+    # without options, hence it uses this variable.
+    AC_SUBST([VALGRIND_PROGRAM], [$VALGRIND])
 
-  if test -n "$VALGRIND" \
-     && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
-    opt_valgrind_tests=yes
-    VALGRIND="$VALGRIND $OPTS"
-  else
-    opt_valgrind_tests=no
-    VALGRIND=
-  fi
+    AC_SUBST([DEFAULT_VALGRINDFLAGS])
+    if test -z "$DEFAULT_VALGRINDFLAGS"; then
+      DEFAULT_VALGRINDFLAGS="-q --error-exitcode=1 --leak-check=full"
+    fi
+    AC_ARG_VAR([VALGRINDFLAGS], [Additional flags for Valgrind])
+
+    if test -n "$VALGRIND"; then
+      AC_CACHE_CHECK([for valgrind options for tests],
+        [gl_cv_opt_valgrind_tests],
+        [AS_IF([$VALGRIND $DEFAULT_VALGRINDFLAGS $VALGRINDFLAGS true],
+               [gl_cv_opt_valgrind_tests="$DEFAULT_VALGRINDFLAGS $VALGRINDFLAGS"],
+               [gl_cv_opt_valgrind_tests=no])
+        ])
+      if test "$gl_cv_opt_valgrind_tests" != no; then
+        VALGRIND="$VALGRIND $gl_cv_opt_valgrind_tests"
+      fi
+    fi
 
-  AC_MSG_CHECKING([whether self tests are run under valgrind])
-  AC_MSG_RESULT($opt_valgrind_tests)
+    if test -n "$VALGRIND"; then
+      dnl On Ubuntu 16.04, /usr/bin/valgrind works only on 64-bit executables
+      dnl but fails on 32-bit executables (with exit code 1) and on x86_64-x32
+      dnl executables (with exit code 126).
+      AC_CACHE_CHECK([whether valgrind works on executables produced by the compiler],
+        [gl_cv_prog_valgrind_works],
+        [AC_RUN_IFELSE(
+           [AC_LANG_SOURCE([[int main () { return 0; }]])],
+           [$VALGRIND $gl_cv_opt_valgrind_tests ./conftest$ac_exeext 2>/dev/null
+            if test $? = 0; then
+              gl_cv_prog_valgrind_works=yes
+            else
+              gl_cv_prog_valgrind_works=no
+            fi
+           ],
+           [gl_cv_prog_valgrind_works=no])
+        ])
+    fi
+
+    AC_SUBST([AM_VALGRINDFLAGS])
+    AC_SUBST([LOG_VALGRIND], ["\$(VALGRIND_PROGRAM) \$(DEFAULT_VALGRINDFLAGS) \$(VALGRINDFLAGS) \$(AM_VALGRINDFLAGS)"])
+
+    if test "$gl_cv_prog_valgrind_works" != yes; then
+      DEFAULT_VALGRINDFLAGS=
+      LOG_VALGRIND=
+      VALGRIND=
+      VALGRINDFLAGS=
+      VALGRIND_PROGRAM=
+    fi
+  fi
 ])
index 4c6c678..d992e30 100644 (file)
@@ -1,5 +1,5 @@
-# version-etc.m4 serial 1
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# version-etc.m4 serial 2
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -8,7 +8,7 @@ dnl $1 - configure flag and define name
 dnl $2 - human readable description
 m4_define([gl_VERSION_ETC_FLAG],
 [dnl
-  AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [$2])],
+  AC_ARG_WITH([$1], [AS_HELP_STRING([[--with-]$1], [$2])],
     [dnl
       case $withval in
         yes|no) ;;
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4
new file mode 100644 (file)
index 0000000..b9b36a8
--- /dev/null
@@ -0,0 +1,82 @@
+# visibility.m4 serial 8
+dnl Copyright (C) 2005, 2008, 2010-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl Tests whether the compiler supports the command-line option
+dnl -fvisibility=hidden and the function and variable attributes
+dnl __attribute__((__visibility__("hidden"))) and
+dnl __attribute__((__visibility__("default"))).
+dnl Does *not* test for __visibility__("protected") - which has tricky
+dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
+dnl Mac OS X.
+dnl Does *not* test for __visibility__("internal") - which has processor
+dnl dependent semantics.
+dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
+dnl "really only recommended for legacy code".
+dnl Set the variable CFLAG_VISIBILITY.
+dnl Defines and sets the variable HAVE_VISIBILITY.
+
+AC_DEFUN([gl_VISIBILITY],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  CFLAG_VISIBILITY=
+  HAVE_VISIBILITY=0
+  if test -n "$GCC"; then
+    dnl First, check whether -Werror can be added to the command line, or
+    dnl whether it leads to an error because of some other option that the
+    dnl user has put into $CC $CFLAGS $CPPFLAGS.
+    AC_CACHE_CHECK([whether the -Werror option is usable],
+      [gl_cv_cc_vis_werror],
+      [gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror"
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[]], [[]])],
+         [gl_cv_cc_vis_werror=yes],
+         [gl_cv_cc_vis_werror=no])
+       CFLAGS="$gl_save_CFLAGS"
+      ])
+    dnl Now check whether visibility declarations are supported.
+    AC_CACHE_CHECK([for simple visibility declarations],
+      [gl_cv_cc_visibility],
+      [gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -fvisibility=hidden"
+       dnl We use the option -Werror and a function dummyfunc, because on some
+       dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
+       dnl "visibility attribute not supported in this configuration; ignored"
+       dnl at the first function definition in every compilation unit, and we
+       dnl don't want to use the option in this case.
+       if test $gl_cv_cc_vis_werror = yes; then
+         CFLAGS="$CFLAGS -Werror"
+       fi
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+              extern __attribute__((__visibility__("default"))) int exportedvar;
+              extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+              extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+              void dummyfunc (void);
+              int hiddenvar;
+              int exportedvar;
+              int hiddenfunc (void) { return 51; }
+              int exportedfunc (void) { return 1225736919; }
+              void dummyfunc (void) {}
+            ]],
+            [[]])],
+         [gl_cv_cc_visibility=yes],
+         [gl_cv_cc_visibility=no])
+       CFLAGS="$gl_save_CFLAGS"
+      ])
+    if test $gl_cv_cc_visibility = yes; then
+      CFLAG_VISIBILITY="-fvisibility=hidden"
+      HAVE_VISIBILITY=1
+    fi
+  fi
+  AC_SUBST([CFLAG_VISIBILITY])
+  AC_SUBST([HAVE_VISIBILITY])
+  AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
+    [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
+])
index a77802e..6e251fb 100644 (file)
@@ -1,11 +1,13 @@
-# warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
+# warn-on-use.m4 serial 10
+dnl Copyright (C) 2010-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES)
 # ---------------------------------------
+# If the module 'posixcheck' is in use:
+#
 # For each whitespace-separated element in the list of NAMES, define
 # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES
 # even after being undefined as a macro.
@@ -23,25 +25,38 @@ dnl with or without modifications, as long as this notice is preserved.
 # needing gl_WARN_ON_USE_PREPARE.
 AC_DEFUN([gl_WARN_ON_USE_PREPARE],
 [
-  m4_foreach_w([gl_decl], [$2],
-    [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
-      [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
-       undefining macros.])])dnl
-dnl FIXME: gl_Symbol must be used unquoted until we can assume
-dnl autoconf 2.64 or newer.
-  for gl_func in m4_flatten([$2]); do
-    AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
-    AC_CACHE_CHECK([whether $gl_func is declared without a macro],
-      gl_Symbol,
-      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
-[@%:@undef $gl_func
-  (void) $gl_func;])],
-        [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
-    AS_VAR_IF(gl_Symbol, [yes],
-      [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
-       dnl shortcut - if the raw declaration exists, then set a cache
-       dnl variable to allow skipping any later AC_CHECK_DECL efforts
-       eval ac_cv_have_decl_$gl_func=yes])
-    AS_VAR_POPDEF([gl_Symbol])dnl
-  done
+  m4_ifdef([gl_POSIXCHECK],
+    [m4_foreach_w([gl_decl], [$2],
+       [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
+         [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
+          undefining macros.])])dnl
+     for gl_func in m4_flatten([$2]); do
+       AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
+       dnl As a workaround to implicit built-in function declarations in
+       dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead
+       dnl of ac_compile.  If, for whatever reason, the override of AC_PROG_CC
+       dnl in zzgnulib.m4 is inactive, use the original ac_compile.
+       ac_save_ac_compile="$ac_compile"
+       if test -n "$ac_compile_for_check_decl"; then
+         ac_compile="$ac_compile_for_check_decl"
+       fi
+       AC_CACHE_CHECK([whether $gl_func is declared without a macro],
+         [gl_Symbol],
+         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
+[[#undef $gl_func
+  (void) $gl_func;]])],
+           [AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])])
+       ac_compile="$ac_save_ac_compile"
+       AS_VAR_IF([gl_Symbol], [yes],
+         [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
+          dnl Shortcut for an AC_CHECK_DECL invocation that may come later:
+          dnl If the raw declaration exists with the given includes, then
+          dnl AC_CHECK_DECL with its many includes would see it as well.
+          dnl So, set a cache variable to allow skipping any later
+          dnl AC_CHECK_DECL invocation for $gl_func.
+          eval "ac_cv_have_decl_$gl_func=yes"
+         ])
+       AS_VAR_POPDEF([gl_Symbol])dnl
+     done
+    ])
 ])
index 28b8294..6c97ef1 100644 (file)
-# warnings.m4 serial 7
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+# warnings.m4 serial 19
+dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Simon Josefsson
 
-# gl_AS_VAR_APPEND(VAR, VALUE)
-# ----------------------------
-# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
-m4_ifdef([AS_VAR_APPEND],
-[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])],
-[m4_define([gl_AS_VAR_APPEND],
-[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
-
+AC_PREREQ([2.64])
 
 # gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED],
 #                       [PROGRAM = AC_LANG_PROGRAM()])
 # -----------------------------------------------------------------
 # Check if the compiler supports OPTION when compiling PROGRAM.
 #
-# FIXME: gl_Warn must be used unquoted until we can assume Autoconf
-# 2.64 or newer.
+# The effects of this macro depend on the current language (_AC_LANG).
 AC_DEFUN([gl_COMPILER_OPTION_IF],
-[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
+[
+AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
 AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl
-AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [
+AS_LITERAL_IF([$1],
+  [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))],
+  [gl_positive="$1"
+case $gl_positive in
+  -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
+esac
+m4_pushdef([gl_Positive], [$gl_positive])])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], [gl_Warn], [
   gl_save_compiler_FLAGS="$gl_Flags"
-  gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $1"])
-  AC_COMPILE_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])],
-                    [AS_VAR_SET(gl_Warn, [yes])],
-                    [AS_VAR_SET(gl_Warn, [no])])
+  AS_VAR_APPEND(m4_defn([gl_Flags]),
+    [" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["])
+  AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([[]])])],
+                 [AS_VAR_SET([gl_Warn], [yes])],
+                 [AS_VAR_SET([gl_Warn], [no])])
   gl_Flags="$gl_save_compiler_FLAGS"
 ])
 AS_VAR_IF(gl_Warn, [yes], [$2], [$3])
+m4_popdef([gl_Positive])dnl
 AS_VAR_POPDEF([gl_Flags])dnl
 AS_VAR_POPDEF([gl_Warn])dnl
 ])
 
+# gl_UNKNOWN_WARNINGS_ARE_ERRORS
+# ------------------------------
+# Clang doesn't complain about unknown warning options unless one also
+# specifies -Wunknown-warning-option -Werror.  Detect this.
+#
+# The effects of this macro depend on the current language (_AC_LANG).
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS],
+[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)])
+
+# Specialization for _AC_LANG = C. This macro can be AC_REQUIREd.
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)],
+[
+  AC_LANG_PUSH([C])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([C])
+])
+
+# Specialization for _AC_LANG = C++. This macro can be AC_REQUIREd.
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)],
+[
+  AC_LANG_PUSH([C++])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([C++])
+])
+
+# Specialization for _AC_LANG = Objective C. This macro can be AC_REQUIREd.
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)],
+[
+  AC_LANG_PUSH([Objective C])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([Objective C])
+])
+
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL],
+[gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option],
+   [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'],
+   [gl_unknown_warnings_are_errors=])])
 
-# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS],
+# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS/WARN_CXXFLAGS],
 #             [PROGRAM = AC_LANG_PROGRAM()])
-# ---------------------------------------------
-# Adds parameter to WARN_CFLAGS if the compiler supports it when
-# compiling PROGRAM.  For example, gl_WARN_ADD([-Wparentheses]).
+# -----------------------------------------------------------
+# Adds OPTION to VARIABLE (which defaults to WARN_CFLAGS or WARN_CXXFLAGS)
+# if the compiler supports it when compiling PROGRAM.
 #
 # If VARIABLE is a variable name, AC_SUBST it.
+#
+# The effects of this macro depend on the current language (_AC_LANG).
+#
+# Example: gl_WARN_ADD([-Wparentheses]).
 AC_DEFUN([gl_WARN_ADD],
-[gl_COMPILER_OPTION_IF([$1],
-  [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])],
+[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS(]_AC_LANG[)])
+gl_COMPILER_OPTION_IF([$1],
+  [AS_VAR_APPEND(m4_if([$2], [], [[WARN_]_AC_LANG_PREFIX[FLAGS]], [[$2]]), [" $1"])],
   [],
   [$3])
 m4_ifval([$2],
          [AS_LITERAL_IF([$2], [AC_SUBST([$2])])],
-         [AC_SUBST([WARN_CFLAGS])])dnl
+         [AC_SUBST([WARN_]_AC_LANG_PREFIX[FLAGS])])dnl
+])
+
+
+# gl_CC_INHIBIT_WARNINGS
+# sets and substitutes a variable GL_CFLAG_INHIBIT_WARNINGS, to a $(CC) option
+# that reverts all preceding -W* options, if available.
+# This is expected to be '-w' at least on gcc, clang, AIX xlc, xlclang, Sun cc,
+# "compile cl" (MSVC), "compile clang-cl" (MSVC-compatible clang). Or it can be
+# empty.
+AC_DEFUN([gl_CC_INHIBIT_WARNINGS],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_CACHE_CHECK([for C compiler option to inhibit all warnings],
+    [gl_cv_cc_winhibit],
+    [rm -f conftest*
+     echo 'int dummy;' > conftest.c
+     AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null
+     AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -w -c conftest.c 2>conftest2.err]) >/dev/null
+     if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+       gl_cv_cc_winhibit='-w'
+     else
+       gl_cv_cc_winhibit=none
+     fi
+     rm -f conftest*
+    ])
+  case "$gl_cv_cc_winhibit" in
+    none) GL_CFLAG_INHIBIT_WARNINGS='' ;;
+    *)
+      GL_CFLAG_INHIBIT_WARNINGS="$gl_cv_cc_winhibit"
+      dnl If all warnings are inhibited, there's no point in having the GCC
+      dnl analyzer enabled. This saves RAM requirements and CPU consumption.
+      gl_WARN_ADD([-fno-analyzer], [GL_CFLAG_INHIBIT_WARNINGS])
+      ;;
+  esac
+  AC_SUBST([GL_CFLAG_INHIBIT_WARNINGS])
+])
+
+# gl_CXX_INHIBIT_WARNINGS
+# sets and substitutes a variable GL_CXXFLAG_INHIBIT_WARNINGS, to a $(CC) option
+# that reverts all preceding -W* options, if available.
+AC_DEFUN([gl_CXX_INHIBIT_WARNINGS],
+[
+  dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX.
+  if test -n "$CXX" && test "$CXX" != no; then
+    AC_CACHE_CHECK([for C++ compiler option to inhibit all warnings],
+      [gl_cv_cxx_winhibit],
+      [rm -f conftest*
+       echo 'int dummy;' > conftest.cc
+       AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null
+       AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -w -c conftest.cc 2>conftest2.err]) >/dev/null
+       if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then
+         gl_cv_cxx_winhibit='-w'
+       else
+         gl_cv_cxx_winhibit=none
+       fi
+       rm -f conftest*
+      ])
+    case "$gl_cv_cxx_winhibit" in
+      none) GL_CXXFLAG_INHIBIT_WARNINGS='' ;;
+      *)
+        GL_CXXFLAG_INHIBIT_WARNINGS="$gl_cv_cxx_winhibit"
+        dnl If all warnings are inhibited, there's no point in having the GCC
+        dnl analyzer enabled. This saves RAM requirements and CPU consumption.
+        gl_WARN_ADD([-fno-analyzer], [GL_CXXFLAG_INHIBIT_WARNINGS])
+        ;;
+    esac
+  else
+    GL_CXXFLAG_INHIBIT_WARNINGS=''
+  fi
+  AC_SUBST([GL_CXXFLAG_INHIBIT_WARNINGS])
 ])
 
+
 # Local Variables:
 # mode: autoconf
 # End:
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4
deleted file mode 100644 (file)
index c7a8b2d..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Eric Blake.
-
-# wchar_h.m4 serial 39
-
-AC_DEFUN([gl_WCHAR_H],
-[
-  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-  AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
-  dnl Prepare for creating substitute <wchar.h>.
-  dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
-  dnl character support).
-  dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK.
-  gl_CHECK_NEXT_HEADERS([wchar.h])
-  if test $ac_cv_header_wchar_h = yes; then
-    HAVE_WCHAR_H=1
-  else
-    HAVE_WCHAR_H=0
-  fi
-  AC_SUBST([HAVE_WCHAR_H])
-
-  AC_REQUIRE([gl_FEATURES_H])
-
-  AC_REQUIRE([gt_TYPE_WINT_T])
-  if test $gt_cv_c_wint_t = yes; then
-    HAVE_WINT_T=1
-  else
-    HAVE_WINT_T=0
-  fi
-  AC_SUBST([HAVE_WINT_T])
-
-  dnl Check for declarations of anything we want to poison if the
-  dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-#endif
-#include <wchar.h>
-    ]],
-    [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb
-     wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset
-     wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp
-     wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr
-     wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth
-    ])
-])
-
-dnl Check whether <wchar.h> is usable at all.
-AC_DEFUN([gl_WCHAR_H_INLINE_OK],
-[
-  dnl Test whether <wchar.h> suffers due to the transition from '__inline' to
-  dnl 'gnu_inline'. See <http://sourceware.org/bugzilla/show_bug.cgi?id=4022>
-  dnl and <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
-  dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and
-  dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>.
-  AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly],
-    [gl_cv_header_wchar_h_correct_inline],
-    [gl_cv_header_wchar_h_correct_inline=yes
-     AC_LANG_CONFTEST([
-       AC_LANG_SOURCE([[#define wcstod renamed_wcstod
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-extern int zero (void);
-int main () { return zero(); }
-]])])
-     if AC_TRY_EVAL([ac_compile]); then
-       mv conftest.$ac_objext conftest1.$ac_objext
-       AC_LANG_CONFTEST([
-         AC_LANG_SOURCE([[#define wcstod renamed_wcstod
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-int zero (void) { return 0; }
-]])])
-       if AC_TRY_EVAL([ac_compile]); then
-         mv conftest.$ac_objext conftest2.$ac_objext
-         if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
-           :
-         else
-           gl_cv_header_wchar_h_correct_inline=no
-         fi
-       fi
-     fi
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
-    ])
-  if test $gl_cv_header_wchar_h_correct_inline = no; then
-    AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
-This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
-C99 mode. You have four options:
-  - Add the flag -fgnu89-inline to CC and reconfigure, or
-  - Fix your include files, using parts of
-    <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
-  - Use a gcc version older than 4.3, or
-  - Don't use the flags -std=c99 or -std=gnu99.
-Configuration aborted.])
-  fi
-])
-
-AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
-[
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
-  dnl Define it also as a C macro, for the benefit of the unit tests.
-  gl_MODULE_INDICATOR_FOR_TESTS([$1])
-])
-
-AC_DEFUN([gl_WCHAR_H_DEFAULTS],
-[
-  GNULIB_BTOWC=0;       AC_SUBST([GNULIB_BTOWC])
-  GNULIB_WCTOB=0;       AC_SUBST([GNULIB_WCTOB])
-  GNULIB_MBSINIT=0;     AC_SUBST([GNULIB_MBSINIT])
-  GNULIB_MBRTOWC=0;     AC_SUBST([GNULIB_MBRTOWC])
-  GNULIB_MBRLEN=0;      AC_SUBST([GNULIB_MBRLEN])
-  GNULIB_MBSRTOWCS=0;   AC_SUBST([GNULIB_MBSRTOWCS])
-  GNULIB_MBSNRTOWCS=0;  AC_SUBST([GNULIB_MBSNRTOWCS])
-  GNULIB_WCRTOMB=0;     AC_SUBST([GNULIB_WCRTOMB])
-  GNULIB_WCSRTOMBS=0;   AC_SUBST([GNULIB_WCSRTOMBS])
-  GNULIB_WCSNRTOMBS=0;  AC_SUBST([GNULIB_WCSNRTOMBS])
-  GNULIB_WCWIDTH=0;     AC_SUBST([GNULIB_WCWIDTH])
-  GNULIB_WMEMCHR=0;     AC_SUBST([GNULIB_WMEMCHR])
-  GNULIB_WMEMCMP=0;     AC_SUBST([GNULIB_WMEMCMP])
-  GNULIB_WMEMCPY=0;     AC_SUBST([GNULIB_WMEMCPY])
-  GNULIB_WMEMMOVE=0;    AC_SUBST([GNULIB_WMEMMOVE])
-  GNULIB_WMEMSET=0;     AC_SUBST([GNULIB_WMEMSET])
-  GNULIB_WCSLEN=0;      AC_SUBST([GNULIB_WCSLEN])
-  GNULIB_WCSNLEN=0;     AC_SUBST([GNULIB_WCSNLEN])
-  GNULIB_WCSCPY=0;      AC_SUBST([GNULIB_WCSCPY])
-  GNULIB_WCPCPY=0;      AC_SUBST([GNULIB_WCPCPY])
-  GNULIB_WCSNCPY=0;     AC_SUBST([GNULIB_WCSNCPY])
-  GNULIB_WCPNCPY=0;     AC_SUBST([GNULIB_WCPNCPY])
-  GNULIB_WCSCAT=0;      AC_SUBST([GNULIB_WCSCAT])
-  GNULIB_WCSNCAT=0;     AC_SUBST([GNULIB_WCSNCAT])
-  GNULIB_WCSCMP=0;      AC_SUBST([GNULIB_WCSCMP])
-  GNULIB_WCSNCMP=0;     AC_SUBST([GNULIB_WCSNCMP])
-  GNULIB_WCSCASECMP=0;  AC_SUBST([GNULIB_WCSCASECMP])
-  GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP])
-  GNULIB_WCSCOLL=0;     AC_SUBST([GNULIB_WCSCOLL])
-  GNULIB_WCSXFRM=0;     AC_SUBST([GNULIB_WCSXFRM])
-  GNULIB_WCSDUP=0;      AC_SUBST([GNULIB_WCSDUP])
-  GNULIB_WCSCHR=0;      AC_SUBST([GNULIB_WCSCHR])
-  GNULIB_WCSRCHR=0;     AC_SUBST([GNULIB_WCSRCHR])
-  GNULIB_WCSCSPN=0;     AC_SUBST([GNULIB_WCSCSPN])
-  GNULIB_WCSSPN=0;      AC_SUBST([GNULIB_WCSSPN])
-  GNULIB_WCSPBRK=0;     AC_SUBST([GNULIB_WCSPBRK])
-  GNULIB_WCSSTR=0;      AC_SUBST([GNULIB_WCSSTR])
-  GNULIB_WCSTOK=0;      AC_SUBST([GNULIB_WCSTOK])
-  GNULIB_WCSWIDTH=0;    AC_SUBST([GNULIB_WCSWIDTH])
-  dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_BTOWC=1;         AC_SUBST([HAVE_BTOWC])
-  HAVE_MBSINIT=1;       AC_SUBST([HAVE_MBSINIT])
-  HAVE_MBRTOWC=1;       AC_SUBST([HAVE_MBRTOWC])
-  HAVE_MBRLEN=1;        AC_SUBST([HAVE_MBRLEN])
-  HAVE_MBSRTOWCS=1;     AC_SUBST([HAVE_MBSRTOWCS])
-  HAVE_MBSNRTOWCS=1;    AC_SUBST([HAVE_MBSNRTOWCS])
-  HAVE_WCRTOMB=1;       AC_SUBST([HAVE_WCRTOMB])
-  HAVE_WCSRTOMBS=1;     AC_SUBST([HAVE_WCSRTOMBS])
-  HAVE_WCSNRTOMBS=1;    AC_SUBST([HAVE_WCSNRTOMBS])
-  HAVE_WMEMCHR=1;       AC_SUBST([HAVE_WMEMCHR])
-  HAVE_WMEMCMP=1;       AC_SUBST([HAVE_WMEMCMP])
-  HAVE_WMEMCPY=1;       AC_SUBST([HAVE_WMEMCPY])
-  HAVE_WMEMMOVE=1;      AC_SUBST([HAVE_WMEMMOVE])
-  HAVE_WMEMSET=1;       AC_SUBST([HAVE_WMEMSET])
-  HAVE_WCSLEN=1;        AC_SUBST([HAVE_WCSLEN])
-  HAVE_WCSNLEN=1;       AC_SUBST([HAVE_WCSNLEN])
-  HAVE_WCSCPY=1;        AC_SUBST([HAVE_WCSCPY])
-  HAVE_WCPCPY=1;        AC_SUBST([HAVE_WCPCPY])
-  HAVE_WCSNCPY=1;       AC_SUBST([HAVE_WCSNCPY])
-  HAVE_WCPNCPY=1;       AC_SUBST([HAVE_WCPNCPY])
-  HAVE_WCSCAT=1;        AC_SUBST([HAVE_WCSCAT])
-  HAVE_WCSNCAT=1;       AC_SUBST([HAVE_WCSNCAT])
-  HAVE_WCSCMP=1;        AC_SUBST([HAVE_WCSCMP])
-  HAVE_WCSNCMP=1;       AC_SUBST([HAVE_WCSNCMP])
-  HAVE_WCSCASECMP=1;    AC_SUBST([HAVE_WCSCASECMP])
-  HAVE_WCSNCASECMP=1;   AC_SUBST([HAVE_WCSNCASECMP])
-  HAVE_WCSCOLL=1;       AC_SUBST([HAVE_WCSCOLL])
-  HAVE_WCSXFRM=1;       AC_SUBST([HAVE_WCSXFRM])
-  HAVE_WCSDUP=1;        AC_SUBST([HAVE_WCSDUP])
-  HAVE_WCSCHR=1;        AC_SUBST([HAVE_WCSCHR])
-  HAVE_WCSRCHR=1;       AC_SUBST([HAVE_WCSRCHR])
-  HAVE_WCSCSPN=1;       AC_SUBST([HAVE_WCSCSPN])
-  HAVE_WCSSPN=1;        AC_SUBST([HAVE_WCSSPN])
-  HAVE_WCSPBRK=1;       AC_SUBST([HAVE_WCSPBRK])
-  HAVE_WCSSTR=1;        AC_SUBST([HAVE_WCSSTR])
-  HAVE_WCSTOK=1;        AC_SUBST([HAVE_WCSTOK])
-  HAVE_WCSWIDTH=1;      AC_SUBST([HAVE_WCSWIDTH])
-  HAVE_DECL_WCTOB=1;    AC_SUBST([HAVE_DECL_WCTOB])
-  HAVE_DECL_WCWIDTH=1;  AC_SUBST([HAVE_DECL_WCWIDTH])
-  REPLACE_MBSTATE_T=0;  AC_SUBST([REPLACE_MBSTATE_T])
-  REPLACE_BTOWC=0;      AC_SUBST([REPLACE_BTOWC])
-  REPLACE_WCTOB=0;      AC_SUBST([REPLACE_WCTOB])
-  REPLACE_MBSINIT=0;    AC_SUBST([REPLACE_MBSINIT])
-  REPLACE_MBRTOWC=0;    AC_SUBST([REPLACE_MBRTOWC])
-  REPLACE_MBRLEN=0;     AC_SUBST([REPLACE_MBRLEN])
-  REPLACE_MBSRTOWCS=0;  AC_SUBST([REPLACE_MBSRTOWCS])
-  REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
-  REPLACE_WCRTOMB=0;    AC_SUBST([REPLACE_WCRTOMB])
-  REPLACE_WCSRTOMBS=0;  AC_SUBST([REPLACE_WCSRTOMBS])
-  REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
-  REPLACE_WCWIDTH=0;    AC_SUBST([REPLACE_WCWIDTH])
-  REPLACE_WCSWIDTH=0;   AC_SUBST([REPLACE_WCSWIDTH])
-])
similarity index 62%
rename from m4/wchar_t.m4
rename to gl/m4/wchar_t.m4
index ed804e6..9435357 100644 (file)
@@ -1,5 +1,5 @@
-# wchar_t.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc.
+# wchar_t.m4 serial 4 (gettext-0.18.2)
+dnl Copyright (C) 2002-2003, 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,9 +11,13 @@ dnl Prerequisite: AC_PROG_CC
 AC_DEFUN([gt_TYPE_WCHAR_T],
 [
   AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
-    [AC_TRY_COMPILE([#include <stddef.h>
-       wchar_t foo = (wchar_t)'\0';], ,
-       [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])])
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stddef.h>
+            wchar_t foo = (wchar_t)'\0';]],
+          [[]])],
+       [gt_cv_c_wchar_t=yes],
+       [gt_cv_c_wchar_t=no])])
   if test $gt_cv_c_wchar_t = yes; then
     AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.])
   fi
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4
new file mode 100644 (file)
index 0000000..21350f5
--- /dev/null
@@ -0,0 +1,57 @@
+# wint_t.m4 serial 11
+dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's
+dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
+dnl Prerequisite: AC_PROG_CC
+
+AC_DEFUN([gt_TYPE_WINT_T],
+[
+  AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <wchar.h>
+            wint_t foo = (wchar_t)'\0';]],
+          [[]])],
+       [gt_cv_c_wint_t=yes],
+       [gt_cv_c_wint_t=no])])
+  if test $gt_cv_c_wint_t = yes; then
+    AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
+
+    dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
+    dnl override 'wint_t'.
+    AC_CACHE_CHECK([whether wint_t is large enough],
+      [gl_cv_type_wint_t_large_enough],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <wchar.h>
+              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
+            ]])],
+         [gl_cv_type_wint_t_large_enough=yes],
+         [gl_cv_type_wint_t_large_enough=no])])
+    if test $gl_cv_type_wint_t_large_enough = no; then
+      GNULIBHEADERS_OVERRIDE_WINT_T=1
+    else
+      GNULIBHEADERS_OVERRIDE_WINT_T=0
+    fi
+  else
+    GNULIBHEADERS_OVERRIDE_WINT_T=0
+  fi
+  AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T])
+])
+
+dnl Prerequisites of the 'wint_t' override.
+AC_DEFUN([gl_TYPE_WINT_T_PREREQ],
+[
+  AC_CHECK_HEADERS_ONCE([crtdefs.h])
+  if test $ac_cv_header_crtdefs_h = yes; then
+    HAVE_CRTDEFS_H=1
+  else
+    HAVE_CRTDEFS_H=0
+  fi
+  AC_SUBST([HAVE_CRTDEFS_H])
+])
diff --git a/gl/m4/zzgnulib.m4 b/gl/m4/zzgnulib.m4
new file mode 100644 (file)
index 0000000..eed5ecb
--- /dev/null
@@ -0,0 +1,23 @@
+# zzgnulib.m4 serial 1
+dnl Copyright (C) 2020-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This file must be named something that sorts after all other
+dnl package- or gnulib-provided .m4 files - at least for those packages
+dnl that redefine AC_PROG_CC.
+
+dnl Redefine AC_PROG_CC so that it ends with invocations of gl_COMPILER_CLANG
+dnl and gl_COMPILER_PREPARE_CHECK_DECL.
+m4_define([AC_PROG_CC],
+  m4_defn([AC_PROG_CC])[
+gl_COMPILER_CLANG
+gl_COMPILER_PREPARE_CHECK_DECL
+])
+
+# gl_ZZGNULIB
+# -----------
+# Witness macro that this file has been included.  Needed to force
+# Automake to include this file after all other gnulib .m4 files.
+AC_DEFUN([gl_ZZGNULIB])
diff --git a/gl/malloca.c b/gl/malloca.c
new file mode 100644 (file)
index 0000000..e75c72d
--- /dev/null
@@ -0,0 +1,135 @@
+/* Safe automatic memory allocation.
+   Copyright (C) 2003, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2003, 2018.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+
+/* Specification.  */
+#include "malloca.h"
+
+#include <stdckdint.h>
+#if defined __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
+#endif
+
+#include "idx.h"
+
+/* The speed critical point in this file is freea() applied to an alloca()
+   result: it must be fast, to match the speed of alloca().  The speed of
+   mmalloca() and freea() in the other case are not critical, because they
+   are only invoked for big memory sizes.
+   Here we use a bit in the address as an indicator, an idea by Ondřej Bílka.
+   malloca() can return three types of pointers:
+     - Pointers ≡ 0 mod 2*sa_alignment_max come from stack allocation.
+     - Pointers ≡ sa_alignment_max mod 2*sa_alignment_max come from heap
+       allocation.
+     - NULL comes from a failed heap allocation.  */
+
+#if defined __CHERI_PURE_CAPABILITY__
+/* Type for holding the original malloc() result.  */
+typedef uintptr_t small_t;
+#else
+/* Type for holding very small pointer differences.  */
+typedef unsigned char small_t;
+/* Verify that it is wide enough.  */
+static_assert (2 * sa_alignment_max - 1 <= (small_t) -1);
+#endif
+
+void *
+mmalloca (size_t n)
+{
+#if HAVE_ALLOCA
+  /* Allocate one more word, used to determine the address to pass to freea(),
+     and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max.  */
+  uintptr_t alignment2_mask = 2 * sa_alignment_max - 1;
+  int plus = sizeof (small_t) + alignment2_mask;
+  idx_t nplus;
+  if (!ckd_add (&nplus, n, plus) && !xalloc_oversized (nplus, 1))
+    {
+      char *mem = (char *) malloc (nplus);
+
+      if (mem != NULL)
+        {
+          uintptr_t umem = (uintptr_t) mem;
+          /* The ckd_add avoids signed integer overflow on
+             theoretical platforms where UINTPTR_MAX <= INT_MAX.  */
+          uintptr_t umemplus;
+          ckd_add (&umemplus, umem, sizeof (small_t) + sa_alignment_max - 1);
+          idx_t offset = (umemplus - umemplus % (2 * sa_alignment_max)
+                          + sa_alignment_max - umem);
+          void *p = mem + offset;
+          /* Here p >= mem + sizeof (small_t),
+             and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1
+             hence p + n <= mem + nplus.
+             So, the memory range [p, p+n) lies in the allocated memory range
+             [mem, mem + nplus).  */
+          small_t *sp = p;
+# if defined __CHERI_PURE_CAPABILITY__
+          sp[-1] = umem;
+          p = (char *) cheri_bounds_set ((char *) p - sizeof (small_t),
+                                         sizeof (small_t) + n)
+              + sizeof (small_t);
+# else
+          sp[-1] = offset;
+# endif
+          /* p ≡ sa_alignment_max mod 2*sa_alignment_max.  */
+          return p;
+        }
+    }
+  /* Out of memory.  */
+  return NULL;
+#else
+# if !MALLOC_0_IS_NONNULL
+  if (n == 0)
+    n = 1;
+# endif
+  return malloc (n);
+#endif
+}
+
+#if HAVE_ALLOCA
+void
+freea (void *p)
+{
+  /* Check argument.  */
+  uintptr_t u = (uintptr_t) p;
+  if (u & (sa_alignment_max - 1))
+    {
+      /* p was not the result of a malloca() call.  Invalid argument.  */
+      abort ();
+    }
+  /* Determine whether p was a non-NULL pointer returned by mmalloca().  */
+  if (u & sa_alignment_max)
+    {
+      char *cp = p;
+      small_t *sp = p;
+# if defined __CHERI_PURE_CAPABILITY__
+      void *mem = sp[-1];
+# else
+      void *mem = cp - sp[-1];
+# endif
+      free (mem);
+    }
+}
+#endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
similarity index 57%
rename from lib/gltests/malloca.h
rename to gl/malloca.h
index 0cedf5f..c520842 100644 (file)
@@ -1,26 +1,38 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
-   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, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MALLOCA_H
 #define _MALLOCA_H
 
+/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_DEALLOC,
+   _GL_ATTRIBUTE_MALLOC, HAVE_ALLOCA.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 #include <alloca.h>
 #include <stddef.h>
 #include <stdlib.h>
+#include <stdint.h>
+#if defined __CHERI_PURE_CAPABILITY__
+# include <cheri.h>
+#endif
+
+#include "xalloc-oversized.h"
 
 
 #ifdef __cplusplus
@@ -42,46 +54,55 @@ extern "C" {
    and a page size can be as small as 4096 bytes.  So we cannot safely
    allocate anything larger than 4096 bytes.  Also care for the possibility
    of a few compiler-allocated temporary stack slots.
-   This must be a macro, not an inline function.  */
+   This must be a macro, not a function.  */
 # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
 #else
 # define safe_alloca(N) ((void) (N), NULL)
 #endif
 
+/* Free a block of memory allocated through malloca().  */
+#if HAVE_ALLOCA
+extern void freea (void *p);
+#else
+# define freea free
+#endif
+
 /* malloca(N) is a safe variant of alloca(N).  It allocates N bytes of
    memory allocated on the stack, that must be freed using freea() before
    the function returns.  Upon failure, it returns NULL.  */
 #if HAVE_ALLOCA
-# define malloca(N) \
-  ((N) < 4032 - sa_increment                                        \
-   ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
-   : mmalloca (N))
+# if defined __CHERI_PURE_CAPABILITY__
+#  define malloca(N) \
+    ((N) < 4032 - (2 * sa_alignment_max - 1)                                  \
+     ? cheri_bounds_set ((void *) (((uintptr_t)                               \
+                                     (char *)                                 \
+                                      alloca ((N) + 2 * sa_alignment_max - 1) \
+                                    + (2 * sa_alignment_max - 1))             \
+                                   & ~(uintptr_t)(2 * sa_alignment_max - 1)), \
+                         (N))                                                 \
+     : mmalloca (N))
+# else
+#  define malloca(N) \
+    ((N) < 4032 - (2 * sa_alignment_max - 1)                                   \
+     ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \
+                  + (2 * sa_alignment_max - 1))                                \
+                 & ~(uintptr_t)(2 * sa_alignment_max - 1))                     \
+     : mmalloca (N))
+# endif
 #else
 # define malloca(N) \
   mmalloca (N)
 #endif
-extern void * mmalloca (size_t n);
-
-/* Free a block of memory allocated through malloca().  */
-#if HAVE_ALLOCA
-extern void freea (void *p);
-#else
-# define freea free
-#endif
+extern void *mmalloca (size_t n)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (freea, 1)
+  _GL_ATTRIBUTE_ALLOC_SIZE ((1));
 
 /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S).
    It allocates an array of N objects, each with S bytes of memory,
-   on the stack.  S must be positive and N must be nonnegative.
+   on the stack.  N and S should be nonnegative and free of side effects.
    The array must be freed using freea() before the function returns.  */
-#if 1
-/* Cf. the definition of xalloc_oversized.  */
-# define nmalloca(n, s) \
-    ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
-     ? NULL \
-     : malloca ((n) * (s)))
-#else
-extern void * nmalloca (size_t n, size_t s);
-#endif
+#define nmalloca(n, s) \
+  (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s)))
 
 
 #ifdef __cplusplus
@@ -92,7 +113,7 @@ extern void * nmalloca (size_t n, size_t s);
 /* ------------------- Auxiliary, non-public definitions ------------------- */
 
 /* Determine the alignment of a type at compile time.  */
-#if defined __GNUC__
+#if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__
 # define sa_alignof __alignof__
 #elif defined __cplusplus
   template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
@@ -115,19 +136,12 @@ enum
    among all elementary types.  */
   sa_alignment_long = sa_alignof (long),
   sa_alignment_double = sa_alignof (double),
-#if HAVE_LONG_LONG_INT
   sa_alignment_longlong = sa_alignof (long long),
-#endif
   sa_alignment_longdouble = sa_alignof (long double),
   sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
-#if HAVE_LONG_LONG_INT
                       | (sa_alignment_longlong - 1)
-#endif
                       | (sa_alignment_longdouble - 1)
-                     ) + 1,
-/* The increment that guarantees room for a magic word must be >= sizeof (int)
-   and a multiple of sa_alignment_max.  */
-  sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+                     ) + 1
 };
 
 #endif /* _MALLOCA_H */
index ba76a7e..da3fc86 100644 (file)
@@ -1,18 +1,18 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -28,7 +28,7 @@
 
 # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -45,7 +45,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression,
 
 #  if defined _MSC_VER
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -94,7 +94,7 @@ gl_msvc_inval_current (void)
     }
 }
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
index eb6930b..7aee6e5 100644 (file)
@@ -1,18 +1,18 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MSVC_INVAL_H
 #define _MSVC_INVAL_H
        AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING])
  */
 
+/* This file uses HAVE_MSVC_INVALID_PARAMETER_HANDLER.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 #define DEFAULT_HANDLING       0
 #define HAIRY_LIBRARY_HANDLING 1
 #define SANE_LIBRARY_HANDLING  2
@@ -95,7 +100,7 @@ extern void gl_msvc_inval_ensure_handler (void);
 
 /* Gnulib can define its own status codes, as described in the page
    "Raising Software Exceptions" on microsoft.com
-   <http://msdn.microsoft.com/en-us/library/het71c37.aspx>.
+   <https://docs.microsoft.com/en-us/cpp/cpp/raising-software-exceptions>.
    Our status codes are composed of
      - 0xE0000000, mandatory for all user-defined status codes,
      - 0x474E550, a API identifier ("GNU"),
@@ -106,7 +111,7 @@ extern void gl_msvc_inval_ensure_handler (void);
 #  if defined _MSC_VER
 /* A compiler that supports __try/__except, as described in the page
    "try-except statement" on microsoft.com
-   <http://msdn.microsoft.com/en-us/library/s58ftw19.aspx>.
+   <https://docs.microsoft.com/en-us/cpp/cpp/try-except-statement>.
    With __try/__except, we can use the multithread-safe exception handling.  */
 
 #   ifdef __cplusplus
index e5cf181..06b35a6 100644 (file)
@@ -1,19 +1,19 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -24,7 +24,9 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-#include "msvc-inval.h"
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
 
 #undef _get_osfhandle
 
index 2b71945..dc6dd35 100644 (file)
@@ -1,19 +1,19 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _MSVC_NOTHROW_H
 #define _MSVC_NOTHROW_H
    This file defines wrappers that turn such an invalid parameter notification
    into an error code.  */
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* This file uses HAVE_MSVC_INVALID_PARAMETER_HANDLER.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* Get original declaration of _get_osfhandle.  */
 # include <io.h>
similarity index 61%
rename from gltests/open.c
rename to gl/open.c
index 27801b9..e690c9e 100644 (file)
+++ b/gl/open.c
@@ -1,18 +1,18 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2012 Free Software Foundation, Inc.
+   Copyright (C) 2007-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
 #include <sys/types.h>
 #undef __need_system_fcntl_h
 
-static inline int
+static int
 orig_open (const char *filename, int flags, mode_t mode)
 {
+#if defined _WIN32 && !defined __CYGWIN__
+  return _open (filename, flags, mode);
+#else
   return open (filename, flags, mode);
+#endif
 }
 
 /* Specification.  */
+#ifdef __osf__
 /* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
    this include because of the preliminary #include <fcntl.h> above.  */
-#include "fcntl.h"
+# include "fcntl.h"
+#else
+# include <fcntl.h>
+#endif
+
+#include "cloexec.h"
 
 #include <errno.h>
 #include <stdarg.h>
@@ -52,6 +62,13 @@ orig_open (const char *filename, int flags, mode_t mode)
 int
 open (const char *filename, int flags, ...)
 {
+  /* 0 = unknown, 1 = yes, -1 = no.  */
+#if GNULIB_defined_O_CLOEXEC
+  int have_cloexec = -1;
+#else
+  static int have_cloexec;
+#endif
+
   mode_t mode;
   int fd;
 
@@ -77,34 +94,33 @@ open (const char *filename, int flags, ...)
   flags &= ~O_NONBLOCK;
 #endif
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   if (strcmp (filename, "/dev/null") == 0)
     filename = "NUL";
 #endif
 
 #if OPEN_TRAILING_SLASH_BUG
-  /* If the filename ends in a slash and one of O_CREAT, O_WRONLY, O_RDWR
-     is specified, then fail.
-     Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
-     says that
-       "A pathname that contains at least one non-slash character and that
-        ends with one or more trailing slashes shall be resolved as if a
-        single dot character ( '.' ) were appended to the pathname."
-     and
-       "The special filename dot shall refer to the directory specified by
-        its predecessor."
+  /* Fail if one of O_CREAT, O_WRONLY, O_RDWR is specified and the filename
+     ends in a slash, as POSIX says such a filename must name a directory
+     <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13>:
+       "A pathname that contains at least one non-<slash> character and that
+        ends with one or more trailing <slash> characters shall not be resolved
+        successfully unless the last pathname component before the trailing
+        <slash> characters names an existing directory"
      If the named file already exists as a directory, then
        - if O_CREAT is specified, open() must fail because of the semantics
          of O_CREAT,
        - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX
-         <http://www.opengroup.org/susv3/functions/open.html> says that it
-         fails with errno = EISDIR in this case.
+         <https://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html>
+         says that it fails with errno = EISDIR in this case.
      If the named file does not exist or does not name a directory, then
        - if O_CREAT is specified, open() must fail since open() cannot create
          directories,
        - if O_WRONLY or O_RDWR is specified, open() must fail because the
          file does not contain a '.' directory.  */
-  if (flags & (O_CREAT | O_WRONLY | O_RDWR))
+  if ((flags & O_CREAT)
+      || (flags & O_ACCMODE) == O_RDWR
+      || (flags & O_ACCMODE) == O_WRONLY)
     {
       size_t len = strlen (filename);
       if (len > 0 && filename[len - 1] == '/')
@@ -115,7 +131,25 @@ open (const char *filename, int flags, ...)
     }
 #endif
 
-  fd = orig_open (filename, flags, mode);
+  fd = orig_open (filename,
+                  flags & ~(have_cloexec < 0 ? O_CLOEXEC : 0), mode);
+
+  if (flags & O_CLOEXEC)
+    {
+      if (! have_cloexec)
+        {
+          if (0 <= fd)
+            have_cloexec = 1;
+          else if (errno == EINVAL)
+            {
+              fd = orig_open (filename, flags & ~O_CLOEXEC, mode);
+              have_cloexec = -1;
+            }
+        }
+      if (have_cloexec < 0 && 0 <= fd)
+        set_cloexec_flag (fd, true);
+    }
+
 
 #if REPLACE_FCHDIR
   /* Implementing fchdir and fdopendir requires the ability to open a
@@ -144,14 +178,12 @@ open (const char *filename, int flags, ...)
 #if OPEN_TRAILING_SLASH_BUG
   /* If the filename ends in a slash and fd does not refer to a directory,
      then fail.
-     Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
-     says that
-       "A pathname that contains at least one non-slash character and that
-        ends with one or more trailing slashes shall be resolved as if a
-        single dot character ( '.' ) were appended to the pathname."
-     and
-       "The special filename dot shall refer to the directory specified by
-        its predecessor."
+     Rationale: POSIX says such a filename must name a directory
+     <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13>:
+       "A pathname that contains at least one non-<slash> character and that
+        ends with one or more trailing <slash> characters shall not be resolved
+        successfully unless the last pathname component before the trailing
+        <slash> characters names an existing directory"
      If the named file without the slash is not a directory, open() must fail
      with ENOTDIR.  */
   if (fd >= 0)
similarity index 69%
rename from gltests/pathmax.h
rename to gl/pathmax.h
index 03db7cb..d6512c6 100644 (file)
@@ -1,26 +1,26 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2012 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _PATHMAX_H
 # define _PATHMAX_H
 
 /* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
    including the terminating NUL byte.
-   <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
+   <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
    PATH_MAX is not defined on systems which have no limit on filename length,
    such as GNU/Hurd.
 
          #endif
  */
 
+/* This file uses HAVE_SYS_PARAM_H.  */
+# if !_GL_CONFIG_H_INCLUDED
+#  error "Please include config.h first."
+# endif
+
 # include <unistd.h>
 
 # include <limits.h>
 #  define PATH_MAX 1024
 # endif
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
    section "Maximum Path Length Limitation",
-   <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath>
+   <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation>
    explains that the maximum size of a filename, including the terminating
    NUL byte, is 260 = 3 + 256 + 1.
    This is the same value as
index bdd4dd7..db17f5b 100644 (file)
@@ -1,10 +1,10 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    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
+   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,
@@ -13,7 +13,7 @@
    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/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
 #include <config.h>
index bb5e989..a61872b 100644 (file)
@@ -1,10 +1,10 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    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
+   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,
@@ -13,7 +13,7 @@
    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/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _PROGNAME_H
 #define _PROGNAME_H
@@ -36,7 +36,7 @@ extern const char *program_name;
    modified after this call.  */
 extern void set_program_name (const char *argv0);
 
-#if defined(ENABLE_RELOCATABLE) && ENABLE_RELOCATABLE
+#if ENABLE_RELOCATABLE
 
 /* Set program_name, based on argv[0], and original installation prefix and
    directory, for relocatability.  */
diff --git a/gl/stat-time.c b/gl/stat-time.c
new file mode 100644 (file)
index 0000000..1ab01f5
--- /dev/null
@@ -0,0 +1,21 @@
+/* stat-related time functions.
+
+   Copyright (C) 2012-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
+#include "stat-time.h"
diff --git a/gl/stat-time.h b/gl/stat-time.h
new file mode 100644 (file)
index 0000000..3cd8478
--- /dev/null
@@ -0,0 +1,245 @@
+/* stat-related time functions.
+
+   Copyright (C) 2005, 2007, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#ifndef STAT_TIME_H
+#define STAT_TIME_H 1
+
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_UNUSED,
+   _GL_ATTRIBUTE_PURE, HAVE_STRUCT_STAT_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#include <errno.h>
+#include <stdckdint.h>
+#include <stddef.h>
+#include <sys/stat.h>
+#include <time.h>
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STAT_TIME_INLINE
+# define _GL_STAT_TIME_INLINE _GL_INLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
+   struct timespec, if available.  If not, then STAT_TIMESPEC_NS (ST,
+   ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST,
+   if available.  ST_XTIM can be st_atim, st_ctim, st_mtim, or st_birthtim
+   for access, status change, data modification, or birth (creation)
+   time respectively.
+
+   These macros are private to stat-time.h.  */
+#if _GL_WINDOWS_STAT_TIMESPEC || defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
+# if _GL_WINDOWS_STAT_TIMESPEC || defined TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
+#  define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim)
+#  define STAT_TIMESPEC_OFFSETOF(st_xtim) offsetof (struct stat, st_xtim)
+# else
+#  define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec)
+# endif
+#elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
+# define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec)
+# define STAT_TIMESPEC_OFFSETOF(st_xtim) offsetof (struct stat, st_xtim##espec)
+#elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC
+# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim##ensec)
+#elif defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
+# define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.st__tim.tv_nsec)
+#endif
+
+/* Return the nanosecond component of *ST's access time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_atime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_atim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_atim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's status change time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_ctime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_ctim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_ctim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's data modification time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_mtime_ns (struct stat const *st)
+{
+# if defined STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_mtim).tv_nsec;
+# elif defined STAT_TIMESPEC_NS
+  return STAT_TIMESPEC_NS (st, st_mtim);
+# else
+  return 0;
+# endif
+}
+
+/* Return the nanosecond component of *ST's birth time.  */
+_GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
+get_stat_birthtime_ns (_GL_UNUSED struct stat const *st)
+{
+# if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
+  return STAT_TIMESPEC (st, st_birthtim).tv_nsec;
+# elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+  return STAT_TIMESPEC_NS (st, st_birthtim);
+# else
+  return 0;
+# endif
+}
+
+/* Return *ST's access time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_atime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_atim);
+#else
+  return (struct timespec) { .tv_sec = st->st_atime,
+                             .tv_nsec = get_stat_atime_ns (st) };
+#endif
+}
+
+/* Return *ST's status change time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_ctime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_ctim);
+#else
+  return (struct timespec) { .tv_sec = st->st_ctime,
+                             .tv_nsec = get_stat_ctime_ns (st) };
+#endif
+}
+
+/* Return *ST's data modification time.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_mtime (struct stat const *st)
+{
+#ifdef STAT_TIMESPEC
+  return STAT_TIMESPEC (st, st_mtim);
+#else
+  return (struct timespec) { .tv_sec = st->st_mtime,
+                             .tv_nsec = get_stat_mtime_ns (st) };
+#endif
+}
+
+/* Return *ST's birth time, if available; otherwise return a value
+   with tv_sec and tv_nsec both equal to -1.  */
+_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
+get_stat_birthtime (_GL_UNUSED struct stat const *st)
+{
+  struct timespec t;
+
+#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC)
+  t = STAT_TIMESPEC (st, st_birthtim);
+#elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
+  t = (struct timespec) { .tv_sec = st->st_birthtime,
+                          .tv_nsec = st->st_birthtimensec };
+#elif defined _WIN32 && ! defined __CYGWIN__
+  /* Native Windows platforms (but not Cygwin) put the "file creation
+     time" in st_ctime (!).  See
+     <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions>.  */
+# if _GL_WINDOWS_STAT_TIMESPEC
+  t = st->st_ctim;
+# else
+  t = (struct timespec) { .tv_sec = st->st_ctime };
+# endif
+#else
+  /* Birth time is not supported.  */
+  t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
+#endif
+
+#if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC \
+     || defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC)
+  /* FreeBSD and NetBSD sometimes signal the absence of knowledge by
+     using zero.  Attempt to work around this problem.  Alas, this can
+     report failure even for valid timestamps.  Also, NetBSD
+     sometimes returns junk in the birth time fields; work around this
+     bug if it is detected.  */
+  if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000))
+    t = (struct timespec) { .tv_sec = -1, .tv_nsec = -1 };
+#endif
+
+  return t;
+}
+
+/* If a stat-like function returned RESULT, normalize the timestamps
+   in *ST, if this platform suffers from a macOS and Solaris bug where
+   tv_nsec might be negative.  Return the adjusted RESULT, setting
+   errno to EOVERFLOW if normalization overflowed.  This function
+   is intended to be private to this .h file.  */
+_GL_STAT_TIME_INLINE int
+stat_time_normalize (int result, _GL_UNUSED struct stat *st)
+{
+#if (((defined __APPLE__ && defined __MACH__) || defined __sun) \
+     && defined STAT_TIMESPEC_OFFSETOF)
+  if (result == 0)
+    {
+      long int timespec_hz = 1000000000;
+      short int const ts_off[] = { STAT_TIMESPEC_OFFSETOF (st_atim),
+                                   STAT_TIMESPEC_OFFSETOF (st_mtim),
+                                   STAT_TIMESPEC_OFFSETOF (st_ctim) };
+      int i;
+      for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
+        {
+          struct timespec *ts = (struct timespec *) ((char *) st + ts_off[i]);
+          long int q = ts->tv_nsec / timespec_hz;
+          long int r = ts->tv_nsec % timespec_hz;
+          if (r < 0)
+            {
+              r += timespec_hz;
+              q--;
+            }
+          ts->tv_nsec = r;
+          /* Overflow is possible, as Solaris 11 stat can yield
+             tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000.  */
+          if (ckd_add (&ts->tv_sec, q, ts->tv_sec))
+            {
+              errno = EOVERFLOW;
+              return -1;
+            }
+        }
+    }
+#endif
+  return result;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif
diff --git a/gl/stat-w32.c b/gl/stat-w32.c
new file mode 100644 (file)
index 0000000..ddd6f59
--- /dev/null
@@ -0,0 +1,460 @@
+/* Core of implementation of fstat and stat for native Windows.
+   Copyright (C) 2017-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible.  */
+
+#include <config.h>
+
+#if defined _WIN32 && ! defined __CYGWIN__
+
+/* Attempt to make <windows.h> define FILE_ID_INFO.
+   But ensure that the redefinition of _WIN32_WINNT does not make us assume
+   Windows Vista or newer when building for an older version of Windows.  */
+#if HAVE_SDKDDKVER_H
+# include <sdkddkver.h>
+# if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+#  define WIN32_ASSUME_VISTA 1
+# else
+#  define WIN32_ASSUME_VISTA 0
+# endif
+# if !defined _WIN32_WINNT || (_WIN32_WINNT < _WIN32_WINNT_WIN8)
+#  undef _WIN32_WINNT
+#  define _WIN32_WINNT _WIN32_WINNT_WIN8
+# endif
+#else
+# define WIN32_ASSUME_VISTA (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+#include <windows.h>
+
+/* Specification.  */
+#include "stat-w32.h"
+
+#include "pathmax.h"
+
+/* Don't assume that UNICODE is not defined.  */
+#undef LoadLibrary
+#define LoadLibrary LoadLibraryA
+#undef GetFinalPathNameByHandle
+#define GetFinalPathNameByHandle GetFinalPathNameByHandleA
+
+/* Older mingw headers do not define VOLUME_NAME_NONE.  */
+#ifndef VOLUME_NAME_NONE
+# define VOLUME_NAME_NONE 4
+#endif
+
+#if !WIN32_ASSUME_VISTA
+
+/* Avoid warnings from gcc -Wcast-function-type.  */
+# define GetProcAddress \
+   (void *) GetProcAddress
+
+# if _GL_WINDOWS_STAT_INODES == 2
+/* GetFileInformationByHandleEx was introduced only in Windows Vista.  */
+typedef DWORD (WINAPI * GetFileInformationByHandleExFuncType) (HANDLE hFile,
+                                                               FILE_INFO_BY_HANDLE_CLASS fiClass,
+                                                               LPVOID lpBuffer,
+                                                               DWORD dwBufferSize);
+static GetFileInformationByHandleExFuncType GetFileInformationByHandleExFunc = NULL;
+# endif
+/* GetFinalPathNameByHandle was introduced only in Windows Vista.  */
+typedef DWORD (WINAPI * GetFinalPathNameByHandleFuncType) (HANDLE hFile,
+                                                           LPSTR lpFilePath,
+                                                           DWORD lenFilePath,
+                                                           DWORD dwFlags);
+static GetFinalPathNameByHandleFuncType GetFinalPathNameByHandleFunc = NULL;
+static BOOL initialized = FALSE;
+
+static void
+initialize (void)
+{
+  HMODULE kernel32 = LoadLibrary ("kernel32.dll");
+  if (kernel32 != NULL)
+    {
+# if _GL_WINDOWS_STAT_INODES == 2
+      GetFileInformationByHandleExFunc =
+        (GetFileInformationByHandleExFuncType) GetProcAddress (kernel32, "GetFileInformationByHandleEx");
+# endif
+      GetFinalPathNameByHandleFunc =
+        (GetFinalPathNameByHandleFuncType) GetProcAddress (kernel32, "GetFinalPathNameByHandleA");
+    }
+  initialized = TRUE;
+}
+
+#else
+
+# define GetFileInformationByHandleExFunc GetFileInformationByHandleEx
+# define GetFinalPathNameByHandleFunc GetFinalPathNameByHandle
+
+#endif
+
+/* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */
+#if _GL_WINDOWS_STAT_TIMESPEC
+struct timespec
+_gl_convert_FILETIME_to_timespec (const FILETIME *ft)
+{
+  struct timespec result;
+  /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */
+  unsigned long long since_1601 =
+    ((unsigned long long) ft->dwHighDateTime << 32)
+    | (unsigned long long) ft->dwLowDateTime;
+  if (since_1601 == 0)
+    {
+      result.tv_sec = 0;
+      result.tv_nsec = 0;
+    }
+  else
+    {
+      /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89
+         leap years, in total 134774 days.  */
+      unsigned long long since_1970 =
+        since_1601 - (unsigned long long) 134774 * (unsigned long long) 86400 * (unsigned long long) 10000000;
+      result.tv_sec = since_1970 / (unsigned long long) 10000000;
+      result.tv_nsec = (unsigned long) (since_1970 % (unsigned long long) 10000000) * 100;
+    }
+  return result;
+}
+#else
+time_t
+_gl_convert_FILETIME_to_POSIX (const FILETIME *ft)
+{
+  /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */
+  unsigned long long since_1601 =
+    ((unsigned long long) ft->dwHighDateTime << 32)
+    | (unsigned long long) ft->dwLowDateTime;
+  if (since_1601 == 0)
+    return 0;
+  else
+    {
+      /* Between 1601-01-01 and 1970-01-01 there were 280 normal years and 89
+         leap years, in total 134774 days.  */
+      unsigned long long since_1970 =
+        since_1601 - (unsigned long long) 134774 * (unsigned long long) 86400 * (unsigned long long) 10000000;
+      return since_1970 / (unsigned long long) 10000000;
+    }
+}
+#endif
+
+/* Fill *BUF with information about the file designated by H.
+   PATH is the file name, if known, otherwise NULL.
+   Return 0 if successful, or -1 with errno set upon failure.  */
+int
+_gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf)
+{
+  /* GetFileType
+     <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletype> */
+  DWORD type = GetFileType (h);
+  if (type == FILE_TYPE_DISK)
+    {
+#if !WIN32_ASSUME_VISTA
+      if (!initialized)
+        initialize ();
+#endif
+
+      /* st_mode can be determined through
+         GetFileAttributesEx
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data>
+         or through
+         GetFileInformationByHandle
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information>
+         or through
+         GetFileInformationByHandleEx with argument FileBasicInfo
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_basic_info>
+         The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher.  */
+      BY_HANDLE_FILE_INFORMATION info;
+      if (! GetFileInformationByHandle (h, &info))
+        goto failed;
+
+      /* Test for error conditions before starting to fill *buf.  */
+      if (sizeof (buf->st_size) <= 4 && info.nFileSizeHigh > 0)
+        {
+          errno = EOVERFLOW;
+          return -1;
+        }
+
+#if _GL_WINDOWS_STAT_INODES
+      /* st_ino can be determined through
+         GetFileInformationByHandle
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information>
+         as 64 bits, or through
+         GetFileInformationByHandleEx with argument FileIdInfo
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_id_info>
+         as 128 bits.
+         The latter requires -D_WIN32_WINNT=_WIN32_WINNT_WIN8 or higher.  */
+      /* Experiments show that GetFileInformationByHandleEx does not provide
+         much more information than GetFileInformationByHandle:
+           * The dwVolumeSerialNumber from GetFileInformationByHandle is equal
+             to the low 32 bits of the 64-bit VolumeSerialNumber from
+             GetFileInformationByHandleEx, and is apparently sufficient for
+             identifying the device.
+           * The nFileIndex from GetFileInformationByHandle is equal to the low
+             64 bits of the 128-bit FileId from GetFileInformationByHandleEx,
+             and the high 64 bits of this 128-bit FileId are zero.
+           * On a FAT file system, GetFileInformationByHandleEx fails with error
+             ERROR_INVALID_PARAMETER, whereas GetFileInformationByHandle
+             succeeds.
+           * On a CIFS/SMB file system, GetFileInformationByHandleEx fails with
+             error ERROR_INVALID_LEVEL, whereas GetFileInformationByHandle
+             succeeds.  */
+# if _GL_WINDOWS_STAT_INODES == 2
+      if (GetFileInformationByHandleExFunc != NULL)
+        {
+          FILE_ID_INFO id;
+          if (GetFileInformationByHandleExFunc (h, FileIdInfo, &id, sizeof (id)))
+            {
+              buf->st_dev = id.VolumeSerialNumber;
+              static_assert (sizeof (ino_t) == sizeof (id.FileId));
+              memcpy (&buf->st_ino, &id.FileId, sizeof (ino_t));
+              goto ino_done;
+            }
+          else
+            {
+              switch (GetLastError ())
+                {
+                case ERROR_INVALID_PARAMETER: /* older Windows version, or FAT */
+                case ERROR_INVALID_LEVEL: /* CIFS/SMB file system */
+                  goto fallback;
+                default:
+                  goto failed;
+                }
+            }
+        }
+     fallback: ;
+      /* Fallback for older Windows versions.  */
+      buf->st_dev = info.dwVolumeSerialNumber;
+      buf->st_ino._gl_ino[0] = ((ULONGLONG) info.nFileIndexHigh << 32) | (ULONGLONG) info.nFileIndexLow;
+      buf->st_ino._gl_ino[1] = 0;
+     ino_done: ;
+# else /* _GL_WINDOWS_STAT_INODES == 1 */
+      buf->st_dev = info.dwVolumeSerialNumber;
+      buf->st_ino = ((ULONGLONG) info.nFileIndexHigh << 32) | (ULONGLONG) info.nFileIndexLow;
+# endif
+#else
+      /* st_ino is not wide enough for identifying a file on a device.
+         Without st_ino, st_dev is pointless.  */
+      buf->st_dev = 0;
+      buf->st_ino = 0;
+#endif
+
+      /* st_mode.  */
+      unsigned int mode =
+        /* XXX How to handle FILE_ATTRIBUTE_REPARSE_POINT ?  */
+        ((info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? _S_IFDIR | S_IEXEC_UGO : _S_IFREG)
+        | S_IREAD_UGO
+        | ((info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? 0 : S_IWRITE_UGO);
+      if (!(info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
+        {
+          /* Determine whether the file is executable by looking at the file
+             name suffix.
+             If the file name is already known, use it. Otherwise, for
+             non-empty files, it can be determined through
+             GetFinalPathNameByHandle
+             <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfinalpathnamebyhandlea>
+             or through
+             GetFileInformationByHandleEx with argument FileNameInfo
+             <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+             <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_name_info>
+             Both require -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher.  */
+          if (info.nFileSizeHigh > 0 || info.nFileSizeLow > 0)
+            {
+              char fpath[PATH_MAX];
+              if (path != NULL
+                  || (GetFinalPathNameByHandleFunc != NULL
+                      && GetFinalPathNameByHandleFunc (h, fpath, sizeof (fpath), VOLUME_NAME_NONE)
+                         < sizeof (fpath)
+                      && (path = fpath, 1)))
+                {
+                  const char *last_dot = NULL;
+                  const char *p;
+                  for (p = path; *p != '\0'; p++)
+                    if (*p == '.')
+                      last_dot = p;
+                  if (last_dot != NULL)
+                    {
+                      const char *suffix = last_dot + 1;
+                      if (_stricmp (suffix, "exe") == 0
+                          || _stricmp (suffix, "bat") == 0
+                          || _stricmp (suffix, "cmd") == 0
+                          || _stricmp (suffix, "com") == 0)
+                        mode |= S_IEXEC_UGO;
+                    }
+                }
+              else
+                /* Cannot determine file name.  Pretend that it is executable.  */
+                mode |= S_IEXEC_UGO;
+            }
+        }
+      buf->st_mode = mode;
+
+      /* st_nlink can be determined through
+         GetFileInformationByHandle
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information>
+         or through
+         GetFileInformationByHandleEx with argument FileStandardInfo
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_standard_info>
+         The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher.  */
+      buf->st_nlink = (info.nNumberOfLinks > SHRT_MAX ? SHRT_MAX : info.nNumberOfLinks);
+
+      /* There's no easy way to map the Windows SID concept to an integer.  */
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+
+      /* st_rdev is irrelevant for normal files and directories.  */
+      buf->st_rdev = 0;
+
+      /* st_size can be determined through
+         GetFileSizeEx
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfilesizeex>
+         or through
+         GetFileAttributesEx
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data>
+         or through
+         GetFileInformationByHandle
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information>
+         or through
+         GetFileInformationByHandleEx with argument FileStandardInfo
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_standard_info>
+         The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher.  */
+      if (sizeof (buf->st_size) <= 4)
+        /* Range check already done above.  */
+        buf->st_size = info.nFileSizeLow;
+      else
+        buf->st_size = ((long long) info.nFileSizeHigh << 32) | (long long) info.nFileSizeLow;
+
+      /* st_atime, st_mtime, st_ctime can be determined through
+         GetFileTime
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletime>
+         or through
+         GetFileAttributesEx
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data>
+         or through
+         GetFileInformationByHandle
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information>
+         or through
+         GetFileInformationByHandleEx with argument FileBasicInfo
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_basic_info>
+         The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher.  */
+#if _GL_WINDOWS_STAT_TIMESPEC
+      buf->st_atim = _gl_convert_FILETIME_to_timespec (&info.ftLastAccessTime);
+      buf->st_mtim = _gl_convert_FILETIME_to_timespec (&info.ftLastWriteTime);
+      buf->st_ctim = _gl_convert_FILETIME_to_timespec (&info.ftCreationTime);
+#else
+      buf->st_atime = _gl_convert_FILETIME_to_POSIX (&info.ftLastAccessTime);
+      buf->st_mtime = _gl_convert_FILETIME_to_POSIX (&info.ftLastWriteTime);
+      buf->st_ctime = _gl_convert_FILETIME_to_POSIX (&info.ftCreationTime);
+#endif
+
+      return 0;
+    }
+  else if (type == FILE_TYPE_CHAR || type == FILE_TYPE_PIPE)
+    {
+      buf->st_dev = 0;
+#if _GL_WINDOWS_STAT_INODES == 2
+      buf->st_ino._gl_ino[0] = buf->st_ino._gl_ino[1] = 0;
+#else
+      buf->st_ino = 0;
+#endif
+      buf->st_mode = (type == FILE_TYPE_PIPE ? _S_IFIFO : _S_IFCHR);
+      buf->st_nlink = 1;
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+      buf->st_rdev = 0;
+      if (type == FILE_TYPE_PIPE)
+        {
+          /* PeekNamedPipe
+             <https://msdn.microsoft.com/en-us/library/aa365779.aspx> */
+          DWORD bytes_available;
+          if (PeekNamedPipe (h, NULL, 0, NULL, &bytes_available, NULL))
+            buf->st_size = bytes_available;
+          else
+            buf->st_size = 0;
+        }
+      else
+        buf->st_size = 0;
+#if _GL_WINDOWS_STAT_TIMESPEC
+      buf->st_atim.tv_sec = 0; buf->st_atim.tv_nsec = 0;
+      buf->st_mtim.tv_sec = 0; buf->st_mtim.tv_nsec = 0;
+      buf->st_ctim.tv_sec = 0; buf->st_ctim.tv_nsec = 0;
+#else
+      buf->st_atime = 0;
+      buf->st_mtime = 0;
+      buf->st_ctime = 0;
+#endif
+      return 0;
+    }
+  else
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+ failed:
+  {
+    DWORD error = GetLastError ();
+    #if 0
+    fprintf (stderr, "_gl_fstat_by_handle error 0x%x\n", (unsigned int) error);
+    #endif
+    switch (error)
+      {
+      case ERROR_ACCESS_DENIED:
+      case ERROR_SHARING_VIOLATION:
+        errno = EACCES;
+        break;
+
+      case ERROR_OUTOFMEMORY:
+        errno = ENOMEM;
+        break;
+
+      case ERROR_WRITE_FAULT:
+      case ERROR_READ_FAULT:
+      case ERROR_GEN_FAILURE:
+        errno = EIO;
+        break;
+
+      default:
+        errno = EINVAL;
+        break;
+      }
+    return -1;
+  }
+}
+
+#else
+
+/* This declaration is solely to ensure that after preprocessing
+   this file is never empty.  */
+typedef int dummy;
+
+#endif
diff --git a/gl/stat-w32.h b/gl/stat-w32.h
new file mode 100644 (file)
index 0000000..392faed
--- /dev/null
@@ -0,0 +1,37 @@
+/* Core of implementation of fstat and stat for native Windows.
+   Copyright (C) 2017-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _STAT_W32_H
+#define _STAT_W32_H 1
+
+/* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */
+#if _GL_WINDOWS_STAT_TIMESPEC
+extern struct timespec _gl_convert_FILETIME_to_timespec (const FILETIME *ft);
+#else
+extern time_t _gl_convert_FILETIME_to_POSIX (const FILETIME *ft);
+#endif
+
+/* Fill *BUF with information about the file designated by H.
+   PATH is the file name, if known, otherwise NULL.
+   Return 0 if successful, or -1 with errno set upon failure.  */
+extern int _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf);
+
+/* Bitmasks for st_mode.  */
+#define S_IREAD_UGO  (_S_IREAD | (_S_IREAD >> 3) | (_S_IREAD >> 6))
+#define S_IWRITE_UGO (_S_IWRITE | (_S_IWRITE >> 3) | (_S_IWRITE >> 6))
+#define S_IEXEC_UGO  (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6))
+
+#endif /* _STAT_W32_H */
diff --git a/gl/stat.c b/gl/stat.c
new file mode 100644 (file)
index 0000000..ecf9f9b
--- /dev/null
+++ b/gl/stat.c
@@ -0,0 +1,438 @@
+/* Work around platform bugs in stat.
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake and Bruno Haible.  */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_stat doesn't recurse to
+   rpl_stat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of stat.  It might be defined as a macro.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+#if defined _WIN32 && ! defined __CYGWIN__
+# define WINDOWS_NATIVE
+#endif
+
+#if !defined WINDOWS_NATIVE
+
+static int
+orig_stat (const char *filename, struct stat *buf)
+{
+  return stat (filename, buf);
+}
+
+#endif
+
+/* Specification.  */
+#ifdef __osf__
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
+#else
+# include <sys/stat.h>
+#endif
+
+#include "stat-time.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <string.h>
+#include "filename.h"
+#include "malloca.h"
+
+#ifdef WINDOWS_NATIVE
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# include "stat-w32.h"
+/* Don't assume that UNICODE is not defined.  */
+# undef WIN32_FIND_DATA
+# define WIN32_FIND_DATA WIN32_FIND_DATAA
+# undef CreateFile
+# define CreateFile CreateFileA
+# undef FindFirstFile
+# define FindFirstFile FindFirstFileA
+#endif
+
+#ifdef WINDOWS_NATIVE
+/* Return TRUE if the given file name denotes an UNC root.  */
+static BOOL
+is_unc_root (const char *rname)
+{
+  /* Test whether it has the syntax '\\server\share'.  */
+  if (ISSLASH (rname[0]) && ISSLASH (rname[1]))
+    {
+      /* It starts with two slashes.  Find the next slash.  */
+      const char *p = rname + 2;
+      const char *q = p;
+      while (*q != '\0' && !ISSLASH (*q))
+        q++;
+      if (q > p && *q != '\0')
+        {
+          /* Found the next slash at q.  */
+          q++;
+          const char *r = q;
+          while (*r != '\0' && !ISSLASH (*r))
+            r++;
+          if (r > q && *r == '\0')
+            return TRUE;
+        }
+    }
+  return FALSE;
+}
+#endif
+
+/* Store information about NAME into ST.  Work around bugs with
+   trailing slashes.  Mingw has other bugs (such as st_ino always
+   being 0 on success) which this wrapper does not work around.  But
+   at least this implementation provides the ability to emulate fchdir
+   correctly.  */
+
+int
+rpl_stat (char const *name, struct stat *buf)
+{
+#ifdef WINDOWS_NATIVE
+  /* Fill the fields ourselves, because the original stat function returns
+     values for st_atime, st_mtime, st_ctime that depend on the current time
+     zone.  See
+     <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00134.html>  */
+  /* XXX Should we convert to wchar_t* and prepend '\\?\', in order to work
+     around length limitations
+     <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file> ?  */
+
+  /* POSIX <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13>
+     specifies: "More than two leading <slash> characters shall be treated as
+     a single <slash> character."  */
+  if (ISSLASH (name[0]) && ISSLASH (name[1]) && ISSLASH (name[2]))
+    {
+      name += 2;
+      while (ISSLASH (name[1]))
+        name++;
+    }
+
+  size_t len = strlen (name);
+  size_t drive_prefix_len = (HAS_DEVICE (name) ? 2 : 0);
+
+  /* Remove trailing slashes (except the very first one, at position
+     drive_prefix_len), but remember their presence.  */
+  size_t rlen;
+  bool check_dir = false;
+
+  rlen = len;
+  while (rlen > drive_prefix_len && ISSLASH (name[rlen-1]))
+    {
+      check_dir = true;
+      if (rlen == drive_prefix_len + 1)
+        break;
+      rlen--;
+    }
+
+  /* Handle '' and 'C:'.  */
+  if (!check_dir && rlen == drive_prefix_len)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+  /* Handle '\\'.  */
+  if (rlen == 1 && ISSLASH (name[0]) && len >= 2)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+
+  const char *rname;
+  char *malloca_rname;
+  if (rlen == len)
+    {
+      rname = name;
+      malloca_rname = NULL;
+    }
+  else
+    {
+      malloca_rname = malloca (rlen + 1);
+      if (malloca_rname == NULL)
+        {
+          errno = ENOMEM;
+          return -1;
+        }
+      memcpy (malloca_rname, name, rlen);
+      malloca_rname[rlen] = '\0';
+      rname = malloca_rname;
+    }
+
+  /* There are two ways to get at the requested information:
+       - by scanning the parent directory and examining the relevant
+         directory entry,
+       - by opening the file directly.
+     The first approach fails for root directories (e.g. 'C:\') and
+     UNC root directories (e.g. '\\server\share').
+     The second approach fails for some system files (e.g. 'C:\pagefile.sys'
+     and 'C:\hiberfil.sys'): ERROR_SHARING_VIOLATION.
+     The second approach gives more information (in particular, correct
+     st_dev, st_ino, st_nlink fields).
+     So we use the second approach and, as a fallback except for root and
+     UNC root directories, also the first approach.  */
+  {
+    int ret;
+
+    {
+      /* Approach based on the file.  */
+
+      /* Open a handle to the file.
+         CreateFile
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea>
+         <https://docs.microsoft.com/en-us/windows/desktop/FileIO/creating-and-opening-files>  */
+      HANDLE h =
+        CreateFile (rname,
+                    FILE_READ_ATTRIBUTES,
+                    FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+                    NULL,
+                    OPEN_EXISTING,
+                    /* FILE_FLAG_POSIX_SEMANTICS (treat file names that differ only
+                       in case as different) makes sense only when applied to *all*
+                       filesystem operations.  */
+                    FILE_FLAG_BACKUP_SEMANTICS /* | FILE_FLAG_POSIX_SEMANTICS */,
+                    NULL);
+      if (h != INVALID_HANDLE_VALUE)
+        {
+          ret = _gl_fstat_by_handle (h, rname, buf);
+          CloseHandle (h);
+          goto done;
+        }
+    }
+
+    /* Test for root and UNC root directories.  */
+    if ((rlen == drive_prefix_len + 1 && ISSLASH (rname[drive_prefix_len]))
+        || is_unc_root (rname))
+      goto failed;
+
+    /* Fallback.  */
+    {
+      /* Approach based on the directory entry.  */
+
+      if (strchr (rname, '?') != NULL || strchr (rname, '*') != NULL)
+        {
+          /* Other Windows API functions would fail with error
+             ERROR_INVALID_NAME.  */
+          if (malloca_rname != NULL)
+            freea (malloca_rname);
+          errno = ENOENT;
+          return -1;
+        }
+
+      /* Get the details about the directory entry.  This can be done through
+         FindFirstFile
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-findfirstfilea>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-_win32_find_dataa>
+         or through
+         FindFirstFileEx with argument FindExInfoBasic
+         <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-findfirstfileexa>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ne-minwinbase-findex_info_levels>
+         <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-_win32_find_dataa>  */
+      WIN32_FIND_DATA info;
+      HANDLE h = FindFirstFile (rname, &info);
+      if (h == INVALID_HANDLE_VALUE)
+        goto failed;
+
+      /* Test for error conditions before starting to fill *buf.  */
+      if (sizeof (buf->st_size) <= 4 && info.nFileSizeHigh > 0)
+        {
+          FindClose (h);
+          if (malloca_rname != NULL)
+            freea (malloca_rname);
+          errno = EOVERFLOW;
+          return -1;
+        }
+
+# if _GL_WINDOWS_STAT_INODES
+      buf->st_dev = 0;
+#  if _GL_WINDOWS_STAT_INODES == 2
+      buf->st_ino._gl_ino[0] = buf->st_ino._gl_ino[1] = 0;
+#  else /* _GL_WINDOWS_STAT_INODES == 1 */
+      buf->st_ino = 0;
+#  endif
+# else
+      /* st_ino is not wide enough for identifying a file on a device.
+         Without st_ino, st_dev is pointless.  */
+      buf->st_dev = 0;
+      buf->st_ino = 0;
+# endif
+
+      /* st_mode.  */
+      unsigned int mode =
+        /* XXX How to handle FILE_ATTRIBUTE_REPARSE_POINT ?  */
+        ((info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? _S_IFDIR | S_IEXEC_UGO : _S_IFREG)
+        | S_IREAD_UGO
+        | ((info.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? 0 : S_IWRITE_UGO);
+      if (!(info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
+        {
+          /* Determine whether the file is executable by looking at the file
+             name suffix.  */
+          if (info.nFileSizeHigh > 0 || info.nFileSizeLow > 0)
+            {
+              const char *last_dot = NULL;
+              const char *p;
+              for (p = info.cFileName; *p != '\0'; p++)
+                if (*p == '.')
+                  last_dot = p;
+              if (last_dot != NULL)
+                {
+                  const char *suffix = last_dot + 1;
+                  if (_stricmp (suffix, "exe") == 0
+                      || _stricmp (suffix, "bat") == 0
+                      || _stricmp (suffix, "cmd") == 0
+                      || _stricmp (suffix, "com") == 0)
+                    mode |= S_IEXEC_UGO;
+                }
+            }
+        }
+      buf->st_mode = mode;
+
+      /* st_nlink.  Ignore hard links here.  */
+      buf->st_nlink = 1;
+
+      /* There's no easy way to map the Windows SID concept to an integer.  */
+      buf->st_uid = 0;
+      buf->st_gid = 0;
+
+      /* st_rdev is irrelevant for normal files and directories.  */
+      buf->st_rdev = 0;
+
+      /* st_size.  */
+      if (sizeof (buf->st_size) <= 4)
+        /* Range check already done above.  */
+        buf->st_size = info.nFileSizeLow;
+      else
+        buf->st_size = ((long long) info.nFileSizeHigh << 32) | (long long) info.nFileSizeLow;
+
+      /* st_atime, st_mtime, st_ctime.  */
+# if _GL_WINDOWS_STAT_TIMESPEC
+      buf->st_atim = _gl_convert_FILETIME_to_timespec (&info.ftLastAccessTime);
+      buf->st_mtim = _gl_convert_FILETIME_to_timespec (&info.ftLastWriteTime);
+      buf->st_ctim = _gl_convert_FILETIME_to_timespec (&info.ftCreationTime);
+# else
+      buf->st_atime = _gl_convert_FILETIME_to_POSIX (&info.ftLastAccessTime);
+      buf->st_mtime = _gl_convert_FILETIME_to_POSIX (&info.ftLastWriteTime);
+      buf->st_ctime = _gl_convert_FILETIME_to_POSIX (&info.ftCreationTime);
+# endif
+
+      FindClose (h);
+
+      ret = 0;
+    }
+
+   done:
+    if (ret >= 0 && check_dir && !S_ISDIR (buf->st_mode))
+      {
+        errno = ENOTDIR;
+        ret = -1;
+      }
+    if (malloca_rname != NULL)
+      {
+        int saved_errno = errno;
+        freea (malloca_rname);
+        errno = saved_errno;
+      }
+    return ret;
+  }
+
+ failed:
+  {
+    DWORD error = GetLastError ();
+    #if 0
+    fprintf (stderr, "rpl_stat error 0x%x\n", (unsigned int) error);
+    #endif
+
+    if (malloca_rname != NULL)
+      freea (malloca_rname);
+
+    switch (error)
+      {
+      /* Some of these errors probably cannot happen with the specific flags
+         that we pass to CreateFile.  But who knows...  */
+      case ERROR_FILE_NOT_FOUND: /* The last component of rname does not exist.  */
+      case ERROR_PATH_NOT_FOUND: /* Some directory component in rname does not exist.  */
+      case ERROR_BAD_PATHNAME:   /* rname is such as '\\server'.  */
+      case ERROR_BAD_NET_NAME:   /* rname is such as '\\server\nonexistentshare'.  */
+      case ERROR_INVALID_NAME:   /* rname contains wildcards, misplaced colon, etc.  */
+      case ERROR_DIRECTORY:
+        errno = ENOENT;
+        break;
+
+      case ERROR_ACCESS_DENIED:  /* rname is such as 'C:\System Volume Information\foo'.  */
+      case ERROR_SHARING_VIOLATION: /* rname is such as 'C:\pagefile.sys' (second approach only).  */
+                                    /* XXX map to EACCES or EPERM? */
+        errno = EACCES;
+        break;
+
+      case ERROR_OUTOFMEMORY:
+        errno = ENOMEM;
+        break;
+
+      case ERROR_WRITE_PROTECT:
+        errno = EROFS;
+        break;
+
+      case ERROR_WRITE_FAULT:
+      case ERROR_READ_FAULT:
+      case ERROR_GEN_FAILURE:
+        errno = EIO;
+        break;
+
+      case ERROR_BUFFER_OVERFLOW:
+      case ERROR_FILENAME_EXCED_RANGE:
+        errno = ENAMETOOLONG;
+        break;
+
+      case ERROR_DELETE_PENDING: /* XXX map to EACCES or EPERM? */
+        errno = EPERM;
+        break;
+
+      default:
+        errno = EINVAL;
+        break;
+      }
+
+    return -1;
+  }
+#else
+  int result = orig_stat (name, buf);
+  if (result == 0)
+    {
+# if REPLACE_FUNC_STAT_FILE
+      /* Solaris 9 mistakenly succeeds when given a non-directory with a
+         trailing slash.  */
+      if (!S_ISDIR (buf->st_mode))
+        {
+          size_t len = strlen (name);
+          if (ISSLASH (name[len - 1]))
+            {
+              errno = ENOTDIR;
+              return -1;
+            }
+        }
+# endif /* REPLACE_FUNC_STAT_FILE */
+      result = stat_time_normalize (result, buf);
+    }
+  return result;
+#endif
+}
index 53104a6..65a3977 100644 (file)
@@ -1,18 +1,18 @@
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
+   Copyright (C) 2008-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_STDARG_H
 
 #ifndef _@GUARD_PREFIX@_STDARG_H
 #define _@GUARD_PREFIX@_STDARG_H
 
+/* This file uses va_copy.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 #ifndef va_copy
 # define va_copy(a,b) ((a) = (b))
 #endif
diff --git a/gl/stdckdint.in.h b/gl/stdckdint.in.h
new file mode 100644 (file)
index 0000000..9184880
--- /dev/null
@@ -0,0 +1,35 @@
+/* stdckdint.h -- checked integer arithmetic
+
+   Copyright 2022-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GL_STDCKDINT_H
+#define _GL_STDCKDINT_H
+
+#include "intprops-internal.h"
+
+/* Store into *R the low-order bits of A + B, A - B, A * B, respectively.
+   Return 1 if the result overflows, 0 otherwise.
+   A, B, and *R can have any integer type other than char, bool, a
+   bit-precise integer type, or an enumeration type.
+
+   These are like the standard macros introduced in C23, except that
+   arguments should not have side effects.  */
+
+#define ckd_add(r, a, b) ((bool) _GL_INT_ADD_WRAPV (a, b, r))
+#define ckd_sub(r, a, b) ((bool) _GL_INT_SUBTRACT_WRAPV (a, b, r))
+#define ckd_mul(r, a, b) ((bool) _GL_INT_MULTIPLY_WRAPV (a, b, r))
+
+#endif /* _GL_STDCKDINT_H */
index 17fcaea..fa8998d 100644 (file)
@@ -1,25 +1,25 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2009-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
 /*
- * POSIX 2008 <stddef.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/stddef.h.html>
+ * POSIX 2008 and ISO C 23 <stddef.h> for platforms that have issues.
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html>
  */
 
 #if __GNUC__ >= 3
    remember if special invocation has ever been used to obtain wint_t,
    in which case we need to clean up NULL yet again.  */
 
-# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _@GUARD_PREFIX@_STDDEF_WINT_T)
 #  ifdef __need_wint_t
-#   undef _@GUARD_PREFIX@_STDDEF_H
-#   define _GL_STDDEF_WINT_T
+#   define _@GUARD_PREFIX@_STDDEF_WINT_T
 #  endif
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+   /* On TinyCC, make sure that the macros that indicate the special invocation
+      convention get undefined.  */
+#  undef __need_wchar_t
+#  undef __need_size_t
+#  undef __need_ptrdiff_t
+#  undef __need_NULL
+#  undef __need_wint_t
 # endif
 
 #else
 
 # ifndef _@GUARD_PREFIX@_STDDEF_H
 
+/* On AIX 7.2, with xlc in 64-bit mode, <stddef.h> defines max_align_t to a
+   type with alignment 4, but 'long' has alignment 8.  */
+#  if defined _AIX && defined __LP64__ && !@HAVE_MAX_ALIGN_T@
+#   if !GNULIB_defined_max_align_t
+#    ifdef _MAX_ALIGN_T
+/* /usr/include/stddef.h has already defined max_align_t.  Override it.  */
+typedef long rpl_max_align_t;
+#     define max_align_t rpl_max_align_t
+#    else
+/* Prevent /usr/include/stddef.h from defining max_align_t.  */
+typedef long max_align_t;
+#     define _MAX_ALIGN_T
+#    endif
+#    define __CLANG_MAX_ALIGN_T_DEFINED
+#    define GNULIB_defined_max_align_t 1
+#   endif
+#  endif
+
 /* The include_next requires a split double-inclusion guard.  */
 
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
 
-#  ifndef _@GUARD_PREFIX@_STDDEF_H
-#   define _@GUARD_PREFIX@_STDDEF_H
-
 /* On NetBSD 5.0, the definition of NULL lacks proper parentheses.  */
-#if @REPLACE_NULL@
-# undef NULL
-# ifdef __cplusplus
+#  if (@REPLACE_NULL@ \
+       && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _@GUARD_PREFIX@_STDDEF_WINT_T))
+#   undef NULL
+#   ifdef __cplusplus
    /* ISO C++ says that the macro NULL must expand to an integer constant
       expression, hence '((void *) 0)' is not allowed in C++.  */
-#  if __GNUG__ >= 3
+#    if __GNUG__ >= 3
     /* GNU C++ has a __null macro that behaves like an integer ('int' or
        'long') but has the same size as a pointer.  Use that, to avoid
        warnings.  */
-#   define NULL __null
+#     define NULL __null
+#    else
+#     define NULL 0L
+#    endif
+#   else
+#    define NULL ((void *) 0)
+#   endif
+#  endif
+
+#  ifndef _@GUARD_PREFIX@_STDDEF_H
+#   define _@GUARD_PREFIX@_STDDEF_H
+
+/* This file uses _Noreturn, _GL_ATTRIBUTE_NOTHROW.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
 #  else
-#   define NULL 0L
+#   define _GL_ATTRIBUTE_NOTHROW
 #  endif
 # else
-#  define NULL ((void *) 0)
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
 # endif
 #endif
 
 # define wchar_t int
 #endif
 
+/* Some platforms lack max_align_t.  The check for _GCC_MAX_ALIGN_T is
+   a hack in case the configure-time test was done with g++ even though
+   we are currently compiling with gcc.
+   On MSVC, max_align_t is defined only in C++ mode, after <cstddef> was
+   included.  Its definition is good since it has an alignment of 8 (on x86
+   and x86_64).
+   Similarly on OS/2 kLIBC.  */
+#if (defined _MSC_VER || (defined __KLIBC__ && !defined __LIBCN__)) \
+    && defined __cplusplus
+# include <cstddef>
+#else
+# if ! (@HAVE_MAX_ALIGN_T@ || (defined _GCC_MAX_ALIGN_T && !defined __clang__))
+#  if !GNULIB_defined_max_align_t
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+   but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+   and the C11 standard allows this.  Work around this problem by
+   using __alignof__ (which returns 8 for double) rather than _Alignof
+   (which returns 4), and align each union member accordingly.  */
+#   if defined __GNUC__ || (__clang_major__ >= 4)
+#    define _GL_STDDEF_ALIGNAS(type) \
+       __attribute__ ((__aligned__ (__alignof__ (type))))
+#   else
+#    define _GL_STDDEF_ALIGNAS(type) /* */
+#   endif
+typedef union
+{
+  char *__p _GL_STDDEF_ALIGNAS (char *);
+  double __d _GL_STDDEF_ALIGNAS (double);
+  long double __ld _GL_STDDEF_ALIGNAS (long double);
+  long int __i _GL_STDDEF_ALIGNAS (long int);
+} rpl_max_align_t;
+#   define max_align_t rpl_max_align_t
+#   define __CLANG_MAX_ALIGN_T_DEFINED
+#   define GNULIB_defined_max_align_t 1
+#  endif
+# endif
+#endif
+
+/* ISO C 23 § 7.21.1 The unreachable macro  */
+#ifndef unreachable
+
+/* Code borrowed from verify.h.  */
+# ifndef _GL_HAS_BUILTIN_UNREACHABLE
+#  if defined __clang_major__ && __clang_major__ < 5
+#   define _GL_HAS_BUILTIN_UNREACHABLE 0
+#  elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+#   define _GL_HAS_BUILTIN_UNREACHABLE 1
+#  elif defined __has_builtin
+#   define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+#  else
+#   define _GL_HAS_BUILTIN_UNREACHABLE 0
+#  endif
+# endif
+
+# if _GL_HAS_BUILTIN_UNREACHABLE
+#  define unreachable() __builtin_unreachable ()
+# elif 1200 <= _MSC_VER
+#  define unreachable() __assume (0)
+# else
+/* Declare abort(), without including <stdlib.h>.  */
+extern
+#  if defined __cplusplus
+"C"
+#  endif
+_Noreturn
+void abort (void)
+#  if defined __cplusplus && (__GLIBC__ >= 2)
+_GL_ATTRIBUTE_NOTHROW
+#  endif
+;
+#  define unreachable() abort ()
+# endif
+
+#endif
+
 #  endif /* _@GUARD_PREFIX@_STDDEF_H */
 # endif /* _@GUARD_PREFIX@_STDDEF_H */
 #endif /* __need_XXX */
diff --git a/gl/stdint.in.h b/gl/stdint.in.h
new file mode 100644 (file)
index 0000000..fea7483
--- /dev/null
@@ -0,0 +1,742 @@
+/* Copyright (C) 2001-2002, 2004-2024 Free Software Foundation, Inc.
+   Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
+   This file is part of gnulib.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/*
+ * ISO C 99 <stdint.h> for platforms that lack it.
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdint.h.html>
+ */
+
+#ifndef _@GUARD_PREFIX@_STDINT_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* When including a system file that in turn includes <inttypes.h>,
+   use the system <inttypes.h>, not our substitute.  This avoids
+   problems with (for example) VMS, whose <sys/bitypes.h> includes
+   <inttypes.h>.  */
+#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+
+/* On Android (Bionic libc), <sys/types.h> includes this file before
+   having defined 'time_t'.  Therefore in this case avoid including
+   other system header files; just include the system's <stdint.h>.
+   Ideally we should test __BIONIC__ here, but it is only defined after
+   <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
+#else
+
+/* Get those types that are already defined in other system include
+   files, so that we can "#define int8_t signed char" below without
+   worrying about a later system include file containing a "typedef
+   signed char int8_t;" that will get messed up by our macro.  Our
+   macros should all be consistent with the system versions, except
+   for the "fast" types and macros, which we recommend against using
+   in public interfaces due to compiler differences.  */
+
+#if @HAVE_STDINT_H@
+# if defined __sgi && ! defined __c99
+   /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
+      with "This header file is to be used only for c99 mode compilations"
+      diagnostics.  */
+#  define __STDINT_H__
+# endif
+
+  /* Some pre-C++11 <stdint.h> implementations need this.  */
+# ifdef __cplusplus
+#  ifndef __STDC_CONSTANT_MACROS
+#   define __STDC_CONSTANT_MACROS 1
+#  endif
+#  ifndef __STDC_LIMIT_MACROS
+#   define __STDC_LIMIT_MACROS 1
+#  endif
+# endif
+
+  /* Other systems may have an incomplete or buggy <stdint.h>.
+     Include it before <inttypes.h>, since any "#include <stdint.h>"
+     in <inttypes.h> would reinclude us, skipping our contents because
+     _@GUARD_PREFIX@_STDINT_H is defined.
+     The include_next requires a split double-inclusion guard.  */
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
+#endif
+
+#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+#define _@GUARD_PREFIX@_STDINT_H
+
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
+   LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH.  */
+#include <limits.h>
+
+/* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides
+   wint_t.  */
+#if @GNULIBHEADERS_OVERRIDE_WINT_T@
+# undef WINT_MIN
+# undef WINT_MAX
+# define WINT_MIN 0x0U
+# define WINT_MAX 0xffffffffU
+#endif
+
+#if ! @HAVE_C99_STDINT_H@
+
+/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
+   IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
+   AIX 5.2 <sys/types.h> isn't needed and causes troubles.
+   Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+   relies on the system <stdint.h> definitions, so include
+   <sys/types.h> after @NEXT_STDINT_H@.  */
+# if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+#  include <sys/types.h>
+# endif
+
+# if @HAVE_INTTYPES_H@
+  /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
+     int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
+     <inttypes.h> also defines intptr_t and uintptr_t.  */
+#  include <inttypes.h>
+# elif @HAVE_SYS_INTTYPES_H@
+  /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
+     the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
+#  include <sys/inttypes.h>
+# endif
+
+# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+  /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
+     int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
+     included by <sys/types.h>.  */
+#  include <sys/bitypes.h>
+# endif
+
+# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+
+/* Minimum and maximum values for an integer type under the usual assumption.
+   Return an unspecified value if BITS == 0, adding a check to pacify
+   picky compilers.  */
+
+/* These are separate macros, because if you try to merge these macros into
+   a single one, HP-UX cc rejects the resulting expression in constant
+   expressions.  */
+# define _STDINT_UNSIGNED_MIN(bits, zero) \
+    (zero)
+# define _STDINT_SIGNED_MIN(bits, zero) \
+    (~ _STDINT_MAX (1, bits, zero))
+
+# define _STDINT_MAX(signed, bits, zero) \
+    (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+
+#if !GNULIB_defined_stdint_types
+
+/* 7.18.1.1. Exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits.  */
+
+# undef int8_t
+# undef uint8_t
+typedef signed char gl_int8_t;
+typedef unsigned char gl_uint8_t;
+# define int8_t gl_int8_t
+# define uint8_t gl_uint8_t
+
+# undef int16_t
+# undef uint16_t
+typedef short int gl_int16_t;
+typedef unsigned short int gl_uint16_t;
+# define int16_t gl_int16_t
+# define uint16_t gl_uint16_t
+
+# undef int32_t
+# undef uint32_t
+typedef int gl_int32_t;
+typedef unsigned int gl_uint32_t;
+# define int32_t gl_int32_t
+# define uint32_t gl_uint32_t
+
+/* If the system defines INT64_MAX, assume int64_t works.  That way,
+   if the underlying platform defines int64_t to be a 64-bit long long
+   int, the code below won't mistakenly define it to be a 64-bit long
+   int, which would mess up C++ name mangling.  We must use #ifdef
+   rather than #if, to avoid an error with HP-UX 10.20 cc.  */
+
+# ifdef INT64_MAX
+#  define GL_INT64_T
+# else
+/* Do not undefine int64_t if gnulib is not being used with 64-bit
+   types, since otherwise it breaks platforms like Tandem/NSK.  */
+#  if LONG_MAX >> 31 >> 31 == 1
+#   undef int64_t
+typedef long int gl_int64_t;
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif defined _MSC_VER
+#   undef int64_t
+typedef __int64 gl_int64_t;
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  else
+#   undef int64_t
+typedef long long int gl_int64_t;
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  endif
+# endif
+
+# ifdef UINT64_MAX
+#  define GL_UINT64_T
+# else
+#  if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#   undef uint64_t
+typedef unsigned long int gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif defined _MSC_VER
+#   undef uint64_t
+typedef unsigned __int64 gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  else
+#   undef uint64_t
+typedef unsigned long long int gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  endif
+# endif
+
+/* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
+# define _UINT8_T
+# define _UINT32_T
+# define _UINT64_T
+
+
+/* 7.18.1.2. Minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+   are the same as the corresponding N_t types.  */
+
+# undef int_least8_t
+# undef uint_least8_t
+# undef int_least16_t
+# undef uint_least16_t
+# undef int_least32_t
+# undef uint_least32_t
+# undef int_least64_t
+# undef uint_least64_t
+# define int_least8_t int8_t
+# define uint_least8_t uint8_t
+# define int_least16_t int16_t
+# define uint_least16_t uint16_t
+# define int_least32_t int32_t
+# define uint_least32_t uint32_t
+# ifdef GL_INT64_T
+#  define int_least64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_least64_t uint64_t
+# endif
+
+/* 7.18.1.3. Fastest minimum-width integer types */
+
+/* Note: Other <stdint.h> substitutes may define these types differently.
+   It is not recommended to use these types in public header files. */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+   are taken from the same list of types.  The following code normally
+   uses types consistent with glibc, as that lessens the chance of
+   incompatibility with older GNU hosts.  */
+
+# undef int_fast8_t
+# undef uint_fast8_t
+# undef int_fast16_t
+# undef uint_fast16_t
+# undef int_fast32_t
+# undef uint_fast32_t
+# undef int_fast64_t
+# undef uint_fast64_t
+typedef signed char gl_int_fast8_t;
+typedef unsigned char gl_uint_fast8_t;
+
+# ifdef __sun
+/* Define types compatible with SunOS 5.10, so that code compiled under
+   earlier SunOS versions works with code compiled under SunOS 5.10.  */
+typedef int gl_int_fast32_t;
+typedef unsigned int gl_uint_fast32_t;
+# else
+typedef long int gl_int_fast32_t;
+typedef unsigned long int gl_uint_fast32_t;
+# endif
+typedef gl_int_fast32_t gl_int_fast16_t;
+typedef gl_uint_fast32_t gl_uint_fast16_t;
+
+# define int_fast8_t gl_int_fast8_t
+# define uint_fast8_t gl_uint_fast8_t
+# define int_fast16_t gl_int_fast16_t
+# define uint_fast16_t gl_uint_fast16_t
+# define int_fast32_t gl_int_fast32_t
+# define uint_fast32_t gl_uint_fast32_t
+# ifdef GL_INT64_T
+#  define int_fast64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_fast64_t uint64_t
+# endif
+
+/* 7.18.1.4. Integer types capable of holding object pointers */
+
+/* kLIBC's <stdint.h> defines _INTPTR_T_DECLARED and needs its own
+   definitions of intptr_t and uintptr_t (which use int and unsigned)
+   to avoid clashes with declarations of system functions like sbrk.
+   Similarly, MinGW WSL-5.4.1 <stdint.h> needs its own intptr_t and
+   uintptr_t to avoid conflicting declarations of system functions like
+   _findclose in <io.h>.  */
+# if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \
+       || (defined __INTPTR_WIDTH__ \
+           && __INTPTR_WIDTH__ != (defined _WIN64 ? LLONG_WIDTH : LONG_WIDTH)) \
+       || defined __MINGW32__)
+#  undef intptr_t
+#  undef uintptr_t
+#  ifdef _WIN64
+typedef long long int gl_intptr_t;
+typedef unsigned long long int gl_uintptr_t;
+#  else
+typedef long int gl_intptr_t;
+typedef unsigned long int gl_uintptr_t;
+#  endif
+#  define intptr_t gl_intptr_t
+#  define uintptr_t gl_uintptr_t
+# endif
+
+/* 7.18.1.5. Greatest-width integer types */
+
+/* Note: These types are compiler dependent. It may be unwise to use them in
+   public header files. */
+
+/* If the system defines INTMAX_MAX, assume that intmax_t works, and
+   similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
+   assuming one type where another is used by the system.  */
+
+# ifndef INTMAX_MAX
+#  undef INTMAX_C
+#  undef intmax_t
+#  if LONG_MAX >> 30 == 1
+typedef long long int gl_intmax_t;
+#   define intmax_t gl_intmax_t
+#  elif defined GL_INT64_T
+#   define intmax_t int64_t
+#  else
+typedef long int gl_intmax_t;
+#   define intmax_t gl_intmax_t
+#  endif
+# endif
+
+# ifndef UINTMAX_MAX
+#  undef UINTMAX_C
+#  undef uintmax_t
+#  if ULONG_MAX >> 31 == 1
+typedef unsigned long long int gl_uintmax_t;
+#   define uintmax_t gl_uintmax_t
+#  elif defined GL_UINT64_T
+#   define uintmax_t uint64_t
+#  else
+typedef unsigned long int gl_uintmax_t;
+#   define uintmax_t gl_uintmax_t
+#  endif
+# endif
+
+/* Verify that intmax_t and uintmax_t have the same size.  Too much code
+   breaks if this is not the case.  If this check fails, the reason is likely
+   to be found in the autoconf macros.  */
+typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
+                                ? 1 : -1];
+
+# define GNULIB_defined_stdint_types 1
+# endif /* !GNULIB_defined_stdint_types */
+
+/* 7.18.2. Limits of specified-width integer types */
+
+/* 7.18.2.1. Limits of exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits.  */
+
+# undef INT8_MIN
+# undef INT8_MAX
+# undef UINT8_MAX
+# define INT8_MIN  (~ INT8_MAX)
+# define INT8_MAX  127
+# define UINT8_MAX  255
+
+# undef INT16_MIN
+# undef INT16_MAX
+# undef UINT16_MAX
+# define INT16_MIN  (~ INT16_MAX)
+# define INT16_MAX  32767
+# define UINT16_MAX  65535
+
+# undef INT32_MIN
+# undef INT32_MAX
+# undef UINT32_MAX
+# define INT32_MIN  (~ INT32_MAX)
+# define INT32_MAX  2147483647
+# define UINT32_MAX  4294967295U
+
+# if defined GL_INT64_T && ! defined INT64_MAX
+/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
+   evaluates the latter incorrectly in preprocessor expressions.  */
+#  define INT64_MIN  (- INTMAX_C (1) << 63)
+#  define INT64_MAX  INTMAX_C (9223372036854775807)
+# endif
+
+# if defined GL_UINT64_T && ! defined UINT64_MAX
+#  define UINT64_MAX  UINTMAX_C (18446744073709551615)
+# endif
+
+/* 7.18.2.2. Limits of minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+   are the same as the corresponding N_t types.  */
+
+# undef INT_LEAST8_MIN
+# undef INT_LEAST8_MAX
+# undef UINT_LEAST8_MAX
+# define INT_LEAST8_MIN  INT8_MIN
+# define INT_LEAST8_MAX  INT8_MAX
+# define UINT_LEAST8_MAX  UINT8_MAX
+
+# undef INT_LEAST16_MIN
+# undef INT_LEAST16_MAX
+# undef UINT_LEAST16_MAX
+# define INT_LEAST16_MIN  INT16_MIN
+# define INT_LEAST16_MAX  INT16_MAX
+# define UINT_LEAST16_MAX  UINT16_MAX
+
+# undef INT_LEAST32_MIN
+# undef INT_LEAST32_MAX
+# undef UINT_LEAST32_MAX
+# define INT_LEAST32_MIN  INT32_MIN
+# define INT_LEAST32_MAX  INT32_MAX
+# define UINT_LEAST32_MAX  UINT32_MAX
+
+# undef INT_LEAST64_MIN
+# undef INT_LEAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_LEAST64_MIN  INT64_MIN
+#  define INT_LEAST64_MAX  INT64_MAX
+# endif
+
+# undef UINT_LEAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_LEAST64_MAX  UINT64_MAX
+# endif
+
+/* 7.18.2.3. Limits of fastest minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+   are taken from the same list of types.  */
+
+# undef INT_FAST8_MIN
+# undef INT_FAST8_MAX
+# undef UINT_FAST8_MAX
+# define INT_FAST8_MIN  SCHAR_MIN
+# define INT_FAST8_MAX  SCHAR_MAX
+# define UINT_FAST8_MAX  UCHAR_MAX
+
+# undef INT_FAST16_MIN
+# undef INT_FAST16_MAX
+# undef UINT_FAST16_MAX
+# define INT_FAST16_MIN  INT_FAST32_MIN
+# define INT_FAST16_MAX  INT_FAST32_MAX
+# define UINT_FAST16_MAX  UINT_FAST32_MAX
+
+# undef INT_FAST32_MIN
+# undef INT_FAST32_MAX
+# undef UINT_FAST32_MAX
+# ifdef __sun
+#  define INT_FAST32_MIN  INT_MIN
+#  define INT_FAST32_MAX  INT_MAX
+#  define UINT_FAST32_MAX  UINT_MAX
+# else
+#  define INT_FAST32_MIN  LONG_MIN
+#  define INT_FAST32_MAX  LONG_MAX
+#  define UINT_FAST32_MAX  ULONG_MAX
+# endif
+
+# undef INT_FAST64_MIN
+# undef INT_FAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_FAST64_MIN  INT64_MIN
+#  define INT_FAST64_MAX  INT64_MAX
+# endif
+
+# undef UINT_FAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_FAST64_MAX  UINT64_MAX
+# endif
+
+/* 7.18.2.4. Limits of integer types capable of holding object pointers */
+
+# undef INTPTR_MIN
+# undef INTPTR_MAX
+# undef UINTPTR_MAX
+# ifdef _WIN64
+#  define INTPTR_MIN  LLONG_MIN
+#  define INTPTR_MAX  LLONG_MAX
+#  define UINTPTR_MAX  ULLONG_MAX
+# else
+#  define INTPTR_MIN  LONG_MIN
+#  define INTPTR_MAX  LONG_MAX
+#  define UINTPTR_MAX  ULONG_MAX
+# endif
+
+/* 7.18.2.5. Limits of greatest-width integer types */
+
+# ifndef INTMAX_MAX
+#  undef INTMAX_MIN
+#  ifdef INT64_MAX
+#   define INTMAX_MIN  INT64_MIN
+#   define INTMAX_MAX  INT64_MAX
+#  else
+#   define INTMAX_MIN  INT32_MIN
+#   define INTMAX_MAX  INT32_MAX
+#  endif
+# endif
+
+# ifndef UINTMAX_MAX
+#  ifdef UINT64_MAX
+#   define UINTMAX_MAX  UINT64_MAX
+#  else
+#   define UINTMAX_MAX  UINT32_MAX
+#  endif
+# endif
+
+/* 7.18.3. Limits of other integer types */
+
+/* ptrdiff_t limits */
+# undef PTRDIFF_MIN
+# undef PTRDIFF_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (64, 0l)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+#  else
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (32, 0)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
+#  endif
+# else
+#  define PTRDIFF_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+#  define PTRDIFF_MAX  \
+    _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+# endif
+
+/* sig_atomic_t limits */
+# undef SIG_ATOMIC_MIN
+# undef SIG_ATOMIC_MAX
+# if @HAVE_SIGNED_SIG_ATOMIC_T@
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# else
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# endif
+# define SIG_ATOMIC_MAX  \
+   _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
+                0@SIG_ATOMIC_T_SUFFIX@)
+
+
+/* size_t limit */
+# undef SIZE_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+#  else
+#   define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  endif
+# else
+#  define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
+# endif
+
+/* wchar_t limits */
+/* Get WCHAR_MIN, WCHAR_MAX.
+   This include is not on the top, above, because on OSF/1 4.0 we have a
+   sequence of nested includes
+   <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
+   <stdint.h> and assumes its types are already defined.  */
+# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+#  define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+#  include <wchar.h>
+#  undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+# endif
+# undef WCHAR_MIN
+# undef WCHAR_MAX
+# if @HAVE_SIGNED_WCHAR_T@
+#  define WCHAR_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# else
+#  define WCHAR_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# endif
+# define WCHAR_MAX  \
+   _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+
+/* wint_t limits */
+/* If gnulib's <wchar.h> or <wctype.h> overrides wint_t, @WINT_T_SUFFIX@ is not
+   accurate, therefore use the definitions from above.  */
+# if !@GNULIBHEADERS_OVERRIDE_WINT_T@
+#  undef WINT_MIN
+#  undef WINT_MAX
+#  if @HAVE_SIGNED_WINT_T@
+#   define WINT_MIN  \
+     _STDINT_SIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#  else
+#   define WINT_MIN  \
+     _STDINT_UNSIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#  endif
+#  define WINT_MAX  \
+    _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+# endif
+
+/* 7.18.4. Macros for integer constants */
+
+/* 7.18.4.1. Macros for minimum-width integer constants */
+/* According to ISO C 99 Technical Corrigendum 1 */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
+
+# undef INT8_C
+# undef UINT8_C
+# define INT8_C(x) x
+# define UINT8_C(x) x
+
+# undef INT16_C
+# undef UINT16_C
+# define INT16_C(x) x
+# define UINT16_C(x) x
+
+# undef INT32_C
+# undef UINT32_C
+# define INT32_C(x) x
+# define UINT32_C(x) x ## U
+
+# undef INT64_C
+# undef UINT64_C
+# if LONG_MAX >> 31 >> 31 == 1
+#  define INT64_C(x) x##L
+# elif defined _MSC_VER
+#  define INT64_C(x) x##i64
+# else
+#  define INT64_C(x) x##LL
+# endif
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#  define UINT64_C(x) x##UL
+# elif defined _MSC_VER
+#  define UINT64_C(x) x##ui64
+# else
+#  define UINT64_C(x) x##ULL
+# endif
+
+/* 7.18.4.2. Macros for greatest-width integer constants */
+
+# ifndef INTMAX_C
+#  if LONG_MAX >> 30 == 1
+#   define INTMAX_C(x)   x##LL
+#  elif defined GL_INT64_T
+#   define INTMAX_C(x)   INT64_C(x)
+#  else
+#   define INTMAX_C(x)   x##L
+#  endif
+# endif
+
+# ifndef UINTMAX_C
+#  if ULONG_MAX >> 31 == 1
+#   define UINTMAX_C(x)  x##ULL
+#  elif defined GL_UINT64_T
+#   define UINTMAX_C(x)  UINT64_C(x)
+#  else
+#   define UINTMAX_C(x)  x##UL
+#  endif
+# endif
+
+#endif /* !@HAVE_C99_STDINT_H@ */
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (!defined UINTMAX_WIDTH \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# ifdef INT8_MAX
+#  define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX)
+# endif
+# ifdef UINT8_MAX
+#  define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX)
+# endif
+# ifdef INT16_MAX
+#  define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX)
+# endif
+# ifdef UINT16_MAX
+#  define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX)
+# endif
+# ifdef INT32_MAX
+#  define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX)
+# endif
+# ifdef UINT32_MAX
+#  define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX)
+# endif
+# ifdef INT64_MAX
+#  define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX)
+# endif
+# ifdef UINT64_MAX
+#  define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX)
+# endif
+# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX)
+# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX)
+# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX)
+# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX)
+# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX)
+# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX)
+# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX)
+# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX)
+# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX)
+# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX)
+# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX)
+# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX)
+# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX)
+# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX)
+# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX)
+# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX)
+# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX)
+# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX)
+# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX)
+# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX)
+# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX)
+# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX)
+# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX)
+# ifdef WINT_MAX
+#  define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX)
+# endif
+# ifdef SIG_ATOMIC_MAX
+#  define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX)
+# endif
+#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
+
+#endif /* _@GUARD_PREFIX@_STDINT_H */
+#endif /* !(defined __ANDROID__ && ...) */
+#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/gl/stdio-read.c b/gl/stdio-read.c
new file mode 100644 (file)
index 0000000..253b8aa
--- /dev/null
@@ -0,0 +1,168 @@
+/* POSIX compatible FILE stream read function.
+   Copyright (C) 2008-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2011.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+/* Replace these functions only if module 'nonblocking' is requested.  */
+#if GNULIB_NONBLOCKING
+
+/* On native Windows platforms, when read() is called on a non-blocking pipe
+   with an empty buffer, ReadFile() fails with error GetLastError() =
+   ERROR_NO_DATA, and read() in consequence fails with error EINVAL.  This
+   read() function is at the basis of the function which fills the buffer of
+   a FILE stream.  */
+
+# if defined _WIN32 && ! defined __CYGWIN__
+
+#  include <errno.h>
+#  include <io.h>
+
+#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+#  include <windows.h>
+
+#  if GNULIB_MSVC_NOTHROW
+#   include "msvc-nothrow.h"
+#  else
+#   include <io.h>
+#  endif
+
+/* Don't assume that UNICODE is not defined.  */
+#  undef GetNamedPipeHandleState
+#  define GetNamedPipeHandleState GetNamedPipeHandleStateA
+
+#  define CALL_WITH_ERRNO_FIX(RETTYPE, EXPRESSION, FAILED) \
+  if (ferror (stream))                                                        \
+    return (EXPRESSION);                                                      \
+  else                                                                        \
+    {                                                                         \
+      RETTYPE ret;                                                            \
+      SetLastError (0);                                                       \
+      ret = (EXPRESSION);                                                     \
+      if (FAILED)                                                             \
+        {                                                                     \
+          if (GetLastError () == ERROR_NO_DATA && ferror (stream))            \
+            {                                                                 \
+              int fd = fileno (stream);                                       \
+              if (fd >= 0)                                                    \
+                {                                                             \
+                  HANDLE h = (HANDLE) _get_osfhandle (fd);                    \
+                  if (GetFileType (h) == FILE_TYPE_PIPE)                      \
+                    {                                                         \
+                      /* h is a pipe or socket.  */                           \
+                      DWORD state;                                            \
+                      if (GetNamedPipeHandleState (h, &state, NULL, NULL,     \
+                                                   NULL, NULL, 0)             \
+                          && (state & PIPE_NOWAIT) != 0)                      \
+                        /* h is a pipe in non-blocking mode.                  \
+                           Change errno from EINVAL to EAGAIN.  */            \
+                        errno = EAGAIN;                                       \
+                    }                                                         \
+                }                                                             \
+            }                                                                 \
+        }                                                                     \
+      return ret;                                                             \
+    }
+
+/* Enable this function definition only if gnulib's <stdio.h> has prepared it.
+   Otherwise we get a function definition conflict with mingw64's <stdio.h>.  */
+#  if GNULIB_SCANF
+int
+scanf (const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfscanf (stdin, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+/* Enable this function definition only if gnulib's <stdio.h> has prepared it.
+   Otherwise we get a function definition conflict with mingw64's <stdio.h>.  */
+#  if GNULIB_FSCANF
+int
+fscanf (FILE *stream, const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfscanf (stream, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+/* Enable this function definition only if gnulib's <stdio.h> has prepared it.
+   Otherwise we get a function definition conflict with mingw64's <stdio.h>.  */
+#  if GNULIB_VSCANF
+int
+vscanf (const char *format, va_list args)
+{
+  return vfscanf (stdin, format, args);
+}
+#  endif
+
+/* Enable this function definition only if gnulib's <stdio.h> has prepared it.
+   Otherwise we get a function definition conflict with mingw64's <stdio.h>.  */
+#  if GNULIB_VFSCANF
+int
+vfscanf (FILE *stream, const char *format, va_list args)
+#undef vfscanf
+{
+  CALL_WITH_ERRNO_FIX (int, vfscanf (stream, format, args), ret == EOF)
+}
+#  endif
+
+int
+getchar (void)
+{
+  return fgetc (stdin);
+}
+
+int
+fgetc (FILE *stream)
+#undef fgetc
+{
+  CALL_WITH_ERRNO_FIX (int, fgetc (stream), ret == EOF)
+}
+
+char *
+fgets (char *s, int n, FILE *stream)
+#undef fgets
+{
+  CALL_WITH_ERRNO_FIX (char *, fgets (s, n, stream), ret == NULL)
+}
+
+/* We intentionally don't bother to fix gets.  */
+
+size_t
+fread (void *ptr, size_t s, size_t n, FILE *stream)
+#undef fread
+{
+  CALL_WITH_ERRNO_FIX (size_t, fread (ptr, s, n, stream), ret < n)
+}
+
+# endif
+#endif
diff --git a/gl/stdio-write.c b/gl/stdio-write.c
new file mode 100644 (file)
index 0000000..ca6aa00
--- /dev/null
@@ -0,0 +1,206 @@
+/* POSIX compatible FILE stream write function.
+   Copyright (C) 2008-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2008.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+/* Replace these functions only if module 'nonblocking' or module 'sigpipe' is
+   requested.  */
+#if GNULIB_NONBLOCKING || GNULIB_SIGPIPE
+
+/* On native Windows platforms, SIGPIPE does not exist.  When write() is
+   called on a pipe with no readers, WriteFile() fails with error
+   GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
+   error EINVAL.  This write() function is at the basis of the function
+   which flushes the buffer of a FILE stream.  */
+
+# if defined _WIN32 && ! defined __CYGWIN__
+
+#  include <errno.h>
+#  include <signal.h>
+#  include <io.h>
+
+#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+#  include <windows.h>
+
+#  if GNULIB_MSVC_NOTHROW
+#   include "msvc-nothrow.h"
+#  else
+#   include <io.h>
+#  endif
+
+/* Don't assume that UNICODE is not defined.  */
+#  undef GetNamedPipeHandleState
+#  define GetNamedPipeHandleState GetNamedPipeHandleStateA
+
+#  if GNULIB_NONBLOCKING
+#   define CLEAR_ERRNO \
+      errno = 0;
+#   define HANDLE_ENOSPC \
+          if (errno == ENOSPC && ferror (stream))                             \
+            {                                                                 \
+              int fd = fileno (stream);                                       \
+              if (fd >= 0)                                                    \
+                {                                                             \
+                  HANDLE h = (HANDLE) _get_osfhandle (fd);                    \
+                  if (GetFileType (h) == FILE_TYPE_PIPE)                      \
+                    {                                                         \
+                      /* h is a pipe or socket.  */                           \
+                      DWORD state;                                            \
+                      if (GetNamedPipeHandleState (h, &state, NULL, NULL,     \
+                                                   NULL, NULL, 0)             \
+                          && (state & PIPE_NOWAIT) != 0)                      \
+                        /* h is a pipe in non-blocking mode.                  \
+                           Change errno from ENOSPC to EAGAIN.  */            \
+                        errno = EAGAIN;                                       \
+                    }                                                         \
+                }                                                             \
+            }                                                                 \
+          else
+#  else
+#   define CLEAR_ERRNO
+#   define HANDLE_ENOSPC
+#  endif
+
+#  if GNULIB_SIGPIPE
+#   define CLEAR_LastError \
+      SetLastError (0);
+#   define HANDLE_ERROR_NO_DATA \
+          if (GetLastError () == ERROR_NO_DATA && ferror (stream))            \
+            {                                                                 \
+              int fd = fileno (stream);                                       \
+              if (fd >= 0                                                     \
+                  && GetFileType ((HANDLE) _get_osfhandle (fd))               \
+                     == FILE_TYPE_PIPE)                                       \
+                {                                                             \
+                  /* Try to raise signal SIGPIPE.  */                         \
+                  raise (SIGPIPE);                                            \
+                  /* If it is currently blocked or ignored, change errno from \
+                     EINVAL to EPIPE.  */                                     \
+                  errno = EPIPE;                                              \
+                }                                                             \
+            }                                                                 \
+          else
+#  else
+#   define CLEAR_LastError
+#   define HANDLE_ERROR_NO_DATA
+#  endif
+
+#  define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \
+  if (ferror (stream))                                                        \
+    return (EXPRESSION);                                                      \
+  else                                                                        \
+    {                                                                         \
+      RETTYPE ret;                                                            \
+      CLEAR_ERRNO                                                             \
+      CLEAR_LastError                                                         \
+      ret = (EXPRESSION);                                                     \
+      if (FAILED)                                                             \
+        {                                                                     \
+          HANDLE_ENOSPC                                                       \
+          HANDLE_ERROR_NO_DATA                                                \
+          ;                                                                   \
+        }                                                                     \
+      return ret;                                                             \
+    }
+
+#  if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */
+int
+printf (const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfprintf (stdout, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+#  if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */
+int
+fprintf (FILE *stream, const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfprintf (stream, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+#  if !REPLACE_VPRINTF_POSIX /* avoid collision with vprintf.c */
+int
+vprintf (const char *format, va_list args)
+{
+  return vfprintf (stdout, format, args);
+}
+#  endif
+
+#  if !REPLACE_VFPRINTF_POSIX /* avoid collision with vfprintf.c */
+int
+vfprintf (FILE *stream, const char *format, va_list args)
+#undef vfprintf
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF)
+}
+#  endif
+
+int
+putchar (int c)
+{
+  return fputc (c, stdout);
+}
+
+int
+fputc (int c, FILE *stream)
+#undef fputc
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF)
+}
+
+int
+fputs (const char *string, FILE *stream)
+#undef fputs
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF)
+}
+
+int
+puts (const char *string)
+#undef puts
+{
+  FILE *stream = stdout;
+  CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF)
+}
+
+size_t
+fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
+#undef fwrite
+{
+  CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n)
+}
+
+# endif
+#endif
similarity index 58%
rename from gltests/stdio.in.h
rename to gl/stdio.in.h
index b1b543d..4947307 100644 (file)
@@ -1,19 +1,19 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2012 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 
 #ifndef _@GUARD_PREFIX@_STDIO_H
 
+/* Suppress macOS deprecation warnings for sprintf and vsprintf.  */
+#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE
+# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#  include <AvailabilityMacros.h>
+# endif
+# if (defined MAC_OS_X_VERSION_MIN_REQUIRED \
+      && 130000 <= MAC_OS_X_VERSION_MIN_REQUIRED)
+#  define _POSIX_C_SOURCE 200809L
+#  define _GL_DEFINED__POSIX_C_SOURCE
+# endif
+#endif
+
 #define _GL_ALREADY_INCLUDING_STDIO_H
 
 /* The include_next requires a split double-inclusion guard.  */
 
 #undef _GL_ALREADY_INCLUDING_STDIO_H
 
+#ifdef _GL_DEFINED__POSIX_C_SOURCE
+# undef _GL_DEFINED__POSIX_C_SOURCE
+# undef _POSIX_C_SOURCE
+#endif
+
 #ifndef _@GUARD_PREFIX@_STDIO_H
 #define _@GUARD_PREFIX@_STDIO_H
 
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_FORMAT,
+   _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* Get va_list.  Needed on many systems, including glibc 2.8.  */
 #include <stdarg.h>
 
    May also define off_t to a 64-bit type on native Windows.  */
 #include <sys/types.h>
 
+/* Solaris 10 and NetBSD 7.0 declare renameat in <unistd.h>, not in <stdio.h>.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && (defined __sun || defined __NetBSD__) \
+    && ! defined __GLIBC__
+# include <unistd.h>
+#endif
+
+/* Android 4.3 declares renameat in <sys/stat.h>, not in <stdio.h>.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
+    && ! defined __GLIBC__
+# include <sys/stat.h>
+#endif
+
+/* MSVC declares 'perror' in <stdlib.h>, not in <stdio.h>.  We must include
+   it before we  #define perror rpl_perror.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <stdlib.h>
+#endif
+
+/* MSVC declares 'remove' in <io.h>, not in <stdio.h>.  We must include
+   it before we  #define remove rpl_remove.  */
+/* MSVC declares 'rename' in <io.h>, not in <stdio.h>.  We must include
+   it before we  #define rename rpl_rename.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <io.h>
+#endif
+
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
 /* The __attribute__ feature is available in gcc versions 2.5 and later.
    The __-protected variants of the attributes 'format' and 'printf' are
    accepted by gcc versions 2.6.4 (effectively 2.7) and later.
    We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
    gnulib and libintl do '#define printf __printf__' when they override
    the 'printf' function.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#ifndef _GL_ATTRIBUTE_FORMAT
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || defined __clang__
+#  define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+# else
+#  define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* An __attribute__ __format__ specifier for a function that takes a format
+   string and arguments, where the format string directives are the ones
+   standardized by ISO C99 and POSIX.
+   _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD  */
+/* __gnu_printf__ is supported in GCC >= 4.4.  */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+# define _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD __gnu_printf__
+#else
+# define _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD __printf__
+#endif
+
+/* An __attribute__ __format__ specifier for a function that takes a format
+   string and arguments, where the format string directives are the ones of the
+   system printf(), rather than the ones standardized by ISO C99 and POSIX.
+   _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM  */
+/* On mingw, Gnulib sets __USE_MINGW_ANSI_STDIO in order to get closer to
+   the standards.  The macro GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU indicates
+   whether this change is effective.  On older mingw, it is not.  */
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD
 #else
-# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+# define _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM __printf__
 #endif
 
-/* _GL_ATTRIBUTE_FORMAT_PRINTF
+/* _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD
    indicates to GCC that the function takes a format string and arguments,
    where the format string directives are the ones standardized by ISO C99
    and POSIX.  */
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
-   _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
-#else
-# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
-   _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
-#endif
+#define _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, formatstring_parameter, first_argument))
 
-/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF,
+/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD,
    except that it indicates to GCC that the supported format string directives
    are the ones of the system printf(), rather than the ones standardized by
    ISO C99 and POSIX.  */
 #define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
-  _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM, formatstring_parameter, first_argument))
 
 /* _GL_ATTRIBUTE_FORMAT_SCANF
    indicates to GCC that the function takes a format string and arguments,
 #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
   _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
 
-/* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>.  */
-/* But in any case avoid namespace pollution on glibc systems.  */
-#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \
-    && ! defined __GLIBC__
-# include <unistd.h>
-#endif
-
-
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 #define _GL_STDIO_STRINGIZE(token) #token
 #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
 
+/* When also using extern inline, suppress the use of static inline in
+   standard headers of problematic Apple configurations, as Libc at
+   least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+   <https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+     && defined __GNUC__ && defined __STDC__)
+# undef putc_unlocked
+#endif
+
+
+/* Maximum number of characters produced by printing a NaN value.  */
+#ifndef _PRINTF_NAN_LEN_MAX
+# if defined __FreeBSD__ || defined __DragonFly__ \
+     || defined __NetBSD__ \
+     || (defined __APPLE__ && defined __MACH__)
+/* On BSD systems, a NaN value prints as just "nan", without a sign.  */
+#  define _PRINTF_NAN_LEN_MAX 3
+# elif (__GLIBC__ >= 2) || MUSL_LIBC || defined __OpenBSD__ || defined __sun || defined __CYGWIN__
+/* glibc, musl libc, OpenBSD, Solaris libc, and Cygwin produce "[-]nan".  */
+#  define _PRINTF_NAN_LEN_MAX 4
+# elif defined _AIX
+/* AIX produces "[-]NaNQ".  */
+#  define _PRINTF_NAN_LEN_MAX 5
+# elif defined _WIN32 && !defined __CYGWIN__
+/* On native Windows, the output can be:
+   - with MSVC ucrt: "[-]nan" or "[-]nan(ind)" or "[-]nan(snan)",
+   - with mingw: "[-]1.#IND" or "[-]1.#QNAN".  */
+#  define _PRINTF_NAN_LEN_MAX 10
+# elif defined __sgi
+/* On IRIX, the output typically is "[-]nan0xNNNNNNNN" with 8 hexadecimal
+   digits.  */
+#  define _PRINTF_NAN_LEN_MAX 14
+# else
+/* We don't know, but 32 should be a safe maximum.  */
+#  define _PRINTF_NAN_LEN_MAX 32
+# endif
+#endif
+
 
 #if @GNULIB_DPRINTF@
 # if @REPLACE_DPRINTF@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dprintf rpl_dprintf
 #  endif
-_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *restrict format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                                 _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...));
+_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *restrict format, ...));
 # else
 #  if !@HAVE_DPRINTF@
-_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *restrict format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                                 _GL_ARG_NONNULL ((2)));
 #  endif
-_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...));
+_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (dprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef dprintf
 # if HAVE_RAW_DECL_DPRINTF
@@ -162,7 +318,9 @@ _GL_CXXALIAS_RPL (fclose, int, (FILE *stream));
 # else
 _GL_CXXALIAS_SYS (fclose, int, (FILE *stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fclose);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef fclose
 /* Assume fclose is always declared.  */
@@ -170,24 +328,103 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
                  "use gnulib module fclose for portable POSIX compliance");
 #endif
 
+#if @GNULIB_MDA_FCLOSEALL@
+/* On native Windows, map 'fcloseall' to '_fcloseall', so that -loldnames is
+   not required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::fcloseall on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fcloseall
+#   define fcloseall _fcloseall
+#  endif
+_GL_CXXALIAS_MDA (fcloseall, int, (void));
+# else
+#  if @HAVE_DECL_FCLOSEALL@
+#   if defined __FreeBSD__ || defined __DragonFly__
+_GL_CXXALIAS_SYS (fcloseall, void, (void));
+#   else
+_GL_CXXALIAS_SYS (fcloseall, int, (void));
+#   endif
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCLOSEALL@
+_GL_CXXALIASWARN (fcloseall);
+# endif
+#endif
+
 #if @GNULIB_FDOPEN@
 # if @REPLACE_FDOPEN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef fdopen
 #   define fdopen rpl_fdopen
 #  endif
-_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode)
-                                  _GL_ARG_NONNULL ((2)));
+_GL_FUNCDECL_RPL (fdopen, FILE *,
+                  (int fd, const char *mode)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
 _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdopen
+#   define fdopen _fdopen
+#  endif
+_GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode));
 # else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+                  (int fd, const char *mode)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+#   else
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+                  (int fd, const char *mode)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+#   endif
+#  endif
 _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
 # endif
 _GL_CXXALIASWARN (fdopen);
-#elif defined GNULIB_POSIXCHECK
-# undef fdopen
+#else
+# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen
+/* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+                  (int fd, const char *mode)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+#  else
+_GL_FUNCDECL_SYS (fdopen, FILE *,
+                  (int fd, const char *mode)
+                  _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef fdopen
 /* Assume fdopen is always declared.  */
 _GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - "
                  "use gnulib module fdopen for portability");
+# elif @GNULIB_MDA_FDOPEN@
+/* On native Windows, map 'fdopen' to '_fdopen', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::fdopen always.  */
+#  if defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef fdopen
+#    define fdopen _fdopen
+#   endif
+_GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode));
+#  else
+_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
+#  endif
+_GL_CXXALIASWARN (fdopen);
+# endif
 #endif
 
 #if @GNULIB_FFLUSH@
@@ -206,7 +443,9 @@ _GL_CXXALIAS_RPL (fflush, int, (FILE *gl_stream));
 # else
 _GL_CXXALIAS_SYS (fflush, int, (FILE *gl_stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fflush);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef fflush
 /* Assume fflush is always declared.  */
@@ -225,7 +464,9 @@ _GL_CXXALIAS_RPL (fgetc, int, (FILE *stream));
 # else
 _GL_CXXALIAS_SYS (fgetc, int, (FILE *stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fgetc);
+# endif
 #endif
 
 #if @GNULIB_FGETS@
@@ -234,33 +475,75 @@ _GL_CXXALIASWARN (fgetc);
 #   undef fgets
 #   define fgets rpl_fgets
 #  endif
-_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream)
-                                 _GL_ARG_NONNULL ((1, 3)));
-_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream));
+_GL_FUNCDECL_RPL (fgets, char *,
+                  (char *restrict s, int n, FILE *restrict stream)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (fgets, char *,
+                  (char *restrict s, int n, FILE *restrict stream));
 # else
-_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream));
+_GL_CXXALIAS_SYS (fgets, char *,
+                  (char *restrict s, int n, FILE *restrict stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fgets);
+# endif
+#endif
+
+#if @GNULIB_MDA_FILENO@
+/* On native Windows, map 'fileno' to '_fileno', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::fileno always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fileno
+#   define fileno _fileno
+#  endif
+_GL_CXXALIAS_MDA (fileno, int, (FILE *restrict stream));
+# else
+_GL_CXXALIAS_SYS (fileno, int, (FILE *restrict stream));
+# endif
+_GL_CXXALIASWARN (fileno);
 #endif
 
 #if @GNULIB_FOPEN@
-# if @REPLACE_FOPEN@
+# if (@GNULIB_FOPEN@ && @REPLACE_FOPEN@) \
+     || (@GNULIB_FOPEN_GNU@ && @REPLACE_FOPEN_FOR_FOPEN_GNU@)
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef fopen
 #   define fopen rpl_fopen
 #  endif
-_GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode)
-                                 _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode));
+_GL_FUNCDECL_RPL (fopen, FILE *,
+                  (const char *restrict filename, const char *restrict mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+_GL_CXXALIAS_RPL (fopen, FILE *,
+                  (const char *restrict filename, const char *restrict mode));
 # else
-_GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode));
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose.  */
+_GL_FUNCDECL_SYS (fopen, FILE *,
+                  (const char *restrict filename, const char *restrict mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+#  endif
+_GL_CXXALIAS_SYS (fopen, FILE *,
+                  (const char *restrict filename, const char *restrict mode));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fopen);
-#elif defined GNULIB_POSIXCHECK
-# undef fopen
+# endif
+#else
+# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fopen
+/* For -Wmismatched-dealloc: Associate fopen with fclose or rpl_fclose.  */
+_GL_FUNCDECL_SYS (fopen, FILE *,
+                  (const char *restrict filename, const char *restrict mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1));
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef fopen
 /* Assume fopen is always declared.  */
 _GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - "
                  "use gnulib module fopen for portability");
+# endif
 #endif
 
 #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@
@@ -271,19 +554,25 @@ _GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX complian
 #  endif
 #  define GNULIB_overrides_fprintf 1
 #  if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
-_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
-                                _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_RPL (fprintf, int,
+                  (FILE *restrict fp, const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
 #  else
-_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3)
-                                _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_RPL (fprintf, int,
+                  (FILE *restrict fp, const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
 #  endif
-_GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...));
+_GL_CXXALIAS_RPL (fprintf, int,
+                  (FILE *restrict fp, const char *restrict format, ...));
 # else
-_GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...));
+_GL_CXXALIAS_SYS (fprintf, int,
+                  (FILE *restrict fp, const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fprintf);
+# endif
 #endif
 #if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
 # if !GNULIB_overrides_fprintf
@@ -334,7 +623,9 @@ _GL_CXXALIAS_RPL (fputc, int, (int c, FILE *stream));
 # else
 _GL_CXXALIAS_SYS (fputc, int, (int c, FILE *stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fputc);
+# endif
 #endif
 
 #if @GNULIB_FPUTS@
@@ -343,13 +634,18 @@ _GL_CXXALIASWARN (fputc);
 #   undef fputs
 #   define fputs rpl_fputs
 #  endif
-_GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream)
-                              _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream));
+_GL_FUNCDECL_RPL (fputs, int,
+                  (const char *restrict string, FILE *restrict stream)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fputs, int,
+                  (const char *restrict string, FILE *restrict stream));
 # else
-_GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream));
+_GL_CXXALIAS_SYS (fputs, int,
+                  (const char *restrict string, FILE *restrict stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fputs);
+# endif
 #endif
 
 #if @GNULIB_FREAD@
@@ -358,13 +654,21 @@ _GL_CXXALIASWARN (fputs);
 #   undef fread
 #   define fread rpl_fread
 #  endif
-_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)
-                                 _GL_ARG_NONNULL ((4)));
-_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+_GL_FUNCDECL_RPL (fread, size_t,
+                  (void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream)
+                  _GL_ARG_NONNULL ((4)));
+_GL_CXXALIAS_RPL (fread, size_t,
+                  (void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream));
 # else
-_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+_GL_CXXALIAS_SYS (fread, size_t,
+                  (void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fread);
+# endif
 #endif
 
 #if @GNULIB_FREOPEN@
@@ -374,15 +678,20 @@ _GL_CXXALIASWARN (fread);
 #   define freopen rpl_freopen
 #  endif
 _GL_FUNCDECL_RPL (freopen, FILE *,
-                  (const char *filename, const char *mode, FILE *stream)
+                  (const char *restrict filename, const char *restrict mode,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((2, 3)));
 _GL_CXXALIAS_RPL (freopen, FILE *,
-                  (const char *filename, const char *mode, FILE *stream));
+                  (const char *restrict filename, const char *restrict mode,
+                   FILE *restrict stream));
 # else
 _GL_CXXALIAS_SYS (freopen, FILE *,
-                  (const char *filename, const char *mode, FILE *stream));
+                  (const char *restrict filename, const char *restrict mode,
+                   FILE *restrict stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (freopen);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef freopen
 /* Assume freopen is always declared.  */
@@ -397,14 +706,19 @@ _GL_WARN_ON_USE (freopen,
 #   undef fscanf
 #   define fscanf rpl_fscanf
 #  endif
-_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...)
-                               _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
-                               _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...));
+_GL_FUNCDECL_RPL (fscanf, int,
+                  (FILE *restrict stream, const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fscanf, int,
+                  (FILE *restrict stream, const char *restrict format, ...));
 # else
-_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...));
+_GL_CXXALIAS_SYS (fscanf, int,
+                  (FILE *restrict stream, const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fscanf);
+# endif
 #endif
 
 
@@ -455,7 +769,9 @@ _GL_CXXALIAS_RPL (fseek, int, (FILE *fp, long offset, int whence));
 # else
 _GL_CXXALIAS_SYS (fseek, int, (FILE *fp, long offset, int whence));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fseek);
+# endif
 #endif
 
 #if @GNULIB_FSEEKO@
@@ -518,7 +834,9 @@ _GL_CXXALIAS_RPL (ftell, long, (FILE *fp));
 # else
 _GL_CXXALIAS_SYS (ftell, long, (FILE *fp));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ftell);
+# endif
 #endif
 
 #if @GNULIB_FTELLO@
@@ -567,32 +885,43 @@ _GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB "
 #   define fwrite rpl_fwrite
 #  endif
 _GL_FUNCDECL_RPL (fwrite, size_t,
-                  (const void *ptr, size_t s, size_t n, FILE *stream)
+                  (const void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((1, 4)));
 _GL_CXXALIAS_RPL (fwrite, size_t,
-                  (const void *ptr, size_t s, size_t n, FILE *stream));
+                  (const void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream));
 # else
 _GL_CXXALIAS_SYS (fwrite, size_t,
-                  (const void *ptr, size_t s, size_t n, FILE *stream));
+                  (const void *restrict ptr, size_t s, size_t n,
+                   FILE *restrict stream));
 
-/* Work around glibc bug 11959
-   <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
+/* Work around bug 11959 when fortifying glibc 2.4 through 2.15
+   <https://sourceware.org/bugzilla/show_bug.cgi?id=11959>,
    which sometimes causes an unwanted diagnostic for fwrite calls.
-   This affects only function declaration attributes, so it's not
-   needed for C++.  */
-#  if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
-static inline size_t _GL_ARG_NONNULL ((1, 4))
-rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
-{
-  size_t r = fwrite (ptr, s, n, stream);
-  (void) r;
-  return r;
-}
+   This affects only function declaration attributes under certain
+   versions of gcc and clang, and is not needed for C++.  */
+#  if (0 < __USE_FORTIFY_LEVEL                                          \
+       && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \
+       && 3 < __GNUC__ + (4 <= __GNUC_MINOR__)                          \
+       && !defined __cplusplus)
 #   undef fwrite
+#   undef fwrite_unlocked
+extern size_t __REDIRECT (rpl_fwrite,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite);
+extern size_t __REDIRECT (rpl_fwrite_unlocked,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite_unlocked);
 #   define fwrite rpl_fwrite
+#   define fwrite_unlocked rpl_fwrite_unlocked
 #  endif
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fwrite);
+# endif
 #endif
 
 #if @GNULIB_GETC@
@@ -606,7 +935,9 @@ _GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream));
 # else
 _GL_CXXALIAS_SYS (getc, int, (FILE *stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getc);
+# endif
 #endif
 
 #if @GNULIB_GETCHAR@
@@ -620,7 +951,9 @@ _GL_CXXALIAS_RPL (getchar, int, (void));
 # else
 _GL_CXXALIAS_SYS (getchar, int, (void));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getchar);
+# endif
 #endif
 
 #if @GNULIB_GETDELIM@
@@ -636,24 +969,30 @@ _GL_CXXALIASWARN (getchar);
 #   define getdelim rpl_getdelim
 #  endif
 _GL_FUNCDECL_RPL (getdelim, ssize_t,
-                  (char **lineptr, size_t *linesize, int delimiter,
-                   FILE *stream)
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   int delimiter,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((1, 2, 4)));
 _GL_CXXALIAS_RPL (getdelim, ssize_t,
-                  (char **lineptr, size_t *linesize, int delimiter,
-                   FILE *stream));
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   int delimiter,
+                   FILE *restrict stream));
 # else
 #  if !@HAVE_DECL_GETDELIM@
 _GL_FUNCDECL_SYS (getdelim, ssize_t,
-                  (char **lineptr, size_t *linesize, int delimiter,
-                   FILE *stream)
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   int delimiter,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((1, 2, 4)));
 #  endif
 _GL_CXXALIAS_SYS (getdelim, ssize_t,
-                  (char **lineptr, size_t *linesize, int delimiter,
-                   FILE *stream));
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   int delimiter,
+                   FILE *restrict stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getdelim);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getdelim
 # if HAVE_RAW_DECL_GETDELIM
@@ -675,20 +1014,24 @@ _GL_WARN_ON_USE (getdelim, "getdelim is unportable - "
 #   define getline rpl_getline
 #  endif
 _GL_FUNCDECL_RPL (getline, ssize_t,
-                  (char **lineptr, size_t *linesize, FILE *stream)
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((1, 2, 3)));
 _GL_CXXALIAS_RPL (getline, ssize_t,
-                  (char **lineptr, size_t *linesize, FILE *stream));
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   FILE *restrict stream));
 # else
 #  if !@HAVE_DECL_GETLINE@
 _GL_FUNCDECL_SYS (getline, ssize_t,
-                  (char **lineptr, size_t *linesize, FILE *stream)
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   FILE *restrict stream)
                   _GL_ARG_NONNULL ((1, 2, 3)));
 #  endif
 _GL_CXXALIAS_SYS (getline, ssize_t,
-                  (char **lineptr, size_t *linesize, FILE *stream));
+                  (char **restrict lineptr, size_t *restrict linesize,
+                   FILE *restrict stream));
 # endif
-# if @HAVE_DECL_GETLINE@
+# if __GLIBC__ >= 2 && @HAVE_DECL_GETLINE@
 _GL_CXXALIASWARN (getline);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -703,10 +1046,33 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
    so any use of gets warrants an unconditional warning; besides, C11
    removed it.  */
 #undef gets
-#if HAVE_RAW_DECL_GETS
+#if HAVE_RAW_DECL_GETS && !defined __cplusplus
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
+#if @GNULIB_MDA_GETW@
+/* On native Windows, map 'getw' to '_getw', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::getw always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getw
+#   define getw _getw
+#  endif
+_GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream));
+# else
+#  if @HAVE_DECL_GETW@
+#   if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE.  */
+_GL_FUNCDECL_SYS (getw, int, (FILE *restrict stream));
+#   endif
+_GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream));
+#  endif
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getw);
+# endif
+#endif
 
 #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
 struct obstack;
@@ -721,7 +1087,7 @@ struct obstack;
 #  endif
 _GL_FUNCDECL_RPL (obstack_printf, int,
                   (struct obstack *obs, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (obstack_printf, int,
                   (struct obstack *obs, const char *format, ...));
@@ -729,7 +1095,7 @@ _GL_CXXALIAS_RPL (obstack_printf, int,
 #  if !@HAVE_DECL_OBSTACK_PRINTF@
 _GL_FUNCDECL_SYS (obstack_printf, int,
                   (struct obstack *obs, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (obstack_printf, int,
@@ -742,7 +1108,7 @@ _GL_CXXALIASWARN (obstack_printf);
 #  endif
 _GL_FUNCDECL_RPL (obstack_vprintf, int,
                   (struct obstack *obs, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (obstack_vprintf, int,
                   (struct obstack *obs, const char *format, va_list args));
@@ -750,7 +1116,7 @@ _GL_CXXALIAS_RPL (obstack_vprintf, int,
 #  if !@HAVE_DECL_OBSTACK_PRINTF@
 _GL_FUNCDECL_SYS (obstack_vprintf, int,
                   (struct obstack *obs, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (obstack_vprintf, int,
@@ -786,7 +1152,9 @@ _GL_CXXALIAS_RPL (perror, void, (const char *string));
 # else
 _GL_CXXALIAS_SYS (perror, void, (const char *string));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (perror);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef perror
 /* Assume perror is always declared.  */
@@ -800,43 +1168,56 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
 #   undef popen
 #   define popen rpl_popen
 #  endif
-_GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode)
-                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_RPL (popen, FILE *,
+                  (const char *cmd, const char *mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
 _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
 # else
-#  if !@HAVE_POPEN@
-_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode)
-                                 _GL_ARG_NONNULL ((1, 2)));
+#  if !@HAVE_POPEN@ || __GNUC__ >= 11
+_GL_FUNCDECL_SYS (popen, FILE *,
+                  (const char *cmd, const char *mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
 #  endif
 _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
 # endif
 _GL_CXXALIASWARN (popen);
-#elif defined GNULIB_POSIXCHECK
-# undef popen
-# if HAVE_RAW_DECL_POPEN
+#else
+# if @GNULIB_PCLOSE@ && __GNUC__ >= 11 && !defined popen
+/* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose.  */
+_GL_FUNCDECL_SYS (popen, FILE *,
+                  (const char *cmd, const char *mode)
+                  _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)
+                  _GL_ATTRIBUTE_MALLOC);
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef popen
+#  if HAVE_RAW_DECL_POPEN
 _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - "
                  "use gnulib module popen or pipe for more portability");
+#  endif
 # endif
 #endif
 
 #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@
 # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
      || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
-#  if defined __GNUC__
+#  if defined __GNUC__ || defined __clang__
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 /* Don't break __attribute__((format(printf,M,N))).  */
 #    define printf __printf__
 #   endif
 #   if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
 _GL_FUNCDECL_RPL_1 (__printf__, int,
-                    (const char *format, ...)
+                    (const char *restrict format, ...)
                     __asm__ (@ASM_SYMBOL_PREFIX@
                              _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
-                    _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+                    _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2)
                     _GL_ARG_NONNULL ((1)));
 #   else
 _GL_FUNCDECL_RPL_1 (__printf__, int,
-                    (const char *format, ...)
+                    (const char *restrict format, ...)
                     __asm__ (@ASM_SYMBOL_PREFIX@
                              _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
                     _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2)
@@ -848,16 +1229,18 @@ _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...));
 #    define printf rpl_printf
 #   endif
 _GL_FUNCDECL_RPL (printf, int,
-                  (const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+                  (const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2)
                   _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (printf, int, (const char *format, ...));
+_GL_CXXALIAS_RPL (printf, int, (const char *restrict format, ...));
 #  endif
 #  define GNULIB_overrides_printf 1
 # else
-_GL_CXXALIAS_SYS (printf, int, (const char *format, ...));
+_GL_CXXALIAS_SYS (printf, int, (const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (printf);
+# endif
 #endif
 #if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK
 # if !GNULIB_overrides_printf
@@ -880,7 +1263,9 @@ _GL_CXXALIAS_RPL_1 (putc, rpl_fputc, int, (int c, FILE *stream));
 # else
 _GL_CXXALIAS_SYS (putc, int, (int c, FILE *stream));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (putc);
+# endif
 #endif
 
 #if @GNULIB_PUTCHAR@
@@ -894,7 +1279,9 @@ _GL_CXXALIAS_RPL (putchar, int, (int c));
 # else
 _GL_CXXALIAS_SYS (putchar, int, (int c));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (putchar);
+# endif
 #endif
 
 #if @GNULIB_PUTS@
@@ -908,7 +1295,33 @@ _GL_CXXALIAS_RPL (puts, int, (const char *string));
 # else
 _GL_CXXALIAS_SYS (puts, int, (const char *string));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (puts);
+# endif
+#endif
+
+#if @GNULIB_MDA_PUTW@
+/* On native Windows, map 'putw' to '_putw', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::putw always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putw
+#   define putw _putw
+#  endif
+_GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream));
+# else
+#  if @HAVE_DECL_PUTW@
+#   if defined __APPLE__ && defined __MACH__
+/* The presence of the declaration depends on _POSIX_C_SOURCE.  */
+_GL_FUNCDECL_SYS (putw, int, (int w, FILE *restrict stream));
+#   endif
+_GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream));
+#  endif
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (putw);
+# endif
 #endif
 
 #if @GNULIB_REMOVE@
@@ -922,7 +1335,9 @@ _GL_CXXALIAS_RPL (remove, int, (const char *name));
 # else
 _GL_CXXALIAS_SYS (remove, int, (const char *name));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (remove);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef remove
 /* Assume remove is always declared.  */
@@ -945,7 +1360,9 @@ _GL_CXXALIAS_RPL (rename, int,
 _GL_CXXALIAS_SYS (rename, int,
                   (const char *old_filename, const char *new_filename));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (rename);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef rename
 /* Assume rename is always declared.  */
@@ -984,33 +1401,35 @@ _GL_WARN_ON_USE (renameat, "renameat is not portable - "
 
 #if @GNULIB_SCANF@
 # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
-#  if defined __GNUC__
+#  if defined __GNUC__ || defined __clang__
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #    undef scanf
 /* Don't break __attribute__((format(scanf,M,N))).  */
 #    define scanf __scanf__
 #   endif
 _GL_FUNCDECL_RPL_1 (__scanf__, int,
-                    (const char *format, ...)
+                    (const char *restrict format, ...)
                     __asm__ (@ASM_SYMBOL_PREFIX@
                              _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf))
                     _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
                     _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...));
+_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *restrict format, ...));
 #  else
 #   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #    undef scanf
 #    define scanf rpl_scanf
 #   endif
-_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...)
+_GL_FUNCDECL_RPL (scanf, int, (const char *restrict format, ...)
                               _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
                               _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...));
+_GL_CXXALIAS_RPL (scanf, int, (const char *restrict format, ...));
 #  endif
 # else
-_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...));
+_GL_CXXALIAS_SYS (scanf, int, (const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (scanf);
+# endif
 #endif
 
 #if @GNULIB_SNPRINTF@
@@ -1018,23 +1437,30 @@ _GL_CXXALIASWARN (scanf);
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define snprintf rpl_snprintf
 #  endif
+#  define GNULIB_overrides_snprintf 1
 _GL_FUNCDECL_RPL (snprintf, int,
-                  (char *str, size_t size, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+                  (char *restrict str, size_t size,
+                   const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4)
                   _GL_ARG_NONNULL ((3)));
 _GL_CXXALIAS_RPL (snprintf, int,
-                  (char *str, size_t size, const char *format, ...));
+                  (char *restrict str, size_t size,
+                   const char *restrict format, ...));
 # else
 #  if !@HAVE_DECL_SNPRINTF@
 _GL_FUNCDECL_SYS (snprintf, int,
-                  (char *str, size_t size, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+                  (char *restrict str, size_t size,
+                   const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4)
                   _GL_ARG_NONNULL ((3)));
 #  endif
 _GL_CXXALIAS_SYS (snprintf, int,
-                  (char *str, size_t size, const char *format, ...));
+                  (char *restrict str, size_t size,
+                   const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (snprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef snprintf
 # if HAVE_RAW_DECL_SNPRINTF
@@ -1057,14 +1483,20 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define sprintf rpl_sprintf
 #  endif
-_GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
-                                _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...));
+#  define GNULIB_overrides_sprintf 1
+_GL_FUNCDECL_RPL (sprintf, int,
+                  (char *restrict str, const char *restrict format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (sprintf, int,
+                  (char *restrict str, const char *restrict format, ...));
 # else
-_GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...));
+_GL_CXXALIAS_SYS (sprintf, int,
+                  (char *restrict str, const char *restrict format, ...));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (sprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef sprintf
 /* Assume sprintf is always declared.  */
@@ -1073,22 +1505,56 @@ _GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - "
                  "POSIX compliance");
 #endif
 
+#if @GNULIB_MDA_TEMPNAM@
+/* On native Windows, map 'tempnam' to '_tempnam', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::tempnam always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef tempnam
+#   define tempnam _tempnam
+#  endif
+_GL_CXXALIAS_MDA (tempnam, char *, (const char *dir, const char *prefix));
+# else
+_GL_CXXALIAS_SYS (tempnam, char *, (const char *dir, const char *prefix));
+# endif
+_GL_CXXALIASWARN (tempnam);
+#endif
+
 #if @GNULIB_TMPFILE@
 # if @REPLACE_TMPFILE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define tmpfile rpl_tmpfile
 #  endif
-_GL_FUNCDECL_RPL (tmpfile, FILE *, (void));
+_GL_FUNCDECL_RPL (tmpfile, FILE *, (void)
+                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                                   _GL_ATTRIBUTE_MALLOC);
 _GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
 # else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose.  */
+_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
+                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                                   _GL_ATTRIBUTE_MALLOC);
+#  endif
 _GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (tmpfile);
-#elif defined GNULIB_POSIXCHECK
-# undef tmpfile
-# if HAVE_RAW_DECL_TMPFILE
+# endif
+#else
+# if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile
+/* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose.  */
+_GL_FUNCDECL_SYS (tmpfile, FILE *, (void)
+                                   _GL_ATTRIBUTE_DEALLOC (fclose, 1)
+                                   _GL_ATTRIBUTE_MALLOC);
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef tmpfile
+#  if HAVE_RAW_DECL_TMPFILE
 _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - "
                  "use gnulib module tmpfile for portability");
+#  endif
 # endif
 #endif
 
@@ -1101,9 +1567,10 @@ _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define asprintf rpl_asprintf
 #  endif
+#  define GNULIB_overrides_asprintf
 _GL_FUNCDECL_RPL (asprintf, int,
                   (char **result, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (asprintf, int,
                   (char **result, const char *format, ...));
@@ -1111,7 +1578,7 @@ _GL_CXXALIAS_RPL (asprintf, int,
 #  if !@HAVE_VASPRINTF@
 _GL_FUNCDECL_SYS (asprintf, int,
                   (char **result, const char *format, ...)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (asprintf, int,
@@ -1122,9 +1589,10 @@ _GL_CXXALIASWARN (asprintf);
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define vasprintf rpl_vasprintf
 #  endif
+#  define GNULIB_overrides_vasprintf 1
 _GL_FUNCDECL_RPL (vasprintf, int,
                   (char **result, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (vasprintf, int,
                   (char **result, const char *format, va_list args));
@@ -1132,7 +1600,7 @@ _GL_CXXALIAS_RPL (vasprintf, int,
 #  if !@HAVE_VASPRINTF@
 _GL_FUNCDECL_SYS (vasprintf, int,
                   (char **result, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (vasprintf, int,
@@ -1146,22 +1614,27 @@ _GL_CXXALIASWARN (vasprintf);
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define vdprintf rpl_vdprintf
 #  endif
-_GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args)
-                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
-                                 _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args));
+_GL_FUNCDECL_RPL (vdprintf, int,
+                  (int fd, const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (vdprintf, int,
+                  (int fd, const char *restrict format, va_list args));
 # else
 #  if !@HAVE_VDPRINTF@
-_GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args)
-                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
-                                 _GL_ARG_NONNULL ((2)));
+_GL_FUNCDECL_SYS (vdprintf, int,
+                  (int fd, const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
+                  _GL_ARG_NONNULL ((2)));
 #  endif
 /* Need to cast, because on Solaris, the third parameter will likely be
                                                     __va_list args.  */
 _GL_CXXALIAS_SYS_CAST (vdprintf, int,
-                       (int fd, const char *format, va_list args));
+                       (int fd, const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vdprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef vdprintf
 # if HAVE_RAW_DECL_VDPRINTF
@@ -1178,23 +1651,32 @@ _GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - "
 #  endif
 #  define GNULIB_overrides_vfprintf 1
 #  if @GNULIB_VFPRINTF_POSIX@
-_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
-                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
-                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_RPL (vfprintf, int,
+                  (FILE *restrict fp,
+                   const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
 #  else
-_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
-                                 _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0)
-                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_FUNCDECL_RPL (vfprintf, int,
+                  (FILE *restrict fp,
+                   const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
 #  endif
-_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args));
+_GL_CXXALIAS_RPL (vfprintf, int,
+                  (FILE *restrict fp,
+                   const char *restrict format, va_list args));
 # else
 /* Need to cast, because on Solaris, the third parameter is
                                                       __va_list args
    and GCC's fixincludes did not change this to __gnuc_va_list.  */
 _GL_CXXALIAS_SYS_CAST (vfprintf, int,
-                       (FILE *fp, const char *format, va_list args));
+                       (FILE *restrict fp,
+                        const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vfprintf);
+# endif
 #endif
 #if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
 # if !GNULIB_overrides_vfprintf
@@ -1213,16 +1695,21 @@ _GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - "
 #   define vfscanf rpl_vfscanf
 #  endif
 _GL_FUNCDECL_RPL (vfscanf, int,
-                  (FILE *stream, const char *format, va_list args)
+                  (FILE *restrict stream,
+                   const char *restrict format, va_list args)
                   _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (vfscanf, int,
-                  (FILE *stream, const char *format, va_list args));
+                  (FILE *restrict stream,
+                   const char *restrict format, va_list args));
 # else
 _GL_CXXALIAS_SYS (vfscanf, int,
-                  (FILE *stream, const char *format, va_list args));
+                  (FILE *restrict stream,
+                   const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vfscanf);
+# endif
 #endif
 
 #if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@
@@ -1233,22 +1720,25 @@ _GL_CXXALIASWARN (vfscanf);
 #  endif
 #  define GNULIB_overrides_vprintf 1
 #  if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
-_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
-                                _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0)
+_GL_FUNCDECL_RPL (vprintf, int, (const char *restrict format, va_list args)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0)
                                 _GL_ARG_NONNULL ((1)));
 #  else
-_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
+_GL_FUNCDECL_RPL (vprintf, int, (const char *restrict format, va_list args)
                                 _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0)
                                 _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args));
+_GL_CXXALIAS_RPL (vprintf, int, (const char *restrict format, va_list args));
 # else
 /* Need to cast, because on Solaris, the second parameter is
                                                           __va_list args
    and GCC's fixincludes did not change this to __gnuc_va_list.  */
-_GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args));
+_GL_CXXALIAS_SYS_CAST (vprintf, int,
+                       (const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vprintf);
+# endif
 #endif
 #if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
 # if !GNULIB_overrides_vprintf
@@ -1266,14 +1756,16 @@ _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - "
 #   undef vscanf
 #   define vscanf rpl_vscanf
 #  endif
-_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args)
+_GL_FUNCDECL_RPL (vscanf, int, (const char *restrict format, va_list args)
                                _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0)
                                _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args));
+_GL_CXXALIAS_RPL (vscanf, int, (const char *restrict format, va_list args));
 # else
-_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args));
+_GL_CXXALIAS_SYS (vscanf, int, (const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vscanf);
+# endif
 #endif
 
 #if @GNULIB_VSNPRINTF@
@@ -1281,23 +1773,30 @@ _GL_CXXALIASWARN (vscanf);
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define vsnprintf rpl_vsnprintf
 #  endif
+#  define GNULIB_overrides_vsnprintf 1
 _GL_FUNCDECL_RPL (vsnprintf, int,
-                  (char *str, size_t size, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+                  (char *restrict str, size_t size,
+                   const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0)
                   _GL_ARG_NONNULL ((3)));
 _GL_CXXALIAS_RPL (vsnprintf, int,
-                  (char *str, size_t size, const char *format, va_list args));
+                  (char *restrict str, size_t size,
+                   const char *restrict format, va_list args));
 # else
 #  if !@HAVE_DECL_VSNPRINTF@
 _GL_FUNCDECL_SYS (vsnprintf, int,
-                  (char *str, size_t size, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+                  (char *restrict str, size_t size,
+                   const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0)
                   _GL_ARG_NONNULL ((3)));
 #  endif
 _GL_CXXALIAS_SYS (vsnprintf, int,
-                  (char *str, size_t size, const char *format, va_list args));
+                  (char *restrict str, size_t size,
+                   const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vsnprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef vsnprintf
 # if HAVE_RAW_DECL_VSNPRINTF
@@ -1311,20 +1810,26 @@ _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define vsprintf rpl_vsprintf
 #  endif
+#  define GNULIB_overrides_vsprintf 1
 _GL_FUNCDECL_RPL (vsprintf, int,
-                  (char *str, const char *format, va_list args)
-                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  (char *restrict str,
+                   const char *restrict format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (vsprintf, int,
-                  (char *str, const char *format, va_list args));
+                  (char *restrict str,
+                   const char *restrict format, va_list args));
 # else
 /* Need to cast, because on Solaris, the third parameter is
                                                        __va_list args
    and GCC's fixincludes did not change this to __gnuc_va_list.  */
 _GL_CXXALIAS_SYS_CAST (vsprintf, int,
-                       (char *str, const char *format, va_list args));
+                       (char *restrict str,
+                        const char *restrict format, va_list args));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (vsprintf);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef vsprintf
 /* Assume vsprintf is always declared.  */
@@ -1333,7 +1838,6 @@ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - "
                       "POSIX compliance");
 #endif
 
-
 #endif /* _@GUARD_PREFIX@_STDIO_H */
 #endif /* _@GUARD_PREFIX@_STDIO_H */
 #endif
diff --git a/gl/stdlib.in.h b/gl/stdlib.in.h
new file mode 100644 (file)
index 0000000..5f92905
--- /dev/null
@@ -0,0 +1,1851 @@
+/* A GNU-like <stdlib.h>.
+
+   Copyright (C) 1995, 2001-2004, 2006-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
+/* Special invocation conventions inside some gnulib header files,
+   and inside some glibc header files, respectively.  */
+
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
+
+/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* NetBSD 5.0 mis-defines NULL.  */
+#include <stddef.h>
+
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
+/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
+#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
+# include <sys/loadavg.h>
+#endif
+
+/* Native Windows platforms declare _mktemp() in <io.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
+# include <io.h>
+#endif
+
+#if @GNULIB_RANDOM_R@
+
+/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
+   from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
+   'struct random_data'.  */
+# if @HAVE_RANDOM_H@
+#  include <random.h>
+# endif
+
+# include <stdint.h>
+
+# if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+   But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
+#  if !GNULIB_defined_struct_random_data
+struct random_data
+{
+  int32_t *fptr;                /* Front pointer.  */
+  int32_t *rptr;                /* Rear pointer.  */
+  int32_t *state;               /* Array of state values.  */
+  int rand_type;                /* Type of random number generator.  */
+  int rand_deg;                 /* Degree of random number generator.  */
+  int rand_sep;                 /* Distance between front and rear.  */
+  int32_t *end_ptr;             /* Pointer behind state table.  */
+};
+#   define GNULIB_defined_struct_random_data 1
+#  endif
+# endif
+#endif
+
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
+/* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
+/* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps.  */
+/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
+/* But avoid namespace pollution on glibc systems and native Windows.  */
+# include <unistd.h>
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
+/* The definition of _Noreturn is copied here.  */
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+
+/* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
+   with proper operation of xargs.  */
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#elif EXIT_FAILURE != 1
+# undef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+   the 'atexit' handlers.  */
+# if @REPLACE__EXIT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef _Exit
+#   define _Exit rpl__Exit
+#  endif
+_GL_FUNCDECL_RPL (_Exit, _Noreturn void, (int status));
+_GL_CXXALIAS_RPL (_Exit, void, (int status));
+# else
+#  if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
+#  endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (_Exit);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+                 "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FREE_POSIX@
+# if @REPLACE_FREE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef free
+#   define free rpl_free
+#  endif
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_FUNCDECL_RPL (free, void, (void *ptr) _GL_ATTRIBUTE_NOTHROW);
+#  else
+_GL_FUNCDECL_RPL (free, void, (void *ptr));
+#  endif
+_GL_CXXALIAS_RPL (free, void, (void *ptr));
+# else
+_GL_CXXALIAS_SYS (free, void, (void *ptr));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (free);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef free
+/* Assume free is always declared.  */
+_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
+                 "use gnulib module free for portability");
+#endif
+
+
+/* Allocate memory with indefinite extent and specified alignment.  */
+#if @GNULIB_ALIGNED_ALLOC@
+# if @REPLACE_ALIGNED_ALLOC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef aligned_alloc
+#   define aligned_alloc rpl_aligned_alloc
+#  endif
+_GL_FUNCDECL_RPL (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size));
+# else
+#  if @HAVE_ALIGNED_ALLOC@
+#   if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free.  */
+#    if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#    else
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#    endif
+#   endif
+_GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size));
+#  endif
+# endif
+# if (__GLIBC__ >= 2) && @HAVE_ALIGNED_ALLOC@
+_GL_CXXALIASWARN (aligned_alloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc
+/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef aligned_alloc
+#  if HAVE_RAW_DECL_ALIGNED_ALLOC
+_GL_WARN_ON_USE (aligned_alloc, "aligned_alloc is not portable - "
+                 "use gnulib module aligned_alloc for portability");
+#  endif
+# endif
+#endif
+
+#if @GNULIB_ATOLL@
+/* Parse a signed decimal integer.
+   Returns the value of the integer.  Errors are not detected.  */
+# if !@HAVE_ATOLL@
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
+                                    _GL_ATTRIBUTE_PURE
+                                    _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
+_GL_CXXALIASWARN (atoll);
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# if HAVE_RAW_DECL_ATOLL
+_GL_WARN_ON_USE (atoll, "atoll is unportable - "
+                 "use gnulib module atoll for portability");
+# endif
+#endif
+
+#if @GNULIB_CALLOC_POSIX@
+# if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \
+     || (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef calloc
+#   define calloc rpl_calloc
+#  endif
+_GL_FUNCDECL_RPL (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (calloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc
+/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef calloc
+/* Assume calloc is always declared.  */
+_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
+                 "use gnulib module calloc-posix for portability");
+# endif
+#endif
+
+#if @GNULIB_CANONICALIZE_FILE_NAME@
+# if @REPLACE_CANONICALIZE_FILE_NAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define canonicalize_file_name rpl_canonicalize_file_name
+#  endif
+_GL_FUNCDECL_RPL (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
+# else
+#  if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
+# endif
+# ifndef GNULIB_defined_canonicalize_file_name
+#  define GNULIB_defined_canonicalize_file_name \
+     (!@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@)
+# endif
+_GL_CXXALIASWARN (canonicalize_file_name);
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name
+/* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or
+   rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef canonicalize_file_name
+#  if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+_GL_WARN_ON_USE (canonicalize_file_name,
+                 "canonicalize_file_name is unportable - "
+                 "use gnulib module canonicalize-lgpl for portability");
+#  endif
+# endif
+#endif
+
+#if @GNULIB_MDA_ECVT@
+/* On native Windows, map 'ecvt' to '_ecvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::ecvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ecvt
+#   define ecvt _ecvt
+#  endif
+_GL_CXXALIAS_MDA (ecvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+# else
+#  if @HAVE_DECL_ECVT@
+_GL_CXXALIAS_SYS (ecvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_ECVT@
+_GL_CXXALIASWARN (ecvt);
+# endif
+#endif
+
+#if @GNULIB_MDA_FCVT@
+/* On native Windows, map 'fcvt' to '_fcvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::fcvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fcvt
+#   define fcvt _fcvt
+#  endif
+_GL_CXXALIAS_MDA (fcvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+# else
+#  if @HAVE_DECL_FCVT@
+_GL_CXXALIAS_SYS (fcvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCVT@
+_GL_CXXALIASWARN (fcvt);
+# endif
+#endif
+
+#if @GNULIB_MDA_GCVT@
+/* On native Windows, map 'gcvt' to '_gcvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::gcvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gcvt
+#   define gcvt _gcvt
+#  endif
+_GL_CXXALIAS_MDA (gcvt, char *, (double number, int ndigits, char *buf));
+# else
+#  if @HAVE_DECL_GCVT@
+_GL_CXXALIAS_SYS (gcvt, char *, (double number, int ndigits, char *buf));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_GCVT@
+_GL_CXXALIASWARN (gcvt);
+# endif
+#endif
+
+#if @GNULIB_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+   The three numbers are the load average of the last 1 minute, the last 5
+   minutes, and the last 15 minutes, respectively.
+   LOADAVG is an array of NELEM numbers.  */
+# if @REPLACE_GETLOADAVG@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getloadavg
+#   define getloadavg rpl_getloadavg
+#  endif
+_GL_FUNCDECL_RPL (getloadavg, int, (double loadavg[], int nelem)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getloadavg, int, (double loadavg[], int nelem));
+# else
+#  if !@HAVE_DECL_GETLOADAVG@
+_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getloadavg);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# if HAVE_RAW_DECL_GETLOADAVG
+_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
+                 "use gnulib module getloadavg for portability");
+# endif
+#endif
+
+#if @GNULIB_GETPROGNAME@
+/* Return the base name of the executing program.
+   On native Windows this will usually end in ".exe" or ".EXE". */
+# if @REPLACE_GETPROGNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getprogname
+#   define getprogname rpl_getprogname
+#  endif
+#  if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+#  else
+_GL_FUNCDECL_RPL (getprogname, const char *, (void));
+#  endif
+_GL_CXXALIAS_RPL (getprogname, const char *, (void));
+# else
+#  if !@HAVE_GETPROGNAME@
+#   if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+#   else
+_GL_FUNCDECL_SYS (getprogname, const char *, (void));
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (getprogname, const char *, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getprogname);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getprogname
+# if HAVE_RAW_DECL_GETPROGNAME
+_GL_WARN_ON_USE (getprogname, "getprogname is unportable - "
+                 "use gnulib module getprogname for portability");
+# endif
+#endif
+
+#if @GNULIB_GETSUBOPT@
+/* Assuming *OPTIONP is a comma separated list of elements of the form
+   "token" or "token=value", getsubopt parses the first of these elements.
+   If the first element refers to a "token" that is member of the given
+   NULL-terminated array of tokens:
+     - It replaces the comma with a NUL byte, updates *OPTIONP to point past
+       the first option and the comma, sets *VALUEP to the value of the
+       element (or NULL if it doesn't contain an "=" sign),
+     - It returns the index of the "token" in the given array of tokens.
+   Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
+   For more details see the POSIX specification.
+   https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */
+# if @REPLACE_GETSUBOPT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getsubopt
+#   define getsubopt rpl_getsubopt
+#  endif
+_GL_FUNCDECL_RPL (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+_GL_CXXALIAS_RPL (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep));
+# else
+#  if !@HAVE_GETSUBOPT@
+_GL_FUNCDECL_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+#  endif
+_GL_CXXALIAS_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getsubopt);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getsubopt
+# if HAVE_RAW_DECL_GETSUBOPT
+_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
+                 "use gnulib module getsubopt for portability");
+# endif
+#endif
+
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+   pseudo-terminal whose master side is specified by FD.  */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
+                 "use gnulib module grantpt for portability");
+# endif
+#endif
+
+/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
+   rely on GNU or POSIX semantics for malloc and realloc (for example,
+   by never specifying a zero size), so it does not need malloc or
+   realloc to be redefined.  */
+#if @GNULIB_MALLOC_POSIX@
+# if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \
+     || (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@)
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef malloc
+#   define malloc rpl_malloc
+#  endif
+_GL_FUNCDECL_RPL (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (malloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc
+/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+#  undef malloc
+/* Assume malloc is always declared.  */
+_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
+                 "use gnulib module malloc-posix for portability");
+# endif
+#endif
+
+/* Return maximum number of bytes of a multibyte character.  */
+#if @REPLACE_MB_CUR_MAX@
+# if !GNULIB_defined_MB_CUR_MAX
+static inline
+int gl_MB_CUR_MAX (void)
+{
+  /* Turn the value 3 to the value 4, as needed for the UTF-8 encoding.  */
+  return MB_CUR_MAX + (MB_CUR_MAX == 3);
+}
+#  undef MB_CUR_MAX
+#  define MB_CUR_MAX gl_MB_CUR_MAX ()
+#  define GNULIB_defined_MB_CUR_MAX 1
+# endif
+#endif
+
+/* Convert a string to a wide string.  */
+#if @GNULIB_MBSTOWCS@
+# if @REPLACE_MBSTOWCS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbstowcs
+#   define mbstowcs rpl_mbstowcs
+#  endif
+_GL_FUNCDECL_RPL (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len));
+# else
+_GL_CXXALIAS_SYS (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbstowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbstowcs
+# if HAVE_RAW_DECL_MBSTOWCS
+_GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - "
+                 "use gnulib module mbstowcs for portability");
+# endif
+#endif
+
+/* Convert a multibyte character to a wide character.  */
+#if @GNULIB_MBTOWC@
+# if @REPLACE_MBTOWC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbtowc
+#   define mbtowc rpl_mbtowc
+#  endif
+_GL_FUNCDECL_RPL (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+_GL_CXXALIAS_RPL (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+# else
+#  if !@HAVE_MBTOWC@
+_GL_FUNCDECL_SYS (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+#  endif
+_GL_CXXALIAS_SYS (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbtowc);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbtowc
+# if HAVE_RAW_DECL_MBTOWC
+_GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
+                 "use gnulib module mbtowc for portability");
+# endif
+#endif
+
+#if @GNULIB_MKDTEMP@
+/* Create a unique temporary directory from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the directory name unique.
+   Returns TEMPLATE, or a null pointer if it cannot get a unique name.
+   The directory is created mode 700.  */
+# if !@HAVE_MKDTEMP@
+_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
+_GL_CXXALIASWARN (mkdtemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdtemp
+# if HAVE_RAW_DECL_MKDTEMP
+_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
+                 "use gnulib module mkdtemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKOSTEMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkostemp
+#   define mkostemp rpl_mkostemp
+#  endif
+_GL_FUNCDECL_RPL (mkostemp, int, (char * /*template*/, int /*flags*/)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemp, int, (char * /*template*/, int /*flags*/));
+# else
+#  if !@HAVE_MKOSTEMP@
+_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
+                                 _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mkostemp);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemp
+# if HAVE_RAW_DECL_MKOSTEMP
+_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
+                 "use gnulib module mkostemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE before a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKOSTEMPS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkostemps
+#   define mkostemps rpl_mkostemps
+#  endif
+_GL_FUNCDECL_RPL (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# else
+#  if !@HAVE_MKOSTEMPS@
+_GL_FUNCDECL_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mkostemps);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemps
+# if HAVE_RAW_DECL_MKOSTEMPS
+_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
+                 "use gnulib module mkostemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKSTEMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define mkstemp rpl_mkstemp
+#  endif
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
+# else
+#  if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mkstemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemp
+# if HAVE_RAW_DECL_MKSTEMP
+_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
+                 "use gnulib module mkstemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE prior to a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if !@HAVE_MKSTEMPS@
+_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
+                                 _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
+_GL_CXXALIASWARN (mkstemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemps
+# if HAVE_RAW_DECL_MKSTEMPS
+_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
+                 "use gnulib module mkstemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MDA_MKTEMP@
+/* On native Windows, map 'mktemp' to '_mktemp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::mktemp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mktemp
+#   define mktemp _mktemp
+#  endif
+_GL_CXXALIAS_MDA (mktemp, char *, (char * /*template*/));
+# else
+_GL_CXXALIAS_SYS (mktemp, char *, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mktemp);
+#endif
+
+/* Allocate memory with indefinite extent and specified alignment.  */
+#if @GNULIB_POSIX_MEMALIGN@
+# if @REPLACE_POSIX_MEMALIGN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef posix_memalign
+#   define posix_memalign rpl_posix_memalign
+#  endif
+_GL_FUNCDECL_RPL (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size));
+# else
+#  if @HAVE_POSIX_MEMALIGN@
+_GL_CXXALIAS_SYS (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size));
+#  endif
+# endif
+# if __GLIBC__ >= 2 && @HAVE_POSIX_MEMALIGN@
+_GL_CXXALIASWARN (posix_memalign);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef posix_memalign
+# if HAVE_RAW_DECL_POSIX_MEMALIGN
+_GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - "
+                 "use gnulib module posix_memalign for portability");
+# endif
+#endif
+
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal.  Flags should
+   include O_RDWR, and may also include O_NOCTTY.  */
+# if @REPLACE_POSIX_OPENPT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef posix_openpt
+#   define posix_openpt rpl_posix_openpt
+#  endif
+_GL_FUNCDECL_RPL (posix_openpt, int, (int flags));
+_GL_CXXALIAS_RPL (posix_openpt, int, (int flags));
+# else
+#  if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+#  endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (posix_openpt);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+                 "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+   the master FD is open on, or NULL on errors.  */
+# if @REPLACE_PTSNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname
+#   define ptsname rpl_ptsname
+#  endif
+_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
+_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
+# else
+#  if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+#  endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+                 "use gnulib module ptsname for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+   the master FD is open on and return 0, or set errno and return
+   non-zero on errors.  */
+# if @REPLACE_PTSNAME_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname_r
+#   define ptsname_r rpl_ptsname_r
+#  endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+#  if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+#  endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+# ifndef GNULIB_defined_ptsname_r
+#  define GNULIB_defined_ptsname_r (!@HAVE_PTSNAME_R@ || @REPLACE_PTSNAME_R@)
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+                 "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
+#if @GNULIB_PUTENV@
+# if @REPLACE_PUTENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv rpl_putenv
+#  endif
+_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (putenv, int, (char *string));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv _putenv
+#  endif
+_GL_CXXALIAS_MDA (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+                                     const char *string.  */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#elif @GNULIB_MDA_PUTENV@
+/* On native Windows, map 'putenv' to '_putenv', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::putenv always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv _putenv
+#  endif
+/* Need to cast, because on mingw, the parameter is either
+   'const char *string' or 'char *string'.  */
+_GL_CXXALIAS_MDA_CAST (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+                                     const char *string.  */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#endif
+
+#if @GNULIB_QSORT_R@
+/* Sort an array of NMEMB elements, starting at address BASE, each element
+   occupying SIZE bytes, in ascending order according to the comparison
+   function COMPARE.  */
+# ifdef __cplusplus
+extern "C" {
+# endif
+# if !GNULIB_defined_qsort_r_fn_types
+typedef int (*_gl_qsort_r_compar_fn) (void const *, void const *, void *);
+#  define GNULIB_defined_qsort_r_fn_types 1
+# endif
+# ifdef __cplusplus
+}
+# endif
+# if @REPLACE_QSORT_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg));
+# else
+#  if !@HAVE_QSORT_R@
+_GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+#  endif
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#elif defined GNULIB_POSIXCHECK
+# undef qsort_r
+# if HAVE_RAW_DECL_QSORT_R
+_GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
+                 "use gnulib module qsort_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RAND@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@)
+# ifndef RAND_MAX
+#  define RAND_MAX 2147483647
+# endif
+#endif
+
+
+#if @GNULIB_RAND@
+# if @REPLACE_RAND@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rand
+#   define rand rpl_rand
+#  endif
+_GL_FUNCDECL_RPL (rand, int, (void));
+_GL_CXXALIAS_RPL (rand, int, (void));
+# else
+_GL_CXXALIAS_SYS (rand, int, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (rand);
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_RANDOM@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random
+#   define random rpl_random
+#  endif
+_GL_FUNCDECL_RPL (random, long, (void));
+_GL_CXXALIAS_RPL (random, long, (void));
+# else
+#  if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (random, long, (void));
+#  endif
+/* Need to cast, because on Haiku, the return type is
+                               int.  */
+_GL_CXXALIAS_SYS_CAST (random, long, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (random);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_RANDOM@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom
+#   define srandom rpl_srandom
+#  endif
+_GL_FUNCDECL_RPL (srandom, void, (unsigned int seed));
+_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));
+# else
+#  if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+#  endif
+/* Need to cast, because on FreeBSD, the first parameter is
+                                       unsigned long seed.  */
+_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (srandom);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_INITSTATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate
+#   define initstate rpl_initstate
+#  endif
+_GL_FUNCDECL_RPL (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size));
+# else
+#  if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@
+_GL_FUNCDECL_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+/* Need to cast, because on FreeBSD, the first parameter is
+                        unsigned long seed.  */
+_GL_CXXALIAS_SYS_CAST (initstate, char *,
+                       (unsigned int seed, char *buf, size_t buf_size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (initstate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_SETSTATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate
+#   define setstate rpl_setstate
+#  endif
+_GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setstate, char *, (char *arg_state));
+# else
+#  if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+#  endif
+/* Need to cast, because on Mac OS X 10.13, HP-UX, Solaris the first parameter
+   is                                     const char *arg_state.  */
+_GL_CXXALIAS_SYS_CAST (setstate, char *, (char *arg_state));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (setstate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random_r
+#   define random_r rpl_random_r
+#  endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
+_GL_CXXALIASWARN (random_r);
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# if HAVE_RAW_DECL_RANDOM_R
+_GL_WARN_ON_USE (random_r, "random_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom_r
+#   define srandom_r rpl_srandom_r
+#  endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (srandom_r);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom_r
+# if HAVE_RAW_DECL_SRANDOM_R
+_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate_r
+#   define initstate_r rpl_initstate_r
+#  endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+#  endif
+/* Need to cast, because on Haiku, the third parameter is
+                                                     unsigned long buf_size.  */
+_GL_CXXALIAS_SYS_CAST (initstate_r, int,
+                       (unsigned int seed, char *buf, size_t buf_size,
+                        struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (initstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate_r
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate_r
+#   define setstate_r rpl_setstate_r
+#  endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+/* Need to cast, because on Haiku, the first parameter is
+                        void *arg_state.  */
+_GL_CXXALIAS_SYS_CAST (setstate_r, int,
+                       (char *arg_state, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (setstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate_r
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOC_POSIX@
+# if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \
+     || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@)
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef realloc
+#   define realloc rpl_realloc
+#  endif
+_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)
+                                   _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (realloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc
+/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+#  undef realloc
+/* Assume realloc is always declared.  */
+_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
+                 "use gnulib module realloc-posix for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOCARRAY@
+# if @REPLACE_REALLOCARRAY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef reallocarray
+#   define reallocarray rpl_reallocarray
+#  endif
+_GL_FUNCDECL_RPL (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+_GL_CXXALIAS_RPL (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+# else
+#  if ! @HAVE_REALLOCARRAY@
+_GL_FUNCDECL_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+#  endif
+_GL_CXXALIAS_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (reallocarray);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef reallocarray
+# if HAVE_RAW_DECL_REALLOCARRAY
+_GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
+                 "use gnulib module reallocarray for portability");
+# endif
+#endif
+
+#if @GNULIB_REALPATH@
+# if @REPLACE_REALPATH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define realpath rpl_realpath
+#  endif
+_GL_FUNCDECL_RPL (realpath, char *,
+                  (const char *restrict name, char *restrict resolved)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (realpath, char *,
+                  (const char *restrict name, char *restrict resolved));
+# else
+#  if !@HAVE_REALPATH@
+_GL_FUNCDECL_SYS (realpath, char *,
+                  (const char *restrict name, char *restrict resolved)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (realpath, char *,
+                  (const char *restrict name, char *restrict resolved));
+# endif
+_GL_CXXALIASWARN (realpath);
+#elif defined GNULIB_POSIXCHECK
+# undef realpath
+# if HAVE_RAW_DECL_REALPATH
+_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
+                 "canonicalize or canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_RPMATCH@
+/* Test a user response to a question.
+   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
+# if !@HAVE_RPMATCH@
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
+_GL_CXXALIASWARN (rpmatch);
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# if HAVE_RAW_DECL_RPMATCH
+_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
+                 "use gnulib module rpmatch for portability");
+# endif
+#endif
+
+#if @GNULIB_SECURE_GETENV@
+/* Look up NAME in the environment, returning 0 in insecure situations.  */
+# if !@HAVE_SECURE_GETENV@
+_GL_FUNCDECL_SYS (secure_getenv, char *,
+                  (char const *name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
+_GL_CXXALIASWARN (secure_getenv);
+#elif defined GNULIB_POSIXCHECK
+# undef secure_getenv
+# if HAVE_RAW_DECL_SECURE_GETENV
+_GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
+                 "use gnulib module secure_getenv for portability");
+# endif
+#endif
+
+#if @GNULIB_SETENV@
+/* Set NAME to VALUE in the environment.
+   If REPLACE is nonzero, overwrite an existing value.  */
+# if @REPLACE_SETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setenv
+#   define setenv rpl_setenv
+#  endif
+_GL_FUNCDECL_RPL (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setenv, int,
+                  (const char *name, const char *value, int replace));
+# else
+#  if !@HAVE_DECL_SETENV@
+_GL_FUNCDECL_SYS (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (setenv, int,
+                  (const char *name, const char *value, int replace));
+# endif
+# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
+_GL_CXXALIASWARN (setenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setenv
+# if HAVE_RAW_DECL_SETENV
+_GL_WARN_ON_USE (setenv, "setenv is unportable - "
+                 "use gnulib module setenv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOD@
+ /* Parse a double from STRING, updating ENDP if appropriate.  */
+# if @REPLACE_STRTOD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtod rpl_strtod
+#  endif
+#  define GNULIB_defined_strtod_function 1
+_GL_FUNCDECL_RPL (strtod, double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtod, double,
+                  (const char *restrict str, char **restrict endp));
+# else
+#  if !@HAVE_STRTOD@
+_GL_FUNCDECL_SYS (strtod, double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtod, double,
+                  (const char *restrict str, char **restrict endp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtod);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtod
+# if HAVE_RAW_DECL_STRTOD
+_GL_WARN_ON_USE (strtod, "strtod is unportable - "
+                 "use gnulib module strtod for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLD@
+ /* Parse a 'long double' from STRING, updating ENDP if appropriate.  */
+# if @REPLACE_STRTOLD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtold rpl_strtold
+#  endif
+#  define GNULIB_defined_strtold_function 1
+_GL_FUNCDECL_RPL (strtold, long double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtold, long double,
+                  (const char *restrict str, char **restrict endp));
+# else
+#  if !@HAVE_STRTOLD@
+_GL_FUNCDECL_SYS (strtold, long double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtold, long double,
+                  (const char *restrict str, char **restrict endp));
+# endif
+_GL_CXXALIASWARN (strtold);
+#elif defined GNULIB_POSIXCHECK
+# undef strtold
+# if HAVE_RAW_DECL_STRTOLD
+_GL_WARN_ON_USE (strtold, "strtold is unportable - "
+                 "use gnulib module strtold for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LONG_MAX or LONG_MIN, and errno is set
+   to ERANGE.  */
+# if @REPLACE_STRTOL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtol rpl_strtol
+#  endif
+#  define GNULIB_defined_strtol_function 1
+_GL_FUNCDECL_RPL (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOL@
+_GL_FUNCDECL_SYS (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtol);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtol
+# if HAVE_RAW_DECL_STRTOL
+_GL_WARN_ON_USE (strtol, "strtol is unportable - "
+                 "use gnulib module strtol for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+   to ERANGE.  */
+# if @REPLACE_STRTOLL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoll rpl_strtoll
+#  endif
+#  define GNULIB_defined_strtoll_function 1
+_GL_FUNCDECL_RPL (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOLL@
+_GL_FUNCDECL_SYS (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+_GL_CXXALIASWARN (strtoll);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# if HAVE_RAW_DECL_STRTOLL
+_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
+                 "use gnulib module strtoll for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOUL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULONG_MAX, and errno is set to ERANGE.  */
+# if @REPLACE_STRTOUL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoul rpl_strtoul
+#  endif
+#  define GNULIB_defined_strtoul_function 1
+_GL_FUNCDECL_RPL (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOUL@
+_GL_FUNCDECL_SYS (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtoul);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoul
+# if HAVE_RAW_DECL_STRTOUL
+_GL_WARN_ON_USE (strtoul, "strtoul is unportable - "
+                 "use gnulib module strtoul for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULLONG_MAX, and errno is set to
+   ERANGE.  */
+# if @REPLACE_STRTOULL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoull rpl_strtoull
+#  endif
+#  define GNULIB_defined_strtoull_function 1
+_GL_FUNCDECL_RPL (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOULL@
+_GL_FUNCDECL_SYS (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+_GL_CXXALIASWARN (strtoull);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# if HAVE_RAW_DECL_STRTOULL
+_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
+                 "use gnulib module strtoull for portability");
+# endif
+#endif
+
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+   by FD, so that it can be opened.  */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+                 "use gnulib module unlockpt for portability");
+# endif
+#endif
+
+#if @GNULIB_UNSETENV@
+/* Remove the variable NAME from the environment.  */
+# if @REPLACE_UNSETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unsetenv
+#   define unsetenv rpl_unsetenv
+#  endif
+_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
+# else
+#  if !@HAVE_DECL_UNSETENV@
+_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
+# endif
+# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
+_GL_CXXALIASWARN (unsetenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef unsetenv
+# if HAVE_RAW_DECL_UNSETENV
+_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
+                 "use gnulib module unsetenv for portability");
+# endif
+#endif
+
+/* Convert a wide character to a multibyte character.  */
+#if @GNULIB_WCTOMB@
+# if @REPLACE_WCTOMB@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wctomb
+#   define wctomb rpl_wctomb
+#  endif
+_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
+_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
+# else
+_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wctomb);
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif
index 9ca6523..b9c1c7a 100644 (file)
@@ -1,19 +1,19 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2012 Free Software Foundation, Inc.
+   Copyright (C) 2010-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
 
@@ -29,6 +29,8 @@
 # endif
 #endif
 
+#if !GNULIB_defined_strerror_override_macro
+
 /* If ERRNUM maps to an errno value defined by gnulib, return a string
    describing the error.  Otherwise return NULL.  */
 const char *
@@ -37,12 +39,12 @@ strerror_override (int errnum)
   /* These error messages are taken from glibc/sysdeps/gnu/errlist.c.  */
   switch (errnum)
     {
-#if REPLACE_STRERROR_0
+# if REPLACE_STRERROR_0
     case 0:
       return "Success";
-#endif
+# endif
 
-#if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */
+# if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */
     case EINPROGRESS:
       return "Operation now in progress";
     case EALREADY:
@@ -89,6 +91,8 @@ strerror_override (int errnum)
       return "No route to host";
     case EWOULDBLOCK:
       return "Operation would block";
+# endif
+# if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */
     case ETXTBSY:
       return "Text file busy";
     case ENODATA:
@@ -97,16 +101,12 @@ strerror_override (int errnum)
       return "Out of streams resources";
     case ENOSTR:
       return "Device not a stream";
-    case ENOTRECOVERABLE:
-      return "State not recoverable";
-    case EOWNERDEAD:
-      return "Owner died";
     case ETIME:
       return "Timer expired";
     case EOTHER:
       return "Other error";
-#endif
-#if GNULIB_defined_EWINSOCK /* native Windows platforms */
+# endif
+# if GNULIB_defined_EWINSOCK /* native Windows platforms */
     case ESOCKTNOSUPPORT:
       return "Socket type not supported";
     case EPFNOSUPPORT:
@@ -127,7 +127,7 @@ strerror_override (int errnum)
       return "Stale NFS file handle";
     case EREMOTE:
       return "Object is remote";
-# if HAVE_WINSOCK2_H
+#  if HAVE_WINSOCK2_H
       /* WSA_INVALID_HANDLE maps to EBADF */
       /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
       /* WSA_INVALID_PARAMETER maps to EINVAL */
@@ -215,75 +215,92 @@ strerror_override (int errnum)
     case WSANO_DATA:
       return "Valid name, no data record of requested type";
       /* WSA_QOS_* omitted */
+#  endif
 # endif
-#endif
 
-#if GNULIB_defined_ENOMSG
+# if GNULIB_defined_ENOMSG
     case ENOMSG:
       return "No message of desired type";
-#endif
+# endif
 
-#if GNULIB_defined_EIDRM
+# if GNULIB_defined_EIDRM
     case EIDRM:
       return "Identifier removed";
-#endif
+# endif
 
-#if GNULIB_defined_ENOLINK
+# if GNULIB_defined_ENOLINK
     case ENOLINK:
       return "Link has been severed";
-#endif
+# endif
 
-#if GNULIB_defined_EPROTO
+# if GNULIB_defined_EPROTO
     case EPROTO:
       return "Protocol error";
-#endif
+# endif
 
-#if GNULIB_defined_EMULTIHOP
+# if GNULIB_defined_EMULTIHOP
     case EMULTIHOP:
       return "Multihop attempted";
-#endif
+# endif
 
-#if GNULIB_defined_EBADMSG
+# if GNULIB_defined_EBADMSG
     case EBADMSG:
       return "Bad message";
-#endif
+# endif
 
-#if GNULIB_defined_EOVERFLOW
+# if GNULIB_defined_EOVERFLOW
     case EOVERFLOW:
       return "Value too large for defined data type";
-#endif
+# endif
 
-#if GNULIB_defined_ENOTSUP
+# if GNULIB_defined_ENOTSUP
     case ENOTSUP:
       return "Not supported";
-#endif
+# endif
 
-#if GNULIB_defined_ENETRESET
+# if GNULIB_defined_ENETRESET
     case ENETRESET:
       return "Network dropped connection on reset";
-#endif
+# endif
 
-#if GNULIB_defined_ECONNABORTED
+# if GNULIB_defined_ECONNABORTED
     case ECONNABORTED:
       return "Software caused connection abort";
-#endif
+# endif
 
-#if GNULIB_defined_ESTALE
+# if GNULIB_defined_ESTALE
     case ESTALE:
       return "Stale NFS file handle";
-#endif
+# endif
 
-#if GNULIB_defined_EDQUOT
+# if GNULIB_defined_EDQUOT
     case EDQUOT:
       return "Disk quota exceeded";
-#endif
+# endif
 
-#if GNULIB_defined_ECANCELED
+# if GNULIB_defined_ECANCELED
     case ECANCELED:
       return "Operation canceled";
-#endif
+# endif
+
+# if GNULIB_defined_EOWNERDEAD
+    case EOWNERDEAD:
+      return "Owner died";
+# endif
+
+# if GNULIB_defined_ENOTRECOVERABLE
+    case ENOTRECOVERABLE:
+      return "State not recoverable";
+# endif
+
+# if GNULIB_defined_EILSEQ
+    case EILSEQ:
+      return "Invalid or incomplete multibyte or wide character";
+# endif
 
     default:
       return NULL;
     }
 }
+
+#endif
index 09526ea..872fa7d 100644 (file)
@@ -1,23 +1,28 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2012 Free Software Foundation, Inc.
+   Copyright (C) 2010-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_STRERROR_OVERRIDE_H
 # define _GL_STRERROR_OVERRIDE_H
 
+/* This file uses _GL_ATTRIBUTE_CONST.  */
+# if !_GL_CONFIG_H_INCLUDED
+#  error "Please include config.h first."
+# endif
+
 # include <errno.h>
 # include <stddef.h>
 
@@ -30,6 +35,7 @@
    describing the error.  Otherwise return NULL.  */
 # if REPLACE_STRERROR_0 \
      || GNULIB_defined_ESOCK \
+     || GNULIB_defined_ESTREAMS \
      || GNULIB_defined_EWINSOCK \
      || GNULIB_defined_ENOMSG \
      || GNULIB_defined_EIDRM \
      || GNULIB_defined_ECONNABORTED \
      || GNULIB_defined_ESTALE \
      || GNULIB_defined_EDQUOT \
-     || GNULIB_defined_ECANCELED
-extern const char *strerror_override (int errnum);
+     || GNULIB_defined_ECANCELED \
+     || GNULIB_defined_EOWNERDEAD \
+     || GNULIB_defined_ENOTRECOVERABLE \
+     || GNULIB_defined_EILSEQ
+extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST;
 # else
 #  define strerror_override(ignored) NULL
+#  define GNULIB_defined_strerror_override_macro 1
 # endif
 
 #endif /* _GL_STRERROR_OVERRIDE_H */
index 587bd21..6b760ff 100644 (file)
@@ -1,19 +1,19 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2012 Free Software Foundation, Inc.
+   Copyright (C) 2007-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -27,7 +27,6 @@
 
 #include "intprops.h"
 #include "strerror-override.h"
-#include "verify.h"
 
 /* Use the system functions, not the gnulib overrides in this file.  */
 #undef sprintf
@@ -55,7 +54,7 @@ strerror (int n)
   if (!msg || !*msg)
     {
       static char const fmt[] = "Unknown error %d";
-      verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n));
+      static_assert (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n));
       sprintf (buf, fmt, n);
       errno = EINVAL;
       return buf;
@@ -66,5 +65,6 @@ strerror (int n)
   if (sizeof buf <= len)
     abort ();
 
-  return memcpy (buf, msg, len + 1);
+  memcpy (buf, msg, len + 1);
+  return buf;
 }
index f8d7520..66be871 100644 (file)
@@ -1,33 +1,56 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
-
-#ifndef _@GUARD_PREFIX@_STRING_H
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+   - On OS X/NetBSD we have a sequence of nested includes
+       <string.h> -> <strings.h> -> "string.h"
+     In this situation system _chk variants due to -D_FORTIFY_SOURCE
+     might be used after any replacements defined here.  */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
 #ifndef _@GUARD_PREFIX@_STRING_H
 #define _@GUARD_PREFIX@_STRING_H
 
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* NetBSD 5.0 mis-defines NULL.  */
 #include <stddef.h>
 
 # include <wchar.h>
 #endif
 
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
 /* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>.  */
 /* But in any case avoid namespace pollution on glibc systems.  */
 #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \
 # include <unistd.h>
 #endif
 
+/* AIX 7.2 and Android 13 declare ffsl and ffsll in <strings.h>, not in
+   <string.h>.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \
+     && (defined _AIX || defined __ANDROID__)) \
+    && ! defined __GLIBC__
+# include <strings.h>
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
+/* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though <stdlib.h> may not have
+   been included yet.  */
+#if @GNULIB_FREE_POSIX@
+# if (@REPLACE_FREE@ && !defined free \
+      && !(defined __cplusplus && defined GNULIB_NAMESPACE))
+/* We can't do '#define free rpl_free' here.  */
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void rpl_free (void *);
+#  endif
+#  undef _GL_ATTRIBUTE_DEALLOC_FREE
+#  define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
+# else
+#  if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+#  else
+#   if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#   else
+_GL_EXTERN_C void free (void *);
+#   endif
+#  endif
+# endif
+#else
+# if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+# else
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void free (void *);
+#  endif
+# endif
+#endif
+
+/* Clear a block of memory.  The compiler will not delete a call to
+   this function, even if the block is dead after the call.  */
+#if @GNULIB_EXPLICIT_BZERO@
+# if ! @HAVE_EXPLICIT_BZERO@
+_GL_FUNCDECL_SYS (explicit_bzero, void,
+                  (void *__dest, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (explicit_bzero, void, (void *__dest, size_t __n));
+_GL_CXXALIASWARN (explicit_bzero);
+#elif defined GNULIB_POSIXCHECK
+# undef explicit_bzero
+# if HAVE_RAW_DECL_EXPLICIT_BZERO
+_GL_WARN_ON_USE (explicit_bzero, "explicit_bzero is unportable - "
+                 "use gnulib module explicit_bzero for portability");
+# endif
+#endif
 
 /* Find the index of the least-significant set bit.  */
 #if @GNULIB_FFSL@
@@ -75,10 +227,18 @@ _GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
 
 /* Find the index of the least-significant set bit.  */
 #if @GNULIB_FFSLL@
-# if !@HAVE_FFSLL@
+# if @REPLACE_FFSLL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define ffsll rpl_ffsll
+#  endif
+_GL_FUNCDECL_RPL (ffsll, int, (long long int i));
+_GL_CXXALIAS_RPL (ffsll, int, (long long int i));
+# else
+#  if !@HAVE_FFSLL@
 _GL_FUNCDECL_SYS (ffsll, int, (long long int i));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (ffsll, int, (long long int i));
+# endif
 _GL_CXXALIASWARN (ffsll);
 #elif defined GNULIB_POSIXCHECK
 # undef ffsll
@@ -88,10 +248,30 @@ _GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
 #endif
 
 
+#if @GNULIB_MDA_MEMCCPY@
+/* On native Windows, map 'memccpy' to '_memccpy', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::memccpy always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef memccpy
+#   define memccpy _memccpy
+#  endif
+_GL_CXXALIAS_MDA (memccpy, void *,
+                  (void *dest, const void *src, int c, size_t n));
+# else
+_GL_CXXALIAS_SYS (memccpy, void *,
+                  (void *dest, const void *src, int c, size_t n));
+# endif
+_GL_CXXALIASWARN (memccpy);
+#endif
+
+
 /* Return the first instance of C within N bytes of S, or NULL.  */
 #if @GNULIB_MEMCHR@
 # if @REPLACE_MEMCHR@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef memchr
 #   define memchr rpl_memchr
 #  endif
 _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
@@ -99,11 +279,6 @@ _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n));
 # else
-#  if ! @HAVE_MEMCHR@
-_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n)
-                                  _GL_ATTRIBUTE_PURE
-                                  _GL_ARG_NONNULL ((1)));
-#  endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C" { const void * std::memchr (const void *, int, size_t); }
        extern "C++" { void * std::memchr (void *, int, size_t); }  */
@@ -112,11 +287,15 @@ _GL_CXXALIAS_SYS_CAST2 (memchr,
                         void const *, (void const *__s, int __c, size_t __n));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (memchr, void *,
+                   (void *__s, int __c, size_t __n)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (memchr, void const *,
-                   (void const *__s, int __c, size_t __n));
-# else
+                   (void const *__s, int __c, size_t __n)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (memchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -165,16 +344,32 @@ _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
 #if @GNULIB_MEMPCPY@
-# if ! @HAVE_MEMPCPY@
+# if @REPLACE_MEMPCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mempcpy
+#   define mempcpy rpl_mempcpy
+#  endif
+_GL_FUNCDECL_RPL (mempcpy, void *,
+                  (void *restrict __dest, void const *restrict __src,
+                   size_t __n)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (mempcpy, void *,
+                  (void *restrict __dest, void const *restrict __src,
+                   size_t __n));
+# else
+#  if !@HAVE_MEMPCPY@
 _GL_FUNCDECL_SYS (mempcpy, void *,
                   (void *restrict __dest, void const *restrict __src,
                    size_t __n)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (mempcpy, void *,
                   (void *restrict __dest, void const *restrict __src,
                    size_t __n));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mempcpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef mempcpy
 # if HAVE_RAW_DECL_MEMPCPY
@@ -197,10 +392,15 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr,
                         void *, (void const *, int, size_t),
                         void const *, (void const *, int, size_t));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t));
-_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t));
-# else
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (memrchr, void *,
+                   (void *, int, size_t)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (memrchr, void const *,
+                   (void const *, int, size_t)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (memrchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -211,6 +411,23 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
 # endif
 #endif
 
+/* Overwrite a block of memory.  The compiler will not optimize
+   effects away, even if the block is dead after the call.  */
+#if @GNULIB_MEMSET_EXPLICIT@
+# if ! @HAVE_MEMSET_EXPLICIT@
+_GL_FUNCDECL_SYS (memset_explicit, void *,
+                  (void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n));
+_GL_CXXALIASWARN (memset_explicit);
+#elif defined GNULIB_POSIXCHECK
+# undef memset_explicit
+# if HAVE_RAW_DECL_MEMSET_EXPLICIT
+_GL_WARN_ON_USE (memset_explicit, "memset_explicit is unportable - "
+                 "use gnulib module memset_explicit for portability");
+# endif
+#endif
+
 /* Find the first occurrence of C in S.  More efficient than
    memchr(S,C,N), at the expense of undefined behavior if C does not
    occur within N bytes.  */
@@ -227,9 +444,14 @@ _GL_CXXALIAS_SYS_CAST2 (rawmemchr,
                         void *, (void const *__s, int __c_in),
                         void const *, (void const *__s, int __c_in));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in));
-_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (rawmemchr, void *,
+                   (void *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (rawmemchr, void const *,
+                   (void const *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
 # else
 _GL_CXXALIASWARN (rawmemchr);
 # endif
@@ -243,14 +465,28 @@ _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
 
 /* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
 #if @GNULIB_STPCPY@
-# if ! @HAVE_STPCPY@
+# if @REPLACE_STPCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef stpcpy
+#   define stpcpy rpl_stpcpy
+#  endif
+_GL_FUNCDECL_RPL (stpcpy, char *,
+                  (char *restrict __dst, char const *restrict __src)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (stpcpy, char *,
+                  (char *restrict __dst, char const *restrict __src));
+# else
+#  if !@HAVE_STPCPY@
 _GL_FUNCDECL_SYS (stpcpy, char *,
                   (char *restrict __dst, char const *restrict __src)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (stpcpy, char *,
                   (char *restrict __dst, char const *restrict __src));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (stpcpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef stpcpy
 # if HAVE_RAW_DECL_STPCPY
@@ -285,7 +521,9 @@ _GL_CXXALIAS_SYS (stpncpy, char *,
                   (char *restrict __dst, char const *restrict __src,
                    size_t __n));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (stpncpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef stpncpy
 # if HAVE_RAW_DECL_STPNCPY
@@ -299,9 +537,11 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
    GB18030 and the character to be searched is a digit.  */
 # undef strchr
 /* Assume strchr is always declared.  */
-_GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings "
-                 "in some multibyte locales - "
-                 "use mbschr if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strchr,
+                     const char *, char *, (const char *, int),
+                     "strchr cannot work correctly on character strings "
+                     "in some multibyte locales - "
+                     "use mbschr if you care about internationalization");
 #endif
 
 /* Find the first occurrence of C in S or the final NUL byte.  */
@@ -329,10 +569,15 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul,
                         char const *, (char const *__s, int __c_in));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in));
-_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in));
-# else
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strchrnul, char *,
+                   (char *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (strchrnul, char const *,
+                   (char const *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strchrnul);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -350,24 +595,78 @@ _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - "
 #   undef strdup
 #   define strdup rpl_strdup
 #  endif
-_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
 _GL_CXXALIAS_RPL (strdup, char *, (char const *__s));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strdup
+#   define strdup _strdup
+#  endif
+_GL_CXXALIAS_MDA (strdup, char *, (char const *__s));
 # else
 #  if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
     /* strdup exists as a function and as a macro.  Get rid of the macro.  */
 #   undef strdup
 #  endif
-#  if !(@HAVE_DECL_STRDUP@ || defined strdup)
-_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+#  if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
 #  endif
 _GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
 # endif
 _GL_CXXALIASWARN (strdup);
-#elif defined GNULIB_POSIXCHECK
-# undef strdup
-# if HAVE_RAW_DECL_STRDUP
+#else
+# if __GNUC__ >= 11 && !defined strdup
+/* For -Wmismatched-dealloc: Associate strdup with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strdup
+#  if HAVE_RAW_DECL_STRDUP
 _GL_WARN_ON_USE (strdup, "strdup is unportable - "
                  "use gnulib module strdup for portability");
+#  endif
+# elif @GNULIB_MDA_STRDUP@
+/* On native Windows, map 'creat' to '_creat', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::strdup always.  */
+#  if defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef strdup
+#    define strdup _strdup
+#   endif
+_GL_CXXALIAS_MDA (strdup, char *, (char const *__s));
+#  else
+#   if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
+#    undef strdup
+#   endif
+_GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
+#  endif
+_GL_CXXALIASWARN (strdup);
 # endif
 #endif
 
@@ -378,13 +677,18 @@ _GL_WARN_ON_USE (strdup, "strdup is unportable - "
 #   undef strncat
 #   define strncat rpl_strncat
 #  endif
-_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n)
-                                   _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n));
+_GL_FUNCDECL_RPL (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n));
 # else
-_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n));
+_GL_CXXALIAS_SYS (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (strncat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef strncat
 # if HAVE_RAW_DECL_STRNCAT
@@ -400,22 +704,51 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
 #   undef strndup
 #   define strndup rpl_strndup
 #  endif
-_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
-                                   _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+_GL_FUNCDECL_RPL (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
 # else
-#  if ! @HAVE_DECL_STRNDUP@
-_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
-                                   _GL_ARG_NONNULL ((1)));
+#  if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup)
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
 #  endif
-_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
 # endif
 _GL_CXXALIASWARN (strndup);
-#elif defined GNULIB_POSIXCHECK
-# undef strndup
-# if HAVE_RAW_DECL_STRNDUP
+#else
+# if __GNUC__ >= 11 && !defined strndup
+/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strndup
+#  if HAVE_RAW_DECL_STRNDUP
 _GL_WARN_ON_USE (strndup, "strndup is unportable - "
                  "use gnulib module strndup for portability");
+#  endif
 # endif
 #endif
 
@@ -428,17 +761,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - "
 #   undef strnlen
 #   define strnlen rpl_strnlen
 #  endif
-_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen));
 # else
 #  if ! @HAVE_DECL_STRNLEN@
-_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen));
 # endif
 _GL_CXXALIASWARN (strnlen);
 #elif defined GNULIB_POSIXCHECK
@@ -475,11 +808,15 @@ _GL_CXXALIAS_SYS_CAST2 (strpbrk,
                         char *, (char const *__s, char const *__accept),
                         const char *, (char const *__s, char const *__accept));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strpbrk, char *,
+                   (char *__s, char const *__accept)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strpbrk, char const *,
-                   (char const *__s, char const *__accept));
-# else
+                   (char const *__s, char const *__accept)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strpbrk);
 # endif
 # if defined GNULIB_POSIXCHECK
@@ -488,15 +825,19 @@ _GL_CXXALIASWARN (strpbrk);
    locale encoding is GB18030 and one of the characters to be searched is a
    digit.  */
 #  undef strpbrk
-_GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings "
-                 "in multibyte locales - "
-                 "use mbspbrk if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strpbrk,
+                     const char *, char *, (const char *, const char *),
+                     "strpbrk cannot work correctly on character strings "
+                     "in multibyte locales - "
+                     "use mbspbrk if you care about internationalization");
 # endif
 #elif defined GNULIB_POSIXCHECK
 # undef strpbrk
 # if HAVE_RAW_DECL_STRPBRK
-_GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - "
-                 "use gnulib module strpbrk for portability");
+_GL_WARN_ON_USE_CXX (strpbrk,
+                     const char *, char *, (const char *, const char *),
+                     "strpbrk is unportable - "
+                     "use gnulib module strpbrk for portability");
 # endif
 #endif
 
@@ -515,9 +856,11 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
    GB18030 and the character to be searched is a digit.  */
 # undef strrchr
 /* Assume strrchr is always declared.  */
-_GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings "
-                 "in some multibyte locales - "
-                 "use mbsrchr if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strrchr,
+                     const char *, char *, (const char *, int),
+                     "strrchr cannot work correctly on character strings "
+                     "in some multibyte locales - "
+                     "use mbsrchr if you care about internationalization");
 #endif
 
 /* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
@@ -577,11 +920,15 @@ _GL_CXXALIAS_SYS_CAST2 (strstr,
                         const char *, (const char *haystack, const char *needle));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strstr, char *,
+                   (char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strstr, const char *,
-                   (const char *haystack, const char *needle));
-# else
+                   (const char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strstr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -626,11 +973,15 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr,
                         const char *, (const char *haystack, const char *needle));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strcasestr, char *,
+                   (char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strcasestr, const char *,
-                   (const char *haystack, const char *needle));
-# else
+                   (const char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strcasestr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -660,7 +1011,7 @@ _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
    This is a variant of strtok() that is multithread-safe.
 
    For the POSIX documentation for this function, see:
-   http://www.opengroup.org/susv3xsh/strtok.html
+   https://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok.html
 
    Caveat: It modifies the original string.
    Caveat: These functions cannot be used on constant strings.
@@ -734,7 +1085,9 @@ _GL_FUNCDECL_SYS (mbslen, size_t, (const char *string)
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mbslen);
+# endif
 #endif
 
 #if @GNULIB_MBSNLEN@
@@ -931,7 +1284,8 @@ _GL_EXTERN_C char * mbssep (char **stringp, const char *delim)
    Caveat: The identity of the delimiting character is lost.
 
    See also mbssep().  */
-_GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr)
+_GL_EXTERN_C char * mbstok_r (char *restrict string, const char *delim,
+                              char **save_ptr)
      _GL_ARG_NONNULL ((2, 3));
 #endif
 
@@ -947,7 +1301,9 @@ _GL_CXXALIAS_RPL (strerror, char *, (int));
 # else
 _GL_CXXALIAS_SYS (strerror, char *, (int));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (strerror);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef strerror
 /* Assume strerror is always declared.  */
@@ -973,7 +1329,7 @@ _GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)
 #  endif
 _GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen));
 # endif
-# if @HAVE_DECL_STRERROR_R@
+# if __GLIBC__ >= 2 && @HAVE_DECL_STRERROR_R@
 _GL_CXXALIASWARN (strerror_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -984,6 +1340,60 @@ _GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - "
 # endif
 #endif
 
+/* Return the name of the system error code ERRNUM.  */
+#if @GNULIB_STRERRORNAME_NP@
+# if @REPLACE_STRERRORNAME_NP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strerrorname_np
+#   define strerrorname_np rpl_strerrorname_np
+#  endif
+_GL_FUNCDECL_RPL (strerrorname_np, const char *, (int errnum));
+_GL_CXXALIAS_RPL (strerrorname_np, const char *, (int errnum));
+# else
+#  if !@HAVE_STRERRORNAME_NP@
+_GL_FUNCDECL_SYS (strerrorname_np, const char *, (int errnum));
+#  endif
+_GL_CXXALIAS_SYS (strerrorname_np, const char *, (int errnum));
+# endif
+_GL_CXXALIASWARN (strerrorname_np);
+#elif defined GNULIB_POSIXCHECK
+# undef strerrorname_np
+# if HAVE_RAW_DECL_STRERRORNAME_NP
+_GL_WARN_ON_USE (strerrorname_np, "strerrorname_np is unportable - "
+                 "use gnulib module strerrorname_np for portability");
+# endif
+#endif
+
+/* Return an abbreviation string for the signal number SIG.  */
+#if @GNULIB_SIGABBREV_NP@
+# if ! @HAVE_SIGABBREV_NP@
+_GL_FUNCDECL_SYS (sigabbrev_np, const char *, (int sig));
+# endif
+_GL_CXXALIAS_SYS (sigabbrev_np, const char *, (int sig));
+_GL_CXXALIASWARN (sigabbrev_np);
+#elif defined GNULIB_POSIXCHECK
+# undef sigabbrev_np
+# if HAVE_RAW_DECL_SIGABBREV_NP
+_GL_WARN_ON_USE (sigabbrev_np, "sigabbrev_np is unportable - "
+                 "use gnulib module sigabbrev_np for portability");
+# endif
+#endif
+
+/* Return an English description string for the signal number SIG.  */
+#if @GNULIB_SIGDESCR_NP@
+# if ! @HAVE_SIGDESCR_NP@
+_GL_FUNCDECL_SYS (sigdescr_np, const char *, (int sig));
+# endif
+_GL_CXXALIAS_SYS (sigdescr_np, const char *, (int sig));
+_GL_CXXALIASWARN (sigdescr_np);
+#elif defined GNULIB_POSIXCHECK
+# undef sigdescr_np
+# if HAVE_RAW_DECL_SIGDESCR_NP
+_GL_WARN_ON_USE (sigdescr_np, "sigdescr_np is unportable - "
+                 "use gnulib module sigdescr_np for portability");
+# endif
+#endif
+
 #if @GNULIB_STRSIGNAL@
 # if @REPLACE_STRSIGNAL@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1027,3 +1437,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
 
 #endif /* _@GUARD_PREFIX@_STRING_H */
 #endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
similarity index 56%
rename from gltests/sys_stat.in.h
rename to gl/sys_stat.in.h
index 2efc1e9..bf08f33 100644 (file)
@@ -1,18 +1,18 @@
-/* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2012 Free Software Foundation, Inc.
+/* Provide a more complete sys/stat.h header file.
+   Copyright (C) 2005-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake, Paul Eggert, and Jim Meyering.  */
 
 #endif
 @PRAGMA_COLUMNS@
 
+/* This file uses #include_next of a system file that defines time_t.
+   For the 'year2038' module to work right, <config.h> needs to have been
+   included before.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 #if defined __need_system_sys_stat_h
 /* Special invocation convention.  */
 
 #ifndef _@GUARD_PREFIX@_SYS_STAT_H
 #define _@GUARD_PREFIX@_SYS_STAT_H
 
+/* This file uses _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
+
+/* Before doing "#define mknod rpl_mknod" below, we need to include all
+   headers that may declare mknod().  OS/2 kLIBC declares mknod() in
+   <unistd.h>, not in <sys/stat.h>.  */
+#ifdef __KLIBC__
+# include <unistd.h>
+#endif
+
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
    headers that may declare mkdir().  Native Windows platforms declare mkdir
-   in <io.h> and/or <direct.h>, not in <unistd.h>.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+   in <io.h> and/or <direct.h>, not in <sys/stat.h>.  */
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 /* Native Windows platforms declare umask() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
 # define stat _stati64
 #endif
 
+/* Optionally, override 'struct stat' on native Windows.  */
+#if @GNULIB_OVERRIDES_STRUCT_STAT@
+
+# undef stat
+# if @GNULIB_STAT@
+#  define stat rpl_stat
+# else
+   /* Provoke a clear link error if stat() is used as a function and
+      module 'stat' is not in use.  */
+#  define stat stat_used_without_requesting_gnulib_module_stat
+# endif
+
+# if !GNULIB_defined_struct_stat
+struct stat
+{
+  dev_t st_dev;
+  ino_t st_ino;
+  mode_t st_mode;
+  nlink_t st_nlink;
+#  if 0
+  uid_t st_uid;
+#  else /* uid_t is not defined by default on native Windows.  */
+  short st_uid;
+#  endif
+#  if 0
+  gid_t st_gid;
+#  else /* gid_t is not defined by default on native Windows.  */
+  short st_gid;
+#  endif
+  dev_t st_rdev;
+  off_t st_size;
+#  if 0
+  blksize_t st_blksize;
+  blkcnt_t st_blocks;
+#  endif
+
+#  if @WINDOWS_STAT_TIMESPEC@
+  struct timespec st_atim;
+  struct timespec st_mtim;
+  struct timespec st_ctim;
+#  else
+  time_t st_atime;
+  time_t st_mtime;
+  time_t st_ctime;
+#  endif
+};
+#  if @WINDOWS_STAT_TIMESPEC@
+#   define st_atime st_atim.tv_sec
+#   define st_mtime st_mtim.tv_sec
+#   define st_ctime st_ctim.tv_sec
+    /* Indicator, for gnulib internal purposes.  */
+#   define _GL_WINDOWS_STAT_TIMESPEC 1
+#  endif
+#  define GNULIB_defined_struct_stat 1
+# endif
+
+/* Other possible values of st_mode.  */
+# if 0
+#  define _S_IFBLK  0x6000
+# endif
+# if 0
+#  define _S_IFLNK  0xA000
+# endif
+# if 0
+#  define _S_IFSOCK 0xC000
+# endif
+
+#endif
+
 #ifndef S_IFIFO
 # ifdef _S_IFIFO
 #  define S_IFIFO _S_IFIFO
 # endif
 #endif
 
+#ifndef S_ISMPX /* AIX */
+# define S_ISMPX(m) 0
+#endif
+
 #ifndef S_ISNAM /* Xenix */
 # ifdef S_IFNAM
 #  define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
 # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
 #endif
 
-/* S_IXUGO is a common extension to POSIX.  */
+/* Although S_IXUGO and S_IRWXUGO are not specified by POSIX and are
+   not implemented in GNU/Linux, some Gnulib-using apps use the macros.  */
 #if !S_IXUGO
 # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
 #endif
-
 #ifndef S_IRWXUGO
 # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
 #endif
 #endif
 
 
+#if @GNULIB_CHMOD@
+# if @REPLACE_CHMOD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chmod
+#   define chmod rpl_chmod
+#  endif
+_GL_FUNCDECL_RPL (chmod, int, (const char *filename, mode_t mode)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (chmod, int, (const char *filename, mode_t mode));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chmod
+#   define chmod _chmod
+#  endif
+/* Need to cast, because in mingw the last argument is 'int mode'.  */
+_GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode));
+# endif
+_GL_CXXALIASWARN (chmod);
+#elif defined GNULIB_POSIXCHECK
+# undef chmod
+# if HAVE_RAW_DECL_CHMOD
+_GL_WARN_ON_USE (chmod, "chmod has portability problems - "
+                 "use gnulib module chmod for portability");
+# endif
+#elif @GNULIB_MDA_CHMOD@
+/* On native Windows, map 'chmod' to '_chmod', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::chmod always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chmod
+#   define chmod _chmod
+#  endif
+/* Need to cast, because in mingw the last argument is 'int mode'.  */
+_GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode));
+# endif
+_GL_CXXALIASWARN (chmod);
+#endif
+
+
 #if @GNULIB_FCHMODAT@
-# if !@HAVE_FCHMODAT@
+# if @REPLACE_FCHMODAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fchmodat
+#   define fchmodat rpl_fchmodat
+#  endif
+_GL_FUNCDECL_RPL (fchmodat, int,
+                  (int fd, char const *file, mode_t mode, int flag)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fchmodat, int,
+                  (int fd, char const *file, mode_t mode, int flag));
+# else
+#  if !@HAVE_FCHMODAT@
 _GL_FUNCDECL_SYS (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (fchmodat, int,
                   (int fd, char const *file, mode_t mode, int flag));
+# endif
 _GL_CXXALIASWARN (fchmodat);
 #elif defined GNULIB_POSIXCHECK
 # undef fchmodat
@@ -340,7 +512,12 @@ _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
 # else
 _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fstat);
+# endif
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef fstat
+# define fstat fstat_used_without_requesting_gnulib_module_fstat
 #elif @WINDOWS_64_BIT_ST_SIZE@
 /* Above, we define stat to _stati64.  */
 # define fstat _fstati64
@@ -360,20 +537,27 @@ _GL_WARN_ON_USE (fstat, "fstat has portability problems - "
 #   define fstatat rpl_fstatat
 #  endif
 _GL_FUNCDECL_RPL (fstatat, int,
-                  (int fd, char const *name, struct stat *st, int flags)
+                  (int fd, char const *restrict name, struct stat *restrict st,
+                   int flags)
                   _GL_ARG_NONNULL ((2, 3)));
 _GL_CXXALIAS_RPL (fstatat, int,
-                  (int fd, char const *name, struct stat *st, int flags));
+                  (int fd, char const *restrict name, struct stat *restrict st,
+                   int flags));
 # else
 #  if !@HAVE_FSTATAT@
 _GL_FUNCDECL_SYS (fstatat, int,
-                  (int fd, char const *name, struct stat *st, int flags)
+                  (int fd, char const *restrict name, struct stat *restrict st,
+                   int flags)
                   _GL_ARG_NONNULL ((2, 3)));
 #  endif
 _GL_CXXALIAS_SYS (fstatat, int,
-                  (int fd, char const *name, struct stat *st, int flags));
+                  (int fd, char const *restrict name, struct stat *restrict st,
+                   int flags));
 # endif
 _GL_CXXALIASWARN (fstatat);
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef fstatat
+# define fstatat fstatat_used_without_requesting_gnulib_module_fstatat
 #elif defined GNULIB_POSIXCHECK
 # undef fstatat
 # if HAVE_RAW_DECL_FSTATAT
@@ -401,7 +585,7 @@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2]));
 #  endif
 _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2]));
 # endif
-# if @HAVE_FUTIMENS@
+# if __GLIBC__ >= 2 && @HAVE_FUTIMENS@
 _GL_CXXALIASWARN (futimens);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -413,34 +597,36 @@ _GL_WARN_ON_USE (futimens, "futimens is not portable - "
 #endif
 
 
+#if @GNULIB_GETUMASK@
+# if !@HAVE_GETUMASK@
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (getumask, mode_t, (void) _GL_ATTRIBUTE_NOTHROW);
+#  else
+_GL_FUNCDECL_SYS (getumask, mode_t, (void));
+#  endif
+# endif
+_GL_CXXALIAS_SYS (getumask, mode_t, (void));
+# if @HAVE_GETUMASK@
+_GL_CXXALIASWARN (getumask);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getumask
+# if HAVE_RAW_DECL_GETUMASK
+_GL_WARN_ON_USE (getumask, "getumask is not portable - "
+                 "use gnulib module getumask for portability");
+# endif
+#endif
+
+
 #if @GNULIB_LCHMOD@
 /* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
    denotes a symbolic link.  */
-# if !@HAVE_LCHMOD@
-/* The lchmod replacement follows symbolic links.  Callers should take
-   this into account; lchmod should be applied only to arguments that
-   are known to not be symbolic links.  On hosts that lack lchmod,
-   this can lead to race conditions between the check and the
-   invocation of lchmod, but we know of no workarounds that are
-   reliable in general.  You might try requesting support for lchmod
-   from your operating system supplier.  */
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define lchmod chmod
-#  endif
-/* Need to cast, because on mingw, the second parameter of chmod is
-                                                int mode.  */
-_GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int,
-                         (const char *filename, mode_t mode));
-# else
-#  if 0 /* assume already declared */
+# if !@HAVE_LCHMOD@ || defined __hpux
 _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode)
                                _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
 # endif
-# if @HAVE_LCHMOD@
+_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
 _GL_CXXALIASWARN (lchmod);
-# endif
 #elif defined GNULIB_POSIXCHECK
 # undef lchmod
 # if HAVE_RAW_DECL_LCHMOD
@@ -450,70 +636,66 @@ _GL_WARN_ON_USE (lchmod, "lchmod is unportable - "
 #endif
 
 
-#if @GNULIB_LSTAT@
-# if ! @HAVE_LSTAT@
-/* mingw does not support symlinks, therefore it does not have lstat.  But
-   without links, stat does just fine.  */
+#if @GNULIB_MKDIR@
+# if @REPLACE_MKDIR@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define lstat stat
-#  endif
-_GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf));
-# elif @REPLACE_LSTAT@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef lstat
-#   define lstat rpl_lstat
+#   undef mkdir
+#   define mkdir rpl_mkdir
 #  endif
-_GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf)
-                              _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf));
-# else
-_GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf));
-# endif
-# if @HAVE_LSTAT@
-_GL_CXXALIASWARN (lstat);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lstat
-# if HAVE_RAW_DECL_LSTAT
-_GL_WARN_ON_USE (lstat, "lstat is unportable - "
-                 "use gnulib module lstat for portability");
-# endif
-#endif
-
-
-#if @REPLACE_MKDIR@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef mkdir
-#  define mkdir rpl_mkdir
-# endif
 _GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode)
-                              _GL_ARG_NONNULL ((1)));
+                               _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
-#else
+# elif defined _WIN32 && !defined __CYGWIN__
 /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
    Additionally, it declares _mkdir (and depending on compile flags, an
    alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
    which are included above.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
 #  if !GNULIB_defined_rpl_mkdir
-static inline int
+static int
 rpl_mkdir (char const *name, mode_t mode)
 {
   return _mkdir (name);
 }
 #   define GNULIB_defined_rpl_mkdir 1
 #  endif
-
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkdir
 #   define mkdir rpl_mkdir
 #  endif
 _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
 # else
 _GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode));
 # endif
-#endif
 _GL_CXXALIASWARN (mkdir);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdir
+# if HAVE_RAW_DECL_MKDIR
+_GL_WARN_ON_USE (mkdir, "mkdir does not always support two parameters - "
+                 "use gnulib module mkdir for portability");
+# endif
+#elif @GNULIB_MDA_MKDIR@
+/* On native Windows, map 'mkdir' to '_mkdir', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::mkdir always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !GNULIB_defined_rpl_mkdir
+static int
+rpl_mkdir (char const *name, mode_t mode)
+{
+  return _mkdir (name);
+}
+#   define GNULIB_defined_rpl_mkdir 1
+#  endif
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkdir
+#   define mkdir rpl_mkdir
+#  endif
+_GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode));
+# endif
+_GL_CXXALIASWARN (mkdir);
+#endif
 
 
 #if @GNULIB_MKDIRAT@
@@ -559,12 +741,24 @@ _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
 
 
 #if @GNULIB_MKFIFOAT@
-# if !@HAVE_MKFIFOAT@
+# if @REPLACE_MKFIFOAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkfifoat
+#   define mkfifoat rpl_mkfifoat
+#  endif
+_GL_FUNCDECL_RPL (mkfifoat, int, (int fd, char const *file, mode_t mode)
+                                 _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mkfifoat, int, (int fd, char const *file, mode_t mode));
+# else
+#  if !@HAVE_MKFIFOAT@
 _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)
                                  _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mkfifoat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef mkfifoat
 # if HAVE_RAW_DECL_MKFIFOAT
@@ -602,14 +796,28 @@ _GL_WARN_ON_USE (mknod, "mknod is not portable - "
 
 
 #if @GNULIB_MKNODAT@
-# if !@HAVE_MKNODAT@
+# if @REPLACE_MKNODAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mknodat
+#   define mknodat rpl_mknodat
+#  endif
+_GL_FUNCDECL_RPL (mknodat, int,
+                  (int fd, char const *file, mode_t mode, dev_t dev)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mknodat, int,
+                  (int fd, char const *file, mode_t mode, dev_t dev));
+# else
+#  if !@HAVE_MKNODAT@
 _GL_FUNCDECL_SYS (mknodat, int,
                   (int fd, char const *file, mode_t mode, dev_t dev)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (mknodat, int,
                   (int fd, char const *file, mode_t mode, dev_t dev));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mknodat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef mknodat
 # if HAVE_RAW_DECL_MKNODAT
@@ -621,63 +829,69 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
 
 #if @GNULIB_STAT@
 # if @REPLACE_STAT@
-/* We can't use the object-like #define stat rpl_stat, because of
-   struct stat.  This means that rpl_stat will not be used if the user
-   does (stat)(a,b).  Oh well.  */
-#  if defined _AIX && defined stat && defined _LARGE_FILES
-    /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
-       so we have to replace stat64() instead of stat(). */
-#   undef stat64
-#   define stat64(name, st) rpl_stat (name, st)
-#  elif @WINDOWS_64_BIT_ST_SIZE@
-    /* Above, we define stat to _stati64.  */
-#   if defined __MINGW32__ && defined _stati64
-#    ifndef _USE_32BIT_TIME_T
-      /* The system headers define _stati64 to _stat64.  */
-#     undef _stat64
-#     define _stat64(name, st) rpl_stat (name, st)
+#  if !@GNULIB_OVERRIDES_STRUCT_STAT@
+    /* We can't use the object-like #define stat rpl_stat, because of
+       struct stat.  This means that rpl_stat will not be used if the user
+       does (stat)(a,b).  Oh well.  */
+#   if defined _AIX && defined stat && defined _LARGE_FILES
+     /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
+        so we have to replace stat64() instead of stat(). */
+#    undef stat64
+#    define stat64(name, st) rpl_stat (name, st)
+#   elif @WINDOWS_64_BIT_ST_SIZE@
+     /* Above, we define stat to _stati64.  */
+#    if defined __MINGW32__ && defined _stati64
+#     ifndef _USE_32BIT_TIME_T
+       /* The system headers define _stati64 to _stat64.  */
+#      undef _stat64
+#      define _stat64(name, st) rpl_stat (name, st)
+#     endif
+#    elif defined _MSC_VER && defined _stati64
+#     ifdef _USE_32BIT_TIME_T
+       /* The system headers define _stati64 to _stat32i64.  */
+#      undef _stat32i64
+#      define _stat32i64(name, st) rpl_stat (name, st)
+#     else
+       /* The system headers define _stati64 to _stat64.  */
+#      undef _stat64
+#      define _stat64(name, st) rpl_stat (name, st)
+#     endif
+#    else
+#     undef _stati64
+#     define _stati64(name, st) rpl_stat (name, st)
 #    endif
-#   elif defined _MSC_VER && defined _stati64
+#   elif defined __MINGW32__ && defined stat
 #    ifdef _USE_32BIT_TIME_T
-      /* The system headers define _stati64 to _stat32i64.  */
+      /* The system headers define stat to _stat32i64.  */
 #     undef _stat32i64
 #     define _stat32i64(name, st) rpl_stat (name, st)
 #    else
-      /* The system headers define _stati64 to _stat64.  */
+      /* The system headers define stat to _stat64.  */
 #     undef _stat64
 #     define _stat64(name, st) rpl_stat (name, st)
 #    endif
-#   else
-#    undef _stati64
-#    define _stati64(name, st) rpl_stat (name, st)
-#   endif
-#  elif defined __MINGW32__ && defined stat
-#   ifdef _USE_32BIT_TIME_T
-     /* The system headers define stat to _stat32i64.  */
-#    undef _stat32i64
-#    define _stat32i64(name, st) rpl_stat (name, st)
-#   else
-     /* The system headers define stat to _stat64.  */
-#    undef _stat64
-#    define _stat64(name, st) rpl_stat (name, st)
-#   endif
-#  elif defined _MSC_VER && defined stat
-#   ifdef _USE_32BIT_TIME_T
-     /* The system headers define stat to _stat32.  */
-#    undef _stat32
-#    define _stat32(name, st) rpl_stat (name, st)
-#   else
-     /* The system headers define stat to _stat64i32.  */
-#    undef _stat64i32
-#    define _stat64i32(name, st) rpl_stat (name, st)
-#   endif
-#  else /* !(_AIX ||__MINGW32__ ||  _MSC_VER) */
-#   undef stat
-#   define stat(name, st) rpl_stat (name, st)
-#  endif /* !_LARGE_FILES */
-_GL_EXTERN_C int stat (const char *name, struct stat *buf)
+#   elif defined _MSC_VER && defined stat
+#    ifdef _USE_32BIT_TIME_T
+      /* The system headers define stat to _stat32.  */
+#     undef _stat32
+#     define _stat32(name, st) rpl_stat (name, st)
+#    else
+      /* The system headers define stat to _stat64i32.  */
+#     undef _stat64i32
+#     define _stat64i32(name, st) rpl_stat (name, st)
+#    endif
+#   else /* !(_AIX || __MINGW32__ || _MSC_VER) */
+#    undef stat
+#    define stat(name, st) rpl_stat (name, st)
+#   endif /* !_LARGE_FILES */
+#  endif /* !@GNULIB_OVERRIDES_STRUCT_STAT@ */
+_GL_EXTERN_C int stat (const char *restrict name, struct stat *restrict buf)
                       _GL_ARG_NONNULL ((1, 2));
 # endif
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+/* see above:
+  #define stat stat_used_without_requesting_gnulib_module_stat
+ */
 #elif defined GNULIB_POSIXCHECK
 # undef stat
 # if HAVE_RAW_DECL_STAT
@@ -687,6 +901,62 @@ _GL_WARN_ON_USE (stat, "stat is unportable - "
 #endif
 
 
+#if @GNULIB_LSTAT@
+# if ! @HAVE_LSTAT@
+/* mingw does not support symlinks, therefore it does not have lstat.  But
+   without links, stat does just fine.  */
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define lstat stat
+#  endif
+_GL_CXXALIAS_RPL_1 (lstat, stat, int,
+                    (const char *restrict name, struct stat *restrict buf));
+# elif @REPLACE_LSTAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lstat
+#   define lstat rpl_lstat
+#  endif
+_GL_FUNCDECL_RPL (lstat, int,
+                  (const char *restrict name, struct stat *restrict buf)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (lstat, int,
+                  (const char *restrict name, struct stat *restrict buf));
+# else
+_GL_CXXALIAS_SYS (lstat, int,
+                  (const char *restrict name, struct stat *restrict buf));
+# endif
+# if @HAVE_LSTAT@
+_GL_CXXALIASWARN (lstat);
+# endif
+#elif @GNULIB_OVERRIDES_STRUCT_STAT@
+# undef lstat
+# define lstat lstat_used_without_requesting_gnulib_module_lstat
+#elif defined GNULIB_POSIXCHECK
+# undef lstat
+# if HAVE_RAW_DECL_LSTAT
+_GL_WARN_ON_USE (lstat, "lstat is unportable - "
+                 "use gnulib module lstat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MDA_UMASK@
+/* On native Windows, map 'umask' to '_umask', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::umask always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef umask
+#   define umask _umask
+#  endif
+/* Need to cast, because in mingw the last argument is 'int mode'.  */
+_GL_CXXALIAS_MDA_CAST (umask, mode_t, (mode_t mask));
+# else
+_GL_CXXALIAS_SYS (umask, mode_t, (mode_t mask));
+# endif
+_GL_CXXALIASWARN (umask);
+#endif
+
+
 #if @GNULIB_UTIMENSAT@
 /* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat
    implementation relies on futimesat, which on Solaris 10 makes an invocation
@@ -711,7 +981,7 @@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name,
 _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name,
                                    struct timespec const times[2], int flag));
 # endif
-# if @HAVE_UTIMENSAT@
+# if __GLIBC__ >= 2 && @HAVE_UTIMENSAT@
 _GL_CXXALIASWARN (utimensat);
 # endif
 #elif defined GNULIB_POSIXCHECK
index 8139d98..0a0ccc3 100644 (file)
@@ -1,29 +1,49 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+/* This file uses #include_next of a system file that defines time_t.
+   For the 'year2038' module to work right, <config.h> needs to have been
+   included before.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#if defined _WIN32 && !defined __CYGWIN__ \
+    && (defined __need_off_t || defined __need___off64_t \
+        || defined __need_ssize_t || defined __need_time_t)
+
+/* Special invocation convention inside mingw header files.  */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#else
+/* Normal invocation convention.  */
+
 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
 #@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
 
 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
 #define _@GUARD_PREFIX@_SYS_TYPES_H
 # define _GL_WINDOWS_64_BIT_OFF_T 1
 #endif
 
+/* Override dev_t and ino_t if distinguishable inodes support is requested
+   on native Windows.  */
+#if @WINDOWS_STAT_INODES@
+
+# if @WINDOWS_STAT_INODES@ == 2
+/* Experimental, not useful in Windows 10.  */
+
+/* Define dev_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_dev_t
+typedef unsigned long long int rpl_dev_t;
+#   undef dev_t
+#   define dev_t rpl_dev_t
+#   define GNULIB_defined_dev_t 1
+#  endif
+
+/* Define ino_t to a 128-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+/* MSVC does not have a 128-bit integer type.
+   GCC has a 128-bit integer type __int128, but only on 64-bit targets.  */
+typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# else /* @WINDOWS_STAT_INODES@ == 1 */
+
+/* Define ino_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+typedef unsigned long long int rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# endif
+
+/* Indicator, for gnulib internal purposes.  */
+# define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@
+
+#endif
+
 /* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
-#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
-    && ! defined __GLIBC__
+#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
 # include <stddef.h>
 #endif
 
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* __need_XXX */
diff --git a/gl/time.in.h b/gl/time.in.h
new file mode 100644 (file)
index 0000000..58e103a
--- /dev/null
@@ -0,0 +1,583 @@
+/* A more-standard <time.h>.
+
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* This file uses #include_next of a system file that defines time_t.
+   For the 'year2038' module to work right, <config.h> needs to have been
+   included before.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* Don't get in the way of glibc when it includes time.h merely to
+   declare a few standard symbols, rather than to declare all the
+   symbols.  (However, skip this for MinGW as it treats __need_time_t
+   incompatibly.)  Also, Solaris 8 <time.h> eventually includes itself
+   recursively; if that is happening, just include the system <time.h>
+   without adding our own declarations.  */
+#if (((defined __need_time_t || defined __need_clock_t \
+       || defined __need_timespec)                     \
+      && !defined __MINGW32__)                         \
+     || defined _@GUARD_PREFIX@_TIME_H)
+
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
+
+#else
+
+# define _@GUARD_PREFIX@_TIME_H
+
+/* mingw's <time.h> provides the functions asctime_r, ctime_r, gmtime_r,
+   localtime_r only if <unistd.h> or <pthread.h> has been included before.  */
+# if defined __MINGW32__
+#  include <unistd.h>
+# endif
+
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
+
+/* This file uses _GL_ATTRIBUTE_DEPRECATED, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+# if !_GL_CONFIG_H_INCLUDED
+#  error "Please include config.h first."
+# endif
+
+/* NetBSD 5.0 mis-defines NULL.  */
+# include <stddef.h>
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+/* Some systems don't define struct timespec (e.g., AIX 4.1).
+   Or they define it with the wrong member names or define it in <sys/time.h>
+   (e.g., FreeBSD circa 1997).  Stock Mingw prior to 3.0 does not define it,
+   but the pthreads-win32 library defines it in <pthread.h>.  */
+# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
+#  if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+#   include <sys/time.h>
+#  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+#   include <pthread.h>
+#  elif @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+#   include <unistd.h>
+#  else
+
+#   ifdef __cplusplus
+extern "C" {
+#   endif
+
+#   if !GNULIB_defined_struct_timespec
+#    undef timespec
+#    define timespec rpl_timespec
+struct timespec
+{
+  time_t tv_sec;
+  long int tv_nsec;
+};
+#    define GNULIB_defined_struct_timespec 1
+#   endif
+
+#   ifdef __cplusplus
+}
+#   endif
+
+#  endif
+# endif
+
+# if !GNULIB_defined_struct_time_t_must_be_integral
+/* https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
+   requires time_t to be an integer type, even though C99 permits floating
+   point.  We don't know of any implementation that uses floating
+   point, and it is much easier to write code that doesn't have to
+   worry about that corner case, so we force the issue.  */
+struct __time_t_must_be_integral {
+  unsigned int __floating_time_t_unsupported : (time_t) 1;
+};
+#  define GNULIB_defined_struct_time_t_must_be_integral 1
+# endif
+
+/* Define TIME_UTC, a positive integer constant used for timespec_get().  */
+# if ! @TIME_H_DEFINES_TIME_UTC@
+#  if !GNULIB_defined_TIME_UTC
+#   define TIME_UTC 1
+#   define GNULIB_defined_TIME_UTC 1
+#  endif
+# endif
+
+/* Set *TS to the current time, and return BASE.
+   Upon failure, return 0.  */
+# if @GNULIB_TIMESPEC_GET@
+#  if @REPLACE_TIMESPEC_GET@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef timespec_get
+#    define timespec_get rpl_timespec_get
+#   endif
+_GL_FUNCDECL_RPL (timespec_get, int, (struct timespec *ts, int base)
+                                     _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (timespec_get, int, (struct timespec *ts, int base));
+#  else
+#   if !@HAVE_TIMESPEC_GET@
+_GL_FUNCDECL_SYS (timespec_get, int, (struct timespec *ts, int base)
+                                     _GL_ARG_NONNULL ((1)));
+#   endif
+_GL_CXXALIAS_SYS (timespec_get, int, (struct timespec *ts, int base));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (timespec_get);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef timespec_get
+#  if HAVE_RAW_DECL_TIMESPEC_GET
+_GL_WARN_ON_USE (timespec_get, "timespec_get is unportable - "
+                 "use gnulib module timespec_get for portability");
+#  endif
+# endif
+
+/* Set *TS to the current time resolution, and return BASE.
+   Upon failure, return 0.  */
+# if @GNULIB_TIMESPEC_GETRES@
+#  if ! @HAVE_TIMESPEC_GETRES@
+_GL_FUNCDECL_SYS (timespec_getres, int, (struct timespec *ts, int base)
+                                        _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base));
+_GL_CXXALIASWARN (timespec_getres);
+# elif defined GNULIB_POSIXCHECK
+#  undef timespec_getres
+#  if HAVE_RAW_DECL_TIMESPEC_GETRES
+_GL_WARN_ON_USE (timespec_getres, "timespec_getres is unportable - "
+                 "use gnulib module timespec_getres for portability");
+#  endif
+# endif
+
+/* Return the number of seconds that have elapsed since the Epoch.  */
+# if @GNULIB_TIME@
+#  if @REPLACE_TIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define time rpl_time
+#   endif
+_GL_FUNCDECL_RPL (time, time_t, (time_t *__tp));
+_GL_CXXALIAS_RPL (time, time_t, (time_t *__tp));
+#  else
+_GL_CXXALIAS_SYS (time, time_t, (time_t *__tp));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (time);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef time
+#  if HAVE_RAW_DECL_TIME
+_GL_WARN_ON_USE (time, "time has consistency problems - "
+                 "use gnulib module time for portability");
+#  endif
+# endif
+
+/* Sleep for at least RQTP seconds unless interrupted,  If interrupted,
+   return -1 and store the remaining time into RMTP.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>.  */
+# if @GNULIB_NANOSLEEP@
+#  if @REPLACE_NANOSLEEP@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define nanosleep rpl_nanosleep
+#   endif
+_GL_FUNCDECL_RPL (nanosleep, int,
+                  (struct timespec const *__rqtp, struct timespec *__rmtp)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (nanosleep, int,
+                  (struct timespec const *__rqtp, struct timespec *__rmtp));
+#  else
+#   if ! @HAVE_NANOSLEEP@
+_GL_FUNCDECL_SYS (nanosleep, int,
+                  (struct timespec const *__rqtp, struct timespec *__rmtp)
+                  _GL_ARG_NONNULL ((1)));
+#   endif
+_GL_CXXALIAS_SYS (nanosleep, int,
+                  (struct timespec const *__rqtp, struct timespec *__rmtp));
+#  endif
+_GL_CXXALIASWARN (nanosleep);
+# elif defined GNULIB_POSIXCHECK
+#  undef nanosleep
+#  if HAVE_RAW_DECL_NANOSLEEP
+_GL_WARN_ON_USE (nanosleep, "nanosleep is unportable - "
+                 "use gnulib module nanosleep for portability");
+#  endif
+# endif
+
+/* Initialize time conversion information.  */
+# if @GNULIB_TZSET@
+#  if @REPLACE_TZSET@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef tzset
+#    define tzset rpl_tzset
+#   endif
+_GL_FUNCDECL_RPL (tzset, void, (void));
+_GL_CXXALIAS_RPL (tzset, void, (void));
+#  elif defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef tzset
+#    define tzset _tzset
+#   endif
+_GL_CXXALIAS_MDA (tzset, void, (void));
+#  else
+_GL_CXXALIAS_SYS (tzset, void, (void));
+#  endif
+_GL_CXXALIASWARN (tzset);
+# elif @GNULIB_MDA_TZSET@
+/* On native Windows, map 'tzset' to '_tzset', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::tzset always.  */
+#  if defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef tzset
+#    define tzset _tzset
+#   endif
+_GL_CXXALIAS_MDA (tzset, void, (void));
+#  else
+_GL_CXXALIAS_SYS (tzset, void, (void));
+#  endif
+_GL_CXXALIASWARN (tzset);
+# elif defined GNULIB_POSIXCHECK
+#  undef tzset
+#  if HAVE_RAW_DECL_TZSET
+_GL_WARN_ON_USE (tzset, "tzset has portability problems - "
+                 "use gnulib module tzset for portability");
+#  endif
+# endif
+
+/* Return the 'time_t' representation of TP and normalize TP.  */
+# if @GNULIB_MKTIME@
+#  if @REPLACE_MKTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define mktime rpl_mktime
+#   endif
+_GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp));
+#  else
+_GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mktime);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef mktime
+#  if HAVE_RAW_DECL_MKTIME
+_GL_WARN_ON_USE (mktime, "mktime has portability problems - "
+                 "use gnulib module mktime for portability");
+#  endif
+# endif
+
+/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime_r.html> and
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime_r.html>.  */
+# if @GNULIB_TIME_R@
+#  if @REPLACE_LOCALTIME_R@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef localtime_r
+#    define localtime_r rpl_localtime_r
+#   endif
+_GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
+                                             struct tm *restrict __result)
+                                            _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
+                                             struct tm *restrict __result));
+#  else
+#   if ! @HAVE_DECL_LOCALTIME_R@
+_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
+                                             struct tm *restrict __result)
+                                            _GL_ARG_NONNULL ((1, 2)));
+#   endif
+_GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
+                                             struct tm *restrict __result));
+#  endif
+#  if @HAVE_DECL_LOCALTIME_R@
+_GL_CXXALIASWARN (localtime_r);
+#  endif
+#  if @REPLACE_LOCALTIME_R@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef gmtime_r
+#    define gmtime_r rpl_gmtime_r
+#   endif
+_GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
+                                          struct tm *restrict __result)
+                                         _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
+                                          struct tm *restrict __result));
+#  else
+#   if ! @HAVE_DECL_LOCALTIME_R@
+_GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
+                                          struct tm *restrict __result)
+                                         _GL_ARG_NONNULL ((1, 2)));
+#   endif
+_GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
+                                          struct tm *restrict __result));
+#  endif
+#  if @HAVE_DECL_LOCALTIME_R@
+_GL_CXXALIASWARN (gmtime_r);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef localtime_r
+#  if HAVE_RAW_DECL_LOCALTIME_R
+_GL_WARN_ON_USE (localtime_r, "localtime_r is unportable - "
+                 "use gnulib module time_r for portability");
+#  endif
+#  undef gmtime_r
+#  if HAVE_RAW_DECL_GMTIME_R
+_GL_WARN_ON_USE (gmtime_r, "gmtime_r is unportable - "
+                 "use gnulib module time_r for portability");
+#  endif
+# endif
+
+/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime.html> and
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime.html>.  */
+# if @GNULIB_LOCALTIME@ || @REPLACE_LOCALTIME@
+#  if @REPLACE_LOCALTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef localtime
+#    define localtime rpl_localtime
+#   endif
+_GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
+                                          _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (localtime);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef localtime
+#  if HAVE_RAW_DECL_LOCALTIME
+_GL_WARN_ON_USE (localtime, "localtime has portability problems - "
+                 "use gnulib module localtime for portability");
+#  endif
+# endif
+
+# if 0 || @REPLACE_GMTIME@
+#  if @REPLACE_GMTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef gmtime
+#    define gmtime rpl_gmtime
+#   endif
+_GL_FUNCDECL_RPL (gmtime, struct tm *, (time_t const *__timer)
+                                       _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gmtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (gmtime, struct tm *, (time_t const *__timer));
+#  endif
+_GL_CXXALIASWARN (gmtime);
+# endif
+
+/* Parse BUF as a timestamp, assuming FORMAT specifies its layout, and store
+   the resulting broken-down time into TM.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html>.  */
+# if @GNULIB_STRPTIME@
+#  if ! @HAVE_STRPTIME@
+_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
+                                     char const *restrict __format,
+                                     struct tm *restrict __tm)
+                                    _GL_ARG_NONNULL ((1, 2, 3)));
+#  endif
+_GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
+                                     char const *restrict __format,
+                                     struct tm *restrict __tm));
+_GL_CXXALIASWARN (strptime);
+# elif defined GNULIB_POSIXCHECK
+#  undef strptime
+#  if HAVE_RAW_DECL_STRPTIME
+_GL_WARN_ON_USE (strptime, "strptime is unportable - "
+                 "use gnulib module strptime for portability");
+#  endif
+# endif
+
+/* Convert *TP to a date and time string.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/ctime.html>.  */
+# if @GNULIB_CTIME@
+#  if @REPLACE_CTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define ctime rpl_ctime
+#   endif
+#   ifndef __cplusplus
+_GL_ATTRIBUTE_DEPRECATED
+#   endif
+_GL_FUNCDECL_RPL (ctime, char *, (time_t const *__tp)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ctime, char *, (time_t const *__tp));
+#  else
+_GL_CXXALIAS_SYS (ctime, char *, (time_t const *__tp));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (ctime);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef ctime
+#  if HAVE_RAW_DECL_CTIME
+_GL_WARN_ON_USE (ctime, "ctime has portability problems - "
+                 "use gnulib module ctime for portability");
+#  endif
+# endif
+
+/* Convert *TP to a date and time string.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html>.  */
+# if @GNULIB_STRFTIME@
+#  if @REPLACE_STRFTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define strftime rpl_strftime
+#   endif
+_GL_FUNCDECL_RPL (strftime, size_t,
+                  (char *restrict __buf, size_t __bufsize,
+                   const char *restrict __fmt, const struct tm *restrict __tp)
+                  _GL_ARG_NONNULL ((1, 3, 4)));
+_GL_CXXALIAS_RPL (strftime, size_t,
+                  (char *restrict __buf, size_t __bufsize,
+                   const char *restrict __fmt, const struct tm *restrict __tp));
+#  else
+_GL_CXXALIAS_SYS (strftime, size_t,
+                  (char *restrict __buf, size_t __bufsize,
+                   const char *restrict __fmt, const struct tm *restrict __tp));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strftime);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef strftime
+#  if HAVE_RAW_DECL_STRFTIME
+_GL_WARN_ON_USE (strftime, "strftime has portability problems - "
+                 "use gnulib module strftime-fixes for portability");
+#  endif
+# endif
+
+# if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@
+/* Functions that use a first-class time zone data type, instead of
+   relying on an implicit global time zone.
+   Inspired by NetBSD.  */
+
+/* Represents a time zone.
+   (timezone_t) NULL stands for UTC.  */
+typedef struct tm_zone *timezone_t;
+
+/* tzalloc (name)
+   Returns a time zone object for the given time zone NAME.  This object
+   represents the time zone that other functions would use it the TZ
+   environment variable was set to NAME.
+   If NAME is NULL, the result represents the time zone that other functions
+   would use it the TZ environment variable was unset.
+   May return NULL if NAME is invalid (this is platform dependent) or
+   upon memory allocation failure.  */
+_GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name));
+_GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name));
+
+/* tzfree (tz)
+   Frees a time zone object.
+   The argument must have been returned by tzalloc().  */
+_GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz));
+_GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+
+/* localtime_rz (tz, &t, &result)
+   Converts an absolute time T to a broken-down time RESULT, assuming the
+   time zone TZ.
+   This function is like 'localtime_r', but relies on the argument TZ instead
+   of an implicit global time zone.  */
+_GL_FUNCDECL_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_SYS (localtime_rz, struct tm *,
+                  (timezone_t __tz, time_t const *restrict __timer,
+                   struct tm *restrict __result));
+
+/* mktime_z (tz, &tm)
+   Normalizes the broken-down time TM and converts it to an absolute time,
+   assuming the time zone TZ.  Returns the absolute time.
+   This function is like 'mktime', but relies on the argument TZ instead
+   of an implicit global time zone.  */
+_GL_FUNCDECL_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __tm)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_SYS (mktime_z, time_t,
+                  (timezone_t __tz, struct tm *restrict __tm));
+
+/* Time zone abbreviation strings (returned by 'localtime_rz' or 'mktime_z'
+   in the 'tm_zone' member of 'struct tm') are valid as long as
+     - the 'struct tm' argument is not destroyed or overwritten,
+   and
+     - the 'timezone_t' argument is not freed through tzfree().  */
+
+# endif
+
+/* Convert TM to a time_t value, assuming UTC.  */
+# if @GNULIB_TIMEGM@
+#  if @REPLACE_TIMEGM@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef timegm
+#    define timegm rpl_timegm
+#   endif
+_GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm));
+#  else
+#   if ! @HAVE_TIMEGM@
+_GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
+#   endif
+_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
+#  endif
+#  if __GLIBC__ >= 2
+_GL_CXXALIASWARN (timegm);
+#  endif
+# elif defined GNULIB_POSIXCHECK
+#  undef timegm
+#  if HAVE_RAW_DECL_TIMEGM
+_GL_WARN_ON_USE (timegm, "timegm is unportable - "
+                 "use gnulib module timegm for portability");
+#  endif
+# endif
+
+/* Encourage applications to avoid unsafe functions that can overrun
+   buffers when given outlandish struct tm values.  Portable
+   applications should use strftime (or even sprintf) instead.  */
+# if defined GNULIB_POSIXCHECK
+#  undef asctime
+#  if HAVE_RAW_DECL_ASCTIME
+_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
+                 "better use strftime (or even sprintf) instead");
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef asctime_r
+#  if HAVE_RAW_DECL_ASCTIME_R
+_GL_WARN_ON_USE (asctime_r, "asctime_r can overrun buffers in some cases - "
+                 "better use strftime (or even sprintf) instead");
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef ctime
+#  if HAVE_RAW_DECL_CTIME
+_GL_WARN_ON_USE (ctime, "ctime can overrun buffers in some cases - "
+                 "better use strftime (or even sprintf) instead");
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef ctime_r
+#  if HAVE_RAW_DECL_CTIME_R
+_GL_WARN_ON_USE (ctime_r, "ctime_r can overrun buffers in some cases - "
+                 "better use strftime (or even sprintf) instead");
+#  endif
+# endif
+
+#endif
diff --git a/gl/unistd.c b/gl/unistd.c
new file mode 100644 (file)
index 0000000..f3b3f7b
--- /dev/null
@@ -0,0 +1,22 @@
+/* Inline functions for <unistd.h>.
+
+   Copyright (C) 2012-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
+#include <unistd.h>
+typedef int dummy;
index 9115486..b412966 100644 (file)
@@ -1,45 +1,61 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2012 Free Software Foundation, Inc.
+   Copyright (C) 2003-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _@GUARD_PREFIX@_UNISTD_H
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if @HAVE_UNISTD_H@ && defined _GL_INCLUDING_UNISTD_H
 /* Special invocation convention:
-   - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
-     but we need to ensure that both the system <unistd.h> and <winsock2.h>
-     are completely included before we replace gethostname.  */
-#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
-  && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
-/* <unistd.h> is being indirectly included for the first time from
-   <winsock2.h>; avoid declaring any overrides.  */
-# if @HAVE_UNISTD_H@
-#  @INCLUDE_NEXT@ @NEXT_UNISTD_H@
-# else
-#  error unexpected; report this to bug-gnulib@gnu.org
-# endif
-# define _GL_WINSOCK2_H_WITNESS
+   - On Mac OS X 10.3.9 we have a sequence of nested includes
+     <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
+#@INCLUDE_NEXT@ @NEXT_UNISTD_H@
 
-/* Normal invocation.  */
-#elif !defined _@GUARD_PREFIX@_UNISTD_H
+#else
+/* Normal invocation convention.  */
 
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
+#endif
+
+/* Avoid lseek bugs in FreeBSD, macOS <https://bugs.gnu.org/61386>.
+   This bug is fixed after FreeBSD 13; see <https://bugs.freebsd.org/256205>.
+   Use macOS "9999" to stand for a future fixed macOS version.  */
+#if defined __FreeBSD__ && __FreeBSD__ < 14
+# undef SEEK_DATA
+# undef SEEK_HOLE
+#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA
+# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#  include <AvailabilityMacros.h>
+# endif
+# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \
+      || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000)
+#  include <sys/fcntl.h> /* It also defines the two macros.  */
+#  undef SEEK_DATA
+#  undef SEEK_HOLE
+# endif
 #endif
 
 /* Get all possible declarations of gethostname().  */
 #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
 #define _@GUARD_PREFIX@_UNISTD_H
 
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* NetBSD 5.0 mis-defines NULL.  Also get size_t.  */
-#include <stddef.h>
+/* But avoid namespace pollution on glibc systems.  */
+#ifndef __GLIBC__
+# include <stddef.h>
+#endif
 
 /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>.  */
+/* MSVC declares 'unlink' in <stdio.h>, not in <unistd.h>.  We must include
+   it before we  #define unlink rpl_unlink.  */
 /* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
 #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
+     || ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \
+         && (defined _WIN32 && ! defined __CYGWIN__)) \
      || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
          && defined __CYGWIN__)) \
     && ! defined __GLIBC__
 # include <stdio.h>
 #endif
 
-/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>.  */
+/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in <fcntl.h>, not in
+   <unistd.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
-#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
+#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) \
+    && (defined __CYGWIN__ || defined __ANDROID__) \
     && ! defined __GLIBC__
 # include <fcntl.h>
 #endif
 /* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
    <unistd.h>.  */
 /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>.  */
+/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system <stdlib.h> is
+   included here.  */
 /* But avoid namespace pollution on glibc systems.  */
-#ifndef __GLIBC__
+#if !defined __GLIBC__ && !defined __osf__
+# define __need_system_stdlib_h
 # include <stdlib.h>
+# undef __need_system_stdlib_h
 #endif
 
-/* Native Windows platforms declare chdir, getcwd, rmdir in
+/* Native Windows platforms declare _chdir, _getcwd, _rmdir in
    <io.h> and/or <direct.h>, not in <unistd.h>.
-   They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
-   lseek(), read(), unlink(), write() in <io.h>.  */
-#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
-      || defined GNULIB_POSIXCHECK) \
-     && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-# include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64, MSVC 9 */
-#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
-       || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
-       || defined GNULIB_POSIXCHECK) \
-      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+   They also declare _access(), _chmod(), _close(), _dup(), _dup2(), _isatty(),
+   _lseek(), _read(), _unlink(), _write() in <io.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
 # include <io.h>
+# include <direct.h>
+#endif
+
+/* Native Windows platforms declare _execl*, _execv* in <process.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
+# include <process.h>
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
 # include <netdb.h>
 #endif
 
-/* MSVC defines off_t in <sys/types.h>.
-   May also define off_t to a 64-bit type on native Windows.  */
-#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
-/* Get off_t.  */
-# include <sys/types.h>
+/* Mac OS X 10.13, Solaris 11.4, and Android 9.0 declare getentropy in
+   <sys/random.h>, not in <unistd.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_GETENTROPY@ || defined GNULIB_POSIXCHECK) \
+    && ((defined __APPLE__ && defined __MACH__) || defined __sun \
+        || defined __ANDROID__) \
+    && @UNISTD_H_HAVE_SYS_RANDOM_H@ \
+    && !defined __GLIBC__
+# include <sys/random.h>
 #endif
 
-#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
-     || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
-     || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
-/* Get ssize_t.  */
-# include <sys/types.h>
+/* Android 4.3 declares fchownat in <sys/stat.h>, not in <unistd.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
+    && !defined __GLIBC__
+# include <sys/stat.h>
 #endif
 
-/* Get getopt(), optarg, optind, opterr, optopt.
-   But avoid namespace pollution on glibc systems.  */
-#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
-# include <getopt.h>
-#endif
+/* MSVC defines off_t in <sys/types.h>.
+   May also define off_t to a 64-bit type on native Windows.  */
+/* Get off_t, ssize_t, mode_t.  */
+#include <sys/types.h>
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 
+/* Get getopt(), optarg, optind, opterr, optopt.  */
+#if @GNULIB_GETOPT_POSIX@ && @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
+# include <getopt-cdefs.h>
+# include <getopt-pfx-core.h>
+#endif
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_UNISTD_INLINE
+# define _GL_UNISTD_INLINE _GL_INLINE
+#endif
+
 /* Hide some function declarations from <winsock2.h>.  */
 
 #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
 /* Declare overridden functions.  */
 
 
-#if defined GNULIB_POSIXCHECK
+#if @GNULIB_ACCESS@
+# if @REPLACE_ACCESS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access rpl_access
+#  endif
+_GL_FUNCDECL_RPL (access, int, (const char *file, int mode)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (access, int, (const char *file, int mode));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access _access
+#  endif
+_GL_CXXALIAS_MDA (access, int, (const char *file, int mode));
+# else
+_GL_CXXALIAS_SYS (access, int, (const char *file, int mode));
+# endif
+_GL_CXXALIASWARN (access);
+#elif defined GNULIB_POSIXCHECK
+# undef access
+# if HAVE_RAW_DECL_ACCESS
 /* The access() function is a security risk.  */
-_GL_WARN_ON_USE (access, "the access function is a security risk - "
+_GL_WARN_ON_USE (access, "access does not always support X_OK - "
+                 "use gnulib module access for portability; "
+                 "also, this function is a security risk - "
                  "use the gnulib module faccessat instead");
+# endif
+#elif @GNULIB_MDA_ACCESS@
+/* On native Windows, map 'access' to '_access', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::access always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access _access
+#  endif
+_GL_CXXALIAS_MDA (access, int, (const char *file, int mode));
+# else
+_GL_CXXALIAS_SYS (access, int, (const char *file, int mode));
+# endif
+_GL_CXXALIASWARN (access);
 #endif
 
 
 #if @GNULIB_CHDIR@
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chdir
+#   define chdir _chdir
+#  endif
+_GL_CXXALIAS_MDA (chdir, int, (const char *file));
+# else
 _GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+# endif
 _GL_CXXALIASWARN (chdir);
 #elif defined GNULIB_POSIXCHECK
 # undef chdir
@@ -249,6 +342,20 @@ _GL_CXXALIASWARN (chdir);
 _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
                  "use gnulib module chdir for portability");
 # endif
+#elif @GNULIB_MDA_CHDIR@
+/* On native Windows, map 'chdir' to '_chdir', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::chdir always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chdir
+#   define chdir _chdir
+#  endif
+_GL_CXXALIAS_MDA (chdir, int, (const char *file));
+# else
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIASWARN (chdir);
 #endif
 
 
@@ -257,7 +364,7 @@ _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
    to GID (if GID is not -1).  Follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
 # if @REPLACE_CHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef chown
@@ -293,6 +400,12 @@ _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
 #  endif
 _GL_FUNCDECL_RPL (close, int, (int fd));
 _GL_CXXALIAS_RPL (close, int, (int fd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close _close
+#  endif
+_GL_CXXALIAS_MDA (close, int, (int fd));
 # else
 _GL_CXXALIAS_SYS (close, int, (int fd));
 # endif
@@ -305,6 +418,53 @@ _GL_CXXALIASWARN (close);
 /* Assume close is always declared.  */
 _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
                  "use gnulib module close for portability");
+#elif @GNULIB_MDA_CLOSE@
+/* On native Windows, map 'close' to '_close', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::close always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close _close
+#  endif
+_GL_CXXALIAS_MDA (close, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (close, int, (int fd));
+# endif
+_GL_CXXALIASWARN (close);
+#endif
+
+
+#if @GNULIB_COPY_FILE_RANGE@
+# if @REPLACE_COPY_FILE_RANGE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef copy_file_range
+#   define copy_file_range rpl_copy_file_range
+#  endif
+_GL_FUNCDECL_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+_GL_CXXALIAS_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+# else
+#  if !@HAVE_COPY_FILE_RANGE@
+_GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+#  endif
+_GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+# endif
+_GL_CXXALIASWARN (copy_file_range);
+#elif defined GNULIB_POSIXCHECK
+# undef copy_file_range
+# if HAVE_RAW_DECL_COPY_FILE_RANGE
+_GL_WARN_ON_USE (copy_file_range,
+                 "copy_file_range is unportable - "
+                 "use gnulib module copy_file_range for portability");
+# endif
 #endif
 
 
@@ -315,6 +475,12 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
 #  endif
 _GL_FUNCDECL_RPL (dup, int, (int oldfd));
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup
+#   define dup _dup
+#  endif
+_GL_CXXALIAS_MDA (dup, int, (int oldfd));
 # else
 _GL_CXXALIAS_SYS (dup, int, (int oldfd));
 # endif
@@ -325,6 +491,20 @@ _GL_CXXALIASWARN (dup);
 _GL_WARN_ON_USE (dup, "dup is unportable - "
                  "use gnulib module dup for portability");
 # endif
+#elif @GNULIB_MDA_DUP@
+/* On native Windows, map 'dup' to '_dup', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::dup always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup
+#   define dup _dup
+#  endif
+_GL_CXXALIAS_MDA (dup, int, (int oldfd));
+# else
+_GL_CXXALIAS_SYS (dup, int, (int oldfd));
+# endif
+_GL_CXXALIASWARN (dup);
 #endif
 
 
@@ -333,17 +513,20 @@ _GL_WARN_ON_USE (dup, "dup is unportable - "
    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
 # if @REPLACE_DUP2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup2 rpl_dup2
 #  endif
 _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd));
 _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd));
-# else
-#  if !@HAVE_DUP2@
-_GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup2
+#   define dup2 _dup2
 #  endif
+_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd));
+# else
 _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
 # endif
 _GL_CXXALIASWARN (dup2);
@@ -353,6 +536,20 @@ _GL_CXXALIASWARN (dup2);
 _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
                  "use gnulib module dup2 for portability");
 # endif
+#elif @GNULIB_MDA_DUP2@
+/* On native Windows, map 'dup2' to '_dup2', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::dup2 always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup2
+#   define dup2 _dup2
+#  endif
+_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd));
+# else
+_GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
+# endif
+_GL_CXXALIASWARN (dup2);
 #endif
 
 
@@ -364,18 +561,23 @@ _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
    Close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
    See the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
-# if @HAVE_DUP3@
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
+# if @REPLACE_DUP3@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup3
 #   define dup3 rpl_dup3
 #  endif
 _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
 _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
 # else
+#  if !@HAVE_DUP3@
 _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
+#  endif
 _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (dup3);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef dup3
 # if HAVE_RAW_DECL_DUP3
@@ -386,10 +588,23 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 
 
 #if @GNULIB_ENVIRON@
+# if defined __CYGWIN__ && !defined __i386__
+/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
+   the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
+   This leads to a link error on 64-bit Cygwin when the option
+   -Wl,--disable-auto-import is in use.  */
+_GL_EXTERN_C __declspec(dllimport) char **environ;
+# endif
 # if !@HAVE_DECL_ENVIRON@
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
 #  if defined __APPLE__ && defined __MACH__
+#   include <TargetConditionals.h>
+#   if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#    define _GL_USE_CRT_EXTERNS
+#   endif
+#  endif
+#  ifdef _GL_USE_CRT_EXTERNS
 #   include <crt_externs.h>
 #   define environ (*_NSGetEnviron ())
 #  else
@@ -404,13 +619,13 @@ extern char **environ;
 # endif
 #elif defined GNULIB_POSIXCHECK
 # if HAVE_RAW_DECL_ENVIRON
-static inline char ***
+_GL_UNISTD_INLINE char ***
+_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - "
+                           "use gnulib module environ for portability")
 rpl_environ (void)
 {
   return &environ;
 }
-_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
-                 "use gnulib module environ for portability");
 #  undef environ
 #  define environ (*rpl_environ ())
 # endif
@@ -440,15 +655,307 @@ _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
 #endif
 
 
+#if @GNULIB_EXECL@
+# if @REPLACE_EXECL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execl
+#   define execl rpl_execl
+#  endif
+_GL_FUNCDECL_RPL (execl, int, (const char *program, const char *arg, ...)
+                              _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execl, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execl);
+#elif defined GNULIB_POSIXCHECK
+# undef execl
+# if HAVE_RAW_DECL_EXECL
+_GL_WARN_ON_USE (execl, "execl behaves very differently on mingw - "
+                 "use gnulib module execl for portability");
+# endif
+#elif @GNULIB_MDA_EXECL@
+/* On native Windows, map 'execl' to '_execl', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execl always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execl
+#   define execl _execl
+#  endif
+_GL_CXXALIAS_MDA (execl, intptr_t, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execl);
+#endif
+
+#if @GNULIB_EXECLE@
+# if @REPLACE_EXECLE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execle
+#   define execle rpl_execle
+#  endif
+_GL_FUNCDECL_RPL (execle, int, (const char *program, const char *arg, ...)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execle, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execle);
+#elif defined GNULIB_POSIXCHECK
+# undef execle
+# if HAVE_RAW_DECL_EXECLE
+_GL_WARN_ON_USE (execle, "execle behaves very differently on mingw - "
+                 "use gnulib module execle for portability");
+# endif
+#elif @GNULIB_MDA_EXECLE@
+/* On native Windows, map 'execle' to '_execle', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execle always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execle
+#   define execle _execle
+#  endif
+_GL_CXXALIAS_MDA (execle, intptr_t,
+                  (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execle);
+#endif
+
+#if @GNULIB_EXECLP@
+# if @REPLACE_EXECLP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execlp
+#   define execlp rpl_execlp
+#  endif
+_GL_FUNCDECL_RPL (execlp, int, (const char *program, const char *arg, ...)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execlp, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execlp);
+#elif defined GNULIB_POSIXCHECK
+# undef execlp
+# if HAVE_RAW_DECL_EXECLP
+_GL_WARN_ON_USE (execlp, "execlp behaves very differently on mingw - "
+                 "use gnulib module execlp for portability");
+# endif
+#elif @GNULIB_MDA_EXECLP@
+/* On native Windows, map 'execlp' to '_execlp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execlp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execlp
+#   define execlp _execlp
+#  endif
+_GL_CXXALIAS_MDA (execlp, intptr_t,
+                  (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execlp);
+#endif
+
+
+#if @GNULIB_EXECV@
+# if @REPLACE_EXECV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execv
+#   define execv rpl_execv
+#  endif
+_GL_FUNCDECL_RPL (execv, int, (const char *program, char * const *argv)
+                              _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execv, int, (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execv);
+#elif defined GNULIB_POSIXCHECK
+# undef execv
+# if HAVE_RAW_DECL_EXECV
+_GL_WARN_ON_USE (execv, "execv behaves very differently on mingw - "
+                 "use gnulib module execv for portability");
+# endif
+#elif @GNULIB_MDA_EXECV@
+/* On native Windows, map 'execv' to '_execv', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execv always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execv
+#   define execv _execv
+#  endif
+_GL_CXXALIAS_MDA_CAST (execv, intptr_t,
+                       (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execv);
+#endif
+
+#if @GNULIB_EXECVE@
+# if @REPLACE_EXECVE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execve
+#   define execve rpl_execve
+#  endif
+_GL_FUNCDECL_RPL (execve, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# else
+_GL_CXXALIAS_SYS (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+_GL_CXXALIASWARN (execve);
+#elif defined GNULIB_POSIXCHECK
+# undef execve
+# if HAVE_RAW_DECL_EXECVE
+_GL_WARN_ON_USE (execve, "execve behaves very differently on mingw - "
+                 "use gnulib module execve for portability");
+# endif
+#elif @GNULIB_MDA_EXECVE@
+/* On native Windows, map 'execve' to '_execve', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execve always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execve
+#   define execve _execve
+#  endif
+_GL_CXXALIAS_MDA_CAST (execve, intptr_t,
+                       (const char *program, char * const *argv,
+                        char * const *env));
+# else
+_GL_CXXALIAS_SYS (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+_GL_CXXALIASWARN (execve);
+#endif
+
+#if @GNULIB_EXECVP@
+# if @REPLACE_EXECVP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvp
+#   define execvp rpl_execvp
+#  endif
+_GL_FUNCDECL_RPL (execvp, int, (const char *program, char * const *argv)
+                               _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execvp, int, (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execvp);
+#elif defined GNULIB_POSIXCHECK
+# undef execvp
+# if HAVE_RAW_DECL_EXECVP
+_GL_WARN_ON_USE (execvp, "execvp behaves very differently on mingw - "
+                 "use gnulib module execvp for portability");
+# endif
+#elif @GNULIB_MDA_EXECVP@
+/* On native Windows, map 'execvp' to '_execvp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execvp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvp
+#   define execvp _execvp
+#  endif
+_GL_CXXALIAS_MDA_CAST (execvp, intptr_t,
+                       (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execvp);
+#endif
+
+#if @GNULIB_EXECVPE@
+# if @REPLACE_EXECVPE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvpe
+#   define execvpe rpl_execvpe
+#  endif
+_GL_FUNCDECL_RPL (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# else
+#  if !@HAVE_DECL_EXECVPE@
+_GL_FUNCDECL_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (execvpe);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef execvpe
+# if HAVE_RAW_DECL_EXECVPE
+_GL_WARN_ON_USE (execvpe, "execvpe behaves very differently on mingw - "
+                 "use gnulib module execvpe for portability");
+# endif
+#elif @GNULIB_MDA_EXECVPE@
+/* On native Windows, map 'execvpe' to '_execvpe', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execvpe on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvpe
+#   define execvpe _execvpe
+#  endif
+_GL_CXXALIAS_MDA_CAST (execvpe, intptr_t,
+                       (const char *program, char * const *argv,
+                        char * const *env));
+# elif @HAVE_EXECVPE@
+#  if !@HAVE_DECL_EXECVPE@
+_GL_FUNCDECL_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_EXECVPE@
+_GL_CXXALIASWARN (execvpe);
+# endif
+#endif
+
+
 #if @GNULIB_FACCESSAT@
-# if !@HAVE_FACCESSAT@
+# if @REPLACE_FACCESSAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef faccessat
+#   define faccessat rpl_faccessat
+#  endif
+_GL_FUNCDECL_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag));
+# else
+#  if !@HAVE_FACCESSAT@
 _GL_FUNCDECL_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (faccessat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef faccessat
 # if HAVE_RAW_DECL_FACCESSAT
@@ -463,24 +970,29 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
    the given file descriptor is open.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
-# if ! @HAVE_FCHDIR@
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
+# if @REPLACE_FCHDIR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fchdir
+#   define fchdir rpl_fchdir
+#  endif
+_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/));
+_GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/));
+# else
+#  if !@HAVE_FCHDIR@ || !@HAVE_DECL_FCHDIR@
 _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-
+#  endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
+# endif
+_GL_CXXALIASWARN (fchdir);
+# if @REPLACE_FCHDIR@ || !@HAVE_FCHDIR@
 /* Gnulib internal hooks needed to maintain the fchdir metadata.  */
 _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
      _GL_ARG_NONNULL ((2));
 _GL_EXTERN_C void _gl_unregister_fd (int fd);
 _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
 _GL_EXTERN_C const char *_gl_directory_name (int fd);
-
-# else
-#  if !@HAVE_DECL_FCHDIR@
-_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-#  endif
 # endif
-_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
-_GL_CXXALIASWARN (fchdir);
 #elif defined GNULIB_POSIXCHECK
 # undef fchdir
 # if HAVE_RAW_DECL_FCHDIR
@@ -515,7 +1027,7 @@ _GL_CXXALIASWARN (fchownat);
 # undef fchownat
 # if HAVE_RAW_DECL_FCHOWNAT
 _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
-                 "use gnulib module openat for portability");
+                 "use gnulib module fchownat for portability");
 # endif
 #endif
 
@@ -524,12 +1036,23 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
 /* Synchronize changes to a file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
-# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
+# if @REPLACE_FDATASYNC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdatasync
+#   define fdatasync rpl_fdatasync
+#  endif
+_GL_FUNCDECL_RPL (fdatasync, int, (int fd));
+_GL_CXXALIAS_RPL (fdatasync, int, (int fd));
+# else
+#  if !@HAVE_FDATASYNC@|| !@HAVE_DECL_FDATASYNC@
 _GL_FUNCDECL_SYS (fdatasync, int, (int fd));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fdatasync);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef fdatasync
 # if HAVE_RAW_DECL_FDATASYNC
@@ -543,7 +1066,7 @@ _GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
 /* Synchronize changes, including metadata, to a file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
 # if !@HAVE_FSYNC@
 _GL_FUNCDECL_SYS (fsync, int, (int fd));
 # endif
@@ -562,7 +1085,7 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
 /* Change the size of the file to which FD is opened to become equal to LENGTH.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
 # if @REPLACE_FTRUNCATE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef ftruncate
@@ -576,7 +1099,9 @@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
 #  endif
 _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ftruncate);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef ftruncate
 # if HAVE_RAW_DECL_FTRUNCATE
@@ -592,17 +1117,23 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
    Return BUF if successful, or NULL if the directory couldn't be determined
    or SIZE was too small.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
-   Additionally, the gnulib module 'getcwd' guarantees the following GNU
-   extension: If BUF is NULL, an array is allocated with 'malloc'; the array
-   is SIZE bytes long, unless SIZE == 0, in which case it is as big as
-   necessary.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
+   Additionally, the gnulib module 'getcwd' or 'getcwd-lgpl' guarantees the
+   following GNU extension: If BUF is NULL, an array is allocated with
+   'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case
+   it is as big as necessary.  */
 # if @REPLACE_GETCWD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define getcwd rpl_getcwd
 #  endif
 _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
 _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getcwd
+#   define getcwd _getcwd
+#  endif
+_GL_CXXALIAS_MDA (getcwd, char *, (char *buf, size_t size));
 # else
 /* Need to cast, because on mingw, the second parameter is
                                                    int size.  */
@@ -615,6 +1146,22 @@ _GL_CXXALIASWARN (getcwd);
 _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
                  "use gnulib module getcwd for portability");
 # endif
+#elif @GNULIB_MDA_GETCWD@
+/* On native Windows, map 'getcwd' to '_getcwd', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::getcwd always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getcwd
+#   define getcwd _getcwd
+#  endif
+/* Need to cast, because on mingw, the second parameter is either
+   'int size' or 'size_t size'.  */
+_GL_CXXALIAS_MDA_CAST (getcwd, char *, (char *buf, size_t size));
+# else
+_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
+# endif
+_GL_CXXALIASWARN (getcwd);
 #endif
 
 
@@ -644,7 +1191,9 @@ _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
 #  endif
 _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getdomainname);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getdomainname
 # if HAVE_RAW_DECL_GETDOMAINNAME
@@ -657,10 +1206,21 @@ _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
 #if @GNULIB_GETDTABLESIZE@
 /* Return the maximum number of file descriptors in the current process.
    In POSIX, this is same as sysconf (_SC_OPEN_MAX).  */
-# if !@HAVE_GETDTABLESIZE@
+# if @REPLACE_GETDTABLESIZE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getdtablesize
+#   define getdtablesize rpl_getdtablesize
+#  endif
+_GL_FUNCDECL_RPL (getdtablesize, int, (void));
+_GL_CXXALIAS_RPL (getdtablesize, int, (void));
+# else
+#  if !@HAVE_GETDTABLESIZE@
 _GL_FUNCDECL_SYS (getdtablesize, int, (void));
+#  endif
+/* Need to cast, because on AIX, the parameter list is
+                                           (...).  */
+_GL_CXXALIAS_SYS_CAST (getdtablesize, int, (void));
 # endif
-_GL_CXXALIAS_SYS (getdtablesize, int, (void));
 _GL_CXXALIASWARN (getdtablesize);
 #elif defined GNULIB_POSIXCHECK
 # undef getdtablesize
@@ -671,6 +1231,33 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETENTROPY@
+/* Fill a buffer with random bytes.  */
+# if @REPLACE_GETENTROPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getentropy
+#   define getentropy rpl_getentropy
+#  endif
+_GL_FUNCDECL_RPL (getentropy, int, (void *buffer, size_t length));
+_GL_CXXALIAS_RPL (getentropy, int, (void *buffer, size_t length));
+# else
+#  if !@HAVE_GETENTROPY@
+_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length));
+#  endif
+_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getentropy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getentropy
+# if HAVE_RAW_DECL_GETENTROPY
+_GL_WARN_ON_USE (getentropy, "getentropy is unportable - "
+                 "use gnulib module getentropy for portability");
+# endif
+#endif
+
+
 #if @GNULIB_GETGROUPS@
 /* Return the supplemental groups that the current process belongs to.
    It is unspecified whether the effective group id is in the list.
@@ -743,14 +1330,14 @@ _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
 /* Returns the user's login name, or NULL if it cannot be found.  Upon error,
    returns NULL with errno set.
 
-   See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+   See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
 
    Most programs don't need to use this function, because the information is
    available through environment variables:
      ${LOGNAME-$USER}        on Unix platforms,
      $USERNAME               on native Windows platforms.
  */
-# if !@HAVE_GETLOGIN@
+# if !@HAVE_DECL_GETLOGIN@
 _GL_FUNCDECL_SYS (getlogin, char *, (void));
 # endif
 _GL_CXXALIAS_SYS (getlogin, char *, (void));
@@ -772,7 +1359,7 @@ _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
    the case that the login name cannot be found but no specific error is
    provided (this case is hopefully rare but is left open by the POSIX spec).
 
-   See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+   See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
 
    Most programs don't need to use this function, because the information is
    available through environment variables:
@@ -795,7 +1382,9 @@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
                                                      int size.  */
 _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getlogin_r);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getlogin_r
 # if HAVE_RAW_DECL_GETLOGIN_R
@@ -813,6 +1402,11 @@ _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
 _GL_FUNCDECL_RPL (getpagesize, int, (void));
 _GL_CXXALIAS_RPL (getpagesize, int, (void));
 # else
+/* On HP-UX, getpagesize exists, but it is not declared in <unistd.h> even if
+   the compiler options -D_HPUX_SOURCE -D_XOPEN_SOURCE=600 are used.  */
+#  if defined __hpux
+_GL_FUNCDECL_SYS (getpagesize, int, (void));
+#  endif
 #  if !@HAVE_GETPAGESIZE@
 #   if !defined getpagesize
 /* This is for POSIX systems.  */
@@ -862,7 +1456,7 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void));
 #     define getpagesize() _gl_getpagesize ()
 #    else
 #     if !GNULIB_defined_getpagesize_function
-static inline int
+_GL_UNISTD_INLINE int
 getpagesize ()
 {
   return _gl_getpagesize ();
@@ -887,6 +1481,54 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETPASS@
+/* Function getpass() from module 'getpass':
+     Read a password from /dev/tty or stdin.
+   Function getpass() from module 'getpass-gnu':
+     Read a password of arbitrary length from /dev/tty or stdin.  */
+# if (@GNULIB_GETPASS@ && @REPLACE_GETPASS@) \
+     || (@GNULIB_GETPASS_GNU@ && @REPLACE_GETPASS_FOR_GETPASS_GNU@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpass
+#   define getpass rpl_getpass
+#  endif
+_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt));
+# else
+#  if !@HAVE_GETPASS@
+_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt));
+# endif
+_GL_CXXALIASWARN (getpass);
+#elif defined GNULIB_POSIXCHECK
+# undef getpass
+# if HAVE_RAW_DECL_GETPASS
+_GL_WARN_ON_USE (getpass, "getpass is unportable - "
+                 "use gnulib module getpass or getpass-gnu for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MDA_GETPID@
+/* On native Windows, map 'getpid' to '_getpid', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::getpid always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpid
+#   define getpid _getpid
+#  endif
+_GL_CXXALIAS_MDA (getpid, int, (void));
+# else
+_GL_CXXALIAS_SYS (getpid, pid_t, (void));
+# endif
+_GL_CXXALIASWARN (getpid);
+#endif
+
+
 #if @GNULIB_GETUSERSHELL@
 /* Return the next valid login shell on the system, or NULL when the end of
    the list has been reached.  */
@@ -957,8 +1599,15 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - "
 #   undef isatty
 #   define isatty rpl_isatty
 #  endif
+#  define GNULIB_defined_isatty 1
 _GL_FUNCDECL_RPL (isatty, int, (int fd));
 _GL_CXXALIAS_RPL (isatty, int, (int fd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty _isatty
+#  endif
+_GL_CXXALIAS_MDA (isatty, int, (int fd));
 # else
 _GL_CXXALIAS_SYS (isatty, int, (int fd));
 # endif
@@ -969,6 +1618,20 @@ _GL_CXXALIASWARN (isatty);
 _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
                  "use gnulib module isatty for portability");
 # endif
+#elif @GNULIB_MDA_ISATTY@
+/* On native Windows, map 'isatty' to '_isatty', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::isatty always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty _isatty
+#  endif
+_GL_CXXALIAS_MDA (isatty, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (isatty, int, (int fd));
+# endif
+_GL_CXXALIASWARN (isatty);
 #endif
 
 
@@ -977,7 +1640,7 @@ _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
    to GID (if GID is not -1).  Do not follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
 # if @REPLACE_LCHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef lchown
@@ -1007,7 +1670,7 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
 /* Create a new hard link for an existing file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
 # if @REPLACE_LINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define link rpl_link
@@ -1059,7 +1722,9 @@ _GL_CXXALIAS_SYS (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
                    int flag));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (linkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef linkat
 # if HAVE_RAW_DECL_LINKAT
@@ -1073,13 +1738,19 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
 /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
    Return the new offset if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
 # if @REPLACE_LSEEK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define lseek rpl_lseek
 #  endif
 _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence));
 _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lseek
+#   define lseek _lseek
+#  endif
+_GL_CXXALIAS_MDA (lseek, off_t, (int fd, off_t offset, int whence));
 # else
 _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
 # endif
@@ -1090,6 +1761,20 @@ _GL_CXXALIASWARN (lseek);
 _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
                  "systems - use gnulib module lseek for portability");
 # endif
+#elif @GNULIB_MDA_LSEEK@
+/* On native Windows, map 'lseek' to '_lseek', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::lseek always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lseek
+#   define lseek _lseek
+#  endif
+_GL_CXXALIAS_MDA (lseek, long, (int fd, long offset, int whence));
+# else
+_GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (lseek);
 #endif
 
 
@@ -1119,9 +1804,10 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
    Store the read-end as fd[0] and the write-end as fd[1].
    Return 0 upon success, or -1 with errno set upon failure.
    See also the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
-# if @HAVE_PIPE2@
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
+# if @REPLACE_PIPE2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef pipe2
 #   define pipe2 rpl_pipe2
 #  endif
 _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
@@ -1130,7 +1816,9 @@ _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
 _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pipe2);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pipe2
 # if HAVE_RAW_DECL_PIPE2
@@ -1145,7 +1833,7 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
    Return the number of bytes placed into BUF if successful, otherwise
    set errno and return -1.  0 indicates EOF.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
 # if @REPLACE_PREAD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pread
@@ -1165,7 +1853,9 @@ _GL_FUNCDECL_SYS (pread, ssize_t,
 _GL_CXXALIAS_SYS (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pread);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pread
 # if HAVE_RAW_DECL_PREAD
@@ -1180,7 +1870,7 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
    Return the number of bytes written if successful, otherwise
    set errno and return -1.  0 indicates nothing written.  See the
    POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
 # if @REPLACE_PWRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pwrite
@@ -1200,7 +1890,9 @@ _GL_FUNCDECL_SYS (pwrite, ssize_t,
 _GL_CXXALIAS_SYS (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pwrite);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pwrite
 # if HAVE_RAW_DECL_PWRITE
@@ -1213,7 +1905,7 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 #if @GNULIB_READ@
 /* Read up to COUNT bytes from file descriptor FD into the buffer starting
    at BUF.  See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
 # if @REPLACE_READ@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef read
@@ -1222,11 +1914,32 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
                                  _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef read
+#   define read _read
+#  endif
+_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, size_t count));
 # else
-/* Need to cast, because on mingw, the third parameter is
-                                                          unsigned int count
-   and the return type is 'int'.  */
-_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
+_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (read);
+#elif @GNULIB_MDA_READ@
+/* On native Windows, map 'read' to '_read', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::read always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef read
+#   define read _read
+#  endif
+#  ifdef __MINGW32__
+_GL_CXXALIAS_MDA (read, int, (int fd, void *buf, unsigned int count));
+#  else
+_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, unsigned int count));
+#  endif
+# else
+_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (read);
 #endif
@@ -1237,24 +1950,28 @@ _GL_CXXALIASWARN (read);
    bytes of it into BUF.  Return the number of bytes placed into BUF if
    successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
 # if @REPLACE_READLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define readlink rpl_readlink
 #  endif
 _GL_FUNCDECL_RPL (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize)
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize));
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize));
 # else
 #  if !@HAVE_READLINK@
 _GL_FUNCDECL_SYS (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize)
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize));
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize));
 # endif
 _GL_CXXALIASWARN (readlink);
 #elif defined GNULIB_POSIXCHECK
@@ -1267,14 +1984,31 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 
 
 #if @GNULIB_READLINKAT@
-# if !@HAVE_READLINKAT@
+# if @REPLACE_READLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define readlinkat rpl_readlinkat
+#  endif
+_GL_FUNCDECL_RPL (readlinkat, ssize_t,
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (readlinkat, ssize_t,
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len));
+# else
+#  if !@HAVE_READLINKAT@
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
-                  (int fd, char const *file, char *buf, size_t len)
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len)
                   _GL_ARG_NONNULL ((2, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
-                  (int fd, char const *file, char *buf, size_t len));
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (readlinkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef readlinkat
 # if HAVE_RAW_DECL_READLINKAT
@@ -1292,6 +2026,12 @@ _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (rmdir, int, (char const *name));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rmdir
+#   define rmdir _rmdir
+#  endif
+_GL_CXXALIAS_MDA (rmdir, int, (char const *name));
 # else
 _GL_CXXALIAS_SYS (rmdir, int, (char const *name));
 # endif
@@ -1302,6 +2042,20 @@ _GL_CXXALIASWARN (rmdir);
 _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
                  "use gnulib module rmdir for portability");
 # endif
+#elif @GNULIB_MDA_RMDIR@
+/* On native Windows, map 'rmdir' to '_rmdir', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::rmdir always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rmdir
+#   define rmdir _rmdir
+#  endif
+_GL_CXXALIAS_MDA (rmdir, int, (char const *name));
+# else
+_GL_CXXALIAS_SYS (rmdir, int, (char const *name));
+# endif
+_GL_CXXALIASWARN (rmdir);
 #endif
 
 
@@ -1314,15 +2068,27 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
 
    Platforms with no ability to set the hostname return -1 and set
    errno = ENOSYS.  */
-# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
+# if @REPLACE_SETHOSTNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef sethostname
+#   define sethostname rpl_sethostname
+#  endif
+_GL_FUNCDECL_RPL (sethostname, int, (const char *name, size_t len)
+                                    _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (sethostname, int, (const char *name, size_t len));
+# else
+#  if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
 _GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
                                     _GL_ARG_NONNULL ((1)));
-# endif
-/* Need to cast, because on Solaris 11 2011-10, MacOS X 10.5, IRIX 6.5
+#  endif
+/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
    and FreeBSD 6.4 the second parameter is int.  On Solaris 11
    2011-10, the first parameter is not const.  */
 _GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (sethostname);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef sethostname
 # if HAVE_RAW_DECL_SETHOSTNAME
@@ -1336,7 +2102,7 @@ _GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
 /* Pause the execution of the current thread for N seconds.
    Returns the number of seconds left to sleep.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
 # if @REPLACE_SLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef sleep
@@ -1360,6 +2126,31 @@ _GL_WARN_ON_USE (sleep, "sleep is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_SWAB@
+/* On native Windows, map 'swab' to '_swab', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::swab always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef swab
+#   define swab _swab
+#  endif
+/* Need to cast, because in old mingw the arguments are
+                             (const char *from, char *to, size_t n).  */
+_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n));
+# else
+#  if defined __hpux /* HP-UX */
+_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n));
+#  elif defined __sun && (defined __SunOS_5_10 || defined __XOPEN_OR_POSIX) && !defined _XPG4 /* Solaris */
+_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n));
+#  else
+_GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n));
+#  endif
+# endif
+_GL_CXXALIASWARN (swab);
+#endif
+
+
 #if @GNULIB_SYMLINK@
 # if @REPLACE_SYMLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1387,14 +2178,28 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 
 
 #if @GNULIB_SYMLINKAT@
-# if !@HAVE_SYMLINKAT@
+# if @REPLACE_SYMLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef symlinkat
+#   define symlinkat rpl_symlinkat
+#  endif
+_GL_FUNCDECL_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file));
+# else
+#  if !@HAVE_SYMLINKAT@
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
                   _GL_ARG_NONNULL ((1, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (symlinkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef symlinkat
 # if HAVE_RAW_DECL_SYMLINKAT
@@ -1404,6 +2209,38 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
 #endif
 
 
+#if @GNULIB_TRUNCATE@
+/* Change the size of the file designated by FILENAME to become equal to LENGTH.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2008 specification
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>.  */
+# if @REPLACE_TRUNCATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef truncate
+#   define truncate rpl_truncate
+#  endif
+_GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
+# else
+#  if !@HAVE_DECL_TRUNCATE@
+_GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (truncate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef truncate
+# if HAVE_RAW_DECL_TRUNCATE
+_GL_WARN_ON_USE (truncate, "truncate is unportable - "
+                 "use gnulib module truncate for portability");
+# endif
+#endif
+
+
 #if @GNULIB_TTYNAME_R@
 /* Store at most BUFLEN characters of the pathname of the terminal FD is
    open on in BUF.  Return 0 on success, otherwise an error number.  */
@@ -1424,7 +2261,9 @@ _GL_FUNCDECL_SYS (ttyname_r, int,
 _GL_CXXALIAS_SYS (ttyname_r, int,
                   (int fd, char *buf, size_t buflen));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ttyname_r);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef ttyname_r
 # if HAVE_RAW_DECL_TTYNAME_R
@@ -1442,6 +2281,12 @@ _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (unlink, int, (char const *file));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unlink
+#   define unlink _unlink
+#  endif
+_GL_CXXALIAS_MDA (unlink, int, (char const *file));
 # else
 _GL_CXXALIAS_SYS (unlink, int, (char const *file));
 # endif
@@ -1452,6 +2297,20 @@ _GL_CXXALIASWARN (unlink);
 _GL_WARN_ON_USE (unlink, "unlink is not portable - "
                  "use gnulib module unlink for portability");
 # endif
+#elif @GNULIB_MDA_UNLINK@
+/* On native Windows, map 'unlink' to '_unlink', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::unlink always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unlink
+#   define unlink _unlink
+#  endif
+_GL_CXXALIAS_MDA (unlink, int, (char const *file));
+# else
+_GL_CXXALIAS_SYS (unlink, int, (char const *file));
+# endif
+_GL_CXXALIASWARN (unlink);
 #endif
 
 
@@ -1476,7 +2335,7 @@ _GL_CXXALIASWARN (unlinkat);
 # undef unlinkat
 # if HAVE_RAW_DECL_UNLINKAT
 _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
-                 "use gnulib module openat for portability");
+                 "use gnulib module unlinkat for portability");
 # endif
 #endif
 
@@ -1485,7 +2344,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
 /* Pause the execution of the current thread for N microseconds.
    Returns 0 on completion, or -1 on range error.
    See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/usleep.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/009695399/functions/usleep.html>.  */
 # if @REPLACE_USLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef usleep
@@ -1497,7 +2356,9 @@ _GL_CXXALIAS_RPL (usleep, int, (useconds_t n));
 #  if !@HAVE_USLEEP@
 _GL_FUNCDECL_SYS (usleep, int, (useconds_t n));
 #  endif
-_GL_CXXALIAS_SYS (usleep, int, (useconds_t n));
+/* Need to cast, because on Haiku, the first parameter is
+                                     unsigned int n.  */
+_GL_CXXALIAS_SYS_CAST (usleep, int, (useconds_t n));
 # endif
 _GL_CXXALIASWARN (usleep);
 #elif defined GNULIB_POSIXCHECK
@@ -1512,7 +2373,7 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 #if @GNULIB_WRITE@
 /* Write up to COUNT bytes starting at BUF to file descriptor FD.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
 # if @REPLACE_WRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
@@ -1521,15 +2382,38 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
                                   _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef write
+#   define write _write
+#  endif
+_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, size_t count));
+# else
+_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (write);
+#elif @GNULIB_MDA_WRITE@
+/* On native Windows, map 'write' to '_write', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::write always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef write
+#   define write _write
+#  endif
+#  ifdef __MINGW32__
+_GL_CXXALIAS_MDA (write, int, (int fd, const void *buf, unsigned int count));
+#  else
+_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, unsigned int count));
+#  endif
 # else
-/* Need to cast, because on mingw, the third parameter is
-                                                             unsigned int count
-   and the return type is 'int'.  */
-_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (write);
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
index cef14ad..08268c2 100644 (file)
@@ -1,44 +1,55 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
 
 #ifndef _GL_VERIFY_H
-# define _GL_VERIFY_H
+#define _GL_VERIFY_H
 
 
-/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
-   This is supported by GCC 4.6.0 and later, in C mode, and its use
-   here generates easier-to-read diagnostics when verify (R) fails.
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert (R, DIAGNOSTIC)
+   works as per C11.  This is supported by GCC 4.6.0+ and by clang 4+.
 
-   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
-   This will likely be supported by future GCC versions, in C++ mode.
+   Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as
+   per C23.  This is supported by GCC 9.1+.
 
-   Use this only with GCC.  If we were willing to slow 'configure'
-   down we could also use it with other compilers, but since this
-   affects only the quality of diagnostics, why bother?  */
-# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus
+   Support compilers claiming conformance to the relevant standard,
+   and also support GCC when not pedantic.  If we were willing to slow
+   'configure' down we could also use it with other compilers, but
+   since this affects only the quality of diagnostics, why bother?  */
+#ifndef __cplusplus
+# if (201112 <= __STDC_VERSION__ \
+      || (!defined __STRICT_ANSI__ \
+          && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__)))
 #  define _GL_HAVE__STATIC_ASSERT 1
 # endif
-/* The condition (99 < __GNUC__) is temporary, until we know about the
-   first G++ release that supports static_assert.  */
-# if (99 < __GNUC__) && defined __cplusplus
-#  define _GL_HAVE_STATIC_ASSERT 1
+# if (202311 <= __STDC_VERSION__ \
+      || (!defined __STRICT_ANSI__ && 9 <= __GNUC__))
+#  define _GL_HAVE__STATIC_ASSERT1 1
 # endif
+#endif
+
+/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
+   system headers, defines a conflicting _Static_assert that is no
+   better than ours; override it.  */
+#ifndef _GL_HAVE__STATIC_ASSERT
+# include <stddef.h>
+# undef _Static_assert
+#endif
 
 /* Each of these macros verifies that its argument R is nonzero.  To
    be portable, R should be an integer constant expression.  Unlike
        extern int (*dummy (void)) [sizeof (struct {...})];
 
    * GCC warns about duplicate declarations of the dummy function if
-     -Wredundant_decls is used.  GCC 4.3 and later have a builtin
+     -Wredundant-decls is used.  GCC 4.3 and later have a builtin
      __COUNTER__ macro that can let us generate unique identifiers for
      each dummy function, to suppress this warning.
 
      which do not support _Static_assert, also do not warn about the
      last declaration mentioned above.
 
+   * GCC warns if -Wnested-externs is enabled and 'verify' is used
+     within a function body; but inside a function, you can always
+     arrange to use verify_expr instead.
+
    * In C++, any struct definition inside sizeof is invalid.
      Use a template type to work around the problem.  */
 
 /* Concatenate two preprocessor tokens.  */
-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-# define _GL_CONCAT0(x, y) x##y
+#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+#define _GL_CONCAT0(x, y) x##y
 
 /* _GL_COUNTER is an integer, preferably one that changes each time we
    use it.  Use __COUNTER__ if it works, falling back on __LINE__
    otherwise.  __LINE__ isn't perfect, but it's better than a
    constant.  */
-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
-#  define _GL_COUNTER __COUNTER__
-# else
-#  define _GL_COUNTER __LINE__
-# endif
+#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+#else
+# define _GL_COUNTER __LINE__
+#endif
 
 /* Generate a symbol with the given prefix, making it unique if
    possible.  */
-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
 
 /* Verify requirement R at compile-time, as an integer constant expression
    that returns 1.  If R is false, fail at compile-time, preferably
    with a diagnostic that includes the string-literal DIAGNOSTIC.  */
 
-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
-    (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+   (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
 
-# ifdef __cplusplus
-#  if !GNULIB_defined_struct__gl_verify_type
+#ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
 template <int w>
   struct _gl_verify_type {
     unsigned int _gl_verify_error_if_negative: w;
   };
-#   define GNULIB_defined_struct__gl_verify_type 1
-#  endif
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-    _gl_verify_type<(R) ? 1 : -1>
-# elif defined _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct {                                   \
-       _Static_assert (R, DIAGNOSTIC);          \
-       int _gl_dummy;                          \
-     }
-# else
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#  define GNULIB_defined_struct__gl_verify_type 1
 # endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    _gl_verify_type<(R) ? 1 : -1>
+#elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct { \
+      _Static_assert (R, DIAGNOSTIC); \
+      int _gl_dummy; \
+    }
+#else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#endif
 
 /* Verify requirement R at compile-time, as a declaration without a
-   trailing ';'.  If R is false, fail at compile-time, preferably
-   with a diagnostic that includes the string-literal DIAGNOSTIC.
+   trailing ';'.  If R is false, fail at compile-time.
+
+   This macro requires three or more arguments but uses at most the first
+   two, so that the _Static_assert macro optionally defined below supports
+   both the C11 two-argument syntax and the C23 one-argument syntax.
 
    Unfortunately, unlike C11, this implementation must appear as an
    ordinary declaration, and cannot appear inside struct { ... }.  */
 
-# ifdef _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY _Static_assert
-# else
-#  define _GL_VERIFY(R, DIAGNOSTIC)                                   \
-     extern int (*_GL_GENSYM (_gl_verify_function) (void))            \
-       [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+#if 202311 <= __STDC_VERSION__ || 200410 <= __cpp_static_assert
+# define _GL_VERIFY(R, DIAGNOSTIC, ...) static_assert (R, DIAGNOSTIC)
+#elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
+#else
+# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
+    extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+      [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+# if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+#  pragma GCC diagnostic ignored "-Wnested-externs"
 # endif
+#endif
 
 /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h.  */
-# ifdef _GL_STATIC_ASSERT_H
-#  if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
-#   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
+#ifdef _GL_STATIC_ASSERT_H
+/* Define _Static_assert if needed.  */
+/* With clang ≥ 3.8.0 in C++ mode, _Static_assert already works and accepts
+   1 or 2 arguments.  We better don't override it, because clang's standard
+   C++ library uses static_assert inside classes in several places, and our
+   replacement via _GL_VERIFY does not work in these contexts.  */
+# if (defined __cplusplus && defined __clang__ \
+      && (4 <= __clang_major__ + (8 <= __clang_minor__)))
+#  if 5 <= __clang_major__
+/* Avoid "warning: 'static_assert' with no message is a C++17 extension".  */
+#   pragma clang diagnostic ignored "-Wc++17-extensions"
+#  else
+/* Avoid "warning: static_assert with no message is a C++1z extension".  */
+#   pragma clang diagnostic ignored "-Wc++1z-extensions"
 #  endif
-#  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* C11 requires this #define.  */
+# elif !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
+#  if !defined _MSC_VER || defined __clang__
+#   define _Static_assert(...) \
+      _GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
+#  else
+#   if defined __cplusplus && _MSC_VER >= 1910
+     /* In MSVC 14.1 or newer, static_assert accepts one or two arguments,
+        but _Static_assert is not defined.  */
+#    define _Static_assert static_assert
+#   else
+     /* Work around MSVC preprocessor incompatibility with ISO C; see
+        <https://stackoverflow.com/questions/5134523/>.  */
+#    define _Static_assert(R, ...) \
+       _GL_VERIFY ((R), "static assertion failed", -)
+#   endif
 #  endif
 # endif
+/* Define static_assert if needed.  */
+# if (!defined static_assert \
+      && __STDC_VERSION__ < 202311 \
+      && (!defined __cplusplus \
+          || (__cpp_static_assert < 201411 \
+              && __GNUG__ < 6 && __clang_major__ < 6 && _MSC_VER < 1910)))
+#  if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__
+/* MSVC 14 in C++ mode supports the two-arguments static_assert but not
+   the one-argument static_assert, and it does not support _Static_assert.
+   We have to play preprocessor tricks to distinguish the two cases.
+   Since the MSVC preprocessor is not ISO C compliant (see above),.
+   the solution is specific to MSVC.  */
+#   define _GL_EXPAND(x) x
+#   define _GL_SA1(a1) static_assert ((a1), "static assertion failed")
+#   define _GL_SA2 static_assert
+#   define _GL_SA3 static_assert
+#   define _GL_SA_PICK(x1,x2,x3,x4,...) x4
+#   define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__)
+/* Avoid "fatal error C1189: #error:  The C++ Standard Library forbids macroizing keywords."  */
+#   define _ALLOW_KEYWORD_MACROS 1
+#  else
+#   define static_assert _Static_assert /* C11 requires this #define. */
+#  endif
+# endif
+#endif
 
 /* @assert.h omit start@  */
 
+#if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_TRAP 0
+#elif 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
+# define _GL_HAS_BUILTIN_TRAP 1
+#elif defined __has_builtin
+# define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap)
+#else
+# define _GL_HAS_BUILTIN_TRAP 0
+#endif
+
+#ifndef _GL_HAS_BUILTIN_UNREACHABLE
+# if defined __clang_major__ && __clang_major__ < 5
+#  define _GL_HAS_BUILTIN_UNREACHABLE 0
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+#  define _GL_HAS_BUILTIN_UNREACHABLE 1
+# elif defined __has_builtin
+#  define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+# else
+#  define _GL_HAS_BUILTIN_UNREACHABLE 0
+# endif
+#endif
+
 /* Each of these macros verifies that its argument R is nonzero.  To
    be portable, R should be an integer constant expression.  Unlike
    assert (R), there is no run-time overhead.
 
    There are two macros, since no single macro can be used in all
-   contexts in C.  verify_true (R) is for scalar contexts, including
+   contexts in C.  verify_expr (R, E) is for scalar contexts, including
    integer constant expression contexts.  verify (R) is for declaration
    contexts, e.g., the top level.  */
 
-/* Verify requirement R at compile-time, as an integer constant expression.
-   Return 1.  This is equivalent to verify_expr (R, 1).
-
-   verify_true is obsolescent; please use verify_expr instead.  */
-
-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
-
 /* Verify requirement R at compile-time.  Return the value of the
    expression E.  */
 
-# define verify_expr(R, E) \
-    (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+#define verify_expr(R, E) \
+   (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
 
 /* Verify requirement R at compile-time, as a declaration without a
-   trailing ';'.  */
+   trailing ';'.  verify (R) acts like static_assert (R) except that
+   it is portable to C11/C++14 and earlier, it can issue better
+   diagnostics, and its name is shorter and may be more convenient.  */
+
+#ifdef __PGI
+/* PGI barfs if R is long.  */
+# define verify(R) _GL_VERIFY (R, "verify (...)", -)
+#else
+# define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
+#endif
 
-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+/* Assume that R always holds.  Behavior is undefined if R is false,
+   fails to evaluate, or has side effects.
+
+   'assume (R)' is a directive from the programmer telling the
+   compiler that R is true so the compiler needn't generate code to
+   test R.  This is why 'assume' is in verify.h: it's related to
+   static checking (in this case, static checking done by the
+   programmer), not dynamic checking.
+
+   'assume (R)' can affect compilation of all the code, not just code
+   that happens to be executed after the assume (R) is "executed".
+   For example, if the code mistakenly does 'assert (R); assume (R);'
+   the compiler is entitled to optimize away the 'assert (R)'.
+
+   Although assuming R can help a compiler generate better code or
+   diagnostics, performance can suffer if R uses hard-to-optimize
+   features such as function calls not inlined by the compiler.
+
+   Avoid Clang's __builtin_assume, as it breaks GNU Emacs master
+   as of 2020-08-23T21:09:49Z!eggert@cs.ucla.edu; see
+   <https://bugs.gnu.org/43152#71>.  It's not known whether this breakage
+   is a Clang bug or an Emacs bug; play it safe for now.  */
+
+#if _GL_HAS_BUILTIN_UNREACHABLE
+# define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
+#elif 1200 <= _MSC_VER
+# define assume(R) __assume (R)
+#elif 202311 <= __STDC_VERSION__
+# include <stddef.h>
+# define assume(R) ((R) ? (void) 0 : unreachable ())
+#elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP
+  /* Doing it this way helps various packages when configured with
+     --enable-gcc-warnings, which compiles with -Dlint.  It's nicer
+     if 'assume' silences warnings with GCC 3.4 through GCC 4.4.7 (2012).  */
+# define assume(R) ((R) ? (void) 0 : __builtin_trap ())
+#else
+  /* Some older tools grok NOTREACHED, e.g., Oracle Studio 12.6 (2017).  */
+# define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0)
+#endif
 
 /* @assert.h omit end@  */
 
index ae1e44d..45d0c93 100644 (file)
@@ -1,18 +1,18 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2012 Free Software Foundation, Inc.
+   Copyright (C) 1999-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser 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,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
@@ -23,7 +23,6 @@
 
 #include <stdarg.h>
 #include <stdio.h>
-#include <stdlib.h>
 
 #if USE_UNLOCKED_IO
 # include "unlocked-io.h"
@@ -38,7 +37,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2012 };
+enum { COPYRIGHT_YEAR = 2024 };
 
 /* The three functions below display the --version information the
    standard way.
@@ -83,20 +82,24 @@ version_etc_arn (FILE *stream,
      locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
   fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR);
 
-  fputs (_("\
-\n\
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\n\
+  fputs ("\n", stream);
+
+  /* TRANSLATORS: The %s placeholder is the web address of the GPL license.  */
+  fprintf (stream, _("\
+License GPLv3+: GNU GPL version 3 or later <%s>.\n\
 This is free software: you are free to change and redistribute it.\n\
 There is NO WARRANTY, to the extent permitted by law.\n\
-\n\
 "),
-         stream);
+           "https://gnu.org/licenses/gpl.html");
+
+  fputs ("\n", stream);
 
   switch (n_authors)
     {
     case 0:
-      /* The caller must provide at least one author name.  */
-      abort ();
+      /* No authors are given.  The caller should output authorship
+         info after calling this function.  */
+      break;
     case 1:
       /* TRANSLATORS: %s denotes an author name.  */
       fprintf (stream, _("Written by %s.\n"), authors[0]);
@@ -238,11 +241,12 @@ version_etc (FILE *stream,
 void
 emit_bug_reporting_address (void)
 {
+  fputs ("\n", stdout);
   /* TRANSLATORS: The placeholder indicates the bug-reporting address
      for this package.  Please add _another line_ saying
      "Report translation bugs to <...>\n" with the address for translation
      bugs (typically your translation team's web or email address).  */
-  printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT);
+  printf (_("Report bugs to: %s\n"), PACKAGE_BUGREPORT);
 #ifdef PACKAGE_PACKAGER_BUG_REPORTS
   printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER,
           PACKAGE_PACKAGER_BUG_REPORTS);
@@ -250,9 +254,9 @@ emit_bug_reporting_address (void)
 #ifdef PACKAGE_URL
   printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 #else
-  printf (_("%s home page: <http://www.gnu.org/software/%s/>\n"),
-          PACKAGE_NAME, PACKAGE);
+  printf (_("%s home page: <%s>\n"),
+          PACKAGE_NAME, "https://www.gnu.org/software/" PACKAGE "/");
 #endif
-  fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>\n"),
-         stdout);
+  printf (_("General help using GNU software: <%s>\n"),
+          "https://www.gnu.org/gethelp/");
 }
index 5548c02..505d2fa 100644 (file)
@@ -1,35 +1,36 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2024 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser 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,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Jim Meyering. */
 
 #ifndef VERSION_ETC_H
 # define VERSION_ETC_H 1
 
+/* This file uses _GL_ATTRIBUTE_SENTINEL.  */
+# if !_GL_CONFIG_H_INCLUDED
+#  error "Please include config.h first."
+# endif
+
 # include <stdarg.h>
 # include <stdio.h>
 
-/* The 'sentinel' attribute was added in gcc 4.0.  */
-#ifndef _GL_ATTRIBUTE_SENTINEL
-# if 4 <= __GNUC__
-#  define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__))
-# else
-#  define _GL_ATTRIBUTE_SENTINEL /* empty */
+# ifdef __cplusplus
+extern "C"
+{
 # endif
-#endif
 
 extern const char version_etc_copyright[];
 
@@ -70,9 +71,13 @@ extern void version_etc (FILE *stream,
                          const char *command_name, const char *package,
                          const char *version,
                          /* const char *author1, ..., NULL */ ...)
-  _GL_ATTRIBUTE_SENTINEL;
+  _GL_ATTRIBUTE_SENTINEL ((0));
 
 /* Display the usual "Report bugs to" stanza.  */
 extern void emit_bug_reporting_address (void);
 
+# ifdef __cplusplus
+}
+# endif
+
 #endif /* VERSION_ETC_H */
diff --git a/gl/warn-on-use.h b/gl/warn-on-use.h
new file mode 100644 (file)
index 0000000..8f4d40d
--- /dev/null
@@ -0,0 +1,149 @@
+/* A C macro for emitting warnings if a function is used.
+   Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
+   for FUNCTION which will then trigger a compiler warning containing
+   the text of "literal string" anywhere that function is called, if
+   supported by the compiler.  If the compiler does not support this
+   feature, the macro expands to an unused extern declaration.
+
+   _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
+   attribute used in _GL_WARN_ON_USE.  If the compiler does not support
+   this feature, it expands to empty.
+
+   These macros are useful for marking a function as a potential
+   portability trap, with the intent that "literal string" include
+   instructions on the replacement function that should be used
+   instead.
+   _GL_WARN_ON_USE is for functions with 'extern' linkage.
+   _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
+   linkage.
+
+   However, one of the reasons that a function is a portability trap is
+   if it has the wrong signature.  Declaring FUNCTION with a different
+   signature in C is a compilation error, so this macro must use the
+   same type as any existing declaration so that programs that avoid
+   the problematic FUNCTION do not fail to compile merely because they
+   included a header that poisoned the function.  But this implies that
+   _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
+   have a declaration.  Use of this macro implies that there must not
+   be any other macro hiding the declaration of FUNCTION; but
+   undefining FUNCTION first is part of the poisoning process anyway
+   (although for symbols that are provided only via a macro, the result
+   is a compilation error rather than a warning containing
+   "literal string").  Also note that in C++, it is only safe to use if
+   FUNCTION has no overloads.
+
+   For an example, it is possible to poison 'getline' by:
+   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
+     [getline]) in configure.ac, which potentially defines
+     HAVE_RAW_DECL_GETLINE
+   - adding this code to a header that wraps the system <stdio.h>:
+     #undef getline
+     #if HAVE_RAW_DECL_GETLINE
+     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
+       "not universally present; use the gnulib module getline");
+     #endif
+
+   It is not possible to directly poison global variables.  But it is
+   possible to write a wrapper accessor function, and poison that
+   (less common usage, like &environ, will cause a compilation error
+   rather than issue the nice warning, but the end result of informing
+   the developer about their portability problem is still achieved):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     rpl_environ (void) { return &environ; }
+     _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   or better (avoiding contradictory use of 'static' and 'extern'):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
+     rpl_environ (void) { return &environ; }
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   */
+#ifndef _GL_WARN_ON_USE
+
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__warning__ (message)))
+# elif __clang_major__ >= 4
+/* Another compiler attribute is available in clang.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function \
+  __attribute__ ((__diagnose_if__ (1, message, "warning")))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__diagnose_if__ (1, message, "warning")))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# else /* Unsupported.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# endif
+#endif
+
+/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
+   is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
+   function is declared with the given prototype, consisting of return type,
+   parameters, and attributes.
+   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+   not work in this case.  */
+#ifndef _GL_WARN_ON_USE_CXX
+# if !defined __cplusplus
+#  define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+     _GL_WARN_ON_USE (function, msg)
+# else
+#  if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_gcc function parameters_and_attributes \
+  __attribute__ ((__warning__ (msg)))
+#  elif __clang_major__ >= 4
+/* Another compiler attribute is available in clang.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_clang function parameters_and_attributes \
+  __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+#  elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_gcc function parameters_and_attributes
+#  else /* Unsupported.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+#  endif
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+   performs the declaration with C linkage.  */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+#  define _GL_WARN_EXTERN_C extern "C"
+# else
+#  define _GL_WARN_EXTERN_C extern
+# endif
+#endif
diff --git a/gl/xalloc-oversized.h b/gl/xalloc-oversized.h
new file mode 100644 (file)
index 0000000..0b7bb2c
--- /dev/null
@@ -0,0 +1,65 @@
+/* xalloc-oversized.h -- memory allocation size checking
+
+   Copyright (C) 1990-2000, 2003-2004, 2006-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef XALLOC_OVERSIZED_H_
+#define XALLOC_OVERSIZED_H_
+
+#include <stddef.h>
+#include <stdint.h>
+
+/* True if N * S does not fit into both ptrdiff_t and size_t.
+   N and S should be nonnegative and free of side effects.
+   This expands to a constant expression if N and S are both constants.
+   By gnulib convention, SIZE_MAX represents overflow in size_t
+   calculations, so the conservative size_t-based dividend to use here
+   is SIZE_MAX - 1.  */
+#define __xalloc_oversized(n, s) \
+  ((s) != 0 \
+   && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \
+       < (n)))
+
+/* Return 1 if and only if an array of N objects, each of size S,
+   cannot exist reliably because its total size in bytes would exceed
+   MIN (PTRDIFF_MAX, SIZE_MAX - 1).
+
+   N and S should be nonnegative and free of side effects.
+
+   Warning: (xalloc_oversized (N, S) ? NULL : malloc (N * S)) can
+   misbehave if N and S are both narrower than ptrdiff_t and size_t,
+   and can be rewritten as (xalloc_oversized (N, S) ?  NULL
+   : malloc (N * (size_t) S)).
+
+   This is a macro, not a function, so that it works even if an
+   argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX).  */
+#if 7 <= __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX
+# define xalloc_oversized(n, s) \
+   __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1)
+#elif 5 <= __GNUC__ && !defined __ICC && PTRDIFF_MAX < SIZE_MAX
+# define xalloc_oversized(n, s) \
+   (__builtin_constant_p (n) && __builtin_constant_p (s) \
+    ? __xalloc_oversized (n, s) \
+    : __extension__ \
+        ({ ptrdiff_t __xalloc_count; \
+           __builtin_mul_overflow (n, s, &__xalloc_count); }))
+
+/* Other compilers use integer division; this may be slower but is
+   more portable.  */
+#else
+# define xalloc_oversized(n, s) __xalloc_oversized (n, s)
+#endif
+
+#endif /* !XALLOC_OVERSIZED_H_ */
diff --git a/gltests/Makefile.am b/gltests/Makefile.am
deleted file mode 100644 (file)
index 75bfa9d..0000000
+++ /dev/null
@@ -1,1244 +0,0 @@
-## DO NOT EDIT! GENERATED AUTOMATICALLY!
-## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file 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 file 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 file.  If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License,
-# this file may be distributed as part of a program that
-# contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-
-AUTOMAKE_OPTIONS = 1.5 foreign
-
-SUBDIRS = .
-TESTS =
-XFAIL_TESTS =
-TESTS_ENVIRONMENT =
-noinst_PROGRAMS =
-check_PROGRAMS =
-noinst_HEADERS =
-noinst_LIBRARIES =
-check_LIBRARIES = libtests.a
-EXTRA_DIST =
-BUILT_SOURCES =
-SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
-CLEANFILES =
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-
-AM_CPPFLAGS = \
-  -D@gltests_WITNESS@=1 \
-  -I. -I$(srcdir) \
-  -I.. -I$(srcdir)/.. \
-  -I../gl -I$(srcdir)/../gl
-
-LDADD = libtests.a ../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-
-libtests_a_SOURCES =
-libtests_a_LIBADD = $(gltests_LIBOBJS)
-libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES =
-AM_LIBTOOLFLAGS = --preserve-dup-deps
-
-TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
-
-## begin gnulib module alloca-opt
-
-BUILT_SOURCES += $(ALLOCA_H)
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_ALLOCA_H
-alloca.h: alloca.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/alloca.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
-else
-alloca.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += alloca.h alloca.h-t
-
-EXTRA_DIST += alloca.in.h
-
-## end   gnulib module alloca-opt
-
-## begin gnulib module alloca-opt-tests
-
-TESTS += test-alloca-opt
-check_PROGRAMS += test-alloca-opt
-
-EXTRA_DIST += test-alloca-opt.c
-
-## end   gnulib module alloca-opt-tests
-
-## begin gnulib module binary-io
-
-libtests_a_SOURCES += binary-io.h
-
-## end   gnulib module binary-io
-
-## begin gnulib module binary-io-tests
-
-TESTS += test-binary-io.sh
-check_PROGRAMS += test-binary-io
-
-EXTRA_DIST += test-binary-io.sh test-binary-io.c macros.h
-
-## end   gnulib module binary-io-tests
-
-## begin gnulib module close
-
-
-EXTRA_DIST += close.c
-
-EXTRA_libtests_a_SOURCES += close.c
-
-## end   gnulib module close
-
-## begin gnulib module close-tests
-
-TESTS += test-close
-check_PROGRAMS += test-close
-EXTRA_DIST += test-close.c signature.h macros.h
-
-## end   gnulib module close-tests
-
-## begin gnulib module dosname
-
-
-EXTRA_DIST += dosname.h
-
-## end   gnulib module dosname
-
-## begin gnulib module dup2
-
-
-EXTRA_DIST += dup2.c
-
-EXTRA_libtests_a_SOURCES += dup2.c
-
-## end   gnulib module dup2
-
-## begin gnulib module dup2-tests
-
-TESTS += test-dup2
-check_PROGRAMS += test-dup2
-EXTRA_DIST += test-dup2.c signature.h macros.h
-
-## end   gnulib module dup2-tests
-
-## begin gnulib module environ-tests
-
-TESTS += test-environ
-check_PROGRAMS += test-environ
-
-EXTRA_DIST += test-environ.c
-
-## end   gnulib module environ-tests
-
-## begin gnulib module errno-tests
-
-TESTS += test-errno
-check_PROGRAMS += test-errno
-
-EXTRA_DIST += test-errno.c
-
-## end   gnulib module errno-tests
-
-## begin gnulib module fcntl-h
-
-BUILT_SOURCES += fcntl.h
-
-# We need the following in order to create <fcntl.h> when the system
-# doesn't have one that works with the given compiler.
-fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
-             -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
-             -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
-             -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
-             -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
-             -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
-             -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
-             -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
-             -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/fcntl.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += fcntl.h fcntl.h-t
-
-EXTRA_DIST += fcntl.in.h
-
-## end   gnulib module fcntl-h
-
-## begin gnulib module fd-hook
-
-libtests_a_SOURCES += fd-hook.c
-
-EXTRA_DIST += fd-hook.h
-
-## end   gnulib module fd-hook
-
-## begin gnulib module fdopen
-
-
-EXTRA_DIST += fdopen.c
-
-EXTRA_libtests_a_SOURCES += fdopen.c
-
-## end   gnulib module fdopen
-
-## begin gnulib module fdopen-tests
-
-TESTS += test-fdopen
-check_PROGRAMS += test-fdopen
-EXTRA_DIST += test-fdopen.c signature.h macros.h
-
-## end   gnulib module fdopen-tests
-
-## begin gnulib module fgetc-tests
-
-TESTS += test-fgetc
-check_PROGRAMS += test-fgetc
-EXTRA_DIST += test-fgetc.c signature.h macros.h
-
-## end   gnulib module fgetc-tests
-
-## begin gnulib module fputc-tests
-
-TESTS += test-fputc
-check_PROGRAMS += test-fputc
-EXTRA_DIST += test-fputc.c signature.h macros.h
-
-## end   gnulib module fputc-tests
-
-## begin gnulib module fread-tests
-
-TESTS += test-fread
-check_PROGRAMS += test-fread
-EXTRA_DIST += test-fread.c signature.h macros.h
-
-## end   gnulib module fread-tests
-
-## begin gnulib module fstat
-
-
-EXTRA_DIST += fstat.c
-
-EXTRA_libtests_a_SOURCES += fstat.c
-
-## end   gnulib module fstat
-
-## begin gnulib module fstat-tests
-
-TESTS += test-fstat
-check_PROGRAMS += test-fstat
-EXTRA_DIST += test-fstat.c signature.h macros.h
-
-## end   gnulib module fstat-tests
-
-## begin gnulib module fwrite-tests
-
-TESTS += test-fwrite
-check_PROGRAMS += test-fwrite
-EXTRA_DIST += test-fwrite.c signature.h macros.h
-
-## end   gnulib module fwrite-tests
-
-## begin gnulib module getcwd-lgpl
-
-
-EXTRA_DIST += getcwd-lgpl.c
-
-EXTRA_libtests_a_SOURCES += getcwd-lgpl.c
-
-## end   gnulib module getcwd-lgpl
-
-## begin gnulib module getcwd-lgpl-tests
-
-TESTS += test-getcwd-lgpl
-check_PROGRAMS += test-getcwd-lgpl
-test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
-EXTRA_DIST += test-getcwd-lgpl.c signature.h macros.h
-
-## end   gnulib module getcwd-lgpl-tests
-
-## begin gnulib module getopt-posix-tests
-
-TESTS += test-getopt
-check_PROGRAMS += test-getopt
-test_getopt_LDADD = $(LDADD) $(LIBINTL)
-EXTRA_DIST += macros.h signature.h test-getopt.c test-getopt.h test-getopt_long.h
-
-## end   gnulib module getopt-posix-tests
-
-## begin gnulib module ignore-value
-
-
-EXTRA_DIST += ignore-value.h
-
-## end   gnulib module ignore-value
-
-## begin gnulib module ignore-value-tests
-
-TESTS += test-ignore-value
-check_PROGRAMS += test-ignore-value
-EXTRA_DIST += test-ignore-value.c
-
-## end   gnulib module ignore-value-tests
-
-## begin gnulib module intprops-tests
-
-TESTS += test-intprops
-check_PROGRAMS += test-intprops
-EXTRA_DIST += test-intprops.c macros.h
-
-## end   gnulib module intprops-tests
-
-## begin gnulib module inttypes-incomplete
-
-BUILT_SOURCES += inttypes.h
-
-# We need the following in order to create <inttypes.h> when the system
-# doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-             -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-             -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-             -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-             -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-             -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
-             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/inttypes.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += inttypes.h inttypes.h-t
-
-EXTRA_DIST += inttypes.in.h
-
-## end   gnulib module inttypes-incomplete
-
-## begin gnulib module inttypes-tests
-
-TESTS += test-inttypes
-check_PROGRAMS += test-inttypes
-EXTRA_DIST += test-inttypes.c
-
-## end   gnulib module inttypes-tests
-
-## begin gnulib module lstat
-
-
-EXTRA_DIST += lstat.c
-
-EXTRA_libtests_a_SOURCES += lstat.c
-
-## end   gnulib module lstat
-
-## begin gnulib module lstat-tests
-
-TESTS += test-lstat
-check_PROGRAMS += test-lstat
-EXTRA_DIST += test-lstat.h test-lstat.c signature.h macros.h
-
-## end   gnulib module lstat-tests
-
-## begin gnulib module malloc-posix
-
-
-EXTRA_DIST += malloc.c
-
-EXTRA_libtests_a_SOURCES += malloc.c
-
-## end   gnulib module malloc-posix
-
-## begin gnulib module malloca
-
-libtests_a_SOURCES += malloca.c
-
-EXTRA_DIST += malloca.h malloca.valgrind
-
-## end   gnulib module malloca
-
-## begin gnulib module malloca-tests
-
-TESTS += test-malloca
-check_PROGRAMS += test-malloca
-
-EXTRA_DIST += test-malloca.c
-
-## end   gnulib module malloca-tests
-
-## begin gnulib module open
-
-
-EXTRA_DIST += open.c
-
-EXTRA_libtests_a_SOURCES += open.c
-
-## end   gnulib module open
-
-## begin gnulib module open-tests
-
-TESTS += test-open
-check_PROGRAMS += test-open
-EXTRA_DIST += test-open.h test-open.c signature.h macros.h
-
-## end   gnulib module open-tests
-
-## begin gnulib module pathmax
-
-
-EXTRA_DIST += pathmax.h
-
-## end   gnulib module pathmax
-
-## begin gnulib module pathmax-tests
-
-TESTS += test-pathmax
-check_PROGRAMS += test-pathmax
-EXTRA_DIST += test-pathmax.c
-
-## end   gnulib module pathmax-tests
-
-## begin gnulib module putenv
-
-
-EXTRA_DIST += putenv.c
-
-EXTRA_libtests_a_SOURCES += putenv.c
-
-## end   gnulib module putenv
-
-## begin gnulib module same-inode
-
-
-EXTRA_DIST += same-inode.h
-
-## end   gnulib module same-inode
-
-## begin gnulib module setenv
-
-
-EXTRA_DIST += setenv.c
-
-EXTRA_libtests_a_SOURCES += setenv.c
-
-## end   gnulib module setenv
-
-## begin gnulib module setenv-tests
-
-TESTS += test-setenv
-check_PROGRAMS += test-setenv
-EXTRA_DIST += test-setenv.c signature.h macros.h
-
-## end   gnulib module setenv-tests
-
-## begin gnulib module snippet/_Noreturn
-
-# Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
-# need it. This is ensured by the applicability 'all' defined above.
-
-_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
-
-## end   gnulib module snippet/_Noreturn
-
-## begin gnulib module snippet/arg-nonnull
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
-
-ARG_NONNULL_H=arg-nonnull.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-
-## end   gnulib module snippet/arg-nonnull
-
-## begin gnulib module snippet/c++defs
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
-
-CXXDEFS_H=c++defs.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
-
-## end   gnulib module snippet/c++defs
-
-## begin gnulib module snippet/warn-on-use
-
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
-
-WARN_ON_USE_H=warn-on-use.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
-
-## end   gnulib module snippet/warn-on-use
-
-## begin gnulib module stat
-
-
-EXTRA_DIST += stat.c
-
-EXTRA_libtests_a_SOURCES += stat.c
-
-## end   gnulib module stat
-
-## begin gnulib module stat-tests
-
-TESTS += test-stat
-check_PROGRAMS += test-stat
-test_stat_LDADD = $(LDADD) $(LIBINTL)
-EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h
-
-## end   gnulib module stat-tests
-
-## begin gnulib module stdbool
-
-BUILT_SOURCES += $(STDBOOL_H)
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-if GL_GENERATE_STDBOOL_H
-stdbool.h: stdbool.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-else
-stdbool.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += stdbool.h stdbool.h-t
-
-EXTRA_DIST += stdbool.in.h
-
-## end   gnulib module stdbool
-
-## begin gnulib module stdbool-tests
-
-TESTS += test-stdbool
-check_PROGRAMS += test-stdbool
-EXTRA_DIST += test-stdbool.c
-
-## end   gnulib module stdbool-tests
-
-## begin gnulib module stddef-tests
-
-TESTS += test-stddef
-check_PROGRAMS += test-stddef
-EXTRA_DIST += test-stddef.c
-
-## end   gnulib module stddef-tests
-
-## begin gnulib module stdint
-
-BUILT_SOURCES += $(STDINT_H)
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_STDINT_H
-stdint.h: stdint.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-             -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
-             -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
-             -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
-             -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
-             -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
-             -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
-             -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
-             -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
-             -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
-             -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
-             -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
-             < $(srcdir)/stdint.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-else
-stdint.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += stdint.h stdint.h-t
-
-EXTRA_DIST += stdint.in.h
-
-## end   gnulib module stdint
-
-## begin gnulib module stdint-tests
-
-TESTS += test-stdint
-check_PROGRAMS += test-stdint
-EXTRA_DIST += test-stdint.c
-
-## end   gnulib module stdint-tests
-
-## begin gnulib module stdio
-
-BUILT_SOURCES += stdio.h
-
-# We need the following in order to create <stdio.h> when the system
-# doesn't have one that works with the given compiler.
-stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
-             -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
-             -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
-             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
-             -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
-             -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
-             -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
-             -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
-             -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
-             -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
-             -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
-             -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
-             -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
-             -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
-             -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
-             -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
-             -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
-             -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
-             -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
-             -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
-             -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
-             -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
-             -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
-             -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
-             -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
-             -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
-             -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
-             -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
-             -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
-             -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
-             -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
-             -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
-             -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
-             -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
-             -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
-             -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
-             -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
-             -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
-             -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
-             -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
-             -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
-             -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
-             -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
-             -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
-             -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
-             -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
-             < $(srcdir)/stdio.in.h | \
-         sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
-             -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
-             -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
-             -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
-             -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
-             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
-             -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-             -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-             -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
-             -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
-             -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
-             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
-             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
-             -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-             -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-             -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
-             -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
-             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
-             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
-             -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
-             -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
-             -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
-             -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
-             -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
-             -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
-             -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
-             -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
-             -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
-             -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
-             -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
-             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
-             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
-             -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
-             -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
-             -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
-             -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
-             -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
-             -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-             -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-             -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
-             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
-             -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
-             -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
-             -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
-             -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-             -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-             -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-             -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
-             -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += stdio.h stdio.h-t
-
-EXTRA_DIST += stdio.in.h
-
-## end   gnulib module stdio
-
-## begin gnulib module stdio-tests
-
-TESTS += test-stdio
-check_PROGRAMS += test-stdio
-EXTRA_DIST += test-stdio.c
-
-## end   gnulib module stdio-tests
-
-## begin gnulib module stdlib
-
-BUILT_SOURCES += stdlib.h
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
-             -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
-             -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
-             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
-             -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
-             -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
-             -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
-             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
-             -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-             -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-             -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
-             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-             -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
-             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-             -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
-             -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
-             -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
-             -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
-             -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
-             -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
-             -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
-             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
-             -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
-             -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
-             -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
-             < $(srcdir)/stdlib.in.h | \
-         sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
-             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
-             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
-             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
-             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
-             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
-             -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-             -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
-             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
-             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += stdlib.h stdlib.h-t
-
-EXTRA_DIST += stdlib.in.h
-
-## end   gnulib module stdlib
-
-## begin gnulib module strerror-tests
-
-TESTS += test-strerror
-check_PROGRAMS += test-strerror
-EXTRA_DIST += test-strerror.c signature.h macros.h
-
-## end   gnulib module strerror-tests
-
-## begin gnulib module symlink
-
-
-EXTRA_DIST += symlink.c
-
-EXTRA_libtests_a_SOURCES += symlink.c
-
-## end   gnulib module symlink
-
-## begin gnulib module symlink-tests
-
-TESTS += test-symlink
-check_PROGRAMS += test-symlink
-EXTRA_DIST += test-symlink.h test-symlink.c signature.h macros.h
-
-## end   gnulib module symlink-tests
-
-## begin gnulib module sys_stat
-
-BUILT_SOURCES += sys/stat.h
-
-# We need the following in order to create <sys/stat.h> when the system
-# has one that is incomplete.
-sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
-             -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
-             -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
-             -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
-             -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
-             -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
-             -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
-             -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
-             -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
-             -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
-             -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
-             -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
-             -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
-             -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
-             -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
-             -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
-             -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
-             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
-             -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
-             -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
-             -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
-             -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
-             -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
-             -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
-             -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
-             -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
-             -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
-             -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
-             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
-             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
-             -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
-             -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
-             -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
-             -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/sys_stat.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t
-MOSTLYCLEANDIRS += sys
-
-EXTRA_DIST += sys_stat.in.h
-
-## end   gnulib module sys_stat
-
-## begin gnulib module sys_types-tests
-
-TESTS += test-sys_types
-check_PROGRAMS += test-sys_types
-EXTRA_DIST += test-sys_types.c
-
-## end   gnulib module sys_types-tests
-
-## begin gnulib module test-framework-sh-tests
-
-TESTS += test-init.sh
-EXTRA_DIST += init.sh
-EXTRA_DIST += test-init.sh
-
-## end   gnulib module test-framework-sh-tests
-
-## begin gnulib module time
-
-BUILT_SOURCES += time.h
-
-# We need the following in order to create <time.h> when the system
-# doesn't have one that works with the given compiler.
-time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-             -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
-             -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
-             -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-             -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-             -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
-             -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-             -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-             -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-             -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
-             -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-             -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-             -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-             -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
-             -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/time.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += time.h time.h-t
-
-EXTRA_DIST += time.in.h
-
-## end   gnulib module time
-
-## begin gnulib module unsetenv
-
-
-EXTRA_DIST += unsetenv.c
-
-EXTRA_libtests_a_SOURCES += unsetenv.c
-
-## end   gnulib module unsetenv
-
-## begin gnulib module unsetenv-tests
-
-TESTS += test-unsetenv
-check_PROGRAMS += test-unsetenv
-EXTRA_DIST += test-unsetenv.c signature.h macros.h
-
-## end   gnulib module unsetenv-tests
-
-## begin gnulib module vc-list-files-tests
-
-TESTS += test-vc-list-files-git.sh
-TESTS += test-vc-list-files-cvs.sh
-TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)'
-EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh
-
-## end   gnulib module vc-list-files-tests
-
-## begin gnulib module verify-tests
-
-TESTS_ENVIRONMENT += MAKE='$(MAKE)'
-TESTS += test-verify test-verify.sh
-check_PROGRAMS += test-verify
-EXTRA_DIST += test-verify.c test-verify.sh
-
-## end   gnulib module verify-tests
-
-## begin gnulib module version-etc-fsf
-
-libtests_a_SOURCES += version-etc-fsf.c
-
-## end   gnulib module version-etc-fsf
-
-## begin gnulib module version-etc-tests
-
-TESTS += test-version-etc.sh
-check_PROGRAMS += test-version-etc
-test_version_etc_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-version-etc.c test-version-etc.sh
-
-## end   gnulib module version-etc-tests
-
-## begin gnulib module wchar
-
-BUILT_SOURCES += wchar.h
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
-             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
-             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
-             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
-             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
-             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
-             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
-             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
-             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
-             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
-             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
-             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
-             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
-             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
-             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
-             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
-             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
-             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
-             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
-             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
-             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
-             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
-             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
-             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
-             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
-             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
-             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
-             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
-             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
-             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
-             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
-             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
-             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
-             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
-             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
-             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
-             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
-             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
-             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
-             < $(srcdir)/wchar.in.h | \
-         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
-         | \
-         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
-
-EXTRA_DIST += wchar.in.h
-
-## end   gnulib module wchar
-
-# Clean up after Solaris cc.
-clean-local:
-       rm -rf SunWS_cache
-
-mostlyclean-local: mostlyclean-generic
-       @for dir in '' $(MOSTLYCLEANDIRS); do \
-         if test -n "$$dir" && test -d $$dir; then \
-           echo "rmdir $$dir"; rmdir $$dir; \
-         fi; \
-       done; \
-       :
diff --git a/gltests/Makefile.in b/gltests/Makefile.in
deleted file mode 100644 (file)
index 78790e6..0000000
+++ /dev/null
@@ -1,2598 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file 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 file 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 file.  If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License,
-# this file may be distributed as part of a program that
-# contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-TESTS = test-alloca-opt$(EXEEXT) test-binary-io.sh test-close$(EXEEXT) \
-       test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
-       test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) test-fputc$(EXEEXT) \
-       test-fread$(EXEEXT) test-fstat$(EXEEXT) test-fwrite$(EXEEXT) \
-       test-getcwd-lgpl$(EXEEXT) test-getopt$(EXEEXT) \
-       test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
-       test-inttypes$(EXEEXT) test-lstat$(EXEEXT) \
-       test-malloca$(EXEEXT) test-open$(EXEEXT) test-pathmax$(EXEEXT) \
-       test-setenv$(EXEEXT) test-stat$(EXEEXT) test-stdbool$(EXEEXT) \
-       test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
-       test-strerror$(EXEEXT) test-symlink$(EXEEXT) \
-       test-sys_types$(EXEEXT) test-init.sh test-unsetenv$(EXEEXT) \
-       test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
-       test-verify$(EXEEXT) test-verify.sh test-version-etc.sh
-XFAIL_TESTS =
-noinst_PROGRAMS =
-check_PROGRAMS = test-alloca-opt$(EXEEXT) test-binary-io$(EXEEXT) \
-       test-close$(EXEEXT) test-dup2$(EXEEXT) test-environ$(EXEEXT) \
-       test-errno$(EXEEXT) test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) \
-       test-fputc$(EXEEXT) test-fread$(EXEEXT) test-fstat$(EXEEXT) \
-       test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
-       test-getopt$(EXEEXT) test-ignore-value$(EXEEXT) \
-       test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
-       test-lstat$(EXEEXT) test-malloca$(EXEEXT) test-open$(EXEEXT) \
-       test-pathmax$(EXEEXT) test-setenv$(EXEEXT) test-stat$(EXEEXT) \
-       test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
-       test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
-       test-strerror$(EXEEXT) test-symlink$(EXEEXT) \
-       test-sys_types$(EXEEXT) test-unsetenv$(EXEEXT) \
-       test-verify$(EXEEXT) test-version-etc$(EXEEXT)
-subdir = gltests
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-AM_V_AR = $(am__v_AR_@AM_V@)
-am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-libtests_a_AR = $(AR) $(ARFLAGS)
-am__DEPENDENCIES_1 =
-am_libtests_a_OBJECTS = fd-hook.$(OBJEXT) malloca.$(OBJEXT) \
-       version-etc-fsf.$(OBJEXT)
-libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-PROGRAMS = $(noinst_PROGRAMS)
-test_alloca_opt_SOURCES = test-alloca-opt.c
-test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
-test_alloca_opt_LDADD = $(LDADD)
-test_alloca_opt_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-test_binary_io_SOURCES = test-binary-io.c
-test_binary_io_OBJECTS = test-binary-io.$(OBJEXT)
-test_binary_io_LDADD = $(LDADD)
-test_binary_io_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_close_SOURCES = test-close.c
-test_close_OBJECTS = test-close.$(OBJEXT)
-test_close_LDADD = $(LDADD)
-test_close_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_dup2_SOURCES = test-dup2.c
-test_dup2_OBJECTS = test-dup2.$(OBJEXT)
-test_dup2_LDADD = $(LDADD)
-test_dup2_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_environ_SOURCES = test-environ.c
-test_environ_OBJECTS = test-environ.$(OBJEXT)
-test_environ_LDADD = $(LDADD)
-test_environ_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_errno_SOURCES = test-errno.c
-test_errno_OBJECTS = test-errno.$(OBJEXT)
-test_errno_LDADD = $(LDADD)
-test_errno_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fdopen_SOURCES = test-fdopen.c
-test_fdopen_OBJECTS = test-fdopen.$(OBJEXT)
-test_fdopen_LDADD = $(LDADD)
-test_fdopen_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fgetc_SOURCES = test-fgetc.c
-test_fgetc_OBJECTS = test-fgetc.$(OBJEXT)
-test_fgetc_LDADD = $(LDADD)
-test_fgetc_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fputc_SOURCES = test-fputc.c
-test_fputc_OBJECTS = test-fputc.$(OBJEXT)
-test_fputc_LDADD = $(LDADD)
-test_fputc_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fread_SOURCES = test-fread.c
-test_fread_OBJECTS = test-fread.$(OBJEXT)
-test_fread_LDADD = $(LDADD)
-test_fread_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fstat_SOURCES = test-fstat.c
-test_fstat_OBJECTS = test-fstat.$(OBJEXT)
-test_fstat_LDADD = $(LDADD)
-test_fstat_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_fwrite_SOURCES = test-fwrite.c
-test_fwrite_OBJECTS = test-fwrite.$(OBJEXT)
-test_fwrite_LDADD = $(LDADD)
-test_fwrite_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c
-test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT)
-am__DEPENDENCIES_2 = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
-       $(am__DEPENDENCIES_1)
-test_getopt_SOURCES = test-getopt.c
-test_getopt_OBJECTS = test-getopt.$(OBJEXT)
-test_getopt_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
-test_ignore_value_SOURCES = test-ignore-value.c
-test_ignore_value_OBJECTS = test-ignore-value.$(OBJEXT)
-test_ignore_value_LDADD = $(LDADD)
-test_ignore_value_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_intprops_SOURCES = test-intprops.c
-test_intprops_OBJECTS = test-intprops.$(OBJEXT)
-test_intprops_LDADD = $(LDADD)
-test_intprops_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_inttypes_SOURCES = test-inttypes.c
-test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
-test_inttypes_LDADD = $(LDADD)
-test_inttypes_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_lstat_SOURCES = test-lstat.c
-test_lstat_OBJECTS = test-lstat.$(OBJEXT)
-test_lstat_LDADD = $(LDADD)
-test_lstat_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_malloca_SOURCES = test-malloca.c
-test_malloca_OBJECTS = test-malloca.$(OBJEXT)
-test_malloca_LDADD = $(LDADD)
-test_malloca_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_open_SOURCES = test-open.c
-test_open_OBJECTS = test-open.$(OBJEXT)
-test_open_LDADD = $(LDADD)
-test_open_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_pathmax_SOURCES = test-pathmax.c
-test_pathmax_OBJECTS = test-pathmax.$(OBJEXT)
-test_pathmax_LDADD = $(LDADD)
-test_pathmax_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_setenv_SOURCES = test-setenv.c
-test_setenv_OBJECTS = test-setenv.$(OBJEXT)
-test_setenv_LDADD = $(LDADD)
-test_setenv_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_stat_SOURCES = test-stat.c
-test_stat_OBJECTS = test-stat.$(OBJEXT)
-test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
-test_stdbool_SOURCES = test-stdbool.c
-test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
-test_stdbool_LDADD = $(LDADD)
-test_stdbool_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_stddef_SOURCES = test-stddef.c
-test_stddef_OBJECTS = test-stddef.$(OBJEXT)
-test_stddef_LDADD = $(LDADD)
-test_stddef_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_stdint_SOURCES = test-stdint.c
-test_stdint_OBJECTS = test-stdint.$(OBJEXT)
-test_stdint_LDADD = $(LDADD)
-test_stdint_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_stdio_SOURCES = test-stdio.c
-test_stdio_OBJECTS = test-stdio.$(OBJEXT)
-test_stdio_LDADD = $(LDADD)
-test_stdio_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_strerror_SOURCES = test-strerror.c
-test_strerror_OBJECTS = test-strerror.$(OBJEXT)
-test_strerror_LDADD = $(LDADD)
-test_strerror_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_symlink_SOURCES = test-symlink.c
-test_symlink_OBJECTS = test-symlink.$(OBJEXT)
-test_symlink_LDADD = $(LDADD)
-test_symlink_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_sys_types_SOURCES = test-sys_types.c
-test_sys_types_OBJECTS = test-sys_types.$(OBJEXT)
-test_sys_types_LDADD = $(LDADD)
-test_sys_types_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_unsetenv_SOURCES = test-unsetenv.c
-test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT)
-test_unsetenv_LDADD = $(LDADD)
-test_unsetenv_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_verify_SOURCES = test-verify.c
-test_verify_OBJECTS = test-verify.$(OBJEXT)
-test_verify_LDADD = $(LDADD)
-test_verify_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_version_etc_SOURCES = test-version-etc.c
-test_version_etc_OBJECTS = test-version-etc.$(OBJEXT)
-test_version_etc_DEPENDENCIES = $(am__DEPENDENCIES_2)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-binary-io.c test-close.c test-dup2.c \
-       test-environ.c test-errno.c test-fdopen.c test-fgetc.c \
-       test-fputc.c test-fread.c test-fstat.c test-fwrite.c \
-       test-getcwd-lgpl.c test-getopt.c test-ignore-value.c \
-       test-intprops.c test-inttypes.c test-lstat.c test-malloca.c \
-       test-open.c test-pathmax.c test-setenv.c test-stat.c \
-       test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \
-       test-strerror.c test-symlink.c test-sys_types.c \
-       test-unsetenv.c test-verify.c test-version-etc.c
-DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-binary-io.c test-close.c test-dup2.c \
-       test-environ.c test-errno.c test-fdopen.c test-fgetc.c \
-       test-fputc.c test-fread.c test-fstat.c test-fwrite.c \
-       test-getcwd-lgpl.c test-getopt.c test-ignore-value.c \
-       test-intprops.c test-inttypes.c test-lstat.c test-malloca.c \
-       test-open.c test-pathmax.c test-setenv.c test-stat.c \
-       test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \
-       test-strerror.c test-symlink.c test-sys_types.c \
-       test-unsetenv.c test-verify.c test-version-etc.c
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 foreign
-SUBDIRS = .
-TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
-       abs_aux_dir='$(abs_aux_dir)' MAKE='$(MAKE)'
-noinst_HEADERS = 
-noinst_LIBRARIES = 
-check_LIBRARIES = libtests.a
-EXTRA_DIST = alloca.in.h test-alloca-opt.c test-binary-io.sh \
-       test-binary-io.c macros.h close.c test-close.c signature.h \
-       macros.h dosname.h dup2.c test-dup2.c signature.h macros.h \
-       test-environ.c test-errno.c fcntl.in.h fd-hook.h fdopen.c \
-       test-fdopen.c signature.h macros.h test-fgetc.c signature.h \
-       macros.h test-fputc.c signature.h macros.h test-fread.c \
-       signature.h macros.h fstat.c test-fstat.c signature.h macros.h \
-       test-fwrite.c signature.h macros.h getcwd-lgpl.c \
-       test-getcwd-lgpl.c signature.h macros.h macros.h signature.h \
-       test-getopt.c test-getopt.h test-getopt_long.h ignore-value.h \
-       test-ignore-value.c test-intprops.c macros.h inttypes.in.h \
-       test-inttypes.c lstat.c test-lstat.h test-lstat.c signature.h \
-       macros.h malloc.c malloca.h malloca.valgrind test-malloca.c \
-       open.c test-open.h test-open.c signature.h macros.h pathmax.h \
-       test-pathmax.c putenv.c same-inode.h setenv.c test-setenv.c \
-       signature.h macros.h \
-       $(top_srcdir)/build-aux/snippet/_Noreturn.h \
-       $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-       $(top_srcdir)/build-aux/snippet/c++defs.h \
-       $(top_srcdir)/build-aux/snippet/warn-on-use.h stat.c \
-       test-stat.h test-stat.c signature.h macros.h stdbool.in.h \
-       test-stdbool.c test-stddef.c stdint.in.h test-stdint.c \
-       stdio.in.h test-stdio.c stdlib.in.h test-strerror.c \
-       signature.h macros.h symlink.c test-symlink.h test-symlink.c \
-       signature.h macros.h sys_stat.in.h test-sys_types.c init.sh \
-       test-init.sh time.in.h unsetenv.c test-unsetenv.c signature.h \
-       macros.h test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
-       test-verify.c test-verify.sh test-version-etc.c \
-       test-version-etc.sh wchar.in.h
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-BUILT_SOURCES = $(ALLOCA_H) fcntl.h inttypes.h arg-nonnull.h c++defs.h \
-       warn-on-use.h $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h \
-       sys/stat.h time.h wchar.h
-SUFFIXES = 
-MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t fcntl.h \
-       fcntl.h-t inttypes.h inttypes.h-t arg-nonnull.h \
-       arg-nonnull.h-t c++defs.h c++defs.h-t warn-on-use.h \
-       warn-on-use.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t \
-       stdio.h stdio.h-t stdlib.h stdlib.h-t sys/stat.h sys/stat.h-t \
-       time.h time.h-t wchar.h wchar.h-t
-MOSTLYCLEANDIRS = sys
-CLEANFILES = 
-DISTCLEANFILES = 
-MAINTAINERCLEANFILES = 
-AM_CPPFLAGS = \
-  -D@gltests_WITNESS@=1 \
-  -I. -I$(srcdir) \
-  -I.. -I$(srcdir)/.. \
-  -I../gl -I$(srcdir)/../gl
-
-LDADD = libtests.a ../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-libtests_a_SOURCES = binary-io.h fd-hook.c malloca.c version-etc-fsf.c
-libtests_a_LIBADD = $(gltests_LIBOBJS)
-libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES = close.c dup2.c fdopen.c fstat.c \
-       getcwd-lgpl.c lstat.c malloc.c open.c putenv.c setenv.c stat.c \
-       symlink.c unsetenv.c
-AM_LIBTOOLFLAGS = --preserve-dup-deps
-test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
-test_getopt_LDADD = $(LDADD) $(LIBINTL)
-
-# Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
-# need it. This is ensured by the applicability 'all' defined above.
-_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
-ARG_NONNULL_H = arg-nonnull.h
-CXXDEFS_H = c++defs.h
-WARN_ON_USE_H = warn-on-use.h
-test_stat_LDADD = $(LDADD) $(LIBINTL)
-test_version_etc_LDADD = $(LDADD) @LIBINTL@
-all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gltests/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign gltests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
-       -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
-clean-noinstLIBRARIES:
-       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) 
-       $(AM_V_at)-rm -f libtests.a
-       $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
-       $(AM_V_at)$(RANLIB) libtests.a
-
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-clean-noinstPROGRAMS:
-       @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES) 
-       @rm -f test-alloca-opt$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
-test-binary-io$(EXEEXT): $(test_binary_io_OBJECTS) $(test_binary_io_DEPENDENCIES) $(EXTRA_test_binary_io_DEPENDENCIES) 
-       @rm -f test-binary-io$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_binary_io_OBJECTS) $(test_binary_io_LDADD) $(LIBS)
-test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES) $(EXTRA_test_close_DEPENDENCIES) 
-       @rm -f test-close$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS)
-test-dup2$(EXEEXT): $(test_dup2_OBJECTS) $(test_dup2_DEPENDENCIES) $(EXTRA_test_dup2_DEPENDENCIES) 
-       @rm -f test-dup2$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_dup2_OBJECTS) $(test_dup2_LDADD) $(LIBS)
-test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) $(EXTRA_test_environ_DEPENDENCIES) 
-       @rm -f test-environ$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS)
-test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) $(EXTRA_test_errno_DEPENDENCIES) 
-       @rm -f test-errno$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
-test-fdopen$(EXEEXT): $(test_fdopen_OBJECTS) $(test_fdopen_DEPENDENCIES) $(EXTRA_test_fdopen_DEPENDENCIES) 
-       @rm -f test-fdopen$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fdopen_OBJECTS) $(test_fdopen_LDADD) $(LIBS)
-test-fgetc$(EXEEXT): $(test_fgetc_OBJECTS) $(test_fgetc_DEPENDENCIES) $(EXTRA_test_fgetc_DEPENDENCIES) 
-       @rm -f test-fgetc$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fgetc_OBJECTS) $(test_fgetc_LDADD) $(LIBS)
-test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES) $(EXTRA_test_fputc_DEPENDENCIES) 
-       @rm -f test-fputc$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS)
-test-fread$(EXEEXT): $(test_fread_OBJECTS) $(test_fread_DEPENDENCIES) $(EXTRA_test_fread_DEPENDENCIES) 
-       @rm -f test-fread$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fread_OBJECTS) $(test_fread_LDADD) $(LIBS)
-test-fstat$(EXEEXT): $(test_fstat_OBJECTS) $(test_fstat_DEPENDENCIES) $(EXTRA_test_fstat_DEPENDENCIES) 
-       @rm -f test-fstat$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fstat_OBJECTS) $(test_fstat_LDADD) $(LIBS)
-test-fwrite$(EXEEXT): $(test_fwrite_OBJECTS) $(test_fwrite_DEPENDENCIES) $(EXTRA_test_fwrite_DEPENDENCIES) 
-       @rm -f test-fwrite$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_fwrite_OBJECTS) $(test_fwrite_LDADD) $(LIBS)
-test-getcwd-lgpl$(EXEEXT): $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_DEPENDENCIES) $(EXTRA_test_getcwd_lgpl_DEPENDENCIES) 
-       @rm -f test-getcwd-lgpl$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_LDADD) $(LIBS)
-test-getopt$(EXEEXT): $(test_getopt_OBJECTS) $(test_getopt_DEPENDENCIES) $(EXTRA_test_getopt_DEPENDENCIES) 
-       @rm -f test-getopt$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_getopt_OBJECTS) $(test_getopt_LDADD) $(LIBS)
-test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES) $(EXTRA_test_ignore_value_DEPENDENCIES) 
-       @rm -f test-ignore-value$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_ignore_value_OBJECTS) $(test_ignore_value_LDADD) $(LIBS)
-test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES) $(EXTRA_test_intprops_DEPENDENCIES) 
-       @rm -f test-intprops$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS)
-test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES) $(EXTRA_test_inttypes_DEPENDENCIES) 
-       @rm -f test-inttypes$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
-test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES) $(EXTRA_test_lstat_DEPENDENCIES) 
-       @rm -f test-lstat$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS)
-test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EXTRA_test_malloca_DEPENDENCIES) 
-       @rm -f test-malloca$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
-test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES) $(EXTRA_test_open_DEPENDENCIES) 
-       @rm -f test-open$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS)
-test-pathmax$(EXEEXT): $(test_pathmax_OBJECTS) $(test_pathmax_DEPENDENCIES) $(EXTRA_test_pathmax_DEPENDENCIES) 
-       @rm -f test-pathmax$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_pathmax_OBJECTS) $(test_pathmax_LDADD) $(LIBS)
-test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES) $(EXTRA_test_setenv_DEPENDENCIES) 
-       @rm -f test-setenv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
-test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES) $(EXTRA_test_stat_DEPENDENCIES) 
-       @rm -f test-stat$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS)
-test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES) 
-       @rm -f test-stdbool$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
-test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES) $(EXTRA_test_stddef_DEPENDENCIES) 
-       @rm -f test-stddef$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS)
-test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) $(EXTRA_test_stdint_DEPENDENCIES) 
-       @rm -f test-stdint$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
-test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES) $(EXTRA_test_stdio_DEPENDENCIES) 
-       @rm -f test-stdio$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS)
-test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES) $(EXTRA_test_strerror_DEPENDENCIES) 
-       @rm -f test-strerror$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS)
-test-symlink$(EXEEXT): $(test_symlink_OBJECTS) $(test_symlink_DEPENDENCIES) $(EXTRA_test_symlink_DEPENDENCIES) 
-       @rm -f test-symlink$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_symlink_OBJECTS) $(test_symlink_LDADD) $(LIBS)
-test-sys_types$(EXEEXT): $(test_sys_types_OBJECTS) $(test_sys_types_DEPENDENCIES) $(EXTRA_test_sys_types_DEPENDENCIES) 
-       @rm -f test-sys_types$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_sys_types_OBJECTS) $(test_sys_types_LDADD) $(LIBS)
-test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES) $(EXTRA_test_unsetenv_DEPENDENCIES) 
-       @rm -f test-unsetenv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS)
-test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES) $(EXTRA_test_verify_DEPENDENCIES) 
-       @rm -f test-verify$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
-test-version-etc$(EXEEXT): $(test_version_etc_OBJECTS) $(test_version_etc_DEPENDENCIES) $(EXTRA_test_version_etc_DEPENDENCIES) 
-       @rm -f test-version-etc$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_version_etc_OBJECTS) $(test_version_etc_LDADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-binary-io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fwrite.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlink.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version-etc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
-         fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
-           else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-           fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
-           else \
-             skipped="($$skip tests were not run)"; \
-           fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           col="$$grn"; \
-         else \
-           col="$$red"; \
-         fi; \
-         echo "$${col}$$dashes$${std}"; \
-         echo "$${col}$$banner$${std}"; \
-         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
-         test -z "$$report" || echo "$${col}$$report$${std}"; \
-         echo "$${col}$$dashes$${std}"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-       -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool clean-local clean-noinstLIBRARIES \
-       clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool mostlyclean-local
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       check-am ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-TESTS check-am clean \
-       clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool clean-local clean-noinstLIBRARIES \
-       clean-noinstPROGRAMS ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am
-
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status
-@GL_GENERATE_ALLOCA_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_ALLOCA_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_ALLOCA_H_TRUE@      cat $(srcdir)/alloca.in.h; \
-@GL_GENERATE_ALLOCA_H_TRUE@    } > $@-t && \
-@GL_GENERATE_ALLOCA_H_TRUE@    mv -f $@-t $@
-@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status
-@GL_GENERATE_ALLOCA_H_FALSE@   rm -f $@
-
-# We need the following in order to create <fcntl.h> when the system
-# doesn't have one that works with the given compiler.
-fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
-             -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
-             -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
-             -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
-             -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
-             -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
-             -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
-             -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
-             -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/fcntl.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <inttypes.h> when the system
-# doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-             -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-             -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-             -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-             -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-             -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
-             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/inttypes.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDBOOL_H_TRUE@   $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDBOOL_H_TRUE@   { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_STDBOOL_H_TRUE@     sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
-@GL_GENERATE_STDBOOL_H_TRUE@   } > $@-t && \
-@GL_GENERATE_STDBOOL_H_TRUE@   mv $@-t $@
-@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status
-@GL_GENERATE_STDBOOL_H_FALSE@  rm -f $@
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDINT_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDINT_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_STDINT_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          < $(srcdir)/stdint.in.h; \
-@GL_GENERATE_STDINT_H_TRUE@    } > $@-t && \
-@GL_GENERATE_STDINT_H_TRUE@    mv $@-t $@
-@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
-@GL_GENERATE_STDINT_H_FALSE@   rm -f $@
-
-# We need the following in order to create <stdio.h> when the system
-# doesn't have one that works with the given compiler.
-stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
-             -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
-             -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
-             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
-             -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
-             -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
-             -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
-             -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
-             -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
-             -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
-             -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
-             -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
-             -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
-             -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
-             -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
-             -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
-             -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
-             -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
-             -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
-             -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
-             -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
-             -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
-             -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
-             -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
-             -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
-             -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
-             -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
-             -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
-             -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
-             -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
-             -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
-             -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
-             -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
-             -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
-             -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
-             -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
-             -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
-             -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
-             -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
-             -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
-             -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
-             -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
-             -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
-             -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
-             -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
-             -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
-             -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
-             < $(srcdir)/stdio.in.h | \
-         sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
-             -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
-             -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
-             -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
-             -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
-             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
-             -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-             -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-             -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
-             -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
-             -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
-             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
-             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
-             -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-             -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-             -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
-             -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
-             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
-             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
-             -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
-             -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
-             -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
-             -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
-             -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
-             -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
-             -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
-             -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
-             -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
-             -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
-             -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
-             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
-             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
-             -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
-             -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
-             -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
-             -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
-             -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
-             -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-             -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-             -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
-             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
-             -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
-             -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
-             -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
-             -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-             -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-             -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-             -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
-             -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
-             -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
-             -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
-             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
-             -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
-             -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
-             -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
-             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
-             -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-             -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-             -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
-             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-             -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
-             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-             -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
-             -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
-             -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
-             -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
-             -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
-             -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
-             -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
-             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
-             -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
-             -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
-             -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
-             < $(srcdir)/stdlib.in.h | \
-         sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
-             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
-             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
-             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
-             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
-             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
-             -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-             -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
-             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
-             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <sys/stat.h> when the system
-# has one that is incomplete.
-sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
-             -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
-             -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
-             -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
-             -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
-             -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
-             -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
-             -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
-             -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
-             -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
-             -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
-             -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
-             -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
-             -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
-             -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
-             -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
-             -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
-             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
-             -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
-             -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
-             -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
-             -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
-             -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
-             -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
-             -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
-             -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
-             -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
-             -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
-             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
-             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
-             -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
-             -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
-             -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
-             -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/sys_stat.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <time.h> when the system
-# doesn't have one that works with the given compiler.
-time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-             -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
-             -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
-             -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
-             -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
-             -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
-             -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
-             -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-             -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-             -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
-             -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-             -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-             -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-             -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
-             -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/time.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
-             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
-             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
-             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
-             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
-             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
-             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
-             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
-             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
-             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
-             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
-             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
-             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
-             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
-             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
-             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
-             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
-             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
-             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
-             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
-             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
-             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
-             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
-             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
-             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
-             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
-             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
-             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
-             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
-             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
-             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
-             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
-             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
-             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
-             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
-             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
-             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
-             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
-             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
-             < $(srcdir)/wchar.in.h | \
-         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
-         | \
-         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# Clean up after Solaris cc.
-clean-local:
-       rm -rf SunWS_cache
-
-mostlyclean-local: mostlyclean-generic
-       @for dir in '' $(MOSTLYCLEANDIRS); do \
-         if test -n "$$dir" && test -d $$dir; then \
-           echo "rmdir $$dir"; rmdir $$dir; \
-         fi; \
-       done; \
-       :
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/gltests/alloca.in.h b/gltests/alloca.in.h
deleted file mode 100644 (file)
index e94eb68..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Memory allocation on the stack.
-
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2012 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 the Free Software Foundation; either version 3, 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/>.
-  */
-
-/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
-   means there is a real alloca function.  */
-#ifndef _GL_ALLOCA_H
-#define _GL_ALLOCA_H
-
-/* alloca (N) returns a pointer to N bytes of memory
-   allocated on the stack, which will last until the function returns.
-   Use of alloca should be avoided:
-     - inside arguments of function calls - undefined behaviour,
-     - in inline functions - the allocation may actually last until the
-       calling function returns,
-     - for huge N (say, N >= 65536) - you never know how large (or small)
-       the stack is, and when the stack cannot fulfill the memory allocation
-       request, the program just crashes.
- */
-
-#ifndef alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
-# elif defined _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# elif defined __DECC && defined __VMS
-#  define alloca __ALLOCA
-# else
-#  include <stddef.h>
-#  ifdef  __cplusplus
-extern "C"
-#  endif
-void *alloca (size_t);
-# endif
-#endif
-
-#endif /* _GL_ALLOCA_H */
diff --git a/gltests/binary-io.h b/gltests/binary-io.h
deleted file mode 100644 (file)
index a33e32a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Binary mode I/O.
-   Copyright (C) 2001, 2003, 2005, 2008-2012 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
-   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/>.  */
-
-#ifndef _BINARY_H
-#define _BINARY_H
-
-/* For systems that distinguish between text and binary I/O.
-   O_BINARY is guaranteed by the gnulib <fcntl.h>. */
-#include <fcntl.h>
-
-/* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',
-   so we include it here first.  */
-#include <stdio.h>
-
-/* set_binary_mode (fd, mode)
-   sets the binary/text I/O mode of file descriptor fd to the given mode
-   (must be O_BINARY or O_TEXT) and returns the previous mode.  */
-#if O_BINARY
-# if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__
-#  include <io.h> /* declares setmode() */
-#  define set_binary_mode setmode
-# else
-#  define set_binary_mode _setmode
-#  undef fileno
-#  define fileno _fileno
-# endif
-#else
-  /* On reasonable systems, binary I/O is the only choice.  */
-  /* Use an inline function rather than a macro, to avoid gcc warnings
-     "warning: statement with no effect".  */
-static inline int
-set_binary_mode (int fd, int mode)
-{
-  (void) fd;
-  (void) mode;
-  return O_BINARY;
-}
-#endif
-
-/* SET_BINARY (fd);
-   changes the file descriptor fd to perform binary I/O.  */
-#ifdef __DJGPP__
-# include <unistd.h> /* declares isatty() */
-  /* Avoid putting stdin/stdout in binary mode if it is connected to
-     the console, because that would make it impossible for the user
-     to interrupt the program through Ctrl-C or Ctrl-Break.  */
-# define SET_BINARY(fd) ((void) (!isatty (fd) ? (set_binary_mode (fd, O_BINARY), 0) : 0))
-#else
-# define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY))
-#endif
-
-#endif /* _BINARY_H */
diff --git a/gltests/dosname.h b/gltests/dosname.h
deleted file mode 100644 (file)
index 0468ce4..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* File names on MS-DOS/Windows systems.
-
-   Copyright (C) 2000-2001, 2004-2006, 2009-2012 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
-   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/>.
-
-   From Paul Eggert and Jim Meyering.  */
-
-#ifndef _DOSNAME_H
-#define _DOSNAME_H
-
-#if (defined _WIN32 || defined __WIN32__ ||     \
-     defined __MSDOS__ || defined __CYGWIN__ || \
-     defined __EMX__ || defined __DJGPP__)
-   /* This internal macro assumes ASCII, but all hosts that support drive
-      letters use ASCII.  */
-# define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a'  \
-                              <= 'z' - 'a')
-# define FILE_SYSTEM_PREFIX_LEN(Filename) \
-          (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0)
-# ifndef __CYGWIN__
-#  define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
-# endif
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#else
-# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
-# define ISSLASH(C) ((C) == '/')
-#endif
-
-#ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
-# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
-#endif
-
-#if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
-#  define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)])
-# else
-#  define IS_ABSOLUTE_FILE_NAME(F)                              \
-     (ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0)
-#endif
-#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F))
-
-#endif /* DOSNAME_H_ */
diff --git a/gltests/dup2.c b/gltests/dup2.c
deleted file mode 100644 (file)
index f6d0f1c..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/* Duplicate an open file descriptor to a specified file descriptor.
-
-   Copyright (C) 1999, 2004-2007, 2009-2012 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
-   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/>.  */
-
-/* written by Paul Eggert */
-
-#include <config.h>
-
-/* Specification.  */
-#include <unistd.h>
-
-#include <errno.h>
-#include <fcntl.h>
-
-#if HAVE_DUP2
-
-# undef dup2
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-/* Get declarations of the native Windows API functions.  */
-#  define WIN32_LEAN_AND_MEAN
-#  include <windows.h>
-
-#  include "msvc-inval.h"
-
-/* Get _get_osfhandle.  */
-#  include "msvc-nothrow.h"
-
-static int
-ms_windows_dup2 (int fd, int desired_fd)
-{
-  int result;
-
-  /* If fd is closed, mingw hangs on dup2 (fd, fd).  If fd is open,
-     dup2 (fd, fd) returns 0, but all further attempts to use fd in
-     future dup2 calls will hang.  */
-  if (fd == desired_fd)
-    {
-      if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE)
-        {
-          errno = EBADF;
-          return -1;
-        }
-      return fd;
-    }
-
-  /* Wine 1.0.1 return 0 when desired_fd is negative but not -1:
-     http://bugs.winehq.org/show_bug.cgi?id=21289 */
-  if (desired_fd < 0)
-    {
-      errno = EBADF;
-      return -1;
-    }
-
-  TRY_MSVC_INVAL
-    {
-      result = dup2 (fd, desired_fd);
-    }
-  CATCH_MSVC_INVAL
-    {
-      errno = EBADF;
-      result = -1;
-    }
-  DONE_MSVC_INVAL;
-
-  if (result == 0)
-    result = desired_fd;
-
-  return result;
-}
-
-#  define dup2 ms_windows_dup2
-
-# endif
-
-int
-rpl_dup2 (int fd, int desired_fd)
-{
-  int result;
-
-# ifdef F_GETFL
-  /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
-     On Cygwin 1.5.x, dup2 (1, 1) returns 0.
-     On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
-  if (fd == desired_fd)
-    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
-# endif
-
-  result = dup2 (fd, desired_fd);
-
-  /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x.  */
-  if (result == -1 && errno == EMFILE)
-    errno = EBADF;
-# if REPLACE_FCHDIR
-  if (fd != desired_fd && result != -1)
-    result = _gl_register_dup (fd, result);
-# endif
-  return result;
-}
-
-#else /* !HAVE_DUP2 */
-
-/* On older platforms, dup2 did not exist.  */
-
-# ifndef F_DUPFD
-static int
-dupfd (int fd, int desired_fd)
-{
-  int duplicated_fd = dup (fd);
-  if (duplicated_fd < 0 || duplicated_fd == desired_fd)
-    return duplicated_fd;
-  else
-    {
-      int r = dupfd (fd, desired_fd);
-      int e = errno;
-      close (duplicated_fd);
-      errno = e;
-      return r;
-    }
-}
-# endif
-
-int
-dup2 (int fd, int desired_fd)
-{
-  int result = fcntl (fd, F_GETFL) < 0 ? -1 : fd;
-  if (result == -1 || fd == desired_fd)
-    return result;
-  close (desired_fd);
-# ifdef F_DUPFD
-  result = fcntl (fd, F_DUPFD, desired_fd);
-#  if REPLACE_FCHDIR
-  if (0 <= result)
-    result = _gl_register_dup (fd, result);
-#  endif
-# else
-  result = dupfd (fd, desired_fd);
-# endif
-  if (result == -1 && (errno == EMFILE || errno == EINVAL))
-    errno = EBADF;
-  return result;
-}
-#endif /* !HAVE_DUP2 */
diff --git a/gltests/fdopen.c b/gltests/fdopen.c
deleted file mode 100644 (file)
index 6595b16..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Open a stream with a given file descriptor.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <stdio.h>
-
-#include <errno.h>
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-# include "msvc-inval.h"
-#endif
-
-#undef fdopen
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-static FILE *
-fdopen_nothrow (int fd, const char *mode)
-{
-  FILE *result;
-
-  TRY_MSVC_INVAL
-    {
-      result = fdopen (fd, mode);
-    }
-  CATCH_MSVC_INVAL
-    {
-      result = NULL;
-    }
-  DONE_MSVC_INVAL;
-
-  return result;
-}
-#else
-# define fdopen_nothrow fdopen
-#endif
-
-FILE *
-rpl_fdopen (int fd, const char *mode)
-{
-  int saved_errno = errno;
-  FILE *fp;
-
-  errno = 0;
-  fp = fdopen_nothrow (fd, mode);
-  if (fp == NULL)
-    {
-      if (errno == 0)
-        errno = EBADF;
-    }
-  else
-    errno = saved_errno;
-
-  return fp;
-}
diff --git a/gltests/fstat.c b/gltests/fstat.c
deleted file mode 100644 (file)
index ac2b1ef..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/* fstat() replacement.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* If the user's config.h happens to include <sys/stat.h>, let it include only
-   the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
-   rpl_fstat.  */
-#define __need_system_sys_stat_h
-#include <config.h>
-
-/* Get the original definition of fstat.  It might be defined as a macro.  */
-#include <sys/types.h>
-#include <sys/stat.h>
-#if _GL_WINDOWS_64_BIT_ST_SIZE
-# define stat _stati64
-# define fstat _fstati64
-#endif
-#undef __need_system_sys_stat_h
-
-static inline int
-orig_fstat (int fd, struct stat *buf)
-{
-  return fstat (fd, buf);
-}
-
-/* Specification.  */
-/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
-   eliminates this include because of the preliminary #include <sys/stat.h>
-   above.  */
-#include "sys/stat.h"
-
-#include <errno.h>
-#include <unistd.h>
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-# include "msvc-inval.h"
-#endif
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-static inline int
-fstat_nothrow (int fd, struct stat *buf)
-{
-  int result;
-
-  TRY_MSVC_INVAL
-    {
-      result = orig_fstat (fd, buf);
-    }
-  CATCH_MSVC_INVAL
-    {
-      result = -1;
-      errno = EBADF;
-    }
-  DONE_MSVC_INVAL;
-
-  return result;
-}
-#else
-# define fstat_nothrow orig_fstat
-#endif
-
-int
-rpl_fstat (int fd, struct stat *buf)
-{
-#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY
-  /* Handle the case when rpl_open() used a dummy file descriptor to work
-     around an open() that can't normally visit directories.  */
-  const char *name = _gl_directory_name (fd);
-  if (name != NULL)
-    return stat (name, buf);
-#endif
-
-  return fstat_nothrow (fd, buf);
-}
diff --git a/gltests/getcwd-lgpl.c b/gltests/getcwd-lgpl.c
deleted file mode 100644 (file)
index f1e821b..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
-   This file is part of gnulib.
-
-   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/>.  */
-
-#include <config.h>
-
-/* Specification */
-#include <unistd.h>
-
-#include <errno.h>
-#include <string.h>
-
-#if GNULIB_GETCWD
-/* Favor GPL getcwd.c if both getcwd and getcwd-lgpl modules are in use.  */
-typedef int dummy;
-#else
-
-/* Get the name of the current working directory, and put it in SIZE
-   bytes of BUF.  Returns NULL if the directory couldn't be determined
-   (perhaps because the absolute name was longer than PATH_MAX, or
-   because of missing read/search permissions on parent directories)
-   or SIZE was too small.  If successful, returns BUF.  If BUF is
-   NULL, an array is allocated with 'malloc'; the array is SIZE bytes
-   long, unless SIZE == 0, in which case it is as big as
-   necessary.  */
-
-# undef getcwd
-char *
-rpl_getcwd (char *buf, size_t size)
-{
-  char *ptr;
-  char *result;
-
-  /* Handle single size operations.  */
-  if (buf)
-    {
-      if (!size)
-        {
-          errno = EINVAL;
-          return NULL;
-        }
-      return getcwd (buf, size);
-    }
-
-  if (size)
-    {
-      buf = malloc (size);
-      if (!buf)
-        {
-          errno = ENOMEM;
-          return NULL;
-        }
-      result = getcwd (buf, size);
-      if (!result)
-        {
-          int saved_errno = errno;
-          free (buf);
-          errno = saved_errno;
-        }
-      return result;
-    }
-
-  /* Flexible sizing requested.  Avoid over-allocation for the common
-     case of a name that fits within a 4k page, minus some space for
-     local variables, to be sure we don't skip over a guard page.  */
-  {
-    char tmp[4032];
-    size = sizeof tmp;
-    ptr = getcwd (tmp, size);
-    if (ptr)
-      {
-        result = strdup (ptr);
-        if (!result)
-          errno = ENOMEM;
-        return result;
-      }
-    if (errno != ERANGE)
-      return NULL;
-  }
-
-  /* My what a large directory name we have.  */
-  do
-    {
-      size <<= 1;
-      ptr = realloc (buf, size);
-      if (ptr == NULL)
-        {
-          free (buf);
-          errno = ENOMEM;
-          return NULL;
-        }
-      buf = ptr;
-      result = getcwd (buf, size);
-    }
-  while (!result && errno == ERANGE);
-
-  if (!result)
-    {
-      int saved_errno = errno;
-      free (buf);
-      errno = saved_errno;
-    }
-  else
-    {
-      /* Trim to fit, if possible.  */
-      result = realloc (buf, strlen (buf) + 1);
-      if (!result)
-        result = buf;
-    }
-  return result;
-}
-
-#endif
diff --git a/gltests/ignore-value.h b/gltests/ignore-value.h
deleted file mode 100644 (file)
index 2e34435..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ignore a function return without a compiler warning
-
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Jim Meyering, Eric Blake and Pádraig Brady.  */
-
-/* Use "ignore_value" to avoid a warning when using a function declared with
-   gcc's warn_unused_result attribute, but for which you really do want to
-   ignore the result.  Traditionally, people have used a "(void)" cast to
-   indicate that a function's return value is deliberately unused.  However,
-   if the function is declared with __attribute__((warn_unused_result)),
-   gcc issues a warning even with the cast.
-
-   Caution: most of the time, you really should heed gcc's warning, and
-   check the return value.  However, in those exceptional cases in which
-   you're sure you know what you're doing, use this function.
-
-   For the record, here's one of the ignorable warnings:
-   "copy.c:233: warning: ignoring return value of 'fchown',
-   declared with attribute warn_unused_result".  */
-
-#ifndef _GL_IGNORE_VALUE_H
-# define _GL_IGNORE_VALUE_H
-
-/* The __attribute__((__warn_unused_result__)) feature
-   is available in gcc versions 3.4 and newer,
-   while the typeof feature has been available since 2.7 at least.  */
-# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
-#  define ignore_value(x) ((void) (x))
-# else
-#  define ignore_value(x) (({ __typeof__ (x) __x = (x); (void) __x; }))
-# endif
-
-#endif
diff --git a/gltests/init.sh b/gltests/init.sh
deleted file mode 100644 (file)
index f525a7c..0000000
+++ /dev/null
@@ -1,590 +0,0 @@
-# source this file; set up for tests
-
-# Copyright (C) 2009-2012 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
-# 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/>.
-
-# Using this file in a test
-# =========================
-#
-# The typical skeleton of a test looks like this:
-#
-#   #!/bin/sh
-#   . "${srcdir=.}/init.sh"; path_prepend_ .
-#   Execute some commands.
-#   Note that these commands are executed in a subdirectory, therefore you
-#   need to prepend "../" to relative filenames in the build directory.
-#   Note that the "path_prepend_ ." is useful only if the body of your
-#   test invokes programs residing in the initial directory.
-#   For example, if the programs you want to test are in src/, and this test
-#   script is named tests/test-1, then you would use "path_prepend_ ../src",
-#   or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH"
-#   to all tests via automake's TESTS_ENVIRONMENT.
-#   Set the exit code 0 for success, 77 for skipped, or 1 or other for failure.
-#   Use the skip_ and fail_ functions to print a diagnostic and then exit
-#   with the corresponding exit code.
-#   Exit $?
-
-# Executing a test that uses this file
-# ====================================
-#
-# Running a single test:
-#   $ make check TESTS=test-foo.sh
-#
-# Running a single test, with verbose output:
-#   $ make check TESTS=test-foo.sh VERBOSE=yes
-#
-# Running a single test, with single-stepping:
-#   1. Go into a sub-shell:
-#   $ bash
-#   2. Set relevant environment variables from TESTS_ENVIRONMENT in the
-#      Makefile:
-#   $ export srcdir=../../tests # this is an example
-#   3. Execute the commands from the test, copy&pasting them one by one:
-#   $ . "$srcdir/init.sh"; path_prepend_ .
-#   ...
-#   4. Finally
-#   $ exit
-
-ME_=`expr "./$0" : '.*/\(.*\)$'`
-
-# We use a trap below for cleanup.  This requires us to go through
-# hoops to get the right exit status transported through the handler.
-# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests.
-# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
-# sh inside this function.
-Exit () { set +e; (exit $1); exit $1; }
-
-# Print warnings (e.g., about skipped and failed tests) to this file number.
-# Override by defining to say, 9, in init.cfg, and putting say,
-#   export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2
-# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file.
-# This is useful when using automake's parallel tests mode, to print
-# the reason for skip/failure to console, rather than to the .log files.
-: ${stderr_fileno_=2}
-
-# Note that correct expansion of "$*" depends on IFS starting with ' '.
-# Always write the full diagnostic to stderr.
-# When stderr_fileno_ is not 2, also emit the first line of the
-# diagnostic to that file descriptor.
-warn_ ()
-{
-  # If IFS does not start with ' ', set it and emit the warning in a subshell.
-  case $IFS in
-    ' '*) printf '%s\n' "$*" >&2
-          test $stderr_fileno_ = 2 \
-            || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
-    *) (IFS=' '; warn_ "$@");;
-  esac
-}
-fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
-skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
-fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
-framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
-
-# 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
-  emulate sh
-  NULLCMD=:
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-    *posix*) set -o posix ;;
-  esac
-fi
-
-# We require $(...) support unconditionally.
-# We require a few additional shell features only when $EXEEXT is nonempty,
-# in order to support automatic $EXEEXT emulation:
-# - hyphen-containing alias names
-# - we prefer to use ${var#...} substitution, rather than having
-#   to work around lack of support for that feature.
-# The following code attempts to find a shell with support for these features.
-# If the current shell passes the test, we're done.  Otherwise, test other
-# shells until we find one that passes.  If one is found, re-exec it.
-# If no acceptable shell is found, skip the current test.
-#
-# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that
-# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do.
-#
-# Use "9" to indicate success (rather than 0), in case some shell acts
-# like Solaris 10's /bin/sh but exits successfully instead of with status 2.
-
-# Eval this code in a subshell to determine a shell's suitability.
-# 10 - passes all tests; ok to use
-#  9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
-#  ? - not ok
-gl_shell_test_script_='
-test $(echo y) = y || 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
-fi
-test -z "$EXEEXT" && exit $score_
-shopt -s expand_aliases
-alias a-b="echo zoo"
-v=abx
-     test ${v%x} = ab \
-  && test ${v#a} = bx \
-  && test $(a-b) = zoo \
-  && exit $score_
-'
-
-if test "x$1" = "x--no-reexec"; then
-  shift
-else
-  # Assume a working shell.  Export to subshells (setup_ needs this).
-  gl_set_x_corrupts_stderr_=false
-  export gl_set_x_corrupts_stderr_
-
-  # Record the first marginally acceptable shell.
-  marginal_=
-
-  # Search for a shell that meets our requirements.
-  for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \
-      /bin/sh bash dash zsh pdksh fail
-  do
-    test "$re_shell_" = no_shell && continue
-
-    # If we've made it all the way to the sentinel, "fail" without
-    # finding even a marginal shell, skip this test.
-    if test "$re_shell_" = fail; then
-      test -z "$marginal_" && skip_ failed to find an adequate shell
-      re_shell_=$marginal_
-      break
-    fi
-
-    # When testing the current shell, simply "eval" the test code.
-    # Otherwise, run it via $re_shell_ -c ...
-    if test "$re_shell_" = __current__; then
-      # 'eval'ing this code makes Solaris 10's /bin/sh exit with
-      # $? set to 2.  It does not evaluate any of the code after the
-      # "unexpected" first '('.  Thus, we must run it in a subshell.
-      ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
-    else
-      "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
-    fi
-
-    st_=$?
-
-    # $re_shell_ works just fine.  Use it.
-    if test $st_ = 10; then
-      gl_set_x_corrupts_stderr_=false
-      break
-    fi
-
-    # If this is our first marginally acceptable shell, remember it.
-    if test "$st_:$marginal_" = 9: ; then
-      marginal_="$re_shell_"
-      gl_set_x_corrupts_stderr_=true
-    fi
-  done
-
-  if test "$re_shell_" != __current__; then
-    # Found a usable shell.  Preserve -v and -x.
-    case $- in
-      *v*x* | *x*v*) opts_=-vx ;;
-      *v*) opts_=-v ;;
-      *x*) opts_=-x ;;
-      *) opts_= ;;
-    esac
-    exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
-    echo "$ME_: exec failed" 1>&2
-    exit 127
-  fi
-fi
-
-# If this is bash, turn off all aliases.
-test -n "$BASH_VERSION" && unalias -a
-
-# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
-# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
-# That is part of the shell-selection test above.  Why use aliases rather
-# than functions?  Because support for hyphen-containing aliases is more
-# widespread than that for hyphen-containing function names.
-test -n "$EXEEXT" && shopt -s expand_aliases
-
-# Enable glibc's malloc-perturbing option.
-# This is useful for exposing code that depends on the fact that
-# malloc-related functions often return memory that is mostly zeroed.
-# If you have the time and cycles, use valgrind to do an even better job.
-: ${MALLOC_PERTURB_=87}
-export MALLOC_PERTURB_
-
-# This is a stub function that is run upon trap (upon regular exit and
-# interrupt).  Override it with a per-test function, e.g., to unmount
-# a partition, or to undo any other global state changes.
-cleanup_ () { :; }
-
-# Emit a header similar to that from diff -u;  Print the simulated "diff"
-# command so that the order of arguments is clear.  Don't bother with @@ lines.
-emit_diff_u_header_ ()
-{
-  printf '%s\n' "diff -u $*" \
-    "--- $1    1970-01-01" \
-    "+++ $2    1970-01-01"
-}
-
-# Arrange not to let diff or cmp operate on /dev/null,
-# since on some systems (at least OSF/1 5.1), that doesn't work.
-# When there are not two arguments, or no argument is /dev/null, return 2.
-# When one argument is /dev/null and the other is not empty,
-# cat the nonempty file to stderr and return 1.
-# Otherwise, return 0.
-compare_dev_null_ ()
-{
-  test $# = 2 || return 2
-
-  if test "x$1" = x/dev/null; then
-    test -s "$2" || return 0
-    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
-    return 1
-  fi
-
-  if test "x$2" = x/dev/null; then
-    test -s "$1" || return 0
-    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
-    return 1
-  fi
-
-  return 2
-}
-
-if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
-   && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
-  # diff accepts the -u option and does not (like AIX 7 'diff') produce an
-  # extra space on column 1 of every content line.
-  if test -z "$diff_out_"; then
-    compare_ () { diff -u "$@"; }
-  else
-    compare_ ()
-    {
-      if diff -u "$@" > diff.out; then
-        # No differences were found, but Solaris 'diff' produces output
-        # "No differences encountered". Hide this output.
-        rm -f diff.out
-        true
-      else
-        cat diff.out
-        rm -f diff.out
-        false
-      fi
-    }
-  fi
-elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
-  if test -z "$diff_out_"; then
-    compare_ () { diff -c "$@"; }
-  else
-    compare_ ()
-    {
-      if diff -c "$@" > diff.out; then
-        # No differences were found, but AIX and HP-UX 'diff' produce output
-        # "No differences encountered" or "There are no differences between the
-        # files.". Hide this output.
-        rm -f diff.out
-        true
-      else
-        cat diff.out
-        rm -f diff.out
-        false
-      fi
-    }
-  fi
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare_ () { cmp -s "$@"; }
-else
-  compare_ () { cmp "$@"; }
-fi
-
-# Usage: compare EXPECTED ACTUAL
-#
-# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
-# Otherwise, propagate $? to caller: any diffs have already been printed.
-compare ()
-{
-  # This looks like it can be factored to use a simple "case $?"
-  # after unchecked compare_dev_null_ invocation, but that would
-  # fail in a "set -e" environment.
-  if compare_dev_null_ "$@"; then
-    return 0
-  else
-    case $? in
-      1) return 1;;
-      *) compare_ "$@";;
-    esac
-  fi
-}
-
-# An arbitrary prefix to help distinguish test directories.
-testdir_prefix_ () { printf gt; }
-
-# Run the user-overridable cleanup_ function, remove the temporary
-# directory and exit with the incoming value of $?.
-remove_tmp_ ()
-{
-  __st=$?
-  cleanup_
-  # cd out of the directory we're about to remove
-  cd "$initial_cwd_" || cd / || cd /tmp
-  chmod -R u+rwx "$test_dir_"
-  # If removal fails and exit status was to be 0, then change it to 1.
-  rm -rf "$test_dir_" || { test $__st = 0 && __st=1; }
-  exit $__st
-}
-
-# Given a directory name, DIR, if every entry in it that matches *.exe
-# contains only the specified bytes (see the case stmt below), then print
-# a space-separated list of those names and return 0.  Otherwise, don't
-# print anything and return 1.  Naming constraints apply also to DIR.
-find_exe_basenames_ ()
-{
-  feb_dir_=$1
-  feb_fail_=0
-  feb_result_=
-  feb_sp_=
-  for feb_file_ in $feb_dir_/*.exe; do
-    # If there was no *.exe file, or there existed a file named "*.exe" that
-    # was deleted between the above glob expansion and the existence test
-    # below, just skip it.
-    test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \
-      && continue
-    # Exempt [.exe, since we can't create a function by that name, yet
-    # we can't invoke [ by PATH search anyways due to shell builtins.
-    test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
-    case $feb_file_ in
-      *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
-      *) # Remove leading file name components as well as the .exe suffix.
-         feb_file_=${feb_file_##*/}
-         feb_file_=${feb_file_%.exe}
-         feb_result_="$feb_result_$feb_sp_$feb_file_";;
-    esac
-    feb_sp_=' '
-  done
-  test $feb_fail_ = 0 && printf %s "$feb_result_"
-  return $feb_fail_
-}
-
-# Consider the files in directory, $1.
-# For each file name of the form PROG.exe, create an alias named
-# PROG that simply invokes PROG.exe, then return 0.  If any selected
-# file name or the directory name, $1, contains an unexpected character,
-# define no alias and return 1.
-create_exe_shims_ ()
-{
-  case $EXEEXT in
-    '') return 0 ;;
-    .exe) ;;
-    *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;;
-  esac
-
-  base_names_=`find_exe_basenames_ $1` \
-    || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
-
-  if test -n "$base_names_"; then
-    for base_ in $base_names_; do
-      alias "$base_"="$base_$EXEEXT"
-    done
-  fi
-
-  return 0
-}
-
-# Use this function to prepend to PATH an absolute name for each
-# specified, possibly-$initial_cwd_-relative, directory.
-path_prepend_ ()
-{
-  while test $# != 0; do
-    path_dir_=$1
-    case $path_dir_ in
-      '') fail_ "invalid path dir: '$1'";;
-      /*) abs_path_dir_=$path_dir_;;
-      *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
-           || fail_ "invalid path dir: $path_dir_";;
-    esac
-    case $abs_path_dir_ in
-      *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
-    esac
-    PATH="$abs_path_dir_:$PATH"
-
-    # Create an alias, FOO, for each FOO.exe in this directory.
-    create_exe_shims_ "$abs_path_dir_" \
-      || fail_ "something failed (above): $abs_path_dir_"
-    shift
-  done
-  export PATH
-}
-
-setup_ ()
-{
-  if test "$VERBOSE" = yes; then
-    # Test whether set -x may cause the selected shell to corrupt an
-    # application's stderr.  Many do, including zsh-4.3.10 and the /bin/sh
-    # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5.
-    # If enabling verbose output this way would cause trouble, simply
-    # issue a warning and refrain.
-    if $gl_set_x_corrupts_stderr_; then
-      warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr"
-    else
-      set -x
-    fi
-  fi
-
-  initial_cwd_=$PWD
-  fail=0
-
-  pfx_=`testdir_prefix_`
-  test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
-    || fail_ "failed to create temporary directory in $initial_cwd_"
-  cd "$test_dir_"
-
-  # As autoconf-generated configure scripts do, ensure that IFS
-  # is defined initially, so that saving and restoring $IFS works.
-  gl_init_sh_nl_='
-'
-  IFS=" ""     $gl_init_sh_nl_"
-
-  # This trap statement, along with a trap on 0 below, ensure that the
-  # temporary directory, $test_dir_, is removed upon exit as well as
-  # upon receipt of any of the listed signals.
-  for sig_ in 1 2 3 13 15; do
-    eval "trap 'Exit $(expr $sig_ + 128)' $sig_"
-  done
-}
-
-# Create a temporary directory, much like mktemp -d does.
-# Written by Jim Meyering.
-#
-# Usage: mktempd_ /tmp phoey.XXXXXXXXXX
-#
-# First, try to use the mktemp program.
-# Failing that, we'll roll our own mktemp-like function:
-#  - try to get random bytes from /dev/urandom
-#  - failing that, generate output from a combination of quickly-varying
-#      sources and gzip.  Ignore non-varying gzip header, and extract
-#      "random" bits from there.
-#  - given those bits, map to file-name bytes using tr, and try to create
-#      the desired directory.
-#  - make only $MAX_TRIES_ attempts
-
-# Helper function.  Print $N pseudo-random bytes from a-zA-Z0-9.
-rand_bytes_ ()
-{
-  n_=$1
-
-  # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first?
-  # But if they have openssl, they probably have mktemp, too.
-
-  chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
-  dev_rand_=/dev/urandom
-  if test -r "$dev_rand_"; then
-    # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194.
-    dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \
-      | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
-    return
-  fi
-
-  n_plus_50_=`expr $n_ + 50`
-  cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
-  data_=` (eval "$cmds_") 2>&1 | gzip `
-
-  # Ensure that $data_ has length at least 50+$n_
-  while :; do
-    len_=`echo "$data_"|wc -c`
-    test $n_plus_50_ -le $len_ && break;
-    data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip `
-  done
-
-  echo "$data_" \
-    | dd bs=1 skip=50 count=$n_ 2>/dev/null \
-    | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
-}
-
-mktempd_ ()
-{
-  case $# in
-  2);;
-  *) fail_ "Usage: mktempd_ DIR TEMPLATE";;
-  esac
-
-  destdir_=$1
-  template_=$2
-
-  MAX_TRIES_=4
-
-  # Disallow any trailing slash on specified destdir:
-  # it would subvert the post-mktemp "case"-based destdir test.
-  case $destdir_ in
-  /) ;;
-  */) fail_ "invalid destination dir: remove trailing slash(es)";;
-  esac
-
-  case $template_ in
-  *XXXX) ;;
-  *) fail_ \
-       "invalid template: $template_ (must have a suffix of at least 4 X's)";;
-  esac
-
-  # First, try to use mktemp.
-  d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
-    || fail=1
-
-  # The resulting name must be in the specified directory.
-  case $d in "$destdir_"*);; *) fail=1;; esac
-
-  # It must have created the directory.
-  test -d "$d" || fail=1
-
-  # It must have 0700 permissions.  Handle sticky "S" bits.
-  perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1
-  case $perms in drwx------*) ;; *) fail=1;; esac
-
-  test $fail = 0 && {
-    echo "$d"
-    return
-  }
-
-  # If we reach this point, we'll have to create a directory manually.
-
-  # Get a copy of the template without its suffix of X's.
-  base_template_=`echo "$template_"|sed 's/XX*$//'`
-
-  # Calculate how many X's we've just removed.
-  template_length_=`echo "$template_" | wc -c`
-  nx_=`echo "$base_template_" | wc -c`
-  nx_=`expr $template_length_ - $nx_`
-
-  err_=
-  i_=1
-  while :; do
-    X_=`rand_bytes_ $nx_`
-    candidate_dir_="$destdir_/$base_template_$X_"
-    err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \
-      && { echo "$candidate_dir_"; return; }
-    test $MAX_TRIES_ -le $i_ && break;
-    i_=`expr $i_ + 1`
-  done
-  fail_ "$err_"
-}
-
-# If you want to override the testdir_prefix_ function,
-# or to add more utility functions, use this file.
-test -f "$srcdir/init.cfg" \
-  && . "$srcdir/init.cfg"
-
-setup_ "$@"
-# This trap is here, rather than in the setup_ function, because some
-# shells run the exit trap at shell function exit, rather than script exit.
-trap remove_tmp_ 0
diff --git a/gltests/lstat.c b/gltests/lstat.c
deleted file mode 100644 (file)
index db119a1..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Work around a bug of lstat on some systems
-
-   Copyright (C) 1997-2006, 2008-2012 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
-   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/>.  */
-
-/* written by Jim Meyering */
-
-/* If the user's config.h happens to include <sys/stat.h>, let it include only
-   the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to
-   rpl_lstat.  */
-#define __need_system_sys_stat_h
-#include <config.h>
-
-#if !HAVE_LSTAT
-/* On systems that lack symlinks, our replacement <sys/stat.h> already
-   defined lstat as stat, so there is nothing further to do other than
-   avoid an empty file.  */
-typedef int dummy;
-#else /* HAVE_LSTAT */
-
-/* Get the original definition of lstat.  It might be defined as a macro.  */
-# include <sys/types.h>
-# include <sys/stat.h>
-# undef __need_system_sys_stat_h
-
-static inline int
-orig_lstat (const char *filename, struct stat *buf)
-{
-  return lstat (filename, buf);
-}
-
-/* Specification.  */
-/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
-   eliminates this include because of the preliminary #include <sys/stat.h>
-   above.  */
-# include "sys/stat.h"
-
-# include <string.h>
-# include <errno.h>
-
-/* lstat works differently on Linux and Solaris systems.  POSIX (see
-   "pathname resolution" in the glossary) requires that programs like
-   'ls' take into consideration the fact that FILE has a trailing slash
-   when FILE is a symbolic link.  On Linux and Solaris 10 systems, the
-   lstat function already has the desired semantics (in treating
-   'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)',
-   but on Solaris 9 and earlier it does not.
-
-   If FILE has a trailing slash and specifies a symbolic link,
-   then use stat() to get more info on the referent of FILE.
-   If the referent is a non-directory, then set errno to ENOTDIR
-   and return -1.  Otherwise, return stat's result.  */
-
-int
-rpl_lstat (const char *file, struct stat *sbuf)
-{
-  size_t len;
-  int lstat_result = orig_lstat (file, sbuf);
-
-  if (lstat_result != 0)
-    return lstat_result;
-
-  /* This replacement file can blindly check against '/' rather than
-     using the ISSLASH macro, because all platforms with '\\' either
-     lack symlinks (mingw) or have working lstat (cygwin) and thus do
-     not compile this file.  0 len should have already been filtered
-     out above, with a failure return of ENOENT.  */
-  len = strlen (file);
-  if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode))
-    return 0;
-
-  /* At this point, a trailing slash is only permitted on
-     symlink-to-dir; but it should have found information on the
-     directory, not the symlink.  Call stat() to get info about the
-     link's referent.  Our replacement stat guarantees valid results,
-     even if the symlink is not pointing to a directory.  */
-  if (!S_ISLNK (sbuf->st_mode))
-    {
-      errno = ENOTDIR;
-      return -1;
-    }
-  return stat (file, sbuf);
-}
-
-#endif /* HAVE_LSTAT */
diff --git a/gltests/macros.h b/gltests/macros.h
deleted file mode 100644 (file)
index 478004c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Common macros used by gnulib tests.
-   Copyright (C) 2006-2012 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
-   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/>.  */
-
-
-/* This file contains macros that are used by many gnulib tests.
-   Put here only frequently used macros, say, used by 10 tests or more.  */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Define ASSERT_STREAM before including this file if ASSERT must
-   target a stream other than stderr.  */
-#ifndef ASSERT_STREAM
-# define ASSERT_STREAM stderr
-#endif
-
-/* ASSERT (condition);
-   verifies that the specified condition is fulfilled.  If not, a message
-   is printed to ASSERT_STREAM if defined (defaulting to stderr if
-   undefined) and the program is terminated with an error code.
-
-   This macro has the following properties:
-     - The programmer specifies the expected condition, not the failure
-       condition.  This simplifies thinking.
-     - The condition is tested always, regardless of compilation flags.
-       (Unlike the macro from <assert.h>.)
-     - On Unix platforms, the tester can debug the test program with a
-       debugger (provided core dumps are enabled: "ulimit -c unlimited").
-     - For the sake of platforms where no debugger is available (such as
-       some mingw systems), an error message is printed on the error
-       stream that includes the source location of the ASSERT invocation.
- */
-#define ASSERT(expr) \
-  do                                                                         \
-    {                                                                        \
-      if (!(expr))                                                           \
-        {                                                                    \
-          fprintf (ASSERT_STREAM, "%s:%d: assertion failed\n",               \
-                   __FILE__, __LINE__);                                      \
-          fflush (ASSERT_STREAM);                                            \
-          abort ();                                                          \
-        }                                                                    \
-    }                                                                        \
-  while (0)
-
-/* SIZEOF (array)
-   returns the number of elements of an array.  It works for arrays that are
-   declared outside functions and for local variables of array type.  It does
-   *not* work for function parameters of array type, because they are actually
-   parameters of pointer type.  */
-#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
-
-/* STREQ (str1, str2)
-   Return true if two strings compare equal.  */
-#define STREQ(a, b) (strcmp (a, b) == 0)
-
-/* Some numbers in the interval [0,1).  */
-extern const float randomf[1000];
-extern const double randomd[1000];
-extern const long double randoml[1000];
diff --git a/gltests/malloc.c b/gltests/malloc.c
deleted file mode 100644 (file)
index e0d5c89..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* malloc() function that is glibc compatible.
-
-   Copyright (C) 1997-1998, 2006-2007, 2009-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* written by Jim Meyering and Bruno Haible */
-
-#define _GL_USE_STDLIB_ALLOC 1
-#include <config.h>
-/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
-#ifdef malloc
-# define NEED_MALLOC_GNU 1
-# undef malloc
-/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU.  */
-#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
-# define NEED_MALLOC_GNU 1
-#endif
-
-#include <stdlib.h>
-
-#include <errno.h>
-
-/* Allocate an N-byte block of memory from the heap.
-   If N is zero, allocate a 1-byte block.  */
-
-void *
-rpl_malloc (size_t n)
-{
-  void *result;
-
-#if NEED_MALLOC_GNU
-  if (n == 0)
-    n = 1;
-#endif
-
-  result = malloc (n);
-
-#if !HAVE_MALLOC_POSIX
-  if (result == NULL)
-    errno = ENOMEM;
-#endif
-
-  return result;
-}
diff --git a/gltests/malloca.c b/gltests/malloca.c
deleted file mode 100644 (file)
index 1f7533a..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible <bruno@clisp.org>, 2003.
-
-   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, 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/>.  */
-
-#define _GL_USE_STDLIB_ALLOC 1
-#include <config.h>
-
-/* Specification.  */
-#include "malloca.h"
-
-#include <stdint.h>
-
-#include "verify.h"
-
-/* The speed critical point in this file is freea() applied to an alloca()
-   result: it must be fast, to match the speed of alloca().  The speed of
-   mmalloca() and freea() in the other case are not critical, because they
-   are only invoked for big memory sizes.  */
-
-#if HAVE_ALLOCA
-
-/* Store the mmalloca() results in a hash table.  This is needed to reliably
-   distinguish a mmalloca() result and an alloca() result.
-
-   Although it is possible that the same pointer is returned by alloca() and
-   by mmalloca() at different times in the same application, it does not lead
-   to a bug in freea(), because:
-     - Before a pointer returned by alloca() can point into malloc()ed memory,
-       the function must return, and once this has happened the programmer must
-       not call freea() on it anyway.
-     - Before a pointer returned by mmalloca() can point into the stack, it
-       must be freed.  The only function that can free it is freea(), and
-       when freea() frees it, it also removes it from the hash table.  */
-
-#define MAGIC_NUMBER 0x1415fb4a
-#define MAGIC_SIZE sizeof (int)
-/* This is how the header info would look like without any alignment
-   considerations.  */
-struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
-/* But the header's size must be a multiple of sa_alignment_max.  */
-#define HEADER_SIZE \
-  (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
-struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
-verify (HEADER_SIZE == sizeof (struct header));
-/* We make the hash table quite big, so that during lookups the probability
-   of empty hash buckets is quite high.  There is no need to make the hash
-   table resizable, because when the hash table gets filled so much that the
-   lookup becomes slow, it means that the application has memory leaks.  */
-#define HASH_TABLE_SIZE 257
-static void * mmalloca_results[HASH_TABLE_SIZE];
-
-#endif
-
-void *
-mmalloca (size_t n)
-{
-#if HAVE_ALLOCA
-  /* Allocate one more word, that serves as an indicator for malloc()ed
-     memory, so that freea() of an alloca() result is fast.  */
-  size_t nplus = n + HEADER_SIZE;
-
-  if (nplus >= n)
-    {
-      char *p = (char *) malloc (nplus);
-
-      if (p != NULL)
-        {
-          size_t slot;
-
-          p += HEADER_SIZE;
-
-          /* Put a magic number into the indicator word.  */
-          ((int *) p)[-1] = MAGIC_NUMBER;
-
-          /* Enter p into the hash table.  */
-          slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
-          mmalloca_results[slot] = p;
-
-          return p;
-        }
-    }
-  /* Out of memory.  */
-  return NULL;
-#else
-# if !MALLOC_0_IS_NONNULL
-  if (n == 0)
-    n = 1;
-# endif
-  return malloc (n);
-#endif
-}
-
-#if HAVE_ALLOCA
-void
-freea (void *p)
-{
-  /* mmalloca() may have returned NULL.  */
-  if (p != NULL)
-    {
-      /* Attempt to quickly distinguish the mmalloca() result - which has
-         a magic indicator word - and the alloca() result - which has an
-         uninitialized indicator word.  It is for this test that sa_increment
-         additional bytes are allocated in the alloca() case.  */
-      if (((int *) p)[-1] == MAGIC_NUMBER)
-        {
-          /* Looks like a mmalloca() result.  To see whether it really is one,
-             perform a lookup in the hash table.  */
-          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          void **chain = &mmalloca_results[slot];
-          for (; *chain != NULL;)
-            {
-              if (*chain == p)
-                {
-                  /* Found it.  Remove it from the hash table and free it.  */
-                  char *p_begin = (char *) p - HEADER_SIZE;
-                  *chain = ((struct header *) p_begin)->next;
-                  free (p_begin);
-                  return;
-                }
-              chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
-            }
-        }
-      /* At this point, we know it was not a mmalloca() result.  */
-    }
-}
-#endif
diff --git a/gltests/malloca.h b/gltests/malloca.h
deleted file mode 100644 (file)
index 0cedf5f..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible <bruno@clisp.org>, 2003.
-
-   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, 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/>.  */
-
-#ifndef _MALLOCA_H
-#define _MALLOCA_H
-
-#include <alloca.h>
-#include <stddef.h>
-#include <stdlib.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* safe_alloca(N) is equivalent to alloca(N) when it is safe to call
-   alloca(N); otherwise it returns NULL.  It either returns N bytes of
-   memory allocated on the stack, that lasts until the function returns,
-   or NULL.
-   Use of safe_alloca should be avoided:
-     - inside arguments of function calls - undefined behaviour,
-     - in inline functions - the allocation may actually last until the
-       calling function returns.
-*/
-#if HAVE_ALLOCA
-/* The OS usually guarantees only one guard page at the bottom of the stack,
-   and a page size can be as small as 4096 bytes.  So we cannot safely
-   allocate anything larger than 4096 bytes.  Also care for the possibility
-   of a few compiler-allocated temporary stack slots.
-   This must be a macro, not an inline function.  */
-# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
-#else
-# define safe_alloca(N) ((void) (N), NULL)
-#endif
-
-/* malloca(N) is a safe variant of alloca(N).  It allocates N bytes of
-   memory allocated on the stack, that must be freed using freea() before
-   the function returns.  Upon failure, it returns NULL.  */
-#if HAVE_ALLOCA
-# define malloca(N) \
-  ((N) < 4032 - sa_increment                                        \
-   ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
-   : mmalloca (N))
-#else
-# define malloca(N) \
-  mmalloca (N)
-#endif
-extern void * mmalloca (size_t n);
-
-/* Free a block of memory allocated through malloca().  */
-#if HAVE_ALLOCA
-extern void freea (void *p);
-#else
-# define freea free
-#endif
-
-/* nmalloca(N,S) is an overflow-safe variant of malloca (N * S).
-   It allocates an array of N objects, each with S bytes of memory,
-   on the stack.  S must be positive and N must be nonnegative.
-   The array must be freed using freea() before the function returns.  */
-#if 1
-/* Cf. the definition of xalloc_oversized.  */
-# define nmalloca(n, s) \
-    ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
-     ? NULL \
-     : malloca ((n) * (s)))
-#else
-extern void * nmalloca (size_t n, size_t s);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-/* ------------------- Auxiliary, non-public definitions ------------------- */
-
-/* Determine the alignment of a type at compile time.  */
-#if defined __GNUC__
-# define sa_alignof __alignof__
-#elif defined __cplusplus
-  template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
-# define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2)
-#elif defined __hpux
-  /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof
-     values.  */
-# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
-#elif defined _AIX
-  /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof
-     values.  */
-# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
-#else
-# define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
-#endif
-
-enum
-{
-/* The desired alignment of memory allocations is the maximum alignment
-   among all elementary types.  */
-  sa_alignment_long = sa_alignof (long),
-  sa_alignment_double = sa_alignof (double),
-#if HAVE_LONG_LONG_INT
-  sa_alignment_longlong = sa_alignof (long long),
-#endif
-  sa_alignment_longdouble = sa_alignof (long double),
-  sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
-#if HAVE_LONG_LONG_INT
-                      | (sa_alignment_longlong - 1)
-#endif
-                      | (sa_alignment_longdouble - 1)
-                     ) + 1,
-/* The increment that guarantees room for a magic word must be >= sizeof (int)
-   and a multiple of sa_alignment_max.  */
-  sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
-};
-
-#endif /* _MALLOCA_H */
diff --git a/gltests/malloca.valgrind b/gltests/malloca.valgrind
deleted file mode 100644 (file)
index 52f0a50..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in freea().
-# This use is OK because it provides only a speedup.
-{
-    freea
-    Memcheck:Cond
-    fun:freea
-}
diff --git a/gltests/putenv.c b/gltests/putenv.c
deleted file mode 100644 (file)
index 3c0f7ea..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2012 Free Software
-   Foundation, Inc.
-
-   NOTE: The canonical source of this file is maintained with the GNU C
-   Library.  Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-   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 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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <stddef.h>
-
-/* Include errno.h *after* sys/types.h to work around header problems
-   on AIX 3.2.5.  */
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#include <unistd.h>
-
-#if _LIBC
-# if HAVE_GNU_LD
-#  define environ __environ
-# else
-extern char **environ;
-# endif
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-static int
-_unsetenv (const char *name)
-{
-  size_t len;
-  char **ep;
-
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  len = strlen (name);
-
-  LOCK;
-
-  ep = environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-        /* Found it.  Remove this pointer by moving later ones back.  */
-        char **dp = ep;
-
-        do
-          dp[0] = dp[1];
-        while (*dp++);
-        /* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
-
-  UNLOCK;
-
-  return 0;
-}
-
-
-/* Put STRING, which is of the form "NAME=VALUE", in the environment.
-   If STRING contains no '=', then remove STRING from the environment.  */
-int
-putenv (char *string)
-{
-  const char *const name_end = strchr (string, '=');
-  register size_t size;
-  register char **ep;
-
-  if (name_end == NULL)
-    {
-      /* Remove the variable from the environment.  */
-      return _unsetenv (string);
-    }
-
-  size = 0;
-  for (ep = environ; *ep != NULL; ++ep)
-    if (!strncmp (*ep, string, name_end - string) &&
-        (*ep)[name_end - string] == '=')
-      break;
-    else
-      ++size;
-
-  if (*ep == NULL)
-    {
-      static char **last_environ = NULL;
-      char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
-      if (new_environ == NULL)
-        return -1;
-      (void) memcpy ((void *) new_environ, (void *) environ,
-                     size * sizeof (char *));
-      new_environ[size] = (char *) string;
-      new_environ[size + 1] = NULL;
-      free (last_environ);
-      last_environ = new_environ;
-      environ = new_environ;
-    }
-  else
-    *ep = string;
-
-  return 0;
-}
diff --git a/gltests/same-inode.h b/gltests/same-inode.h
deleted file mode 100644 (file)
index 8c3900d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Determine whether two stat buffers refer to the same file.
-
-   Copyright (C) 2006, 2009-2012 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
-   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/>.  */
-
-#ifndef SAME_INODE_H
-# define SAME_INODE_H 1
-
-# ifdef __VMS
-#  define SAME_INODE(a, b)             \
-    ((a).st_ino[0] == (b).st_ino[0]    \
-     && (a).st_ino[1] == (b).st_ino[1] \
-     && (a).st_ino[2] == (b).st_ino[2] \
-     && (a).st_dev == (b).st_dev)
-# else
-#  define SAME_INODE(a, b)    \
-    ((a).st_ino == (b).st_ino \
-     && (a).st_dev == (b).st_dev)
-# endif
-
-#endif
diff --git a/gltests/setenv.c b/gltests/setenv.c
deleted file mode 100644 (file)
index 8201be2..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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/>.  */
-
-#if !_LIBC
-# define _GL_USE_STDLIB_ALLOC 1
-# include <config.h>
-#endif
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-#include <alloca.h>
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#if _LIBC || HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#if !_LIBC
-# include "malloca.h"
-#endif
-
-#if _LIBC || !HAVE_SETENV
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define setenv __setenv
-# define clearenv __clearenv
-# define tfind __tfind
-# define tsearch __tsearch
-#endif
-
-/* In the GNU C library implementation we try to be more clever and
-   allow arbitrarily many changes of the environment given that the used
-   values are from a small set.  Outside glibc this will eat up all
-   memory after a while.  */
-#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
-                      && defined __GNUC__)
-# define USE_TSEARCH    1
-# include <search.h>
-typedef int (*compar_fn_t) (const void *, const void *);
-
-/* This is a pointer to the root of the search tree with the known
-   values.  */
-static void *known_values;
-
-# define KNOWN_VALUE(Str) \
-  ({                                                                          \
-    void *value = tfind (Str, &known_values, (compar_fn_t) strcmp);           \
-    value != NULL ? *(char **) value : NULL;                                  \
-  })
-# define STORE_VALUE(Str) \
-  tsearch (Str, &known_values, (compar_fn_t) strcmp)
-
-#else
-# undef USE_TSEARCH
-
-# define KNOWN_VALUE(Str) NULL
-# define STORE_VALUE(Str) do { } while (0)
-
-#endif
-
-
-/* If this variable is not a null pointer we allocated the current
-   environment.  */
-static char **last_environ;
-
-
-/* This function is used by 'setenv' and 'putenv'.  The difference between
-   the two functions is that for the former must create a new string which
-   is then placed in the environment, while the argument of 'putenv'
-   must be used directly.  This is all complicated by the fact that we try
-   to reuse values once generated for a 'setenv' call since we can never
-   free the strings.  */
-int
-__add_to_environ (const char *name, const char *value, const char *combined,
-                  int replace)
-{
-  char **ep;
-  size_t size;
-  const size_t namelen = strlen (name);
-  const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
-
-  LOCK;
-
-  /* We have to get the pointer now that we have the lock and not earlier
-     since another thread might have created a new environment.  */
-  ep = __environ;
-
-  size = 0;
-  if (ep != NULL)
-    {
-      for (; *ep != NULL; ++ep)
-        if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
-          break;
-        else
-          ++size;
-    }
-
-  if (ep == NULL || *ep == NULL)
-    {
-      char **new_environ;
-#ifdef USE_TSEARCH
-      char *new_value;
-#endif
-
-      /* We allocated this space; we can extend it.  */
-      new_environ =
-        (char **) (last_environ == NULL
-                   ? malloc ((size + 2) * sizeof (char *))
-                   : realloc (last_environ, (size + 2) * sizeof (char *)));
-      if (new_environ == NULL)
-        {
-          /* It's easier to set errno to ENOMEM than to rely on the
-             'malloc-posix' and 'realloc-posix' gnulib modules.  */
-          __set_errno (ENOMEM);
-          UNLOCK;
-          return -1;
-        }
-
-      /* If the whole entry is given add it.  */
-      if (combined != NULL)
-        /* We must not add the string to the search tree since it belongs
-           to the user.  */
-        new_environ[size] = (char *) combined;
-      else
-        {
-          /* See whether the value is already known.  */
-#ifdef USE_TSEARCH
-# ifdef _LIBC
-          new_value = (char *) alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = (char *) malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          new_environ[size] = KNOWN_VALUE (new_value);
-          if (new_environ[size] == NULL)
-#endif
-            {
-              new_environ[size] = (char *) malloc (namelen + 1 + vallen);
-              if (new_environ[size] == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (new_environ[size], new_value, namelen + 1 + vallen);
-#else
-              memcpy (new_environ[size], name, namelen);
-              new_environ[size][namelen] = '=';
-              memcpy (&new_environ[size][namelen + 1], value, vallen);
-#endif
-              /* And save the value now.  We cannot do this when we remove
-                 the string since then we cannot decide whether it is a
-                 user string or not.  */
-              STORE_VALUE (new_environ[size]);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      if (__environ != last_environ)
-        memcpy ((char *) new_environ, (char *) __environ,
-                size * sizeof (char *));
-
-      new_environ[size + 1] = NULL;
-
-      last_environ = __environ = new_environ;
-    }
-  else if (replace)
-    {
-      char *np;
-
-      /* Use the user string if given.  */
-      if (combined != NULL)
-        np = (char *) combined;
-      else
-        {
-#ifdef USE_TSEARCH
-          char *new_value;
-# ifdef _LIBC
-          new_value = alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          np = KNOWN_VALUE (new_value);
-          if (np == NULL)
-#endif
-            {
-              np = (char *) malloc (namelen + 1 + vallen);
-              if (np == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (np, new_value, namelen + 1 + vallen);
-#else
-              memcpy (np, name, namelen);
-              np[namelen] = '=';
-              memcpy (&np[namelen + 1], value, vallen);
-#endif
-              /* And remember the value.  */
-              STORE_VALUE (np);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      *ep = np;
-    }
-
-  UNLOCK;
-
-  return 0;
-}
-
-int
-setenv (const char *name, const char *value, int replace)
-{
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return __add_to_environ (name, value, NULL, replace);
-}
-
-/* The 'clearenv' was planned to be added to POSIX.1 but probably
-   never made it.  Nevertheless the POSIX.9 standard (POSIX bindings
-   for Fortran 77) requires this function.  */
-int
-clearenv (void)
-{
-  LOCK;
-
-  if (__environ == last_environ && __environ != NULL)
-    {
-      /* We allocated this environment so we can free it.  */
-      free (__environ);
-      last_environ = NULL;
-    }
-
-  /* Clear the environment pointer removes the whole environment.  */
-  __environ = NULL;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-static void
-free_mem (void)
-{
-  /* Remove all traces.  */
-  clearenv ();
-
-  /* Now remove the search tree.  */
-  __tdestroy (known_values, free);
-  known_values = NULL;
-}
-text_set_element (__libc_subfreeres, free_mem);
-
-
-# undef setenv
-# undef clearenv
-weak_alias (__setenv, setenv)
-weak_alias (__clearenv, clearenv)
-#endif
-
-#endif /* _LIBC || !HAVE_SETENV */
-
-/* The rest of this file is called into use when replacing an existing
-   but buggy setenv.  Known bugs include failure to diagnose invalid
-   name, and consuming a leading '=' from value.  */
-#if HAVE_SETENV
-
-# undef setenv
-# if !HAVE_DECL_SETENV
-extern int setenv (const char *, const char *, int);
-# endif
-# define STREQ(a, b) (strcmp (a, b) == 0)
-
-int
-rpl_setenv (const char *name, const char *value, int replace)
-{
-  int result;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  /* Call the real setenv even if replace is 0, in case implementation
-     has underlying data to update, such as when environ changes.  */
-  result = setenv (name, value, replace);
-  if (result == 0 && replace && *value == '=')
-    {
-      char *tmp = getenv (name);
-      if (!STREQ (tmp, value))
-        {
-          int saved_errno;
-          size_t len = strlen (value);
-          tmp = malloca (len + 2);
-          /* Since leading '=' is eaten, double it up.  */
-          *tmp = '=';
-          memcpy (tmp + 1, value, len + 1);
-          result = setenv (name, tmp, replace);
-          saved_errno = errno;
-          freea (tmp);
-          errno = saved_errno;
-        }
-    }
-  return result;
-}
-
-#endif /* HAVE_SETENV */
diff --git a/gltests/signature.h b/gltests/signature.h
deleted file mode 100644 (file)
index d9d8b47..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Macro for checking that a function declaration is compliant.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-#ifndef SIGNATURE_CHECK
-
-/* Check that the function FN takes the specified arguments ARGS with
-   a return type of RET.  This header is designed to be included after
-   <config.h> and the one system header that is supposed to contain
-   the function being checked, but prior to any other system headers
-   that are necessary for the unit test.  Therefore, this file does
-   not include any system headers, nor reference anything outside of
-   the macro arguments.  For an example, if foo.h should provide:
-
-   extern int foo (char, float);
-
-   then the unit test named test-foo.c would start out with:
-
-   #include <config.h>
-   #include <foo.h>
-   #include "signature.h"
-   SIGNATURE_CHECK (foo, int, (char, float));
-   #include <other.h>
-   ...
-*/
-# define SIGNATURE_CHECK(fn, ret, args) \
-  SIGNATURE_CHECK1 (fn, ret, args, __LINE__)
-
-/* Necessary to allow multiple SIGNATURE_CHECK lines in a unit test.
-   Note that the checks must not occupy the same line.  */
-# define SIGNATURE_CHECK1(fn, ret, args, id) \
-  SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */
-# define SIGNATURE_CHECK2(fn, ret, args, id) \
-  static ret (* _GL_UNUSED signature_check ## id) args = fn
-
-#endif /* SIGNATURE_CHECK */
diff --git a/gltests/stat.c b/gltests/stat.c
deleted file mode 100644 (file)
index 1fc633e..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Work around platform bugs in stat.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* written by Eric Blake */
-
-/* If the user's config.h happens to include <sys/stat.h>, let it include only
-   the system's <sys/stat.h> here, so that orig_stat doesn't recurse to
-   rpl_stat.  */
-#define __need_system_sys_stat_h
-#include <config.h>
-
-/* Get the original definition of stat.  It might be defined as a macro.  */
-#include <sys/types.h>
-#include <sys/stat.h>
-#undef __need_system_sys_stat_h
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# if _GL_WINDOWS_64_BIT_ST_SIZE
-#  define stat _stati64
-#  define REPLACE_FUNC_STAT_DIR 1
-#  undef REPLACE_FUNC_STAT_FILE
-# elif REPLACE_FUNC_STAT_FILE
-/* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a.
-   Bypass it.  */
-#  define stat _stat
-#  define REPLACE_FUNC_STAT_DIR 1
-#  undef REPLACE_FUNC_STAT_FILE
-# endif
-#endif
-
-static inline int
-orig_stat (const char *filename, struct stat *buf)
-{
-  return stat (filename, buf);
-}
-
-/* Specification.  */
-/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
-   eliminates this include because of the preliminary #include <sys/stat.h>
-   above.  */
-#include "sys/stat.h"
-
-#include <errno.h>
-#include <limits.h>
-#include <stdbool.h>
-#include <string.h>
-#include "dosname.h"
-#include "verify.h"
-
-#if REPLACE_FUNC_STAT_DIR
-# include "pathmax.h"
-  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
-     have a constant PATH_MAX.  */
-# ifndef PATH_MAX
-#  error "Please port this replacement to your platform"
-# endif
-#endif
-
-/* Store information about NAME into ST.  Work around bugs with
-   trailing slashes.  Mingw has other bugs (such as st_ino always
-   being 0 on success) which this wrapper does not work around.  But
-   at least this implementation provides the ability to emulate fchdir
-   correctly.  */
-
-int
-rpl_stat (char const *name, struct stat *st)
-{
-  int result = orig_stat (name, st);
-#if REPLACE_FUNC_STAT_FILE
-  /* Solaris 9 mistakenly succeeds when given a non-directory with a
-     trailing slash.  */
-  if (result == 0 && !S_ISDIR (st->st_mode))
-    {
-      size_t len = strlen (name);
-      if (ISSLASH (name[len - 1]))
-        {
-          errno = ENOTDIR;
-          return -1;
-        }
-    }
-#endif /* REPLACE_FUNC_STAT_FILE */
-#if REPLACE_FUNC_STAT_DIR
-
-  if (result == -1 && errno == ENOENT)
-    {
-      /* Due to mingw's oddities, there are some directories (like
-         c:\) where stat() only succeeds with a trailing slash, and
-         other directories (like c:\windows) where stat() only
-         succeeds without a trailing slash.  But we want the two to be
-         synonymous, since chdir() manages either style.  Likewise, Mingw also
-         reports ENOENT for names longer than PATH_MAX, when we want
-         ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR.
-         Fortunately, mingw PATH_MAX is small enough for stack
-         allocation.  */
-      char fixed_name[PATH_MAX + 1] = {0};
-      size_t len = strlen (name);
-      bool check_dir = false;
-      verify (PATH_MAX <= 4096);
-      if (PATH_MAX <= len)
-        errno = ENAMETOOLONG;
-      else if (len)
-        {
-          strcpy (fixed_name, name);
-          if (ISSLASH (fixed_name[len - 1]))
-            {
-              check_dir = true;
-              while (len && ISSLASH (fixed_name[len - 1]))
-                fixed_name[--len] = '\0';
-              if (!len)
-                fixed_name[0] = '/';
-            }
-          else
-            fixed_name[len++] = '/';
-          result = orig_stat (fixed_name, st);
-          if (result == 0 && check_dir && !S_ISDIR (st->st_mode))
-            {
-              result = -1;
-              errno = ENOTDIR;
-            }
-        }
-    }
-#endif /* REPLACE_FUNC_STAT_DIR */
-  return result;
-}
diff --git a/gltests/stdbool.in.h b/gltests/stdbool.in.h
deleted file mode 100644 (file)
index ed1f9aa..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
-
-   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, 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/>.  */
-
-#ifndef _GL_STDBOOL_H
-#define _GL_STDBOOL_H
-
-/* ISO C 99 <stdbool.h> for platforms that lack it.  */
-
-/* Usage suggestions:
-
-   Programs that use <stdbool.h> should be aware of some limitations
-   and standards compliance issues.
-
-   Standards compliance:
-
-       - <stdbool.h> must be #included before 'bool', 'false', 'true'
-         can be used.
-
-       - You cannot assume that sizeof (bool) == 1.
-
-       - Programs should not undefine the macros bool, true, and false,
-         as C99 lists that as an "obsolescent feature".
-
-   Limitations of this substitute, when used in a C89 environment:
-
-       - <stdbool.h> must be #included before the '_Bool' type can be used.
-
-       - You cannot assume that _Bool is a typedef; it might be a macro.
-
-       - Bit-fields of type 'bool' are not supported.  Portable code
-         should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
-
-       - In C99, casts and automatic conversions to '_Bool' or 'bool' are
-         performed in such a way that every nonzero value gets converted
-         to 'true', and zero gets converted to 'false'.  This doesn't work
-         with this substitute.  With this substitute, only the values 0 and 1
-         give the expected result when converted to _Bool' or 'bool'.
-
-       - C99 allows the use of (_Bool)0.0 in constant expressions, but
-         this substitute cannot always provide this property.
-
-   Also, it is suggested that programs use 'bool' rather than '_Bool';
-   this isn't required, but 'bool' is more common.  */
-
-
-/* 7.16. Boolean type and values */
-
-/* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
-   definitions below, but temporarily we have to #undef them.  */
-#if defined __BEOS__ && !defined __HAIKU__
-# include <OS.h> /* defines bool but not _Bool */
-# undef false
-# undef true
-#endif
-
-/* For the sake of symbolic names in gdb, we define true and false as
-   enum constants, not only as macros.
-   It is tempting to write
-      typedef enum { false = 0, true = 1 } _Bool;
-   so that gdb prints values of type 'bool' symbolically. But if we do
-   this, values of type '_Bool' may promote to 'int' or 'unsigned int'
-   (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
-   (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
-   enum; this ensures that '_Bool' promotes to 'int'.  */
-#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
-  /* A compiler known to have 'bool'.  */
-  /* If the compiler already has both 'bool' and '_Bool', we can assume they
-     are the same types.  */
-# if !@HAVE__BOOL@
-typedef bool _Bool;
-# endif
-#else
-# if !defined __GNUC__
-   /* If @HAVE__BOOL@:
-        Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
-        the built-in _Bool type is used.  See
-          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
-        Similar bugs are likely with other compilers as well; this file
-        wouldn't be used if <stdbool.h> was working.
-        So we override the _Bool type.
-      If !@HAVE__BOOL@:
-        Need to define _Bool ourselves. As 'signed char' or as an enum type?
-        Use of a typedef, with SunPRO C, leads to a stupid
-          "warning: _Bool is a keyword in ISO C99".
-        Use of an enum type, with IRIX cc, leads to a stupid
-          "warning(1185): enumerated type mixed with another type".
-        Even the existence of an enum type, without a typedef,
-          "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
-        The only benefit of the enum, debuggability, is not important
-        with these compilers.  So use 'signed char' and no enum.  */
-#  define _Bool signed char
-# else
-   /* With this compiler, trust the _Bool type if the compiler has it.  */
-#  if !@HAVE__BOOL@
-typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
-#  endif
-# endif
-#endif
-#define bool _Bool
-
-/* The other macros must be usable in preprocessor directives.  */
-#define false 0
-#define true 1
-#define __bool_true_false_are_defined 1
-
-#endif /* _GL_STDBOOL_H */
diff --git a/gltests/stdint.in.h b/gltests/stdint.in.h
deleted file mode 100644 (file)
index 59c00d5..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-/* Copyright (C) 2001-2002, 2004-2012 Free Software Foundation, Inc.
-   Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
-   This file is part of gnulib.
-
-   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, 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/>.  */
-
-/*
- * ISO C 99 <stdint.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/stdint.h.html>
- */
-
-#ifndef _@GUARD_PREFIX@_STDINT_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* When including a system file that in turn includes <inttypes.h>,
-   use the system <inttypes.h>, not our substitute.  This avoids
-   problems with (for example) VMS, whose <sys/bitypes.h> includes
-   <inttypes.h>.  */
-#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-
-/* On Android (Bionic libc), <sys/types.h> includes this file before
-   having defined 'time_t'.  Therefore in this case avoid including
-   other system header files; just include the system's <stdint.h>.
-   Ideally we should test __BIONIC__ here, but it is only defined after
-   <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
-#if defined __ANDROID__ \
-    && defined _SYS_TYPES_H_ && !defined _SSIZE_T_DEFINED_
-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
-#else
-
-/* Get those types that are already defined in other system include
-   files, so that we can "#define int8_t signed char" below without
-   worrying about a later system include file containing a "typedef
-   signed char int8_t;" that will get messed up by our macro.  Our
-   macros should all be consistent with the system versions, except
-   for the "fast" types and macros, which we recommend against using
-   in public interfaces due to compiler differences.  */
-
-#if @HAVE_STDINT_H@
-# if defined __sgi && ! defined __c99
-   /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
-      with "This header file is to be used only for c99 mode compilations"
-      diagnostics.  */
-#  define __STDINT_H__
-# endif
-
-  /* Some pre-C++11 <stdint.h> implementations need this.  */
-# ifdef __cplusplus
-#  ifndef __STDC_CONSTANT_MACROS
-#   define __STDC_CONSTANT_MACROS 1
-#  endif
-#  ifndef __STDC_LIMIT_MACROS
-#   define __STDC_LIMIT_MACROS 1
-#  endif
-# endif
-
-  /* Other systems may have an incomplete or buggy <stdint.h>.
-     Include it before <inttypes.h>, since any "#include <stdint.h>"
-     in <inttypes.h> would reinclude us, skipping our contents because
-     _@GUARD_PREFIX@_STDINT_H is defined.
-     The include_next requires a split double-inclusion guard.  */
-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
-#endif
-
-#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-#define _@GUARD_PREFIX@_STDINT_H
-
-/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
-   IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
-   AIX 5.2 <sys/types.h> isn't needed and causes troubles.
-   MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
-   relies on the system <stdint.h> definitions, so include
-   <sys/types.h> after @NEXT_STDINT_H@.  */
-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
-# include <sys/types.h>
-#endif
-
-/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
-   LONG_MIN, LONG_MAX, ULONG_MAX.  */
-#include <limits.h>
-
-#if @HAVE_INTTYPES_H@
-  /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
-     int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
-     <inttypes.h> also defines intptr_t and uintptr_t.  */
-# include <inttypes.h>
-#elif @HAVE_SYS_INTTYPES_H@
-  /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
-     the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
-# include <sys/inttypes.h>
-#endif
-
-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
-  /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
-     int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
-     included by <sys/types.h>.  */
-# include <sys/bitypes.h>
-#endif
-
-#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-
-/* Minimum and maximum values for an integer type under the usual assumption.
-   Return an unspecified value if BITS == 0, adding a check to pacify
-   picky compilers.  */
-
-#define _STDINT_MIN(signed, bits, zero) \
-  ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
-
-#define _STDINT_MAX(signed, bits, zero) \
-  ((signed) \
-   ? ~ _STDINT_MIN (signed, bits, zero) \
-   : /* The expression for the unsigned case.  The subtraction of (signed) \
-        is a nop in the unsigned case and avoids "signed integer overflow" \
-        warnings in the signed case.  */ \
-     ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
-
-#if !GNULIB_defined_stdint_types
-
-/* 7.18.1.1. Exact-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits.  */
-
-#undef int8_t
-#undef uint8_t
-typedef signed char gl_int8_t;
-typedef unsigned char gl_uint8_t;
-#define int8_t gl_int8_t
-#define uint8_t gl_uint8_t
-
-#undef int16_t
-#undef uint16_t
-typedef short int gl_int16_t;
-typedef unsigned short int gl_uint16_t;
-#define int16_t gl_int16_t
-#define uint16_t gl_uint16_t
-
-#undef int32_t
-#undef uint32_t
-typedef int gl_int32_t;
-typedef unsigned int gl_uint32_t;
-#define int32_t gl_int32_t
-#define uint32_t gl_uint32_t
-
-/* If the system defines INT64_MAX, assume int64_t works.  That way,
-   if the underlying platform defines int64_t to be a 64-bit long long
-   int, the code below won't mistakenly define it to be a 64-bit long
-   int, which would mess up C++ name mangling.  We must use #ifdef
-   rather than #if, to avoid an error with HP-UX 10.20 cc.  */
-
-#ifdef INT64_MAX
-# define GL_INT64_T
-#else
-/* Do not undefine int64_t if gnulib is not being used with 64-bit
-   types, since otherwise it breaks platforms like Tandem/NSK.  */
-# if LONG_MAX >> 31 >> 31 == 1
-#  undef int64_t
-typedef long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif defined _MSC_VER
-#  undef int64_t
-typedef __int64 gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif @HAVE_LONG_LONG_INT@
-#  undef int64_t
-typedef long long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# endif
-#endif
-
-#ifdef UINT64_MAX
-# define GL_UINT64_T
-#else
-# if ULONG_MAX >> 31 >> 31 >> 1 == 1
-#  undef uint64_t
-typedef unsigned long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# elif defined _MSC_VER
-#  undef uint64_t
-typedef unsigned __int64 gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@
-#  undef uint64_t
-typedef unsigned long long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# endif
-#endif
-
-/* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
-#define _UINT8_T
-#define _UINT32_T
-#define _UINT64_T
-
-
-/* 7.18.1.2. Minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
-   are the same as the corresponding N_t types.  */
-
-#undef int_least8_t
-#undef uint_least8_t
-#undef int_least16_t
-#undef uint_least16_t
-#undef int_least32_t
-#undef uint_least32_t
-#undef int_least64_t
-#undef uint_least64_t
-#define int_least8_t int8_t
-#define uint_least8_t uint8_t
-#define int_least16_t int16_t
-#define uint_least16_t uint16_t
-#define int_least32_t int32_t
-#define uint_least32_t uint32_t
-#ifdef GL_INT64_T
-# define int_least64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_least64_t uint64_t
-#endif
-
-/* 7.18.1.3. Fastest minimum-width integer types */
-
-/* Note: Other <stdint.h> substitutes may define these types differently.
-   It is not recommended to use these types in public header files. */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
-   are taken from the same list of types.  The following code normally
-   uses types consistent with glibc, as that lessens the chance of
-   incompatibility with older GNU hosts.  */
-
-#undef int_fast8_t
-#undef uint_fast8_t
-#undef int_fast16_t
-#undef uint_fast16_t
-#undef int_fast32_t
-#undef uint_fast32_t
-#undef int_fast64_t
-#undef uint_fast64_t
-typedef signed char gl_int_fast8_t;
-typedef unsigned char gl_uint_fast8_t;
-
-#ifdef __sun
-/* Define types compatible with SunOS 5.10, so that code compiled under
-   earlier SunOS versions works with code compiled under SunOS 5.10.  */
-typedef int gl_int_fast32_t;
-typedef unsigned int gl_uint_fast32_t;
-#else
-typedef long int gl_int_fast32_t;
-typedef unsigned long int gl_uint_fast32_t;
-#endif
-typedef gl_int_fast32_t gl_int_fast16_t;
-typedef gl_uint_fast32_t gl_uint_fast16_t;
-
-#define int_fast8_t gl_int_fast8_t
-#define uint_fast8_t gl_uint_fast8_t
-#define int_fast16_t gl_int_fast16_t
-#define uint_fast16_t gl_uint_fast16_t
-#define int_fast32_t gl_int_fast32_t
-#define uint_fast32_t gl_uint_fast32_t
-#ifdef GL_INT64_T
-# define int_fast64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_fast64_t uint64_t
-#endif
-
-/* 7.18.1.4. Integer types capable of holding object pointers */
-
-#undef intptr_t
-#undef uintptr_t
-typedef long int gl_intptr_t;
-typedef unsigned long int gl_uintptr_t;
-#define intptr_t gl_intptr_t
-#define uintptr_t gl_uintptr_t
-
-/* 7.18.1.5. Greatest-width integer types */
-
-/* Note: These types are compiler dependent. It may be unwise to use them in
-   public header files. */
-
-/* If the system defines INTMAX_MAX, assume that intmax_t works, and
-   similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
-   assuming one type where another is used by the system.  */
-
-#ifndef INTMAX_MAX
-# undef INTMAX_C
-# undef intmax_t
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-typedef long long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
-# elif defined GL_INT64_T
-#  define intmax_t int64_t
-# else
-typedef long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
-# endif
-#endif
-
-#ifndef UINTMAX_MAX
-# undef UINTMAX_C
-# undef uintmax_t
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-typedef unsigned long long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
-# elif defined GL_UINT64_T
-#  define uintmax_t uint64_t
-# else
-typedef unsigned long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
-# endif
-#endif
-
-/* Verify that intmax_t and uintmax_t have the same size.  Too much code
-   breaks if this is not the case.  If this check fails, the reason is likely
-   to be found in the autoconf macros.  */
-typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
-                                ? 1 : -1];
-
-#define GNULIB_defined_stdint_types 1
-#endif /* !GNULIB_defined_stdint_types */
-
-/* 7.18.2. Limits of specified-width integer types */
-
-/* 7.18.2.1. Limits of exact-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits.  */
-
-#undef INT8_MIN
-#undef INT8_MAX
-#undef UINT8_MAX
-#define INT8_MIN  (~ INT8_MAX)
-#define INT8_MAX  127
-#define UINT8_MAX  255
-
-#undef INT16_MIN
-#undef INT16_MAX
-#undef UINT16_MAX
-#define INT16_MIN  (~ INT16_MAX)
-#define INT16_MAX  32767
-#define UINT16_MAX  65535
-
-#undef INT32_MIN
-#undef INT32_MAX
-#undef UINT32_MAX
-#define INT32_MIN  (~ INT32_MAX)
-#define INT32_MAX  2147483647
-#define UINT32_MAX  4294967295U
-
-#if defined GL_INT64_T && ! defined INT64_MAX
-/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
-   evaluates the latter incorrectly in preprocessor expressions.  */
-# define INT64_MIN  (- INTMAX_C (1) << 63)
-# define INT64_MAX  INTMAX_C (9223372036854775807)
-#endif
-
-#if defined GL_UINT64_T && ! defined UINT64_MAX
-# define UINT64_MAX  UINTMAX_C (18446744073709551615)
-#endif
-
-/* 7.18.2.2. Limits of minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
-   are the same as the corresponding N_t types.  */
-
-#undef INT_LEAST8_MIN
-#undef INT_LEAST8_MAX
-#undef UINT_LEAST8_MAX
-#define INT_LEAST8_MIN  INT8_MIN
-#define INT_LEAST8_MAX  INT8_MAX
-#define UINT_LEAST8_MAX  UINT8_MAX
-
-#undef INT_LEAST16_MIN
-#undef INT_LEAST16_MAX
-#undef UINT_LEAST16_MAX
-#define INT_LEAST16_MIN  INT16_MIN
-#define INT_LEAST16_MAX  INT16_MAX
-#define UINT_LEAST16_MAX  UINT16_MAX
-
-#undef INT_LEAST32_MIN
-#undef INT_LEAST32_MAX
-#undef UINT_LEAST32_MAX
-#define INT_LEAST32_MIN  INT32_MIN
-#define INT_LEAST32_MAX  INT32_MAX
-#define UINT_LEAST32_MAX  UINT32_MAX
-
-#undef INT_LEAST64_MIN
-#undef INT_LEAST64_MAX
-#ifdef GL_INT64_T
-# define INT_LEAST64_MIN  INT64_MIN
-# define INT_LEAST64_MAX  INT64_MAX
-#endif
-
-#undef UINT_LEAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_LEAST64_MAX  UINT64_MAX
-#endif
-
-/* 7.18.2.3. Limits of fastest minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
-   are taken from the same list of types.  */
-
-#undef INT_FAST8_MIN
-#undef INT_FAST8_MAX
-#undef UINT_FAST8_MAX
-#define INT_FAST8_MIN  SCHAR_MIN
-#define INT_FAST8_MAX  SCHAR_MAX
-#define UINT_FAST8_MAX  UCHAR_MAX
-
-#undef INT_FAST16_MIN
-#undef INT_FAST16_MAX
-#undef UINT_FAST16_MAX
-#define INT_FAST16_MIN  INT_FAST32_MIN
-#define INT_FAST16_MAX  INT_FAST32_MAX
-#define UINT_FAST16_MAX  UINT_FAST32_MAX
-
-#undef INT_FAST32_MIN
-#undef INT_FAST32_MAX
-#undef UINT_FAST32_MAX
-#ifdef __sun
-# define INT_FAST32_MIN  INT_MIN
-# define INT_FAST32_MAX  INT_MAX
-# define UINT_FAST32_MAX  UINT_MAX
-#else
-# define INT_FAST32_MIN  LONG_MIN
-# define INT_FAST32_MAX  LONG_MAX
-# define UINT_FAST32_MAX  ULONG_MAX
-#endif
-
-#undef INT_FAST64_MIN
-#undef INT_FAST64_MAX
-#ifdef GL_INT64_T
-# define INT_FAST64_MIN  INT64_MIN
-# define INT_FAST64_MAX  INT64_MAX
-#endif
-
-#undef UINT_FAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_FAST64_MAX  UINT64_MAX
-#endif
-
-/* 7.18.2.4. Limits of integer types capable of holding object pointers */
-
-#undef INTPTR_MIN
-#undef INTPTR_MAX
-#undef UINTPTR_MAX
-#define INTPTR_MIN  LONG_MIN
-#define INTPTR_MAX  LONG_MAX
-#define UINTPTR_MAX  ULONG_MAX
-
-/* 7.18.2.5. Limits of greatest-width integer types */
-
-#ifndef INTMAX_MAX
-# undef INTMAX_MIN
-# ifdef INT64_MAX
-#  define INTMAX_MIN  INT64_MIN
-#  define INTMAX_MAX  INT64_MAX
-# else
-#  define INTMAX_MIN  INT32_MIN
-#  define INTMAX_MAX  INT32_MAX
-# endif
-#endif
-
-#ifndef UINTMAX_MAX
-# ifdef UINT64_MAX
-#  define UINTMAX_MAX  UINT64_MAX
-# else
-#  define UINTMAX_MAX  UINT32_MAX
-# endif
-#endif
-
-/* 7.18.3. Limits of other integer types */
-
-/* ptrdiff_t limits */
-#undef PTRDIFF_MIN
-#undef PTRDIFF_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 64, 0l)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
-# else
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 32, 0)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
-# endif
-#else
-# define PTRDIFF_MIN  \
-    _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-# define PTRDIFF_MAX  \
-    _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-#endif
-
-/* sig_atomic_t limits */
-#undef SIG_ATOMIC_MIN
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
-                0@SIG_ATOMIC_T_SUFFIX@)
-#define SIG_ATOMIC_MAX  \
-   _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
-                0@SIG_ATOMIC_T_SUFFIX@)
-
-
-/* size_t limit */
-#undef SIZE_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
-# else
-#  define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
-# endif
-#else
-# define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
-#endif
-
-/* wchar_t limits */
-/* Get WCHAR_MIN, WCHAR_MAX.
-   This include is not on the top, above, because on OSF/1 4.0 we have a
-   sequence of nested includes
-   <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
-   <stdint.h> and assumes its types are already defined.  */
-#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-# include <wchar.h>
-# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-#define WCHAR_MAX  \
-   _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-
-/* wint_t limits */
-#undef WINT_MIN
-#undef WINT_MAX
-#define WINT_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-#define WINT_MAX  \
-   _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-
-/* 7.18.4. Macros for integer constants */
-
-/* 7.18.4.1. Macros for minimum-width integer constants */
-/* According to ISO C 99 Technical Corrigendum 1 */
-
-/* Here we assume a standard architecture where the hardware integer
-   types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
-
-#undef INT8_C
-#undef UINT8_C
-#define INT8_C(x) x
-#define UINT8_C(x) x
-
-#undef INT16_C
-#undef UINT16_C
-#define INT16_C(x) x
-#define UINT16_C(x) x
-
-#undef INT32_C
-#undef UINT32_C
-#define INT32_C(x) x
-#define UINT32_C(x) x ## U
-
-#undef INT64_C
-#undef UINT64_C
-#if LONG_MAX >> 31 >> 31 == 1
-# define INT64_C(x) x##L
-#elif defined _MSC_VER
-# define INT64_C(x) x##i64
-#elif @HAVE_LONG_LONG_INT@
-# define INT64_C(x) x##LL
-#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# define UINT64_C(x) x##UL
-#elif defined _MSC_VER
-# define UINT64_C(x) x##ui64
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# define UINT64_C(x) x##ULL
-#endif
-
-/* 7.18.4.2. Macros for greatest-width integer constants */
-
-#ifndef INTMAX_C
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define INTMAX_C(x)   x##LL
-# elif defined GL_INT64_T
-#  define INTMAX_C(x)   INT64_C(x)
-# else
-#  define INTMAX_C(x)   x##L
-# endif
-#endif
-
-#ifndef UINTMAX_C
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define UINTMAX_C(x)  x##ULL
-# elif defined GL_UINT64_T
-#  define UINTMAX_C(x)  UINT64_C(x)
-# else
-#  define UINTMAX_C(x)  x##UL
-# endif
-#endif
-
-#endif /* _@GUARD_PREFIX@_STDINT_H */
-#endif /* !(defined __ANDROID__ && ...) */
-#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/gltests/stdlib.in.h b/gltests/stdlib.in.h
deleted file mode 100644 (file)
index b546133..0000000
+++ /dev/null
@@ -1,928 +0,0 @@
-/* A GNU-like <stdlib.h>.
-
-   Copyright (C) 1995, 2001-2004, 2006-2012 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
-   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/>.  */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-#if defined __need_malloc_and_calloc
-/* Special invocation convention inside glibc header files.  */
-
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#else
-/* Normal invocation convention.  */
-
-#ifndef _@GUARD_PREFIX@_STDLIB_H
-
-/* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#ifndef _@GUARD_PREFIX@_STDLIB_H
-#define _@GUARD_PREFIX@_STDLIB_H
-
-/* NetBSD 5.0 mis-defines NULL.  */
-#include <stddef.h>
-
-/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
-#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
-# include <sys/wait.h>
-#endif
-
-/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
-#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
-# include <sys/loadavg.h>
-#endif
-
-/* Native Windows platforms declare mktemp() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-# include <io.h>
-#endif
-
-#if @GNULIB_RANDOM_R@
-
-/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
-   from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
-   'struct random_data'.  */
-# if @HAVE_RANDOM_H@
-#  include <random.h>
-# endif
-
-# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
-#  include <stdint.h>
-# endif
-
-# if !@HAVE_STRUCT_RANDOM_DATA@
-/* Define 'struct random_data'.
-   But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
-#  if !GNULIB_defined_struct_random_data
-struct random_data
-{
-  int32_t *fptr;                /* Front pointer.  */
-  int32_t *rptr;                /* Rear pointer.  */
-  int32_t *state;               /* Array of state values.  */
-  int rand_type;                /* Type of random number generator.  */
-  int rand_deg;                 /* Degree of random number generator.  */
-  int rand_sep;                 /* Distance between front and rear.  */
-  int32_t *end_ptr;             /* Pointer behind state table.  */
-};
-#   define GNULIB_defined_struct_random_data 1
-#  endif
-# endif
-#endif
-
-#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-/* On MacOS X 10.3, only <unistd.h> declares mkstemp.  */
-/* On MacOS X 10.5, only <unistd.h> declares mkstemps.  */
-/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
-/* But avoid namespace pollution on glibc systems and native Windows.  */
-# include <unistd.h>
-#endif
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The definition of _Noreturn is copied here.  */
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
-/* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
-#ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-#endif
-/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
-   with proper operation of xargs.  */
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#elif EXIT_FAILURE != 1
-# undef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-
-#if @GNULIB__EXIT@
-/* Terminate the current process with the given return code, without running
-   the 'atexit' handlers.  */
-# if !@HAVE__EXIT@
-_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
-# endif
-_GL_CXXALIAS_SYS (_Exit, void, (int status));
-_GL_CXXALIASWARN (_Exit);
-#elif defined GNULIB_POSIXCHECK
-# undef _Exit
-# if HAVE_RAW_DECL__EXIT
-_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
-                 "use gnulib module _Exit for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ATOLL@
-/* Parse a signed decimal integer.
-   Returns the value of the integer.  Errors are not detected.  */
-# if !@HAVE_ATOLL@
-_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
-                                    _GL_ATTRIBUTE_PURE
-                                    _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
-_GL_CXXALIASWARN (atoll);
-#elif defined GNULIB_POSIXCHECK
-# undef atoll
-# if HAVE_RAW_DECL_ATOLL
-_GL_WARN_ON_USE (atoll, "atoll is unportable - "
-                 "use gnulib module atoll for portability");
-# endif
-#endif
-
-#if @GNULIB_CALLOC_POSIX@
-# if @REPLACE_CALLOC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef calloc
-#   define calloc rpl_calloc
-#  endif
-_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
-_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
-# else
-_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
-# endif
-_GL_CXXALIASWARN (calloc);
-#elif defined GNULIB_POSIXCHECK
-# undef calloc
-/* Assume calloc is always declared.  */
-_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
-                 "use gnulib module calloc-posix for portability");
-#endif
-
-#if @GNULIB_CANONICALIZE_FILE_NAME@
-# if @REPLACE_CANONICALIZE_FILE_NAME@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define canonicalize_file_name rpl_canonicalize_file_name
-#  endif
-_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
-                                                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
-# else
-#  if !@HAVE_CANONICALIZE_FILE_NAME@
-_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
-                                                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
-# endif
-_GL_CXXALIASWARN (canonicalize_file_name);
-#elif defined GNULIB_POSIXCHECK
-# undef canonicalize_file_name
-# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-_GL_WARN_ON_USE (canonicalize_file_name,
-                 "canonicalize_file_name is unportable - "
-                 "use gnulib module canonicalize-lgpl for portability");
-# endif
-#endif
-
-#if @GNULIB_GETLOADAVG@
-/* Store max(NELEM,3) load average numbers in LOADAVG[].
-   The three numbers are the load average of the last 1 minute, the last 5
-   minutes, and the last 15 minutes, respectively.
-   LOADAVG is an array of NELEM numbers.  */
-# if !@HAVE_DECL_GETLOADAVG@
-_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
-                                   _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
-_GL_CXXALIASWARN (getloadavg);
-#elif defined GNULIB_POSIXCHECK
-# undef getloadavg
-# if HAVE_RAW_DECL_GETLOADAVG
-_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
-                 "use gnulib module getloadavg for portability");
-# endif
-#endif
-
-#if @GNULIB_GETSUBOPT@
-/* Assuming *OPTIONP is a comma separated list of elements of the form
-   "token" or "token=value", getsubopt parses the first of these elements.
-   If the first element refers to a "token" that is member of the given
-   NULL-terminated array of tokens:
-     - It replaces the comma with a NUL byte, updates *OPTIONP to point past
-       the first option and the comma, sets *VALUEP to the value of the
-       element (or NULL if it doesn't contain an "=" sign),
-     - It returns the index of the "token" in the given array of tokens.
-   Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
-   For more details see the POSIX:2001 specification.
-   http://www.opengroup.org/susv3xsh/getsubopt.html */
-# if !@HAVE_GETSUBOPT@
-_GL_FUNCDECL_SYS (getsubopt, int,
-                  (char **optionp, char *const *tokens, char **valuep)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
-# endif
-_GL_CXXALIAS_SYS (getsubopt, int,
-                  (char **optionp, char *const *tokens, char **valuep));
-_GL_CXXALIASWARN (getsubopt);
-#elif defined GNULIB_POSIXCHECK
-# undef getsubopt
-# if HAVE_RAW_DECL_GETSUBOPT
-_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
-                 "use gnulib module getsubopt for portability");
-# endif
-#endif
-
-#if @GNULIB_GRANTPT@
-/* Change the ownership and access permission of the slave side of the
-   pseudo-terminal whose master side is specified by FD.  */
-# if !@HAVE_GRANTPT@
-_GL_FUNCDECL_SYS (grantpt, int, (int fd));
-# endif
-_GL_CXXALIAS_SYS (grantpt, int, (int fd));
-_GL_CXXALIASWARN (grantpt);
-#elif defined GNULIB_POSIXCHECK
-# undef grantpt
-# if HAVE_RAW_DECL_GRANTPT
-_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
-                 "use gnulib module grantpt for portability");
-# endif
-#endif
-
-/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
-   rely on GNU or POSIX semantics for malloc and realloc (for example,
-   by never specifying a zero size), so it does not need malloc or
-   realloc to be redefined.  */
-#if @GNULIB_MALLOC_POSIX@
-# if @REPLACE_MALLOC@
-#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
-        || _GL_USE_STDLIB_ALLOC)
-#   undef malloc
-#   define malloc rpl_malloc
-#  endif
-_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
-_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
-# else
-_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
-# endif
-_GL_CXXALIASWARN (malloc);
-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
-# undef malloc
-/* Assume malloc is always declared.  */
-_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
-                 "use gnulib module malloc-posix for portability");
-#endif
-
-/* Convert a multibyte character to a wide character.  */
-#if @GNULIB_MBTOWC@
-# if @REPLACE_MBTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbtowc
-#   define mbtowc rpl_mbtowc
-#  endif
-_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-# else
-_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-# endif
-_GL_CXXALIASWARN (mbtowc);
-#endif
-
-#if @GNULIB_MKDTEMP@
-/* Create a unique temporary directory from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the directory name unique.
-   Returns TEMPLATE, or a null pointer if it cannot get a unique name.
-   The directory is created mode 700.  */
-# if !@HAVE_MKDTEMP@
-_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
-_GL_CXXALIASWARN (mkdtemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkdtemp
-# if HAVE_RAW_DECL_MKDTEMP
-_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
-                 "use gnulib module mkdtemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKOSTEMP@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
-   and O_TEXT, O_BINARY (defined in "binary-io.h").
-   The file is then created, with the specified flags, ensuring it didn't exist
-   before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKOSTEMP@
-_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
-                                 _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
-_GL_CXXALIASWARN (mkostemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkostemp
-# if HAVE_RAW_DECL_MKOSTEMP
-_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
-                 "use gnulib module mkostemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKOSTEMPS@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE before a suffix of length
-   SUFFIXLEN must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
-   and O_TEXT, O_BINARY (defined in "binary-io.h").
-   The file is then created, with the specified flags, ensuring it didn't exist
-   before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKOSTEMPS@
-_GL_FUNCDECL_SYS (mkostemps, int,
-                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkostemps, int,
-                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
-_GL_CXXALIASWARN (mkostemps);
-#elif defined GNULIB_POSIXCHECK
-# undef mkostemps
-# if HAVE_RAW_DECL_MKOSTEMPS
-_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
-                 "use gnulib module mkostemps for portability");
-# endif
-#endif
-
-#if @GNULIB_MKSTEMP@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The file is then created, ensuring it didn't exist before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if @REPLACE_MKSTEMP@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define mkstemp rpl_mkstemp
-#  endif
-_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
-# else
-#  if ! @HAVE_MKSTEMP@
-_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
-# endif
-_GL_CXXALIASWARN (mkstemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkstemp
-# if HAVE_RAW_DECL_MKSTEMP
-_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
-                 "use gnulib module mkstemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKSTEMPS@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE prior to a suffix of length
-   SUFFIXLEN must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The file is then created, ensuring it didn't exist before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKSTEMPS@
-_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
-                                 _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
-_GL_CXXALIASWARN (mkstemps);
-#elif defined GNULIB_POSIXCHECK
-# undef mkstemps
-# if HAVE_RAW_DECL_MKSTEMPS
-_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
-                 "use gnulib module mkstemps for portability");
-# endif
-#endif
-
-#if @GNULIB_POSIX_OPENPT@
-/* Return an FD open to the master side of a pseudo-terminal.  Flags should
-   include O_RDWR, and may also include O_NOCTTY.  */
-# if !@HAVE_POSIX_OPENPT@
-_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
-# endif
-_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
-_GL_CXXALIASWARN (posix_openpt);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_openpt
-# if HAVE_RAW_DECL_POSIX_OPENPT
-_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
-                 "use gnulib module posix_openpt for portability");
-# endif
-#endif
-
-#if @GNULIB_PTSNAME@
-/* Return the pathname of the pseudo-terminal slave associated with
-   the master FD is open on, or NULL on errors.  */
-# if !@HAVE_PTSNAME@
-_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
-# endif
-_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
-_GL_CXXALIASWARN (ptsname);
-#elif defined GNULIB_POSIXCHECK
-# undef ptsname
-# if HAVE_RAW_DECL_PTSNAME
-_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
-                 "use gnulib module ptsname for portability");
-# endif
-#endif
-
-#if @GNULIB_PTSNAME_R@
-/* Set the pathname of the pseudo-terminal slave associated with
-   the master FD is open on and return 0, or set errno and return
-   non-zero on errors.  */
-# if @REPLACE_PTSNAME_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ptsname_r
-#   define ptsname_r rpl_ptsname_r
-#  endif
-_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
-_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
-# else
-#  if !@HAVE_PTSNAME_R@
-_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
-#  endif
-_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
-# endif
-_GL_CXXALIASWARN (ptsname_r);
-#elif defined GNULIB_POSIXCHECK
-# undef ptsname_r
-# if HAVE_RAW_DECL_PTSNAME_R
-_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
-                 "use gnulib module ptsname_r for portability");
-# endif
-#endif
-
-#if @GNULIB_PUTENV@
-# if @REPLACE_PUTENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef putenv
-#   define putenv rpl_putenv
-#  endif
-_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (putenv, int, (char *string));
-# else
-_GL_CXXALIAS_SYS (putenv, int, (char *string));
-# endif
-_GL_CXXALIASWARN (putenv);
-#endif
-
-
-#if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
-#  ifndef RAND_MAX
-#   define RAND_MAX 2147483647
-#  endif
-# endif
-#endif
-
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (random, long, (void));
-# endif
-_GL_CXXALIAS_SYS (random, long, (void));
-_GL_CXXALIASWARN (random);
-#elif defined GNULIB_POSIXCHECK
-# undef random
-# if HAVE_RAW_DECL_RANDOM
-_GL_WARN_ON_USE (random, "random is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
-# endif
-_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
-_GL_CXXALIASWARN (srandom);
-#elif defined GNULIB_POSIXCHECK
-# undef srandom
-# if HAVE_RAW_DECL_SRANDOM
-_GL_WARN_ON_USE (srandom, "srandom is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (initstate, char *,
-                  (unsigned int seed, char *buf, size_t buf_size)
-                  _GL_ARG_NONNULL ((2)));
-# endif
-_GL_CXXALIAS_SYS (initstate, char *,
-                  (unsigned int seed, char *buf, size_t buf_size));
-_GL_CXXALIASWARN (initstate);
-#elif defined GNULIB_POSIXCHECK
-# undef initstate
-# if HAVE_RAW_DECL_INITSTATE_R
-_GL_WARN_ON_USE (initstate, "initstate is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
-_GL_CXXALIASWARN (setstate);
-#elif defined GNULIB_POSIXCHECK
-# undef setstate
-# if HAVE_RAW_DECL_SETSTATE_R
-_GL_WARN_ON_USE (setstate, "setstate is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef random_r
-#   define random_r rpl_random_r
-#  endif
-_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
-                                 _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
-                                 _GL_ARG_NONNULL ((1, 2)));
-#  endif
-_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
-# endif
-_GL_CXXALIASWARN (random_r);
-#elif defined GNULIB_POSIXCHECK
-# undef random_r
-# if HAVE_RAW_DECL_RANDOM_R
-_GL_WARN_ON_USE (random_r, "random_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef srandom_r
-#   define srandom_r rpl_srandom_r
-#  endif
-_GL_FUNCDECL_RPL (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (srandom_r);
-#elif defined GNULIB_POSIXCHECK
-# undef srandom_r
-# if HAVE_RAW_DECL_SRANDOM_R
-_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef initstate_r
-#   define initstate_r rpl_initstate_r
-#  endif
-_GL_FUNCDECL_RPL (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2, 4)));
-_GL_CXXALIAS_RPL (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2, 4)));
-#  endif
-_GL_CXXALIAS_SYS (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (initstate_r);
-#elif defined GNULIB_POSIXCHECK
-# undef initstate_r
-# if HAVE_RAW_DECL_INITSTATE_R
-_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setstate_r
-#   define setstate_r rpl_setstate_r
-#  endif
-_GL_FUNCDECL_RPL (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((1, 2)));
-#  endif
-_GL_CXXALIAS_SYS (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (setstate_r);
-#elif defined GNULIB_POSIXCHECK
-# undef setstate_r
-# if HAVE_RAW_DECL_SETSTATE_R
-_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-
-#if @GNULIB_REALLOC_POSIX@
-# if @REPLACE_REALLOC@
-#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
-        || _GL_USE_STDLIB_ALLOC)
-#   undef realloc
-#   define realloc rpl_realloc
-#  endif
-_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
-_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
-# else
-_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
-# endif
-_GL_CXXALIASWARN (realloc);
-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
-# undef realloc
-/* Assume realloc is always declared.  */
-_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
-                 "use gnulib module realloc-posix for portability");
-#endif
-
-#if @GNULIB_REALPATH@
-# if @REPLACE_REALPATH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define realpath rpl_realpath
-#  endif
-_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
-                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
-# else
-#  if !@HAVE_REALPATH@
-_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
-                                    _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
-# endif
-_GL_CXXALIASWARN (realpath);
-#elif defined GNULIB_POSIXCHECK
-# undef realpath
-# if HAVE_RAW_DECL_REALPATH
-_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
-                 "canonicalize or canonicalize-lgpl for portability");
-# endif
-#endif
-
-#if @GNULIB_RPMATCH@
-/* Test a user response to a question.
-   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
-# if !@HAVE_RPMATCH@
-_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
-_GL_CXXALIASWARN (rpmatch);
-#elif defined GNULIB_POSIXCHECK
-# undef rpmatch
-# if HAVE_RAW_DECL_RPMATCH
-_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
-                 "use gnulib module rpmatch for portability");
-# endif
-#endif
-
-#if @GNULIB_SETENV@
-/* Set NAME to VALUE in the environment.
-   If REPLACE is nonzero, overwrite an existing value.  */
-# if @REPLACE_SETENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setenv
-#   define setenv rpl_setenv
-#  endif
-_GL_FUNCDECL_RPL (setenv, int,
-                  (const char *name, const char *value, int replace)
-                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (setenv, int,
-                  (const char *name, const char *value, int replace));
-# else
-#  if !@HAVE_DECL_SETENV@
-_GL_FUNCDECL_SYS (setenv, int,
-                  (const char *name, const char *value, int replace)
-                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (setenv, int,
-                  (const char *name, const char *value, int replace));
-# endif
-# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
-_GL_CXXALIASWARN (setenv);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef setenv
-# if HAVE_RAW_DECL_SETENV
-_GL_WARN_ON_USE (setenv, "setenv is unportable - "
-                 "use gnulib module setenv for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOD@
- /* Parse a double from STRING, updating ENDP if appropriate.  */
-# if @REPLACE_STRTOD@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define strtod rpl_strtod
-#  endif
-_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
-                                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
-# else
-#  if !@HAVE_STRTOD@
-_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
-                                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
-# endif
-_GL_CXXALIASWARN (strtod);
-#elif defined GNULIB_POSIXCHECK
-# undef strtod
-# if HAVE_RAW_DECL_STRTOD
-_GL_WARN_ON_USE (strtod, "strtod is unportable - "
-                 "use gnulib module strtod for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOLL@
-/* Parse a signed integer whose textual representation starts at STRING.
-   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
-   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
-   "0x").
-   If ENDPTR is not NULL, the address of the first byte after the integer is
-   stored in *ENDPTR.
-   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
-   to ERANGE.  */
-# if !@HAVE_STRTOLL@
-_GL_FUNCDECL_SYS (strtoll, long long,
-                  (const char *string, char **endptr, int base)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoll, long long,
-                  (const char *string, char **endptr, int base));
-_GL_CXXALIASWARN (strtoll);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoll
-# if HAVE_RAW_DECL_STRTOLL
-_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
-                 "use gnulib module strtoll for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOULL@
-/* Parse an unsigned integer whose textual representation starts at STRING.
-   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
-   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
-   "0x").
-   If ENDPTR is not NULL, the address of the first byte after the integer is
-   stored in *ENDPTR.
-   Upon overflow, the return value is ULLONG_MAX, and errno is set to
-   ERANGE.  */
-# if !@HAVE_STRTOULL@
-_GL_FUNCDECL_SYS (strtoull, unsigned long long,
-                  (const char *string, char **endptr, int base)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoull, unsigned long long,
-                  (const char *string, char **endptr, int base));
-_GL_CXXALIASWARN (strtoull);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoull
-# if HAVE_RAW_DECL_STRTOULL
-_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
-                 "use gnulib module strtoull for portability");
-# endif
-#endif
-
-#if @GNULIB_UNLOCKPT@
-/* Unlock the slave side of the pseudo-terminal whose master side is specified
-   by FD, so that it can be opened.  */
-# if !@HAVE_UNLOCKPT@
-_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
-# endif
-_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
-_GL_CXXALIASWARN (unlockpt);
-#elif defined GNULIB_POSIXCHECK
-# undef unlockpt
-# if HAVE_RAW_DECL_UNLOCKPT
-_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
-                 "use gnulib module unlockpt for portability");
-# endif
-#endif
-
-#if @GNULIB_UNSETENV@
-/* Remove the variable NAME from the environment.  */
-# if @REPLACE_UNSETENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef unsetenv
-#   define unsetenv rpl_unsetenv
-#  endif
-_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
-# else
-#  if !@HAVE_DECL_UNSETENV@
-_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
-# endif
-# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
-_GL_CXXALIASWARN (unsetenv);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef unsetenv
-# if HAVE_RAW_DECL_UNSETENV
-_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
-                 "use gnulib module unsetenv for portability");
-# endif
-#endif
-
-/* Convert a wide character to a multibyte character.  */
-#if @GNULIB_WCTOMB@
-# if @REPLACE_WCTOMB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wctomb
-#   define wctomb rpl_wctomb
-#  endif
-_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
-_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
-# else
-_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
-# endif
-_GL_CXXALIASWARN (wctomb);
-#endif
-
-
-#endif /* _@GUARD_PREFIX@_STDLIB_H */
-#endif /* _@GUARD_PREFIX@_STDLIB_H */
-#endif
diff --git a/gltests/symlink.c b/gltests/symlink.c
deleted file mode 100644 (file)
index 642ca66..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Stub for symlink().
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <unistd.h>
-
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-
-
-#if HAVE_SYMLINK
-
-# undef symlink
-
-/* Create a symlink, but reject trailing slash.  */
-int
-rpl_symlink (char const *contents, char const *name)
-{
-  size_t len = strlen (name);
-  if (len && name[len - 1] == '/')
-    {
-      struct stat st;
-      if (lstat (name, &st) == 0)
-        errno = EEXIST;
-      return -1;
-    }
-  return symlink (contents, name);
-}
-
-#else /* !HAVE_SYMLINK */
-
-/* The system does not support symlinks.  */
-int
-symlink (char const *contents _GL_UNUSED,
-         char const *name _GL_UNUSED)
-{
-  errno = ENOSYS;
-  return -1;
-}
-
-#endif /* !HAVE_SYMLINK */
diff --git a/gltests/test-alloca-opt.c b/gltests/test-alloca-opt.c
deleted file mode 100644 (file)
index 4e814c6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Test of optional automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <alloca.h>
-
-#if HAVE_ALLOCA
-
-static void
-do_allocation (int n)
-{
-  void *ptr = alloca (n);
-  (void) ptr;
-}
-
-void (*func) (int) = do_allocation;
-
-#endif
-
-int
-main ()
-{
-#if HAVE_ALLOCA
-  int i;
-
-  /* Repeat a lot of times, to make sure there's no memory leak.  */
-  for (i = 0; i < 100000; i++)
-    {
-      /* Try various values.
-         n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
-      func (34);
-      func (134);
-      func (399);
-      func (510823);
-      func (129321);
-      func (0);
-      func (4070);
-      func (4095);
-      func (1);
-      func (16582);
-    }
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-binary-io.c b/gltests/test-binary-io.c
deleted file mode 100644 (file)
index 4f284e7..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Test of binary mode I/O.
-   Copyright (C) 2005, 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-#include "binary-io.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  /* Test the O_BINARY macro.  */
-  {
-    int fd =
-      open ("t-bin-out0.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600);
-    if (write (fd, "Hello\n", 6) < 0)
-      exit (1);
-    close (fd);
-  }
-  {
-    struct stat statbuf;
-    if (stat ("t-bin-out0.tmp", &statbuf) < 0)
-      exit (1);
-    ASSERT (statbuf.st_size == 6);
-  }
-
-  switch (argv[1][0])
-    {
-    case '1':
-      /* Test the set_binary_mode() function.  */
-      set_binary_mode (1, O_BINARY);
-      fputs ("Hello\n", stdout);
-      break;
-
-    case '2':
-      /* Test the SET_BINARY macro.  */
-      SET_BINARY (1);
-      fputs ("Hello\n", stdout);
-      break;
-
-    default:
-      break;
-    }
-
-  return 0;
-}
diff --git a/gltests/test-binary-io.sh b/gltests/test-binary-io.sh
deleted file mode 100755 (executable)
index c4dd6e9..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
-
-tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp t-bin-out2.tmp"
-./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
-cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1
-./test-binary-io${EXEEXT} 2 > t-bin-out2.tmp || exit 1
-cmp t-bin-out0.tmp t-bin-out2.tmp > /dev/null || exit 1
-
-rm -fr $tmpfiles
-
-exit 0
diff --git a/gltests/test-close.c b/gltests/test-close.c
deleted file mode 100644 (file)
index 83f71c0..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Test closing a file or socket.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (close, int, (int));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    errno = 0;
-    ASSERT (close (-1) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    errno = 0;
-    ASSERT (close (99) == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-dup2.c b/gltests/test-dup2.c
deleted file mode 100644 (file)
index 5043c0c..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Test duplicating file descriptors.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (dup2, int, (int, int));
-
-#include <errno.h>
-#include <fcntl.h>
-
-#include "binary-io.h"
-
-#if GNULIB_TEST_CLOEXEC
-# include "cloexec.h"
-#endif
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the native Windows API functions.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-/* Get _get_osfhandle.  */
-# include "msvc-nothrow.h"
-#endif
-
-#include "macros.h"
-
-/* Return non-zero if FD is open.  */
-static int
-is_open (int fd)
-{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On native Windows, the initial state of unassigned standard file
-     descriptors is that they are open but point to an
-     INVALID_HANDLE_VALUE, and there is no fcntl.  */
-  return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
-#else
-# ifndef F_GETFL
-#  error Please port fcntl to your platform
-# endif
-  return 0 <= fcntl (fd, F_GETFL);
-#endif
-}
-
-#if GNULIB_TEST_CLOEXEC
-/* Return non-zero if FD is open and inheritable across exec/spawn.  */
-static int
-is_inheritable (int fd)
-{
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On native Windows, the initial state of unassigned standard file
-     descriptors is that they are open but point to an
-     INVALID_HANDLE_VALUE, and there is no fcntl.  */
-  HANDLE h = (HANDLE) _get_osfhandle (fd);
-  DWORD flags;
-  if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0)
-    return 0;
-  return (flags & HANDLE_FLAG_INHERIT) != 0;
-# else
-#  ifndef F_GETFD
-#   error Please port fcntl to your platform
-#  endif
-  int i = fcntl (fd, F_GETFD);
-  return 0 <= i && (i & FD_CLOEXEC) == 0;
-# endif
-}
-#endif /* GNULIB_TEST_CLOEXEC */
-
-#if !O_BINARY
-# define setmode(f,m) zero ()
-static int zero (void) { return 0; }
-#endif
-
-/* Return non-zero if FD is open in the given MODE, which is either
-   O_TEXT or O_BINARY.  */
-static int
-is_mode (int fd, int mode)
-{
-  int value = setmode (fd, O_BINARY);
-  setmode (fd, value);
-  return mode == value;
-}
-
-int
-main (void)
-{
-  const char *file = "test-dup2.tmp";
-  char buffer[1];
-  int fd = open (file, O_CREAT | O_TRUNC | O_RDWR, 0600);
-
-  /* Assume std descriptors were provided by invoker.  */
-  ASSERT (STDERR_FILENO < fd);
-  ASSERT (is_open (fd));
-  /* Ignore any other fd's leaked into this process.  */
-  close (fd + 1);
-  close (fd + 2);
-  ASSERT (!is_open (fd + 1));
-  ASSERT (!is_open (fd + 2));
-
-  /* Assigning to self must be a no-op.  */
-  ASSERT (dup2 (fd, fd) == fd);
-  ASSERT (is_open (fd));
-
-  /* The source must be valid.  */
-  errno = 0;
-  ASSERT (dup2 (-1, fd) == -1);
-  ASSERT (errno == EBADF);
-  errno = 0;
-  ASSERT (dup2 (99, fd) == -1);
-  ASSERT (errno == EBADF);
-  errno = 0;
-  ASSERT (dup2 (AT_FDCWD, fd) == -1);
-  ASSERT (errno == EBADF);
-  ASSERT (is_open (fd));
-
-  /* If the source is not open, then the destination is unaffected.  */
-  errno = 0;
-  ASSERT (dup2 (fd + 1, fd + 1) == -1);
-  ASSERT (errno == EBADF);
-  ASSERT (!is_open (fd + 1));
-  errno = 0;
-  ASSERT (dup2 (fd + 1, fd) == -1);
-  ASSERT (errno == EBADF);
-  ASSERT (is_open (fd));
-
-  /* The destination must be valid.  */
-  errno = 0;
-  ASSERT (dup2 (fd, -2) == -1);
-  ASSERT (errno == EBADF);
-  errno = 0;
-  ASSERT (dup2 (fd, 10000000) == -1);
-  ASSERT (errno == EBADF);
-
-  /* Using dup2 can skip fds.  */
-  ASSERT (dup2 (fd, fd + 2) == fd + 2);
-  ASSERT (is_open (fd));
-  ASSERT (!is_open (fd + 1));
-  ASSERT (is_open (fd + 2));
-
-  /* Verify that dup2 closes the previous occupant of a fd.  */
-  ASSERT (open ("/dev/null", O_WRONLY, 0600) == fd + 1);
-  ASSERT (dup2 (fd + 1, fd) == fd);
-  ASSERT (close (fd + 1) == 0);
-  ASSERT (write (fd, "1", 1) == 1);
-  ASSERT (dup2 (fd + 2, fd) == fd);
-  ASSERT (lseek (fd, 0, SEEK_END) == 0);
-  ASSERT (write (fd + 2, "2", 1) == 1);
-  ASSERT (lseek (fd, 0, SEEK_SET) == 0);
-  ASSERT (read (fd, buffer, 1) == 1);
-  ASSERT (*buffer == '2');
-
-#if GNULIB_TEST_CLOEXEC
-  /* Any new fd created by dup2 must not be cloexec.  */
-  ASSERT (close (fd + 2) == 0);
-  ASSERT (dup_cloexec (fd) == fd + 1);
-  ASSERT (!is_inheritable (fd + 1));
-  ASSERT (dup2 (fd + 1, fd + 1) == fd + 1);
-  ASSERT (!is_inheritable (fd + 1));
-  ASSERT (dup2 (fd + 1, fd + 2) == fd + 2);
-  ASSERT (!is_inheritable (fd + 1));
-  ASSERT (is_inheritable (fd + 2));
-  errno = 0;
-  ASSERT (dup2 (fd + 1, -1) == -1);
-  ASSERT (errno == EBADF);
-  ASSERT (!is_inheritable (fd + 1));
-#endif
-
-  /* On systems that distinguish between text and binary mode, dup2
-     reuses the mode of the source.  */
-  setmode (fd, O_BINARY);
-  ASSERT (is_mode (fd, O_BINARY));
-  ASSERT (dup2 (fd, fd + 1) == fd + 1);
-  ASSERT (is_mode (fd + 1, O_BINARY));
-  setmode (fd, O_TEXT);
-  ASSERT (is_mode (fd, O_TEXT));
-  ASSERT (dup2 (fd, fd + 1) == fd + 1);
-  ASSERT (is_mode (fd + 1, O_TEXT));
-
-  /* Clean up.  */
-  ASSERT (close (fd + 2) == 0);
-  ASSERT (close (fd + 1) == 0);
-  ASSERT (close (fd) == 0);
-  ASSERT (unlink (file) == 0);
-
-  return 0;
-}
diff --git a/gltests/test-environ.c b/gltests/test-environ.c
deleted file mode 100644 (file)
index 972ed06..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Test of environ variable.
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2008.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include <string.h>
-
-int
-main ()
-{
-  /* The environment variables that are set even in the weirdest situations
-     are HOME and PATH.
-     POSIX says that HOME is initialized by the system, and that PATH may be
-     unset.  But in practice it's more frequent to see HOME unset and PATH
-     set.  So we test the presence of PATH.  */
-  char **remaining_variables = environ;
-  char *string;
-
-  for (; (string = *remaining_variables) != NULL; remaining_variables++)
-    {
-      if (strncmp (string, "PATH=", 5) == 0)
-        /* Found the PATH environment variable.  */
-        return 0;
-    }
-  /* Failed to find the PATH environment variable.  */
-  return 1;
-}
diff --git a/gltests/test-errno.c b/gltests/test-errno.c
deleted file mode 100644 (file)
index d9a030f..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Test of <errno.h> substitute.
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2008.  */
-
-#include <config.h>
-
-#include <errno.h>
-
-/* Verify that the POSIX mandated errno values exist and can be used as
-   initializers outside of a function.
-   The variable names happen to match the Linux/x86 error numbers.  */
-int e1 = EPERM;
-int e2 = ENOENT;
-int e3 = ESRCH;
-int e4 = EINTR;
-int e5 = EIO;
-int e6 = ENXIO;
-int e7 = E2BIG;
-int e8 = ENOEXEC;
-int e9 = EBADF;
-int e10 = ECHILD;
-int e11 = EAGAIN;
-int e11a = EWOULDBLOCK;
-int e12 = ENOMEM;
-int e13 = EACCES;
-int e14 = EFAULT;
-int e16 = EBUSY;
-int e17 = EEXIST;
-int e18 = EXDEV;
-int e19 = ENODEV;
-int e20 = ENOTDIR;
-int e21 = EISDIR;
-int e22 = EINVAL;
-int e23 = ENFILE;
-int e24 = EMFILE;
-int e25 = ENOTTY;
-int e26 = ETXTBSY;
-int e27 = EFBIG;
-int e28 = ENOSPC;
-int e29 = ESPIPE;
-int e30 = EROFS;
-int e31 = EMLINK;
-int e32 = EPIPE;
-int e33 = EDOM;
-int e34 = ERANGE;
-int e35 = EDEADLK;
-int e36 = ENAMETOOLONG;
-int e37 = ENOLCK;
-int e38 = ENOSYS;
-int e39 = ENOTEMPTY;
-int e40 = ELOOP;
-int e42 = ENOMSG;
-int e43 = EIDRM;
-int e67 = ENOLINK;
-int e71 = EPROTO;
-int e72 = EMULTIHOP;
-int e74 = EBADMSG;
-int e75 = EOVERFLOW;
-int e84 = EILSEQ;
-int e88 = ENOTSOCK;
-int e89 = EDESTADDRREQ;
-int e90 = EMSGSIZE;
-int e91 = EPROTOTYPE;
-int e92 = ENOPROTOOPT;
-int e93 = EPROTONOSUPPORT;
-int e95 = EOPNOTSUPP;
-int e95a = ENOTSUP;
-int e97 = EAFNOSUPPORT;
-int e98 = EADDRINUSE;
-int e99 = EADDRNOTAVAIL;
-int e100 = ENETDOWN;
-int e101 = ENETUNREACH;
-int e102 = ENETRESET;
-int e103 = ECONNABORTED;
-int e104 = ECONNRESET;
-int e105 = ENOBUFS;
-int e106 = EISCONN;
-int e107 = ENOTCONN;
-int e110 = ETIMEDOUT;
-int e111 = ECONNREFUSED;
-int e113 = EHOSTUNREACH;
-int e114 = EALREADY;
-int e115 = EINPROGRESS;
-int e116 = ESTALE;
-int e122 = EDQUOT;
-int e125 = ECANCELED;
-
-/* Don't verify that these errno values are all different, except for possibly
-   EWOULDBLOCK == EAGAIN.  Even Linux/x86 does not pass this check: it has
-   ENOTSUP == EOPNOTSUPP.  */
-
-int
-main ()
-{
-  /* Verify that errno can be assigned.  */
-  errno = EOVERFLOW;
-
-  /* snprintf() callers want to distinguish EINVAL and EOVERFLOW.  */
-  if (errno == EINVAL)
-    return 1;
-
-  return 0;
-}
diff --git a/gltests/test-fdopen.c b/gltests/test-fdopen.c
deleted file mode 100644 (file)
index 8e2f7bf..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Test opening a stream with a file descriptor.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    FILE *fp;
-
-    errno = 0;
-    fp = fdopen (-1, "r");
-    if (fp == NULL)
-      ASSERT (errno == EBADF);
-    else
-      fclose (fp);
-  }
-  {
-    FILE *fp;
-
-    errno = 0;
-    fp = fdopen (99, "r");
-    if (fp == NULL)
-      ASSERT (errno == EBADF);
-    else
-      fclose (fp);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-fgetc.c b/gltests/test-fgetc.c
deleted file mode 100644 (file)
index f7ebbc6..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Test of fgetc() function.
-   Copyright (C) 2011-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fgetc, int, (FILE *));
-
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "msvc-inval.h"
-
-#include "macros.h"
-
-int
-main (int argc, char **argv)
-{
-  const char *filename = "test-fgetc.txt";
-
-  /* We don't have an fgetc() function that installs an invalid parameter
-     handler so far.  So install that handler here, explicitly.  */
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
-    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
-  gl_msvc_inval_ensure_handler ();
-#endif
-
-  /* Prepare a file.  */
-  {
-    const char text[] = "hello world";
-    int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
-    ASSERT (fd >= 0);
-    ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
-    ASSERT (close (fd) == 0);
-  }
-
-  /* Test that fgetc() sets errno if someone else closes the stream
-     fd behind the back of stdio.  */
-  {
-    FILE *fp = fopen (filename, "r");
-    ASSERT (fp != NULL);
-    ASSERT (close (fileno (fp)) == 0);
-    errno = 0;
-    ASSERT (fgetc (fp) == EOF);
-    ASSERT (errno == EBADF);
-    ASSERT (ferror (fp));
-    fclose (fp);
-  }
-
-  /* Test that fgetc() sets errno if the stream was constructed with
-     an invalid file descriptor.  */
-  {
-    FILE *fp = fdopen (-1, "r");
-    if (fp != NULL)
-      {
-        errno = 0;
-        ASSERT (fgetc (fp) == EOF);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-  {
-    FILE *fp = fdopen (99, "r");
-    if (fp != NULL)
-      {
-        errno = 0;
-        ASSERT (fgetc (fp) == EOF);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-
-  /* Clean up.  */
-  unlink (filename);
-
-  return 0;
-}
diff --git a/gltests/test-fputc.c b/gltests/test-fputc.c
deleted file mode 100644 (file)
index fd92ae8..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Test of fputc() function.
-   Copyright (C) 2011-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fputc, int, (int, FILE *));
-
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "msvc-inval.h"
-
-#include "macros.h"
-
-int
-main (int argc, char **argv)
-{
-  const char *filename = "test-fputc.txt";
-
-  /* We don't have an fputc() function that installs an invalid parameter
-     handler so far.  So install that handler here, explicitly.  */
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
-    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
-  gl_msvc_inval_ensure_handler ();
-#endif
-
-  /* Test that fputc() on an unbuffered stream sets errno if someone else
-     closes the stream fd behind the back of stdio.  */
-  {
-    FILE *fp = fopen (filename, "w");
-    ASSERT (fp != NULL);
-    setvbuf (fp, NULL, _IONBF, 0);
-    ASSERT (close (fileno (fp)) == 0);
-    errno = 0;
-    ASSERT (fputc ('x', fp) == EOF);
-    ASSERT (errno == EBADF);
-    ASSERT (ferror (fp));
-    fclose (fp);
-  }
-
-  /* Test that fputc() on an unbuffered stream sets errno if the stream
-     was constructed with an invalid file descriptor.  */
-  {
-    FILE *fp = fdopen (-1, "w");
-    if (fp != NULL)
-      {
-        setvbuf (fp, NULL, _IONBF, 0);
-        errno = 0;
-        ASSERT (fputc ('x', fp) == EOF);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-  {
-    FILE *fp = fdopen (99, "w");
-    if (fp != NULL)
-      {
-        setvbuf (fp, NULL, _IONBF, 0);
-        errno = 0;
-        ASSERT (fputc ('x', fp) == EOF);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-
-  /* Clean up.  */
-  unlink (filename);
-
-  return 0;
-}
diff --git a/gltests/test-fread.c b/gltests/test-fread.c
deleted file mode 100644 (file)
index 792299b..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Test of fread() function.
-   Copyright (C) 2011-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
-
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "msvc-inval.h"
-
-#include "macros.h"
-
-int
-main (int argc, char **argv)
-{
-  const char *filename = "test-fread.txt";
-
-  /* We don't have an fread() function that installs an invalid parameter
-     handler so far.  So install that handler here, explicitly.  */
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
-    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
-  gl_msvc_inval_ensure_handler ();
-#endif
-
-  /* Prepare a file.  */
-  {
-    const char text[] = "hello world";
-    int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
-    ASSERT (fd >= 0);
-    ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
-    ASSERT (close (fd) == 0);
-  }
-
-  /* Test that fread() sets errno if someone else closes the stream
-     fd behind the back of stdio.  */
-  {
-    FILE *fp = fopen (filename, "r");
-    char buf[5];
-    ASSERT (fp != NULL);
-    ASSERT (close (fileno (fp)) == 0);
-    errno = 0;
-    ASSERT (fread (buf, 1, sizeof (buf), fp) == 0);
-    ASSERT (errno == EBADF);
-    ASSERT (ferror (fp));
-    fclose (fp);
-  }
-
-  /* Test that fread() sets errno if the stream was constructed with
-     an invalid file descriptor.  */
-  {
-    FILE *fp = fdopen (-1, "r");
-    if (fp != NULL)
-      {
-        char buf[1];
-        errno = 0;
-        ASSERT (fread (buf, 1, 1, fp) == 0);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-  {
-    FILE *fp = fdopen (99, "r");
-    if (fp != NULL)
-      {
-        char buf[1];
-        errno = 0;
-        ASSERT (fread (buf, 1, 1, fp) == 0);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-
-  /* Clean up.  */
-  unlink (filename);
-
-  return 0;
-}
diff --git a/gltests/test-fstat.c b/gltests/test-fstat.c
deleted file mode 100644 (file)
index 7f3c3c4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Tests of fstat() function.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <sys/stat.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fstat, int, (int, struct stat *));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    struct stat statbuf;
-
-    errno = 0;
-    ASSERT (fstat (-1, &statbuf) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    struct stat statbuf;
-
-    errno = 0;
-    ASSERT (fstat (99, &statbuf) == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-fwrite.c b/gltests/test-fwrite.c
deleted file mode 100644 (file)
index 1f3a66d..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Test of fwrite() function.
-   Copyright (C) 2011-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
-
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "msvc-inval.h"
-
-#include "macros.h"
-
-int
-main (int argc, char **argv)
-{
-  const char *filename = "test-fwrite.txt";
-
-  /* We don't have an fwrite() function that installs an invalid parameter
-     handler so far.  So install that handler here, explicitly.  */
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
-    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
-  gl_msvc_inval_ensure_handler ();
-#endif
-
-  /* Test that fwrite() on an unbuffered stream sets errno if someone else
-     closes the stream fd behind the back of stdio.  */
-  {
-    FILE *fp = fopen (filename, "w");
-    char buf[5] = "world";
-    ASSERT (fp != NULL);
-    setvbuf (fp, NULL, _IONBF, 0);
-    ASSERT (close (fileno (fp)) == 0);
-    errno = 0;
-    ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
-    ASSERT (errno == EBADF);
-    ASSERT (ferror (fp));
-    fclose (fp);
-  }
-
-  /* Test that fwrite() on an unbuffered stream sets errno if the stream
-     was constructed with an invalid file descriptor.  */
-  {
-    FILE *fp = fdopen (-1, "w");
-    if (fp != NULL)
-      {
-        char buf[5] = "world";
-        setvbuf (fp, NULL, _IONBF, 0);
-        errno = 0;
-        ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-  {
-    FILE *fp = fdopen (99, "w");
-    if (fp != NULL)
-      {
-        char buf[5] = "world";
-        setvbuf (fp, NULL, _IONBF, 0);
-        errno = 0;
-        ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
-        ASSERT (errno == EBADF);
-        ASSERT (ferror (fp));
-        fclose (fp);
-      }
-  }
-
-  /* Clean up.  */
-  unlink (filename);
-
-  return 0;
-}
diff --git a/gltests/test-getcwd-lgpl.c b/gltests/test-getcwd-lgpl.c
deleted file mode 100644 (file)
index 3010760..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Test of getcwd() function.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (getcwd, char *, (char *, size_t));
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main (int argc, char **argv)
-{
-  char *pwd1;
-  char *pwd2;
-  /* If the user provides an argument, attempt to chdir there first.  */
-  if (1 < argc)
-    {
-      if (chdir (argv[1]) == 0)
-        printf ("changed to directory %s\n", argv[1]);
-    }
-
-  pwd1 = getcwd (NULL, 0);
-  ASSERT (pwd1 && *pwd1);
-  if (1 < argc)
-    printf ("cwd=%s\n", pwd1);
-
-  /* Make sure the result is usable.  */
-  ASSERT (chdir (pwd1) == 0);
-  ASSERT (chdir (".//./.") == 0);
-
-  /* Make sure that result is normalized.  */
-  pwd2 = getcwd (NULL, 0);
-  ASSERT (pwd2);
-  ASSERT (strcmp (pwd1, pwd2) == 0);
-  free (pwd2);
-  {
-    size_t len = strlen (pwd1);
-    ssize_t i = len - 10;
-    if (i < 1)
-      i = 1;
-    pwd2 = getcwd (NULL, len + 1);
-    ASSERT (pwd2);
-    free (pwd2);
-    pwd2 = malloc (len + 2);
-    for ( ; i <= len; i++)
-      {
-        char *tmp;
-        errno = 0;
-        ASSERT (getcwd (pwd2, i) == NULL);
-        ASSERT (errno == ERANGE);
-        /* Allow either glibc or BSD behavior, since POSIX allows both.  */
-        errno = 0;
-        tmp = getcwd (NULL, i);
-        if (tmp)
-          {
-            ASSERT (strcmp (pwd1, tmp) == 0);
-            free (tmp);
-          }
-        else
-          {
-            ASSERT (errno == ERANGE);
-          }
-      }
-    ASSERT (getcwd (pwd2, len + 1) == pwd2);
-    pwd2[len] = '/';
-    pwd2[len + 1] = '\0';
-  }
-  ASSERT (strstr (pwd2, "/./") == NULL);
-  ASSERT (strstr (pwd2, "/../") == NULL);
-  ASSERT (strstr (pwd2 + 1 + (pwd2[1] == '/'), "//") == NULL);
-
-  /* Validate a POSIX requirement on size.  */
-  errno = 0;
-  ASSERT (getcwd(pwd2, 0) == NULL);
-  ASSERT (errno == EINVAL);
-
-  free (pwd1);
-  free (pwd2);
-
-  return 0;
-}
diff --git a/gltests/test-getopt.c b/gltests/test-getopt.c
deleted file mode 100644 (file)
index e08a834..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Test of command line argument processing.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2009.  */
-
-#include <config.h>
-
-/* None of the files accessed by this test are large, so disable the
-   ftell link warning if we are not using the gnulib ftell module.  */
-#define _GL_NO_LARGE_FILES
-
-#if GNULIB_TEST_GETOPT_GNU
-# include <getopt.h>
-
-# ifndef __getopt_argv_const
-#  define __getopt_argv_const const
-# endif
-# include "signature.h"
-SIGNATURE_CHECK (getopt_long, int, (int, char *__getopt_argv_const *,
-                                    char const *, struct option const *,
-                                    int *));
-SIGNATURE_CHECK (getopt_long_only, int, (int, char *__getopt_argv_const *,
-                                         char const *, struct option const *,
-                                         int *));
-
-#endif
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (getopt, int, (int, char * const[], char const *));
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* This test intentionally remaps stderr.  So, we arrange to have fd 10
-   (outside the range of interesting fd's during the test) set up to
-   duplicate the original stderr.  */
-
-#define BACKUP_STDERR_FILENO 10
-#define ASSERT_STREAM myerr
-#include "macros.h"
-
-static FILE *myerr;
-
-#include "test-getopt.h"
-#if GNULIB_TEST_GETOPT_GNU
-# include "test-getopt_long.h"
-#endif
-
-int
-main (void)
-{
-   /* This test validates that stderr is used correctly, so move the
-      original into fd 10.  */
-  if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
-      || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL)
-    return 2;
-
-  ASSERT (freopen ("test-getopt.tmp", "w", stderr) == stderr);
-
-  /* These default values are required by POSIX.  */
-  ASSERT (optind == 1);
-  ASSERT (opterr != 0);
-
-  setenv ("POSIXLY_CORRECT", "1", 1);
-  test_getopt ();
-
-#if GNULIB_TEST_GETOPT_GNU
-  test_getopt_long_posix ();
-#endif
-
-  unsetenv ("POSIXLY_CORRECT");
-  test_getopt ();
-
-#if GNULIB_TEST_GETOPT_GNU
-  test_getopt_long ();
-  test_getopt_long_only ();
-#endif
-
-  ASSERT (fclose (stderr) == 0);
-  ASSERT (remove ("test-getopt.tmp") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-getopt.h b/gltests/test-getopt.h
deleted file mode 100644 (file)
index 978b753..0000000
+++ /dev/null
@@ -1,1391 +0,0 @@
-/* Test of command line argument processing.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2009.  */
-
-#include <stdbool.h>
-
-/* The glibc/gnulib implementation of getopt supports setting optind =
-   0, but not all other implementations do.  This matters for getopt.
-   But for getopt_long, we require GNU compatibility.  */
-#if defined __GETOPT_PREFIX || (__GLIBC__ >= 2 && !defined __UCLIBC__)
-# define OPTIND_MIN 0
-#elif HAVE_DECL_OPTRESET
-# define OPTIND_MIN (optreset = 1)
-#else
-# define OPTIND_MIN 1
-#endif
-
-static void
-getopt_loop (int argc, const char **argv,
-             const char *options,
-             int *a_seen, int *b_seen,
-             const char **p_value, const char **q_value,
-             int *non_options_count, const char **non_options,
-             int *unrecognized, bool *message_issued)
-{
-  int c;
-  int pos = ftell (stderr);
-
-  while ((c = getopt (argc, (char **) argv, options)) != -1)
-    {
-      switch (c)
-        {
-        case 'a':
-          (*a_seen)++;
-          break;
-        case 'b':
-          (*b_seen)++;
-          break;
-        case 'p':
-          *p_value = optarg;
-          break;
-        case 'q':
-          *q_value = optarg;
-          break;
-        case '\1':
-          /* Must only happen with option '-' at the beginning.  */
-          ASSERT (options[0] == '-');
-          non_options[(*non_options_count)++] = optarg;
-          break;
-        case ':':
-          /* Must only happen with option ':' at the beginning.  */
-          ASSERT (options[0] == ':'
-                  || ((options[0] == '-' || options[0] == '+')
-                      && options[1] == ':'));
-          /* fall through */
-        case '?':
-          *unrecognized = optopt;
-          break;
-        default:
-          *unrecognized = c;
-          break;
-        }
-    }
-
-  *message_issued = pos < ftell (stderr);
-}
-
-static void
-test_getopt (void)
-{
-  int start;
-  bool posixly = !!getenv ("POSIXLY_CORRECT");
-  /* See comment in getopt.c:
-     glibc gets a LSB-compliant getopt.
-     Standalone applications get a POSIX-compliant getopt.  */
-#if defined __GETOPT_PREFIX || !(__GLIBC__ >= 2 || defined __MINGW32__)
-  /* Using getopt from gnulib or from a non-glibc system.  */
-  posixly = true;
-#endif
-
-  /* Test processing of boolean options.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "ab",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-b";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "ab",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ba";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "ab",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "ab",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 2);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-      ASSERT (!output);
-    }
-
-  /* Test processing of options with arguments.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "p:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "p:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "-q";
-      argv[argc++] = "baz";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-      ASSERT (!output);
-    }
-
-#if GNULIB_TEST_GETOPT_GNU
-  /* Test processing of options with optional arguments.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "p::q::",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "p::q::",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp::q::",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-      ASSERT (!output);
-    }
-#endif /* GNULIB_TEST_GETOPT_GNU */
-
-  /* Check that invalid options are recognized; and that both opterr
-     and leading ':' can silence output.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-x";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 42;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'x');
-      ASSERT (optind == 5);
-      ASSERT (output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-x";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 0;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'x');
-      ASSERT (optind == 5);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-x";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, ":abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'x');
-      ASSERT (optind == 5);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-:";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 42;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == ':');
-      ASSERT (optind == 5);
-      ASSERT (output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-:";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 0;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == ':');
-      ASSERT (optind == 5);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-:";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, ":abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == ':');
-      ASSERT (optind == 5);
-      ASSERT (!output);
-    }
-
-  /* Check for missing argument behavior.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ap";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'p');
-      ASSERT (optind == 2);
-      ASSERT (output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ap";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 0;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'p');
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ap";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, ":abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'p');
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-
-  /* Check that by default, non-options arguments are moved to the end.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      if (posixly)
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "donald") == 0);
-          ASSERT (strcmp (argv[2], "-p") == 0);
-          ASSERT (strcmp (argv[3], "billy") == 0);
-          ASSERT (strcmp (argv[4], "duck") == 0);
-          ASSERT (strcmp (argv[5], "-a") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 0);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value == NULL);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 1);
-          ASSERT (!output);
-        }
-      else
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "-p") == 0);
-          ASSERT (strcmp (argv[2], "billy") == 0);
-          ASSERT (strcmp (argv[3], "-a") == 0);
-          ASSERT (strcmp (argv[4], "donald") == 0);
-          ASSERT (strcmp (argv[5], "duck") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 1);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 4);
-          ASSERT (!output);
-        }
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[20];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      if (posixly)
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "donald") == 0);
-          ASSERT (strcmp (argv[2], "-p") == 0);
-          ASSERT (strcmp (argv[3], "billy") == 0);
-          ASSERT (strcmp (argv[4], "duck") == 0);
-          ASSERT (strcmp (argv[5], "-a") == 0);
-          ASSERT (strcmp (argv[6], "--") == 0);
-          ASSERT (strcmp (argv[7], "-b") == 0);
-          ASSERT (strcmp (argv[8], "foo") == 0);
-          ASSERT (strcmp (argv[9], "-q") == 0);
-          ASSERT (strcmp (argv[10], "johnny") == 0);
-          ASSERT (strcmp (argv[11], "bar") == 0);
-          ASSERT (argv[12] == NULL);
-          ASSERT (a_seen == 0);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value == NULL);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 1);
-          ASSERT (!output);
-        }
-      else
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "-p") == 0);
-          ASSERT (strcmp (argv[2], "billy") == 0);
-          ASSERT (strcmp (argv[3], "-a") == 0);
-          ASSERT (strcmp (argv[4], "--") == 0);
-          ASSERT (strcmp (argv[5], "donald") == 0);
-          ASSERT (strcmp (argv[6], "duck") == 0);
-          ASSERT (strcmp (argv[7], "-b") == 0);
-          ASSERT (strcmp (argv[8], "foo") == 0);
-          ASSERT (strcmp (argv[9], "-q") == 0);
-          ASSERT (strcmp (argv[10], "johnny") == 0);
-          ASSERT (strcmp (argv[11], "bar") == 0);
-          ASSERT (argv[12] == NULL);
-          ASSERT (a_seen == 1);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 5);
-          ASSERT (!output);
-        }
-    }
-
-#if GNULIB_TEST_GETOPT_GNU
-  /* Check that the '-' flag causes non-options to be returned in order.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "-abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 3);
-      ASSERT (strcmp (non_options[0], "donald") == 0);
-      ASSERT (strcmp (non_options[1], "duck") == 0);
-      ASSERT (strcmp (non_options[2], "bar") == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 7);
-      ASSERT (!output);
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[20];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "-abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "--") == 0);
-      ASSERT (strcmp (argv[7], "-b") == 0);
-      ASSERT (strcmp (argv[8], "foo") == 0);
-      ASSERT (strcmp (argv[9], "-q") == 0);
-      ASSERT (strcmp (argv[10], "johnny") == 0);
-      ASSERT (strcmp (argv[11], "bar") == 0);
-      ASSERT (argv[12] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (!output);
-      if (non_options_count == 2)
-        {
-          /* glibc behaviour.  */
-          ASSERT (non_options_count == 2);
-          ASSERT (strcmp (non_options[0], "donald") == 0);
-          ASSERT (strcmp (non_options[1], "duck") == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 7);
-        }
-      else
-        {
-          /* Another valid behaviour.  */
-          ASSERT (non_options_count == 7);
-          ASSERT (strcmp (non_options[0], "donald") == 0);
-          ASSERT (strcmp (non_options[1], "duck") == 0);
-          ASSERT (strcmp (non_options[2], "-b") == 0);
-          ASSERT (strcmp (non_options[3], "foo") == 0);
-          ASSERT (strcmp (non_options[4], "-q") == 0);
-          ASSERT (strcmp (non_options[5], "johnny") == 0);
-          ASSERT (strcmp (non_options[6], "bar") == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 12);
-        }
-    }
-
-  /* Check that the '-' flag has to come first.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:-",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      if (posixly)
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "donald") == 0);
-          ASSERT (strcmp (argv[2], "-p") == 0);
-          ASSERT (strcmp (argv[3], "billy") == 0);
-          ASSERT (strcmp (argv[4], "duck") == 0);
-          ASSERT (strcmp (argv[5], "-a") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 0);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value == NULL);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 1);
-          ASSERT (!output);
-        }
-      else
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "-p") == 0);
-          ASSERT (strcmp (argv[2], "billy") == 0);
-          ASSERT (strcmp (argv[3], "-a") == 0);
-          ASSERT (strcmp (argv[4], "donald") == 0);
-          ASSERT (strcmp (argv[5], "duck") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 1);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 4);
-          ASSERT (!output);
-        }
-    }
-
-  /* Check that the '+' flag causes the first non-option to terminate the
-     loop.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "+abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-+";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_loop (argc, argv, "+abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == '+');
-      ASSERT (optind == 2);
-      ASSERT (output);
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[20];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "+abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "--") == 0);
-      ASSERT (strcmp (argv[7], "-b") == 0);
-      ASSERT (strcmp (argv[8], "foo") == 0);
-      ASSERT (strcmp (argv[9], "-q") == 0);
-      ASSERT (strcmp (argv[10], "johnny") == 0);
-      ASSERT (strcmp (argv[11], "bar") == 0);
-      ASSERT (argv[12] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-      ASSERT (!output);
-    }
-#endif /* GNULIB_TEST_GETOPT_GNU */
-
-  /* Check that the '+' flag has to come first.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "abp:q:+",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      if (posixly)
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "donald") == 0);
-          ASSERT (strcmp (argv[2], "-p") == 0);
-          ASSERT (strcmp (argv[3], "billy") == 0);
-          ASSERT (strcmp (argv[4], "duck") == 0);
-          ASSERT (strcmp (argv[5], "-a") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 0);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value == NULL);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 1);
-          ASSERT (!output);
-        }
-      else
-        {
-          ASSERT (strcmp (argv[0], "program") == 0);
-          ASSERT (strcmp (argv[1], "-p") == 0);
-          ASSERT (strcmp (argv[2], "billy") == 0);
-          ASSERT (strcmp (argv[3], "-a") == 0);
-          ASSERT (strcmp (argv[4], "donald") == 0);
-          ASSERT (strcmp (argv[5], "duck") == 0);
-          ASSERT (strcmp (argv[6], "bar") == 0);
-          ASSERT (argv[7] == NULL);
-          ASSERT (a_seen == 1);
-          ASSERT (b_seen == 0);
-          ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-          ASSERT (q_value == NULL);
-          ASSERT (non_options_count == 0);
-          ASSERT (unrecognized == 0);
-          ASSERT (optind == 4);
-          ASSERT (!output);
-        }
-    }
-
-#if GNULIB_TEST_GETOPT_GNU
-  /* If GNU extensions are supported, require compliance with POSIX
-     interpretation on leading '+' behavior.
-     http://austingroupbugs.net/view.php?id=191  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      getopt_loop (argc, argv, "+:abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_loop (argc, argv, "+:abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'p');
-      ASSERT (optind == 2);
-      ASSERT (!output);
-    }
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int a_seen = 0;
-      int b_seen = 0;
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      bool output;
-      int argc = 0;
-      const char *argv[10];
-
-      argv[argc++] = "program";
-      argv[argc++] = "-b";
-      argv[argc++] = "-p";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_loop (argc, argv, "+:abp:q:",
-                   &a_seen, &b_seen, &p_value, &q_value,
-                   &non_options_count, non_options, &unrecognized, &output);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'p');
-      ASSERT (optind == 3);
-      ASSERT (!output);
-    }
-
-  /* Check that 'W' does not dump core:
-     http://sourceware.org/bugzilla/show_bug.cgi?id=12922
-     Technically, POSIX says the presence of ';' in the opt-string
-     gives unspecified behavior, so we only test this when GNU compliance
-     is desired.  */
-  for (start = OPTIND_MIN; start <= 1; start++)
-    {
-      int argc = 0;
-      const char *argv[10];
-      int pos = ftell (stderr);
-
-      argv[argc++] = "program";
-      argv[argc++] = "-W";
-      argv[argc++] = "dummy";
-      argv[argc] = NULL;
-      optind = start;
-      opterr = 1;
-      ASSERT (getopt (argc, (char **) argv, "W;") == 'W');
-      ASSERT (ftell (stderr) == pos);
-      ASSERT (optind == 2);
-    }
-#endif /* GNULIB_TEST_GETOPT_GNU */
-}
diff --git a/gltests/test-getopt_long.h b/gltests/test-getopt_long.h
deleted file mode 100644 (file)
index 9d55c65..0000000
+++ /dev/null
@@ -1,2144 +0,0 @@
-/* Test of command line argument processing.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2009.  */
-
-static int a_seen;
-static int b_seen;
-static int q_seen;
-
-static const struct option long_options_required[] =
-  {
-    { "alpha",    no_argument,       NULL, 'a' },
-    { "beta",     no_argument,       &b_seen, 1 },
-    { "prune",    required_argument, NULL, 'p' },
-    { "quetsche", required_argument, &q_seen, 1 },
-    { "xtremely-",no_argument,       NULL, 1003 },
-    { "xtra",     no_argument,       NULL, 1001 },
-    { "xtreme",   no_argument,       NULL, 1002 },
-    { "xtremely", no_argument,       NULL, 1003 },
-    { NULL,       0,                 NULL, 0 }
-  };
-
-static const struct option long_options_optional[] =
-  {
-    { "alpha",    no_argument,       NULL, 'a' },
-    { "beta",     no_argument,       &b_seen, 1 },
-    { "prune",    optional_argument, NULL, 'p' },
-    { "quetsche", optional_argument, &q_seen, 1 },
-    { NULL,       0,                 NULL, 0 }
-  };
-
-static void
-getopt_long_loop (int argc, const char **argv,
-                  const char *options, const struct option *long_options,
-                  const char **p_value, const char **q_value,
-                  int *non_options_count, const char **non_options,
-                  int *unrecognized)
-{
-  int option_index = -1;
-  int c;
-
-  opterr = 0;
-  q_seen = 0;
-  while ((c = getopt_long (argc, (char **) argv, options, long_options,
-                           &option_index))
-         != -1)
-    {
-      switch (c)
-        {
-        case 0:
-          /* An option with a non-NULL flag pointer was processed.  */
-          if (q_seen)
-            *q_value = optarg;
-          break;
-        case 'a':
-          a_seen++;
-          break;
-        case 'b':
-          b_seen = 1;
-          break;
-        case 'p':
-          *p_value = optarg;
-          break;
-        case 'q':
-          *q_value = optarg;
-          break;
-        case '\1':
-          /* Must only happen with option '-' at the beginning.  */
-          ASSERT (options[0] == '-');
-          non_options[(*non_options_count)++] = optarg;
-          break;
-        case ':':
-          /* Must only happen with option ':' at the beginning.  */
-          ASSERT (options[0] == ':'
-                  || ((options[0] == '-' || options[0] == '+')
-                      && options[1] == ':'));
-          /* fall through */
-        case '?':
-          *unrecognized = optopt;
-          break;
-        default:
-          *unrecognized = c;
-          break;
-        }
-    }
-}
-
-/* Reduce casting, so we can use string literals elsewhere.
-   getopt_long takes an array of char*, but luckily does not modify
-   those elements, so we can pass const char*.  */
-static int
-do_getopt_long (int argc, const char **argv, const char *shortopts,
-                const struct option *longopts, int *longind)
-{
-  return getopt_long (argc, (char **) argv, shortopts, longopts, longind);
-}
-
-static void
-test_getopt_long (void)
-{
-  int start;
-
-  /* Test disambiguation of options.  */
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--x";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xt";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtr";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtra";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == 1001);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtre";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtrem";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtreme";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == 1002);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtremel";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == 1003);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--xtremely";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
-    ASSERT (c == 1003);
-  }
-
-  /* Check that -W handles unknown options.  */
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-W";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 'W');
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-Wunknown";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
-    /* glibc and BSD behave differently here, but for now, we allow
-       both behaviors since W support is not frequently used.  */
-    if (c == '?')
-      {
-        ASSERT (optopt == 0);
-        ASSERT (optarg == NULL);
-      }
-    else
-      {
-        ASSERT (c == 'W');
-        ASSERT (strcmp (optarg, "unknown") == 0);
-      }
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-W";
-    argv[argc++] = "unknown";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
-    /* glibc and BSD behave differently here, but for now, we allow
-       both behaviors since W support is not frequently used.  */
-    if (c == '?')
-      {
-        ASSERT (optopt == 0);
-        ASSERT (optarg == NULL);
-      }
-    else
-      {
-        ASSERT (c == 'W');
-        ASSERT (strcmp (optarg, "unknown") == 0);
-      }
-  }
-
-  /* Test that 'W' does not dump core:
-     http://sourceware.org/bugzilla/show_bug.cgi?id=12922  */
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-W";
-    argv[argc++] = "dummy";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long (argc, argv, "W;", NULL, &option_index);
-    ASSERT (c == 'W');
-    ASSERT (optind == 2);
-  }
-
-  /* Test processing of boolean short options.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-b";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ba";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "-a";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 2);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-
-  /* Test processing of boolean long options.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--alpha";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--beta";
-      argv[argc++] = "--alpha";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--alpha";
-      argv[argc++] = "--beta";
-      argv[argc++] = "--alpha";
-      argv[argc++] = "--beta";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 2);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-
-  /* Test processing of boolean long options via -W.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Walpha";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abW;", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-W";
-      argv[argc++] = "beta";
-      argv[argc++] = "-W";
-      argv[argc++] = "alpha";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "aW;b", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Walpha";
-      argv[argc++] = "-Wbeta";
-      argv[argc++] = "-Walpha";
-      argv[argc++] = "-Wbeta";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "W;ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 2);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-
-  /* Test processing of short options with arguments.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "-q";
-      argv[argc++] = "baz";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-
-  /* Test processing of long options with arguments.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "--q";
-      argv[argc++] = "baz";
-      argv[argc++] = "--p=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-
-  /* Test processing of long options with arguments via -W.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Wp=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:q:W;", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-W";
-      argv[argc++] = "p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p:W;q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-ab";
-      argv[argc++] = "-Wq";
-      argv[argc++] = "baz";
-      argv[argc++] = "-W";
-      argv[argc++] = "p=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "W;abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 6);
-    }
-
-  /* Test processing of short options with optional arguments.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-pfoo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-
-  /* Test processing of long options with optional arguments.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p=";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && *p_value == '\0');
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "--p";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-
-  /* Test processing of long options with optional arguments via -W.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Wp=foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::W;", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Wp";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::q::W;", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-Wp=";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "W;p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && *p_value == '\0');
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-W";
-      argv[argc++] = "p=";
-      argv[argc++] = "foo";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "W;p::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && *p_value == '\0');
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 3);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-W";
-      argv[argc++] = "p";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "W;abp::q::", long_options_optional,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      /* ASSERT (p_value == NULL); */
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-
-  /* Check that invalid options are recognized.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-x";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'x');
-      ASSERT (optind == 5);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "-:";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == ':');
-      ASSERT (optind == 5);
-    }
-
-  /* Check that unexpected arguments are recognized.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "--a=";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 'a');
-      ASSERT (optind == 4);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "foo";
-      argv[argc++] = "--b=";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      /* When flag is non-zero, glibc sets optopt anyway, but BSD
-         leaves optopt unchanged.  */
-      ASSERT (unrecognized == 1 || unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-
-  /* Check that by default, non-options arguments are moved to the end.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "-p") == 0);
-      ASSERT (strcmp (argv[2], "billy") == 0);
-      ASSERT (strcmp (argv[3], "-a") == 0);
-      ASSERT (strcmp (argv[4], "donald") == 0);
-      ASSERT (strcmp (argv[5], "duck") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[20];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "-p") == 0);
-      ASSERT (strcmp (argv[2], "billy") == 0);
-      ASSERT (strcmp (argv[3], "-a") == 0);
-      ASSERT (strcmp (argv[4], "--") == 0);
-      ASSERT (strcmp (argv[5], "donald") == 0);
-      ASSERT (strcmp (argv[6], "duck") == 0);
-      ASSERT (strcmp (argv[7], "-b") == 0);
-      ASSERT (strcmp (argv[8], "foo") == 0);
-      ASSERT (strcmp (argv[9], "-q") == 0);
-      ASSERT (strcmp (argv[10], "johnny") == 0);
-      ASSERT (strcmp (argv[11], "bar") == 0);
-      ASSERT (argv[12] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 5);
-    }
-
-  /* Check that the '-' flag causes non-options to be returned in order.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 3);
-      ASSERT (strcmp (non_options[0], "donald") == 0);
-      ASSERT (strcmp (non_options[1], "duck") == 0);
-      ASSERT (strcmp (non_options[2], "bar") == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 7);
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[20];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "--") == 0);
-      ASSERT (strcmp (argv[7], "-b") == 0);
-      ASSERT (strcmp (argv[8], "foo") == 0);
-      ASSERT (strcmp (argv[9], "-q") == 0);
-      ASSERT (strcmp (argv[10], "johnny") == 0);
-      ASSERT (strcmp (argv[11], "bar") == 0);
-      ASSERT (argv[12] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      if (non_options_count == 2)
-      {
-        /* glibc behaviour.  */
-        ASSERT (non_options_count == 2);
-        ASSERT (strcmp (non_options[0], "donald") == 0);
-        ASSERT (strcmp (non_options[1], "duck") == 0);
-        ASSERT (unrecognized == 0);
-        ASSERT (optind == 7);
-      }
-      else
-      {
-        /* Another valid behaviour.  */
-        ASSERT (non_options_count == 7);
-        ASSERT (strcmp (non_options[0], "donald") == 0);
-        ASSERT (strcmp (non_options[1], "duck") == 0);
-        ASSERT (strcmp (non_options[2], "-b") == 0);
-        ASSERT (strcmp (non_options[3], "foo") == 0);
-        ASSERT (strcmp (non_options[4], "-q") == 0);
-        ASSERT (strcmp (non_options[5], "johnny") == 0);
-        ASSERT (strcmp (non_options[6], "bar") == 0);
-        ASSERT (unrecognized == 0);
-        ASSERT (optind == 12);
-      }
-    }
-
-  /* Check that the '-' flag has to come first.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:-", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "-p") == 0);
-      ASSERT (strcmp (argv[2], "billy") == 0);
-      ASSERT (strcmp (argv[3], "-a") == 0);
-      ASSERT (strcmp (argv[4], "donald") == 0);
-      ASSERT (strcmp (argv[5], "duck") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-
-  /* Check that the '+' flag causes the first non-option to terminate the
-     loop.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-    }
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-+";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == '+');
-      ASSERT (optind == 2);
-    }
-
-  /* Check that '--' ends the argument processing.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[20];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "--";
-      argv[argc++] = "-b";
-      argv[argc++] = "foo";
-      argv[argc++] = "-q";
-      argv[argc++] = "johnny";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "--") == 0);
-      ASSERT (strcmp (argv[7], "-b") == 0);
-      ASSERT (strcmp (argv[8], "foo") == 0);
-      ASSERT (strcmp (argv[9], "-q") == 0);
-      ASSERT (strcmp (argv[10], "johnny") == 0);
-      ASSERT (strcmp (argv[11], "bar") == 0);
-      ASSERT (argv[12] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-    }
-
-  /* Check that the '+' flag has to come first.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:+", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "-p") == 0);
-      ASSERT (strcmp (argv[2], "billy") == 0);
-      ASSERT (strcmp (argv[3], "-a") == 0);
-      ASSERT (strcmp (argv[4], "donald") == 0);
-      ASSERT (strcmp (argv[5], "duck") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-}
-
-/* Test behavior of getopt_long when POSIXLY_CORRECT is set in the
-   environment.  Options with optional arguments should not change
-   behavior just because of an environment variable.
-   http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html  */
-static void
-test_getopt_long_posix (void)
-{
-  int start;
-
-  /* Check that POSIXLY_CORRECT stops parsing the same as leading '+'.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "donald";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc++] = "duck";
-      argv[argc++] = "-a";
-      argv[argc++] = "bar";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "abp:q:", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (strcmp (argv[0], "program") == 0);
-      ASSERT (strcmp (argv[1], "donald") == 0);
-      ASSERT (strcmp (argv[2], "-p") == 0);
-      ASSERT (strcmp (argv[3], "billy") == 0);
-      ASSERT (strcmp (argv[4], "duck") == 0);
-      ASSERT (strcmp (argv[5], "-a") == 0);
-      ASSERT (strcmp (argv[6], "bar") == 0);
-      ASSERT (argv[7] == NULL);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 1);
-    }
-
-  /* Check that POSIXLY_CORRECT doesn't change optional arguments.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-p";
-      argv[argc++] = "billy";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "p::", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 0);
-      ASSERT (b_seen == 0);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 2);
-    }
-
-  /* Check that leading - still sees options after non-options.  */
-  for (start = 0; start <= 1; start++)
-    {
-      const char *p_value = NULL;
-      const char *q_value = NULL;
-      int non_options_count = 0;
-      const char *non_options[10];
-      int unrecognized = 0;
-      int argc = 0;
-      const char *argv[10];
-      a_seen = 0;
-      b_seen = 0;
-
-      argv[argc++] = "program";
-      argv[argc++] = "-a";
-      argv[argc++] = "billy";
-      argv[argc++] = "-b";
-      argv[argc] = NULL;
-      optind = start;
-      getopt_long_loop (argc, argv, "-ab", long_options_required,
-                        &p_value, &q_value,
-                        &non_options_count, non_options, &unrecognized);
-      ASSERT (a_seen == 1);
-      ASSERT (b_seen == 1);
-      ASSERT (p_value == NULL);
-      ASSERT (q_value == NULL);
-      ASSERT (non_options_count == 1);
-      ASSERT (strcmp (non_options[0], "billy") == 0);
-      ASSERT (unrecognized == 0);
-      ASSERT (optind == 4);
-    }
-}
-
-/* Reduce casting, so we can use string literals elsewhere.
-   getopt_long_only takes an array of char*, but luckily does not
-   modify those elements, so we can pass const char*.  */
-static int
-do_getopt_long_only (int argc, const char **argv, const char *shortopts,
-                     const struct option *longopts, int *longind)
-{
-  return getopt_long_only (argc, (char **) argv, shortopts, longopts, longind);
-}
-
-static void
-test_getopt_long_only (void)
-{
-  /* Test disambiguation of options.  */
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-x";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "ab", long_options_required,
-                             &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-x";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx", long_options_required,
-                             &option_index);
-    ASSERT (c == 'x');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--x";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx", long_options_required,
-                             &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-b";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    b_seen = 0;
-    c = do_getopt_long_only (argc, argv, "abx", long_options_required,
-                             &option_index);
-    ASSERT (c == 'b');
-    ASSERT (b_seen == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "--b";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    b_seen = 0;
-    c = do_getopt_long_only (argc, argv, "abx", long_options_required,
-                             &option_index);
-    ASSERT (c == 0);
-    ASSERT (b_seen == 1);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xt";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "ab", long_options_required,
-                             &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xt";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx", long_options_required,
-                             &option_index);
-    ASSERT (c == '?');
-    ASSERT (optopt == 0);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xtra";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "ab", long_options_required,
-                             &option_index);
-    ASSERT (c == 1001);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xtreme";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx:", long_options_required,
-                             &option_index);
-    ASSERT (c == 1002);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xtremel";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "ab", long_options_required,
-                             &option_index);
-    /* glibc getopt_long_only is intentionally different from
-       getopt_long when handling a prefix that is common to two
-       spellings, when both spellings have the same option directives.
-       BSD getopt_long_only treats both cases the same.  */
-    ASSERT (c == 1003 || c == '?');
-    ASSERT (optind == 2);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xtremel";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx::", long_options_required,
-                             &option_index);
-    /* glibc getopt_long_only is intentionally different from
-       getopt_long when handling a prefix that is common to two
-       spellings, when both spellings have the same option directives.
-       BSD getopt_long_only treats both cases the same.  */
-    ASSERT (c == 1003 || c == '?');
-    ASSERT (optind == 2);
-    ASSERT (optarg == NULL);
-  }
-  {
-    int argc = 0;
-    const char *argv[10];
-    int option_index;
-    int c;
-
-    argv[argc++] = "program";
-    argv[argc++] = "-xtras";
-    argv[argc] = NULL;
-    optind = 1;
-    opterr = 0;
-    c = do_getopt_long_only (argc, argv, "abx::", long_options_required,
-                             &option_index);
-    ASSERT (c == 'x');
-    ASSERT (strcmp (optarg, "tras") == 0);
-  }
-}
diff --git a/gltests/test-ignore-value.c b/gltests/test-ignore-value.c
deleted file mode 100644 (file)
index f036134..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Test the "ignore-value" module.
-
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Eric Blake.  */
-
-#include <config.h>
-
-#include "ignore-value.h"
-
-#include <stdio.h>
-
-#ifndef _GL_ATTRIBUTE_RETURN_CHECK
-# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
-#  define _GL_ATTRIBUTE_RETURN_CHECK
-# else
-#  define _GL_ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__))
-# endif
-#endif
-
-struct s { int i; };
-static char doChar (void) _GL_ATTRIBUTE_RETURN_CHECK;
-static int doInt (void) _GL_ATTRIBUTE_RETURN_CHECK;
-static off_t doOff (void) _GL_ATTRIBUTE_RETURN_CHECK;
-static void *doPtr (void) _GL_ATTRIBUTE_RETURN_CHECK;
-static struct s doStruct (void) _GL_ATTRIBUTE_RETURN_CHECK;
-
-static char
-doChar (void)
-{
-  return 0;
-}
-
-static int
-doInt (void)
-{
-  return 0;
-}
-
-static off_t
-doOff (void)
-{
-  return 0;
-}
-
-static void *
-doPtr (void)
-{
-  return NULL;
-}
-
-static struct s
-doStruct (void)
-{
-  static struct s s1;
-  return s1;
-}
-
-int
-main (void)
-{
-  /* If this test can compile with -Werror and the same warnings as
-     the rest of the project, then we are properly silencing warnings
-     about ignored return values.  */
-  ignore_value (doChar ());
-  ignore_value (doInt ());
-  ignore_value (doOff ());
-  ignore_value (doPtr ());
-  ignore_value (doStruct ());
-  return 0;
-}
diff --git a/gltests/test-init.sh b/gltests/test-init.sh
deleted file mode 100755 (executable)
index a2825cc..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# Unit tests for init.sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-# This file is part of the GNUlib Library.
-#
-# 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/>.  */
-
-: ${srcdir=.}
-. "$srcdir/init.sh"; path_prepend_ .
-
-fail=0
-
-test_compare()
-{
-  touch empty || fail=1
-  echo xyz > in || fail=1
-
-  compare /dev/null /dev/null >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  # "err" should be empty, too, but has "set -x" output when VERBOSE=yes
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare /dev/null empty >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare in in >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare /dev/null in >out 2>err && fail=1
-  cat <<\EOF > exp
-diff -u /dev/null in
---- /dev/null  1970-01-01
-+++ in 1970-01-01
-+xyz
-EOF
-  compare exp out || fail=1
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare empty in >out 2>err && fail=1
-  # Compare against expected output only if compare is using diff -u.
-  if grep @ out >/dev/null; then
-    # Remove the TAB-date suffix on each --- and +++ line,
-    # for both the expected and the actual output files.
-    # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
-    # -@@ -0,0 +1 @@
-    # +@@ -1,0 +1,1 @@
-    sed 's/    .*//;/^@@/d' out > k && mv k out
-    cat <<\EOF > exp
---- empty
-+++ in
-+xyz
-EOF
-    compare exp out || fail=1
-  fi
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-}
-
-test_compare
-
-Exit $fail
diff --git a/gltests/test-intprops.c b/gltests/test-intprops.c
deleted file mode 100644 (file)
index aeb1168..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-/* Test intprops.h.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Paul Eggert.  */
-
-/* Tell gcc not to warn about the many (X < 0) expressions that
-   the overflow macros expand to.  */
-#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
-# pragma GCC diagnostic ignored "-Wtype-limits"
-#endif
-
-#include <config.h>
-
-#include "intprops.h"
-#include "verify.h"
-
-#include <stdbool.h>
-#include <inttypes.h>
-
-#include "macros.h"
-
-/* VERIFY (X) uses a static assertion for compilers that are known to work,
-   and falls back on a dynamic assertion for other compilers.
-   These tests should be checkable via 'verify' rather than 'ASSERT', but
-   using 'verify' would run into a bug with HP-UX 11.23 cc; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.  */
-#if __GNUC__ || __SUNPRO_C
-# define VERIFY(x) do { verify (x); } while (0)
-#else
-# define VERIFY(x) ASSERT (x)
-#endif
-
-int
-main (void)
-{
-  /* Use VERIFY for tests that must be integer constant expressions,
-     ASSERT otherwise.  */
-
-  /* TYPE_IS_INTEGER.  */
-  ASSERT (TYPE_IS_INTEGER (bool));
-  ASSERT (TYPE_IS_INTEGER (char));
-  ASSERT (TYPE_IS_INTEGER (signed char));
-  ASSERT (TYPE_IS_INTEGER (unsigned char));
-  ASSERT (TYPE_IS_INTEGER (short int));
-  ASSERT (TYPE_IS_INTEGER (unsigned short int));
-  ASSERT (TYPE_IS_INTEGER (int));
-  ASSERT (TYPE_IS_INTEGER (unsigned int));
-  ASSERT (TYPE_IS_INTEGER (long int));
-  ASSERT (TYPE_IS_INTEGER (unsigned long int));
-  ASSERT (TYPE_IS_INTEGER (intmax_t));
-  ASSERT (TYPE_IS_INTEGER (uintmax_t));
-  ASSERT (! TYPE_IS_INTEGER (float));
-  ASSERT (! TYPE_IS_INTEGER (double));
-  ASSERT (! TYPE_IS_INTEGER (long double));
-
-  /* TYPE_SIGNED.  */
-  /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */
-  VERIFY (TYPE_SIGNED (signed char));
-  VERIFY (! TYPE_SIGNED (unsigned char));
-  VERIFY (TYPE_SIGNED (short int));
-  VERIFY (! TYPE_SIGNED (unsigned short int));
-  VERIFY (TYPE_SIGNED (int));
-  VERIFY (! TYPE_SIGNED (unsigned int));
-  VERIFY (TYPE_SIGNED (long int));
-  VERIFY (! TYPE_SIGNED (unsigned long int));
-  VERIFY (TYPE_SIGNED (intmax_t));
-  VERIFY (! TYPE_SIGNED (uintmax_t));
-  ASSERT (TYPE_SIGNED (float));
-  ASSERT (TYPE_SIGNED (double));
-  ASSERT (TYPE_SIGNED (long double));
-
-  /* Integer representation.  */
-  VERIFY (INT_MIN + INT_MAX < 0
-          ? (TYPE_TWOS_COMPLEMENT (int)
-             && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int))
-          : (! TYPE_TWOS_COMPLEMENT (int)
-             && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int))));
-
-  /* TYPE_MINIMUM, TYPE_MAXIMUM.  */
-  VERIFY (TYPE_MINIMUM (char) == CHAR_MIN);
-  VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned char) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX);
-  VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN);
-  VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
-  VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN);
-  VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned short int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX);
-  VERIFY (TYPE_MINIMUM (int) == INT_MIN);
-  VERIFY (TYPE_MAXIMUM (int) == INT_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX);
-  VERIFY (TYPE_MINIMUM (long int) == LONG_MIN);
-  VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned long int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX);
-  VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
-  VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
-  VERIFY (TYPE_MINIMUM (uintmax_t) == 0);
-  VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
-
-  /* INT_BITS_STRLEN_BOUND.  */
-  VERIFY (INT_BITS_STRLEN_BOUND (1) == 1);
-  VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789);
-
-  /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND.  */
-  #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX.  */
-  VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1);
-  VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648"));
-  #endif
-  #ifdef INT64_MAX
-  VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1);
-  VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808"));
-  #endif
-
-  /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
-     INT_<op>_OVERFLOW tests, so define a single macro to do both.  */
-  #define CHECK_BINOP(op, a, b, min, max, overflow)                      \
-    (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow)            \
-     && INT_##op##_OVERFLOW (a, b) == (overflow))
-  #define CHECK_UNOP(op, a, min, max, overflow)                          \
-    (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow)               \
-     && INT_##op##_OVERFLOW (a) == (overflow))
-
-  /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW.  */
-  VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
-  VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
-                      TYPE_TWOS_COMPLEMENT (int)));
-  VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
-                       LONG_MIN, LONG_MIN, false));
-
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
-
-  /* INT_<op>_OVERFLOW with mixed types.  */
-  #define CHECK_SUM(a, b, overflow)                       \
-    VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow));       \
-    VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
-  CHECK_SUM (-1, LONG_MIN, true);
-  CHECK_SUM (-1, UINT_MAX, false);
-  CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
-  CHECK_SUM (0u, -1, true);
-  CHECK_SUM (0u, 0, false);
-  CHECK_SUM (0u, 1, false);
-  CHECK_SUM (1, LONG_MAX, true);
-  CHECK_SUM (1, UINT_MAX, true);
-  CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
-  CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
-  CHECK_SUM (1u, INT_MIN, true);
-
-  VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
-  VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
-
-  #define CHECK_PRODUCT(a, b, overflow)                   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow));   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
-
-  CHECK_PRODUCT (-1, 1u, true);
-  CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
-  CHECK_PRODUCT (-1, UINT_MAX, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
-  CHECK_PRODUCT (0, -1, false);
-  CHECK_PRODUCT (0, 0, false);
-  CHECK_PRODUCT (0, 0u, false);
-  CHECK_PRODUCT (0, 1, false);
-  CHECK_PRODUCT (0, INT_MAX, false);
-  CHECK_PRODUCT (0, INT_MIN, false);
-  CHECK_PRODUCT (0, UINT_MAX, false);
-  CHECK_PRODUCT (0u, -1, false);
-  CHECK_PRODUCT (0u, 0, false);
-  CHECK_PRODUCT (0u, 0u, false);
-  CHECK_PRODUCT (0u, 1, false);
-  CHECK_PRODUCT (0u, INT_MAX, false);
-  CHECK_PRODUCT (0u, INT_MIN, false);
-  CHECK_PRODUCT (0u, UINT_MAX, false);
-  CHECK_PRODUCT (1, INT_MAX, false);
-  CHECK_PRODUCT (1, INT_MIN, false);
-  CHECK_PRODUCT (1, UINT_MAX, false);
-  CHECK_PRODUCT (1u, INT_MIN, true);
-  CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
-  CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
-  CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
-
-  VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
-  VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
-  VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
-  VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
-  VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
-
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
-          == (INTMAX_MAX < UINT_MAX
-              && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
-          == (INT_MIN % ULONG_MAX != 1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
-  VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
-
-  return 0;
-}
diff --git a/gltests/test-inttypes.c b/gltests/test-inttypes.c
deleted file mode 100644 (file)
index 698d3dc..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test of <inttypes.h> substitute.
-   Copyright (C) 2006-2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <inttypes.h>
-
-#include <stddef.h>
-
-/* Tests for macros supposed to be defined in inttypes.h.  */
-
-const char *k = /* implicit string concatenation */
-#ifdef INT8_MAX
-  PRId8 PRIi8
-#endif
-#ifdef UINT8_MAX
-  PRIo8 PRIu8 PRIx8 PRIX8
-#endif
-#ifdef INT16_MAX
-  PRId16 PRIi16
-#endif
-#ifdef UINT16_MAX
-  PRIo16 PRIu16 PRIx16 PRIX16
-#endif
-#ifdef INT32_MAX
-  PRId32 PRIi32
-#endif
-#ifdef UINT32_MAX
-  PRIo32 PRIu32 PRIx32 PRIX32
-#endif
-#ifdef INT64_MAX
-  PRId64 PRIi64
-#endif
-#ifdef UINT64_MAX
-  PRIo64 PRIu64 PRIx64 PRIX64
-#endif
-  PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
-  PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
-  PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
-  PRIdLEAST64 PRIiLEAST64
-  PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
-  PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
-  PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
-  PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
-  PRIdFAST64 PRIiFAST64
-  PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
-  PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
-#ifdef INTPTR_MAX
-  PRIdPTR PRIiPTR
-#endif
-#ifdef UINTPTR_MAX
-  PRIoPTR PRIuPTR PRIxPTR PRIXPTR
-#endif
-  ;
-const char *l = /* implicit string concatenation */
-#ifdef INT8_MAX
-  SCNd8 SCNi8
-#endif
-#ifdef UINT8_MAX
-  SCNo8 SCNu8 SCNx8
-#endif
-#ifdef INT16_MAX
-  SCNd16 SCNi16
-#endif
-#ifdef UINT16_MAX
-  SCNo16 SCNu16 SCNx16
-#endif
-#ifdef INT32_MAX
-  SCNd32 SCNi32
-#endif
-#ifdef UINT32_MAX
-  SCNo32 SCNu32 SCNx32
-#endif
-#ifdef INT64_MAX
-  SCNd64 SCNi64
-#endif
-#ifdef UINT64_MAX
-  SCNo64 SCNu64 SCNx64
-#endif
-  SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
-  SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
-  SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
-  SCNdLEAST64 SCNiLEAST64
-  SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
-  SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
-  SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
-  SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
-  SCNdFAST64 SCNiFAST64
-  SCNoFAST64 SCNuFAST64 SCNxFAST64
-  SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
-#ifdef INTPTR_MAX
-  SCNdPTR SCNiPTR
-#endif
-#ifdef UINTPTR_MAX
-  SCNoPTR SCNuPTR SCNxPTR
-#endif
-  ;
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-lstat.c b/gltests/test-lstat.c
deleted file mode 100644 (file)
index 459bf88..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Test of lstat() function.
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Simon Josefsson, 2008; and Eric Blake, 2009.  */
-
-#include <config.h>
-
-#include <sys/stat.h>
-
-/* Caution: lstat may be a function-like macro.  Although this
-   signature check must pass, it may be the signature of the real (and
-   broken) lstat rather than rpl_lstat.  Most code should not use the
-   address of lstat.  */
-#include "signature.h"
-SIGNATURE_CHECK (lstat, int, (char const *, struct stat *));
-
-#include <fcntl.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "same-inode.h"
-#include "ignore-value.h"
-#include "macros.h"
-
-#define BASE "test-lstat.t"
-
-#include "test-lstat.h"
-
-/* Wrapper around lstat, which works even if lstat is a function-like
-   macro, where test_lstat_func(lstat) would do the wrong thing.  */
-static int
-do_lstat (char const *name, struct stat *st)
-{
-  return lstat (name, st);
-}
-
-int
-main (void)
-{
-  /* Remove any leftovers from a previous partial run.  */
-  ignore_value (system ("rm -rf " BASE "*"));
-
-  return test_lstat_func (do_lstat, true);
-}
diff --git a/gltests/test-lstat.h b/gltests/test-lstat.h
deleted file mode 100644 (file)
index 4a81494..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Test of lstat() function.
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Simon Josefsson, 2008; and Eric Blake, 2009.  */
-
-/* This file is designed to test both lstat(n,buf) and
-   fstatat(AT_FDCWD,n,buf,AT_SYMLINK_NOFOLLOW).  FUNC is the function
-   to test.  Assumes that BASE and ASSERT are already defined, and
-   that appropriate headers are already included.  If PRINT, warn
-   before skipping symlink tests with status 77.  */
-
-static int
-test_lstat_func (int (*func) (char const *, struct stat *), bool print)
-{
-  struct stat st1;
-  struct stat st2;
-
-  /* Test for common directories.  */
-  ASSERT (func (".", &st1) == 0);
-  ASSERT (func ("./", &st2) == 0);
-  ASSERT (SAME_INODE (st1, st2));
-  ASSERT (S_ISDIR (st1.st_mode));
-  ASSERT (S_ISDIR (st2.st_mode));
-  ASSERT (func ("/", &st1) == 0);
-  ASSERT (func ("///", &st2) == 0);
-  ASSERT (SAME_INODE (st1, st2));
-  ASSERT (S_ISDIR (st1.st_mode));
-  ASSERT (S_ISDIR (st2.st_mode));
-  ASSERT (func ("..", &st1) == 0);
-  ASSERT (S_ISDIR (st1.st_mode));
-
-  /* Test for error conditions.  */
-  errno = 0;
-  ASSERT (func ("", &st1) == -1);
-  ASSERT (errno == ENOENT);
-  errno = 0;
-  ASSERT (func ("nosuch", &st1) == -1);
-  ASSERT (errno == ENOENT);
-  errno = 0;
-  ASSERT (func ("nosuch/", &st1) == -1);
-  ASSERT (errno == ENOENT);
-
-  ASSERT (close (creat (BASE "file", 0600)) == 0);
-  ASSERT (func (BASE "file", &st1) == 0);
-  ASSERT (S_ISREG (st1.st_mode));
-  errno = 0;
-  ASSERT (func (BASE "file/", &st1) == -1);
-  ASSERT (errno == ENOTDIR);
-
-  /* Now for some symlink tests, where supported.  We set up:
-     link1 -> directory
-     link2 -> file
-     link3 -> dangling
-     link4 -> loop
-     then test behavior both with and without trailing slash.
-  */
-  if (symlink (".", BASE "link1") != 0)
-    {
-      ASSERT (unlink (BASE "file") == 0);
-      if (print)
-        fputs ("skipping test: symlinks not supported on this file system\n",
-               stderr);
-      return 77;
-    }
-  ASSERT (symlink (BASE "file", BASE "link2") == 0);
-  ASSERT (symlink (BASE "nosuch", BASE "link3") == 0);
-  ASSERT (symlink (BASE "link4", BASE "link4") == 0);
-
-  ASSERT (func (BASE "link1", &st1) == 0);
-  ASSERT (S_ISLNK (st1.st_mode));
-  ASSERT (func (BASE "link1/", &st1) == 0);
-  ASSERT (stat (BASE "link1", &st2) == 0);
-  ASSERT (S_ISDIR (st1.st_mode));
-  ASSERT (S_ISDIR (st2.st_mode));
-  ASSERT (SAME_INODE (st1, st2));
-
-  ASSERT (func (BASE "link2", &st1) == 0);
-  ASSERT (S_ISLNK (st1.st_mode));
-  errno = 0;
-  ASSERT (func (BASE "link2/", &st1) == -1);
-  ASSERT (errno == ENOTDIR);
-
-  ASSERT (func (BASE "link3", &st1) == 0);
-  ASSERT (S_ISLNK (st1.st_mode));
-  errno = 0;
-  ASSERT (func (BASE "link3/", &st1) == -1);
-  ASSERT (errno == ENOENT);
-
-  ASSERT (func (BASE "link4", &st1) == 0);
-  ASSERT (S_ISLNK (st1.st_mode));
-  errno = 0;
-  ASSERT (func (BASE "link4/", &st1) == -1);
-  ASSERT (errno == ELOOP);
-
-  /* Cleanup.  */
-  ASSERT (unlink (BASE "file") == 0);
-  ASSERT (unlink (BASE "link1") == 0);
-  ASSERT (unlink (BASE "link2") == 0);
-  ASSERT (unlink (BASE "link3") == 0);
-  ASSERT (unlink (BASE "link4") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-malloca.c b/gltests/test-malloca.c
deleted file mode 100644 (file)
index d7732c3..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Test of safe automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-#include "malloca.h"
-
-#include <stdlib.h>
-
-static void
-do_allocation (int n)
-{
-  void *ptr = malloca (n);
-  freea (ptr);
-  safe_alloca (n);
-}
-
-void (*func) (int) = do_allocation;
-
-int
-main ()
-{
-  int i;
-
-  /* This slows down malloc a lot.  */
-  unsetenv ("MALLOC_PERTURB_");
-
-  /* Repeat a lot of times, to make sure there's no memory leak.  */
-  for (i = 0; i < 50000; i++)
-    {
-      /* Try various values.
-         n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
-      func (34);
-      func (134);
-      func (399);
-      func (510823);
-      func (129321);
-      func (0);
-      func (4070);
-      func (4095);
-      func (1);
-      func (16582);
-    }
-
-  return 0;
-}
diff --git a/gltests/test-open.c b/gltests/test-open.c
deleted file mode 100644 (file)
index b9ec9bf..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Test of opening a file descriptor.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <fcntl.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (open, int, (char const *, int, ...));
-
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-#define BASE "test-open.t"
-
-#include "test-open.h"
-
-int
-main (void)
-{
-  return test_open (open, true);
-}
diff --git a/gltests/test-open.h b/gltests/test-open.h
deleted file mode 100644 (file)
index cab1d27..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Test of opening a file descriptor.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-/* This file is designed to test both open(n,buf[,mode]) and
-   openat(AT_FDCWD,n,buf[,mode]).  FUNC is the function to test.
-   Assumes that BASE and ASSERT are already defined, and that
-   appropriate headers are already included.  If PRINT, warn before
-   skipping symlink tests with status 77.  */
-
-static int
-test_open (int (*func) (char const *, int, ...), bool print)
-{
-  int fd;
-  /* Remove anything from prior partial run.  */
-  unlink (BASE "file");
-
-  /* Cannot create directory.  */
-  errno = 0;
-  ASSERT (func ("nonexist.ent/", O_CREAT | O_RDONLY, 0600) == -1);
-  ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT
-          || errno == EINVAL);
-
-  /* Create a regular file.  */
-  fd = func (BASE "file", O_CREAT | O_RDONLY, 0600);
-  ASSERT (0 <= fd);
-  ASSERT (close (fd) == 0);
-
-  /* Trailing slash handling.  */
-  errno = 0;
-  ASSERT (func (BASE "file/", O_RDONLY) == -1);
-  ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL);
-
-  /* Directories cannot be opened for writing.  */
-  errno = 0;
-  ASSERT (func (".", O_WRONLY) == -1);
-  ASSERT (errno == EISDIR || errno == EACCES);
-
-  /* /dev/null must exist, and be writable.  */
-  fd = func ("/dev/null", O_RDONLY);
-  ASSERT (0 <= fd);
-  {
-    char c;
-    ASSERT (read (fd, &c, 1) == 0);
-  }
-  ASSERT (close (fd) == 0);
-  fd = func ("/dev/null", O_WRONLY);
-  ASSERT (0 <= fd);
-  ASSERT (write (fd, "c", 1) == 1);
-  ASSERT (close (fd) == 0);
-
-  /* Although O_NONBLOCK on regular files can be ignored, it must not
-     cause a failure.  */
-  fd = func (BASE "file", O_NONBLOCK | O_RDONLY);
-  ASSERT (0 <= fd);
-  ASSERT (close (fd) == 0);
-
-  /* Symlink handling, where supported.  */
-  if (symlink (BASE "file", BASE "link") != 0)
-    {
-      ASSERT (unlink (BASE "file") == 0);
-      if (print)
-        fputs ("skipping test: symlinks not supported on this file system\n",
-               stderr);
-      return 77;
-    }
-  errno = 0;
-  ASSERT (func (BASE "link/", O_RDONLY) == -1);
-  ASSERT (errno == ENOTDIR);
-  fd = func (BASE "link", O_RDONLY);
-  ASSERT (0 <= fd);
-  ASSERT (close (fd) == 0);
-
-  /* Cleanup.  */
-  ASSERT (unlink (BASE "file") == 0);
-  ASSERT (unlink (BASE "link") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-pathmax.c b/gltests/test-pathmax.c
deleted file mode 100644 (file)
index c6d0ccc..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test of "pathmax.h".
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
-
-#include <config.h>
-
-#include "pathmax.h"
-
-/* Check that PATH_MAX is a constant if it is defined.  */
-#ifdef PATH_MAX
-int a = PATH_MAX;
-#endif
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-setenv.c b/gltests/test-setenv.c
deleted file mode 100644 (file)
index 4752a11..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Tests of setenv.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (setenv, int, (char const *, char const *, int));
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  /* Test overwriting.  */
-  ASSERT (setenv ("a", "==", -1) == 0);
-  ASSERT (setenv ("a", "2", 0) == 0);
-  ASSERT (strcmp (getenv ("a"), "==") == 0);
-
-  /* Required to fail with EINVAL.  */
-  errno = 0;
-  ASSERT (setenv ("", "", 1) == -1);
-  ASSERT (errno == EINVAL);
-  errno = 0;
-  ASSERT (setenv ("a=b", "", 0) == -1);
-  ASSERT (errno == EINVAL);
-#if 0
-  /* glibc and gnulib's implementation guarantee this, but POSIX no
-     longer requires it: http://austingroupbugs.net/view.php?id=185  */
-  errno = 0;
-  ASSERT (setenv (NULL, "", 0) == -1);
-  ASSERT (errno == EINVAL);
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-stat.c b/gltests/test-stat.c
deleted file mode 100644 (file)
index db9adf9..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Tests of stat.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <sys/stat.h>
-
-/* Caution: stat may be a function-like macro.  Although this
-   signature check must pass, it may be the signature of the real (and
-   broken) stat rather than rpl_stat.  Most code should not use the
-   address of stat.  */
-#include "signature.h"
-SIGNATURE_CHECK (stat, int, (char const *, struct stat *));
-
-#include <fcntl.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "same-inode.h"
-#include "macros.h"
-
-#define BASE "test-stat.t"
-
-#include "test-stat.h"
-
-/* Wrapper around stat, which works even if stat is a function-like
-   macro, where test_stat_func(stat) would do the wrong thing.  */
-static int
-do_stat (char const *name, struct stat *st)
-{
-  return stat (name, st);
-}
-
-int
-main (void)
-{
-  return test_stat_func (do_stat, true);
-}
diff --git a/gltests/test-stat.h b/gltests/test-stat.h
deleted file mode 100644 (file)
index 2c9afc0..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Tests of stat.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-/* This file is designed to test both stat(n,buf) and
-   fstatat(AT_FDCWD,n,buf,0).  FUNC is the function to test.  Assumes
-   that BASE and ASSERT are already defined, and that appropriate
-   headers are already included.  If PRINT, warn before skipping
-   symlink tests with status 77.  */
-
-static int
-test_stat_func (int (*func) (char const *, struct stat *), bool print)
-{
-  struct stat st1;
-  struct stat st2;
-  char *cwd = getcwd (NULL, 0);
-
-  ASSERT (cwd);
-  ASSERT (func (".", &st1) == 0);
-  ASSERT (func ("./", &st2) == 0);
-  ASSERT (SAME_INODE (st1, st2));
-  ASSERT (func (cwd, &st2) == 0);
-  ASSERT (SAME_INODE (st1, st2));
-  ASSERT (func ("/", &st1) == 0);
-  ASSERT (func ("///", &st2) == 0);
-  ASSERT (SAME_INODE (st1, st2));
-
-  errno = 0;
-  ASSERT (func ("", &st1) == -1);
-  ASSERT (errno == ENOENT);
-  errno = 0;
-  ASSERT (func ("nosuch", &st1) == -1);
-  ASSERT (errno == ENOENT);
-  errno = 0;
-  ASSERT (func ("nosuch/", &st1) == -1);
-  ASSERT (errno == ENOENT);
-
-  ASSERT (close (creat (BASE "file", 0600)) == 0);
-  ASSERT (func (BASE "file", &st1) == 0);
-  errno = 0;
-  ASSERT (func (BASE "file/", &st1) == -1);
-  ASSERT (errno == ENOTDIR);
-
-  /* Now for some symlink tests, where supported.  We set up:
-     link1 -> directory
-     link2 -> file
-     link3 -> dangling
-     link4 -> loop
-     then test behavior with trailing slash.
-  */
-  if (symlink (".", BASE "link1") != 0)
-    {
-      ASSERT (unlink (BASE "file") == 0);
-      if (print)
-        fputs ("skipping test: symlinks not supported on this file system\n",
-               stderr);
-      return 77;
-    }
-  ASSERT (symlink (BASE "file", BASE "link2") == 0);
-  ASSERT (symlink (BASE "nosuch", BASE "link3") == 0);
-  ASSERT (symlink (BASE "link4", BASE "link4") == 0);
-
-  ASSERT (func (BASE "link1/", &st1) == 0);
-  ASSERT (S_ISDIR (st1.st_mode));
-
-  errno = 0;
-  ASSERT (func (BASE "link2/", &st1) == -1);
-  ASSERT (errno == ENOTDIR);
-
-  errno = 0;
-  ASSERT (func (BASE "link3/", &st1) == -1);
-  ASSERT (errno == ENOENT);
-
-  errno = 0;
-  ASSERT (func (BASE "link4/", &st1) == -1);
-  ASSERT (errno == ELOOP);
-
-  /* Cleanup.  */
-  ASSERT (unlink (BASE "file") == 0);
-  ASSERT (unlink (BASE "link1") == 0);
-  ASSERT (unlink (BASE "link2") == 0);
-  ASSERT (unlink (BASE "link3") == 0);
-  ASSERT (unlink (BASE "link4") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-stdbool.c b/gltests/test-stdbool.c
deleted file mode 100644 (file)
index c22ca1f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test of <stdbool.h> substitute.
-   Copyright (C) 2002-2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-/* We want this test to succeed even when using gcc's -Werror; but to
-   do that requires a pragma that didn't exist before 4.3.0.  */
-#ifndef __GNUC__
-# define ADDRESS_CHECK_OKAY
-#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-/* No way to silence -Waddress.  */
-#else
-# pragma GCC diagnostic ignored "-Waddress"
-# define ADDRESS_CHECK_OKAY
-#endif
-
-#include <config.h>
-
-#include <stdbool.h>
-
-#ifndef bool
- "error: bool is not defined"
-#endif
-#ifndef false
- "error: false is not defined"
-#endif
-#if false
- "error: false is not 0"
-#endif
-#ifndef true
- "error: true is not defined"
-#endif
-#if true != 1
- "error: true is not 1"
-#endif
-#ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
-#endif
-
-/* Several tests cannot be guaranteed with gnulib's <stdbool.h>, at
-   least, not for all compilers and compiler options.  */
-#if HAVE_STDBOOL_H || 3 <= __GNUC__
-struct s { _Bool s: 1; _Bool t; } s;
-#endif
-
-char a[true == 1 ? 1 : -1];
-char b[false == 0 ? 1 : -1];
-char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-char d[(bool) 0.5 == true ? 1 : -1];
-# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
-/* C99 may plausibly be interpreted as not requiring support for a cast from
-   a variable's address to bool in a static initializer.  So treat it like a
-   GCC extension.  */
-#  ifdef __GNUC__
-bool e = &s;
-#  endif
-# endif
-char f[(_Bool) 0.0 == false ? 1 : -1];
-#endif
-char g[true];
-char h[sizeof (_Bool)];
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-char i[sizeof s.t];
-#endif
-enum { j = false, k = true, l = false * true, m = true * 256 };
-_Bool n[m];
-char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-/* Catch a bug in an HP-UX C compiler.  See
-   http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-   http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
-_Bool q = true;
-_Bool *pq = &q;
-
-int
-main ()
-{
-  int error = 0;
-
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
-  /* A cast from a variable's address to bool is valid in expressions.  */
-  {
-    bool e1 = &s;
-    if (!e1)
-      error = 1;
-  }
-# endif
-#endif
-
-  /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
-     reported by James Lemley on 2005-10-05; see
-     http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
-     This is a runtime test, since a corresponding compile-time
-     test would rely on initializer extensions.  */
-  {
-    char digs[] = "0123456789";
-    if (&(digs + 5)[-2 + (bool) 1] != &digs[4])
-      error = 1;
-  }
-
-  return error;
-}
diff --git a/gltests/test-stddef.c b/gltests/test-stddef.c
deleted file mode 100644 (file)
index d7237b3..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stddef.h>
-
-#include "verify.h"
-
-/* Check that appropriate types are defined.  */
-wchar_t a = 'c';
-ptrdiff_t b = 1;
-size_t c = 2;
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-/* Check that offsetof produces integer constants with correct type.  */
-struct d
-{
-  char e;
-  char f;
-};
-/* Solaris 10 has a bug where offsetof is under-parenthesized, and
-   cannot be used as an arbitrary expression.  However, since it is
-   unlikely to bite real code, we ignore that short-coming.  */
-/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */
-verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
-verify (offsetof (struct d, e) < -1); /* Must be unsigned.  */
-verify (offsetof (struct d, f) == 1);
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-stdint.c b/gltests/test-stdint.c
deleted file mode 100644 (file)
index 23b2b28..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-/* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2006.  */
-
-#include <config.h>
-
-/* Whether to enable pedantic checks. */
-#define DO_PEDANTIC 0
-
-#include <stdint.h>
-
-#include "verify.h"
-#include "intprops.h"
-
-#if __GNUC__ >= 2 && DO_PEDANTIC
-# define verify_same_types(expr1,expr2)  \
-    extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \
-    extern void _verify_func(__LINE__) (__typeof__ (expr2) *);
-# define _verify_func(line) _verify_func2(line)
-# define _verify_func2(line) verify_func_ ## line
-#else
-# define verify_same_types(expr1,expr2) extern void verify_func (int)
-#endif
-
-/* 7.18.1.1. Exact-width integer types */
-/* 7.18.2.1. Limits of exact-width integer types */
-
-int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX };
-verify (TYPE_MINIMUM (int8_t) == INT8_MIN);
-verify (TYPE_MAXIMUM (int8_t) == INT8_MAX);
-verify_same_types (INT8_MIN, (int8_t) 0 + 0);
-verify_same_types (INT8_MAX, (int8_t) 0 + 0);
-
-int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX };
-verify (TYPE_MINIMUM (int16_t) == INT16_MIN);
-verify (TYPE_MAXIMUM (int16_t) == INT16_MAX);
-verify_same_types (INT16_MIN, (int16_t) 0 + 0);
-verify_same_types (INT16_MAX, (int16_t) 0 + 0);
-
-int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX };
-verify (TYPE_MINIMUM (int32_t) == INT32_MIN);
-verify (TYPE_MAXIMUM (int32_t) == INT32_MAX);
-verify_same_types (INT32_MIN, (int32_t) 0 + 0);
-verify_same_types (INT32_MAX, (int32_t) 0 + 0);
-
-#ifdef INT64_MAX
-int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX };
-verify (TYPE_MINIMUM (int64_t) == INT64_MIN);
-verify (TYPE_MAXIMUM (int64_t) == INT64_MAX);
-verify_same_types (INT64_MIN, (int64_t) 0 + 0);
-verify_same_types (INT64_MAX, (int64_t) 0 + 0);
-#endif
-
-uint8_t b1[2] = { UINT8_C (17), UINT8_MAX };
-verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX);
-verify_same_types (UINT8_MAX, (uint8_t) 0 + 0);
-
-uint16_t b2[2] = { UINT16_C (17), UINT16_MAX };
-verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX);
-verify_same_types (UINT16_MAX, (uint16_t) 0 + 0);
-
-uint32_t b3[2] = { UINT32_C (17), UINT32_MAX };
-verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX);
-verify_same_types (UINT32_MAX, (uint32_t) 0 + 0);
-
-#ifdef UINT64_MAX
-uint64_t b4[2] = { UINT64_C (17), UINT64_MAX };
-verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX);
-verify_same_types (UINT64_MAX, (uint64_t) 0 + 0);
-#endif
-
-#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT8_MAX && UINT16_MAX && UINT32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.2. Minimum-width integer types */
-/* 7.18.2.2. Limits of minimum-width integer types */
-
-int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX };
-verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN);
-verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX);
-verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0);
-verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0);
-
-int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX };
-verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN);
-verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX);
-verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0);
-verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0);
-
-int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX };
-verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN);
-verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX);
-verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0);
-verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0);
-
-#ifdef INT_LEAST64_MAX
-int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX };
-verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN);
-verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX);
-verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0);
-verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0);
-#endif
-
-uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX };
-verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX);
-verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0);
-
-uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX };
-verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX);
-verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0);
-
-uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX };
-verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX);
-verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0);
-
-#ifdef UINT_LEAST64_MAX
-uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX };
-verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX);
-verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0);
-#endif
-
-#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.3. Fastest minimum-width integer types */
-/* 7.18.2.3. Limits of fastest minimum-width integer types */
-
-int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX };
-verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN);
-verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX);
-verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0);
-verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0);
-
-int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX };
-verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN);
-verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX);
-verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0);
-verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0);
-
-int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX };
-verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN);
-verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX);
-verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0);
-verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0);
-
-#ifdef INT_FAST64_MAX
-int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX };
-verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN);
-verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX);
-verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0);
-verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0);
-#endif
-
-uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX };
-verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX);
-verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0);
-
-uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX };
-verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX);
-verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0);
-
-uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX };
-verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX);
-verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0);
-
-#ifdef UINT_FAST64_MAX
-uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX };
-verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX);
-verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0);
-#endif
-
-#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.4. Integer types capable of holding object pointers */
-/* 7.18.2.4. Limits of integer types capable of holding object pointers */
-
-intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX };
-verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN);
-verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX);
-verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0);
-verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0);
-
-uintptr_t h[2] = { 17, UINTPTR_MAX };
-verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX);
-verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0);
-
-#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.5. Greatest-width integer types */
-/* 7.18.2.5. Limits of greatest-width integer types */
-
-intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX };
-verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
-verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
-verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0);
-verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0);
-
-uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX };
-verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
-verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0);
-
-/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in
-   the preprocessor.  */
-#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__))
-#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX
-/* ok */
-#else
-err or;
-#endif
-#endif
-
-/* 7.18.3. Limits of other integer types */
-
-#include <stddef.h>
-
-verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN);
-verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX);
-verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0);
-verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0);
-
-#if PTRDIFF_MIN && PTRDIFF_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#include <signal.h>
-
-verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN);
-verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX);
-verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0);
-verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0);
-
-#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX
-/* ok */
-#else
-err or;
-#endif
-
-verify (TYPE_MAXIMUM (size_t) == SIZE_MAX);
-verify_same_types (SIZE_MAX, (size_t) 0 + 0);
-
-#if SIZE_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if HAVE_WCHAR_T
-verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN);
-verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX);
-verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0);
-verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0);
-
-# if WCHAR_MIN != 17 && WCHAR_MAX
-/* ok */
-# else
-err or;
-# endif
-#endif
-
-#if HAVE_WINT_T
-# include <wchar.h>
-
-verify (TYPE_MINIMUM (wint_t) == WINT_MIN);
-verify (TYPE_MAXIMUM (wint_t) == WINT_MAX);
-verify_same_types (WINT_MIN, (wint_t) 0 + 0);
-verify_same_types (WINT_MAX, (wint_t) 0 + 0);
-
-# if WINT_MIN != 17 && WINT_MAX
-/* ok */
-# else
-err or;
-# endif
-#endif
-
-/* 7.18.4. Macros for integer constants */
-
-verify (INT8_C (17) == 17);
-verify_same_types (INT8_C (17), (int_least8_t)0 + 0);
-verify (UINT8_C (17) == 17);
-verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0);
-
-verify (INT16_C (17) == 17);
-verify_same_types (INT16_C (17), (int_least16_t)0 + 0);
-verify (UINT16_C (17) == 17);
-verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0);
-
-verify (INT32_C (17) == 17);
-verify_same_types (INT32_C (17), (int_least32_t)0 + 0);
-verify (UINT32_C (17) == 17);
-verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0);
-
-#ifdef INT64_C
-verify (INT64_C (17) == 17);
-verify_same_types (INT64_C (17), (int_least64_t)0 + 0);
-#endif
-#ifdef UINT64_C
-verify (UINT64_C (17) == 17);
-verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0);
-#endif
-
-verify (INTMAX_C (17) == 17);
-verify_same_types (INTMAX_C (17), (intmax_t)0 + 0);
-verify (UINTMAX_C (17) == 17);
-verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0);
-
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-stdio.c b/gltests/test-stdio.c
deleted file mode 100644 (file)
index 7bd67c2..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Test of <stdio.h> substitute.
-   Copyright (C) 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "verify.h"
-
-/* Check that the various SEEK_* macros are defined.  */
-int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-/* Check that the types are all defined.  */
-fpos_t t1;
-off_t t2;
-size_t t3;
-ssize_t t4;
-va_list t5;
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-strerror.c b/gltests/test-strerror.c
deleted file mode 100644 (file)
index 33dd901..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Test of strerror() function.
-   Copyright (C) 2007-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2007.  */
-
-#include <config.h>
-
-#include <string.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (strerror, char *, (int));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  char *str;
-
-  errno = 0;
-  str = strerror (EACCES);
-  ASSERT (str);
-  ASSERT (*str);
-  ASSERT (errno == 0);
-
-  errno = 0;
-  str = strerror (ETIMEDOUT);
-  ASSERT (str);
-  ASSERT (*str);
-  ASSERT (errno == 0);
-
-  errno = 0;
-  str = strerror (EOVERFLOW);
-  ASSERT (str);
-  ASSERT (*str);
-  ASSERT (errno == 0);
-
-  /* POSIX requires strerror (0) to succeed.  Reject use of "Unknown
-     error", but allow "Success", "No error", or even Solaris' "Error
-     0" which are distinct patterns from true out-of-range strings.
-     http://austingroupbugs.net/view.php?id=382  */
-  errno = 0;
-  str = strerror (0);
-  ASSERT (str);
-  ASSERT (*str);
-  ASSERT (errno == 0);
-  ASSERT (strstr (str, "nknown") == NULL);
-  ASSERT (strstr (str, "ndefined") == NULL);
-
-  /* POSIX requires strerror to produce a non-NULL result for all
-     inputs; as an extension, we also guarantee a non-empty result.
-     Reporting EINVAL is optional.  */
-  errno = 0;
-  str = strerror (-3);
-  ASSERT (str);
-  ASSERT (*str);
-  ASSERT (errno == 0 || errno == EINVAL);
-
-  return 0;
-}
diff --git a/gltests/test-symlink.c b/gltests/test-symlink.c
deleted file mode 100644 (file)
index b3caac9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Tests of symlink.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (symlink, int, (char const *, char const *));
-
-#include <fcntl.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#include "ignore-value.h"
-#include "macros.h"
-
-#define BASE "test-symlink.t"
-
-#include "test-symlink.h"
-
-int
-main (void)
-{
-  /* Remove any leftovers from a previous partial run.  */
-  ignore_value (system ("rm -rf " BASE "*"));
-
-  return test_symlink (symlink, true);
-}
diff --git a/gltests/test-symlink.h b/gltests/test-symlink.h
deleted file mode 100644 (file)
index a7c4079..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Tests of symlink.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-/* This file is designed to test both symlink(a,b) and
-   symlinkat(a,AT_FDCWD,b).  FUNC is the function to test.  Assumes
-   that BASE and ASSERT are already defined, and that appropriate
-   headers are already included.  If PRINT, warn before skipping
-   symlink tests with status 77.  */
-
-static int
-test_symlink (int (*func) (char const *, char const *), bool print)
-{
-  if (func ("nowhere", BASE "link1"))
-    {
-      if (print)
-        fputs ("skipping test: symlinks not supported on this file system\n",
-               stderr);
-      return 77;
-    }
-
-  /* Some systems allow the creation of 0-length symlinks as a synonym
-     for "."; but most reject it.  */
-  {
-    int status;
-    errno = 0;
-    status = func ("", BASE "link2");
-    if (status == -1)
-      ASSERT (errno == ENOENT || errno == EINVAL);
-    else
-      {
-        ASSERT (status == 0);
-        ASSERT (unlink (BASE "link2") == 0);
-      }
-  }
-
-  /* Sanity checks of failures.  */
-  errno = 0;
-  ASSERT (func ("nowhere", "") == -1);
-  ASSERT (errno == ENOENT);
-  errno = 0;
-  ASSERT (func ("nowhere", ".") == -1);
-  ASSERT (errno == EEXIST || errno == EINVAL);
-  errno = 0;
-  ASSERT (func ("somewhere", BASE "link1") == -1);
-  ASSERT (errno == EEXIST);
-  errno = 0;
-  ASSERT (func ("nowhere", BASE "link2/") == -1);
-  ASSERT (errno == ENOTDIR || errno == ENOENT);
-  ASSERT (mkdir (BASE "dir", 0700) == 0);
-  errno = 0;
-  ASSERT (func ("nowhere", BASE "dir") == -1);
-  ASSERT (errno == EEXIST);
-  errno = 0;
-  ASSERT (func ("nowhere", BASE "dir/") == -1);
-  ASSERT (errno == EEXIST || errno == EINVAL);
-  ASSERT (close (creat (BASE "file", 0600)) == 0);
-  errno = 0;
-  ASSERT (func ("nowhere", BASE "file") == -1);
-  ASSERT (errno == EEXIST);
-  errno = 0;
-  ASSERT (func ("nowhere", BASE "file/") == -1);
-  ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT);
-
-  /* Trailing slash must always be rejected.  */
-  ASSERT (unlink (BASE "link1") == 0);
-  ASSERT (func (BASE "link2", BASE "link1") == 0);
-  errno = 0;
-  ASSERT (func (BASE "nowhere", BASE "link1/") == -1);
-  ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT);
-  errno = 0;
-  ASSERT (unlink (BASE "link2") == -1);
-  ASSERT (errno == ENOENT);
-
-  /* Cleanup.  */
-  ASSERT (rmdir (BASE "dir") == 0);
-  ASSERT (unlink (BASE "file") == 0);
-  ASSERT (unlink (BASE "link1") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-sys_types.c b/gltests/test-sys_types.c
deleted file mode 100644 (file)
index c2af992..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Test of <sys/types.h> substitute.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
-
-#include <config.h>
-
-#include <sys/types.h>
-
-/* Check that the types are all defined.  */
-pid_t t1;
-size_t t2;
-ssize_t t3;
-off_t t4;
-mode_t t5;
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/test-unsetenv.c b/gltests/test-unsetenv.c
deleted file mode 100644 (file)
index 926526d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Tests of unsetenv.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (unsetenv, int, (char const *));
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  char entry[] = "b=2";
-
-  /* Test removal when multiple entries present.  */
-  ASSERT (putenv ((char *) "a=1") == 0);
-  ASSERT (putenv (entry) == 0);
-  entry[0] = 'a'; /* Unspecified what getenv("a") would be at this point.  */
-  ASSERT (unsetenv ("a") == 0); /* Both entries will be removed.  */
-  ASSERT (getenv ("a") == NULL);
-  ASSERT (unsetenv ("a") == 0);
-
-  /* Required to fail with EINVAL.  */
-  errno = 0;
-  ASSERT (unsetenv ("") == -1);
-  ASSERT (errno == EINVAL);
-  errno = 0;
-  ASSERT (unsetenv ("a=b") == -1);
-  ASSERT (errno == EINVAL);
-#if 0
-  /* glibc and gnulib's implementation guarantee this, but POSIX no
-     longer requires it: http://austingroupbugs.net/view.php?id=185  */
-  errno = 0;
-  ASSERT (unsetenv (NULL) == -1);
-  ASSERT (errno == EINVAL);
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-vc-list-files-cvs.sh b/gltests/test-vc-list-files-cvs.sh
deleted file mode 100755 (executable)
index 68b0a0f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-# Unit tests for vc-list-files
-# Copyright (C) 2008-2012 Free Software Foundation, Inc.
-# This file is part of the GNUlib Library.
-#
-# 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/>.  */
-
-: ${srcdir=.}
-. "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" .
-
-tmpdir=vc-cvs
-repo=`pwd`/$tmpdir/repo
-
-fail=0
-for i in with-cvsu without; do
-  # On the first iteration, test using cvsu, if it's in your path.
-  # On the second iteration, ensure that cvsu fails, so we'll
-  # exercise the awk-using code.
-  if test $i = without; then
-    printf '%s\n' '#!/bin/sh' 'exit 1' > cvsu
-    chmod a+x cvsu
-    PATH=`pwd`:$PATH
-    export PATH
-  fi
-  ok=0
-  mkdir $tmpdir && cd $tmpdir &&
-    # without cvs, skip the test
-    { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \
-      || skip_ "cvs not found in PATH"; } &&
-    mkdir w && cd w &&
-    mkdir d &&
-    touch d/a b c &&
-    cvs -Q -d "$repo" import -m imp m M M0 &&
-    cvs -Q -d "$repo" co m && cd m &&
-    printf '%s\n' b c d/a > expected &&
-    vc-list-files | sort > actual &&
-    compare expected actual &&
-    ok=1
-  test $ok = 0 && fail=1
-done
-
-Exit $fail
diff --git a/gltests/test-vc-list-files-git.sh b/gltests/test-vc-list-files-git.sh
deleted file mode 100755 (executable)
index 1ea6d89..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-# Unit tests for vc-list-files
-# Copyright (C) 2008-2012 Free Software Foundation, Inc.
-# This file is part of the GNUlib Library.
-#
-# 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/>.  */
-
-: ${srcdir=.}
-. "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" .
-
-tmpdir=vc-git-$$
-GIT_DIR= GIT_WORK_TREE=; unset GIT_DIR GIT_WORK_TREE
-
-fail=1
-mkdir $tmpdir && cd $tmpdir &&
-  # without git, skip the test
-  # The double use of 'exit' is needed for the reference to $? inside the trap.
-  { ( git init -q ) > /dev/null 2>&1 \
-    || skip_ "git not found in PATH"; } &&
-  mkdir d &&
-  touch d/a b c &&
-  git config user.email "you@example.com" &&
-  git config user.name "Your Name" &&
-  git add . > /dev/null &&
-  git commit -q -a -m log &&
-  printf '%s\n' b c d/a > expected &&
-  vc-list-files > actual &&
-  compare expected actual &&
-  fail=0
-
-Exit $fail
diff --git a/gltests/test-verify.c b/gltests/test-verify.c
deleted file mode 100644 (file)
index 5ab9c58..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Test the "verify" module.
-
-   Copyright (C) 2005, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible.  */
-
-#include <config.h>
-
-#include "verify.h"
-
-#ifndef EXP_FAIL
-# define EXP_FAIL 0
-#endif
-
-int x;
-enum { a, b, c };
-
-#if EXP_FAIL == 1
-verify (x >= 0);                  /* should give ERROR: non-constant expression */
-#endif
-verify (c == 2);                  /* should be ok */
-#if EXP_FAIL == 2
-verify (1 + 1 == 3);              /* should give ERROR */
-#endif
-verify (1 == 1); verify (1 == 1); /* should be ok */
-
-enum
-{
-  item = verify_true (1 == 1) * 0 + 17 /* should be ok */
-};
-
-static int
-function (int n)
-{
-#if EXP_FAIL == 3
-  verify (n >= 0);                  /* should give ERROR: non-constant expression */
-#endif
-  verify (c == 2);                  /* should be ok */
-#if EXP_FAIL == 4
-  verify (1 + 1 == 3);              /* should give ERROR */
-#endif
-  verify (1 == 1); verify (1 == 1); /* should be ok */
-
-  if (n)
-    return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
-#if EXP_FAIL == 5
-  return verify_expr (1 == 2, 5); /* should give ERROR */
-#endif
-  return 0;
-}
-
-int
-main (void)
-{
-  return !(function (0) == 0 && function (1) == 8);
-}
diff --git a/gltests/test-verify.sh b/gltests/test-verify.sh
deleted file mode 100755 (executable)
index 3e76761..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. "${srcdir=.}/init.sh"
-
-# We are not interested in triggering bugs in the compilers and tools
-# (such as gcc 4.3.1 on openSUSE 11.0).
-unset MALLOC_PERTURB_
-
-# Rather than figure out how to invoke the compiler with the right
-# include path ourselves, we let make do it:
-(cd "$initial_cwd_" && rm -f test-verify.o \
-    && $MAKE test-verify.o >/dev/null 2>&1) \
-  || skip_ "cannot compile error-free"
-
-# Now, prove that we encounter all expected compilation failures:
-: >out
-: >err
-for i in 1 2 3 4 5; do
-  (cd "$initial_cwd_"
-   rm -f test-verify.o
-   $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \
-  && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
-done
-
-Exit $fail
diff --git a/gltests/test-version-etc.c b/gltests/test-version-etc.c
deleted file mode 100644 (file)
index 36ced60..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Test suite for version-etc.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
-   This file is part of the GNUlib Library.
-
-   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/>.  */
-
-#include <config.h>
-
-#include "version-etc.h"
-
-#include "progname.h"
-
-#define AUTHORS "Sergey Poznyakoff", "Eric Blake"
-
-int
-main (int argc _GL_UNUSED, char **argv)
-{
-  set_program_name (argv[0]);
-  version_etc (stdout, "test-version-etc", "dummy", "0", AUTHORS,
-               (const char *) NULL);
-  return 0;
-}
diff --git a/gltests/test-version-etc.sh b/gltests/test-version-etc.sh
deleted file mode 100755 (executable)
index 945383b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/sh
-# Test suite for version-etc.
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
-# This file is part of the GNUlib Library.
-#
-# 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/>.
-
-TMP=ve-expected.tmp
-LC_ALL=C
-export LC_ALL
-ERR=0
-
-cat > $TMP <<EOT
-test-version-etc (PROJECT) VERSION
-COPYRIGHT Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Sergey Poznyakoff and Eric Blake.
-EOT
-
-./test-version-etc${EXEEXT} --version |
- sed '1s/test-version-etc (.*) .*/test-version-etc (PROJECT) VERSION/
-      /^Packaged by/d
-      2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
-
-rm $TMP
-
-exit $ERR
diff --git a/gltests/time.in.h b/gltests/time.in.h
deleted file mode 100644 (file)
index 04cde05..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-/* A more-standard <time.h>.
-
-   Copyright (C) 2007-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* Don't get in the way of glibc when it includes time.h merely to
-   declare a few standard symbols, rather than to declare all the
-   symbols.  Also, Solaris 8 <time.h> eventually includes itself
-   recursively; if that is happening, just include the system <time.h>
-   without adding our own declarations.  */
-#if (defined __need_time_t || defined __need_clock_t \
-     || defined __need_timespec \
-     || defined _@GUARD_PREFIX@_TIME_H)
-
-# @INCLUDE_NEXT@ @NEXT_TIME_H@
-
-#else
-
-# define _@GUARD_PREFIX@_TIME_H
-
-# @INCLUDE_NEXT@ @NEXT_TIME_H@
-
-/* NetBSD 5.0 mis-defines NULL.  */
-# include <stddef.h>
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
-   Or they define it with the wrong member names or define it in <sys/time.h>
-   (e.g., FreeBSD circa 1997).  Stock Mingw does not define it, but the
-   pthreads-win32 library defines it in <pthread.h>.  */
-# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
-#  if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-#   include <sys/time.h>
-#  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-#   include <pthread.h>
-/* The pthreads-win32 <pthread.h> also defines a couple of broken macros.  */
-#   undef asctime_r
-#   undef ctime_r
-#   undef gmtime_r
-#   undef localtime_r
-#   undef rand_r
-#   undef strtok_r
-#  else
-
-#   ifdef __cplusplus
-extern "C" {
-#   endif
-
-#   if !GNULIB_defined_struct_timespec
-#    undef timespec
-#    define timespec rpl_timespec
-struct timespec
-{
-  time_t tv_sec;
-  long int tv_nsec;
-};
-#    define GNULIB_defined_struct_timespec 1
-#   endif
-
-#   ifdef __cplusplus
-}
-#   endif
-
-#  endif
-# endif
-
-# if !GNULIB_defined_struct_time_t_must_be_integral
-/* Per http://austingroupbugs.net/view.php?id=327, POSIX requires
-   time_t to be an integer type, even though C99 permits floating
-   point.  We don't know of any implementation that uses floating
-   point, and it is much easier to write code that doesn't have to
-   worry about that corner case, so we force the issue.  */
-struct __time_t_must_be_integral {
-  unsigned int __floating_time_t_unsupported : (time_t) 1;
-};
-#  define GNULIB_defined_struct_time_t_must_be_integral 1
-# endif
-
-/* Sleep for at least RQTP seconds unless interrupted,  If interrupted,
-   return -1 and store the remaining time into RMTP.  See
-   <http://www.opengroup.org/susv3xsh/nanosleep.html>.  */
-# if @GNULIB_NANOSLEEP@
-#  if @REPLACE_NANOSLEEP@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    define nanosleep rpl_nanosleep
-#   endif
-_GL_FUNCDECL_RPL (nanosleep, int,
-                  (struct timespec const *__rqtp, struct timespec *__rmtp)
-                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (nanosleep, int,
-                  (struct timespec const *__rqtp, struct timespec *__rmtp));
-#  else
-#   if ! @HAVE_NANOSLEEP@
-_GL_FUNCDECL_SYS (nanosleep, int,
-                  (struct timespec const *__rqtp, struct timespec *__rmtp)
-                  _GL_ARG_NONNULL ((1)));
-#   endif
-_GL_CXXALIAS_SYS (nanosleep, int,
-                  (struct timespec const *__rqtp, struct timespec *__rmtp));
-#  endif
-_GL_CXXALIASWARN (nanosleep);
-# endif
-
-/* Return the 'time_t' representation of TP and normalize TP.  */
-# if @GNULIB_MKTIME@
-#  if @REPLACE_MKTIME@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    define mktime rpl_mktime
-#   endif
-_GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp));
-#  else
-_GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp));
-#  endif
-_GL_CXXALIASWARN (mktime);
-# endif
-
-/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
-   <http://www.opengroup.org/susv3xsh/localtime_r.html> and
-   <http://www.opengroup.org/susv3xsh/gmtime_r.html>.  */
-# if @GNULIB_TIME_R@
-#  if @REPLACE_LOCALTIME_R@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef localtime_r
-#    define localtime_r rpl_localtime_r
-#   endif
-_GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
-                                             struct tm *restrict __result)
-                                            _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
-                                             struct tm *restrict __result));
-#  else
-#   if ! @HAVE_DECL_LOCALTIME_R@
-_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
-                                             struct tm *restrict __result)
-                                            _GL_ARG_NONNULL ((1, 2)));
-#   endif
-_GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
-                                             struct tm *restrict __result));
-#  endif
-#  if @HAVE_DECL_LOCALTIME_R@
-_GL_CXXALIASWARN (localtime_r);
-#  endif
-#  if @REPLACE_LOCALTIME_R@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef gmtime_r
-#    define gmtime_r rpl_gmtime_r
-#   endif
-_GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
-                                          struct tm *restrict __result)
-                                         _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
-                                          struct tm *restrict __result));
-#  else
-#   if ! @HAVE_DECL_LOCALTIME_R@
-_GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
-                                          struct tm *restrict __result)
-                                         _GL_ARG_NONNULL ((1, 2)));
-#   endif
-_GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
-                                          struct tm *restrict __result));
-#  endif
-#  if @HAVE_DECL_LOCALTIME_R@
-_GL_CXXALIASWARN (gmtime_r);
-#  endif
-# endif
-
-/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
-   the resulting broken-down time into TM.  See
-   <http://www.opengroup.org/susv3xsh/strptime.html>.  */
-# if @GNULIB_STRPTIME@
-#  if ! @HAVE_STRPTIME@
-_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
-                                     char const *restrict __format,
-                                     struct tm *restrict __tm)
-                                    _GL_ARG_NONNULL ((1, 2, 3)));
-#  endif
-_GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
-                                     char const *restrict __format,
-                                     struct tm *restrict __tm));
-_GL_CXXALIASWARN (strptime);
-# endif
-
-/* Convert TM to a time_t value, assuming UTC.  */
-# if @GNULIB_TIMEGM@
-#  if @REPLACE_TIMEGM@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef timegm
-#    define timegm rpl_timegm
-#   endif
-_GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm));
-#  else
-#   if ! @HAVE_TIMEGM@
-_GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
-#   endif
-_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
-#  endif
-_GL_CXXALIASWARN (timegm);
-# endif
-
-/* Encourage applications to avoid unsafe functions that can overrun
-   buffers when given outlandish struct tm values.  Portable
-   applications should use strftime (or even sprintf) instead.  */
-# if defined GNULIB_POSIXCHECK
-#  undef asctime
-_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
-                 "better use strftime (or even sprintf) instead");
-# endif
-# if defined GNULIB_POSIXCHECK
-#  undef asctime_r
-_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - "
-                 "better use strftime (or even sprintf) instead");
-# endif
-# if defined GNULIB_POSIXCHECK
-#  undef ctime
-_GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - "
-                 "better use strftime (or even sprintf) instead");
-# endif
-# if defined GNULIB_POSIXCHECK
-#  undef ctime_r
-_GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - "
-                 "better use strftime (or even sprintf) instead");
-# endif
-
-#endif
diff --git a/gltests/unsetenv.c b/gltests/unsetenv.c
deleted file mode 100644 (file)
index ddbe9a4..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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/>.  */
-
-#include <config.h>
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#if !_LIBC
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#include <unistd.h>
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define unsetenv __unsetenv
-#endif
-
-#if _LIBC || !HAVE_UNSETENV
-
-int
-unsetenv (const char *name)
-{
-  size_t len;
-  char **ep;
-
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  len = strlen (name);
-
-  LOCK;
-
-  ep = __environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-        /* Found it.  Remove this pointer by moving later ones back.  */
-        char **dp = ep;
-
-        do
-          dp[0] = dp[1];
-        while (*dp++);
-        /* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-# undef unsetenv
-weak_alias (__unsetenv, unsetenv)
-#endif
-
-#else /* HAVE_UNSETENV */
-
-# undef unsetenv
-# if !HAVE_DECL_UNSETENV
-#  if VOID_UNSETENV
-extern void unsetenv (const char *);
-#  else
-extern int unsetenv (const char *);
-#  endif
-# endif
-
-/* Call the underlying unsetenv, in case there is hidden bookkeeping
-   that needs updating beyond just modifying environ.  */
-int
-rpl_unsetenv (const char *name)
-{
-  int result = 0;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  while (getenv (name))
-# if !VOID_UNSETENV
-    result =
-# endif
-      unsetenv (name);
-  return result;
-}
-
-#endif /* HAVE_UNSETENV */
diff --git a/gltests/version-etc-fsf.c b/gltests/version-etc-fsf.c
deleted file mode 100644 (file)
index c452f40..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Variable with FSF copyright information, for version-etc.
-   Copyright (C) 1999-2006, 2009-2012 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
-   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/>.  */
-
-/* Written by Jim Meyering. */
-
-#include <config.h>
-
-/* Specification.  */
-#include "version-etc.h"
-
-/* Default copyright goes to the FSF. */
-
-const char version_etc_copyright[] =
-  /* Do *not* mark this string for translation.  %s is a copyright
-     symbol suitable for this locale, and %d is the copyright
-     year.  */
-  "Copyright %s %d Free Software Foundation, Inc.";
diff --git a/gltests/wchar.in.h b/gltests/wchar.in.h
deleted file mode 100644 (file)
index f9bc30c..0000000
+++ /dev/null
@@ -1,1028 +0,0 @@
-/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
-
-   Copyright (C) 2007-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Eric Blake.  */
-
-/*
- * ISO C 99 <wchar.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/wchar.h.html>
- *
- * For now, this just ensures proper prerequisite inclusion order and
- * the declaration of wcwidth().
- */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
-/* Special invocation convention:
-   - Inside glibc and uClibc header files.
-   - On HP-UX 11.00 we have a sequence of nested includes
-     <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
-     once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
-     and once directly.  In both situations 'wint_t' is not yet defined,
-     therefore we cannot provide the function overrides; instead include only
-     the system's <wchar.h>.
-   - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
-     the latter includes <wchar.h>.  But here, we have no way to detect whether
-     <wctype.h> is completely included or is still being included.  */
-
-#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
-
-#else
-/* Normal invocation convention.  */
-
-#ifndef _@GUARD_PREFIX@_WCHAR_H
-
-#define _GL_ALREADY_INCLUDING_WCHAR_H
-
-#if @HAVE_FEATURES_H@
-# include <features.h> /* for __GLIBC__ */
-#endif
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.
-   In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
-   by <stddef.h>.
-   But avoid namespace pollution on glibc systems.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-#endif
-#ifndef __GLIBC__
-# include <stdio.h>
-# include <time.h>
-#endif
-
-/* Include the original <wchar.h> if it exists.
-   Some builds of uClibc lack it.  */
-/* The include_next requires a split double-inclusion guard.  */
-#if @HAVE_WCHAR_H@
-# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-#endif
-
-#undef _GL_ALREADY_INCLUDING_WCHAR_H
-
-#ifndef _@GUARD_PREFIX@_WCHAR_H
-#define _@GUARD_PREFIX@_WCHAR_H
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
-/* Define wint_t and WEOF.  (Also done in wctype.in.h.)  */
-#if !@HAVE_WINT_T@ && !defined wint_t
-# define wint_t int
-# ifndef WEOF
-#  define WEOF -1
-# endif
-#else
-/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
-   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
-   "unchanged by default argument promotions".  Override it.  */
-# if defined _MSC_VER
-#  if !GNULIB_defined_wint_t
-#   include <crtdefs.h>
-typedef unsigned int rpl_wint_t;
-#   undef wint_t
-#   define wint_t rpl_wint_t
-#   define GNULIB_defined_wint_t 1
-#  endif
-# endif
-# ifndef WEOF
-#  define WEOF ((wint_t) -1)
-# endif
-#endif
-
-
-/* Override mbstate_t if it is too small.
-   On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
-   implementing mbrtowc for encodings like UTF-8.  */
-#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
-# if !GNULIB_defined_mbstate_t
-typedef int rpl_mbstate_t;
-#  undef mbstate_t
-#  define mbstate_t rpl_mbstate_t
-#  define GNULIB_defined_mbstate_t 1
-# endif
-#endif
-
-
-/* Convert a single-byte character to a wide character.  */
-#if @GNULIB_BTOWC@
-# if @REPLACE_BTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef btowc
-#   define btowc rpl_btowc
-#  endif
-_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
-# else
-#  if !@HAVE_BTOWC@
-_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
-# endif
-_GL_CXXALIASWARN (btowc);
-#elif defined GNULIB_POSIXCHECK
-# undef btowc
-# if HAVE_RAW_DECL_BTOWC
-_GL_WARN_ON_USE (btowc, "btowc is unportable - "
-                 "use gnulib module btowc for portability");
-# endif
-#endif
-
-
-/* Convert a wide character to a single-byte character.  */
-#if @GNULIB_WCTOB@
-# if @REPLACE_WCTOB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wctob
-#   define wctob rpl_wctob
-#  endif
-_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
-# else
-#  if !defined wctob && !@HAVE_DECL_WCTOB@
-/* wctob is provided by gnulib, or wctob exists but is not declared.  */
-_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
-# endif
-_GL_CXXALIASWARN (wctob);
-#elif defined GNULIB_POSIXCHECK
-# undef wctob
-# if HAVE_RAW_DECL_WCTOB
-_GL_WARN_ON_USE (wctob, "wctob is unportable - "
-                 "use gnulib module wctob for portability");
-# endif
-#endif
-
-
-/* Test whether *PS is in the initial state.  */
-#if @GNULIB_MBSINIT@
-# if @REPLACE_MBSINIT@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsinit
-#   define mbsinit rpl_mbsinit
-#  endif
-_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
-# else
-#  if !@HAVE_MBSINIT@
-_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsinit);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsinit
-# if HAVE_RAW_DECL_MBSINIT
-_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
-                 "use gnulib module mbsinit for portability");
-# endif
-#endif
-
-
-/* Convert a multibyte character to a wide character.  */
-#if @GNULIB_MBRTOWC@
-# if @REPLACE_MBRTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbrtowc
-#   define mbrtowc rpl_mbrtowc
-#  endif
-_GL_FUNCDECL_RPL (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-# else
-#  if !@HAVE_MBRTOWC@
-_GL_FUNCDECL_SYS (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbrtowc);
-#elif defined GNULIB_POSIXCHECK
-# undef mbrtowc
-# if HAVE_RAW_DECL_MBRTOWC
-_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
-                 "use gnulib module mbrtowc for portability");
-# endif
-#endif
-
-
-/* Recognize a multibyte character.  */
-#if @GNULIB_MBRLEN@
-# if @REPLACE_MBRLEN@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbrlen
-#   define mbrlen rpl_mbrlen
-#  endif
-_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-# else
-#  if !@HAVE_MBRLEN@
-_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbrlen);
-#elif defined GNULIB_POSIXCHECK
-# undef mbrlen
-# if HAVE_RAW_DECL_MBRLEN
-_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
-                 "use gnulib module mbrlen for portability");
-# endif
-#endif
-
-
-/* Convert a string to a wide string.  */
-#if @GNULIB_MBSRTOWCS@
-# if @REPLACE_MBSRTOWCS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsrtowcs
-#   define mbsrtowcs rpl_mbsrtowcs
-#  endif
-_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_MBSRTOWCS@
-_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsrtowcs);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsrtowcs
-# if HAVE_RAW_DECL_MBSRTOWCS
-_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
-                 "use gnulib module mbsrtowcs for portability");
-# endif
-#endif
-
-
-/* Convert a string to a wide string.  */
-#if @GNULIB_MBSNRTOWCS@
-# if @REPLACE_MBSNRTOWCS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsnrtowcs
-#   define mbsnrtowcs rpl_mbsnrtowcs
-#  endif
-_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_MBSNRTOWCS@
-_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsnrtowcs);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsnrtowcs
-# if HAVE_RAW_DECL_MBSNRTOWCS
-_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
-                 "use gnulib module mbsnrtowcs for portability");
-# endif
-#endif
-
-
-/* Convert a wide character to a multibyte character.  */
-#if @GNULIB_WCRTOMB@
-# if @REPLACE_WCRTOMB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcrtomb
-#   define wcrtomb rpl_wcrtomb
-#  endif
-_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-# else
-#  if !@HAVE_WCRTOMB@
-_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcrtomb);
-#elif defined GNULIB_POSIXCHECK
-# undef wcrtomb
-# if HAVE_RAW_DECL_WCRTOMB
-_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
-                 "use gnulib module wcrtomb for portability");
-# endif
-#endif
-
-
-/* Convert a wide string to a string.  */
-#if @GNULIB_WCSRTOMBS@
-# if @REPLACE_WCSRTOMBS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcsrtombs
-#   define wcsrtombs rpl_wcsrtombs
-#  endif
-_GL_FUNCDECL_RPL (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_WCSRTOMBS@
-_GL_FUNCDECL_SYS (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcsrtombs);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrtombs
-# if HAVE_RAW_DECL_WCSRTOMBS
-_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
-                 "use gnulib module wcsrtombs for portability");
-# endif
-#endif
-
-
-/* Convert a wide string to a string.  */
-#if @GNULIB_WCSNRTOMBS@
-# if @REPLACE_WCSNRTOMBS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcsnrtombs
-#   define wcsnrtombs rpl_wcsnrtombs
-#  endif
-_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_WCSNRTOMBS@
-_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcsnrtombs);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnrtombs
-# if HAVE_RAW_DECL_WCSNRTOMBS
-_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
-                 "use gnulib module wcsnrtombs for portability");
-# endif
-#endif
-
-
-/* Return the number of screen columns needed for WC.  */
-#if @GNULIB_WCWIDTH@
-# if @REPLACE_WCWIDTH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcwidth
-#   define wcwidth rpl_wcwidth
-#  endif
-_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
-# else
-#  if !@HAVE_DECL_WCWIDTH@
-/* wcwidth exists but is not declared.  */
-_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
-# endif
-_GL_CXXALIASWARN (wcwidth);
-#elif defined GNULIB_POSIXCHECK
-# undef wcwidth
-# if HAVE_RAW_DECL_WCWIDTH
-_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
-                 "use gnulib module wcwidth for portability");
-# endif
-#endif
-
-
-/* Search N wide characters of S for C.  */
-#if @GNULIB_WMEMCHR@
-# if !@HAVE_WMEMCHR@
-_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
-                                      _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
-         wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wmemchr,
-                        wchar_t *, (const wchar_t *, wchar_t, size_t),
-                        const wchar_t *, (const wchar_t *, wchar_t, size_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
-                   (const wchar_t *s, wchar_t c, size_t n));
-# else
-_GL_CXXALIASWARN (wmemchr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wmemchr
-# if HAVE_RAW_DECL_WMEMCHR
-_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
-                 "use gnulib module wmemchr for portability");
-# endif
-#endif
-
-
-/* Compare N wide characters of S1 and S2.  */
-#if @GNULIB_WMEMCMP@
-# if !@HAVE_WMEMCMP@
-_GL_FUNCDECL_SYS (wmemcmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wmemcmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wmemcmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemcmp
-# if HAVE_RAW_DECL_WMEMCMP
-_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
-                 "use gnulib module wmemcmp for portability");
-# endif
-#endif
-
-
-/* Copy N wide characters of SRC to DEST.  */
-#if @GNULIB_WMEMCPY@
-# if !@HAVE_WMEMCPY@
-_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wmemcpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemcpy
-# if HAVE_RAW_DECL_WMEMCPY
-_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
-                 "use gnulib module wmemcpy for portability");
-# endif
-#endif
-
-
-/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
-   overlapping memory areas.  */
-#if @GNULIB_WMEMMOVE@
-# if !@HAVE_WMEMMOVE@
-_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wmemmove);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemmove
-# if HAVE_RAW_DECL_WMEMMOVE
-_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
-                 "use gnulib module wmemmove for portability");
-# endif
-#endif
-
-
-/* Set N wide characters of S to C.  */
-#if @GNULIB_WMEMSET@
-# if !@HAVE_WMEMSET@
-_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-_GL_CXXALIASWARN (wmemset);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemset
-# if HAVE_RAW_DECL_WMEMSET
-_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
-                 "use gnulib module wmemset for portability");
-# endif
-#endif
-
-
-/* Return the number of wide characters in S.  */
-#if @GNULIB_WCSLEN@
-# if !@HAVE_WCSLEN@
-_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
-_GL_CXXALIASWARN (wcslen);
-#elif defined GNULIB_POSIXCHECK
-# undef wcslen
-# if HAVE_RAW_DECL_WCSLEN
-_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
-                 "use gnulib module wcslen for portability");
-# endif
-#endif
-
-
-/* Return the number of wide characters in S, but at most MAXLEN.  */
-#if @GNULIB_WCSNLEN@
-# if !@HAVE_WCSNLEN@
-_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
-_GL_CXXALIASWARN (wcsnlen);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnlen
-# if HAVE_RAW_DECL_WCSNLEN
-_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
-                 "use gnulib module wcsnlen for portability");
-# endif
-#endif
-
-
-/* Copy SRC to DEST.  */
-#if @GNULIB_WCSCPY@
-# if !@HAVE_WCSCPY@
-_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcscpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscpy
-# if HAVE_RAW_DECL_WCSCPY
-_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
-                 "use gnulib module wcscpy for portability");
-# endif
-#endif
-
-
-/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST.  */
-#if @GNULIB_WCPCPY@
-# if !@HAVE_WCPCPY@
-_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcpcpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcpcpy
-# if HAVE_RAW_DECL_WCPCPY
-_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
-                 "use gnulib module wcpcpy for portability");
-# endif
-#endif
-
-
-/* Copy no more than N wide characters of SRC to DEST.  */
-#if @GNULIB_WCSNCPY@
-# if !@HAVE_WCSNCPY@
-_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcsncpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncpy
-# if HAVE_RAW_DECL_WCSNCPY
-_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
-                 "use gnulib module wcsncpy for portability");
-# endif
-#endif
-
-
-/* Copy no more than N characters of SRC to DEST, returning the address of
-   the last character written into DEST.  */
-#if @GNULIB_WCPNCPY@
-# if !@HAVE_WCPNCPY@
-_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcpncpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcpncpy
-# if HAVE_RAW_DECL_WCPNCPY
-_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
-                 "use gnulib module wcpncpy for portability");
-# endif
-#endif
-
-
-/* Append SRC onto DEST.  */
-#if @GNULIB_WCSCAT@
-# if !@HAVE_WCSCAT@
-_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcscat);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscat
-# if HAVE_RAW_DECL_WCSCAT
-_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
-                 "use gnulib module wcscat for portability");
-# endif
-#endif
-
-
-/* Append no more than N wide characters of SRC onto DEST.  */
-#if @GNULIB_WCSNCAT@
-# if !@HAVE_WCSNCAT@
-_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcsncat);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncat
-# if HAVE_RAW_DECL_WCSNCAT
-_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
-                 "use gnulib module wcsncat for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2.  */
-#if @GNULIB_WCSCMP@
-# if !@HAVE_WCSCMP@
-_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
-                               _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscmp
-# if HAVE_RAW_DECL_WCSCMP
-_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
-                 "use gnulib module wcscmp for portability");
-# endif
-#endif
-
-
-/* Compare no more than N wide characters of S1 and S2.  */
-#if @GNULIB_WCSNCMP@
-# if !@HAVE_WCSNCMP@
-_GL_FUNCDECL_SYS (wcsncmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsncmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsncmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncmp
-# if HAVE_RAW_DECL_WCSNCMP
-_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
-                 "use gnulib module wcsncmp for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2, ignoring case.  */
-#if @GNULIB_WCSCASECMP@
-# if !@HAVE_WCSCASECMP@
-_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscasecmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscasecmp
-# if HAVE_RAW_DECL_WCSCASECMP
-_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
-                 "use gnulib module wcscasecmp for portability");
-# endif
-#endif
-
-
-/* Compare no more than N chars of S1 and S2, ignoring case.  */
-#if @GNULIB_WCSNCASECMP@
-# if !@HAVE_WCSNCASECMP@
-_GL_FUNCDECL_SYS (wcsncasecmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsncasecmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsncasecmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncasecmp
-# if HAVE_RAW_DECL_WCSNCASECMP
-_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
-                 "use gnulib module wcsncasecmp for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
-   category of the current locale.  */
-#if @GNULIB_WCSCOLL@
-# if !@HAVE_WCSCOLL@
-_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
-# endif
-_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscoll);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscoll
-# if HAVE_RAW_DECL_WCSCOLL
-_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
-                 "use gnulib module wcscoll for portability");
-# endif
-#endif
-
-
-/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
-   to two transformed strings the result is the as applying 'wcscoll' to the
-   original strings.  */
-#if @GNULIB_WCSXFRM@
-# if !@HAVE_WCSXFRM@
-_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsxfrm);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsxfrm
-# if HAVE_RAW_DECL_WCSXFRM
-_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
-                 "use gnulib module wcsxfrm for portability");
-# endif
-#endif
-
-
-/* Duplicate S, returning an identical malloc'd string.  */
-#if @GNULIB_WCSDUP@
-# if !@HAVE_WCSDUP@
-_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
-# endif
-_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
-_GL_CXXALIASWARN (wcsdup);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsdup
-# if HAVE_RAW_DECL_WCSDUP
-_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
-                 "use gnulib module wcsdup for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence of WC in WCS.  */
-#if @GNULIB_WCSCHR@
-# if !@HAVE_WCSCHR@
-_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
-                                     _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcschr (const wchar_t *, wchar_t);
-         wchar_t * std::wcschr (wchar_t *, wchar_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcschr,
-                        wchar_t *, (const wchar_t *, wchar_t),
-                        const wchar_t *, (const wchar_t *, wchar_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
-_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
-# else
-_GL_CXXALIASWARN (wcschr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcschr
-# if HAVE_RAW_DECL_WCSCHR
-_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
-                 "use gnulib module wcschr for portability");
-# endif
-#endif
-
-
-/* Find the last occurrence of WC in WCS.  */
-#if @GNULIB_WCSRCHR@
-# if !@HAVE_WCSRCHR@
-_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
-                                      _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
-         wchar_t * std::wcsrchr (wchar_t *, wchar_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
-                        wchar_t *, (const wchar_t *, wchar_t),
-                        const wchar_t *, (const wchar_t *, wchar_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
-_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
-# else
-_GL_CXXALIASWARN (wcsrchr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrchr
-# if HAVE_RAW_DECL_WCSRCHR
-_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
-                 "use gnulib module wcsrchr for portability");
-# endif
-#endif
-
-
-/* Return the length of the initial segmet of WCS which consists entirely
-   of wide characters not in REJECT.  */
-#if @GNULIB_WCSCSPN@
-# if !@HAVE_WCSCSPN@
-_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
-_GL_CXXALIASWARN (wcscspn);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscspn
-# if HAVE_RAW_DECL_WCSCSPN
-_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
-                 "use gnulib module wcscspn for portability");
-# endif
-#endif
-
-
-/* Return the length of the initial segmet of WCS which consists entirely
-   of wide characters in ACCEPT.  */
-#if @GNULIB_WCSSPN@
-# if !@HAVE_WCSSPN@
-_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
-                                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
-_GL_CXXALIASWARN (wcsspn);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsspn
-# if HAVE_RAW_DECL_WCSSPN
-_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
-                 "use gnulib module wcsspn for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence in WCS of any character in ACCEPT.  */
-#if @GNULIB_WCSPBRK@
-# if !@HAVE_WCSPBRK@
-_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
-                  (const wchar_t *wcs, const wchar_t *accept)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
-         wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
-                        wchar_t *, (const wchar_t *, const wchar_t *),
-                        const wchar_t *, (const wchar_t *, const wchar_t *));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
-                   (wchar_t *wcs, const wchar_t *accept));
-_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
-                   (const wchar_t *wcs, const wchar_t *accept));
-# else
-_GL_CXXALIASWARN (wcspbrk);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcspbrk
-# if HAVE_RAW_DECL_WCSPBRK
-_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
-                 "use gnulib module wcspbrk for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence of NEEDLE in HAYSTACK.  */
-#if @GNULIB_WCSSTR@
-# if !@HAVE_WCSSTR@
-_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
-                  (const wchar_t *haystack, const wchar_t *needle)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
-         wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcsstr,
-                        wchar_t *, (const wchar_t *, const wchar_t *),
-                        const wchar_t *, (const wchar_t *, const wchar_t *));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
-                   (wchar_t *haystack, const wchar_t *needle));
-_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
-                   (const wchar_t *haystack, const wchar_t *needle));
-# else
-_GL_CXXALIASWARN (wcsstr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsstr
-# if HAVE_RAW_DECL_WCSSTR
-_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
-                 "use gnulib module wcsstr for portability");
-# endif
-#endif
-
-
-/* Divide WCS into tokens separated by characters in DELIM.  */
-#if @GNULIB_WCSTOK@
-# if !@HAVE_WCSTOK@
-_GL_FUNCDECL_SYS (wcstok, wchar_t *,
-                  (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
-# endif
-_GL_CXXALIAS_SYS (wcstok, wchar_t *,
-                  (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
-_GL_CXXALIASWARN (wcstok);
-#elif defined GNULIB_POSIXCHECK
-# undef wcstok
-# if HAVE_RAW_DECL_WCSTOK
-_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
-                 "use gnulib module wcstok for portability");
-# endif
-#endif
-
-
-/* Determine number of column positions required for first N wide
-   characters (or fewer if S ends before this) in S.  */
-#if @GNULIB_WCSWIDTH@
-# if @REPLACE_WCSWIDTH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcswidth
-#   define wcswidth rpl_wcswidth
-#  endif
-_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
-                                 _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
-# else
-#  if !@HAVE_WCSWIDTH@
-_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
-                                 _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
-# endif
-_GL_CXXALIASWARN (wcswidth);
-#elif defined GNULIB_POSIXCHECK
-# undef wcswidth
-# if HAVE_RAW_DECL_WCSWIDTH
-_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
-                 "use gnulib module wcswidth for portability");
-# endif
-#endif
-
-
-#endif /* _@GUARD_PREFIX@_WCHAR_H */
-#endif /* _@GUARD_PREFIX@_WCHAR_H */
-#endif
index 1f75dfd..c673175 100644 (file)
@@ -1,4 +1,22 @@
 # -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+#               2004-2007 Damon Chaplin
+#               2007-2017 Stefan Sauer
+#
+# 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/>.
 
 ####################################
 # Everything below here is generic #
@@ -25,6 +43,7 @@ TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
 
 SETUP_FILES = \
        $(content_files)                \
+       $(expand_content_files)         \
        $(DOC_MAIN_SGML_FILE)           \
        $(DOC_MODULE)-sections.txt      \
        $(DOC_MODULE)-overrides.txt
@@ -33,11 +52,12 @@ EXTRA_DIST =                                \
        $(HTML_IMAGES)                  \
        $(SETUP_FILES)
 
-DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
        html-build.stamp pdf-build.stamp \
-       tmpl.stamp sgml.stamp html.stamp pdf.stamp
+       sgml.stamp html.stamp pdf.stamp
 
 SCANOBJ_FILES =                 \
+       $(DOC_MODULE).actions    \
        $(DOC_MODULE).args       \
        $(DOC_MODULE).hierarchy  \
        $(DOC_MODULE).interfaces \
@@ -49,9 +69,13 @@ REPORT_FILES = \
        $(DOC_MODULE)-undeclared.txt \
        $(DOC_MODULE)-unused.txt
 
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+gtkdoc-check.test: Makefile
+       $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+               echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+               chmod +x $@
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
 
-if ENABLE_GTK_DOC
 if GTK_DOC_BUILD_HTML
 HTML_BUILD_STAMP=html-build.stamp
 else
@@ -63,9 +87,11 @@ else
 PDF_BUILD_STAMP=
 endif
 
-all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-else
-all-local:
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+if ENABLE_GTK_DOC
+all-local: all-gtk-doc
 endif
 
 docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -74,124 +100,135 @@ $(REPORT_FILES): sgml-build.stamp
 
 #### setup ####
 
+GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
+GTK_DOC_V_SETUP_0=@echo "  DOC   Preparing build";
+
 setup-build.stamp:
-       -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-           echo '  DOC   Preparing build'; \
-           files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
-           if test "x$$files" != "x" ; then \
-               for file in $$files ; do \
-                   test -f $(abs_srcdir)/$$file && \
-                       cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
-               done; \
-           fi; \
-           test -d $(abs_srcdir)/tmpl && \
-               { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
-               chmod -R u+w $(abs_builddir)/tmpl; } \
+       -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+         files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+         if test "x$$files" != "x" ; then \
+           for file in $$files ; do \
+             destdir=`dirname $(abs_builddir)/$$file`; \
+             test -d "$$destdir" || mkdir -p "$$destdir"; \
+             test -f $(abs_srcdir)/$$file && \
+               cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+           done; \
+         fi; \
        fi
-       @touch setup-build.stamp
+       $(AM_V_at)touch setup-build.stamp
 
 #### scan ####
 
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
-       @echo '  DOC   Scanning header files'
-       @_source_dir='' ; \
+GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
+GTK_DOC_V_SCAN_0=@echo "  DOC   Scanning header files";
+
+GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
+GTK_DOC_V_INTROSPECT_0=@echo "  DOC   Introspecting gobjects";
+
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+       $(GTK_DOC_V_SCAN)_source_dir='' ; \
        for i in $(DOC_SOURCE_DIR) ; do \
-           _source_dir="$${_source_dir} --source-dir=$$i" ; \
+         _source_dir="$${_source_dir} --source-dir=$$i" ; \
        done ; \
        gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
-       @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
-           echo "  DOC   Introspecting gobjects"; \
-           scanobj_options=""; \
-           gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-           if test "$(?)" = "0"; then \
-               if test "x$(V)" = "x1"; then \
-                   scanobj_options="--verbose"; \
-               fi; \
+       $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+         scanobj_options=""; \
+         gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
+         if test "$$?" = "0"; then \
+           if test "x$(V)" = "x1"; then \
+             scanobj_options="--verbose"; \
            fi; \
-           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
-           gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+         fi; \
+         CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+         gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
        else \
-           for i in $(SCANOBJ_FILES) ; do \
-               test -f $$i || touch $$i ; \
-           done \
+         for i in $(SCANOBJ_FILES) ; do \
+           test -f $$i || touch $$i ; \
+         done \
        fi
-       @touch scan-build.stamp
+       $(AM_V_at)touch scan-build.stamp
 
 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
        @true
 
-#### templates ####
-
-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-       @echo '  DOC   Rebuilding template files'
-       @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
-       @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-         if test -w $(abs_srcdir) ; then \
-           cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
-         fi \
-       fi
-       @touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
-       @true
-
-$(srcdir)/tmpl/*.sgml:
-       @true
-
 #### xml ####
 
-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
-       @echo '  DOC   Building XML'
-       @-chmod -R u+w $(srcdir)
-       @_source_dir='' ; \
+GTK_DOC_V_XML=$(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_=$(GTK_DOC_V_XML_@AM_DEFAULT_V@)
+GTK_DOC_V_XML_0=@echo "  DOC   Building XML";
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+       $(GTK_DOC_V_XML)_source_dir='' ; \
        for i in $(DOC_SOURCE_DIR) ; do \
-           _source_dir="$${_source_dir} --source-dir=$$i" ; \
+         _source_dir="$${_source_dir} --source-dir=$$i" ; \
        done ; \
        gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
-       @touch sgml-build.stamp
+       $(AM_V_at)touch sgml-build.stamp
 
 sgml.stamp: sgml-build.stamp
        @true
 
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+       @true
+
+xml/gtkdocentities.ent: Makefile
+       $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+               echo "<!ENTITY package \"$(PACKAGE)\">"; \
+               echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+               echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+               echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+               echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+               echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+               echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+       ) > $@
+
 #### html ####
 
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-       @echo '  DOC   Building HTML'
-       @rm -rf html
-       @mkdir html
-       @mkhtml_options=""; \
+GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
+GTK_DOC_V_HTML_0=@echo "  DOC   Building HTML";
+
+GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
+GTK_DOC_V_XREF_0=@echo "  DOC   Fixing cross-references";
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+       $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+       mkhtml_options=""; \
        gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          if test "x$(V)" = "x1"; then \
            mkhtml_options="$$mkhtml_options --verbose"; \
          fi; \
        fi; \
        gtkdoc-mkhtml 2>&1 --help | grep  >/dev/null "\-\-path"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
        fi; \
        cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
        -@test "x$(HTML_IMAGES)" = "x" || \
        for file in $(HTML_IMAGES) ; do \
-         if test -f $(abs_srcdir)/$$file ; then \
-           cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
-         fi; \
-         if test -f $(abs_builddir)/$$file ; then \
-           cp $(abs_builddir)/$$file $(abs_builddir)/html; \
-         fi; \
+         test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+         test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+         test -f $$file && cp $$file $(abs_builddir)/html; \
        done;
-       @echo '  DOC   Fixing cross-references'
-       @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-       @touch html-build.stamp
+       $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       $(AM_V_at)touch html-build.stamp
 
 #### pdf ####
 
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-       @echo '  DOC   Building PDF'
-       @rm -f $(DOC_MODULE).pdf
-       @mkpdf_options=""; \
+GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
+GTK_DOC_V_PDF_0=@echo "  DOC   Building PDF";
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+       $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+       mkpdf_options=""; \
        gtkdoc-mkpdf 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
-       if test "$(?)" = "0"; then \
+       if test "$$?" = "0"; then \
          if test "x$(V)" = "x1"; then \
            mkpdf_options="$$mkpdf_options --verbose"; \
          fi; \
@@ -206,23 +243,28 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
          done; \
        fi; \
        gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
-       @touch pdf-build.stamp
+       $(AM_V_at)touch pdf-build.stamp
 
 ##############
 
 clean-local:
        @rm -f *~ *.bak
        @rm -rf .libs
+       @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+         rm -f $(DOC_MODULE).types; \
+       fi
+       @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+         rm -f $(DOC_MODULE)-sections.txt; \
+       fi
 
 distclean-local:
        @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
            $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
        @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
-           rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
-           rm -rf tmpl; \
+           rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
        fi
 
-maintainer-clean-local: clean
+maintainer-clean-local:
        @rm -rf xml html
 
 install-data-local:
@@ -258,18 +300,18 @@ uninstall-local:
 #
 # Require gtk-doc when making dist
 #
-if ENABLE_GTK_DOC
-dist-check-gtkdoc:
+if HAVE_GTK_DOC
+dist-check-gtkdoc: docs
 else
 dist-check-gtkdoc:
-       @echo "*** gtk-doc must be installed and enabled in order to make dist"
+       @echo "*** gtk-doc is needed to run 'make dist'.         ***"
+       @echo "*** gtk-doc was not found when 'configure' ran.   ***"
+       @echo "*** please install gtk-doc and rerun 'configure'. ***"
        @false
 endif
 
-dist-hook: dist-check-gtkdoc dist-hook-local
-       @mkdir $(distdir)/tmpl
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
        @mkdir $(distdir)/html
-       @-cp ./tmpl/*.sgml $(distdir)/tmpl
        @cp ./html/* $(distdir)/html
        @-cp ./$(DOC_MODULE).pdf $(distdir)/
        @-cp ./$(DOC_MODULE).types $(distdir)/
diff --git a/java/LICENSE-2.0.txt b/java/LICENSE-2.0.txt
new file mode 100644 (file)
index 0000000..d645695
--- /dev/null
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
index 5f9739e..81e1d80 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-SUBDIRS = gnu . misc
+SUBDIRS = src
+
+EXTRA_DIST = LICENSE-2.0.txt
 
 INSTALL_TARGETS =
 
 if JAVA
 libidn_jardir = $(datadir)/java
-dist_libidn_jar_DATA = libidn-$(VERSION).jar
+libidn_jar_DATA = libidn-$(VERSION).jar
 
 libidn-$(VERSION).jar:
-       $(JAR) cf $@ gnu/inet/encoding/CombiningClass.class     \
-               gnu/inet/encoding/Composition.class             \
-               gnu/inet/encoding/DecompositionKeys.class       \
-               gnu/inet/encoding/DecompositionMappings.class   \
-               gnu/inet/encoding/IDNA.class                    \
-               gnu/inet/encoding/IDNAException.class           \
-               gnu/inet/encoding/NFKC.class                    \
-               gnu/inet/encoding/Punycode.class                \
-               gnu/inet/encoding/PunycodeException.class       \
-               gnu/inet/encoding/RFC3454.class                 \
-               gnu/inet/encoding/Stringprep.class              \
-               gnu/inet/encoding/StringprepException.class
+       $(AM_V_GEN)$(JAR) cf $@ \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/CombiningClass.class          \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/Composition.class             \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/DecompositionKeys.class       \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/DecompositionMappings.class   \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/IDNA.class                    \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/IDNAException.class           \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/NFKC.class                    \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/Punycode.class                \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/PunycodeException.class       \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/RangeSet\$$Builder.class      \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/RangeSet\$$Range.class        \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/RangeSet\$$RangeContainsComparator.class \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/RangeSet.class                \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/RFC3454.class                 \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/Stringprep.class              \
+               -C $(builddir)/src/main/java \
+                       gnu/inet/encoding/StringprepException.class
 
 INSTALL_TARGETS += install-jar
 install-jar:
@@ -46,10 +69,6 @@ install-jar:
 clean-local:
        rm -f $(libidn_jar_DATA)
 
-# Invoked by ../doc/java/Makefile.
-.PHONY: javadoc
-javadoc:
-       cd $(srcdir) && $(GJDOC) -d $(top_builddir)/doc/java gnu/inet/encoding/*.java
 endif
 
 install-data-local: $(INSTALL_TARGETS)
index b468205..60b6e32 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -53,103 +107,126 @@ build_triplet = @build@
 host_triplet = @host@
 @JAVA_TRUE@am__append_1 = install-jar
 subdir = java
-DIST_COMMON = $(am__dist_libidn_jar_DATA_DIST) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = pom.xml
 CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-am__dist_libidn_jar_DATA_DIST = libidn-$(VERSION).jar
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -178,15 +255,34 @@ am__uninstall_files_from_dir = { \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
 am__installdirs = "$(DESTDIR)$(libidn_jardir)"
-DATA = $(dist_libidn_jar_DATA)
+DATA = $(libidn_jar_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/pom.xml.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -218,10 +314,12 @@ ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -240,9 +338,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -262,290 +363,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -555,16 +945,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -581,33 +976,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -622,28 +1030,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -653,26 +1069,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -691,6 +1115,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -712,9 +1137,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -732,36 +1156,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -770,12 +1196,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -788,11 +1218,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -825,27 +1257,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -858,71 +1312,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -931,11 +1419,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -948,45 +1446,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -994,7 +1505,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1012,8 +1522,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1026,8 +1538,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1043,6 +1557,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1051,10 +1566,11 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = gnu . misc
+SUBDIRS = src
+EXTRA_DIST = LICENSE-2.0.txt
 INSTALL_TARGETS = $(am__append_1)
 @JAVA_TRUE@libidn_jardir = $(datadir)/java
-@JAVA_TRUE@dist_libidn_jar_DATA = libidn-$(VERSION).jar
+@JAVA_TRUE@libidn_jar_DATA = libidn-$(VERSION).jar
 all: all-recursive
 
 .SUFFIXES:
@@ -1070,14 +1586,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu java/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1088,16 +1603,21 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+pom.xml: $(top_builddir)/config.status $(srcdir)/pom.xml.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 mostlyclean-libtool:
        -rm -f *.lo
 
 clean-libtool:
        -rm -rf .libs _libs
-install-dist_libidn_jarDATA: $(dist_libidn_jar_DATA)
+install-libidn_jarDATA: $(libidn_jar_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(libidn_jardir)" || $(MKDIR_P) "$(DESTDIR)$(libidn_jardir)"
-       @list='$(dist_libidn_jar_DATA)'; test -n "$(libidn_jardir)" || list=; \
+       @list='$(libidn_jar_DATA)'; test -n "$(libidn_jardir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libidn_jardir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libidn_jardir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1107,29 +1627,32 @@ install-dist_libidn_jarDATA: $(dist_libidn_jar_DATA)
          $(INSTALL_DATA) $$files "$(DESTDIR)$(libidn_jardir)" || exit $$?; \
        done
 
-uninstall-dist_libidn_jarDATA:
+uninstall-libidn_jarDATA:
        @$(NORMAL_UNINSTALL)
-       @list='$(dist_libidn_jar_DATA)'; test -n "$(libidn_jardir)" || list=; \
+       @list='$(libidn_jar_DATA)'; test -n "$(libidn_jardir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(libidn_jardir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1144,57 +1667,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1210,12 +1688,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1227,15 +1700,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1244,11 +1713,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1280,13 +1766,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1365,7 +1848,7 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-data-local install-dist_libidn_jarDATA
+install-data-am: install-data-local install-libidn_jarDATA
 
 install-dvi: install-dvi-recursive
 
@@ -1409,40 +1892,62 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-dist_libidn_jarDATA
+uninstall-am: uninstall-libidn_jarDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) install-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       clean-local ctags ctags-recursive distclean distclean-generic \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool clean-local \
+       cscopelist-am ctags ctags-am distclean distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
-       install-data-am install-data-local install-dist_libidn_jarDATA \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
+       install-data-am install-data-local install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-libidn_jarDATA \
        install-man install-pdf install-pdf-am install-ps \
        install-ps-am install-strip installcheck installcheck-am \
        installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dist_libidn_jarDATA
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am uninstall-libidn_jarDATA
+
+.PRECIOUS: Makefile
 
 
 @JAVA_TRUE@libidn-$(VERSION).jar:
-@JAVA_TRUE@    $(JAR) cf $@ gnu/inet/encoding/CombiningClass.class     \
-@JAVA_TRUE@            gnu/inet/encoding/Composition.class             \
-@JAVA_TRUE@            gnu/inet/encoding/DecompositionKeys.class       \
-@JAVA_TRUE@            gnu/inet/encoding/DecompositionMappings.class   \
-@JAVA_TRUE@            gnu/inet/encoding/IDNA.class                    \
-@JAVA_TRUE@            gnu/inet/encoding/IDNAException.class           \
-@JAVA_TRUE@            gnu/inet/encoding/NFKC.class                    \
-@JAVA_TRUE@            gnu/inet/encoding/Punycode.class                \
-@JAVA_TRUE@            gnu/inet/encoding/PunycodeException.class       \
-@JAVA_TRUE@            gnu/inet/encoding/RFC3454.class                 \
-@JAVA_TRUE@            gnu/inet/encoding/Stringprep.class              \
-@JAVA_TRUE@            gnu/inet/encoding/StringprepException.class
+@JAVA_TRUE@    $(AM_V_GEN)$(JAR) cf $@ \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/CombiningClass.class          \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/Composition.class             \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/DecompositionKeys.class       \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/DecompositionMappings.class   \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/IDNA.class                    \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/IDNAException.class           \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/NFKC.class                    \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/Punycode.class                \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/PunycodeException.class       \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/RangeSet\$$Builder.class      \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/RangeSet\$$Range.class        \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/RangeSet\$$RangeContainsComparator.class \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/RangeSet.class                \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/RFC3454.class                 \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/Stringprep.class              \
+@JAVA_TRUE@            -C $(builddir)/src/main/java \
+@JAVA_TRUE@                    gnu/inet/encoding/StringprepException.class
 @JAVA_TRUE@install-jar:
 @JAVA_TRUE@    install -d -m 755 $(DESTDIR)$(libidn_jardir)
 @JAVA_TRUE@    ln -sf libidn-$(VERSION).jar $(DESTDIR)$(libidn_jardir)/libidn.jar
@@ -1450,11 +1955,6 @@ uninstall-am: uninstall-dist_libidn_jarDATA
 @JAVA_TRUE@clean-local:
 @JAVA_TRUE@    rm -f $(libidn_jar_DATA)
 
-# Invoked by ../doc/java/Makefile.
-@JAVA_TRUE@.PHONY: javadoc
-@JAVA_TRUE@javadoc:
-@JAVA_TRUE@    cd $(srcdir) && $(GJDOC) -d $(top_builddir)/doc/java gnu/inet/encoding/*.java
-
 install-data-local: $(INSTALL_TARGETS)
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/java/gnu/Makefile.in b/java/gnu/Makefile.in
deleted file mode 100644 (file)
index 5d1d34c..0000000
+++ /dev/null
@@ -1,1376 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2004-2012 Simon Josefsson
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = java/gnu
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = inet
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/gnu/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu java/gnu/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/java/gnu/inet/Makefile.in b/java/gnu/inet/Makefile.in
deleted file mode 100644 (file)
index a658d5d..0000000
+++ /dev/null
@@ -1,1376 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2004-2012 Simon Josefsson
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = java/gnu/inet
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = encoding
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/gnu/inet/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu java/gnu/inet/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/java/gnu/inet/encoding/Makefile.in b/java/gnu/inet/encoding/Makefile.in
deleted file mode 100644 (file)
index 2541d68..0000000
+++ /dev/null
@@ -1,1212 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2004-2012 Simon Josefsson
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = java/gnu/inet/encoding
-DIST_COMMON = $(am__dist_noinst_JAVA_DIST) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__dist_noinst_JAVA_DIST = CombiningClass.java Composition.java \
-       DecompositionKeys.java DecompositionMappings.java IDNA.java \
-       IDNAException.java NFKC.java Punycode.java \
-       PunycodeException.java RFC3454.java Stringprep.java \
-       StringprepException.java
-JAVAC = javac
-CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
-am__java_sources = $(dist_noinst_JAVA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-JAVAROOT = $(top_builddir)/java
-@JAVA_TRUE@dist_noinst_JAVA = \
-@JAVA_TRUE@    CombiningClass.java             \
-@JAVA_TRUE@    Composition.java                \
-@JAVA_TRUE@    DecompositionKeys.java          \
-@JAVA_TRUE@    DecompositionMappings.java      \
-@JAVA_TRUE@    IDNA.java                       \
-@JAVA_TRUE@    IDNAException.java              \
-@JAVA_TRUE@    NFKC.java                       \
-@JAVA_TRUE@    Punycode.java                   \
-@JAVA_TRUE@    PunycodeException.java          \
-@JAVA_TRUE@    RFC3454.java                    \
-@JAVA_TRUE@    Stringprep.java                 \
-@JAVA_TRUE@    StringprepException.java
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/gnu/inet/encoding/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu java/gnu/inet/encoding/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-classnoinst.stamp: $(am__java_sources)
-       @list1='$?'; list2=; if test -n "$$list1"; then \
-         for p in $$list1; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           list2="$$list2 $$d$$p"; \
-         done; \
-         echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
-         $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
-       else :; fi
-       echo timestamp > $@
-
-clean-noinstJAVA:
-       -rm -f *.class classnoinst.stamp
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile classnoinst.stamp
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstJAVA mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-noinstJAVA distclean distclean-generic distclean-libtool \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/java/libidn-1.25.jar b/java/libidn-1.25.jar
deleted file mode 100644 (file)
index 80ee571..0000000
Binary files a/java/libidn-1.25.jar and /dev/null differ
diff --git a/java/misc/Makefile.in b/java/misc/Makefile.in
deleted file mode 100644 (file)
index 0f4bc18..0000000
+++ /dev/null
@@ -1,1202 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2004-2012  Free Software Foundation
-#
-# This file is part of GNU Libidn.
-#
-# 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/>.
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = java/misc
-DIST_COMMON = $(am__dist_noinst_JAVA_DIST) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__dist_noinst_JAVA_DIST = GenerateRFC3454.java GenerateNFKC.java \
-       TestIDNA.java TestNFKC.java
-JAVAC = javac
-CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
-am__java_sources = $(dist_noinst_JAVA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-JAVAROOT = $(top_builddir)/java/misc
-AM_JAVACFLAGS = -classpath $(top_builddir)/java/libidn-$(VERSION).jar:$(top_srcdir)/java/libidn-$(VERSION).jar
-@JAVA_TRUE@dist_noinst_JAVA = \
-@JAVA_TRUE@    GenerateRFC3454.java \
-@JAVA_TRUE@    GenerateNFKC.java \
-@JAVA_TRUE@    TestIDNA.java \
-@JAVA_TRUE@    TestNFKC.java
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/misc/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu java/misc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-classnoinst.stamp: $(am__java_sources)
-       @list1='$?'; list2=; if test -n "$$list1"; then \
-         for p in $$list1; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           list2="$$list2 $$d$$p"; \
-         done; \
-         echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
-         $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
-       else :; fi
-       echo timestamp > $@
-
-clean-noinstJAVA:
-       -rm -f *.class classnoinst.stamp
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile classnoinst.stamp
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstJAVA mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-noinstJAVA distclean distclean-generic distclean-libtool \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/java/pom.xml.in b/java/pom.xml.in
new file mode 100644 (file)
index 0000000..dc14bc1
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.gnu.inet</groupId>
+  <artifactId>libidn</artifactId>
+  <name>GNU IDN Library</name>
+  <version>@VERSION@</version>
+
+  <description>
+    GNU Libidn is a fully documented implementation of the Stringprep,
+    Punycode and IDNA specifications. Libidn's purpose is to encode
+    and decode internationalized domain names.
+  </description>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.5</maven.compiler.source>
+    <maven.compiler.target>1.5</maven.compiler.target>
+    <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
+    <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
+  </properties>
+
+  <url>https://www.gnu.org/software/libidn/</url>
+
+  <inceptionYear>2002</inceptionYear>
+
+  <licenses>
+    <license>
+      <name>GNU Lesser General Public License version 3.0 or later</name>
+      <url>https://www.gnu.org/licenses/licenses.html</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:git:git://git.savannah.gnu.org/libidn.git</connection>
+    <url>http://git.savannah.gnu.org/gitweb/?p=libidn.git</url>
+  </scm>
+
+  <organization>
+    <name>GNU</name>
+    <url>https://www.gnu.org/</url>
+  </organization>
+
+  <dependencies>
+      <dependency>
+          <groupId>com.google.code.findbugs</groupId>
+          <artifactId>annotations</artifactId>
+          <version>2.0.1</version>
+          <scope>provided</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <version>4.11</version>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>com.google.guava</groupId>
+         <artifactId>guava</artifactId>
+         <version>14.0.1</version>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>com.google.caliper</groupId>
+         <artifactId>caliper</artifactId>
+         <version>0.5-rc1</version>
+         <scope>test</scope>
+      </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.1</version>
+      </plugin>
+
+      <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <version>2.14.1</version>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+      <profile>
+         <id>caliper</id>
+         <build>
+             <plugins>
+                 <plugin>
+                     <artifactId>maven-surefire-plugin</artifactId>
+                     <configuration>
+                         <includes>
+                             <include>**/Caliper*.java</include>
+                         </includes>
+                     </configuration>
+                 </plugin>
+             </plugins>
+         </build>
+      </profile>
+  </profiles>
+
+</project>
similarity index 59%
rename from tests/libidn.supp
rename to java/src/Makefile.am
index 7da3445..b052905 100644 (file)
@@ -1,5 +1,5 @@
-# libidn.supp -- Valgrind suppression file for Libidn
-# Copyright (C) 2012 Simon Josefsson
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-{
-   gcc strlen optimization
-   Memcheck:Addr4
-   fun:idna_to_ascii_4z
-   fun:idna_to_ascii_8z
-   fun:doit
-   fun:main
-}
-
-{
-   gcc strlen optimization
-   Memcheck:Addr4
-   fun:idna_to_ascii_4z
-   fun:idna_to_ascii_8z
-   fun:doit
-   fun:main
-}
+SUBDIRS = main test util
diff --git a/java/src/Makefile.in b/java/src/Makefile.in
new file mode 100644 (file)
index 0000000..aeab7d5
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = main test util
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/java/src/main/Makefile.am b/java/src/main/Makefile.am
new file mode 100644 (file)
index 0000000..46a5cc8
--- /dev/null
@@ -0,0 +1,19 @@
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+SUBDIRS = java
diff --git a/java/src/main/Makefile.in b/java/src/main/Makefile.in
new file mode 100644 (file)
index 0000000..c8f5f22
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/main
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = java
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/main/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/main/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/java/src/main/java/Makefile.am b/java/src/main/java/Makefile.am
new file mode 100644 (file)
index 0000000..3646190
--- /dev/null
@@ -0,0 +1,29 @@
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+SUBDIRS = gnu .
+INSTALL_TARGETS =
+
+if JAVA
+
+# Invoked by ../doc/java/Makefile.
+.PHONY: javadoc
+javadoc:
+       $(AM_V_GEN)cd $(srcdir) && \
+               $(JAVADOC) -d $(top_builddir)/doc/java/html gnu/inet/encoding/*.java
+endif
diff --git a/java/src/main/java/Makefile.in b/java/src/main/java/Makefile.in
new file mode 100644 (file)
index 0000000..8168e28
--- /dev/null
@@ -0,0 +1,1862 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/main/java
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = gnu .
+INSTALL_TARGETS = 
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/main/java/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/main/java/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Invoked by ../doc/java/Makefile.
+@JAVA_TRUE@.PHONY: javadoc
+@JAVA_TRUE@javadoc:
+@JAVA_TRUE@    $(AM_V_GEN)cd $(srcdir) && \
+@JAVA_TRUE@            $(JAVADOC) -d $(top_builddir)/doc/java/html gnu/inet/encoding/*.java
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 85%
rename from java/gnu/Makefile.am
rename to java/src/main/java/gnu/Makefile.am
index e40dc86..265687a 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -14,6 +14,6 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 SUBDIRS = inet
diff --git a/java/src/main/java/gnu/Makefile.in b/java/src/main/java/gnu/Makefile.in
new file mode 100644 (file)
index 0000000..d47cb33
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/main/java/gnu
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = inet
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/main/java/gnu/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/main/java/gnu/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 85%
rename from java/gnu/inet/Makefile.am
rename to java/src/main/java/gnu/inet/Makefile.am
index bdad4fc..3caeb3e 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -14,6 +14,6 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 SUBDIRS = encoding
diff --git a/java/src/main/java/gnu/inet/Makefile.in b/java/src/main/java/gnu/inet/Makefile.in
new file mode 100644 (file)
index 0000000..1a0e4cc
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/main/java/gnu/inet
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = encoding
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/main/java/gnu/inet/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/main/java/gnu/inet/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 95%
rename from java/gnu/inet/encoding/IDNA.java
rename to java/src/main/java/gnu/inet/encoding/IDNA.java
index c366525..a26a0e9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
@@ -54,15 +54,15 @@ public class IDNA
   public static String toASCII(String input)
     throws IDNAException
   {
-    StringBuffer o = new StringBuffer();
-    StringBuffer h = new StringBuffer();
+    StringBuilder o = new StringBuilder();
+    StringBuilder h = new StringBuilder();
 
     for (int i = 0; i < input.length(); i++) {
       char c = input.charAt(i);
       if (c == '.' || c == '\u3002' || c == '\uff0e' || c == '\uff61') {
        o.append(toASCII(h.toString(), false, true));
        o.append('.');
-       h = new StringBuffer();
+       h = new StringBuilder();
       } else {
        h.append(c);
       }
@@ -184,15 +184,15 @@ public class IDNA
    */
   public static String toUnicode(String input)
   {
-    StringBuffer o = new StringBuffer();
-    StringBuffer h = new StringBuffer();
+    StringBuilder o = new StringBuilder();
+    StringBuilder h = new StringBuilder();
 
     for (int i = 0; i < input.length(); i++) {
       char c = input.charAt(i);
       if (c == '.' || c == '\u3002' || c == '\uff0e' || c == '\uff61') {
        o.append(toUnicode(h.toString(), false, true));
        o.append(c);
-       h = new StringBuffer();
+       h = new StringBuilder();
       } else {
        h.append(c);
       }
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
similarity index 84%
rename from java/gnu/inet/encoding/Makefile.am
rename to java/src/main/java/gnu/inet/encoding/Makefile.am
index f526e5a..1f7db3b 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012 Simon Josefsson
+# Copyright (C) 2004-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -14,9 +14,9 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-JAVAROOT = $(top_builddir)/java
+JAVAROOT = $(top_builddir)/java/src/main/java
 
 if JAVA
 dist_noinst_JAVA = \
@@ -29,6 +29,7 @@ dist_noinst_JAVA = \
        NFKC.java                       \
        Punycode.java                   \
        PunycodeException.java          \
+       RangeSet.java                   \
        RFC3454.java                    \
        Stringprep.java                 \
        StringprepException.java
diff --git a/java/src/main/java/gnu/inet/encoding/Makefile.in b/java/src/main/java/gnu/inet/encoding/Makefile.in
new file mode 100644 (file)
index 0000000..b18dd1e
--- /dev/null
@@ -0,0 +1,1715 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/main/java/gnu/inet/encoding
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__dist_noinst_JAVA_DIST) \
+       $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__dist_noinst_JAVA_DIST = CombiningClass.java Composition.java \
+       DecompositionKeys.java DecompositionMappings.java IDNA.java \
+       IDNAException.java NFKC.java Punycode.java \
+       PunycodeException.java RangeSet.java RFC3454.java \
+       Stringprep.java StringprepException.java
+CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
+am__java_sources = $(dist_noinst_JAVA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+JAVAROOT = $(top_builddir)/java/src/main/java
+@JAVA_TRUE@dist_noinst_JAVA = \
+@JAVA_TRUE@    CombiningClass.java             \
+@JAVA_TRUE@    Composition.java                \
+@JAVA_TRUE@    DecompositionKeys.java          \
+@JAVA_TRUE@    DecompositionMappings.java      \
+@JAVA_TRUE@    IDNA.java                       \
+@JAVA_TRUE@    IDNAException.java              \
+@JAVA_TRUE@    NFKC.java                       \
+@JAVA_TRUE@    Punycode.java                   \
+@JAVA_TRUE@    PunycodeException.java          \
+@JAVA_TRUE@    RangeSet.java                   \
+@JAVA_TRUE@    RFC3454.java                    \
+@JAVA_TRUE@    Stringprep.java                 \
+@JAVA_TRUE@    StringprepException.java
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/main/java/gnu/inet/encoding/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/main/java/gnu/inet/encoding/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+classnoinst.stamp: $(am__java_sources)
+       @list1='$?'; list2=; if test -n "$$list1"; then \
+         for p in $$list1; do \
+           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+           list2="$$list2 $$d$$p"; \
+         done; \
+         echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
+         $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
+       else :; fi
+       echo timestamp > $@
+
+clean-noinstJAVA:
+       -rm -f *.class classnoinst.stamp
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile classnoinst.stamp
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstJAVA mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       clean-noinstJAVA cscopelist-am ctags-am distclean \
+       distclean-generic distclean-libtool distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 93%
rename from java/gnu/inet/encoding/NFKC.java
rename to java/src/main/java/gnu/inet/encoding/NFKC.java
index 19c1cb8..a747a3d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
@@ -42,9 +42,10 @@ public class NFKC
    */
   public static String normalizeNFKC(String in)
   {
-    StringBuffer out = new StringBuffer();
+    int len = in.length();
+    StringBuilder out = new StringBuilder(len);
 
-    for (int i = 0; i < in.length(); i++) {
+    for (int i = 0; i < len; i++) {
       char code = in.charAt(i);
 
       // In Unicode 3.0, Hangul was defined as the block from U+AC00
@@ -63,7 +64,7 @@ public class NFKC
       }
     }
 
-    // Bring the stringbuffer into canonical order.
+    // Bring the StringBuilder into canonical order.
     canonicalOrdering(out);
 
     // Do the canonical composition.
@@ -155,13 +156,17 @@ public class NFKC
   }
 
   /**
-   * Rearranges characters in a stringbuffer in order to respect the
+   * Rearranges characters in a StringBuilder in order to respect the
    * canonical ordering properties.
    *
-   * @param The StringBuffer to rearrange.
+   * @param in The StringBuilder to rearrange.
    */
-  static void canonicalOrdering(StringBuffer in)
+  static void canonicalOrdering(StringBuilder in)
   {
+    if (in.length() == 0) {
+      return;
+    }
+
     boolean isOrdered = false;
 
     while (!isOrdered) {
@@ -289,7 +294,7 @@ public class NFKC
     if (SIndex < 0 || SIndex >= SCount) {
       return String.valueOf(s);
     }
-    StringBuffer result = new StringBuffer();
+    StringBuilder result = new StringBuilder();
     int L = LBase + SIndex / NCount;
     int V = VBase + (SIndex % NCount) / TCount;
     int T = TBase + SIndex % TCount;
similarity index 96%
rename from java/gnu/inet/encoding/Punycode.java
rename to java/src/main/java/gnu/inet/encoding/Punycode.java
index 024a9eb..67e00ed 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
@@ -62,7 +62,7 @@ public class Punycode
     int n = INITIAL_N;
     int delta = 0;
     int bias = INITIAL_BIAS;
-    StringBuffer output = new StringBuffer();
+    StringBuilder output = new StringBuilder();
 
     // Copy all basic code points to the output
     int b = 0;
@@ -150,7 +150,7 @@ public class Punycode
     int n = INITIAL_N;
     int i = 0;
     int bias = INITIAL_BIAS;
-    StringBuffer output = new StringBuffer();
+    StringBuilder output = new StringBuilder();
 
     int d = input.lastIndexOf(DELIMITER);
     if (d > 0) {
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
diff --git a/java/src/main/java/gnu/inet/encoding/RangeSet.java b/java/src/main/java/gnu/inet/encoding/RangeSet.java
new file mode 100644 (file)
index 0000000..efa307a
--- /dev/null
@@ -0,0 +1,404 @@
+/* Copyright (C) 2013-2024 Free Software Foundation, Inc.
+   Author: Stefan Larsson
+
+   This file is part of GNU Libidn.
+
+   GNU Libidn is free software: you can redistribute it and/or
+   modify it under the terms of either:
+
+     * the GNU Lesser General Public License as published by the Free
+       Software Foundation; either version 3 of the License, or (at
+       your option) any later version.
+
+   or
+
+     * the GNU General Public License as published by the Free
+       Software Foundation; either version 2 of the License, or (at
+       your option) any later version.
+
+   or both in parallel, as here.
+
+   GNU Libidn 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 copies of the GNU General Public License and
+   the GNU Lesser General Public License along with this program.  If
+   not, see <https://www.gnu.org/licenses/>. */
+
+package gnu.inet.encoding;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Set of integer ranges supporting efficient contains-checks.
+ * @author Stefan Larsson
+ */
+public final class RangeSet
+{
+  private static final RangeContainsComparator CONTAINS_COMPARATOR =
+      new RangeContainsComparator();
+
+  private final Range[] ranges;
+
+  private final Range mostSignificantGap;
+
+  // TODO Store ranges with improved cache-locality, probably int[] with even/odd elements being first/last
+
+  public static final class Range implements Comparable<Range>
+  {
+    private final int first;
+    private final int last;
+
+    public Range(int first, int last)
+    {
+      if (first > last) {
+       throw new IllegalArgumentException("Reversed " + first + "-" + last);
+      }
+      this.first = first;
+      this.last = last;
+    }
+
+    public Range(int single)
+    {
+      this.first = single;
+      this.last = single;
+    }
+
+    public Range(Range firstRange, Range lastRange)
+    {
+      // firstRange shouldn't start later than lastRange starts
+      if (firstRange.first > lastRange.first)
+      {
+       throw new IllegalArgumentException(firstRange + " starts later than "
+                                          + lastRange);
+      }
+
+      if (lastRange.first - firstRange.last > 1)
+      {
+       throw new IllegalArgumentException("Disjunct " + firstRange
+                                          + " - " + lastRange);
+      }
+      this.first = firstRange.first;
+      this.last = lastRange.last;
+    }
+
+    public boolean contains(final int i) {
+      return first <= i && i <= last;
+    }
+
+    /**
+     * Checks if this range completely can contain the other range.
+     * @param other other range to verify
+     * @return {@code true} if other completely contained by this,
+     *         otherwise {@code false}
+     */
+    public boolean contains(final Range other)
+    {
+      return (this.first <= other.first) && (other.last <= this.last);
+    }
+
+    @Override
+    public String toString()
+    {
+      return "[" + Integer.toHexString(first).toUpperCase(Locale.ENGLISH) + ","
+         + Integer.toHexString(last).toUpperCase(Locale.ENGLISH) + ']';
+    }
+
+    //@Override
+    public int compareTo(final Range other)
+    {
+      if (this.first < other.first)
+      {
+       return -1;
+      }
+      if (this.first > other.first)
+      {
+       return 1;
+      }
+
+      if (this.last < other.last)
+      {
+       return -1;
+      }
+      if (this.last > other.last)
+      {
+       return 1;
+      }
+
+      return 0;
+    }
+
+    @Override
+    public boolean equals(Object o)
+    {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+
+      Range range = (Range) o;
+
+      if (first != range.first) return false;
+      if (last != range.last) return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode()
+    {
+      return 31 * first + last;
+    }
+  }
+
+  private static class RangeContainsComparator implements Comparator<Range> {
+
+    public int compare(Range current, Range contained)
+    {
+      if (current.last < contained.first)
+      {
+       return -1;
+      }
+      if (contained.last < current.first)
+      {
+       return 1;
+      }
+      return 0;
+    }
+  }
+
+  private RangeSet(final List<Range> ranges) {
+    this.ranges = ranges.toArray(new Range[ranges.size()]);
+    this.mostSignificantGap = findMostSignificantGap(this.ranges);
+  }
+
+  /**
+   * Returns the most significant gap, or {@code null} if no important gap found.
+   * @param ranges ranges to search
+   * @return most significant gap, or {@code null} if no important gap found
+   */
+  private static Range findMostSignificantGap(final Range[] ranges)
+  {
+    if (ranges.length == 0) {
+      return new Range(0, Integer.MAX_VALUE);
+    }
+
+    final int aIdx =
+           Arrays.binarySearch(ranges, new Range('a'), CONTAINS_COMPARATOR);
+    if (aIdx >= 0)
+    {
+      // 'a' in ranges, don't even attempt to exclude smartly
+      return null;
+    }
+
+    final int insertionPoint = -(aIdx + 1);
+    if (insertionPoint == 0) {
+      return new Range(0, ranges[0].first - 1);
+    }
+    if (insertionPoint == ranges.length) {
+      return new Range(ranges[ranges.length - 1].last + 1, Integer.MAX_VALUE);
+    }
+    return new Range(ranges[insertionPoint - 1].last + 1,
+                    ranges[insertionPoint].first - 1);
+  }
+
+  public static final class Builder {
+    private final List<Range> ranges = new ArrayList<Range>();
+
+    public Builder addRange(final Range range) {
+      ranges.add(range);
+      return this;
+    }
+
+    public Builder addRanges(final Collection<Range> ranges) {
+      ranges.addAll(ranges);
+      return this;
+    }
+
+    public Builder addRanges(final char[][] ranges) {
+      for (final char[] range : ranges) {
+       if (range.length == 1) {
+         this.ranges.add(new Range(range[0]));
+       } else if (range.length == 2) {
+         this.ranges.add(new Range(range[0], range[1]));
+       } else {
+         throw new IllegalArgumentException("Unexpected range len:"
+                                            + range.length);
+       }
+      }
+      return this;
+    }
+
+    public Builder addRanges(final char[] items) {
+      for (final char item : items) {
+       this.ranges.add(new Range(item));
+      }
+      return this;
+    }
+
+    public RangeSet build() {
+      Collections.sort(ranges);
+      final List<Range> mergedRanges = mergeRanges(ranges);
+      return new RangeSet(mergedRanges);
+    }
+
+    static List<Range> mergeRanges(final List<Range> ranges)
+    {
+      if (ranges.isEmpty())
+      {
+       return Collections.emptyList();
+      }
+
+      final List<Range> result = new ArrayList<Range>();
+      final Iterator<Range> it = ranges.iterator();
+
+      Range leftRange = it.next();
+      List<Range> merged = Collections.singletonList(leftRange);
+      while (it.hasNext())
+      {
+       // merge ranges as long as they're adjacent/overlapping
+       while (merged.size() == 1 && it.hasNext())
+       {
+         leftRange = merged.get(0);
+         Range rightRange = it.next();
+         merged = mergeRanges(leftRange, rightRange);
+       }
+       // when ranges weren't merge-able, add all but last, merge against last
+       if (merged.size() > 1)
+       {
+         result.addAll(merged.subList(0, merged.size() - 1));
+         merged = Collections.singletonList(merged.get(merged.size() - 1));
+       }
+      }
+      result.addAll(merged);
+      return result;
+    }
+
+    static List<Range> mergeRanges(Range leftRange, Range rightRange)
+    {
+      if (leftRange.last + 1 >= rightRange.first) {
+       final int last = Math.max(rightRange.last, leftRange.last);
+       return Collections.singletonList(new Range(leftRange.first, last));
+      } else {
+       final List<Range> result = new ArrayList<Range>(2);
+       result.add(leftRange);
+       result.add(rightRange);
+       return result;
+      }
+    }
+  }
+
+  public static Builder builder() {
+    return new Builder();
+  }
+
+  public boolean contains(final int i)
+  {
+    if (mostSignificantGap != null && mostSignificantGap.contains(i)) {
+      return false;
+    }
+
+    final Range searchRange = new Range(i);
+    int idx = Arrays.binarySearch(ranges, searchRange, CONTAINS_COMPARATOR);
+    return idx >= 0;
+  }
+
+  public boolean containsAnyCodePoint(final CharSequence text) {
+    final Range inputRange = createTextRange(text);
+    return containsAnyCodePoint(text, inputRange);
+  }
+
+  public boolean containsAnyCodePoint(final CharSequence text,
+                                     final Range inputRange) {
+    final int len = text.length();
+    if (len == 0)
+    {
+      return false;
+    }
+
+    if (mostSignificantGap != null
+       && mostSignificantGap.contains(inputRange.first)
+       && mostSignificantGap.contains(inputRange.last)) {
+      return false;
+    }
+
+    // if found, returns the index, otherwise "-insertionPoint - 1"
+    final int idxEnd =
+           Arrays.binarySearch(ranges, new Range(inputRange.last), CONTAINS_COMPARATOR);
+    // search for start in "head" range only (likely small)
+    final int startFromIdx = 0;
+    final int startEndIdx = idxEnd >= 0 ? idxEnd + 1 : -(idxEnd + 1);
+    final int idxStart =
+           Arrays.binarySearch(ranges, startFromIdx, startEndIdx,
+                               new Range(inputRange.first), CONTAINS_COMPARATOR);
+
+    // If whole range in text outside same non-contained range, won't be found
+    // If whole range in text inside single contained range, must match
+    if (idxStart == idxEnd)
+    {
+      return idxStart >= 0;
+    }
+
+    // if start or end inside contained range, match
+    if (idxStart >= 0 || idxEnd >= 0)
+    {
+      return true;
+    }
+
+    // text spans across multiple ranges of set, need to search individual chars
+    final int searchStart = -idxStart + 1;
+    final int searchEnd = -idxEnd + 1;
+
+    for (int i = 0; i < len; )
+    {
+      final int cp = Character.codePointAt(text, i);
+      i += Character.charCount(cp);
+      final int idx = Arrays.binarySearch(ranges, searchStart, searchEnd, new Range(cp), CONTAINS_COMPARATOR);
+      if (idx > 0)
+      {
+       return true;
+      }
+    }
+    return false;
+  }
+
+  /**
+   * Returns the range of the input or {@code all-inclusive range} if input is empty
+   * @param text input text
+   * @return range of input, or {@code all-inclusive} if empty input
+   */
+  public static Range createTextRange(final CharSequence text)
+  {
+    final int len = text.length();
+    if (len == 0) {
+      return new Range(Integer.MIN_VALUE, Integer.MAX_VALUE);
+    }
+
+    int minCodePoint = Integer.MAX_VALUE;
+    int maxCodePoint = Integer.MIN_VALUE;
+    for (int i = 0; i < len; )
+    {
+      final int cp = Character.codePointAt(text, i);
+      minCodePoint = Math.min(minCodePoint, cp);
+      maxCodePoint = Math.max(maxCodePoint, cp);
+      i += Character.charCount(cp);
+    }
+    return new Range(minCodePoint, maxCodePoint);
+  }
+
+  @Override
+  public String toString()
+  {
+    return "RangeSet{" +
+           "ranges=" + Arrays.asList(ranges) +
+           ", mostSignificantGap=" + mostSignificantGap +
+           '}';
+  }
+}
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
+import java.util.Arrays;
+
 /**
  * This class offers static methods for preparing internationalized
  * strings. It supports the following stringprep profiles:
@@ -41,6 +43,92 @@ package gnu.inet.encoding;
  */
 public class Stringprep
 {
+  private static final RangeSet.Range[] NODEPREP_PASSTHROUGH_RANGES =
+         new RangeSet.Range[] { new RangeSet.Range(0x5B, 0x7E),
+                                new RangeSet.Range(0x30, 0x39),
+                                new RangeSet.Range(0x28, 0x2E)};
+
+  private static final RangeSet.Range[] NAMEPREP_PASSTHROUGH_RANGES =
+         new RangeSet.Range[] { new RangeSet.Range(0x5B, 0x7F),
+                                new RangeSet.Range(0x00, 0x40)};
+
+  private static final RangeSet.Range[] RESOURCEPREP_PASSTHROUGH_RANGES =
+         new RangeSet.Range[] { new RangeSet.Range(0x20, 0x7E)};
+
+
+  private static final RangeSet RANGE_A1 =
+         RangeSet.builder().addRanges(RFC3454.A1)
+                 .build();
+
+  private static final RangeSet RANGE_B1 =
+         RangeSet.builder().addRanges(RFC3454.B1)
+                 .build();
+
+  private static final RangeSet RANGE_D1 =
+         RangeSet.builder().addRanges(RFC3454.D1)
+                 .build();
+
+  private static final RangeSet RANGE_D2 =
+         RangeSet.builder().addRanges(RFC3454.D2)
+                 .build();
+
+
+  private static final RangeSet RANGE_C3_to_C8_C12_C22 =
+         RangeSet.builder().addRanges(RFC3454.C12)
+                 .addRanges(RFC3454.C22)
+                 .addRanges(RFC3454.C3)
+                 .addRanges(RFC3454.C4)
+                 .addRanges(RFC3454.C5)
+                 .addRanges(RFC3454.C6)
+                 .addRanges(RFC3454.C7)
+                 .addRanges(RFC3454.C8)
+                 // TODO Add C9 table now, proper unicode support now
+                 // Temporary rejection of all "unsupported" in java 1.4
+                 .addRange(new RangeSet.Range(0xffff, 0x10ffff))
+                 .build();
+
+  /**
+   * Characters prohibited by RFC3920 nodeprep that aren't defined as
+   * part of the RFC3454 tables.
+   */
+  private static final char [] RFC3920_NODEPREP_PROHIBIT = new char [] {
+         '\u0022', '\u0026', '\'',     '\u002F',
+         '\u003A', '\u003C', '\u003E', '\u0040'
+  };
+
+  private static final RangeSet RANGE_C3_TO_C8_C11_12_21_22_NP_PROHIB =
+         RangeSet.builder().addRanges(RFC3454.C3)
+                 .addRanges(RFC3454.C4)
+                 .addRanges(RFC3454.C5)
+                 .addRanges(RFC3454.C6)
+                 .addRanges(RFC3454.C7)
+                 .addRanges(RFC3454.C8)
+                 .addRanges(RFC3454.C11)
+                 .addRanges(RFC3454.C12)
+                 .addRanges(RFC3454.C21)
+                 .addRanges(RFC3454.C22)
+                 .addRanges(RFC3920_NODEPREP_PROHIBIT)
+                 // TODO Add C9 table now, proper unicode support now
+                 // Temporary rejection of all "unsupported" in java 1.4
+                 .addRange(new RangeSet.Range(0xffff, 0x10ffff))
+                 .build();
+
+  private static final RangeSet RANGE_C3_to_C8_C12_C21_C22 =
+         RangeSet.builder().addRanges(RFC3454.C12)
+                 .addRanges(RFC3454.C21)
+                 .addRanges(RFC3454.C22)
+                 .addRanges(RFC3454.C3)
+                 .addRanges(RFC3454.C4)
+                 .addRanges(RFC3454.C5)
+                 .addRanges(RFC3454.C6)
+                 .addRanges(RFC3454.C7)
+                 .addRanges(RFC3454.C8)
+                 // TODO Add C9 table now, proper unicode support now
+                 // Temporary rejection of all "unsupported" in java 1.4
+                 .addRange(new RangeSet.Range(0xffff, 0x10ffff))
+                 .build();
+
+
   /**
    * Preps a name according to the Stringprep profile defined in
    * RFC3491. Unassigned code points are not allowed.
@@ -78,35 +166,32 @@ public class Stringprep
       throw new NullPointerException();
     }
 
-    StringBuffer s = new StringBuffer(input);
-
-    if (!allowUnassigned && contains(s, RFC3454.A1)) {
+    final RangeSet.Range inputRange = RangeSet.createTextRange(input);
+    if (onlyPassThrough(NAMEPREP_PASSTHROUGH_RANGES, inputRange)) {
+      return input;
+    }
+    if (!allowUnassigned && RANGE_A1.containsAnyCodePoint(input, inputRange)) {
       throw new StringprepException(StringprepException.CONTAINS_UNASSIGNED);
     }
 
-    filter(s, RFC3454.B1);
+    StringBuilder s = new StringBuilder(input);
+
+    filter(s, RANGE_B1);
     map(s, RFC3454.B2search, RFC3454.B2replace);
 
-    s = new StringBuffer(NFKC.normalizeNFKC(s.toString()));
+    s = new StringBuilder(NFKC.normalizeNFKC(s.toString()));
+    final RangeSet.Range normalizedRange = RangeSet.createTextRange(s);
     // B.3 is only needed if NFKC is not used, right?
     // map(s, RFC3454.B3search, RFC3454.B3replace);
-
-    if (contains(s, RFC3454.C12) ||
-       contains(s, RFC3454.C22) ||
-       contains(s, RFC3454.C3) ||
-       contains(s, RFC3454.C4) ||
-       contains(s, RFC3454.C5) ||
-       contains(s, RFC3454.C6) ||
-       contains(s, RFC3454.C7) ||
-       contains(s, RFC3454.C8)) {
+    if (RANGE_C3_to_C8_C12_C22.containsAnyCodePoint(s, normalizedRange)) {
       // Table C.9 only contains code points > 0xFFFF which Java
       // doesn't handle
       throw new StringprepException(StringprepException.CONTAINS_PROHIBITED);
     }
 
     // Bidi handling
-    boolean r = contains(s, RFC3454.D1);
-    boolean l = contains(s, RFC3454.D2);
+    boolean r = RANGE_D1.containsAnyCodePoint(s, normalizedRange);
+    boolean l = RANGE_D2.containsAnyCodePoint(s, normalizedRange);
 
     // RFC 3454, section 6, requirement 1: already handled above (table C.8)
 
@@ -117,8 +202,8 @@ public class Stringprep
 
     // RFC 3454, section 6, requirement 3
     if (r) {
-      if (!contains(s.charAt(0), RFC3454.D1) ||
-         !contains(s.charAt(s.length()-1), RFC3454.D1)) {
+      if (!RANGE_D1.contains(s.charAt(0)) ||
+         !RANGE_D1.contains(s.charAt(s.length()-1))) {
        throw new StringprepException(StringprepException.BIDI_LTRAL);
       }
     }
@@ -127,15 +212,6 @@ public class Stringprep
   }
 
   /**
-   * Characters prohibited by RFC3920 nodeprep that aren't defined as
-   * part of the RFC3454 tables.
-   */
-  private static final char [] RFC3920_NODEPREP_PROHIBIT = new char [] {
-    '\u0022', '\u0026', '\'',     '\u002F',
-    '\u003A', '\u003C', '\u003E', '\u0040'
-  };
-
-  /**
    * Preps a node name according to the Stringprep profile defined in
    * RFC3920. Unassigned code points are not allowed.
    *
@@ -172,36 +248,29 @@ public class Stringprep
       throw new NullPointerException();
     }
 
-    StringBuffer s = new StringBuffer(input);
-
-    if (!allowUnassigned && contains(s, RFC3454.A1)) {
+    final RangeSet.Range inputRange = RangeSet.createTextRange(input);
+    if (onlyPassThrough(NODEPREP_PASSTHROUGH_RANGES, inputRange)) {
+      return input;
+    }
+    if (!allowUnassigned && RANGE_A1.containsAnyCodePoint(input, inputRange)) {
       throw new StringprepException(StringprepException.CONTAINS_UNASSIGNED);
     }
 
-    filter(s, RFC3454.B1);
+    StringBuilder s = new StringBuilder(input);
+
+    filter(s, RANGE_B1);
     map(s, RFC3454.B2search, RFC3454.B2replace);
 
-    s = new StringBuffer(NFKC.normalizeNFKC(s.toString()));
-    
-    if (contains(s, RFC3454.C11) ||
-       contains(s, RFC3454.C12) ||
-       contains(s, RFC3454.C21) ||
-       contains(s, RFC3454.C22) ||
-       contains(s, RFC3454.C3) ||
-       contains(s, RFC3454.C4) ||
-       contains(s, RFC3454.C5) ||
-       contains(s, RFC3454.C6) ||
-       contains(s, RFC3454.C7) ||
-       contains(s, RFC3454.C8) ||
-       contains(s, RFC3920_NODEPREP_PROHIBIT)) {                           
-      // Table C.9 only contains code points > 0xFFFF which Java
-      // doesn't handle
+    s = new StringBuilder(NFKC.normalizeNFKC(s.toString()));
+    final RangeSet.Range normalizedRange = RangeSet.createTextRange(s);
+    if (RANGE_C3_TO_C8_C11_12_21_22_NP_PROHIB.containsAnyCodePoint(s, normalizedRange))
+    {
       throw new StringprepException(StringprepException.CONTAINS_PROHIBITED);
     }
 
     // Bidi handling
-    boolean r = contains(s, RFC3454.D1);
-    boolean l = contains(s, RFC3454.D2);
+    boolean r = RANGE_D1.containsAnyCodePoint(s, normalizedRange);
+    boolean l = RANGE_D2.containsAnyCodePoint(s, normalizedRange);
 
     // RFC 3454, section 6, requirement 1: already handled above (table C.8)
 
@@ -209,15 +278,15 @@ public class Stringprep
     if (r && l) {
       throw new        StringprepException(StringprepException.BIDI_BOTHRAL);
     }
-    
+
     // RFC 3454, section 6, requirement 3
     if (r) {
-      if (!contains(s.charAt(0), RFC3454.D1) ||
-         !contains(s.charAt(s.length() - 1), RFC3454.D1)) {
+      if (!RANGE_D1.contains(s.charAt(0)) ||
+         !RANGE_D1.contains(s.charAt(s.length() - 1))) {
        throw new StringprepException(StringprepException.BIDI_LTRAL);
       }
     }
-    
+
     return s.toString();
   }
 
@@ -258,36 +327,34 @@ public class Stringprep
       throw new NullPointerException();
     }
 
-    StringBuffer s = new StringBuffer(input);
-    
-    if (!allowUnassigned && contains(s, RFC3454.A1)) {
+    final RangeSet.Range inputRange = RangeSet.createTextRange(input);
+    if (onlyPassThrough(RESOURCEPREP_PASSTHROUGH_RANGES, inputRange)) {
+      return input;
+    }
+    if (!allowUnassigned && RANGE_A1.containsAnyCodePoint(input)) {
       throw new StringprepException(StringprepException.CONTAINS_UNASSIGNED);
     }
 
-    filter(s, RFC3454.B1);
-    
-    s = new StringBuffer(NFKC.normalizeNFKC(s.toString()));
-    
-    if (contains(s, RFC3454.C12) ||
-       contains(s, RFC3454.C21) ||
-       contains(s, RFC3454.C22) ||
-       contains(s, RFC3454.C3) ||
-       contains(s, RFC3454.C4) ||
-       contains(s, RFC3454.C5) ||
-       contains(s, RFC3454.C6) ||
-       contains(s, RFC3454.C7) ||
-       contains(s, RFC3454.C8)) {
+    StringBuilder s = new StringBuilder(input);
+
+    filter(s, RANGE_B1);
+
+    s = new StringBuilder(NFKC.normalizeNFKC(s.toString()));
+    final RangeSet.Range normalizedRange = RangeSet.createTextRange(s);
+
+    if (RANGE_C3_to_C8_C12_C21_C22.containsAnyCodePoint(s, normalizedRange)) {
       // Table C.9 only contains code points > 0xFFFF which Java
       // doesn't handle
+
       throw new StringprepException(StringprepException.CONTAINS_PROHIBITED);
     }
-    
+
     // Bidi handling
-    boolean r = contains(s, RFC3454.D1);
-    boolean l = contains(s, RFC3454.D2);
-    
+    boolean r = RANGE_D1.containsAnyCodePoint(s, normalizedRange);
+    boolean l = RANGE_D2.containsAnyCodePoint(s, normalizedRange);
+
     // RFC 3454, section 6, requirement 1: already handled above (table C.8)
-    
+
     // RFC 3454, section 6, requirement 2
     if (r && l) {
       throw new        StringprepException(StringprepException.BIDI_BOTHRAL);
@@ -295,135 +362,45 @@ public class Stringprep
 
     // RFC 3454, section 6, requirement 3
     if (r) {
-      if (!contains(s.charAt(0), RFC3454.D1) ||
-         !contains(s.charAt(s.length() - 1), RFC3454.D1)) {
+      if (!RANGE_D1.contains(s.charAt(0)) ||
+         !RANGE_D1.contains(s.charAt(s.length() - 1))) {
        throw new StringprepException(StringprepException.BIDI_LTRAL);
       }
     }
-    
-    return s.toString();
-  }
-
-  static boolean contains(StringBuffer s, char[] p)
-  {
-    for (int i = 0; i < p.length; i++) {
-      char c = p[i];
-      for (int j = 0; j < s.length(); j++) {
-       if (c == s.charAt(j)) {
-         return true;
-       }
-      }
-    }
-    return false;
-  }
 
-  static boolean contains(StringBuffer s, char[][] p)
-  {
-    for (int i = 0; i < p.length; i++) {
-      char[] r = p[i];
-      if (1 == r.length) {
-       char c = r[0];
-       for (int j = 0; j < s.length(); j++) {
-         if (c == s.charAt(j)) {
-           return true;
-         }
-       }
-      } else if (2 == r.length) {
-       char f = r[0];
-       char t = r[1];
-       for (int j = 0; j < s.length(); j++) {
-         if (f <= s.charAt(j) && t >= s.charAt(j)) {
-           return true;
-         }
-       }
-      }
-    }
-    return false;
+    return s.toString();
   }
 
-  static boolean contains(char c, char[][] p)
-  {
-    for (int i = 0; i < p.length; i++) {
-      char[] r = p[i];
-      if (1 == r.length) {
-       if (c == r[0]) {
-         return true;
-       }
-      } else if (2 == r.length) {
-       char f = r[0];
-       char t = r[1];
-       if (f <= c && t >= c) {
-         return true;
-       }
+  private static boolean onlyPassThrough(final RangeSet.Range[] passThroughs,
+                                        final RangeSet.Range inputRange) {
+    for (final RangeSet.Range passThrough : passThroughs) {
+      if (passThrough.contains(inputRange)) {
+       return true;
       }
     }
     return false;
   }
 
-  static void filter(StringBuffer s, char[] f)
-  {
-    for (int i = 0; i < f.length; i++) {
-      char c = f[i];
-
-      int j = 0;
-      while (j < s.length()) {
-       if (c == s.charAt(j)) {
-         s.deleteCharAt(j);
-       } else {
-         j++;
-       }
-      }
-    }
-  }
-
-  static void filter(StringBuffer s, char[][] f)
+  static void filter(StringBuilder s, RangeSet f)
   {
-    for (int i = 0; i < f.length; i++) {
-      char[] r = f[i];
-
-      if (1 == r.length) {
-       char c = r[0];
-
-       int j = 0;
-       while (j < s.length()) {
-         if (c == s.charAt(j)) {
-           s.deleteCharAt(j);
-         } else {
-           j++;
-         }
-       }
-      } else if (2 == r.length) {
-       char from = r[0];
-       char to = r[1];
-
-       int j = 0;
-       while (j < s.length()) {
-         if (from <= s.charAt(j) && to >= s.charAt(j)) {
-           s.deleteCharAt(j);
-         } else {
-           j++;
-         }
-       }
+    for (int j = 0; j < s.length(); ) {
+      if (f.contains(s.charAt(j))) {
+       s.deleteCharAt(j);
+      } else {
+       j++;
       }
     }
   }
 
-  static void map(StringBuffer s, char[] search, String[] replace)
+  static void map(StringBuilder s, char[] search, String[] replace)
   {
-    for (int i = 0; i < search.length; i++) {
-      char c = search[i];
-
-      int j = 0;
-      while (j < s.length()) {
-       if (c == s.charAt(j)) {
-         s.deleteCharAt(j);
-         if (null != replace[i]) {
-           s.insert(j, replace[i]);
-           j += replace[i].length()-1;
-         }
-       } else {
-         j++;
-       }
+    for (int i = 0; i < s.length(); i++) {
+      char c = s.charAt(i);
+      int mapIndex = Arrays.binarySearch(search, c);
+      if (mapIndex >= 0) {
+       String replacement = replace[mapIndex];
+       s.replace(i, i + 1, replacement);
+       i += replacement.length() - 1;
       }
     }
   }
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 package gnu.inet.encoding;
 
diff --git a/java/src/test/Makefile.am b/java/src/test/Makefile.am
new file mode 100644 (file)
index 0000000..46a5cc8
--- /dev/null
@@ -0,0 +1,19 @@
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+SUBDIRS = java
diff --git a/java/src/test/Makefile.in b/java/src/test/Makefile.in
new file mode 100644 (file)
index 0000000..4b63d05
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/test
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = java
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/test/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/test/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 75%
rename from java/misc/Makefile.am
rename to java/src/test/java/Makefile.am
index 3ce0c3e..9f3dad8 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2012  Free Software Foundation
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-JAVAROOT = $(top_builddir)/java/misc
+JAVAROOT = $(top_builddir)/java/src/test/java
 AM_JAVACFLAGS = -classpath $(top_builddir)/java/libidn-$(VERSION).jar:$(top_srcdir)/java/libidn-$(VERSION).jar
 
 if JAVA
-dist_noinst_JAVA = \
-       GenerateRFC3454.java \
-       GenerateNFKC.java \
-       TestIDNA.java \
-       TestNFKC.java
+dist_noinst_JAVA = 
+
 endif
diff --git a/java/src/test/java/Makefile.in b/java/src/test/java/Makefile.in
new file mode 100644 (file)
index 0000000..7dd9c4a
--- /dev/null
@@ -0,0 +1,1696 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/test/java
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_noinst_JAVA) \
+       $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+JAVAROOT = $(top_builddir)/java/src/test/java
+AM_JAVACFLAGS = -classpath $(top_builddir)/java/libidn-$(VERSION).jar:$(top_srcdir)/java/libidn-$(VERSION).jar
+@JAVA_TRUE@dist_noinst_JAVA = 
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/test/java/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/test/java/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+classnoinst.stamp: $(am__java_sources)
+       @list1='$?'; list2=; if test -n "$$list1"; then \
+         for p in $$list1; do \
+           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+           list2="$$list2 $$d$$p"; \
+         done; \
+         echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
+         $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
+       else :; fi
+       echo timestamp > $@
+
+clean-noinstJAVA:
+       -rm -f *.class classnoinst.stamp
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstJAVA mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       clean-noinstJAVA cscopelist-am ctags-am distclean \
+       distclean-generic distclean-libtool distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/java/src/util/Makefile.am b/java/src/util/Makefile.am
new file mode 100644 (file)
index 0000000..46a5cc8
--- /dev/null
@@ -0,0 +1,19 @@
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+SUBDIRS = java
diff --git a/java/src/util/Makefile.in b/java/src/util/Makefile.in
new file mode 100644 (file)
index 0000000..2dd11c0
--- /dev/null
@@ -0,0 +1,1855 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/util
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = java
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/util/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/util/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       set x; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       $(am__define_uniq_tagged_files); \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-am clean clean-generic clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-generic distclean-libtool \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 97%
rename from java/misc/GenerateNFKC.java
rename to java/src/util/java/GenerateNFKC.java
index efe3899..289b2f7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -51,7 +51,7 @@ public class GenerateNFKC
 
   static String[] split(String in, char sep)
   {
-    StringBuffer sb = new StringBuffer(in);
+    StringBuilder sb = new StringBuilder(in);
     int c = 0;
     for (int i = 0; i < sb.length(); i++) {
       if (sb.charAt(i) == sep) {
@@ -91,7 +91,7 @@ public class GenerateNFKC
 
   static String toJavaString(String in)
   {
-    StringBuffer out = new StringBuffer();
+    StringBuilder out = new StringBuilder();
     String[] chars = split(in, ' ');
     for (int i = 0; i < chars.length; i++) {
       if (chars[i].equals("005C")) {
@@ -108,7 +108,7 @@ public class GenerateNFKC
 
   static String decompose(String in, TreeMap mappings)
   {
-    StringBuffer out = new StringBuffer("");
+    StringBuilder out = new StringBuilder("");
     String[] c = split(in, ' ');
 
     for (int i = 0; i < c.length; i++) {
@@ -344,14 +344,14 @@ public class GenerateNFKC
       w.println("public class CombiningClass");
       w.println("{");
       w.println("  public final static int[][] c = new int[][] {");
-      StringBuffer index = new StringBuffer();
+      StringBuilder index = new StringBuilder();
 
       int count = 0;
       
       for (int i = 0; i < 256; i++) {
        boolean empty = true;
        
-       StringBuffer page = new StringBuffer();
+       StringBuilder page = new StringBuilder();
        page.append("    { /* Page "+i+" */");
        
        for (int j = 0; j < 256; j++) {
@@ -547,13 +547,13 @@ public class GenerateNFKC
       w.println("  public final static int singleFirstStart = "+singleFirstStart+";");
       w.println("  public final static int singleSecondStart = "+singleSecondStart+";");
 
-      StringBuffer compositionPages = new StringBuffer();
+      StringBuilder compositionPages = new StringBuilder();
 
       w.println("  public final static int[] composePage = new int[] {");
       int pageCount = 0;
       for (int j = 0; j*256 < composeLookupMax+255; j++) {
        boolean empty = true;
-       StringBuffer page = new StringBuffer();
+       StringBuilder page = new StringBuilder();
        for (int k = 0; k < 256; k++) {
          if (k % 16 == 0) {
            page.append("\n      ");
similarity index 96%
rename from java/misc/GenerateRFC3454.java
rename to java/src/util/java/GenerateRFC3454.java
index 3743c46..5c18026 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -58,7 +58,7 @@ public class GenerateRFC3454
 
     public String next()
     {
-      StringBuffer s = new StringBuffer(Integer.toHexString(f));
+      StringBuilder s = new StringBuilder(Integer.toHexString(f));
       while (s.length() < 4) {
        s.insert(0, '0');
       }
@@ -96,8 +96,8 @@ public class GenerateRFC3454
     int n = 0;
     
     String t = null;
-    StringBuffer o1 = null;
-    StringBuffer o2 = null;
+    StringBuilder o1 = null;
+    StringBuilder o2 = null;
     
     while (true) {
       String l = r.readLine();
@@ -117,8 +117,8 @@ public class GenerateRFC3454
       } else if (-1 != l.indexOf("----- Start Table ")) {
        // Start of a table
        t = l.substring(l.indexOf("Table")+6, l.lastIndexOf("-----")-1);
-       o1 = new StringBuffer();
-       o2 = new StringBuffer();
+       o1 = new StringBuilder();
+       o2 = new StringBuilder();
       } else if (-1 != l.indexOf("----- End Table ")) {
        // End of a table
        if ("A.1".equals(t)) {
diff --git a/java/src/util/java/Makefile.am b/java/src/util/java/Makefile.am
new file mode 100644 (file)
index 0000000..bd6049d
--- /dev/null
@@ -0,0 +1,28 @@
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+JAVAROOT = $(top_builddir)/java/src/util/java
+AM_JAVACFLAGS = -classpath $(top_builddir)/java/src/main/java
+
+if JAVA
+dist_noinst_JAVA = \
+       GenerateRFC3454.java \
+       GenerateNFKC.java \
+       TestIDNA.java \
+       TestNFKC.java
+endif
diff --git a/java/src/util/java/Makefile.in b/java/src/util/java/Makefile.in
new file mode 100644 (file)
index 0000000..67cbb05
--- /dev/null
@@ -0,0 +1,1704 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = java/src/util/java
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+       $(top_srcdir)/lib/gl/m4/inline.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
+       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
+       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
+       $(top_srcdir)/gl/m4/csharp.m4 \
+       $(top_srcdir)/gl/m4/csharpcomp.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
+       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
+       $(top_srcdir)/gl/m4/extensions.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
+       $(top_srcdir)/gl/m4/gnulib-common.m4 \
+       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/gl/m4/include_next.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/manywarnings.m4 \
+       $(top_srcdir)/gl/m4/mode_t.m4 \
+       $(top_srcdir)/gl/m4/msvc-inval.m4 \
+       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
+       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/strerror.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
+       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+       $(top_srcdir)/gl/m4/sys_types_h.m4 \
+       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
+       $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
+       $(top_srcdir)/gl/m4/warn-on-use.m4 \
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__dist_noinst_JAVA_DIST) \
+       $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__dist_noinst_JAVA_DIST = GenerateRFC3454.java GenerateNFKC.java \
+       TestIDNA.java TestNFKC.java
+CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
+am__java_sources = $(dist_noinst_JAVA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+AS = @AS@
+ASSERT_H = @ASSERT_H@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
+CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMACS = @EMACS@
+EMACSLOADPATH = @EMACSLOADPATH@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CSC = @HAVE_CSC@
+HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+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_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
+HAVE_MCS = @HAVE_MCS@
+HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
+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_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__EXIT = @HAVE__EXIT@
+HELP2MAN = @HELP2MAN@
+HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
+ICONV_H = @ICONV_H@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+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_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
+NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
+NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PMCCABE = @PMCCABE@
+POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_ICONV = @REPLACE_ICONV@
+REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
+REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
+REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDCKDINT_H = @STDCKDINT_H@
+STDDEF_H = @STDDEF_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+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_NLS = @USE_NLS@
+VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
+lgl_LIBOBJS = @lgl_LIBOBJS@
+lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
+lgltests_LIBOBJS = @lgltests_LIBOBJS@
+lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
+libdir = @libdir@
+libexecdir = @libexecdir@
+lispdir = @lispdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+JAVAROOT = $(top_builddir)/java/src/util/java
+AM_JAVACFLAGS = -classpath $(top_builddir)/java/src/main/java
+@JAVA_TRUE@dist_noinst_JAVA = \
+@JAVA_TRUE@    GenerateRFC3454.java \
+@JAVA_TRUE@    GenerateNFKC.java \
+@JAVA_TRUE@    TestIDNA.java \
+@JAVA_TRUE@    TestNFKC.java
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu java/src/util/java/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu java/src/util/java/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+classnoinst.stamp: $(am__java_sources)
+       @list1='$?'; list2=; if test -n "$$list1"; then \
+         for p in $$list1; do \
+           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+           list2="$$list2 $$d$$p"; \
+         done; \
+         echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
+         $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
+       else :; fi
+       echo timestamp > $@
+
+clean-noinstJAVA:
+       -rm -f *.class classnoinst.stamp
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile classnoinst.stamp
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstJAVA mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       clean-noinstJAVA cscopelist-am ctags-am distclean \
+       distclean-generic distclean-libtool distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
similarity index 88%
rename from java/misc/TestIDNA.java
rename to java/src/util/java/TestIDNA.java
index 11a3bac..549be00 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 import gnu.inet.encoding.IDNA;
 import gnu.inet.encoding.IDNAException;
@@ -66,15 +66,15 @@ public class TestIDNA
 
       if (args.length == 2) {
       if (args[0].equals("-u")) {
-       try {
          System.out.println("Input: "+args[1]);
-         System.out.println("Output: "+IDNA.toASCII(args[1]));
-       } catch (IDNAException e) {
-         System.out.println(e);
-       }
+         System.out.println("Output: "+IDNA.toUnicode(args[1]));
       } else if (args[0].equals("-a")) {
-       System.out.println("Input: "+args[1]);
-       System.out.println("Output: "+IDNA.toUnicode(args[1]));
+         try {
+             System.out.println("Input: "+args[1]);
+             System.out.println("Output: "+IDNA.toASCII(args[1]));
+         } catch (IDNAException e) {
+             System.out.println(e);
+         }
       } else {
        usage();
       }
@@ -83,14 +83,14 @@ public class TestIDNA
       if (!f.exists()) {
        System.err.println("Unable to find draft-josefsson-idn-test-vectors.html.");
        System.err.println("Please download the latest version of this file from:");
-       System.err.println("http://www.gnu.org/software/libidn/");
+       System.err.println("https://www.gnu.org/software/libidn/");
        System.exit(1);
       }
 
       BufferedReader r = new BufferedReader(new FileReader(f));
       int state = STATE_SCAN;
 
-      StringBuffer input = new StringBuffer();
+      StringBuilder input = new StringBuilder();
       String out;
 
       while (true) {
@@ -103,7 +103,7 @@ public class TestIDNA
        case STATE_SCAN:
          if (l.startsWith("input (length ")) {
            state = STATE_INPUT;
-           input = new StringBuffer();
+           input = new StringBuilder();
          }
          break;
        case STATE_INPUT:
@@ -111,7 +111,7 @@ public class TestIDNA
            // Empty line (before "out:")
          } else if (l.startsWith("out: ")) {
            out = l.substring(5).trim();
-           
+
            try {
              String ascii = IDNA.toASCII(input.toString());
              if (ascii.equals(out)) {
@@ -126,7 +126,7 @@ public class TestIDNA
            } catch (IDNAException e) {
              System.out.println(" exception thrown ("+e+")");
            }
-           
+
            state = STATE_SCAN;
          } else {
            StringTokenizer tok = new StringTokenizer(l.trim(), " ");
@@ -143,7 +143,7 @@ public class TestIDNA
          break;
        }
       }
-      
+
       System.out.println("No errors detected!");
     } else {
       usage();
similarity index 94%
rename from java/misc/TestNFKC.java
rename to java/src/util/java/TestNFKC.java
index 3a08c2d..a9b5e1d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2024 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 import gnu.inet.encoding.NFKC;
 
@@ -47,7 +47,7 @@ public class TestNFKC
 
   static String[] split(String in, char sep)
   {
-    StringBuffer sb = new StringBuffer(in);
+    StringBuilder sb = new StringBuilder(in);
     int c = 0;
     for (int i = 0; i < sb.length(); i++) {
       if (sb.charAt(i) == sep) {
@@ -88,7 +88,7 @@ public class TestNFKC
 
   static String evalUnicode(String in)
   {
-    StringBuffer out = new StringBuffer();
+    StringBuilder out = new StringBuilder();
     String[] s = split(in, ' ');
     for (int i = 0; i < s.length; i++) {
       out.append((char) Integer.parseInt(s[i], 16));
@@ -98,7 +98,7 @@ public class TestNFKC
 
   static String toUnicode(String in)
   {
-    StringBuffer out = new StringBuffer();
+    StringBuilder out = new StringBuilder();
     for (int i = 0; i < in.length(); i++) {
       int c = in.charAt(i);
       out.append(Integer.toHexString(c));
index 69d0989..3a8ed8b 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson.
-# Copyright (C) 2004, 2010-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Simon Josefsson.
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 EXTRA_DIST = gen-stringprep-tables.pl gen-unicode-tables.pl gen-tld-tables.pl
 
 AM_CPPFLAGS = -I$(srcdir)/gl -Igl -DLIBIDN_BUILDING
 AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
-AM_CFLAGS = $(WERROR_CFLAGS) $(WSTACK_CFLAGS) $(WARN_CFLAGS)
+AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_LIB_CFLAGS) $(WARN_CFLAGS)
 AM_CFLAGS += $(CFLAG_VISIBILITY)
 
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libidn.pc
+
 lib_LTLIBRARIES = libidn.la
 
 idn_int = idn-int.h
 
-BUILT_SOURCES = $(idn_int) gunibreak.h gunicomp.h gunidecomp.h rfc3454.c tlds.c
+BUILT_SOURCES = $(idn_int) gunibreak.h gunicomp.h gunidecomp.h rfc3454.c rfc3454.h tlds.c
 DISTCLEANFILES = $(idn_int)
 include_HEADERS = stringprep.h idna.h punycode.h idn-free.h pr29.h
 if TLD
@@ -46,16 +49,16 @@ idn-int.h:
 libidn_la_SOURCES = libidn.map \
        gunibreak.h gunicomp.h gunidecomp.h \
        nfkc.c toutf8.c version.c \
-       stringprep.h stringprep.c rfc3454.c profiles.c \
+       stringprep.h stringprep.c rfc3454.c rfc3454.h profiles.c \
        punycode.h punycode.c \
        idna.h idna.c \
        pr29.h pr29.c \
        idn-free.h idn-free.c \
        strerror-idna.c strerror-pr29.c strerror-punycode.c \
-       strerror-stringprep.c strerror-tld.c
+       strerror-stringprep.c
 
 if TLD
-libidn_la_SOURCES += tld.h tld.c tlds.c
+libidn_la_SOURCES += tld.h tld.c tlds.c strerror-tld.c
 endif
 libidn_la_LIBADD = $(LTLIBICONV) $(LTLIBINTL) gl/libgnu.la
 libidn_la_LDFLAGS = \
@@ -82,7 +85,7 @@ SPEC = $(top_srcdir)/doc/specifications
 #gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
 #      $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
 
-rfc3454.c: gen-stringprep-tables.pl
+rfc3454.c rfc3454.h: gen-stringprep-tables.pl
        $(PERL) $(srcdir)/gen-stringprep-tables.pl $(SPEC)/rfc3454.txt
 
 tlds.c: gen-tld-tables.pl
index 19ecf6e..01b47b3 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,8 +14,8 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson.
-# Copyright (C) 2004, 2010-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Simon Josefsson.
+# Copyright (C) 2004-2024 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -55,93 +109,106 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 @TLD_TRUE@am__append_1 = tld.h
-@TLD_TRUE@am__append_2 = tld.h tld.c tlds.c
+@TLD_TRUE@am__append_2 = tld.h tld.c tlds.c strerror-tld.c
 @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_3 = -Wl,--version-script=$(srcdir)/libidn.map
 @HAVE_LD_VERSION_SCRIPT_FALSE@am__append_4 = -export-symbols-regex \
 @HAVE_LD_VERSION_SCRIPT_FALSE@                 '^(idn|pr29_|punycode_|stringprep|tld_).*'
 
 @HAVE_LD_OUTPUT_DEF_TRUE@am__append_5 = -Wl,--output-def,libidn-$(DLL_VERSION).def
 subdir = lib
-DIST_COMMON = $(am__include_HEADERS_DIST) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__include_HEADERS_DIST) \
+       $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = libidn.pc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -171,32 +238,56 @@ am__uninstall_files_from_dir = { \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" \
-       "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"
+       "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" \
+       "$(DESTDIR)$(includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libidn_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        gl/libgnu.la
 am__libidn_la_SOURCES_DIST = libidn.map gunibreak.h gunicomp.h \
        gunidecomp.h nfkc.c toutf8.c version.c stringprep.h \
-       stringprep.c rfc3454.c profiles.c punycode.h punycode.c idna.h \
-       idna.c pr29.h pr29.c idn-free.h idn-free.c strerror-idna.c \
-       strerror-pr29.c strerror-punycode.c strerror-stringprep.c \
-       strerror-tld.c tld.h tld.c tlds.c
-@TLD_TRUE@am__objects_1 = tld.lo tlds.lo
+       stringprep.c rfc3454.c rfc3454.h profiles.c punycode.h \
+       punycode.c idna.h idna.c pr29.h pr29.c idn-free.h idn-free.c \
+       strerror-idna.c strerror-pr29.c strerror-punycode.c \
+       strerror-stringprep.c tld.h tld.c tlds.c strerror-tld.c
+@TLD_TRUE@am__objects_1 = tld.lo tlds.lo strerror-tld.lo
 am_libidn_la_OBJECTS = nfkc.lo toutf8.lo version.lo stringprep.lo \
        rfc3454.lo profiles.lo punycode.lo idna.lo pr29.lo idn-free.lo \
        strerror-idna.lo strerror-pr29.lo strerror-punycode.lo \
-       strerror-stringprep.lo strerror-tld.lo $(am__objects_1)
+       strerror-stringprep.lo $(am__objects_1)
 libidn_la_OBJECTS = $(am_libidn_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
 libidn_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(libidn_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/idn-free.Plo ./$(DEPDIR)/idna.Plo \
+       ./$(DEPDIR)/nfkc.Plo ./$(DEPDIR)/pr29.Plo \
+       ./$(DEPDIR)/profiles.Plo ./$(DEPDIR)/punycode.Plo \
+       ./$(DEPDIR)/rfc3454.Plo ./$(DEPDIR)/strerror-idna.Plo \
+       ./$(DEPDIR)/strerror-pr29.Plo \
+       ./$(DEPDIR)/strerror-punycode.Plo \
+       ./$(DEPDIR)/strerror-stringprep.Plo \
+       ./$(DEPDIR)/strerror-tld.Plo ./$(DEPDIR)/stringprep.Plo \
+       ./$(DEPDIR)/tld.Plo ./$(DEPDIR)/tlds.Plo \
+       ./$(DEPDIR)/toutf8.Plo ./$(DEPDIR)/version.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -206,38 +297,58 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libidn_la_SOURCES)
 DIST_SOURCES = $(am__libidn_la_SOURCES_DIST)
-DATA = $(defexec_DATA)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+DATA = $(defexec_DATA) $(pkgconfig_DATA)
 am__include_HEADERS_DIST = stringprep.h idna.h punycode.h idn-free.h \
        pr29.h tld.h
 HEADERS = $(include_HEADERS) $(nodist_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libidn.pc.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -256,9 +367,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -278,290 +392,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -571,16 +974,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -597,33 +1005,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -638,28 +1059,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -669,26 +1098,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -707,6 +1144,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -728,9 +1166,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -748,36 +1185,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -786,12 +1225,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -804,11 +1247,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -841,27 +1286,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -874,71 +1341,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -947,11 +1448,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -964,45 +1475,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1010,7 +1534,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1028,8 +1551,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1042,8 +1567,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1059,6 +1586,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1070,20 +1598,22 @@ top_srcdir = @top_srcdir@
 EXTRA_DIST = gen-stringprep-tables.pl gen-unicode-tables.pl gen-tld-tables.pl
 AM_CPPFLAGS = -I$(srcdir)/gl -Igl -DLIBIDN_BUILDING \
        -DLOCALEDIR=\"$(localedir)\"
-AM_CFLAGS = $(WERROR_CFLAGS) $(WSTACK_CFLAGS) $(WARN_CFLAGS) \
+AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_LIB_CFLAGS) $(WARN_CFLAGS) \
        $(CFLAG_VISIBILITY)
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libidn.pc
 lib_LTLIBRARIES = libidn.la
 idn_int = idn-int.h
-BUILT_SOURCES = $(idn_int) gunibreak.h gunicomp.h gunidecomp.h rfc3454.c tlds.c
+BUILT_SOURCES = $(idn_int) gunibreak.h gunicomp.h gunidecomp.h rfc3454.c rfc3454.h tlds.c
 DISTCLEANFILES = $(idn_int)
 include_HEADERS = stringprep.h idna.h punycode.h idn-free.h pr29.h \
        $(am__append_1)
 nodist_include_HEADERS = $(idn_int)
 libidn_la_SOURCES = libidn.map gunibreak.h gunicomp.h gunidecomp.h \
        nfkc.c toutf8.c version.c stringprep.h stringprep.c rfc3454.c \
-       profiles.c punycode.h punycode.c idna.h idna.c pr29.h pr29.c \
-       idn-free.h idn-free.c strerror-idna.c strerror-pr29.c \
-       strerror-punycode.c strerror-stringprep.c strerror-tld.c \
+       rfc3454.h profiles.c punycode.h punycode.c idna.h idna.c \
+       pr29.h pr29.c idn-free.h idn-free.c strerror-idna.c \
+       strerror-pr29.c strerror-punycode.c strerror-stringprep.c \
        $(am__append_2)
 libidn_la_LIBADD = $(LTLIBICONV) $(LTLIBINTL) gl/libgnu.la
 libidn_la_LDFLAGS = -version-info \
@@ -1110,14 +1640,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu lib/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1128,9 +1657,11 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+libidn.pc: $(top_builddir)/config.status $(srcdir)/libidn.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -1138,6 +1669,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -1153,12 +1686,15 @@ uninstall-libLTLIBRARIES:
 
 clean-libLTLIBRARIES:
        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
+       @list='$(lib_LTLIBRARIES)'; \
+       locs=`for p in $$list; do echo $$p; done | \
+             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+             sort -u`; \
+       test -z "$$locs" || { \
+         echo rm -f $${locs}; \
+         rm -f $${locs}; \
+       }
+
 libidn.la: $(libidn_la_OBJECTS) $(libidn_la_DEPENDENCIES) $(EXTRA_libidn_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libidn_la_LINK) -rpath $(libdir) $(libidn_la_OBJECTS) $(libidn_la_LIBADD) $(LIBS)
 
@@ -1168,37 +1704,43 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idn-free.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idna.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nfkc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr29.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profiles.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/punycode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc3454.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-idna.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-pr29.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-punycode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-stringprep.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-tld.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringprep.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tld.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlds.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toutf8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idn-free.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idna.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nfkc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr29.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profiles.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/punycode.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc3454.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-idna.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-pr29.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-punycode.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-stringprep.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-tld.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringprep.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tld.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlds.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toutf8.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1214,8 +1756,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-defexecDATA: $(defexec_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(defexecdir)" || $(MKDIR_P) "$(DESTDIR)$(defexecdir)"
        @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(defexecdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(defexecdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1230,10 +1775,34 @@ uninstall-defexecDATA:
        @list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(defexecdir)'; $(am__uninstall_files_from_dir)
+install-pkgconfigDATA: $(pkgconfig_DATA)
+       @$(NORMAL_INSTALL)
+       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+       fi; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+       done
+
+uninstall-pkgconfigDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
 install-includeHEADERS: $(include_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
        @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1250,8 +1819,11 @@ uninstall-includeHEADERS:
        dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
 install-nodist_includeHEADERS: $(nodist_include_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
        @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1267,26 +1839,15 @@ uninstall-nodist_includeHEADERS:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1298,15 +1859,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1315,11 +1872,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1354,12 +1928,13 @@ check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
 installdirs:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \
+       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
 
@@ -1397,7 +1972,23 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/idn-free.Plo
+       -rm -f ./$(DEPDIR)/idna.Plo
+       -rm -f ./$(DEPDIR)/nfkc.Plo
+       -rm -f ./$(DEPDIR)/pr29.Plo
+       -rm -f ./$(DEPDIR)/profiles.Plo
+       -rm -f ./$(DEPDIR)/punycode.Plo
+       -rm -f ./$(DEPDIR)/rfc3454.Plo
+       -rm -f ./$(DEPDIR)/strerror-idna.Plo
+       -rm -f ./$(DEPDIR)/strerror-pr29.Plo
+       -rm -f ./$(DEPDIR)/strerror-punycode.Plo
+       -rm -f ./$(DEPDIR)/strerror-stringprep.Plo
+       -rm -f ./$(DEPDIR)/strerror-tld.Plo
+       -rm -f ./$(DEPDIR)/stringprep.Plo
+       -rm -f ./$(DEPDIR)/tld.Plo
+       -rm -f ./$(DEPDIR)/tlds.Plo
+       -rm -f ./$(DEPDIR)/toutf8.Plo
+       -rm -f ./$(DEPDIR)/version.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1414,7 +2005,8 @@ info: info-am
 
 info-am:
 
-install-data-am: install-includeHEADERS install-nodist_includeHEADERS
+install-data-am: install-includeHEADERS install-nodist_includeHEADERS \
+       install-pkgconfigDATA
 
 install-dvi: install-dvi-am
 
@@ -1443,7 +2035,23 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/idn-free.Plo
+       -rm -f ./$(DEPDIR)/idna.Plo
+       -rm -f ./$(DEPDIR)/nfkc.Plo
+       -rm -f ./$(DEPDIR)/pr29.Plo
+       -rm -f ./$(DEPDIR)/profiles.Plo
+       -rm -f ./$(DEPDIR)/punycode.Plo
+       -rm -f ./$(DEPDIR)/rfc3454.Plo
+       -rm -f ./$(DEPDIR)/strerror-idna.Plo
+       -rm -f ./$(DEPDIR)/strerror-pr29.Plo
+       -rm -f ./$(DEPDIR)/strerror-punycode.Plo
+       -rm -f ./$(DEPDIR)/strerror-stringprep.Plo
+       -rm -f ./$(DEPDIR)/strerror-tld.Plo
+       -rm -f ./$(DEPDIR)/stringprep.Plo
+       -rm -f ./$(DEPDIR)/tld.Plo
+       -rm -f ./$(DEPDIR)/tlds.Plo
+       -rm -f ./$(DEPDIR)/toutf8.Plo
+       -rm -f ./$(DEPDIR)/version.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1461,27 +2069,30 @@ ps: ps-am
 ps-am:
 
 uninstall-am: uninstall-defexecDATA uninstall-includeHEADERS \
-       uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS
-
-.MAKE: all check install install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am \
-       install-defexecDATA install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am \
+       uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS \
+       uninstall-pkgconfigDATA
+
+.MAKE: all check install install-am install-exec install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-generic clean-libLTLIBRARIES clean-libtool 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 install-data \
+       install-data-am install-defexecDATA install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
        install-includeHEADERS install-info install-info-am \
        install-libLTLIBRARIES install-man \
        install-nodist_includeHEADERS install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+       install-pkgconfigDATA install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-defexecDATA \
+       tags tags-am uninstall uninstall-am uninstall-defexecDATA \
        uninstall-includeHEADERS uninstall-libLTLIBRARIES \
-       uninstall-nodist_includeHEADERS
+       uninstall-nodist_includeHEADERS uninstall-pkgconfigDATA
+
+.PRECIOUS: Makefile
 
 
 idn-int.h:
@@ -1496,7 +2107,7 @@ idn-int.h:
 #gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
 #      $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
 
-rfc3454.c: gen-stringprep-tables.pl
+rfc3454.c rfc3454.h: gen-stringprep-tables.pl
        $(PERL) $(srcdir)/gen-stringprep-tables.pl $(SPEC)/rfc3454.txt
 
 tlds.c: gen-tld-tables.pl
index 9c98b7b..a2efce8 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 
 # 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
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # I consider the output of this program to be unrestricted.  Use it as
 # you will.
@@ -22,11 +22,13 @@ use strict;
 
 my ($tab) = 59;
 my ($intable) = 0;
+my ($entries) = 0;
 my ($tablename);
 my ($varname);
 my ($starheader, $header);
 my ($profile) = "rfc3454";
 my ($filename) = "$profile.c";
+my ($headername) = "$profile.h";
 my ($line, $start, $end, @map);
 
 open(FH, ">$filename") or die "cannot open $filename for writing";
@@ -37,6 +39,10 @@ print FH "   Instead, edit gen-stringprep-tables.pl and re-run.  */\n\n";
 print FH "#include <config.h>\n";
 print FH "#include \"stringprep.h\"\n";
 
+open(FHH, ">$headername") or die "cannot open $headername for writing";
+print FHH "/* This file is automatically generated.  DO NOT EDIT!\n";
+print FHH "   Instead, edit gen-stringprep-tables.pl and re-run.  */\n\n";
+
 while(<>) {
     s/^   (.*)/$1/g; # for rfc
     $line = $_;
@@ -47,9 +53,11 @@ while(<>) {
     if ($intable && m,^----- End Table (.*) -----,) {
        die "table error" unless $1 eq $tablename ||
            ($1 eq "C.1.2" && $tablename eq "C.1.1"); # Typo in draft
-       $intable = 0;
        print FH "  { 0 },\n";
        print FH "};\n\n";
+       print FHH "#define N_STRINGPREP_${profile}_${varname} ${entries}\n";
+       $intable = 0;
+   $entries = 0;
     }
 
     if (m,^[A-Z],) {
@@ -84,27 +92,28 @@ while(<>) {
        die "tables tried to map a range" if $end && $map[0];
 
        if ($map[3]) {
-           printf FH "  { 0x%06s, 0, { 0x%06s,%*s/* %s */\n                   0x%06s, 0x%06s, 0x%06s }},\n",
-           $start, $map[0], $tab-length($line)-13, " ", $line,
+           printf FH "  { 0x%06s, 0x%06s, { 0x%06s,%*s/* %s */\n                   0x%06s, 0x%06s, 0x%06s }},\n",
+           $start, $start, $map[0], $tab-length($line)-13, " ", $line,
            $map[1], $map[2], $map[3];
        } elsif ($map[2]) {
-           printf FH "  { 0x%06s, 0, { 0x%06s,%*s/* %s */\n                   0x%06s, 0x%06s }},\n",
-           $start, $map[0], $tab-length($line)-14, " ", $line,
+           printf FH "  { 0x%06s, 0x%06s, { 0x%06s,%*s/* %s */\n                   0x%06s, 0x%06s }},\n",
+           $start, $start, $map[0], $tab-length($line)-14, " ", $line,
            $map[1], $map[2];
        } elsif ($map[1]) {
-           printf FH "  { 0x%06s, 0, { 0x%06s,%*s/* %s */\n                   0x%06s }},\n",
-           $start, $map[0], $tab-length($line)-14, " ", $line,
+           printf FH "  { 0x%06s, 0x%06s, { 0x%06s,%*s/* %s */\n                   0x%06s }},\n",
+           $start, $start, $map[0], $tab-length($line)-14, " ", $line,
            $map[1];
        } elsif ($map[0]) {
-           printf FH "  { 0x%06s, 0, { 0x%06s }},%*s/* %s */\n",
-           $start, $map[0], $tab-length($line)-17, " ",  $line;
+           printf FH "  { 0x%06s, 0x%06s, { 0x%06s }},%*s/* %s */\n",
+           $start, $start, $map[0], $tab-length($line)-17, " ",  $line;
        } elsif ($end) {
            printf FH "  { 0x%06s, 0x%06s },%*s/* %s */\n",
            $start, $end, $tab-length($line)-11, " ",  $line;
        } else {
-           printf FH "  { 0x%06s           },%*s/* %s */\n",
-           $start, $tab-length($line)-11, " ",  $line;
+           printf FH "  { 0x%06s, 0x%06s },%*s/* %s */\n",
+           $start, $start, $tab-length($line)-11, " ",  $line;
        }
+   $entries++;
     } else {
        $intable = 1 if !$intable;
        $tablename = $1;
@@ -117,4 +126,5 @@ while(<>) {
     }
 }
 
+close FHH or die "cannot close $headername";
 close FH or die "cannot close $filename";
index 928dff9..184f654 100755 (executable)
@@ -2,8 +2,8 @@
 
 # Author: Thomas Jacob, Internet24.de
 
-# Copyright (C) 2004-2012 Simon Josefsson.
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2024 Simon Josefsson.
+# Copyright (C) 2004-2024 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
@@ -16,7 +16,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 #
 # I consider the output of this program to be unrestricted.  Use it as
 # you will.
@@ -35,6 +35,7 @@ die "Usage: $0 <TLD-FILE [TLD-FILE ...]>" if ($#ARGV == -1);
 print "/* This file is automatically generated.  DO NOT EDIT!\n";
 print "   Instead, edit gen-tld-tables.pl and re-run.  */\n";
 print "\n";
+print "#include <config.h>\n";
 print "#include \"tld.h\"\n";
 print "\n";
 
index d43323c..bb4fc99 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-#    Copyright (C) 2004-2012 Simon Josefsson
+#    Copyright (C) 2004-2024 Simon Josefsson
 #    Copyright (C) 1998, 1999 Tom Tromey
 #    Copyright (C) 2001 Red Hat Software
 
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # I consider the output of this program to be unrestricted.  Use it as
 # you will.
 
-# Contributer(s):
+# Contributor(s):
 #   Andrew Taylor <andrew.taylor@montage.ca>
 
 # gen-unicode-tables.pl - Generate tables for libunicode from Unicode data.
@@ -196,7 +196,7 @@ defined $bidimirroringtxt or die "Did not find BidiMirroring file";
 print "Creating decomp table\n" if ($do_decomp);
 print "Creating property table\n" if ($do_props);
 
-print "Composition exlusions from $compositionexclusionstxt\n";
+print "Composition exclusions from $compositionexclusionstxt\n";
 
 open (INPUT, "< $compositionexclusionstxt") || exit 1;
 
index f3af3c8..28e7a6c 100644 (file)
@@ -1,10 +1,10 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -13,7 +13,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
-
-AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
+# Reproduce by:
+# gnulib-tool --import \
+#  --lib=libgnu \
+#  --source-base=lib/gl \
+#  --m4-base=lib/gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=tests \
+#  --aux-dir=build-aux \
+#  --lgpl=2 \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=lgl \
+#  --no-vc-files \
+#  gettext-h \
+#  langinfo \
+#  stdint \
+#  striconv \
+#  strverscmp \
+#  unistr/u8-check
+
+AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects
 
 SUBDIRS =
 noinst_HEADERS =
@@ -37,6 +55,7 @@ MOSTLYCLEANDIRS =
 CLEANFILES =
 DISTCLEANFILES =
 MAINTAINERCLEANFILES =
+# No GNU Make output.
 EXTRA_DIST += m4/gnulib-cache.m4
 
 AM_CPPFLAGS =
@@ -45,6 +64,7 @@ AM_CFLAGS =
 noinst_LTLIBRARIES += libgnu.la
 
 libgnu_la_SOURCES =
+libgnu_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
 libgnu_la_LIBADD = $(lgl_LTLIBOBJS)
 libgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
 EXTRA_libgnu_la_SOURCES =
@@ -53,6 +73,22 @@ libgnu_la_LDFLAGS += -no-undefined
 libgnu_la_LDFLAGS += $(LTLIBICONV)
 libgnu_la_LDFLAGS += $(LTLIBINTL)
 
+## begin gnulib module absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER)
+
+## end   gnulib module absolute-header
+
+## begin gnulib module attribute
+
+
+EXTRA_DIST += attribute.h
+
+## end   gnulib module attribute
+
 ## begin gnulib module c-ctype
 
 libgnu_la_SOURCES += c-ctype.h c-ctype.c
@@ -65,6 +101,33 @@ libgnu_la_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
 
 ## end   gnulib module c-strcase
 
+## begin gnulib module free-posix
+
+if GL_COND_OBJ_FREE
+libgnu_la_SOURCES += free.c
+endif
+
+## end   gnulib module free-posix
+
+## begin gnulib module gen-header
+
+# In 'sed', replace the pattern space with a "DO NOT EDIT" comment.
+SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,
+
+# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT".
+SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G
+
+# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading
+# "DO_NOT_EDIT".  Although this could be done more simply via:
+#      SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t
+# the -n and 'w' avoid a fork+exec, at least when GNU Make is used.
+SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t'
+
+# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that
+gl_V_at = $(AM_V_GEN)
+
+## end   gnulib module gen-header
+
 ## begin gnulib module gettext-h
 
 libgnu_la_SOURCES += gettext.h
@@ -74,6 +137,9 @@ libgnu_la_SOURCES += gettext.h
 ## begin gnulib module gperf
 
 GPERF = gperf
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo "  GPERF   " $@;
 
 ## end   gnulib module gperf
 
@@ -92,14 +158,13 @@ BUILT_SOURCES += $(ICONV_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_ICONV_H
 iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
-             -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \
+             -e 's/@''GNULIB_ICONV''@/$(GL_LGL_GNULIB_ICONV)/g' \
              -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
              -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
              -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
@@ -107,9 +172,8 @@ iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/iconv.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             $(srcdir)/iconv.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 iconv.h: $(top_builddir)/config.status
        rm -f $@
@@ -122,158 +186,195 @@ EXTRA_DIST += iconv.in.h
 
 ## begin gnulib module iconv_open
 
-iconv_open-aix.h: iconv_open-aix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+if GL_COND_OBJ_ICONV_OPEN
+libgnu_la_SOURCES += iconv_open.c
+endif
+if GL_COND_OBJ_ICONV
+libgnu_la_SOURCES += iconv.c iconv_close.c
+endif
+
+$(srcdir)/iconv_open-aix.h: $(srcdir)/iconv_open-aix.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
        mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
-iconv_open-hpux.h: iconv_open-hpux.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+$(srcdir)/iconv_open-hpux.h: $(srcdir)/iconv_open-hpux.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
        mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
-iconv_open-irix.h: iconv_open-irix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+$(srcdir)/iconv_open-irix.h: $(srcdir)/iconv_open-irix.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
        mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
-iconv_open-osf.h: iconv_open-osf.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+$(srcdir)/iconv_open-osf.h: $(srcdir)/iconv_open-osf.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
        mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
-iconv_open-solaris.h: iconv_open-solaris.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+$(srcdir)/iconv_open-solaris.h: $(srcdir)/iconv_open-solaris.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
        mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
-BUILT_SOURCES        += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
-MOSTLYCLEANFILES     += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
-MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
-EXTRA_DIST           += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
-
-EXTRA_DIST += iconv.c iconv_close.c iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c
+$(srcdir)/iconv_open-zos.h: $(srcdir)/iconv_open-zos.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-zos.gperf > $(srcdir)/iconv_open-zos.h-t && \
+       mv $(srcdir)/iconv_open-zos.h-t $(srcdir)/iconv_open-zos.h
+BUILT_SOURCES        += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
+MOSTLYCLEANFILES     += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t iconv_open-zos.h-t
+MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
+EXTRA_DIST           += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
 
-EXTRA_libgnu_la_SOURCES += iconv.c iconv_close.c iconv_open.c
+EXTRA_DIST += iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open-zos.gperf
 
 ## end   gnulib module iconv_open
 
-## begin gnulib module lib-symbol-visibility
+## begin gnulib module inttypes-incomplete
 
-# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
-# compilation of all sources that make up the library. This line here does it
-# only for the gnulib part of it. The developer is responsible for adding
-# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
-AM_CFLAGS += $(CFLAG_VISIBILITY)
+BUILT_SOURCES += inttypes.h
 
-## end   gnulib module lib-symbol-visibility
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+             -e 's/@''GNULIB_IMAXABS''@/$(GL_LGL_GNULIB_IMAXABS)/g' \
+             -e 's/@''GNULIB_IMAXDIV''@/$(GL_LGL_GNULIB_IMAXDIV)/g' \
+             -e 's/@''GNULIB_STRTOIMAX''@/$(GL_LGL_GNULIB_STRTOIMAX)/g' \
+             -e 's/@''GNULIB_STRTOUMAX''@/$(GL_LGL_GNULIB_STRTOUMAX)/g' \
+             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
+             -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \
+             -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \
+             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+             -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
+             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/inttypes.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += inttypes.h inttypes.h-t
 
-## begin gnulib module snippet/arg-nonnull
+EXTRA_DIST += inttypes.in.h
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+## end   gnulib module inttypes-incomplete
 
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+## begin gnulib module langinfo
 
-ARG_NONNULL_H=arg-nonnull.h
+BUILT_SOURCES += langinfo.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+# We need the following in order to create an empty placeholder for
+# <langinfo.h> when the system doesn't have one.
+langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
+             -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_LGL_GNULIB_NL_LANGINFO)/g' \
+             -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+             -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+             -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
+             -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+             -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
+             -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
+             -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/langinfo.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += langinfo.h langinfo.h-t
 
-## end   gnulib module snippet/arg-nonnull
+EXTRA_DIST += langinfo.in.h
 
-## begin gnulib module snippet/c++defs
+## end   gnulib module langinfo
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+## begin gnulib module libc-config
 
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
 
-CXXDEFS_H=c++defs.h
+EXTRA_DIST += cdefs.h libc-config.h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+## end   gnulib module libc-config
 
-## end   gnulib module snippet/c++defs
+## begin gnulib module limits-h
 
-## begin gnulib module snippet/unused-parameter
+BUILT_SOURCES += $(LIMITS_H)
 
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+if GL_GENERATE_LIMITS_H
+limits.h: limits.in.h $(top_builddir)/config.status
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+             $(srcdir)/limits.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+else
+limits.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += limits.h limits.h-t
 
-BUILT_SOURCES += unused-parameter.h
-# The unused-parameter.h that gets inserted into generated .h files is the same
-# as build-aux/snippet/unused-parameter.h, except that it has the copyright
-# header cut off.
-unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
+EXTRA_DIST += limits.in.h
 
-UNUSED_PARAMETER_H=unused-parameter.h
+## end   gnulib module limits-h
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
+## begin gnulib module snippet/_Noreturn
 
-## end   gnulib module snippet/unused-parameter
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-## begin gnulib module snippet/warn-on-use
+_NORETURN_H=$(srcdir)/_Noreturn.h
+
+EXTRA_DIST += _Noreturn.h
 
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+## end   gnulib module snippet/_Noreturn
 
-WARN_ON_USE_H=warn-on-use.h
+## begin gnulib module snippet/arg-nonnull
 
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-## end   gnulib module snippet/warn-on-use
+ARG_NONNULL_H=$(srcdir)/arg-nonnull.h
 
-## begin gnulib module stdbool
+EXTRA_DIST += arg-nonnull.h
 
-BUILT_SOURCES += $(STDBOOL_H)
+## end   gnulib module snippet/arg-nonnull
 
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-if GL_GENERATE_STDBOOL_H
-stdbool.h: stdbool.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-else
-stdbool.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += stdbool.h stdbool.h-t
+## begin gnulib module snippet/c++defs
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
 
-EXTRA_DIST += stdbool.in.h
+CXXDEFS_H=$(srcdir)/c++defs.h
 
-## end   gnulib module stdbool
+EXTRA_DIST += c++defs.h
+
+## end   gnulib module snippet/c++defs
+
+## begin gnulib module snippet/warn-on-use
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+
+WARN_ON_USE_H=$(srcdir)/warn-on-use.h
+
+EXTRA_DIST += warn-on-use.h
+
+## end   gnulib module snippet/warn-on-use
 
 ## begin gnulib module stddef
 
@@ -283,18 +384,17 @@ BUILT_SOURCES += $(STDDEF_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDDEF_H
 stddef.h: stddef.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+             -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
              -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
              -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
-             < $(srcdir)/stddef.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             $(srcdir)/stddef.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 stddef.h: $(top_builddir)/config.status
        rm -f $@
@@ -313,21 +413,19 @@ BUILT_SOURCES += $(STDINT_H)
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_STDINT_H
 stdint.h: stdint.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
              -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+             -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
              -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
              -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
              -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
              -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
              -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
              -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
              -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
              -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
@@ -342,9 +440,9 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
              -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
              -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
              -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
-             < $(srcdir)/stdint.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+             $(srcdir)/stdint.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
 else
 stdint.h: $(top_builddir)/config.status
        rm -f $@
@@ -355,12 +453,178 @@ EXTRA_DIST += stdint.in.h
 
 ## end   gnulib module stdint
 
+## begin gnulib module stdlib
+
+BUILT_SOURCES += stdlib.h
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+             -e 's/@''GNULIB__EXIT''@/$(GL_LGL_GNULIB__EXIT)/g' \
+             -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_LGL_GNULIB_ALIGNED_ALLOC)/g' \
+             -e 's/@''GNULIB_ATOLL''@/$(GL_LGL_GNULIB_ATOLL)/g' \
+             -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_LGL_GNULIB_CALLOC_GNU)/g' \
+             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_LGL_GNULIB_CALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_LGL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             -e 's/@''GNULIB_GETLOADAVG''@/$(GL_LGL_GNULIB_GETLOADAVG)/g' \
+             -e 's/@''GNULIB_GETPROGNAME''@/$(GL_LGL_GNULIB_GETPROGNAME)/g' \
+             -e 's/@''GNULIB_GETSUBOPT''@/$(GL_LGL_GNULIB_GETSUBOPT)/g' \
+             -e 's/@''GNULIB_GRANTPT''@/$(GL_LGL_GNULIB_GRANTPT)/g' \
+             -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_LGL_GNULIB_MALLOC_GNU)/g' \
+             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_LGL_GNULIB_MALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_MBSTOWCS''@/$(GL_LGL_GNULIB_MBSTOWCS)/g' \
+             -e 's/@''GNULIB_MBTOWC''@/$(GL_LGL_GNULIB_MBTOWC)/g' \
+             -e 's/@''GNULIB_MKDTEMP''@/$(GL_LGL_GNULIB_MKDTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMP''@/$(GL_LGL_GNULIB_MKOSTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_LGL_GNULIB_MKOSTEMPS)/g' \
+             -e 's/@''GNULIB_MKSTEMP''@/$(GL_LGL_GNULIB_MKSTEMP)/g' \
+             -e 's/@''GNULIB_MKSTEMPS''@/$(GL_LGL_GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_LGL_GNULIB_POSIX_MEMALIGN)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_LGL_GNULIB_POSIX_OPENPT)/g' \
+             -e 's/@''GNULIB_PTSNAME''@/$(GL_LGL_GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GL_LGL_GNULIB_PTSNAME_R)/g' \
+             -e 's/@''GNULIB_PUTENV''@/$(GL_LGL_GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GL_LGL_GNULIB_QSORT_R)/g' \
+             -e 's/@''GNULIB_RAND''@/$(GL_LGL_GNULIB_RAND)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GL_LGL_GNULIB_RANDOM)/g' \
+             -e 's/@''GNULIB_RANDOM_R''@/$(GL_LGL_GNULIB_RANDOM_R)/g' \
+             -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_LGL_GNULIB_REALLOC_GNU)/g' \
+             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_LGL_GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_LGL_GNULIB_REALLOCARRAY)/g' \
+             -e 's/@''GNULIB_REALPATH''@/$(GL_LGL_GNULIB_REALPATH)/g' \
+             -e 's/@''GNULIB_RPMATCH''@/$(GL_LGL_GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_LGL_GNULIB_SECURE_GETENV)/g' \
+             -e 's/@''GNULIB_SETENV''@/$(GL_LGL_GNULIB_SETENV)/g' \
+             -e 's/@''GNULIB_STRTOD''@/$(GL_LGL_GNULIB_STRTOD)/g' \
+             -e 's/@''GNULIB_STRTOL''@/$(GL_LGL_GNULIB_STRTOL)/g' \
+             -e 's/@''GNULIB_STRTOLD''@/$(GL_LGL_GNULIB_STRTOLD)/g' \
+             -e 's/@''GNULIB_STRTOLL''@/$(GL_LGL_GNULIB_STRTOLL)/g' \
+             -e 's/@''GNULIB_STRTOUL''@/$(GL_LGL_GNULIB_STRTOUL)/g' \
+             -e 's/@''GNULIB_STRTOULL''@/$(GL_LGL_GNULIB_STRTOULL)/g' \
+             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_LGL_GNULIB_SYSTEM_POSIX)/g' \
+             -e 's/@''GNULIB_UNLOCKPT''@/$(GL_LGL_GNULIB_UNLOCKPT)/g' \
+             -e 's/@''GNULIB_UNSETENV''@/$(GL_LGL_GNULIB_UNSETENV)/g' \
+             -e 's/@''GNULIB_WCTOMB''@/$(GL_LGL_GNULIB_WCTOMB)/g' \
+             -e 's/@''GNULIB_MDA_ECVT''@/$(GL_LGL_GNULIB_MDA_ECVT)/g' \
+             -e 's/@''GNULIB_MDA_FCVT''@/$(GL_LGL_GNULIB_MDA_FCVT)/g' \
+             -e 's/@''GNULIB_MDA_GCVT''@/$(GL_LGL_GNULIB_MDA_GCVT)/g' \
+             -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_LGL_GNULIB_MDA_MKTEMP)/g' \
+             -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_LGL_GNULIB_MDA_PUTENV)/g' \
+             < $(srcdir)/stdlib.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+             -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \
+             -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
+             -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+             -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+             -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
+             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+             -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
+             -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
+             -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
+             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
+             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
+             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+             -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
+             -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
+             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+             -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
+             -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
+             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+             -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \
+             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
+             -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+             -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+             -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
+             -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+             -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
+             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+             -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+             -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
+             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+             -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+             -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
+             -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
+             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+             -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
+             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+             -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
+             -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
+             -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
+             -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \
+             -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \
+             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t1 stdlib.h-t2 stdlib.h-t3
+
+EXTRA_DIST += stdlib.in.h
+
+## end   gnulib module stdlib
+
 ## begin gnulib module striconv
 
 libgnu_la_SOURCES += striconv.h striconv.c
-if GL_COND_LIBTOOL
 libgnu_la_LDFLAGS += $(LTLIBICONV)
-endif
 
 ## end   gnulib module striconv
 
@@ -371,58 +635,67 @@ BUILT_SOURCES += string.h
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-             -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
-             -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
-             -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
-             -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
-             -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
-             -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
-             -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
-             -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
-             -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
-             -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
-             -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
-             -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
-             -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
-             -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
-             -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
-             -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
-             -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
-             -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
-             -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
-             -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
-             -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
-             -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
-             -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
-             -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
-             -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
-             -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
-             -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
-             -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
-             -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
-             -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
-             -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
-             -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
-             -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
-             -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
-             -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
-             -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
-             -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
-             < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_LGL_GNULIB_EXPLICIT_BZERO)/g' \
+             -e 's/@''GNULIB_FFSL''@/$(GL_LGL_GNULIB_FFSL)/g' \
+             -e 's/@''GNULIB_FFSLL''@/$(GL_LGL_GNULIB_FFSLL)/g' \
+             -e 's/@''GNULIB_MBSLEN''@/$(GL_LGL_GNULIB_MBSLEN)/g' \
+             -e 's/@''GNULIB_MBSNLEN''@/$(GL_LGL_GNULIB_MBSNLEN)/g' \
+             -e 's/@''GNULIB_MBSCHR''@/$(GL_LGL_GNULIB_MBSCHR)/g' \
+             -e 's/@''GNULIB_MBSRCHR''@/$(GL_LGL_GNULIB_MBSRCHR)/g' \
+             -e 's/@''GNULIB_MBSSTR''@/$(GL_LGL_GNULIB_MBSSTR)/g' \
+             -e 's/@''GNULIB_MBSCASECMP''@/$(GL_LGL_GNULIB_MBSCASECMP)/g' \
+             -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_LGL_GNULIB_MBSNCASECMP)/g' \
+             -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_LGL_GNULIB_MBSPCASECMP)/g' \
+             -e 's/@''GNULIB_MBSCASESTR''@/$(GL_LGL_GNULIB_MBSCASESTR)/g' \
+             -e 's/@''GNULIB_MBSCSPN''@/$(GL_LGL_GNULIB_MBSCSPN)/g' \
+             -e 's/@''GNULIB_MBSPBRK''@/$(GL_LGL_GNULIB_MBSPBRK)/g' \
+             -e 's/@''GNULIB_MBSSPN''@/$(GL_LGL_GNULIB_MBSSPN)/g' \
+             -e 's/@''GNULIB_MBSSEP''@/$(GL_LGL_GNULIB_MBSSEP)/g' \
+             -e 's/@''GNULIB_MBSTOK_R''@/$(GL_LGL_GNULIB_MBSTOK_R)/g' \
+             -e 's/@''GNULIB_MEMCHR''@/$(GL_LGL_GNULIB_MEMCHR)/g' \
+             -e 's/@''GNULIB_MEMMEM''@/$(GL_LGL_GNULIB_MEMMEM)/g' \
+             -e 's/@''GNULIB_MEMPCPY''@/$(GL_LGL_GNULIB_MEMPCPY)/g' \
+             -e 's/@''GNULIB_MEMRCHR''@/$(GL_LGL_GNULIB_MEMRCHR)/g' \
+             -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_LGL_GNULIB_MEMSET_EXPLICIT)/g' \
+             -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_LGL_GNULIB_RAWMEMCHR)/g' \
+             -e 's/@''GNULIB_STPCPY''@/$(GL_LGL_GNULIB_STPCPY)/g' \
+             -e 's/@''GNULIB_STPNCPY''@/$(GL_LGL_GNULIB_STPNCPY)/g' \
+             -e 's/@''GNULIB_STRCHRNUL''@/$(GL_LGL_GNULIB_STRCHRNUL)/g' \
+             -e 's/@''GNULIB_STRDUP''@/$(GL_LGL_GNULIB_STRDUP)/g' \
+             -e 's/@''GNULIB_STRNCAT''@/$(GL_LGL_GNULIB_STRNCAT)/g' \
+             -e 's/@''GNULIB_STRNDUP''@/$(GL_LGL_GNULIB_STRNDUP)/g' \
+             -e 's/@''GNULIB_STRNLEN''@/$(GL_LGL_GNULIB_STRNLEN)/g' \
+             -e 's/@''GNULIB_STRPBRK''@/$(GL_LGL_GNULIB_STRPBRK)/g' \
+             -e 's/@''GNULIB_STRSEP''@/$(GL_LGL_GNULIB_STRSEP)/g' \
+             -e 's/@''GNULIB_STRSTR''@/$(GL_LGL_GNULIB_STRSTR)/g' \
+             -e 's/@''GNULIB_STRCASESTR''@/$(GL_LGL_GNULIB_STRCASESTR)/g' \
+             -e 's/@''GNULIB_STRTOK_R''@/$(GL_LGL_GNULIB_STRTOK_R)/g' \
+             -e 's/@''GNULIB_STRERROR''@/$(GL_LGL_GNULIB_STRERROR)/g' \
+             -e 's/@''GNULIB_STRERROR_R''@/$(GL_LGL_GNULIB_STRERROR_R)/g' \
+             -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_LGL_GNULIB_STRERRORNAME_NP)/g' \
+             -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_LGL_GNULIB_SIGABBREV_NP)/g' \
+             -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_LGL_GNULIB_SIGDESCR_NP)/g' \
+             -e 's/@''GNULIB_STRSIGNAL''@/$(GL_LGL_GNULIB_STRSIGNAL)/g' \
+             -e 's/@''GNULIB_STRVERSCMP''@/$(GL_LGL_GNULIB_STRVERSCMP)/g' \
+             -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_LGL_GNULIB_MDA_MEMCCPY)/g' \
+             -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_LGL_GNULIB_MDA_STRDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/string.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-             -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
              -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
              -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
              -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+             -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
              -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
              -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
              -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -435,30 +708,38 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+             -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \
+             -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \
+             -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+             -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-             < $(srcdir)/string.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += string.h string.h-t
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)rm -f $@-t1
+       $(AM_V_at)mv $@-t2 $@
+MOSTLYCLEANFILES += string.h string.h-t1 string.h-t2
 
 EXTRA_DIST += string.in.h
 
@@ -466,29 +747,275 @@ EXTRA_DIST += string.in.h
 
 ## begin gnulib module strverscmp
 
+if GL_COND_OBJ_STRVERSCMP
+libgnu_la_SOURCES += strverscmp.c
+endif
 
-EXTRA_DIST += strverscmp.c
+## end   gnulib module strverscmp
 
-EXTRA_libgnu_la_SOURCES += strverscmp.c
+## begin gnulib module sys_types
 
-## end   gnulib module strverscmp
+BUILT_SOURCES += sys/types.h
+
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
+             $(srcdir)/sys_types.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += sys/types.h sys/types.h-t
+
+EXTRA_DIST += sys_types.in.h
+
+## end   gnulib module sys_types
+
+## begin gnulib module unistd
+
+BUILT_SOURCES += unistd.h
+libgnu_la_SOURCES += unistd.c
+
+# We need the following in order to create an empty placeholder for
+# <unistd.h> when the system doesn't have one.
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's/@''GNULIB_ACCESS''@/$(GL_LGL_GNULIB_ACCESS)/g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GL_LGL_GNULIB_CHDIR)/g' \
+             -e 's/@''GNULIB_CHOWN''@/$(GL_LGL_GNULIB_CHOWN)/g' \
+             -e 's/@''GNULIB_CLOSE''@/$(GL_LGL_GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_LGL_GNULIB_COPY_FILE_RANGE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GL_LGL_GNULIB_DUP)/g' \
+             -e 's/@''GNULIB_DUP2''@/$(GL_LGL_GNULIB_DUP2)/g' \
+             -e 's/@''GNULIB_DUP3''@/$(GL_LGL_GNULIB_DUP3)/g' \
+             -e 's/@''GNULIB_ENVIRON''@/$(GL_LGL_GNULIB_ENVIRON)/g' \
+             -e 's/@''GNULIB_EUIDACCESS''@/$(GL_LGL_GNULIB_EUIDACCESS)/g' \
+             -e 's/@''GNULIB_EXECL''@/$(GL_LGL_GNULIB_EXECL)/g' \
+             -e 's/@''GNULIB_EXECLE''@/$(GL_LGL_GNULIB_EXECLE)/g' \
+             -e 's/@''GNULIB_EXECLP''@/$(GL_LGL_GNULIB_EXECLP)/g' \
+             -e 's/@''GNULIB_EXECV''@/$(GL_LGL_GNULIB_EXECV)/g' \
+             -e 's/@''GNULIB_EXECVE''@/$(GL_LGL_GNULIB_EXECVE)/g' \
+             -e 's/@''GNULIB_EXECVP''@/$(GL_LGL_GNULIB_EXECVP)/g' \
+             -e 's/@''GNULIB_EXECVPE''@/$(GL_LGL_GNULIB_EXECVPE)/g' \
+             -e 's/@''GNULIB_FACCESSAT''@/$(GL_LGL_GNULIB_FACCESSAT)/g' \
+             -e 's/@''GNULIB_FCHDIR''@/$(GL_LGL_GNULIB_FCHDIR)/g' \
+             -e 's/@''GNULIB_FCHOWNAT''@/$(GL_LGL_GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GL_LGL_GNULIB_FDATASYNC)/g' \
+             -e 's/@''GNULIB_FSYNC''@/$(GL_LGL_GNULIB_FSYNC)/g' \
+             -e 's/@''GNULIB_FTRUNCATE''@/$(GL_LGL_GNULIB_FTRUNCATE)/g' \
+             < $(srcdir)/unistd.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's/@''GNULIB_GETCWD''@/$(GL_LGL_GNULIB_GETCWD)/g' \
+             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_LGL_GNULIB_GETDOMAINNAME)/g' \
+             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_LGL_GNULIB_GETDTABLESIZE)/g' \
+             -e 's/@''GNULIB_GETENTROPY''@/$(GL_LGL_GNULIB_GETENTROPY)/g' \
+             -e 's/@''GNULIB_GETGROUPS''@/$(GL_LGL_GNULIB_GETGROUPS)/g' \
+             -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_LGL_GNULIB_GETHOSTNAME)/g' \
+             -e 's/@''GNULIB_GETLOGIN''@/$(GL_LGL_GNULIB_GETLOGIN)/g' \
+             -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_LGL_GNULIB_GETLOGIN_R)/g' \
+             -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_LGL_GNULIB_GETOPT_POSIX)/g' \
+             -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_LGL_GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GL_LGL_GNULIB_GETPASS)/g' \
+             -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_LGL_GNULIB_GETPASS_GNU)/g' \
+             -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_LGL_GNULIB_GETUSERSHELL)/g' \
+             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_LGL_GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GL_LGL_GNULIB_ISATTY)/g' \
+             -e 's/@''GNULIB_LCHOWN''@/$(GL_LGL_GNULIB_LCHOWN)/g' \
+             -e 's/@''GNULIB_LINK''@/$(GL_LGL_GNULIB_LINK)/g' \
+             -e 's/@''GNULIB_LINKAT''@/$(GL_LGL_GNULIB_LINKAT)/g' \
+             -e 's/@''GNULIB_LSEEK''@/$(GL_LGL_GNULIB_LSEEK)/g' \
+             -e 's/@''GNULIB_PIPE''@/$(GL_LGL_GNULIB_PIPE)/g' \
+             -e 's/@''GNULIB_PIPE2''@/$(GL_LGL_GNULIB_PIPE2)/g' \
+             -e 's/@''GNULIB_PREAD''@/$(GL_LGL_GNULIB_PREAD)/g' \
+             -e 's/@''GNULIB_PWRITE''@/$(GL_LGL_GNULIB_PWRITE)/g' \
+             -e 's/@''GNULIB_READ''@/$(GL_LGL_GNULIB_READ)/g' \
+             -e 's/@''GNULIB_READLINK''@/$(GL_LGL_GNULIB_READLINK)/g' \
+             -e 's/@''GNULIB_READLINKAT''@/$(GL_LGL_GNULIB_READLINKAT)/g' \
+             -e 's/@''GNULIB_RMDIR''@/$(GL_LGL_GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_LGL_GNULIB_SETHOSTNAME)/g' \
+             -e 's/@''GNULIB_SLEEP''@/$(GL_LGL_GNULIB_SLEEP)/g' \
+             -e 's/@''GNULIB_SYMLINK''@/$(GL_LGL_GNULIB_SYMLINK)/g' \
+             -e 's/@''GNULIB_SYMLINKAT''@/$(GL_LGL_GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GL_LGL_GNULIB_TRUNCATE)/g' \
+             -e 's/@''GNULIB_TTYNAME_R''@/$(GL_LGL_GNULIB_TTYNAME_R)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_LGL_GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_LGL_GNULIB_UNISTD_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_LGL_GNULIB_UNISTD_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_UNLINK''@/$(GL_LGL_GNULIB_UNLINK)/g' \
+             -e 's/@''GNULIB_UNLINKAT''@/$(GL_LGL_GNULIB_UNLINKAT)/g' \
+             -e 's/@''GNULIB_USLEEP''@/$(GL_LGL_GNULIB_USLEEP)/g' \
+             -e 's/@''GNULIB_WRITE''@/$(GL_LGL_GNULIB_WRITE)/g' \
+             -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_LGL_GNULIB_MDA_ACCESS)/g' \
+             -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_LGL_GNULIB_MDA_CHDIR)/g' \
+             -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_LGL_GNULIB_MDA_CLOSE)/g' \
+             -e 's/@''GNULIB_MDA_DUP''@/$(GL_LGL_GNULIB_MDA_DUP)/g' \
+             -e 's/@''GNULIB_MDA_DUP2''@/$(GL_LGL_GNULIB_MDA_DUP2)/g' \
+             -e 's/@''GNULIB_MDA_EXECL''@/$(GL_LGL_GNULIB_MDA_EXECL)/g' \
+             -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_LGL_GNULIB_MDA_EXECLE)/g' \
+             -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_LGL_GNULIB_MDA_EXECLP)/g' \
+             -e 's/@''GNULIB_MDA_EXECV''@/$(GL_LGL_GNULIB_MDA_EXECV)/g' \
+             -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_LGL_GNULIB_MDA_EXECVE)/g' \
+             -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_LGL_GNULIB_MDA_EXECVP)/g' \
+             -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_LGL_GNULIB_MDA_EXECVPE)/g' \
+             -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_LGL_GNULIB_MDA_GETCWD)/g' \
+             -e 's/@''GNULIB_MDA_GETPID''@/$(GL_LGL_GNULIB_MDA_GETPID)/g' \
+             -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_LGL_GNULIB_MDA_ISATTY)/g' \
+             -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_LGL_GNULIB_MDA_LSEEK)/g' \
+             -e 's/@''GNULIB_MDA_READ''@/$(GL_LGL_GNULIB_MDA_READ)/g' \
+             -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_LGL_GNULIB_MDA_RMDIR)/g' \
+             -e 's/@''GNULIB_MDA_SWAB''@/$(GL_LGL_GNULIB_MDA_SWAB)/g' \
+             -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_LGL_GNULIB_MDA_UNLINK)/g' \
+             -e 's/@''GNULIB_MDA_WRITE''@/$(GL_LGL_GNULIB_MDA_WRITE)/g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+             -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
+             -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
+             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \
+             -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+             -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+             -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
+             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
+             -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \
+             -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
+             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+             -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
+             -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+             -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
+             -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+             -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+             -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+             -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+             -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+             -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
+             -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+             -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+             -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+             -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+             -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+             -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
+             -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+             -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \
+             -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+             -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+             -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
+             -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
+             -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+             -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+             -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+             -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
+             -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+             -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
+             -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
+             -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
+             -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
+             -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \
+             -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \
+             -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
+             -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+             -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
+             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
+             -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+             -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+             -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+             -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
+             -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+             -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
+             -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
+             -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \
+             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
+             -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+             -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+             -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
+             -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
+             -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+             -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+             -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+             -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
+             -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+             -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
+             -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+             -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
+             -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+             -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+             -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+             -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
+             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t3 > $@-t4
+       $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+       $(AM_V_at)mv $@-t4 $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4
+
+EXTRA_DIST += unistd.in.h
+
+## end   gnulib module unistd
 
 ## begin gnulib module unistr/base
 
 BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
 
 unistr.h: unistr.in.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unistr.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
+       $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unistr.in.h
+       $(AM_V_at)mv $@-t $@
 MOSTLYCLEANFILES += unistr.h unistr.h-t
 
 EXTRA_DIST += unistr.in.h
 
 ## end   gnulib module unistr/base
 
+## begin gnulib module unistr/u8-check
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_CHECK
+libgnu_la_SOURCES += unistr/u8-check.c
+endif
+
+## end   gnulib module unistr/u8-check
+
 ## begin gnulib module unistr/u8-mbtoucr
 
 if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR
@@ -510,17 +1037,156 @@ endif
 BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
 
 unitypes.h: unitypes.in.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unitypes.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
+       $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unitypes.in.h
+       $(AM_V_at)mv $@-t $@
 MOSTLYCLEANFILES += unitypes.h unitypes.h-t
 
 EXTRA_DIST += unitypes.in.h
 
 ## end   gnulib module unitypes
 
+## begin gnulib module wchar
+
+BUILT_SOURCES += wchar.h
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+             -e 's/@''GNULIB_BTOWC''@/$(GL_LGL_GNULIB_BTOWC)/g' \
+             -e 's/@''GNULIB_WCTOB''@/$(GL_LGL_GNULIB_WCTOB)/g' \
+             -e 's/@''GNULIB_MBSINIT''@/$(GL_LGL_GNULIB_MBSINIT)/g' \
+             -e 's/@''GNULIB_MBSZERO''@/$(GL_LGL_GNULIB_MBSZERO)/g' \
+             -e 's/@''GNULIB_MBRTOWC''@/$(GL_LGL_GNULIB_MBRTOWC)/g' \
+             -e 's/@''GNULIB_MBRLEN''@/$(GL_LGL_GNULIB_MBRLEN)/g' \
+             -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_LGL_GNULIB_MBSRTOWCS)/g' \
+             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_LGL_GNULIB_MBSNRTOWCS)/g' \
+             -e 's/@''GNULIB_WCRTOMB''@/$(GL_LGL_GNULIB_WCRTOMB)/g' \
+             -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_LGL_GNULIB_WCSRTOMBS)/g' \
+             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_LGL_GNULIB_WCSNRTOMBS)/g' \
+             -e 's/@''GNULIB_WCWIDTH''@/$(GL_LGL_GNULIB_WCWIDTH)/g' \
+             -e 's/@''GNULIB_WMEMCHR''@/$(GL_LGL_GNULIB_WMEMCHR)/g' \
+             -e 's/@''GNULIB_WMEMCMP''@/$(GL_LGL_GNULIB_WMEMCMP)/g' \
+             -e 's/@''GNULIB_WMEMCPY''@/$(GL_LGL_GNULIB_WMEMCPY)/g' \
+             -e 's/@''GNULIB_WMEMMOVE''@/$(GL_LGL_GNULIB_WMEMMOVE)/g' \
+             -e 's/@''GNULIB_WMEMPCPY''@/$(GL_LGL_GNULIB_WMEMPCPY)/g' \
+             -e 's/@''GNULIB_WMEMSET''@/$(GL_LGL_GNULIB_WMEMSET)/g' \
+             -e 's/@''GNULIB_WCSLEN''@/$(GL_LGL_GNULIB_WCSLEN)/g' \
+             -e 's/@''GNULIB_WCSNLEN''@/$(GL_LGL_GNULIB_WCSNLEN)/g' \
+             -e 's/@''GNULIB_WCSCPY''@/$(GL_LGL_GNULIB_WCSCPY)/g' \
+             -e 's/@''GNULIB_WCPCPY''@/$(GL_LGL_GNULIB_WCPCPY)/g' \
+             -e 's/@''GNULIB_WCSNCPY''@/$(GL_LGL_GNULIB_WCSNCPY)/g' \
+             -e 's/@''GNULIB_WCPNCPY''@/$(GL_LGL_GNULIB_WCPNCPY)/g' \
+             -e 's/@''GNULIB_WCSCAT''@/$(GL_LGL_GNULIB_WCSCAT)/g' \
+             -e 's/@''GNULIB_WCSNCAT''@/$(GL_LGL_GNULIB_WCSNCAT)/g' \
+             -e 's/@''GNULIB_WCSCMP''@/$(GL_LGL_GNULIB_WCSCMP)/g' \
+             -e 's/@''GNULIB_WCSNCMP''@/$(GL_LGL_GNULIB_WCSNCMP)/g' \
+             -e 's/@''GNULIB_WCSCASECMP''@/$(GL_LGL_GNULIB_WCSCASECMP)/g' \
+             -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_LGL_GNULIB_WCSNCASECMP)/g' \
+             -e 's/@''GNULIB_WCSCOLL''@/$(GL_LGL_GNULIB_WCSCOLL)/g' \
+             -e 's/@''GNULIB_WCSXFRM''@/$(GL_LGL_GNULIB_WCSXFRM)/g' \
+             -e 's/@''GNULIB_WCSDUP''@/$(GL_LGL_GNULIB_WCSDUP)/g' \
+             -e 's/@''GNULIB_WCSCHR''@/$(GL_LGL_GNULIB_WCSCHR)/g' \
+             -e 's/@''GNULIB_WCSRCHR''@/$(GL_LGL_GNULIB_WCSRCHR)/g' \
+             -e 's/@''GNULIB_WCSCSPN''@/$(GL_LGL_GNULIB_WCSCSPN)/g' \
+             -e 's/@''GNULIB_WCSSPN''@/$(GL_LGL_GNULIB_WCSSPN)/g' \
+             -e 's/@''GNULIB_WCSPBRK''@/$(GL_LGL_GNULIB_WCSPBRK)/g' \
+             -e 's/@''GNULIB_WCSSTR''@/$(GL_LGL_GNULIB_WCSSTR)/g' \
+             -e 's/@''GNULIB_WCSTOK''@/$(GL_LGL_GNULIB_WCSTOK)/g' \
+             -e 's/@''GNULIB_WCSWIDTH''@/$(GL_LGL_GNULIB_WCSWIDTH)/g' \
+             -e 's/@''GNULIB_WCSFTIME''@/$(GL_LGL_GNULIB_WCSFTIME)/g' \
+             -e 's/@''GNULIB_WGETCWD''@/$(GL_LGL_GNULIB_WGETCWD)/g' \
+             -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_LGL_GNULIB_MDA_WCSDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/wchar.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+             -e 's|@''HAVE_WMEMPCPY''@|$(HAVE_WMEMPCPY)|g' \
+             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+             -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
+             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+             -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \
+             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+             -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
+             -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+             -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
+             -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
+             -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
+             -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \
+             -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t1 wchar.h-t2 wchar.h-t3
+
+EXTRA_DIST += wchar.in.h
+
+## end   gnulib module wchar
+
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \
@@ -529,3 +1195,7 @@ mostlyclean-local: mostlyclean-generic
          fi; \
        done; \
        :
+distclean-local: distclean-gnulib-libobjs
+distclean-gnulib-libobjs:
+       -rm -f @lgl_LIBOBJDEPS@
+maintainer-clean-local: distclean-gnulib-libobjs
index 78e393d..7808c51 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -28,7 +27,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+# Reproduce by:
+# gnulib-tool --import \
+#  --lib=libgnu \
+#  --source-base=lib/gl \
+#  --m4-base=lib/gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=tests \
+#  --aux-dir=build-aux \
+#  --lgpl=2 \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=lgl \
+#  --no-vc-files \
+#  gettext-h \
+#  langinfo \
+#  stdint \
+#  striconv \
+#  strverscmp \
+#  unistr/u8-check
 
 
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -59,87 +131,104 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-@GL_COND_LIBTOOL_TRUE@am__append_1 = $(LTLIBICONV)
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_2 = unistr/u8-mbtoucr.c
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_3 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+@GL_COND_OBJ_FREE_TRUE@am__append_1 = free.c
+@GL_COND_OBJ_ICONV_OPEN_TRUE@am__append_2 = iconv_open.c
+@GL_COND_OBJ_ICONV_TRUE@am__append_3 = iconv.c iconv_close.c
+@GL_COND_OBJ_STRVERSCMP_TRUE@am__append_4 = strverscmp.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__append_5 = unistr/u8-check.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_6 = unistr/u8-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_7 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
 subdir = lib/gl
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+       $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -148,24 +237,61 @@ LIBRARIES = $(noinst_LIBRARIES)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 am__libgnu_la_SOURCES_DIST = c-ctype.h c-ctype.c c-strcase.h \
-       c-strcasecmp.c c-strncasecmp.c gettext.h striconv.h striconv.c \
-       unistr/u8-mbtoucr.c unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+       c-strcasecmp.c c-strncasecmp.c free.c gettext.h iconv_open.c \
+       iconv.c iconv_close.c striconv.h striconv.c strverscmp.c \
+       unistd.c unistr/u8-check.c unistr/u8-mbtoucr.c \
+       unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+@GL_COND_OBJ_FREE_TRUE@am__objects_1 = libgnu_la-free.lo
+@GL_COND_OBJ_ICONV_OPEN_TRUE@am__objects_2 = libgnu_la-iconv_open.lo
+@GL_COND_OBJ_ICONV_TRUE@am__objects_3 = libgnu_la-iconv.lo \
+@GL_COND_OBJ_ICONV_TRUE@       libgnu_la-iconv_close.lo
+@GL_COND_OBJ_STRVERSCMP_TRUE@am__objects_4 = libgnu_la-strverscmp.lo
 am__dirstamp = $(am__leading_dot)dirstamp
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = unistr/u8-mbtoucr.lo
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = unistr/u8-uctomb.lo \
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@   unistr/u8-uctomb-aux.lo
-am_libgnu_la_OBJECTS = c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo \
-       striconv.lo $(am__objects_1) $(am__objects_2)
+@LIBUNISTRING_COMPILE_UNISTR_U8_CHECK_TRUE@am__objects_5 = unistr/libgnu_la-u8-check.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_6 = unistr/libgnu_la-u8-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_7 = unistr/libgnu_la-u8-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@   unistr/libgnu_la-u8-uctomb-aux.lo
+am_libgnu_la_OBJECTS = libgnu_la-c-ctype.lo libgnu_la-c-strcasecmp.lo \
+       libgnu_la-c-strncasecmp.lo $(am__objects_1) $(am__objects_2) \
+       $(am__objects_3) libgnu_la-striconv.lo $(am__objects_4) \
+       libgnu_la-unistd.lo $(am__objects_5) $(am__objects_6) \
+       $(am__objects_7)
 libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
 libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libgnu_la_CFLAGS) \
+       $(CFLAGS) $(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libgnu_la-c-ctype.Plo \
+       ./$(DEPDIR)/libgnu_la-c-strcasecmp.Plo \
+       ./$(DEPDIR)/libgnu_la-c-strncasecmp.Plo \
+       ./$(DEPDIR)/libgnu_la-free.Plo ./$(DEPDIR)/libgnu_la-iconv.Plo \
+       ./$(DEPDIR)/libgnu_la-iconv_close.Plo \
+       ./$(DEPDIR)/libgnu_la-iconv_open.Plo \
+       ./$(DEPDIR)/libgnu_la-striconv.Plo \
+       ./$(DEPDIR)/libgnu_la-strverscmp.Plo \
+       ./$(DEPDIR)/libgnu_la-unistd.Plo \
+       unistr/$(DEPDIR)/libgnu_la-u8-check.Plo \
+       unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Plo \
+       unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Plo \
+       unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -175,39 +301,61 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
 DIST_SOURCES = $(am__libgnu_la_SOURCES_DIST) \
        $(EXTRA_libgnu_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -239,10 +387,12 @@ ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -261,9 +411,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -283,290 +436,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -576,16 +1018,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -602,33 +1049,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -643,28 +1103,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -674,26 +1142,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -712,6 +1188,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -733,9 +1210,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -753,36 +1229,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -791,12 +1269,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -809,11 +1291,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -846,27 +1330,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -879,71 +1385,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -952,11 +1492,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -969,45 +1519,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1015,7 +1578,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1033,8 +1595,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1047,8 +1611,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1064,6 +1630,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1072,77 +1639,101 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
+AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects
 SUBDIRS = 
 noinst_HEADERS = 
 noinst_LIBRARIES = 
 noinst_LTLIBRARIES = libgnu.la
-EXTRA_DIST = m4/gnulib-cache.m4 $(top_srcdir)/build-aux/config.rpath \
-       iconv.in.h iconv_open-aix.h iconv_open-hpux.h \
-       iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
-       iconv.c iconv_close.c iconv_open-aix.gperf \
-       iconv_open-hpux.gperf iconv_open-irix.gperf \
-       iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c \
-       $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-       $(top_srcdir)/build-aux/snippet/c++defs.h \
-       $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-       $(top_srcdir)/build-aux/snippet/warn-on-use.h stdbool.in.h \
-       stddef.in.h stdint.in.h string.in.h strverscmp.c unistr.in.h \
-       unitypes.in.h
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
+# No GNU Make output.
+EXTRA_DIST = m4/gnulib-cache.m4 attribute.h \
+       $(top_srcdir)/build-aux/config.rpath iconv.in.h \
+       iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \
+       iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h \
+       iconv_open-aix.gperf iconv_open-hpux.gperf \
+       iconv_open-irix.gperf iconv_open-osf.gperf \
+       iconv_open-solaris.gperf iconv_open-zos.gperf inttypes.in.h \
+       langinfo.in.h cdefs.h libc-config.h limits.in.h _Noreturn.h \
+       arg-nonnull.h c++defs.h warn-on-use.h stddef.in.h stdint.in.h \
+       stdlib.in.h string.in.h sys_types.in.h unistd.in.h unistr.in.h \
+       unitypes.in.h wchar.in.h
 BUILT_SOURCES = $(ICONV_H) iconv_open-aix.h iconv_open-hpux.h \
        iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
-       arg-nonnull.h c++defs.h unused-parameter.h warn-on-use.h \
-       $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) string.h \
-       $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H)
+       iconv_open-zos.h inttypes.h langinfo.h $(LIMITS_H) $(STDDEF_H) \
+       $(STDINT_H) stdlib.h string.h sys/types.h unistd.h \
+       $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H) wchar.h
 SUFFIXES = 
 MOSTLYCLEANFILES = core *.stackdump iconv.h iconv.h-t \
        iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t \
-       iconv_open-osf.h-t iconv_open-solaris.h-t arg-nonnull.h \
-       arg-nonnull.h-t c++defs.h c++defs.h-t unused-parameter.h \
-       unused-parameter.h-t warn-on-use.h warn-on-use.h-t stdbool.h \
-       stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t string.h \
-       string.h-t unistr.h unistr.h-t unitypes.h unitypes.h-t
+       iconv_open-osf.h-t iconv_open-solaris.h-t iconv_open-zos.h-t \
+       inttypes.h inttypes.h-t langinfo.h langinfo.h-t limits.h \
+       limits.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdlib.h \
+       stdlib.h-t1 stdlib.h-t2 stdlib.h-t3 string.h string.h-t1 \
+       string.h-t2 sys/types.h sys/types.h-t unistd.h unistd.h-t1 \
+       unistd.h-t2 unistd.h-t3 unistd.h-t4 unistr.h unistr.h-t \
+       unitypes.h unitypes.h-t wchar.h wchar.h-t1 wchar.h-t2 \
+       wchar.h-t3
 MOSTLYCLEANDIRS = 
 CLEANFILES = 
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \
-       iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+       iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
+       iconv_open-zos.h
 AM_CPPFLAGS = 
-
-# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
-# compilation of all sources that make up the library. This line here does it
-# only for the gnulib part of it. The developer is responsible for adding
-# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
-AM_CFLAGS = $(CFLAG_VISIBILITY)
+AM_CFLAGS = 
 libgnu_la_SOURCES = c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c \
-       c-strncasecmp.c gettext.h striconv.h striconv.c \
-       $(am__append_2) $(am__append_3)
+       c-strncasecmp.c $(am__append_1) gettext.h $(am__append_2) \
+       $(am__append_3) striconv.h striconv.c $(am__append_4) unistd.c \
+       $(am__append_5) $(am__append_6) $(am__append_7)
+libgnu_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
 libgnu_la_LIBADD = $(lgl_LTLIBOBJS)
 libgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
-EXTRA_libgnu_la_SOURCES = iconv.c iconv_close.c iconv_open.c \
-       strverscmp.c
+EXTRA_libgnu_la_SOURCES = 
 libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBICONV) \
-       $(LTLIBINTL) $(am__append_1)
+       $(LTLIBINTL) $(LTLIBICONV)
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER)
+
+# In 'sed', replace the pattern space with a "DO NOT EDIT" comment.
+SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,
+
+# '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT".
+SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G
+
+# '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading
+# "DO_NOT_EDIT".  Although this could be done more simply via:
+#      SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t
+# the -n and 'w' avoid a fork+exec, at least when GNU Make is used.
+SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t'
+
+# Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that
+gl_V_at = $(AM_V_GEN)
 GPERF = gperf
-ARG_NONNULL_H = arg-nonnull.h
-CXXDEFS_H = c++defs.h
-UNUSED_PARAMETER_H = unused-parameter.h
-WARN_ON_USE_H = warn-on-use.h
+V_GPERF = $(V_GPERF_@AM_V@)
+V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@)
+V_GPERF_0 = @echo "  GPERF   " $@;
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(srcdir)/_Noreturn.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+ARG_NONNULL_H = $(srcdir)/arg-nonnull.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+CXXDEFS_H = $(srcdir)/c++defs.h
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all makefiles that
+# need it. This is ensured by the applicability 'all' defined above.
+WARN_ON_USE_H = $(srcdir)/warn-on-use.h
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -1160,14 +1751,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/gl/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnits lib/gl/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1184,50 +1774,60 @@ clean-noinstLIBRARIES:
 
 clean-noinstLTLIBRARIES:
        -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
+       @list='$(noinst_LTLIBRARIES)'; \
+       locs=`for p in $$list; do echo $$p; done | \
+             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+             sort -u`; \
+       test -z "$$locs" || { \
+         echo rm -f $${locs}; \
+         rm -f $${locs}; \
+       }
 unistr/$(am__dirstamp):
        @$(MKDIR_P) unistr
        @: > unistr/$(am__dirstamp)
 unistr/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) unistr/$(DEPDIR)
        @: > unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-mbtoucr.lo: unistr/$(am__dirstamp) \
+unistr/libgnu_la-u8-check.lo: unistr/$(am__dirstamp) \
        unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-uctomb.lo: unistr/$(am__dirstamp) \
+unistr/libgnu_la-u8-mbtoucr.lo: unistr/$(am__dirstamp) \
        unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-uctomb-aux.lo: unistr/$(am__dirstamp) \
+unistr/libgnu_la-u8-uctomb.lo: unistr/$(am__dirstamp) \
        unistr/$(DEPDIR)/$(am__dirstamp)
+unistr/libgnu_la-u8-uctomb-aux.lo: unistr/$(am__dirstamp) \
+       unistr/$(DEPDIR)/$(am__dirstamp)
+
 libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES) $(EXTRA_libgnu_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libgnu_la_LINK)  $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
-       -rm -f unistr/u8-mbtoucr.$(OBJEXT)
-       -rm -f unistr/u8-mbtoucr.lo
-       -rm -f unistr/u8-uctomb-aux.$(OBJEXT)
-       -rm -f unistr/u8-uctomb-aux.lo
-       -rm -f unistr/u8-uctomb.$(OBJEXT)
-       -rm -f unistr/u8-uctomb.lo
+       -rm -f unistr/*.$(OBJEXT)
+       -rm -f unistr/*.lo
 
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv_close.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv_open.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/striconv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-mbtoucr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb-aux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-c-ctype.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-c-strcasecmp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-c-strncasecmp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-free.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-iconv.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-iconv_close.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-iconv_open.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-striconv.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-strverscmp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-unistd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/libgnu_la-u8-check.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1253,6 +1853,104 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
+libgnu_la-c-ctype.lo: c-ctype.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-c-ctype.lo -MD -MP -MF $(DEPDIR)/libgnu_la-c-ctype.Tpo -c -o libgnu_la-c-ctype.lo `test -f 'c-ctype.c' || echo '$(srcdir)/'`c-ctype.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-c-ctype.Tpo $(DEPDIR)/libgnu_la-c-ctype.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='c-ctype.c' object='libgnu_la-c-ctype.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-c-ctype.lo `test -f 'c-ctype.c' || echo '$(srcdir)/'`c-ctype.c
+
+libgnu_la-c-strcasecmp.lo: c-strcasecmp.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-c-strcasecmp.lo -MD -MP -MF $(DEPDIR)/libgnu_la-c-strcasecmp.Tpo -c -o libgnu_la-c-strcasecmp.lo `test -f 'c-strcasecmp.c' || echo '$(srcdir)/'`c-strcasecmp.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-c-strcasecmp.Tpo $(DEPDIR)/libgnu_la-c-strcasecmp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='c-strcasecmp.c' object='libgnu_la-c-strcasecmp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-c-strcasecmp.lo `test -f 'c-strcasecmp.c' || echo '$(srcdir)/'`c-strcasecmp.c
+
+libgnu_la-c-strncasecmp.lo: c-strncasecmp.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-c-strncasecmp.lo -MD -MP -MF $(DEPDIR)/libgnu_la-c-strncasecmp.Tpo -c -o libgnu_la-c-strncasecmp.lo `test -f 'c-strncasecmp.c' || echo '$(srcdir)/'`c-strncasecmp.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-c-strncasecmp.Tpo $(DEPDIR)/libgnu_la-c-strncasecmp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='c-strncasecmp.c' object='libgnu_la-c-strncasecmp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-c-strncasecmp.lo `test -f 'c-strncasecmp.c' || echo '$(srcdir)/'`c-strncasecmp.c
+
+libgnu_la-free.lo: free.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-free.lo -MD -MP -MF $(DEPDIR)/libgnu_la-free.Tpo -c -o libgnu_la-free.lo `test -f 'free.c' || echo '$(srcdir)/'`free.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-free.Tpo $(DEPDIR)/libgnu_la-free.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='free.c' object='libgnu_la-free.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-free.lo `test -f 'free.c' || echo '$(srcdir)/'`free.c
+
+libgnu_la-iconv_open.lo: iconv_open.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-iconv_open.lo -MD -MP -MF $(DEPDIR)/libgnu_la-iconv_open.Tpo -c -o libgnu_la-iconv_open.lo `test -f 'iconv_open.c' || echo '$(srcdir)/'`iconv_open.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-iconv_open.Tpo $(DEPDIR)/libgnu_la-iconv_open.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='iconv_open.c' object='libgnu_la-iconv_open.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-iconv_open.lo `test -f 'iconv_open.c' || echo '$(srcdir)/'`iconv_open.c
+
+libgnu_la-iconv.lo: iconv.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-iconv.lo -MD -MP -MF $(DEPDIR)/libgnu_la-iconv.Tpo -c -o libgnu_la-iconv.lo `test -f 'iconv.c' || echo '$(srcdir)/'`iconv.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-iconv.Tpo $(DEPDIR)/libgnu_la-iconv.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='iconv.c' object='libgnu_la-iconv.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-iconv.lo `test -f 'iconv.c' || echo '$(srcdir)/'`iconv.c
+
+libgnu_la-iconv_close.lo: iconv_close.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-iconv_close.lo -MD -MP -MF $(DEPDIR)/libgnu_la-iconv_close.Tpo -c -o libgnu_la-iconv_close.lo `test -f 'iconv_close.c' || echo '$(srcdir)/'`iconv_close.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-iconv_close.Tpo $(DEPDIR)/libgnu_la-iconv_close.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='iconv_close.c' object='libgnu_la-iconv_close.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-iconv_close.lo `test -f 'iconv_close.c' || echo '$(srcdir)/'`iconv_close.c
+
+libgnu_la-striconv.lo: striconv.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-striconv.lo -MD -MP -MF $(DEPDIR)/libgnu_la-striconv.Tpo -c -o libgnu_la-striconv.lo `test -f 'striconv.c' || echo '$(srcdir)/'`striconv.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-striconv.Tpo $(DEPDIR)/libgnu_la-striconv.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='striconv.c' object='libgnu_la-striconv.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-striconv.lo `test -f 'striconv.c' || echo '$(srcdir)/'`striconv.c
+
+libgnu_la-strverscmp.lo: strverscmp.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-strverscmp.lo -MD -MP -MF $(DEPDIR)/libgnu_la-strverscmp.Tpo -c -o libgnu_la-strverscmp.lo `test -f 'strverscmp.c' || echo '$(srcdir)/'`strverscmp.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-strverscmp.Tpo $(DEPDIR)/libgnu_la-strverscmp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='strverscmp.c' object='libgnu_la-strverscmp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-strverscmp.lo `test -f 'strverscmp.c' || echo '$(srcdir)/'`strverscmp.c
+
+libgnu_la-unistd.lo: unistd.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-unistd.lo -MD -MP -MF $(DEPDIR)/libgnu_la-unistd.Tpo -c -o libgnu_la-unistd.lo `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-unistd.Tpo $(DEPDIR)/libgnu_la-unistd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistd.c' object='libgnu_la-unistd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-unistd.lo `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c
+
+unistr/libgnu_la-u8-check.lo: unistr/u8-check.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT unistr/libgnu_la-u8-check.lo -MD -MP -MF unistr/$(DEPDIR)/libgnu_la-u8-check.Tpo -c -o unistr/libgnu_la-u8-check.lo `test -f 'unistr/u8-check.c' || echo '$(srcdir)/'`unistr/u8-check.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) unistr/$(DEPDIR)/libgnu_la-u8-check.Tpo unistr/$(DEPDIR)/libgnu_la-u8-check.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-check.c' object='unistr/libgnu_la-u8-check.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o unistr/libgnu_la-u8-check.lo `test -f 'unistr/u8-check.c' || echo '$(srcdir)/'`unistr/u8-check.c
+
+unistr/libgnu_la-u8-mbtoucr.lo: unistr/u8-mbtoucr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT unistr/libgnu_la-u8-mbtoucr.lo -MD -MP -MF unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Tpo -c -o unistr/libgnu_la-u8-mbtoucr.lo `test -f 'unistr/u8-mbtoucr.c' || echo '$(srcdir)/'`unistr/u8-mbtoucr.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Tpo unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-mbtoucr.c' object='unistr/libgnu_la-u8-mbtoucr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o unistr/libgnu_la-u8-mbtoucr.lo `test -f 'unistr/u8-mbtoucr.c' || echo '$(srcdir)/'`unistr/u8-mbtoucr.c
+
+unistr/libgnu_la-u8-uctomb.lo: unistr/u8-uctomb.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT unistr/libgnu_la-u8-uctomb.lo -MD -MP -MF unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Tpo -c -o unistr/libgnu_la-u8-uctomb.lo `test -f 'unistr/u8-uctomb.c' || echo '$(srcdir)/'`unistr/u8-uctomb.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Tpo unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb.c' object='unistr/libgnu_la-u8-uctomb.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o unistr/libgnu_la-u8-uctomb.lo `test -f 'unistr/u8-uctomb.c' || echo '$(srcdir)/'`unistr/u8-uctomb.c
+
+unistr/libgnu_la-u8-uctomb-aux.lo: unistr/u8-uctomb-aux.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT unistr/libgnu_la-u8-uctomb-aux.lo -MD -MP -MF unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Tpo -c -o unistr/libgnu_la-u8-uctomb-aux.lo `test -f 'unistr/u8-uctomb-aux.c' || echo '$(srcdir)/'`unistr/u8-uctomb-aux.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Tpo unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb-aux.c' object='unistr/libgnu_la-u8-uctomb-aux.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o unistr/libgnu_la-u8-uctomb-aux.lo `test -f 'unistr/u8-uctomb-aux.c' || echo '$(srcdir)/'`unistr/u8-uctomb-aux.c
+
 mostlyclean-libtool:
        -rm -f *.lo
 
@@ -1261,22 +1959,25 @@ clean-libtool:
        -rm -rf unistr/.libs unistr/_libs
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1291,57 +1992,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1357,12 +2013,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1374,15 +2025,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1391,11 +2038,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1427,13 +2091,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1461,7 +2122,8 @@ installdirs: installdirs-recursive
 installdirs-am:
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
 
@@ -1503,10 +2165,23 @@ clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
        clean-noinstLTLIBRARIES mostlyclean-am
 
 distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR) unistr/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/libgnu_la-c-ctype.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-c-strcasecmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-c-strncasecmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-free.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv_close.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv_open.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-striconv.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strverscmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-unistd.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-check.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
+       distclean-local distclean-tags
 
 dvi: dvi-recursive
 
@@ -1549,9 +2224,23 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR) unistr/$(DEPDIR)
+               -rm -f ./$(DEPDIR)/libgnu_la-c-ctype.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-c-strcasecmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-c-strncasecmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-free.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv_close.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-iconv_open.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-striconv.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-strverscmp.Plo
+       -rm -f ./$(DEPDIR)/libgnu_la-unistd.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-check.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-mbtoucr.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-uctomb-aux.Plo
+       -rm -f unistr/$(DEPDIR)/libgnu_la-u8-uctomb.Plo
        -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+       maintainer-clean-local
 
 mostlyclean: mostlyclean-recursive
 
@@ -1568,37 +2257,38 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
-       ctags-recursive distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
+.MAKE: $(am__recursive_targets) all check install install-am \
+       install-exec install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--depfiles check check-am clean clean-generic clean-libtool \
+       clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist-am \
+       ctags ctags-am distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-local distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic \
+       maintainer-clean-local mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # We need the following in order to create <iconv.h> when the system
 # doesn't have one that works with the given compiler.
 @GL_GENERATE_ICONV_H_TRUE@iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-@GL_GENERATE_ICONV_H_TRUE@     $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_ICONV_H_TRUE@     { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_ICONV_H_TRUE@       sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_ICONV_H_TRUE@     $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_ICONV_H_TRUE@           -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
-@GL_GENERATE_ICONV_H_TRUE@           -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \
+@GL_GENERATE_ICONV_H_TRUE@           -e 's/@''GNULIB_ICONV''@/$(GL_LGL_GNULIB_ICONV)/g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
 @GL_GENERATE_ICONV_H_TRUE@           -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
@@ -1606,110 +2296,134 @@ uninstall-am:
 @GL_GENERATE_ICONV_H_TRUE@           -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
 @GL_GENERATE_ICONV_H_TRUE@           -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
 @GL_GENERATE_ICONV_H_TRUE@           -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-@GL_GENERATE_ICONV_H_TRUE@           < $(srcdir)/iconv.in.h; \
-@GL_GENERATE_ICONV_H_TRUE@     } > $@-t && \
-@GL_GENERATE_ICONV_H_TRUE@     mv $@-t $@
+@GL_GENERATE_ICONV_H_TRUE@           $(srcdir)/iconv.in.h > $@-t
+@GL_GENERATE_ICONV_H_TRUE@     $(AM_V_at)mv $@-t $@
 @GL_GENERATE_ICONV_H_FALSE@iconv.h: $(top_builddir)/config.status
 @GL_GENERATE_ICONV_H_FALSE@    rm -f $@
 
-iconv_open-aix.h: iconv_open-aix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+$(srcdir)/iconv_open-aix.h: $(srcdir)/iconv_open-aix.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t && \
        mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
-iconv_open-hpux.h: iconv_open-hpux.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+$(srcdir)/iconv_open-hpux.h: $(srcdir)/iconv_open-hpux.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t && \
        mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
-iconv_open-irix.h: iconv_open-irix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+$(srcdir)/iconv_open-irix.h: $(srcdir)/iconv_open-irix.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t && \
        mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
-iconv_open-osf.h: iconv_open-osf.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+$(srcdir)/iconv_open-osf.h: $(srcdir)/iconv_open-osf.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t && \
        mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
-iconv_open-solaris.h: iconv_open-solaris.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+$(srcdir)/iconv_open-solaris.h: $(srcdir)/iconv_open-solaris.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t && \
        mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-# The unused-parameter.h that gets inserted into generated .h files is the same
-# as build-aux/snippet/unused-parameter.h, except that it has the copyright
-# header cut off.
-unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-         > $@-t && \
-       mv $@-t $@
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDBOOL_H_TRUE@   $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDBOOL_H_TRUE@   { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_STDBOOL_H_TRUE@     sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
-@GL_GENERATE_STDBOOL_H_TRUE@   } > $@-t && \
-@GL_GENERATE_STDBOOL_H_TRUE@   mv $@-t $@
-@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status
-@GL_GENERATE_STDBOOL_H_FALSE@  rm -f $@
+$(srcdir)/iconv_open-zos.h: $(srcdir)/iconv_open-zos.gperf
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-zos.gperf > $(srcdir)/iconv_open-zos.h-t && \
+       mv $(srcdir)/iconv_open-zos.h-t $(srcdir)/iconv_open-zos.h
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+             -e 's/@''GNULIB_IMAXABS''@/$(GL_LGL_GNULIB_IMAXABS)/g' \
+             -e 's/@''GNULIB_IMAXDIV''@/$(GL_LGL_GNULIB_IMAXDIV)/g' \
+             -e 's/@''GNULIB_STRTOIMAX''@/$(GL_LGL_GNULIB_STRTOIMAX)/g' \
+             -e 's/@''GNULIB_STRTOUMAX''@/$(GL_LGL_GNULIB_STRTOUMAX)/g' \
+             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
+             -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \
+             -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \
+             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+             -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
+             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/inttypes.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create an empty placeholder for
+# <langinfo.h> when the system doesn't have one.
+langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
+             -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_LGL_GNULIB_NL_LANGINFO)/g' \
+             -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+             -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+             -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
+             -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+             -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
+             -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
+             -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             $(srcdir)/langinfo.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+@GL_GENERATE_LIMITS_H_TRUE@limits.h: limits.in.h $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@          $(srcdir)/limits.in.h > $@-t
+@GL_GENERATE_LIMITS_H_TRUE@    $(AM_V_at)mv $@-t $@
+@GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_FALSE@   rm -f $@
 
 # We need the following in order to create <stddef.h> when the system
 # doesn't have one that works with the given compiler.
 @GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDDEF_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDDEF_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_STDDEF_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_STDDEF_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
 @GL_GENERATE_STDDEF_H_TRUE@          -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
-@GL_GENERATE_STDDEF_H_TRUE@          < $(srcdir)/stddef.in.h; \
-@GL_GENERATE_STDDEF_H_TRUE@    } > $@-t && \
-@GL_GENERATE_STDDEF_H_TRUE@    mv $@-t $@
+@GL_GENERATE_STDDEF_H_TRUE@          $(srcdir)/stddef.in.h > $@-t
+@GL_GENERATE_STDDEF_H_TRUE@    $(AM_V_at)mv $@-t $@
 @GL_GENERATE_STDDEF_H_FALSE@stddef.h: $(top_builddir)/config.status
 @GL_GENERATE_STDDEF_H_FALSE@   rm -f $@
 
 # We need the following in order to create <stdint.h> when the system
 # doesn't have one that works with the given compiler.
 @GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status
-@GL_GENERATE_STDINT_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_STDINT_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_STDINT_H_TRUE@      sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_STDINT_H_TRUE@    $(gl_V_at)$(SED_HEADER_STDOUT) \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
@@ -1724,67 +2438,235 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
 @GL_GENERATE_STDINT_H_TRUE@          -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
-@GL_GENERATE_STDINT_H_TRUE@          < $(srcdir)/stdint.in.h; \
-@GL_GENERATE_STDINT_H_TRUE@    } > $@-t && \
-@GL_GENERATE_STDINT_H_TRUE@    mv $@-t $@
+@GL_GENERATE_STDINT_H_TRUE@          -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@          $(srcdir)/stdint.in.h > $@-t
+@GL_GENERATE_STDINT_H_TRUE@    $(AM_V_at)mv $@-t $@
 @GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
 @GL_GENERATE_STDINT_H_FALSE@   rm -f $@
 
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+             -e 's/@''GNULIB__EXIT''@/$(GL_LGL_GNULIB__EXIT)/g' \
+             -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_LGL_GNULIB_ALIGNED_ALLOC)/g' \
+             -e 's/@''GNULIB_ATOLL''@/$(GL_LGL_GNULIB_ATOLL)/g' \
+             -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_LGL_GNULIB_CALLOC_GNU)/g' \
+             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_LGL_GNULIB_CALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_LGL_GNULIB_CANONICALIZE_FILE_NAME)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             -e 's/@''GNULIB_GETLOADAVG''@/$(GL_LGL_GNULIB_GETLOADAVG)/g' \
+             -e 's/@''GNULIB_GETPROGNAME''@/$(GL_LGL_GNULIB_GETPROGNAME)/g' \
+             -e 's/@''GNULIB_GETSUBOPT''@/$(GL_LGL_GNULIB_GETSUBOPT)/g' \
+             -e 's/@''GNULIB_GRANTPT''@/$(GL_LGL_GNULIB_GRANTPT)/g' \
+             -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_LGL_GNULIB_MALLOC_GNU)/g' \
+             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_LGL_GNULIB_MALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_MBSTOWCS''@/$(GL_LGL_GNULIB_MBSTOWCS)/g' \
+             -e 's/@''GNULIB_MBTOWC''@/$(GL_LGL_GNULIB_MBTOWC)/g' \
+             -e 's/@''GNULIB_MKDTEMP''@/$(GL_LGL_GNULIB_MKDTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMP''@/$(GL_LGL_GNULIB_MKOSTEMP)/g' \
+             -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_LGL_GNULIB_MKOSTEMPS)/g' \
+             -e 's/@''GNULIB_MKSTEMP''@/$(GL_LGL_GNULIB_MKSTEMP)/g' \
+             -e 's/@''GNULIB_MKSTEMPS''@/$(GL_LGL_GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_LGL_GNULIB_POSIX_MEMALIGN)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_LGL_GNULIB_POSIX_OPENPT)/g' \
+             -e 's/@''GNULIB_PTSNAME''@/$(GL_LGL_GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GL_LGL_GNULIB_PTSNAME_R)/g' \
+             -e 's/@''GNULIB_PUTENV''@/$(GL_LGL_GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GL_LGL_GNULIB_QSORT_R)/g' \
+             -e 's/@''GNULIB_RAND''@/$(GL_LGL_GNULIB_RAND)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GL_LGL_GNULIB_RANDOM)/g' \
+             -e 's/@''GNULIB_RANDOM_R''@/$(GL_LGL_GNULIB_RANDOM_R)/g' \
+             -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_LGL_GNULIB_REALLOC_GNU)/g' \
+             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_LGL_GNULIB_REALLOC_POSIX)/g' \
+             -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_LGL_GNULIB_REALLOCARRAY)/g' \
+             -e 's/@''GNULIB_REALPATH''@/$(GL_LGL_GNULIB_REALPATH)/g' \
+             -e 's/@''GNULIB_RPMATCH''@/$(GL_LGL_GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_LGL_GNULIB_SECURE_GETENV)/g' \
+             -e 's/@''GNULIB_SETENV''@/$(GL_LGL_GNULIB_SETENV)/g' \
+             -e 's/@''GNULIB_STRTOD''@/$(GL_LGL_GNULIB_STRTOD)/g' \
+             -e 's/@''GNULIB_STRTOL''@/$(GL_LGL_GNULIB_STRTOL)/g' \
+             -e 's/@''GNULIB_STRTOLD''@/$(GL_LGL_GNULIB_STRTOLD)/g' \
+             -e 's/@''GNULIB_STRTOLL''@/$(GL_LGL_GNULIB_STRTOLL)/g' \
+             -e 's/@''GNULIB_STRTOUL''@/$(GL_LGL_GNULIB_STRTOUL)/g' \
+             -e 's/@''GNULIB_STRTOULL''@/$(GL_LGL_GNULIB_STRTOULL)/g' \
+             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_LGL_GNULIB_SYSTEM_POSIX)/g' \
+             -e 's/@''GNULIB_UNLOCKPT''@/$(GL_LGL_GNULIB_UNLOCKPT)/g' \
+             -e 's/@''GNULIB_UNSETENV''@/$(GL_LGL_GNULIB_UNSETENV)/g' \
+             -e 's/@''GNULIB_WCTOMB''@/$(GL_LGL_GNULIB_WCTOMB)/g' \
+             -e 's/@''GNULIB_MDA_ECVT''@/$(GL_LGL_GNULIB_MDA_ECVT)/g' \
+             -e 's/@''GNULIB_MDA_FCVT''@/$(GL_LGL_GNULIB_MDA_FCVT)/g' \
+             -e 's/@''GNULIB_MDA_GCVT''@/$(GL_LGL_GNULIB_MDA_GCVT)/g' \
+             -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_LGL_GNULIB_MDA_MKTEMP)/g' \
+             -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_LGL_GNULIB_MDA_PUTENV)/g' \
+             < $(srcdir)/stdlib.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+             -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''HAVE_DECL_ECVT''@|$(HAVE_DECL_ECVT)|g' \
+             -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
+             -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+             -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
+             -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
+             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+             -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
+             -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
+             -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
+             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_MEMALIGN''@|$(HAVE_POSIX_MEMALIGN)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_REALLOCARRAY''@|$(HAVE_REALLOCARRAY)|g' \
+             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
+             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+             -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
+             -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
+             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+             -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \
+             -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
+             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+             -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \
+             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \
+             -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \
+             -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \
+             -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \
+             -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \
+             -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \
+             -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \
+             -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \
+             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+             -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \
+             -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \
+             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \
+             -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
+             -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \
+             -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \
+             -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \
+             -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \
+             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+             -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
+             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+             -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \
+             -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
+             -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \
+             -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \
+             -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \
+             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
+
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-             -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
-             -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
-             -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
-             -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
-             -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
-             -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
-             -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
-             -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
-             -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
-             -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
-             -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
-             -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
-             -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
-             -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
-             -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
-             -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
-             -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
-             -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
-             -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
-             -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
-             -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
-             -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
-             -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
-             -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
-             -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
-             -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
-             -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
-             -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
-             -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
-             -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
-             -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
-             -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
-             -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
-             -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
-             -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
-             -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
-             -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
-             < $(srcdir)/string.in.h | \
-         sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+             -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_LGL_GNULIB_EXPLICIT_BZERO)/g' \
+             -e 's/@''GNULIB_FFSL''@/$(GL_LGL_GNULIB_FFSL)/g' \
+             -e 's/@''GNULIB_FFSLL''@/$(GL_LGL_GNULIB_FFSLL)/g' \
+             -e 's/@''GNULIB_MBSLEN''@/$(GL_LGL_GNULIB_MBSLEN)/g' \
+             -e 's/@''GNULIB_MBSNLEN''@/$(GL_LGL_GNULIB_MBSNLEN)/g' \
+             -e 's/@''GNULIB_MBSCHR''@/$(GL_LGL_GNULIB_MBSCHR)/g' \
+             -e 's/@''GNULIB_MBSRCHR''@/$(GL_LGL_GNULIB_MBSRCHR)/g' \
+             -e 's/@''GNULIB_MBSSTR''@/$(GL_LGL_GNULIB_MBSSTR)/g' \
+             -e 's/@''GNULIB_MBSCASECMP''@/$(GL_LGL_GNULIB_MBSCASECMP)/g' \
+             -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_LGL_GNULIB_MBSNCASECMP)/g' \
+             -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_LGL_GNULIB_MBSPCASECMP)/g' \
+             -e 's/@''GNULIB_MBSCASESTR''@/$(GL_LGL_GNULIB_MBSCASESTR)/g' \
+             -e 's/@''GNULIB_MBSCSPN''@/$(GL_LGL_GNULIB_MBSCSPN)/g' \
+             -e 's/@''GNULIB_MBSPBRK''@/$(GL_LGL_GNULIB_MBSPBRK)/g' \
+             -e 's/@''GNULIB_MBSSPN''@/$(GL_LGL_GNULIB_MBSSPN)/g' \
+             -e 's/@''GNULIB_MBSSEP''@/$(GL_LGL_GNULIB_MBSSEP)/g' \
+             -e 's/@''GNULIB_MBSTOK_R''@/$(GL_LGL_GNULIB_MBSTOK_R)/g' \
+             -e 's/@''GNULIB_MEMCHR''@/$(GL_LGL_GNULIB_MEMCHR)/g' \
+             -e 's/@''GNULIB_MEMMEM''@/$(GL_LGL_GNULIB_MEMMEM)/g' \
+             -e 's/@''GNULIB_MEMPCPY''@/$(GL_LGL_GNULIB_MEMPCPY)/g' \
+             -e 's/@''GNULIB_MEMRCHR''@/$(GL_LGL_GNULIB_MEMRCHR)/g' \
+             -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_LGL_GNULIB_MEMSET_EXPLICIT)/g' \
+             -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_LGL_GNULIB_RAWMEMCHR)/g' \
+             -e 's/@''GNULIB_STPCPY''@/$(GL_LGL_GNULIB_STPCPY)/g' \
+             -e 's/@''GNULIB_STPNCPY''@/$(GL_LGL_GNULIB_STPNCPY)/g' \
+             -e 's/@''GNULIB_STRCHRNUL''@/$(GL_LGL_GNULIB_STRCHRNUL)/g' \
+             -e 's/@''GNULIB_STRDUP''@/$(GL_LGL_GNULIB_STRDUP)/g' \
+             -e 's/@''GNULIB_STRNCAT''@/$(GL_LGL_GNULIB_STRNCAT)/g' \
+             -e 's/@''GNULIB_STRNDUP''@/$(GL_LGL_GNULIB_STRNDUP)/g' \
+             -e 's/@''GNULIB_STRNLEN''@/$(GL_LGL_GNULIB_STRNLEN)/g' \
+             -e 's/@''GNULIB_STRPBRK''@/$(GL_LGL_GNULIB_STRPBRK)/g' \
+             -e 's/@''GNULIB_STRSEP''@/$(GL_LGL_GNULIB_STRSEP)/g' \
+             -e 's/@''GNULIB_STRSTR''@/$(GL_LGL_GNULIB_STRSTR)/g' \
+             -e 's/@''GNULIB_STRCASESTR''@/$(GL_LGL_GNULIB_STRCASESTR)/g' \
+             -e 's/@''GNULIB_STRTOK_R''@/$(GL_LGL_GNULIB_STRTOK_R)/g' \
+             -e 's/@''GNULIB_STRERROR''@/$(GL_LGL_GNULIB_STRERROR)/g' \
+             -e 's/@''GNULIB_STRERROR_R''@/$(GL_LGL_GNULIB_STRERROR_R)/g' \
+             -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_LGL_GNULIB_STRERRORNAME_NP)/g' \
+             -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_LGL_GNULIB_SIGABBREV_NP)/g' \
+             -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_LGL_GNULIB_SIGDESCR_NP)/g' \
+             -e 's/@''GNULIB_STRSIGNAL''@/$(GL_LGL_GNULIB_STRSIGNAL)/g' \
+             -e 's/@''GNULIB_STRVERSCMP''@/$(GL_LGL_GNULIB_STRVERSCMP)/g' \
+             -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_LGL_GNULIB_MDA_MEMCCPY)/g' \
+             -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_LGL_GNULIB_MDA_STRDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/string.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \
+             -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
              -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
              -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
-             -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
              -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
              -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
              -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+             -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \
              -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
              -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
              -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
@@ -1797,43 +2679,401 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+             -e 's|@''HAVE_STRERRORNAME_NP''@|$(HAVE_STRERRORNAME_NP)|g' \
+             -e 's|@''HAVE_SIGABBREV_NP''@|$(HAVE_SIGABBREV_NP)|g' \
+             -e 's|@''HAVE_SIGDESCR_NP''@|$(HAVE_SIGDESCR_NP)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
              -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
-             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+             -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
              -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
+             -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
              -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
              -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
-             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
              -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
              -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
              -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+             -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+             -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
              -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+             -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+             -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+             -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \
+             -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
              -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-             < $(srcdir)/string.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)rm -f $@-t1
+       $(AM_V_at)mv $@-t2 $@
+
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)$(MKDIR_P) 'sys'
+       $(AM_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
+             $(srcdir)/sys_types.in.h > $@-t
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create an empty placeholder for
+# <unistd.h> when the system doesn't have one.
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's/@''GNULIB_ACCESS''@/$(GL_LGL_GNULIB_ACCESS)/g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GL_LGL_GNULIB_CHDIR)/g' \
+             -e 's/@''GNULIB_CHOWN''@/$(GL_LGL_GNULIB_CHOWN)/g' \
+             -e 's/@''GNULIB_CLOSE''@/$(GL_LGL_GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_LGL_GNULIB_COPY_FILE_RANGE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GL_LGL_GNULIB_DUP)/g' \
+             -e 's/@''GNULIB_DUP2''@/$(GL_LGL_GNULIB_DUP2)/g' \
+             -e 's/@''GNULIB_DUP3''@/$(GL_LGL_GNULIB_DUP3)/g' \
+             -e 's/@''GNULIB_ENVIRON''@/$(GL_LGL_GNULIB_ENVIRON)/g' \
+             -e 's/@''GNULIB_EUIDACCESS''@/$(GL_LGL_GNULIB_EUIDACCESS)/g' \
+             -e 's/@''GNULIB_EXECL''@/$(GL_LGL_GNULIB_EXECL)/g' \
+             -e 's/@''GNULIB_EXECLE''@/$(GL_LGL_GNULIB_EXECLE)/g' \
+             -e 's/@''GNULIB_EXECLP''@/$(GL_LGL_GNULIB_EXECLP)/g' \
+             -e 's/@''GNULIB_EXECV''@/$(GL_LGL_GNULIB_EXECV)/g' \
+             -e 's/@''GNULIB_EXECVE''@/$(GL_LGL_GNULIB_EXECVE)/g' \
+             -e 's/@''GNULIB_EXECVP''@/$(GL_LGL_GNULIB_EXECVP)/g' \
+             -e 's/@''GNULIB_EXECVPE''@/$(GL_LGL_GNULIB_EXECVPE)/g' \
+             -e 's/@''GNULIB_FACCESSAT''@/$(GL_LGL_GNULIB_FACCESSAT)/g' \
+             -e 's/@''GNULIB_FCHDIR''@/$(GL_LGL_GNULIB_FCHDIR)/g' \
+             -e 's/@''GNULIB_FCHOWNAT''@/$(GL_LGL_GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GL_LGL_GNULIB_FDATASYNC)/g' \
+             -e 's/@''GNULIB_FSYNC''@/$(GL_LGL_GNULIB_FSYNC)/g' \
+             -e 's/@''GNULIB_FTRUNCATE''@/$(GL_LGL_GNULIB_FTRUNCATE)/g' \
+             < $(srcdir)/unistd.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's/@''GNULIB_GETCWD''@/$(GL_LGL_GNULIB_GETCWD)/g' \
+             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_LGL_GNULIB_GETDOMAINNAME)/g' \
+             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_LGL_GNULIB_GETDTABLESIZE)/g' \
+             -e 's/@''GNULIB_GETENTROPY''@/$(GL_LGL_GNULIB_GETENTROPY)/g' \
+             -e 's/@''GNULIB_GETGROUPS''@/$(GL_LGL_GNULIB_GETGROUPS)/g' \
+             -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_LGL_GNULIB_GETHOSTNAME)/g' \
+             -e 's/@''GNULIB_GETLOGIN''@/$(GL_LGL_GNULIB_GETLOGIN)/g' \
+             -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_LGL_GNULIB_GETLOGIN_R)/g' \
+             -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_LGL_GNULIB_GETOPT_POSIX)/g' \
+             -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_LGL_GNULIB_GETPAGESIZE)/g' \
+             -e 's/@''GNULIB_GETPASS''@/$(GL_LGL_GNULIB_GETPASS)/g' \
+             -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_LGL_GNULIB_GETPASS_GNU)/g' \
+             -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_LGL_GNULIB_GETUSERSHELL)/g' \
+             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_LGL_GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GL_LGL_GNULIB_ISATTY)/g' \
+             -e 's/@''GNULIB_LCHOWN''@/$(GL_LGL_GNULIB_LCHOWN)/g' \
+             -e 's/@''GNULIB_LINK''@/$(GL_LGL_GNULIB_LINK)/g' \
+             -e 's/@''GNULIB_LINKAT''@/$(GL_LGL_GNULIB_LINKAT)/g' \
+             -e 's/@''GNULIB_LSEEK''@/$(GL_LGL_GNULIB_LSEEK)/g' \
+             -e 's/@''GNULIB_PIPE''@/$(GL_LGL_GNULIB_PIPE)/g' \
+             -e 's/@''GNULIB_PIPE2''@/$(GL_LGL_GNULIB_PIPE2)/g' \
+             -e 's/@''GNULIB_PREAD''@/$(GL_LGL_GNULIB_PREAD)/g' \
+             -e 's/@''GNULIB_PWRITE''@/$(GL_LGL_GNULIB_PWRITE)/g' \
+             -e 's/@''GNULIB_READ''@/$(GL_LGL_GNULIB_READ)/g' \
+             -e 's/@''GNULIB_READLINK''@/$(GL_LGL_GNULIB_READLINK)/g' \
+             -e 's/@''GNULIB_READLINKAT''@/$(GL_LGL_GNULIB_READLINKAT)/g' \
+             -e 's/@''GNULIB_RMDIR''@/$(GL_LGL_GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_LGL_GNULIB_SETHOSTNAME)/g' \
+             -e 's/@''GNULIB_SLEEP''@/$(GL_LGL_GNULIB_SLEEP)/g' \
+             -e 's/@''GNULIB_SYMLINK''@/$(GL_LGL_GNULIB_SYMLINK)/g' \
+             -e 's/@''GNULIB_SYMLINKAT''@/$(GL_LGL_GNULIB_SYMLINKAT)/g' \
+             -e 's/@''GNULIB_TRUNCATE''@/$(GL_LGL_GNULIB_TRUNCATE)/g' \
+             -e 's/@''GNULIB_TTYNAME_R''@/$(GL_LGL_GNULIB_TTYNAME_R)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_LGL_GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_LGL_GNULIB_UNISTD_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_LGL_GNULIB_UNISTD_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_UNLINK''@/$(GL_LGL_GNULIB_UNLINK)/g' \
+             -e 's/@''GNULIB_UNLINKAT''@/$(GL_LGL_GNULIB_UNLINKAT)/g' \
+             -e 's/@''GNULIB_USLEEP''@/$(GL_LGL_GNULIB_USLEEP)/g' \
+             -e 's/@''GNULIB_WRITE''@/$(GL_LGL_GNULIB_WRITE)/g' \
+             -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_LGL_GNULIB_MDA_ACCESS)/g' \
+             -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_LGL_GNULIB_MDA_CHDIR)/g' \
+             -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_LGL_GNULIB_MDA_CLOSE)/g' \
+             -e 's/@''GNULIB_MDA_DUP''@/$(GL_LGL_GNULIB_MDA_DUP)/g' \
+             -e 's/@''GNULIB_MDA_DUP2''@/$(GL_LGL_GNULIB_MDA_DUP2)/g' \
+             -e 's/@''GNULIB_MDA_EXECL''@/$(GL_LGL_GNULIB_MDA_EXECL)/g' \
+             -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_LGL_GNULIB_MDA_EXECLE)/g' \
+             -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_LGL_GNULIB_MDA_EXECLP)/g' \
+             -e 's/@''GNULIB_MDA_EXECV''@/$(GL_LGL_GNULIB_MDA_EXECV)/g' \
+             -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_LGL_GNULIB_MDA_EXECVE)/g' \
+             -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_LGL_GNULIB_MDA_EXECVP)/g' \
+             -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_LGL_GNULIB_MDA_EXECVPE)/g' \
+             -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_LGL_GNULIB_MDA_GETCWD)/g' \
+             -e 's/@''GNULIB_MDA_GETPID''@/$(GL_LGL_GNULIB_MDA_GETPID)/g' \
+             -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_LGL_GNULIB_MDA_ISATTY)/g' \
+             -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_LGL_GNULIB_MDA_LSEEK)/g' \
+             -e 's/@''GNULIB_MDA_READ''@/$(GL_LGL_GNULIB_MDA_READ)/g' \
+             -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_LGL_GNULIB_MDA_RMDIR)/g' \
+             -e 's/@''GNULIB_MDA_SWAB''@/$(GL_LGL_GNULIB_MDA_SWAB)/g' \
+             -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_LGL_GNULIB_MDA_UNLINK)/g' \
+             -e 's/@''GNULIB_MDA_WRITE''@/$(GL_LGL_GNULIB_MDA_WRITE)/g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+             -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
+             -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
+             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_EXECVPE''@|$(HAVE_EXECVPE)|g' \
+             -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+             -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+             -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
+             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
+             -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETENTROPY''@|$(HAVE_GETENTROPY)|g' \
+             -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
+             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+             -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
+             -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+             -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
+             -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+             -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+             -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+             -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+             -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+             -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
+             -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+             -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+             -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+             -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+             -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+             -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
+             -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+             -e 's|@''HAVE_DECL_EXECVPE''@|$(HAVE_DECL_EXECVPE)|g' \
+             -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+             -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+             -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
+             -e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
+             -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
+             -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+             -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \
+             -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+             -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \
+             -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+             -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+             -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \
+             -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \
+             -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \
+             -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \
+             -e 's|@''REPLACE_EXECV''@|$(REPLACE_EXECV)|g' \
+             -e 's|@''REPLACE_EXECVE''@|$(REPLACE_EXECVE)|g' \
+             -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \
+             -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \
+             -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+             -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \
+             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
+             -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+             -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+             -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
+             -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \
+             -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+             -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
+             -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
+             -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \
+             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
+             -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+             -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+             -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
+             -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \
+             -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+             -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+             -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+             -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+             -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \
+             -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+             -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \
+             -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+             -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+             -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \
+             -e 's|@''REPLACE_TRUNCATE''@|$(REPLACE_TRUNCATE)|g' \
+             -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+             -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+             -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+             -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
+             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|$(UNISTD_H_HAVE_SYS_RANDOM_H)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t3 > $@-t4
+       $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3
+       $(AM_V_at)mv $@-t4 $@
 
 unistr.h: unistr.in.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unistr.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
+       $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unistr.in.h
+       $(AM_V_at)mv $@-t $@
 
 unitypes.h: unitypes.in.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/unitypes.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
+       $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unitypes.in.h
+       $(AM_V_at)mv $@-t $@
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(gl_V_at)$(SED_HEADER_STDOUT) \
+             -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+             -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \
+             -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \
+             -e 's/@''GNULIB_BTOWC''@/$(GL_LGL_GNULIB_BTOWC)/g' \
+             -e 's/@''GNULIB_WCTOB''@/$(GL_LGL_GNULIB_WCTOB)/g' \
+             -e 's/@''GNULIB_MBSINIT''@/$(GL_LGL_GNULIB_MBSINIT)/g' \
+             -e 's/@''GNULIB_MBSZERO''@/$(GL_LGL_GNULIB_MBSZERO)/g' \
+             -e 's/@''GNULIB_MBRTOWC''@/$(GL_LGL_GNULIB_MBRTOWC)/g' \
+             -e 's/@''GNULIB_MBRLEN''@/$(GL_LGL_GNULIB_MBRLEN)/g' \
+             -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_LGL_GNULIB_MBSRTOWCS)/g' \
+             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_LGL_GNULIB_MBSNRTOWCS)/g' \
+             -e 's/@''GNULIB_WCRTOMB''@/$(GL_LGL_GNULIB_WCRTOMB)/g' \
+             -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_LGL_GNULIB_WCSRTOMBS)/g' \
+             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_LGL_GNULIB_WCSNRTOMBS)/g' \
+             -e 's/@''GNULIB_WCWIDTH''@/$(GL_LGL_GNULIB_WCWIDTH)/g' \
+             -e 's/@''GNULIB_WMEMCHR''@/$(GL_LGL_GNULIB_WMEMCHR)/g' \
+             -e 's/@''GNULIB_WMEMCMP''@/$(GL_LGL_GNULIB_WMEMCMP)/g' \
+             -e 's/@''GNULIB_WMEMCPY''@/$(GL_LGL_GNULIB_WMEMCPY)/g' \
+             -e 's/@''GNULIB_WMEMMOVE''@/$(GL_LGL_GNULIB_WMEMMOVE)/g' \
+             -e 's/@''GNULIB_WMEMPCPY''@/$(GL_LGL_GNULIB_WMEMPCPY)/g' \
+             -e 's/@''GNULIB_WMEMSET''@/$(GL_LGL_GNULIB_WMEMSET)/g' \
+             -e 's/@''GNULIB_WCSLEN''@/$(GL_LGL_GNULIB_WCSLEN)/g' \
+             -e 's/@''GNULIB_WCSNLEN''@/$(GL_LGL_GNULIB_WCSNLEN)/g' \
+             -e 's/@''GNULIB_WCSCPY''@/$(GL_LGL_GNULIB_WCSCPY)/g' \
+             -e 's/@''GNULIB_WCPCPY''@/$(GL_LGL_GNULIB_WCPCPY)/g' \
+             -e 's/@''GNULIB_WCSNCPY''@/$(GL_LGL_GNULIB_WCSNCPY)/g' \
+             -e 's/@''GNULIB_WCPNCPY''@/$(GL_LGL_GNULIB_WCPNCPY)/g' \
+             -e 's/@''GNULIB_WCSCAT''@/$(GL_LGL_GNULIB_WCSCAT)/g' \
+             -e 's/@''GNULIB_WCSNCAT''@/$(GL_LGL_GNULIB_WCSNCAT)/g' \
+             -e 's/@''GNULIB_WCSCMP''@/$(GL_LGL_GNULIB_WCSCMP)/g' \
+             -e 's/@''GNULIB_WCSNCMP''@/$(GL_LGL_GNULIB_WCSNCMP)/g' \
+             -e 's/@''GNULIB_WCSCASECMP''@/$(GL_LGL_GNULIB_WCSCASECMP)/g' \
+             -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_LGL_GNULIB_WCSNCASECMP)/g' \
+             -e 's/@''GNULIB_WCSCOLL''@/$(GL_LGL_GNULIB_WCSCOLL)/g' \
+             -e 's/@''GNULIB_WCSXFRM''@/$(GL_LGL_GNULIB_WCSXFRM)/g' \
+             -e 's/@''GNULIB_WCSDUP''@/$(GL_LGL_GNULIB_WCSDUP)/g' \
+             -e 's/@''GNULIB_WCSCHR''@/$(GL_LGL_GNULIB_WCSCHR)/g' \
+             -e 's/@''GNULIB_WCSRCHR''@/$(GL_LGL_GNULIB_WCSRCHR)/g' \
+             -e 's/@''GNULIB_WCSCSPN''@/$(GL_LGL_GNULIB_WCSCSPN)/g' \
+             -e 's/@''GNULIB_WCSSPN''@/$(GL_LGL_GNULIB_WCSSPN)/g' \
+             -e 's/@''GNULIB_WCSPBRK''@/$(GL_LGL_GNULIB_WCSPBRK)/g' \
+             -e 's/@''GNULIB_WCSSTR''@/$(GL_LGL_GNULIB_WCSSTR)/g' \
+             -e 's/@''GNULIB_WCSTOK''@/$(GL_LGL_GNULIB_WCSTOK)/g' \
+             -e 's/@''GNULIB_WCSWIDTH''@/$(GL_LGL_GNULIB_WCSWIDTH)/g' \
+             -e 's/@''GNULIB_WCSFTIME''@/$(GL_LGL_GNULIB_WCSFTIME)/g' \
+             -e 's/@''GNULIB_WGETCWD''@/$(GL_LGL_GNULIB_WGETCWD)/g' \
+             -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_LGL_GNULIB_MDA_WCSDUP)/g' \
+             -e 's/@''GNULIB_FREE_POSIX''@/$(GL_LGL_GNULIB_FREE_POSIX)/g' \
+             < $(srcdir)/wchar.in.h > $@-t1
+       $(AM_V_at)sed \
+             -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+             -e 's|@''HAVE_WMEMPCPY''@|$(HAVE_WMEMPCPY)|g' \
+             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+             -e 's|@''HAVE_WCSFTIME''@|$(HAVE_WCSFTIME)|g' \
+             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+             -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \
+             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+             < $@-t1 > $@-t2
+       $(AM_V_at)sed \
+             -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+             -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
+             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+             -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \
+             -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \
+             -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \
+             -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \
+             -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \
+             -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \
+             -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $@-t2 > $@-t3
+       $(AM_V_at)rm -f $@-t1 $@-t2
+       $(AM_V_at)mv $@-t3 $@
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \
@@ -1842,6 +3082,10 @@ mostlyclean-local: mostlyclean-generic
          fi; \
        done; \
        :
+distclean-local: distclean-gnulib-libobjs
+distclean-gnulib-libobjs:
+       -rm -f @lgl_LIBOBJDEPS@
+maintainer-clean-local: distclean-gnulib-libobjs
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/lib/gl/_Noreturn.h b/lib/gl/_Noreturn.h
new file mode 100644 (file)
index 0000000..7326bd4
--- /dev/null
@@ -0,0 +1,50 @@
+/* A C macro for declaring that a function does not return.
+   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif (defined __clang__ && __clang_major__ < 16 \
+        && defined _GL_WORK_AROUND_LLVM_BUG_59792)
+   /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around
+      that rare LLVM bug, though you may get many false-alarm warnings.  */
+#  define _Noreturn
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \
+        || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
diff --git a/lib/gl/arg-nonnull.h b/lib/gl/arg-nonnull.h
new file mode 100644 (file)
index 0000000..46c711c
--- /dev/null
@@ -0,0 +1,26 @@
+/* A C macro for declaring that specific arguments must not be NULL.
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
+   that the values passed as arguments n, ..., m must be non-NULL pointers.
+   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
+#ifndef _GL_ARG_NONNULL
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
+#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
+# else
+#  define _GL_ARG_NONNULL(params)
+# endif
+#endif
diff --git a/lib/gl/attribute.h b/lib/gl/attribute.h
new file mode 100644 (file)
index 0000000..710341b
--- /dev/null
@@ -0,0 +1,243 @@
+/* ATTRIBUTE_* macros for using attributes in GCC and similar compilers
+
+   Copyright 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* Provide public ATTRIBUTE_* names for the private _GL_ATTRIBUTE_*
+   macros used within Gnulib.  */
+
+/* These attributes can be placed in two ways:
+     - At the start of a declaration (i.e. even before storage-class
+       specifiers!); then they apply to all entities that are declared
+       by the declaration.
+     - Immediately after the name of an entity being declared by the
+       declaration; then they apply to that entity only.  */
+
+#ifndef _GL_ATTRIBUTE_H
+#define _GL_ATTRIBUTE_H
+
+
+/* This file defines two types of attributes:
+   * C23 standard attributes.  These have macro names that do not begin with
+     'ATTRIBUTE_'.
+   * Selected GCC attributes; see:
+     https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
+     https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html
+     https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html
+     These names begin with 'ATTRIBUTE_' to avoid name clashes.  */
+
+
+/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_ALWAYS_INLINE,
+   _GL_ATTRIBUTE_ARTIFICIAL, _GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_CONST,
+   _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR,
+   _GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE,
+   _GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_LEAF,
+   _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_MAY_ALIAS, _GL_ATTRIBUTE_MAYBE_UNUSED,
+   _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE, _GL_ATTRIBUTE_NONNULL,
+   _GL_ATTRIBUTE_NONSTRING, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED,
+   _GL_ATTRIBUTE_PURE, _GL_ATTRIBUTE_RETURNS_NONNULL,
+   _GL_ATTRIBUTE_SENTINEL.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
+/* =============== Attributes for specific kinds of functions =============== */
+
+/* Attributes for functions that should not be used.  */
+
+/* Warn if the entity is used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: namespace, class, template specialization.  */
+#define DEPRECATED _GL_ATTRIBUTE_DEPRECATED
+
+/* If a function call is not optimized way, warn with MSG.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_WARNING(msg) _GL_ATTRIBUTE_WARNING (msg)
+
+/* If a function call is not optimized way, report an error with MSG.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_ERROR(msg) _GL_ATTRIBUTE_ERROR (msg)
+
+
+/* Attributes for memory-allocating functions.  */
+
+/* The function returns a pointer to freshly allocated memory.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_MALLOC _GL_ATTRIBUTE_MALLOC
+
+/* ATTRIBUTE_ALLOC_SIZE ((N)) - The Nth argument of the function
+   is the size of the returned memory block.
+   ATTRIBUTE_ALLOC_SIZE ((M, N)) - Multiply the Mth and Nth arguments
+   to determine the size of the returned memory block.  */
+/* Applies to: function, pointer to function, function types.  */
+#define ATTRIBUTE_ALLOC_SIZE(args) _GL_ATTRIBUTE_ALLOC_SIZE (args)
+
+/* ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.
+   ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#define ATTRIBUTE_DEALLOC(f, i) _GL_ATTRIBUTE_DEALLOC(f, i)
+#define ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC_FREE
+
+/* Attributes for variadic functions.  */
+
+/* The variadic function expects a trailing NULL argument.
+   ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
+   ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_SENTINEL(pos) _GL_ATTRIBUTE_SENTINEL (pos)
+
+
+/* ================== Attributes for compiler diagnostics ================== */
+
+/* Attributes that help the compiler diagnose programmer mistakes.
+   Some of them may also help for some compiler optimizations.  */
+
+/* ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) -
+   The STRING-INDEXth function argument is a format string of style
+   ARCHETYPE, which is one of:
+     printf, gnu_printf
+     scanf, gnu_scanf,
+     strftime, gnu_strftime,
+     strfmon,
+   or the same thing prefixed and suffixed with '__'.
+   If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
+   are suitable for the format string.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_FORMAT(spec) _GL_ATTRIBUTE_FORMAT (spec)
+
+/* ATTRIBUTE_NONNULL ((N1, N2,...)) - Arguments N1, N2,... must not be NULL.
+   ATTRIBUTE_NONNULL () - All pointer arguments must not be null.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_NONNULL(args) _GL_ATTRIBUTE_NONNULL (args)
+
+/* The function's return value is a non-NULL pointer.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_RETURNS_NONNULL _GL_ATTRIBUTE_RETURNS_NONNULL
+
+/* Warn if the caller does not use the return value,
+   unless the caller uses something like ignore_value.  */
+/* Applies to: function, enumeration, class.  */
+#define NODISCARD _GL_ATTRIBUTE_NODISCARD
+
+
+/* Attributes that disable false alarms when the compiler diagnoses
+   programmer "mistakes".  */
+
+/* Do not warn if the entity is not used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: class.  */
+#define MAYBE_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
+
+/* The contents of a character array is not meant to be NUL-terminated.  */
+/* Applies to: struct/union members and variables that are arrays of element
+   type '[[un]signed] char'.  */
+#define ATTRIBUTE_NONSTRING _GL_ATTRIBUTE_NONSTRING
+
+/* Do not warn if control flow falls through to the immediately
+   following 'case' or 'default' label.  */
+/* Applies to: Empty statement (;), inside a 'switch' statement.  */
+#define FALLTHROUGH _GL_ATTRIBUTE_FALLTHROUGH
+
+
+/* ================== Attributes for debugging information ================== */
+
+/* Attributes regarding debugging information emitted by the compiler.  */
+
+/* Omit the function from stack traces when debugging.  */
+/* Applies to: function.  */
+#define ATTRIBUTE_ARTIFICIAL _GL_ATTRIBUTE_ARTIFICIAL
+
+/* Make the entity visible to debuggers etc., even with '-fwhole-program'.  */
+/* Applies to: functions, variables.  */
+#define ATTRIBUTE_EXTERNALLY_VISIBLE _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+
+
+/* ========== Attributes that mainly direct compiler optimizations ========== */
+
+/* The function does not throw exceptions.  */
+/* Applies to: functions.  */
+/* After a function's parameter list, this attribute must come first, before
+   other attributes.  */
+#define ATTRIBUTE_NOTHROW _GL_ATTRIBUTE_NOTHROW
+
+/* Do not inline the function.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_NOINLINE _GL_ATTRIBUTE_NOINLINE
+
+/* Always inline the function, and report an error if the compiler
+   cannot inline.  */
+/* Applies to: function.  */
+#define ATTRIBUTE_ALWAYS_INLINE _GL_ATTRIBUTE_ALWAYS_INLINE
+
+/* It is OK for a compiler to omit duplicate calls with the same arguments.
+   This attribute is safe for a function that neither depends on
+   nor affects observable state, and always returns exactly once -
+   e.g., does not loop forever, and does not call longjmp.
+   (This attribute is stricter than ATTRIBUTE_PURE.)  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_CONST _GL_ATTRIBUTE_CONST
+
+/* It is OK for a compiler to omit duplicate calls with the same
+   arguments if observable state is not changed between calls.
+   This attribute is safe for a function that does not affect
+   observable state, and always returns exactly once.
+   (This attribute is looser than ATTRIBUTE_CONST.)  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_PURE _GL_ATTRIBUTE_PURE
+
+/* The function is rarely executed.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_COLD _GL_ATTRIBUTE_COLD
+
+/* If called from some other compilation unit, the function executes
+   code from that unit only by return or by exception handling,
+   letting the compiler optimize that unit more aggressively.  */
+/* Applies to: functions.  */
+#define ATTRIBUTE_LEAF _GL_ATTRIBUTE_LEAF
+
+/* For struct members: The member has the smallest possible alignment.
+   For struct, union, class: All members have the smallest possible alignment,
+   minimizing the memory required.  */
+/* Applies to: struct members, struct, union,
+   in C++ also: class.  */
+#define ATTRIBUTE_PACKED _GL_ATTRIBUTE_PACKED
+
+
+/* ================ Attributes that make invalid code valid ================ */
+
+/* Attributes that prevent fatal compiler optimizations for code that is not
+   fully ISO C compliant.  */
+
+/* Pointers to the type may point to the same storage as pointers to
+   other types, thus disabling strict aliasing optimization.  */
+/* Applies to: types.  */
+#define ATTRIBUTE_MAY_ALIAS _GL_ATTRIBUTE_MAY_ALIAS
+
+
+#endif /* _GL_ATTRIBUTE_H */
diff --git a/lib/gl/c++defs.h b/lib/gl/c++defs.h
new file mode 100644 (file)
index 0000000..eb66967
--- /dev/null
@@ -0,0 +1,337 @@
+/* C++ compatible function declaration macros.
+   Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _GL_CXXDEFS_H
+#define _GL_CXXDEFS_H
+
+/* Begin/end the GNULIB_NAMESPACE namespace.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
+# define _GL_END_NAMESPACE }
+#else
+# define _GL_BEGIN_NAMESPACE
+# define _GL_END_NAMESPACE
+#endif
+
+/* The three most frequent use cases of these macros are:
+
+   * For providing a substitute for a function that is missing on some
+     platforms, but is declared and works fine on the platforms on which
+     it exists:
+
+       #if @GNULIB_FOO@
+       # if !@HAVE_FOO@
+       _GL_FUNCDECL_SYS (foo, ...);
+       # endif
+       _GL_CXXALIAS_SYS (foo, ...);
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+
+   * For providing a replacement for a function that exists on all platforms,
+     but is broken/insufficient and needs to be replaced on some platforms:
+
+       #if @GNULIB_FOO@
+       # if @REPLACE_FOO@
+       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+       #   undef foo
+       #   define foo rpl_foo
+       #  endif
+       _GL_FUNCDECL_RPL (foo, ...);
+       _GL_CXXALIAS_RPL (foo, ...);
+       # else
+       _GL_CXXALIAS_SYS (foo, ...);
+       # endif
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+
+   * For providing a replacement for a function that exists on some platforms
+     but is broken/insufficient and needs to be replaced on some of them and
+     is additionally either missing or undeclared on some other platforms:
+
+       #if @GNULIB_FOO@
+       # if @REPLACE_FOO@
+       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+       #   undef foo
+       #   define foo rpl_foo
+       #  endif
+       _GL_FUNCDECL_RPL (foo, ...);
+       _GL_CXXALIAS_RPL (foo, ...);
+       # else
+       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
+       _GL_FUNCDECL_SYS (foo, ...);
+       #  endif
+       _GL_CXXALIAS_SYS (foo, ...);
+       # endif
+       _GL_CXXALIASWARN (foo);
+       #elif defined GNULIB_POSIXCHECK
+       ...
+       #endif
+*/
+
+/* _GL_EXTERN_C declaration;
+   performs the declaration with C linkage.  */
+#if defined __cplusplus
+# define _GL_EXTERN_C extern "C"
+#else
+# define _GL_EXTERN_C extern
+#endif
+
+/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
+   declares a replacement function, named rpl_func, with the given prototype,
+   consisting of return type, parameters, and attributes.
+   Example:
+     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
+                                  _GL_ARG_NONNULL ((1)));
+
+   Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front
+   of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode.  (That's
+   because
+     [[...]] extern "C" <declaration>;
+   is invalid syntax in C++.)
+ */
+#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
+  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
+#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
+  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
+
+/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
+   declares the system function, named func, with the given prototype,
+   consisting of return type, parameters, and attributes.
+   Example:
+     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
+                                  _GL_ARG_NONNULL ((1)));
+ */
+#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
+  _GL_EXTERN_C rettype func parameters_and_attributes
+
+/* _GL_CXXALIAS_RPL (func, rettype, parameters);
+   declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
+   Example:
+     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+
+   Wrapping rpl_func in an object with an inline conversion operator
+   avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
+#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                                \
+    {                                                         \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::rpl_func;                                  \
+        }                                                     \
+      } func = {};                                            \
+    }                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_MDA (func, rettype, parameters);
+   is to be used when func is a Microsoft deprecated alias, on native Windows.
+   It declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to _func, if GNULIB_NAMESPACE is defined.
+   Example:
+     _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
+ */
+#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
+
+/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
+   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
+   except that the C function rpl_func may have a slightly different
+   declaration.  A cast is used to silence the "invalid conversion" error
+   that would otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                                     \
+    {                                                              \
+      static const struct _gl_ ## func ## _wrapper                 \
+      {                                                            \
+        typedef rettype (*type) parameters;                        \
+                                                                   \
+        inline operator type () const                              \
+        {                                                          \
+          return reinterpret_cast<type>(::rpl_func);               \
+        }                                                          \
+      } func = {};                                                 \
+    }                                                              \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
+   is like  _GL_CXXALIAS_MDA (func, rettype, parameters);
+   except that the C function func may have a slightly different declaration.
+   A cast is used to silence the "invalid conversion" error that would
+   otherwise occur.  */
+#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
+  _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
+
+/* _GL_CXXALIAS_SYS (func, rettype, parameters);
+   declares a C++ alias called GNULIB_NAMESPACE::func
+   that redirects to the system provided function func, if GNULIB_NAMESPACE
+   is defined.
+   Example:
+     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+
+   Wrapping func in an object with an inline conversion operator
+   avoids a reference to func unless GNULIB_NAMESPACE::func is
+   actually used in the program.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_SYS(func,rettype,parameters)            \
+    namespace GNULIB_NAMESPACE                                \
+    {                                                         \
+      static const struct _gl_ ## func ## _wrapper            \
+      {                                                       \
+        typedef rettype (*type) parameters;                   \
+                                                              \
+        inline operator type () const                         \
+        {                                                     \
+          return ::func;                                      \
+        }                                                     \
+      } func = {};                                            \
+    }                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
+   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+   except that the C function func may have a slightly different declaration.
+   A cast is used to silence the "invalid conversion" error that would
+   otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+    namespace GNULIB_NAMESPACE                          \
+    {                                                   \
+      static const struct _gl_ ## func ## _wrapper      \
+      {                                                 \
+        typedef rettype (*type) parameters;             \
+                                                        \
+        inline operator type () const                   \
+        {                                               \
+          return reinterpret_cast<type>(::func);        \
+        }                                               \
+      } func = {};                                      \
+    }                                                   \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
+   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
+   except that the C function is picked among a set of overloaded functions,
+   namely the one with rettype2 and parameters2.  Two consecutive casts
+   are used to silence the "cannot find a match" and "invalid conversion"
+   errors that would otherwise occur.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+  /* The outer cast must be a reinterpret_cast.
+     The inner cast: When the function is defined as a set of overloaded
+     functions, it works as a static_cast<>, choosing the designated variant.
+     When the function is defined as a single variant, it works as a
+     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+    namespace GNULIB_NAMESPACE                                                \
+    {                                                                         \
+      static const struct _gl_ ## func ## _wrapper                            \
+      {                                                                       \
+        typedef rettype (*type) parameters;                                   \
+                                                                              \
+        inline operator type () const                                         \
+        {                                                                     \
+          return reinterpret_cast<type>((rettype2 (*) parameters2)(::func));  \
+        }                                                                     \
+      } func = {};                                                            \
+    }                                                                         \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN (func);
+   causes a warning to be emitted when ::func is used but not when
+   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
+   variants.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN(func) \
+   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN_1(func,namespace) \
+   _GL_CXXALIASWARN_2 (func, namespace)
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+   we enable the warning only when not optimizing.  */
+# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+    _GL_WARN_ON_USE (func, \
+                     "The symbol ::" #func " refers to the system function. " \
+                     "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+     extern __typeof__ (func) func
+# else
+#  define _GL_CXXALIASWARN_2(func,namespace) \
+     _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN(func) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
+   causes a warning to be emitted when the given overloaded variant of ::func
+   is used but not when GNULIB_NAMESPACE::func is used.  */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
+                        GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
+   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
+/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+   we enable the warning only when not optimizing.  */
+# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
+#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+    _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
+                         "The symbol ::" #func " refers to the system function. " \
+                         "Use " #namespace "::" #func " instead.")
+# else
+#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+     _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+    _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+#endif /* _GL_CXXDEFS_H */
index 2506d02..d3f1b12 100644 (file)
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2003-2024 Free Software Foundation, Inc.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 2.1 of the License, or
-(at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+   This file 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 Lesser General Public License for more details.
 
-You should have received a copy of the GNU Lesser General Public License
-along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
-/* Specification.  */
-#define NO_C_CTYPE_MACROS
+#define C_CTYPE_INLINE _GL_EXTERN_INLINE
 #include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
-   questionable. */
-bool
-c_isascii (int c)
-{
-  return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'Z')
-          || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
-  return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
-  return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 0;
-    default:
-      return 1;
-    }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
-  return (c >= '0' && c <= '9');
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z');
-#else
-  switch (c)
-    {
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= '!' && c <= '~');
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= ' ' && c <= '~');
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c >= '!' && c <= '~')
-          && !((c >= '0' && c <= '9')
-               || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
-  return (c == ' ' || c == '\t'
-          || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-  return (c >= 'A' && c <= 'Z');
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'F')
-          || (c >= 'a' && c <= 'f'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
-  switch (c)
-    {
-    case 'A': return 'a';
-    case 'B': return 'b';
-    case 'C': return 'c';
-    case 'D': return 'd';
-    case 'E': return 'e';
-    case 'F': return 'f';
-    case 'G': return 'g';
-    case 'H': return 'h';
-    case 'I': return 'i';
-    case 'J': return 'j';
-    case 'K': return 'k';
-    case 'L': return 'l';
-    case 'M': return 'm';
-    case 'N': return 'n';
-    case 'O': return 'o';
-    case 'P': return 'p';
-    case 'Q': return 'q';
-    case 'R': return 'r';
-    case 'S': return 's';
-    case 'T': return 't';
-    case 'U': return 'u';
-    case 'V': return 'v';
-    case 'W': return 'w';
-    case 'X': return 'x';
-    case 'Y': return 'y';
-    case 'Z': return 'z';
-    default: return c;
-    }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
-  switch (c)
-    {
-    case 'a': return 'A';
-    case 'b': return 'B';
-    case 'c': return 'C';
-    case 'd': return 'D';
-    case 'e': return 'E';
-    case 'f': return 'F';
-    case 'g': return 'G';
-    case 'h': return 'H';
-    case 'i': return 'I';
-    case 'j': return 'J';
-    case 'k': return 'K';
-    case 'l': return 'L';
-    case 'm': return 'M';
-    case 'n': return 'N';
-    case 'o': return 'O';
-    case 'p': return 'P';
-    case 'q': return 'Q';
-    case 'r': return 'R';
-    case 's': return 'S';
-    case 't': return 'T';
-    case 'u': return 'U';
-    case 'v': return 'V';
-    case 'w': return 'W';
-    case 'x': return 'X';
-    case 'y': return 'Y';
-    case 'z': return 'Z';
-    default: return c;
-    }
-#endif
-}
index cad6797..b582de4 100644 (file)
@@ -5,26 +5,33 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2012 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2024 Free Software Foundation, Inc.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 2.1 of the License, or
-(at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+   This file 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 Lesser General Public License for more details.
 
-You should have received a copy of the GNU Lesser General Public License
-along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef C_CTYPE_H
 #define C_CTYPE_H
 
-#include <stdbool.h>
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef C_CTYPE_INLINE
+# define C_CTYPE_INLINE _GL_INLINE
+#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -39,38 +46,6 @@ extern "C" {
    characters.  */
 
 
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
-   '0', '1', ..., '9' have consecutive integer values.  */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
-    && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
-    && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
-    && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
-    && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
-    && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
-    && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
-    && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
-    && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
-    && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
-    && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
-    && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
-    && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
-    && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
-    && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
-    && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
-    && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
-    && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
-    && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
 #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
     && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
     && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
@@ -96,11 +71,84 @@ extern "C" {
     && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
 /* The character set is ASCII or one of its variants or extensions, not EBCDIC.
    Testing the value of '\n' and '\r' is not relevant.  */
-#define C_CTYPE_ASCII 1
+# define C_CTYPE_ASCII 1
+#elif ! (' ' == '\x40' && '0' == '\xf0'                     \
+         && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
+         && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
+# error "Only ASCII and EBCDIC are supported"
 #endif
 
+#if 'A' < 0
+# error "EBCDIC and char is signed -- not supported"
+#endif
+
+/* Cases for control characters.  */
+
+#define _C_CTYPE_CNTRL \
+   case '\a': case '\b': case '\f': case '\n': \
+   case '\r': case '\t': case '\v': \
+   _C_CTYPE_OTHER_CNTRL
+
+/* ASCII control characters other than those with \-letter escapes.  */
+
+#if C_CTYPE_ASCII
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x04': case '\x05': case '\x06': case '\x0e': \
+    case '\x0f': case '\x10': case '\x11': case '\x12': \
+    case '\x13': case '\x14': case '\x15': case '\x16': \
+    case '\x17': case '\x18': case '\x19': case '\x1a': \
+    case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x7f'
+#else
+   /* Use EBCDIC code page 1047's assignments for ASCII control chars;
+      assume all EBCDIC code pages agree about these assignments.  */
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x07': case '\x0e': case '\x0f': case '\x10': \
+    case '\x11': case '\x12': case '\x13': case '\x18': \
+    case '\x19': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x26': case '\x27': case '\x2d': \
+    case '\x2e': case '\x32': case '\x37': case '\x3c': \
+    case '\x3d': case '\x3f'
+#endif
 
-/* Function declarations. */
+/* Cases for lowercase hex letters, and lowercase letters, all offset by N.  */
+
+#define _C_CTYPE_LOWER_A_THRU_F_N(N) \
+   case 'a' + (N): case 'b' + (N): case 'c' + (N): case 'd' + (N): \
+   case 'e' + (N): case 'f' + (N)
+#define _C_CTYPE_LOWER_N(N) \
+   _C_CTYPE_LOWER_A_THRU_F_N(N): \
+   case 'g' + (N): case 'h' + (N): case 'i' + (N): case 'j' + (N): \
+   case 'k' + (N): case 'l' + (N): case 'm' + (N): case 'n' + (N): \
+   case 'o' + (N): case 'p' + (N): case 'q' + (N): case 'r' + (N): \
+   case 's' + (N): case 't' + (N): case 'u' + (N): case 'v' + (N): \
+   case 'w' + (N): case 'x' + (N): case 'y' + (N): case 'z' + (N)
+
+/* Cases for hex letters, digits, lower, punct, and upper.  */
+
+#define _C_CTYPE_A_THRU_F \
+   _C_CTYPE_LOWER_A_THRU_F_N (0): \
+   _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
+#define _C_CTYPE_DIGIT                     \
+   case '0': case '1': case '2': case '3': \
+   case '4': case '5': case '6': case '7': \
+   case '8': case '9'
+#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
+#define _C_CTYPE_PUNCT \
+   case '!': case '"': case '#': case '$':  \
+   case '%': case '&': case '\'': case '(': \
+   case ')': case '*': case '+': case ',':  \
+   case '-': case '.': case '/': case ':':  \
+   case ';': case '<': case '=': case '>':  \
+   case '?': case '@': case '[': case '\\': \
+   case ']': case '^': case '_': case '`':  \
+   case '{': case '|': case '}': case '~'
+#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
+
+
+/* Function definitions.  */
 
 /* Unlike the functions in <ctype.h>, which require an argument in the range
    of the 'unsigned char' type, the functions here operate on values that are
@@ -117,178 +165,202 @@ extern "C" {
          if (c_isalpha (*s)) ...
  */
 
-extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
-
-extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
-
-extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
-extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
-
-
-#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
-  ({ int __c = (c); \
-     (__c >= 0x00 && __c <= 0x7f); \
-   })
+C_CTYPE_INLINE bool
+c_isalnum (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
-   })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'Z') \
-      || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isalpha (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
-   })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+/* The function isascii is not locale dependent.
+   Its use in EBCDIC is questionable. */
+C_CTYPE_INLINE bool
+c_isascii (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_CNTRL:
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isblank
-#define c_isblank(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t'); \
-   })
+C_CTYPE_INLINE bool
+c_isblank (int c)
+{
+  return c == ' ' || c == '\t';
+}
 
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x1f) == 0 || __c == 0x7f); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_iscntrl (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_CNTRL:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
-  ({ int __c = (c); \
-     (__c >= '0' && __c <= '9'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isgraph (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
-  ({ int __c = (c); \
-     (__c >= '!' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_islower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
-  ({ int __c = (c); \
-     (__c >= ' ' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isprint (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
-  ({ int _c = (c); \
-     (c_isgraph (_c) && ! c_isalnum (_c)); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_ispunct (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_PUNCT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isspace
-#define c_isspace(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t' \
-      || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
-   })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isspace (int c)
+{
+  switch (c)
+    {
+    case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
-   })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'F') \
-      || (__c >= 'a' && __c <= 'f')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
-   })
-#undef c_toupper
-#define c_toupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isxdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_A_THRU_F:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#endif /* optimizing for speed */
+C_CTYPE_INLINE int
+c_tolower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return c - 'A' + 'a';
+    default:
+      return c;
+    }
+}
 
+C_CTYPE_INLINE int
+c_toupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return c - 'a' + 'A';
+    default:
+      return c;
+    }
+}
 
 #ifdef __cplusplus
 }
 #endif
 
+_GL_INLINE_HEADER_END
+
 #endif /* C_CTYPE_H */
index e1385ce..b75e8dd 100644 (file)
@@ -1,23 +1,28 @@
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2012 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2024 Free Software
    Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef C_STRCASE_H
 #define C_STRCASE_H
 
+/* This file uses _GL_ATTRIBUTE_PURE.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 #include <stddef.h>
 
 
index a291207..1fa575a 100644 (file)
@@ -1,18 +1,18 @@
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -52,5 +52,5 @@ c_strcasecmp (const char *s1, const char *s2)
     /* On machines where 'char' and 'int' are types of the same size, the
        difference of two 'unsigned char' values - including the sign bit -
        doesn't fit in an 'int'.  */
-    return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);
+    return _GL_CMP (c1, c2);
 }
index 878d6e0..4c8b0b6 100644 (file)
@@ -1,18 +1,18 @@
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -52,5 +52,5 @@ c_strncasecmp (const char *s1, const char *s2, size_t n)
     /* On machines where 'char' and 'int' are types of the same size, the
        difference of two 'unsigned char' values - including the sign bit -
        doesn't fit in an 'int'.  */
-    return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);
+    return _GL_CMP (c1, c2);
 }
diff --git a/lib/gl/cdefs.h b/lib/gl/cdefs.h
new file mode 100644 (file)
index 0000000..87ddce3
--- /dev/null
@@ -0,0 +1,715 @@
+/* Copyright (C) 1992-2024 Free Software Foundation, Inc.
+   Copyright The GNU Toolchain Authors.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef        _SYS_CDEFS_H
+#define        _SYS_CDEFS_H    1
+
+/* We are almost always included from features.h. */
+#ifndef _FEATURES_H
+# include <features.h>
+#endif
+
+/* The GNU libc does not support any K&R compilers or the traditional mode
+   of ISO C compilers anymore.  Check for some of the combinations not
+   supported anymore.  */
+#if defined __GNUC__ && !defined __STDC__
+# error "You need a ISO C conforming compiler to use the glibc headers"
+#endif
+
+/* Some user header file might have defined this before.  */
+#undef __P
+#undef __PMT
+
+/* Compilers that lack __has_attribute may object to
+       #if defined __has_attribute && __has_attribute (...)
+   even though they do not need to evaluate the right-hand side of the &&.
+   Similarly for __has_builtin, etc.  */
+#if (defined __has_attribute \
+     && (!defined __clang_minor__ \
+         || (defined __apple_build_version__ \
+             ? 6000000 <= __apple_build_version__ \
+             : 3 < __clang_major__ + (5 <= __clang_minor__))))
+# define __glibc_has_attribute(attr) __has_attribute (attr)
+#else
+# define __glibc_has_attribute(attr) 0
+#endif
+#ifdef __has_builtin
+# define __glibc_has_builtin(name) __has_builtin (name)
+#else
+# define __glibc_has_builtin(name) 0
+#endif
+#ifdef __has_extension
+# define __glibc_has_extension(ext) __has_extension (ext)
+#else
+# define __glibc_has_extension(ext) 0
+#endif
+
+#if defined __GNUC__ || defined __clang__
+
+/* All functions, except those with callbacks or those that
+   synchronize memory, are leaf functions.  */
+# if __GNUC_PREREQ (4, 6) && !defined _LIBC
+#  define __LEAF , __leaf__
+#  define __LEAF_ATTR __attribute__ ((__leaf__))
+# else
+#  define __LEAF
+#  define __LEAF_ATTR
+# endif
+
+/* GCC can always grok prototypes.  For C++ programs we add throw()
+   to help it optimize the function calls.  But this only works with
+   gcc 2.8.x and egcs.  For gcc 3.4 and up we even mark C functions
+   as non-throwing using a function attribute since programs can use
+   the -fexceptions options for C code as well.  */
+# if !defined __cplusplus \
+     && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__))
+#  define __THROW      __attribute__ ((__nothrow__ __LEAF))
+#  define __THROWNL    __attribute__ ((__nothrow__))
+#  define __NTH(fct)   __attribute__ ((__nothrow__ __LEAF)) fct
+#  define __NTHNL(fct)  __attribute__ ((__nothrow__)) fct
+# else
+#  if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4)
+#   if __cplusplus >= 201103L
+#    define __THROW    noexcept (true)
+#   else
+#    define __THROW    throw ()
+#   endif
+#   define __THROWNL   __THROW
+#   define __NTH(fct)  __LEAF_ATTR fct __THROW
+#   define __NTHNL(fct) fct __THROW
+#  else
+#   define __THROW
+#   define __THROWNL
+#   define __NTH(fct)  fct
+#   define __NTHNL(fct) fct
+#  endif
+# endif
+
+#else  /* Not GCC or clang.  */
+
+# if (defined __cplusplus                                              \
+      || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+#  define __inline     inline
+# else
+#  define __inline             /* No inline functions.  */
+# endif
+
+# define __THROW
+# define __THROWNL
+# define __NTH(fct)    fct
+
+#endif /* GCC || clang.  */
+
+/* These two macros are not used in glibc anymore.  They are kept here
+   only because some other projects expect the macros to be defined.  */
+#define __P(args)      args
+#define __PMT(args)    args
+
+/* For these things, GCC behaves the ANSI way normally,
+   and the non-ANSI way under -traditional.  */
+
+#define __CONCAT(x,y)  x ## y
+#define __STRING(x)    #x
+
+/* This is not a typedef so `const __ptr_t' does the right thing.  */
+#define __ptr_t void *
+
+
+/* C++ needs to know that types and declarations are C, not C++.  */
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS   }
+#else
+# define __BEGIN_DECLS
+# define __END_DECLS
+#endif
+
+
+/* Gnulib avoids these definitions, as they don't work on non-glibc platforms.
+   In particular, __bos and __bos0 are defined differently in the Android libc.
+ */
+#ifndef __GNULIB_CDEFS
+
+/* Fortify support.  */
+# define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+# define __bos0(ptr) __builtin_object_size (ptr, 0)
+
+/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available.  */
+# if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0)                \
+                                 || __GNUC_PREREQ (12, 0))
+#  define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0)
+#  define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1)
+# else
+#  define __glibc_objsize0(__o) __bos0 (__o)
+#  define __glibc_objsize(__o) __bos (__o)
+# endif
+
+/* Compile time conditions to choose between the regular, _chk and _chk_warn
+   variants.  These conditions should get evaluated to constant and optimized
+   away.  */
+
+# define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s))
+# define __glibc_unsigned_or_positive(__l) \
+  ((__typeof (__l)) 0 < (__typeof (__l)) -1                                  \
+   || (__builtin_constant_p (__l) && (__l) > 0))
+
+/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ
+   condition can be folded to a constant and if it is true, or unknown (-1) */
+# define __glibc_safe_or_unknown_len(__l, __s, __osz) \
+  ((__osz) == (__SIZE_TYPE__) -1                                             \
+   || (__glibc_unsigned_or_positive (__l)                                    \
+       && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
+                                                      (__s), (__osz)))       \
+       && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz))))
+
+/* Conversely, we know at compile time that the length is unsafe if the
+   __L * __S <= __OBJSZ condition can be folded to a constant and if it is
+   false.  */
+# define __glibc_unsafe_len(__l, __s, __osz) \
+  (__glibc_unsigned_or_positive (__l)                                        \
+   && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l),     \
+                                                  __s, __osz))               \
+   && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
+
+/* Fortify function f.  __f_alias, __f_chk and __f_chk_warn must be
+   declared.  */
+
+# define __glibc_fortify(f, __l, __s, __osz, ...) \
+  (__glibc_safe_or_unknown_len (__l, __s, __osz)                             \
+   ? __ ## f ## _alias (__VA_ARGS__)                                         \
+   : (__glibc_unsafe_len (__l, __s, __osz)                                   \
+      ? __ ## f ## _chk_warn (__VA_ARGS__, __osz)                            \
+      : __ ## f ## _chk (__VA_ARGS__, __osz)))                       \
+
+/* Fortify function f, where object size argument passed to f is the number of
+   elements and not total size.  */
+
+# define __glibc_fortify_n(f, __l, __s, __osz, ...) \
+  (__glibc_safe_or_unknown_len (__l, __s, __osz)                             \
+   ? __ ## f ## _alias (__VA_ARGS__)                                         \
+   : (__glibc_unsafe_len (__l, __s, __osz)                                   \
+      ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s))                  \
+      : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s))))                     \
+
+#endif
+
+
+#if __GNUC_PREREQ (4,3)
+# define __warnattr(msg) __attribute__((__warning__ (msg)))
+# define __errordecl(name, msg) \
+  extern void name (void) __attribute__((__error__ (msg)))
+#else
+# define __warnattr(msg)
+# define __errordecl(name, msg) extern void name (void)
+#endif
+
+/* Support for flexible arrays.
+   Headers that should use flexible arrays only if they're "real"
+   (e.g. only if they won't affect sizeof()) should test
+   #if __glibc_c99_flexarr_available.  */
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
+# define __flexarr     []
+# define __glibc_c99_flexarr_available 1
+#elif __GNUC_PREREQ (2,97) || defined __clang__
+/* GCC 2.97 and clang support C99 flexible array members as an extension,
+   even when in C89 mode or compiling C++ (any version).  */
+# define __flexarr     []
+# define __glibc_c99_flexarr_available 1
+#elif defined __GNUC__
+/* Pre-2.97 GCC did not support C99 flexible arrays but did have
+   an equivalent extension with slightly different notation.  */
+# define __flexarr     [0]
+# define __glibc_c99_flexarr_available 1
+#else
+/* Some other non-C99 compiler.  Approximate with [1].  */
+# define __flexarr     [1]
+# define __glibc_c99_flexarr_available 0
+#endif
+
+
+/* __asm__ ("xyz") is used throughout the headers to rename functions
+   at the assembly language level.  This is wrapped by the __REDIRECT
+   macro, in order to support compilers that can do this some other
+   way.  When compilers don't support asm-names at all, we have to do
+   preprocessor tricks instead (which don't have exactly the right
+   semantics, but it's the best we can do).
+
+   Example:
+   int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
+
+#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4)
+
+# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
+# ifdef __cplusplus
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __THROW __asm__ (__ASMNAME (#alias))
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __THROWNL __asm__ (__ASMNAME (#alias))
+# else
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROW
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROWNL
+# endif
+# define __ASMNAME(cname)  __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
+
+/*
+#elif __SOME_OTHER_COMPILER__
+
+# define __REDIRECT(name, proto, alias) name proto; \
+       _Pragma("let " #name " = " #alias)
+*/
+#endif
+
+/* GCC and clang have various useful declarations that can be made with
+   the '__attribute__' syntax.  All of the ways we use this do fine if
+   they are omitted for compilers that don't understand it.  */
+#if !(defined __GNUC__ || defined __clang__)
+# define __attribute__(xyz)    /* Ignore */
+#endif
+
+/* At some point during the gcc 2.96 development the `malloc' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__)
+# define __attribute_malloc__ __attribute__ ((__malloc__))
+#else
+# define __attribute_malloc__ /* Ignore */
+#endif
+
+/* Tell the compiler which arguments to an allocation function
+   indicate the size of the allocation.  */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(params) \
+  __attribute__ ((__alloc_size__ params))
+#else
+# define __attribute_alloc_size__(params) /* Ignore.  */
+#endif
+
+/* Tell the compiler which argument to an allocation function
+   indicates the alignment of the allocation.  */
+#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__)
+# define __attribute_alloc_align__(param) \
+  __attribute__ ((__alloc_align__ param))
+#else
+# define __attribute_alloc_align__(param) /* Ignore.  */
+#endif
+
+/* At some point during the gcc 2.96 development the `pure' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__)
+# define __attribute_pure__ __attribute__ ((__pure__))
+#else
+# define __attribute_pure__ /* Ignore */
+#endif
+
+/* This declaration tells the compiler that the value is constant.  */
+#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__)
+# define __attribute_const__ __attribute__ ((__const__))
+#else
+# define __attribute_const__ /* Ignore */
+#endif
+
+#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__)
+# define __attribute_maybe_unused__ __attribute__ ((__unused__))
+#else
+# define __attribute_maybe_unused__ /* Ignore */
+#endif
+
+/* At some point during the gcc 3.1 development the `used' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__)
+# define __attribute_used__ __attribute__ ((__used__))
+# define __attribute_noinline__ __attribute__ ((__noinline__))
+#else
+# define __attribute_used__ __attribute__ ((__unused__))
+# define __attribute_noinline__ /* Ignore */
+#endif
+
+/* Since version 3.2, gcc allows marking deprecated functions.  */
+#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__)
+# define __attribute_deprecated__ __attribute__ ((__deprecated__))
+#else
+# define __attribute_deprecated__ /* Ignore */
+#endif
+
+/* Since version 4.5, gcc also allows one to specify the message printed
+   when a deprecated function is used.  clang claims to be gcc 4.2, but
+   may also support this feature.  */
+#if __GNUC_PREREQ (4,5) \
+    || __glibc_has_extension (__attribute_deprecated_with_message__)
+# define __attribute_deprecated_msg__(msg) \
+        __attribute__ ((__deprecated__ (msg)))
+#else
+# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
+#endif
+
+/* At some point during the gcc 2.8 development the `format_arg' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.
+   If several `format_arg' attributes are given for the same function, in
+   gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
+   all designated arguments are considered.  */
+#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__)
+# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
+#else
+# define __attribute_format_arg__(x) /* Ignore */
+#endif
+
+/* At some point during the gcc 2.97 development the `strfmon' format
+   attribute for functions was introduced.  We don't want to use it
+   unconditionally (although this would be possible) since it
+   generates warnings.  */
+#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__)
+# define __attribute_format_strfmon__(a,b) \
+  __attribute__ ((__format__ (__strfmon__, a, b)))
+#else
+# define __attribute_format_strfmon__(a,b) /* Ignore */
+#endif
+
+/* The nonnull function attribute marks pointer parameters that
+   must not be NULL.  This has the name __nonnull in glibc,
+   and __attribute_nonnull__ in files shared with Gnulib to avoid
+   collision with a different __nonnull in DragonFlyBSD 5.9.  */
+#ifndef __attribute_nonnull__
+# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
+#  define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
+# else
+#  define __attribute_nonnull__(params)
+# endif
+#endif
+#ifndef __nonnull
+# define __nonnull(params) __attribute_nonnull__ (params)
+#endif
+
+/* The returns_nonnull function attribute marks the return type of the function
+   as always being non-null.  */
+#ifndef __returns_nonnull
+# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__)
+# define __returns_nonnull __attribute__ ((__returns_nonnull__))
+# else
+# define __returns_nonnull
+# endif
+#endif
+
+/* If fortification mode, we warn about unused results of certain
+   function calls which can lead to problems.  */
+#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__)
+# define __attribute_warn_unused_result__ \
+   __attribute__ ((__warn_unused_result__))
+# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
+#  define __wur __attribute_warn_unused_result__
+# endif
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+#ifndef __wur
+# define __wur /* Ignore */
+#endif
+
+/* Forces a function to be always inlined.  */
+#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__)
+/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
+   it conflicts with this definition.  Therefore undefine it first to
+   allow either header to be included first.  */
+# undef __always_inline
+# define __always_inline __inline __attribute__ ((__always_inline__))
+#else
+# undef __always_inline
+# define __always_inline __inline
+#endif
+
+/* Associate error messages with the source location of the call site rather
+   than with the source location inside the function.  */
+#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__)
+# define __attribute_artificial__ __attribute__ ((__artificial__))
+#else
+# define __attribute_artificial__ /* Ignore */
+#endif
+
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
+   or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+   older than 4.3 may define these macros and still not guarantee GNU inlining
+   semantics.
+
+   clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+   semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+   __GNUC_GNU_INLINE__ macro definitions.  */
+#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
+     || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
+                              || defined __GNUC_GNU_INLINE__)))
+# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+#  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+#  define __extern_always_inline \
+  extern __always_inline __attribute__ ((__gnu_inline__))
+# else
+#  define __extern_inline extern __inline
+#  define __extern_always_inline extern __always_inline
+# endif
+#endif
+
+#ifdef __extern_always_inline
+# define __fortify_function __extern_always_inline __attribute_artificial__
+#endif
+
+/* GCC 4.3 and above allow passing all anonymous arguments of an
+   __extern_always_inline function to some other vararg function.  */
+#if __GNUC_PREREQ (4,3)
+# define __va_arg_pack() __builtin_va_arg_pack ()
+# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+#endif
+
+/* It is possible to compile containing GCC extensions even if GCC is
+   run in pedantic mode if the uses are carefully marked using the
+   `__extension__' keyword.  But this is not generally available before
+   version 2.8.  */
+#if !(__GNUC_PREREQ (2,8) || defined __clang__)
+# define __extension__         /* Ignore */
+#endif
+
+/* __restrict is known in EGCS 1.2 and above, and in clang.
+   It works also in C++ mode (outside of arrays), but only when spelled
+   as '__restrict', not 'restrict'.  */
+#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3)
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#  define __restrict   restrict
+# else
+#  define __restrict   /* Ignore */
+# endif
+#endif
+
+/* ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
+     array_name[restrict]
+   GCC 3.1 and clang support this.
+   This syntax is not usable in C++ mode.  */
+#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus
+# define __restrict_arr        __restrict
+#else
+# ifdef __GNUC__
+#  define __restrict_arr       /* Not supported in old GCC.  */
+# else
+#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#   define __restrict_arr      restrict
+#  else
+/* Some other non-C99 compiler.  */
+#   define __restrict_arr      /* Not supported.  */
+#  endif
+# endif
+#endif
+
+#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect)
+# define __glibc_unlikely(cond)        __builtin_expect ((cond), 0)
+# define __glibc_likely(cond)  __builtin_expect ((cond), 1)
+#else
+# define __glibc_unlikely(cond)        (cond)
+# define __glibc_likely(cond)  (cond)
+#endif
+
+#if (!defined _Noreturn \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     &&  !(__GNUC_PREREQ (4,7) \
+           || (3 < __clang_major__ + (5 <= __clang_minor__))))
+# if __GNUC_PREREQ (2,8)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# else
+#  define _Noreturn
+# endif
+#endif
+
+#if __GNUC_PREREQ (8, 0)
+/* Describes a char array whose address can safely be passed as the first
+   argument to strncpy and strncat, as the char array is not necessarily
+   a NUL-terminated string.  */
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
+#else
+# define __attribute_nonstring__
+#endif
+
+/* Undefine (also defined in libc-symbols.h).  */
+#undef __attribute_copy__
+#if __GNUC_PREREQ (9, 0)
+/* Copies attributes from the declaration or type referenced by
+   the argument.  */
+# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg)))
+#else
+# define __attribute_copy__(arg)
+#endif
+
+#if (!defined _Static_assert && !defined __cplusplus \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \
+         || defined __STRICT_ANSI__))
+# define _Static_assert(expr, diagnostic) \
+    extern int (*__Static_assert_function (void)) \
+      [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
+#endif
+
+/* Gnulib avoids including these, as they don't work on non-glibc or
+   older glibc platforms.  */
+#ifndef __GNULIB_CDEFS
+# include <bits/wordsize.h>
+# include <bits/long-double.h>
+#endif
+
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# ifdef __REDIRECT
+
+/* Alias name defined automatically.  */
+#  define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
+#  define __LDBL_REDIR_DECL(name) \
+  extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
+
+/* Alias name defined automatically, with leading underscores.  */
+#  define __LDBL_REDIR2_DECL(name) \
+  extern __typeof (__##name) __##name \
+    __asm (__ASMNAME ("__" #name "ieee128"));
+
+/* Alias name defined manually.  */
+#  define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
+#  define __LDBL_REDIR1_DECL(name, alias) \
+  extern __typeof (name) name __asm (__ASMNAME (#alias));
+
+#  define __LDBL_REDIR1_NTH(name, proto, alias) \
+  __REDIRECT_NTH (name, proto, alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
+
+/* Unused.  */
+#  define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
+#  define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
+
+# else
+_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
+# endif
+#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
+# define __LDBL_COMPAT 1
+# ifdef __REDIRECT
+#  define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __LDBL_REDIR(name, proto) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
+#  define __LDBL_REDIR_NTH(name, proto) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR2_DECL(name) \
+  extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
+#  define __LDBL_REDIR1_DECL(name, alias) \
+  extern __typeof (name) name __asm (__ASMNAME (#alias));
+#  define __LDBL_REDIR_DECL(name) \
+  extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+#  define __REDIRECT_LDBL(name, proto, alias) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
+# endif
+#endif
+#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
+    || !defined __REDIRECT
+# define __LDBL_REDIR1(name, proto, alias) name proto
+# define __LDBL_REDIR(name, proto) name proto
+# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
+# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
+# define __LDBL_REDIR2_DECL(name)
+# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+#  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __REDIRECT_NTH (name, proto, alias)
+# endif
+#endif
+
+/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
+   intended for use in preprocessor macros.
+
+   Note: MESSAGE must be a _single_ string; concatenation of string
+   literals is not supported.  */
+#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
+# define __glibc_macro_warning1(message) _Pragma (#message)
+# define __glibc_macro_warning(message) \
+  __glibc_macro_warning1 (GCC warning message)
+#else
+# define __glibc_macro_warning(msg)
+#endif
+
+/* Generic selection (ISO C11) is a C-only feature, available in GCC
+   since version 4.9.  Previous versions do not provide generic
+   selection, even though they might set __STDC_VERSION__ to 201112L,
+   when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
+   when testing __STDC_VERSION__ for generic selection support.
+   On the other hand, Clang also defines __GNUC__, so a clang-specific
+   check is required to enable the use of generic selection.  */
+#if !defined __cplusplus \
+    && (__GNUC_PREREQ (4, 9) \
+       || __glibc_has_extension (c_generic_selections) \
+       || (!defined __GNUC__ && defined __STDC_VERSION__ \
+           && __STDC_VERSION__ >= 201112L))
+# define __HAVE_GENERIC_SELECTION 1
+#else
+# define __HAVE_GENERIC_SELECTION 0
+#endif
+
+#if __GNUC_PREREQ (10, 0)
+/* Designates a 1-based positional argument ref-index of pointer type
+   that can be used to access size-index elements of the pointed-to
+   array according to access mode, or at least one element when
+   size-index is not provided:
+     access (access-mode, <ref-index> [, <size-index>])  */
+#  define __attr_access(x) __attribute__ ((__access__ x))
+/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
+   use the access attribute to get object sizes from function definition
+   arguments, so we can't use them on functions we fortify.  Drop the object
+   size hints for such functions.  */
+#  if __USE_FORTIFY_LEVEL == 3
+#    define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o)))
+#  else
+#    define __fortified_attr_access(a, o, s) __attr_access ((a, o, s))
+#  endif
+#  if __GNUC_PREREQ (11, 0)
+#    define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))
+#  else
+#    define __attr_access_none(argno)
+#  endif
+#else
+#  define __fortified_attr_access(a, o, s)
+#  define __attr_access(x)
+#  define __attr_access_none(argno)
+#endif
+
+#if __GNUC_PREREQ (11, 0)
+/* Designates dealloc as a function to call to deallocate objects
+   allocated by the declared function.  */
+# define __attr_dealloc(dealloc, argno) \
+    __attribute__ ((__malloc__ (dealloc, argno)))
+# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1)
+#else
+# define __attr_dealloc(dealloc, argno)
+# define __attr_dealloc_free
+#endif
+
+/* Specify that a function such as setjmp or vfork may return
+   twice.  */
+#if __GNUC_PREREQ (4, 1)
+# define __attribute_returns_twice__ __attribute__ ((__returns_twice__))
+#else
+# define __attribute_returns_twice__ /* Ignore.  */
+#endif
+
+#endif  /* sys/cdefs.h */
diff --git a/lib/gl/free.c b/lib/gl/free.c
new file mode 100644 (file)
index 0000000..2f0c40b
--- /dev/null
@@ -0,0 +1,53 @@
+/* Make free() preserve errno.
+
+   Copyright (C) 2003, 2006, 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdlib.h>
+
+/* A function definition is only needed if HAVE_FREE_POSIX is not defined.  */
+#if !HAVE_FREE_POSIX
+
+# include <errno.h>
+
+void
+rpl_free (void *p)
+# undef free
+{
+# if defined __GNUC__ && !defined __clang__
+  /* An invalid GCC optimization
+     <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98396>
+     would optimize away the assignments in the code below, when link-time
+     optimization (LTO) is enabled.  Make the code more complicated, so that
+     GCC does not grok how to optimize it.  */
+  int err[2];
+  err[0] = errno;
+  err[1] = errno;
+  errno = 0;
+  free (p);
+  errno = err[errno == 0];
+# else
+  int err = errno;
+  free (p);
+  errno = err;
+# endif
+}
+
+#endif
index 5aa525e..39d5ae4 100644 (file)
@@ -1,25 +1,26 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2012 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 Free Software
    Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Lesser General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBGETTEXT_H
 #define _LIBGETTEXT_H 1
 
-/* NLS can be disabled through the configure --disable-nls option.  */
-#if ENABLE_NLS
+/* NLS can be disabled through the configure --disable-nls option
+   or through "#define ENABLE NLS 0" before including this file.  */
+#if defined ENABLE_NLS && ENABLE_NLS
 
 /* Get declarations of GNU message catalog functions.  */
 # include <libintl.h>
    initializer for static 'char[]' or 'const char[]' variables.  */
 #define gettext_noop(String) String
 
+/* The separator between msgctxt and msgid in a .mo file.  */
+#define GETTEXT_CONTEXT_GLUE "\004"
+
+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+   short and rarely need to change.
+   The letter 'p' stands for 'particular' or 'special'.  */
+#ifdef DEFAULT_TEXT_DOMAIN
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#else
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#endif
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+#ifdef DEFAULT_TEXT_DOMAIN
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#else
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#endif
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+pgettext_aux (const char *domain,
+              const char *msg_ctxt_id, const char *msgid,
+              int category)
+{
+  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+  if (translation == msg_ctxt_id)
+    return msgid;
+  else
+    return translation;
+}
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+npgettext_aux (const char *domain,
+               const char *msg_ctxt_id, const char *msgid,
+               const char *msgid_plural, unsigned long int n,
+               int category)
+{
+  const char *translation =
+    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+  if (translation == msg_ctxt_id || translation == msgid_plural)
+    return (n == 1 ? msgid : msgid_plural);
+  else
+    return translation;
+}
+
+/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+   can be arbitrary expressions.  But for string literals these macros are
+   less efficient than those above.  */
+
+#include <string.h>
+
+/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
+   This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
+   the default GCC many warnings set.  This allows programs to disable use
+   of VLAs, which may be unintended, or may be awkward to support portably,
+   or may have security implications due to non-deterministic stack usage.  */
+
+#if (!defined GNULIB_NO_VLA \
+     && defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \
+     && !defined __STDC_NO_VLA__)
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
+#else
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
+#endif
+
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#include <stdlib.h>
+#endif
+
+#define pgettext_expr(Msgctxt, Msgid) \
+  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcpgettext_expr (const char *domain,
+                 const char *msgctxt, const char *msgid,
+                 int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcgettext (domain, msg_ctxt_id, category);
+      found_translation = (translation != msg_ctxt_id);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return msgid;
+}
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+
+#if defined __GNUC__ || defined __clang__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcnpgettext_expr (const char *domain,
+                  const char *msgctxt, const char *msgid,
+                  const char *msgid_plural, unsigned long int n,
+                  int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+      found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return (n == 1 ? msgid : msgid_plural);
+}
+
 #endif /* _LIBGETTEXT_H */
index 826d990..310f404 100644 (file)
@@ -1,18 +1,18 @@
 /* Character set conversion.
-   Copyright (C) 1999-2001, 2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2007, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Lesser General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -26,9 +26,6 @@
 # include <stdint.h>
 # include <stdlib.h>
 # include "unistr.h"
-# ifndef uintptr_t
-#  define uintptr_t unsigned long
-# endif
 #endif
 
 #if REPLACE_ICONV_UTF
index de78cbc..9e41e41 100644 (file)
@@ -1,19 +1,19 @@
 /* A GNU-like <iconv.h>.
 
-   Copyright (C) 2007-2012 Free Software Foundation, Inc.
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_ICONV_H
 
 #ifndef _@GUARD_PREFIX@_ICONV_H
 #define _@GUARD_PREFIX@_ICONV_H
 
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
@@ -52,6 +57,12 @@ _GL_CXXALIAS_SYS (iconv_open, iconv_t,
                   (const char *tocode, const char *fromcode));
 # endif
 _GL_CXXALIASWARN (iconv_open);
+#elif defined GNULIB_POSIXCHECK
+# undef iconv_open
+# if HAVE_RAW_DECL_ICONV_OPEN
+_GL_WARN_ON_USE (iconv_open, "iconv_open is not working correctly everywhere - "
+                 "use gnulib module iconv for portability");
+# endif
 #endif
 
 #if @REPLACE_ICONV_UTF@
@@ -74,22 +85,33 @@ _GL_CXXALIASWARN (iconv_open);
 #  endif
 _GL_FUNCDECL_RPL (iconv, size_t,
                   (iconv_t cd,
-                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
-                   char **outbuf, size_t *outbytesleft));
+                   @ICONV_CONST@ char **restrict inbuf,
+                   size_t *restrict inbytesleft,
+                   char **restrict outbuf, size_t *restrict outbytesleft));
 _GL_CXXALIAS_RPL (iconv, size_t,
                   (iconv_t cd,
-                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
-                   char **outbuf, size_t *outbytesleft));
+                   @ICONV_CONST@ char **restrict inbuf,
+                   size_t *restrict inbytesleft,
+                   char **restrict outbuf, size_t *restrict outbytesleft));
 # else
-_GL_CXXALIAS_SYS (iconv, size_t,
-                  (iconv_t cd,
-                   @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
-                   char **outbuf, size_t *outbytesleft));
+/* Need to cast, because on some versions of Solaris, ICONV_CONST does
+   not have the right value for C++.  */
+_GL_CXXALIAS_SYS_CAST (iconv, size_t,
+                       (iconv_t cd,
+                        @ICONV_CONST@ char **restrict inbuf,
+                        size_t *restrict inbytesleft,
+                        char **restrict outbuf, size_t *restrict outbytesleft));
 # endif
 _GL_CXXALIASWARN (iconv);
 # ifndef ICONV_CONST
 #  define ICONV_CONST @ICONV_CONST@
 # endif
+#elif defined GNULIB_POSIXCHECK
+# undef iconv
+# if HAVE_RAW_DECL_ICONV
+_GL_WARN_ON_USE (iconv, "iconv is not working correctly everywhere - "
+                 "use gnulib module iconv for portability");
+# endif
 #endif
 
 #if @GNULIB_ICONV@
index 0bccd97..692cbb8 100644 (file)
@@ -1,18 +1,18 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Lesser General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -20,9 +20,6 @@
 #include <iconv.h>
 
 #include <stdint.h>
-#ifndef uintptr_t
-# define uintptr_t unsigned long
-#endif
 
 int
 rpl_iconv_close (iconv_t cd)
index 6782b99..55cccd0 100644 (file)
@@ -1,3 +1,19 @@
+/* Character set conversion.
+   Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 %struct-type
 %language=ANSI-C
index 0ffc3fe..85ed767 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -m 10 ./iconv_open-aix.gperf  */
 /* Computed positions: -k'4,$' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
-#line 1 "./iconv_open-aix.gperf"
+#line 17 "./iconv_open-aix.gperf"
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 
 #define TOTAL_KEYWORDS 32
@@ -47,7 +47,7 @@ inline
 #endif
 #endif
 static unsigned int
-mapping_hash (register const char *str, register unsigned int len)
+mapping_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -156,91 +156,85 @@ static const struct stringpool_t stringpool_contents =
 static const struct mapping mappings[] =
   {
     {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 43 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"},
-#line 42 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"},
-#line 25 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"},
+#line 59 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"},
+#line 58 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"},
 #line 41 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"},
-#line 14 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"},
-#line 27 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"},
-#line 24 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"},
-#line 19 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"},
-#line 33 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"},
+#line 57 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"},
+#line 30 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"},
+#line 43 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"},
 #line 40 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"},
-#line 44 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"},
-#line 23 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"},
-    {-1},
-#line 17 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"},
-#line 22 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"},
-#line 15 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"},
-#line 31 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"},
 #line 35 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"},
-#line 20 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"},
-#line 26 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"},
-#line 37 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"},
-#line 18 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
-#line 29 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"},
-#line 32 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"},
+#line 49 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"},
+#line 56 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"},
+#line 60 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "big5"},
 #line 39 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"},
-#line 21 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"},
     {-1},
+#line 33 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"},
+#line 38 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"},
+#line 31 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"},
+#line 47 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"},
+#line 51 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"},
+#line 36 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"},
+#line 42 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"},
+#line 53 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"},
 #line 34 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"},
-#line 16 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"},
-#line 13 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
+#line 45 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"},
+#line 48 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"},
+#line 55 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"},
+#line 37 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"},
+    {-1},
+#line 50 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"},
+#line 32 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"},
+#line 29 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"},
     {-1}, {-1},
-#line 38 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"},
+#line 54 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"},
     {-1},
-#line 30 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"},
-#line 36 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
+#line 46 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"},
+#line 52 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
     {-1}, {-1},
-#line 28 "./iconv_open-aix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"}
+#line 44 "./iconv_open-aix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"}
   };
 
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct mapping *
-mapping_lookup (register const char *str, register unsigned int len)
+mapping_lookup (register const char *str, register size_t len)
 {
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = mapping_hash (str, len);
+      register unsigned int key = mapping_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = mappings[key].standard_name;
           if (o >= 0)
index 5a35c83..ddf51e3 100644 (file)
@@ -1,3 +1,19 @@
+/* Character set conversion.
+   Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
 struct mapping { int standard_name; const char vendor_name[9 + 1]; };
 %struct-type
 %language=ANSI-C
index 8f9f0a9..fe3c289 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -m 10 ./iconv_open-hpux.gperf  */
 /* Computed positions: -k'4,$' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
-#line 1 "./iconv_open-hpux.gperf"
+#line 17 "./iconv_open-hpux.gperf"
 struct mapping { int standard_name; const char vendor_name[9 + 1]; };
 
 #define TOTAL_KEYWORDS 44
@@ -47,7 +47,7 @@ inline
 #endif
 #endif
 static unsigned int
-mapping_hash (register const char *str, register unsigned int len)
+mapping_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -180,110 +180,104 @@ static const struct stringpool_t stringpool_contents =
 static const struct mapping mappings[] =
   {
     {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
-#line 40 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"},
-#line 34 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"},
-#line 35 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"},
-#line 23 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "cp850"},
-#line 49 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "tis620"},
-#line 38 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"},
-#line 16 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"},
-#line 53 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"},
-#line 13 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"},
-#line 19 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"},
+#line 56 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"},
+#line 50 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"},
+#line 51 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"},
 #line 39 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "cp850"},
+#line 65 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "tis620"},
 #line 54 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "big5"},
-#line 25 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp855"},
-#line 41 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"},
-#line 52 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"},
-#line 26 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp857"},
-#line 15 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"},
-#line 20 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"},
-#line 31 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "cp866"},
-#line 17 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"},
-#line 27 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "cp861"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"},
 #line 32 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "cp869"},
-#line 33 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "cp874"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"},
+#line 69 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"},
 #line 29 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp864"},
-#line 36 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
-#line 21 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp437"},
-#line 24 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "cp852"},
-#line 22 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp775"},
-#line 30 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp865"},
-#line 51 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"},
-#line 14 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"},
+#line 35 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"},
 #line 55 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "sjis"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"},
+#line 70 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "big5"},
+#line 41 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp855"},
+#line 57 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"},
+#line 68 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"},
 #line 42 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"},
-#line 56 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "utf8"},
-#line 48 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "kana8"},
-#line 43 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "roman8"},
-#line 46 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"},
-#line 50 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"},
-#line 18 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp857"},
+#line 31 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"},
+#line 36 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"},
 #line 47 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "cp866"},
+#line 33 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"},
+#line 43 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "cp861"},
+#line 48 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "cp869"},
+#line 49 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "cp874"},
 #line 45 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "greek8"},
-#line 44 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"},
-#line 28 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, "cp862"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp864"},
+#line 52 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
 #line 37 "./iconv_open-hpux.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"}
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp437"},
+#line 40 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "cp852"},
+#line 38 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp775"},
+#line 46 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp865"},
+#line 67 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"},
+#line 30 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"},
+#line 71 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "sjis"},
+#line 58 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"},
+#line 72 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "utf8"},
+#line 64 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "kana8"},
+#line 59 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "roman8"},
+#line 62 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"},
+#line 66 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"},
+#line 34 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"},
+#line 63 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"},
+#line 61 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "greek8"},
+#line 60 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"},
+#line 44 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "cp862"},
+#line 53 "./iconv_open-hpux.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"}
   };
 
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct mapping *
-mapping_lookup (register const char *str, register unsigned int len)
+mapping_lookup (register const char *str, register size_t len)
 {
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = mapping_hash (str, len);
+      register unsigned int key = mapping_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = mappings[key].standard_name;
           if (o >= 0)
index 3672a80..cd0ad54 100644 (file)
@@ -1,3 +1,19 @@
+/* Character set conversion.
+   Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 %struct-type
 %language=ANSI-C
index 520582e..9eec045 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -m 10 ./iconv_open-irix.gperf  */
 /* Computed positions: -k'1,$' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
-#line 1 "./iconv_open-irix.gperf"
+#line 17 "./iconv_open-irix.gperf"
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 
 #define TOTAL_KEYWORDS 19
@@ -47,7 +47,7 @@ inline
 #endif
 #endif
 static unsigned int
-mapping_hash (register const char *str, register unsigned int len)
+mapping_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -130,60 +130,54 @@ static const struct stringpool_t stringpool_contents =
 static const struct mapping mappings[] =
   {
     {-1}, {-1}, {-1}, {-1}, {-1},
-#line 24 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"},
+#line 40 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"},
+#line 45 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"},
+#line 44 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"},
+#line 41 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"},
+#line 46 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "sjis"},
+#line 33 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"},
+#line 38 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
 #line 29 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"},
-#line 28 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"},
-#line 25 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"},
+#line 43 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"},
+#line 39 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"},
 #line 30 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "sjis"},
-#line 17 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"},
-#line 22 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
-#line 13 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"},
-#line 27 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"},
-#line 23 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"},
-#line 14 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"},
-#line 26 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"},
-#line 21 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"},
-#line 20 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"},
-#line 19 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"},
-#line 18 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"},
-#line 16 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"},
-#line 15 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"},
+#line 42 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"},
+#line 37 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"},
+#line 36 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"},
+#line 35 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"},
+#line 34 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"},
+#line 32 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"},
 #line 31 "./iconv_open-irix.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"}
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"},
+#line 47 "./iconv_open-irix.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"}
   };
 
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct mapping *
-mapping_lookup (register const char *str, register unsigned int len)
+mapping_lookup (register const char *str, register size_t len)
 {
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = mapping_hash (str, len);
+      register unsigned int key = mapping_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = mappings[key].standard_name;
           if (o >= 0)
index f468ff6..417f7e3 100644 (file)
@@ -1,3 +1,19 @@
+/* Character set conversion.
+   Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 %struct-type
 %language=ANSI-C
index 85e4c0f..cf23c08 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -m 10 ./iconv_open-osf.gperf  */
 /* Computed positions: -k'4,$' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
-#line 1 "./iconv_open-osf.gperf"
+#line 17 "./iconv_open-osf.gperf"
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 
 #define TOTAL_KEYWORDS 38
@@ -47,7 +47,7 @@ inline
 #endif
 #endif
 static unsigned int
-mapping_hash (register const char *str, register unsigned int len)
+mapping_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -168,101 +168,95 @@ static const struct stringpool_t stringpool_contents =
 static const struct mapping mappings[] =
   {
     {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 57 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"},
+#line 40 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp775"},
+#line 52 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"},
+#line 63 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"},
+#line 62 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"},
+#line 66 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"},
+#line 33 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"},
+#line 38 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"},
+#line 64 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "big5"},
+#line 43 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "cp855"},
+#line 60 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"},
 #line 41 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"},
-#line 24 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp775"},
-#line 36 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "cp850"},
 #line 47 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"},
-#line 46 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"},
-#line 50 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"},
-#line 17 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"},
-#line 22 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"},
-#line 48 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "big5"},
-#line 27 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "cp855"},
-#line 44 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"},
-#line 25 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "cp850"},
-#line 31 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp865"},
-#line 45 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"},
-#line 43 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"},
-#line 42 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"},
-#line 20 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"},
-#line 49 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"},
-    {-1},
-#line 21 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"},
-#line 19 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"},
-#line 18 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp865"},
+#line 61 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"},
+#line 59 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"},
+#line 58 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"},
+#line 36 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"},
+#line 65 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"},
     {-1},
-#line 28 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp857"},
-#line 38 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
-#line 33 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp869"},
-#line 35 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"},
-#line 32 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp866"},
-#line 23 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp437"},
 #line 37 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"},
-#line 14 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"},
-#line 40 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"},
+#line 35 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"},
 #line 34 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp874"},
-#line 26 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "cp852"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
+    {-1},
+#line 44 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp857"},
+#line 54 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
+#line 49 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp869"},
+#line 51 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"},
+#line 48 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp866"},
 #line 39 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"},
-#line 13 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp437"},
+#line 53 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"},
 #line 30 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "cp862"},
-#line 16 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
-    {-1}, {-1},
-#line 15 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"},
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"},
+#line 56 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"},
+#line 50 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp874"},
+#line 42 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "cp852"},
+#line 55 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"},
 #line 29 "./iconv_open-osf.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "cp861"}
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"},
+#line 46 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "cp862"},
+#line 32 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
+    {-1}, {-1},
+#line 31 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"},
+#line 45 "./iconv_open-osf.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "cp861"}
   };
 
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct mapping *
-mapping_lookup (register const char *str, register unsigned int len)
+mapping_lookup (register const char *str, register size_t len)
 {
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = mapping_hash (str, len);
+      register unsigned int key = mapping_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = mappings[key].standard_name;
           if (o >= 0)
index 7d7da38..d5411de 100644 (file)
@@ -1,3 +1,19 @@
+/* Character set conversion.
+   Copyright (C) 2007, 2009, 2020-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 %struct-type
 %language=ANSI-C
index 2963145..b38b16c 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf -m 10 ./iconv_open-solaris.gperf  */
 /* Computed positions: -k'10' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
-#line 1 "./iconv_open-solaris.gperf"
+#line 17 "./iconv_open-solaris.gperf"
 struct mapping { int standard_name; const char vendor_name[10 + 1]; };
 
 #define TOTAL_KEYWORDS 13
@@ -47,7 +47,7 @@ inline
 #endif
 #endif
 static unsigned int
-mapping_hash (register const char *str, register unsigned int len)
+mapping_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -78,7 +78,7 @@ mapping_hash (register const char *str, register unsigned int len)
       20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
       20, 20, 20, 20, 20, 20
     };
-  register int hval = len;
+  register unsigned int hval = len;
 
   switch (hval)
     {
@@ -132,49 +132,43 @@ static const struct stringpool_t stringpool_contents =
 static const struct mapping mappings[] =
   {
     {-1}, {-1}, {-1}, {-1}, {-1},
-#line 19 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "646"},
-#line 30 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
-#line 18 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7},
+#line 35 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "646"},
+#line 46 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
+#line 34 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7},
     {-1}, {-1},
-#line 20 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
-#line 29 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
-#line 28 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
-#line 27 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
-#line 26 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
-#line 25 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
-#line 24 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
-#line 23 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
-#line 22 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
-#line 21 "./iconv_open-solaris.gperf"
-    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
+#line 36 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
+#line 45 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
+#line 44 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
+#line 43 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
+#line 42 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
+#line 41 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
+#line 40 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
+#line 39 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
+#line 38 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
+#line 37 "./iconv_open-solaris.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
   };
 
-#ifdef __GNUC__
-__inline
-#ifdef __GNUC_STDC_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct mapping *
-mapping_lookup (register const char *str, register unsigned int len)
+mapping_lookup (register const char *str, register size_t len)
 {
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = mapping_hash (str, len);
+      register unsigned int key = mapping_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = mappings[key].standard_name;
           if (o >= 0)
diff --git a/lib/gl/iconv_open-zos.gperf b/lib/gl/iconv_open-zos.gperf
new file mode 100644 (file)
index 0000000..a7fc3dc
--- /dev/null
@@ -0,0 +1,76 @@
+/* Character set conversion.
+   Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+struct mapping { int standard_name; const char vendor_name[10 + 1]; };
+%struct-type
+%language=ANSI-C
+%define slot-name standard_name
+%define hash-function-name mapping_hash
+%define lookup-function-name mapping_lookup
+%readonly-tables
+%global-table
+%define word-array-name mappings
+%pic
+%%
+ASCII, "00367"
+ISO-8859-1, "ISO8859-1"
+ISO-8859-2, "ISO8859-2"
+ISO-8859-3, "00913"
+ISO-8859-4, "ISO8859-4"
+ISO-8859-5, "ISO8859-5"
+ISO-8859-6, "ISO8859-6"
+ISO-8859-7, "ISO8859-7"
+ISO-8859-8, "05012"
+ISO-8859-9, "ISO8859-9"
+ISO-8859-13, "ISO8859-13"
+ISO-8859-15, "ISO8859-15"
+KOI8-R, "00878"
+KOI8-U, "01168"
+CP437, "IBM-437"
+CP775, "00775"
+CP850, "09042"
+CP852, "IBM-852"
+CP855, "13143"
+CP856, "IBM-856"
+CP857, "00857"
+CP861, "IBM-861"
+CP862, "IBM-862"
+CP864, "IBM-864"
+CP865, "00865"
+CP866, "04962"
+CP869, "IBM-869"
+CP874, "TIS-620"
+CP922, "IBM-922"
+CP932, "IBM-943"
+CP943, "IBM-943"
+CP949, "IBM-1363"
+CP1046, "IBM-1046"
+CP1124, "IBM-1124"
+CP1125, "IBM-1125"
+CP1129, "01129"
+CP1131, "01131"
+CP1250, "IBM-5346"
+CP1251, "IBM-5347"
+CP1252, "IBM-5348"
+CP1253, "IBM-5349"
+CP1254, "IBM-5350"
+CP1255, "09447"
+CP1256, "09448"
+CP1257, "09449"
+GB2312, "IBM-eucCN"
+EUC-JP, "01350"
+EUC-KR, "IBM-eucKR"
+GBK, "IBM-1386"
diff --git a/lib/gl/iconv_open-zos.h b/lib/gl/iconv_open-zos.h
new file mode 100644 (file)
index 0000000..5f84725
--- /dev/null
@@ -0,0 +1,329 @@
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: gperf -m 10 ./iconv_open-zos.gperf  */
+/* Computed positions: -k'4,$' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
+#endif
+
+#line 17 "./iconv_open-zos.gperf"
+struct mapping { int standard_name; const char vendor_name[10 + 1]; };
+
+#define TOTAL_KEYWORDS 49
+#define MIN_WORD_LENGTH 3
+#define MAX_WORD_LENGTH 11
+#define MIN_HASH_VALUE 3
+#define MAX_HASH_VALUE 64
+/* maximum key range = 62, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+mapping_hash (register const char *str, register size_t len)
+{
+  static const unsigned char asso_values[] =
+    {
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 16, 38,
+      14,  1, 32, 22, 29,  3,  0,  7, 40,  2,
+       5, 18, 23, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65,  0, 65,  0, 65, 65, 65,  0,
+      43, 65,  1, 65, 65,  8, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+      65, 65
+    };
+  register unsigned int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[3]+6];
+      /*FALLTHROUGH*/
+      case 3:
+        break;
+    }
+  return hval + asso_values[(unsigned char)str[len - 1]];
+}
+
+struct stringpool_t
+  {
+    char stringpool_str3[sizeof("GBK")];
+    char stringpool_str5[sizeof("ASCII")];
+    char stringpool_str7[sizeof("CP1253")];
+    char stringpool_str8[sizeof("EUC-KR")];
+    char stringpool_str9[sizeof("CP1257")];
+    char stringpool_str10[sizeof("CP857")];
+    char stringpool_str11[sizeof("ISO-8859-8")];
+    char stringpool_str12[sizeof("ISO-8859-3")];
+    char stringpool_str13[sizeof("ISO-8859-13")];
+    char stringpool_str14[sizeof("ISO-8859-7")];
+    char stringpool_str15[sizeof("CP437")];
+    char stringpool_str16[sizeof("CP1129")];
+    char stringpool_str17[sizeof("CP869")];
+    char stringpool_str18[sizeof("ISO-8859-9")];
+    char stringpool_str19[sizeof("CP922")];
+    char stringpool_str20[sizeof("CP1252")];
+    char stringpool_str21[sizeof("CP852")];
+    char stringpool_str22[sizeof("CP1250")];
+    char stringpool_str23[sizeof("CP850")];
+    char stringpool_str24[sizeof("CP862")];
+    char stringpool_str25[sizeof("ISO-8859-2")];
+    char stringpool_str26[sizeof("CP932")];
+    char stringpool_str27[sizeof("GB2312")];
+    char stringpool_str28[sizeof("CP1255")];
+    char stringpool_str29[sizeof("CP855")];
+    char stringpool_str30[sizeof("KOI8-R")];
+    char stringpool_str31[sizeof("CP1125")];
+    char stringpool_str32[sizeof("CP865")];
+    char stringpool_str33[sizeof("ISO-8859-5")];
+    char stringpool_str34[sizeof("ISO-8859-15")];
+    char stringpool_str35[sizeof("CP1256")];
+    char stringpool_str36[sizeof("CP856")];
+    char stringpool_str37[sizeof("KOI8-U")];
+    char stringpool_str38[sizeof("CP1254")];
+    char stringpool_str39[sizeof("CP866")];
+    char stringpool_str40[sizeof("ISO-8859-6")];
+    char stringpool_str41[sizeof("CP1124")];
+    char stringpool_str42[sizeof("CP864")];
+    char stringpool_str43[sizeof("ISO-8859-4")];
+    char stringpool_str44[sizeof("CP1251")];
+    char stringpool_str45[sizeof("CP775")];
+    char stringpool_str46[sizeof("CP943")];
+    char stringpool_str47[sizeof("CP1131")];
+    char stringpool_str48[sizeof("CP861")];
+    char stringpool_str49[sizeof("ISO-8859-1")];
+    char stringpool_str50[sizeof("EUC-JP")];
+    char stringpool_str52[sizeof("CP949")];
+    char stringpool_str55[sizeof("CP874")];
+    char stringpool_str64[sizeof("CP1046")];
+  };
+static const struct stringpool_t stringpool_contents =
+  {
+    "GBK",
+    "ASCII",
+    "CP1253",
+    "EUC-KR",
+    "CP1257",
+    "CP857",
+    "ISO-8859-8",
+    "ISO-8859-3",
+    "ISO-8859-13",
+    "ISO-8859-7",
+    "CP437",
+    "CP1129",
+    "CP869",
+    "ISO-8859-9",
+    "CP922",
+    "CP1252",
+    "CP852",
+    "CP1250",
+    "CP850",
+    "CP862",
+    "ISO-8859-2",
+    "CP932",
+    "GB2312",
+    "CP1255",
+    "CP855",
+    "KOI8-R",
+    "CP1125",
+    "CP865",
+    "ISO-8859-5",
+    "ISO-8859-15",
+    "CP1256",
+    "CP856",
+    "KOI8-U",
+    "CP1254",
+    "CP866",
+    "ISO-8859-6",
+    "CP1124",
+    "CP864",
+    "ISO-8859-4",
+    "CP1251",
+    "CP775",
+    "CP943",
+    "CP1131",
+    "CP861",
+    "ISO-8859-1",
+    "EUC-JP",
+    "CP949",
+    "CP874",
+    "CP1046"
+  };
+#define stringpool ((const char *) &stringpool_contents)
+
+static const struct mapping mappings[] =
+  {
+    {-1}, {-1}, {-1},
+#line 76 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str3, "IBM-1386"},
+    {-1},
+#line 28 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "00367"},
+    {-1},
+#line 68 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-5349"},
+#line 75 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-eucKR"},
+#line 72 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "09449"},
+#line 48 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "00857"},
+#line 36 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "05012"},
+#line 31 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "00913"},
+#line 38 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-13"},
+#line 35 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
+#line 42 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-437"},
+#line 63 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "01129"},
+#line 54 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-869"},
+#line 37 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-9"},
+#line 56 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "IBM-922"},
+#line 67 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "IBM-5348"},
+#line 45 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "IBM-852"},
+#line 65 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-5346"},
+#line 44 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "09042"},
+#line 50 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "IBM-862"},
+#line 30 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-2"},
+#line 57 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-943"},
+#line 73 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "IBM-eucCN"},
+#line 70 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "09447"},
+#line 46 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "13143"},
+#line 40 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "00878"},
+#line 62 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "IBM-1125"},
+#line 52 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "00865"},
+#line 33 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "ISO8859-5"},
+#line 39 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-15"},
+#line 71 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "09448"},
+#line 47 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "IBM-856"},
+#line 41 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "01168"},
+#line 69 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-5350"},
+#line 53 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "04962"},
+#line 34 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "ISO8859-6"},
+#line 61 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
+#line 51 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "IBM-864"},
+#line 32 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
+#line 66 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-5347"},
+#line 43 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "00775"},
+#line 58 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "IBM-943"},
+#line 64 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "01131"},
+#line 49 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "IBM-861"},
+#line 29 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "ISO8859-1"},
+#line 74 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, "01350"},
+    {-1},
+#line 59 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, "IBM-1363"},
+    {-1}, {-1},
+#line 55 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, "TIS-620"},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 60 "./iconv_open-zos.gperf"
+    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, "IBM-1046"}
+  };
+
+const struct mapping *
+mapping_lookup (register const char *str, register size_t len)
+{
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register unsigned int key = mapping_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE)
+        {
+          register int o = mappings[key].standard_name;
+          if (o >= 0)
+            {
+              register const char *s = o + stringpool;
+
+              if (*str == *s && !strcmp (str + 1, s + 1))
+                return &mappings[key];
+            }
+        }
+    }
+  return 0;
+}
index 740bc8d..2be02ef 100644 (file)
@@ -1,18 +1,18 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Lesser General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -36,6 +36,7 @@
 #define ICONV_FLAVOR_IRIX "iconv_open-irix.h"
 #define ICONV_FLAVOR_OSF "iconv_open-osf.h"
 #define ICONV_FLAVOR_SOLARIS "iconv_open-solaris.h"
+#define ICONV_FLAVOR_ZOS "iconv_open-zos.h"
 
 #ifdef ICONV_FLAVOR
 # include ICONV_FLAVOR
similarity index 57%
rename from gltests/inttypes.in.h
rename to lib/gl/inttypes.in.h
index b9da2b5..b9ab8a4 100644 (file)
@@ -1,23 +1,23 @@
-/* Copyright (C) 2006-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2024 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
-   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 file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <inttypes.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/inttypes.h.html>
  */
 
 #if __GNUC__ >= 3
 #  endif
 
 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
+
+#  define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H
 # endif
 #endif
 
 #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 #define INTTYPES_H
 
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* Include <stdint.h> or the gnulib replacement.
    But avoid namespace pollution on glibc systems.  */
 #ifndef __GLIBC__
 # include <stdint.h>
 #endif
-/* Get CHAR_BIT.  */
+/* Get CHAR_BIT, INT_MAX, LONG_MAX, etc.  */
 #include <limits.h>
+/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
+#if defined _WIN32 && ! defined __CYGWIN__
+# include <stdio.h>
+#endif
 
-#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
-# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
+#if !(INT_MAX == 0x7fffffff && INT_MIN + INT_MAX == -1)
+# error "This file assumes that 'int' is 32-bit two's complement. Please report your platform and compiler to <bug-gnulib@gnu.org>."
 #endif
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 # define _LONG_LONG_FORMAT_PREFIX "ll"
 #endif
 
-#if !defined PRId8 || @PRI_MACROS_BROKEN@
-# undef PRId8
+#if !defined PRId8
 # ifdef INT8_MAX
 #  define PRId8 "d"
 # endif
 #endif
-#if !defined PRIi8 || @PRI_MACROS_BROKEN@
-# undef PRIi8
+#if !defined PRIi8
 # ifdef INT8_MAX
 #  define PRIi8 "i"
 # endif
 #endif
-#if !defined PRIo8 || @PRI_MACROS_BROKEN@
-# undef PRIo8
+#if !defined PRIo8
 # ifdef UINT8_MAX
 #  define PRIo8 "o"
 # endif
 #endif
-#if !defined PRIu8 || @PRI_MACROS_BROKEN@
-# undef PRIu8
+#if !defined PRIu8
 # ifdef UINT8_MAX
 #  define PRIu8 "u"
 # endif
 #endif
-#if !defined PRIx8 || @PRI_MACROS_BROKEN@
-# undef PRIx8
+#if !defined PRIx8
 # ifdef UINT8_MAX
 #  define PRIx8 "x"
 # endif
 #endif
-#if !defined PRIX8 || @PRI_MACROS_BROKEN@
-# undef PRIX8
+#if !defined PRIX8
 # ifdef UINT8_MAX
 #  define PRIX8 "X"
 # endif
 #endif
-#if !defined PRId16 || @PRI_MACROS_BROKEN@
-# undef PRId16
+#if !defined PRId16
 # ifdef INT16_MAX
 #  define PRId16 "d"
 # endif
 #endif
-#if !defined PRIi16 || @PRI_MACROS_BROKEN@
-# undef PRIi16
+#if !defined PRIi16
 # ifdef INT16_MAX
 #  define PRIi16 "i"
 # endif
 #endif
-#if !defined PRIo16 || @PRI_MACROS_BROKEN@
-# undef PRIo16
+#if !defined PRIo16
 # ifdef UINT16_MAX
 #  define PRIo16 "o"
 # endif
 #endif
-#if !defined PRIu16 || @PRI_MACROS_BROKEN@
-# undef PRIu16
+#if !defined PRIu16
 # ifdef UINT16_MAX
 #  define PRIu16 "u"
 # endif
 #endif
-#if !defined PRIx16 || @PRI_MACROS_BROKEN@
-# undef PRIx16
+#if !defined PRIx16
 # ifdef UINT16_MAX
 #  define PRIx16 "x"
 # endif
 #endif
-#if !defined PRIX16 || @PRI_MACROS_BROKEN@
-# undef PRIX16
+#if !defined PRIX16
 # ifdef UINT16_MAX
 #  define PRIX16 "X"
 # endif
 #endif
-#if !defined PRId32 || @PRI_MACROS_BROKEN@
-# undef PRId32
+#if !defined PRId32
 # ifdef INT32_MAX
 #  define PRId32 "d"
 # endif
 #endif
-#if !defined PRIi32 || @PRI_MACROS_BROKEN@
-# undef PRIi32
+#if !defined PRIi32
 # ifdef INT32_MAX
 #  define PRIi32 "i"
 # endif
 #endif
-#if !defined PRIo32 || @PRI_MACROS_BROKEN@
-# undef PRIo32
+#if !defined PRIo32
 # ifdef UINT32_MAX
 #  define PRIo32 "o"
 # endif
 #endif
-#if !defined PRIu32 || @PRI_MACROS_BROKEN@
-# undef PRIu32
+#if !defined PRIu32
 # ifdef UINT32_MAX
 #  define PRIu32 "u"
 # endif
 #endif
-#if !defined PRIx32 || @PRI_MACROS_BROKEN@
-# undef PRIx32
+#if !defined PRIx32
 # ifdef UINT32_MAX
 #  define PRIx32 "x"
 # endif
 #endif
-#if !defined PRIX32 || @PRI_MACROS_BROKEN@
-# undef PRIX32
+#if !defined PRIX32
 # ifdef UINT32_MAX
 #  define PRIX32 "X"
 # endif
 #  define _PRI64_PREFIX "l"
 # elif defined _MSC_VER || defined __MINGW32__
 #  define _PRI64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# elif LONG_MAX >> 30 == 1
 #  define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
 # endif
-# if !defined PRId64 || @PRI_MACROS_BROKEN@
-#  undef PRId64
+# if !defined PRId64
 #  define PRId64 _PRI64_PREFIX "d"
 # endif
-# if !defined PRIi64 || @PRI_MACROS_BROKEN@
-#  undef PRIi64
+# if !defined PRIi64
 #  define PRIi64 _PRI64_PREFIX "i"
 # endif
 #endif
 #  define _PRIu64_PREFIX "l"
 # elif defined _MSC_VER || defined __MINGW32__
 #  define _PRIu64_PREFIX "I64"
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# elif ULONG_MAX >> 31 == 1
 #  define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
 # endif
-# if !defined PRIo64 || @PRI_MACROS_BROKEN@
-#  undef PRIo64
+# if !defined PRIo64
 #  define PRIo64 _PRIu64_PREFIX "o"
 # endif
-# if !defined PRIu64 || @PRI_MACROS_BROKEN@
-#  undef PRIu64
+# if !defined PRIu64
 #  define PRIu64 _PRIu64_PREFIX "u"
 # endif
-# if !defined PRIx64 || @PRI_MACROS_BROKEN@
-#  undef PRIx64
+# if !defined PRIx64
 #  define PRIx64 _PRIu64_PREFIX "x"
 # endif
-# if !defined PRIX64 || @PRI_MACROS_BROKEN@
-#  undef PRIX64
+# if !defined PRIX64
 #  define PRIX64 _PRIu64_PREFIX "X"
 # endif
 #endif
 
-#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST8
+#if !defined PRIdLEAST8
 # define PRIdLEAST8 "d"
 #endif
-#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST8
+#if !defined PRIiLEAST8
 # define PRIiLEAST8 "i"
 #endif
-#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST8
+#if !defined PRIoLEAST8
 # define PRIoLEAST8 "o"
 #endif
-#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST8
+#if !defined PRIuLEAST8
 # define PRIuLEAST8 "u"
 #endif
-#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST8
+#if !defined PRIxLEAST8
 # define PRIxLEAST8 "x"
 #endif
-#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST8
+#if !defined PRIXLEAST8
 # define PRIXLEAST8 "X"
 #endif
-#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST16
+#if !defined PRIdLEAST16
 # define PRIdLEAST16 "d"
 #endif
-#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST16
+#if !defined PRIiLEAST16
 # define PRIiLEAST16 "i"
 #endif
-#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST16
+#if !defined PRIoLEAST16
 # define PRIoLEAST16 "o"
 #endif
-#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST16
+#if !defined PRIuLEAST16
 # define PRIuLEAST16 "u"
 #endif
-#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST16
+#if !defined PRIxLEAST16
 # define PRIxLEAST16 "x"
 #endif
-#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST16
+#if !defined PRIXLEAST16
 # define PRIXLEAST16 "X"
 #endif
-#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST32
+#if !defined PRIdLEAST32
 # define PRIdLEAST32 "d"
 #endif
-#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST32
+#if !defined PRIiLEAST32
 # define PRIiLEAST32 "i"
 #endif
-#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST32
+#if !defined PRIoLEAST32
 # define PRIoLEAST32 "o"
 #endif
-#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST32
+#if !defined PRIuLEAST32
 # define PRIuLEAST32 "u"
 #endif
-#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST32
+#if !defined PRIxLEAST32
 # define PRIxLEAST32 "x"
 #endif
-#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST32
+#if !defined PRIXLEAST32
 # define PRIXLEAST32 "X"
 #endif
 #ifdef INT64_MAX
-# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIdLEAST64
+# if !defined PRIdLEAST64
 #  define PRIdLEAST64 PRId64
 # endif
-# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIiLEAST64
+# if !defined PRIiLEAST64
 #  define PRIiLEAST64 PRIi64
 # endif
 #endif
 #ifdef UINT64_MAX
-# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIoLEAST64
+# if !defined PRIoLEAST64
 #  define PRIoLEAST64 PRIo64
 # endif
-# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIuLEAST64
+# if !defined PRIuLEAST64
 #  define PRIuLEAST64 PRIu64
 # endif
-# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIxLEAST64
+# if !defined PRIxLEAST64
 #  define PRIxLEAST64 PRIx64
 # endif
-# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIXLEAST64
+# if !defined PRIXLEAST64
 #  define PRIXLEAST64 PRIX64
 # endif
 #endif
 
-#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST8
+#if !defined PRIdFAST8
 # if INT_FAST8_MAX > INT32_MAX
 #  define PRIdFAST8 PRId64
 # else
 #  define PRIdFAST8 "d"
 # endif
 #endif
-#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST8
+#if !defined PRIiFAST8
 # if INT_FAST8_MAX > INT32_MAX
 #  define PRIiFAST8 PRIi64
 # else
 #  define PRIiFAST8 "i"
 # endif
 #endif
-#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST8
+#if !defined PRIoFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define PRIoFAST8 PRIo64
 # else
 #  define PRIoFAST8 "o"
 # endif
 #endif
-#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST8
+#if !defined PRIuFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define PRIuFAST8 PRIu64
 # else
 #  define PRIuFAST8 "u"
 # endif
 #endif
-#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST8
+#if !defined PRIxFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define PRIxFAST8 PRIx64
 # else
 #  define PRIxFAST8 "x"
 # endif
 #endif
-#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST8
+#if !defined PRIXFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define PRIXFAST8 PRIX64
 # else
 #  define PRIXFAST8 "X"
 # endif
 #endif
-#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST16
+#if !defined PRIdFAST16
 # if INT_FAST16_MAX > INT32_MAX
 #  define PRIdFAST16 PRId64
 # else
 #  define PRIdFAST16 "d"
 # endif
 #endif
-#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST16
+#if !defined PRIiFAST16
 # if INT_FAST16_MAX > INT32_MAX
 #  define PRIiFAST16 PRIi64
 # else
 #  define PRIiFAST16 "i"
 # endif
 #endif
-#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST16
+#if !defined PRIoFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define PRIoFAST16 PRIo64
 # else
 #  define PRIoFAST16 "o"
 # endif
 #endif
-#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST16
+#if !defined PRIuFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define PRIuFAST16 PRIu64
 # else
 #  define PRIuFAST16 "u"
 # endif
 #endif
-#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST16
+#if !defined PRIxFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define PRIxFAST16 PRIx64
 # else
 #  define PRIxFAST16 "x"
 # endif
 #endif
-#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST16
+#if !defined PRIXFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define PRIXFAST16 PRIX64
 # else
 #  define PRIXFAST16 "X"
 # endif
 #endif
-#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST32
+#if !defined PRIdFAST32
 # if INT_FAST32_MAX > INT32_MAX
 #  define PRIdFAST32 PRId64
 # else
 #  define PRIdFAST32 "d"
 # endif
 #endif
-#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST32
+#if !defined PRIiFAST32
 # if INT_FAST32_MAX > INT32_MAX
 #  define PRIiFAST32 PRIi64
 # else
 #  define PRIiFAST32 "i"
 # endif
 #endif
-#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST32
+#if !defined PRIoFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define PRIoFAST32 PRIo64
 # else
 #  define PRIoFAST32 "o"
 # endif
 #endif
-#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST32
+#if !defined PRIuFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define PRIuFAST32 PRIu64
 # else
 #  define PRIuFAST32 "u"
 # endif
 #endif
-#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST32
+#if !defined PRIxFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define PRIxFAST32 PRIx64
 # else
 #  define PRIxFAST32 "x"
 # endif
 #endif
-#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST32
+#if !defined PRIXFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define PRIXFAST32 PRIX64
 # else
 # endif
 #endif
 #ifdef INT64_MAX
-# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIdFAST64
+# if !defined PRIdFAST64
 #  define PRIdFAST64 PRId64
 # endif
-# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIiFAST64
+# if !defined PRIiFAST64
 #  define PRIiFAST64 PRIi64
 # endif
 #endif
 #ifdef UINT64_MAX
-# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIoFAST64
+# if !defined PRIoFAST64
 #  define PRIoFAST64 PRIo64
 # endif
-# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIuFAST64
+# if !defined PRIuFAST64
 #  define PRIuFAST64 PRIu64
 # endif
-# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIxFAST64
+# if !defined PRIxFAST64
 #  define PRIxFAST64 PRIx64
 # endif
-# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIXFAST64
+# if !defined PRIXFAST64
 #  define PRIXFAST64 PRIX64
 # endif
 #endif
 
-#if !defined PRIdMAX || @PRI_MACROS_BROKEN@
-# undef PRIdMAX
+#if !defined PRIdMAX
 # if @INT32_MAX_LT_INTMAX_MAX@
 #  define PRIdMAX PRId64
 # else
 #  define PRIdMAX "ld"
 # endif
 #endif
-#if !defined PRIiMAX || @PRI_MACROS_BROKEN@
-# undef PRIiMAX
+#if !defined PRIiMAX
 # if @INT32_MAX_LT_INTMAX_MAX@
 #  define PRIiMAX PRIi64
 # else
 #  define PRIiMAX "li"
 # endif
 #endif
-#if !defined PRIoMAX || @PRI_MACROS_BROKEN@
-# undef PRIoMAX
+#if !defined PRIoMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define PRIoMAX PRIo64
 # else
 #  define PRIoMAX "lo"
 # endif
 #endif
-#if !defined PRIuMAX || @PRI_MACROS_BROKEN@
-# undef PRIuMAX
+#if !defined PRIuMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define PRIuMAX PRIu64
 # else
 #  define PRIuMAX "lu"
 # endif
 #endif
-#if !defined PRIxMAX || @PRI_MACROS_BROKEN@
-# undef PRIxMAX
+#if !defined PRIxMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define PRIxMAX PRIx64
 # else
 #  define PRIxMAX "lx"
 # endif
 #endif
-#if !defined PRIXMAX || @PRI_MACROS_BROKEN@
-# undef PRIXMAX
+#if !defined PRIXMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define PRIXMAX PRIX64
 # else
 # endif
 #endif
 
-#if !defined PRIdPTR || @PRI_MACROS_BROKEN@
-# undef PRIdPTR
+#if !defined PRIdPTR
 # ifdef INTPTR_MAX
 #  define PRIdPTR @PRIPTR_PREFIX@ "d"
 # endif
 #endif
-#if !defined PRIiPTR || @PRI_MACROS_BROKEN@
-# undef PRIiPTR
+#if !defined PRIiPTR
 # ifdef INTPTR_MAX
 #  define PRIiPTR @PRIPTR_PREFIX@ "i"
 # endif
 #endif
-#if !defined PRIoPTR || @PRI_MACROS_BROKEN@
-# undef PRIoPTR
+#if !defined PRIoPTR
 # ifdef UINTPTR_MAX
 #  define PRIoPTR @PRIPTR_PREFIX@ "o"
 # endif
 #endif
-#if !defined PRIuPTR || @PRI_MACROS_BROKEN@
-# undef PRIuPTR
+#if !defined PRIuPTR
 # ifdef UINTPTR_MAX
 #  define PRIuPTR @PRIPTR_PREFIX@ "u"
 # endif
 #endif
-#if !defined PRIxPTR || @PRI_MACROS_BROKEN@
-# undef PRIxPTR
+#if !defined PRIxPTR
 # ifdef UINTPTR_MAX
 #  define PRIxPTR @PRIPTR_PREFIX@ "x"
 # endif
 #endif
-#if !defined PRIXPTR || @PRI_MACROS_BROKEN@
-# undef PRIXPTR
+#if !defined PRIXPTR
 # ifdef UINTPTR_MAX
 #  define PRIXPTR @PRIPTR_PREFIX@ "X"
 # endif
 #endif
 
-#if !defined SCNd8 || @PRI_MACROS_BROKEN@
-# undef SCNd8
+#if !defined SCNd8
 # ifdef INT8_MAX
 #  define SCNd8 "hhd"
 # endif
 #endif
-#if !defined SCNi8 || @PRI_MACROS_BROKEN@
-# undef SCNi8
+#if !defined SCNi8
 # ifdef INT8_MAX
 #  define SCNi8 "hhi"
 # endif
 #endif
-#if !defined SCNo8 || @PRI_MACROS_BROKEN@
-# undef SCNo8
+#if !defined SCNo8
 # ifdef UINT8_MAX
 #  define SCNo8 "hho"
 # endif
 #endif
-#if !defined SCNu8 || @PRI_MACROS_BROKEN@
-# undef SCNu8
+#if !defined SCNu8
 # ifdef UINT8_MAX
 #  define SCNu8 "hhu"
 # endif
 #endif
-#if !defined SCNx8 || @PRI_MACROS_BROKEN@
-# undef SCNx8
+#if !defined SCNx8
 # ifdef UINT8_MAX
 #  define SCNx8 "hhx"
 # endif
 #endif
-#if !defined SCNd16 || @PRI_MACROS_BROKEN@
-# undef SCNd16
+#if !defined SCNd16
 # ifdef INT16_MAX
 #  define SCNd16 "hd"
 # endif
 #endif
-#if !defined SCNi16 || @PRI_MACROS_BROKEN@
-# undef SCNi16
+#if !defined SCNi16
 # ifdef INT16_MAX
 #  define SCNi16 "hi"
 # endif
 #endif
-#if !defined SCNo16 || @PRI_MACROS_BROKEN@
-# undef SCNo16
+#if !defined SCNo16
 # ifdef UINT16_MAX
 #  define SCNo16 "ho"
 # endif
 #endif
-#if !defined SCNu16 || @PRI_MACROS_BROKEN@
-# undef SCNu16
+#if !defined SCNu16
 # ifdef UINT16_MAX
 #  define SCNu16 "hu"
 # endif
 #endif
-#if !defined SCNx16 || @PRI_MACROS_BROKEN@
-# undef SCNx16
+#if !defined SCNx16
 # ifdef UINT16_MAX
 #  define SCNx16 "hx"
 # endif
 #endif
-#if !defined SCNd32 || @PRI_MACROS_BROKEN@
-# undef SCNd32
+#if !defined SCNd32
 # ifdef INT32_MAX
 #  define SCNd32 "d"
 # endif
 #endif
-#if !defined SCNi32 || @PRI_MACROS_BROKEN@
-# undef SCNi32
+#if !defined SCNi32
 # ifdef INT32_MAX
 #  define SCNi32 "i"
 # endif
 #endif
-#if !defined SCNo32 || @PRI_MACROS_BROKEN@
-# undef SCNo32
+#if !defined SCNo32
 # ifdef UINT32_MAX
 #  define SCNo32 "o"
 # endif
 #endif
-#if !defined SCNu32 || @PRI_MACROS_BROKEN@
-# undef SCNu32
+#if !defined SCNu32
 # ifdef UINT32_MAX
 #  define SCNu32 "u"
 # endif
 #endif
-#if !defined SCNx32 || @PRI_MACROS_BROKEN@
-# undef SCNx32
+#if !defined SCNx32
 # ifdef UINT32_MAX
 #  define SCNx32 "x"
 # endif
 #  define _SCN64_PREFIX "l"
 # elif defined _MSC_VER || defined __MINGW32__
 #  define _SCN64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# elif LONG_MAX >> 30 == 1
 #  define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
 # endif
-# if !defined SCNd64 || @PRI_MACROS_BROKEN@
-#  undef SCNd64
+# if !defined SCNd64
 #  define SCNd64 _SCN64_PREFIX "d"
 # endif
-# if !defined SCNi64 || @PRI_MACROS_BROKEN@
-#  undef SCNi64
+# if !defined SCNi64
 #  define SCNi64 _SCN64_PREFIX "i"
 # endif
 #endif
 #  define _SCNu64_PREFIX "l"
 # elif defined _MSC_VER || defined __MINGW32__
 #  define _SCNu64_PREFIX "I64"
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# elif ULONG_MAX >> 31 == 1
 #  define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
 # endif
-# if !defined SCNo64 || @PRI_MACROS_BROKEN@
-#  undef SCNo64
+# if !defined SCNo64
 #  define SCNo64 _SCNu64_PREFIX "o"
 # endif
-# if !defined SCNu64 || @PRI_MACROS_BROKEN@
-#  undef SCNu64
+# if !defined SCNu64
 #  define SCNu64 _SCNu64_PREFIX "u"
 # endif
-# if !defined SCNx64 || @PRI_MACROS_BROKEN@
-#  undef SCNx64
+# if !defined SCNx64
 #  define SCNx64 _SCNu64_PREFIX "x"
 # endif
 #endif
 
-#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST8
+#if !defined SCNdLEAST8
 # define SCNdLEAST8 "hhd"
 #endif
-#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST8
+#if !defined SCNiLEAST8
 # define SCNiLEAST8 "hhi"
 #endif
-#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST8
+#if !defined SCNoLEAST8
 # define SCNoLEAST8 "hho"
 #endif
-#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST8
+#if !defined SCNuLEAST8
 # define SCNuLEAST8 "hhu"
 #endif
-#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST8
+#if !defined SCNxLEAST8
 # define SCNxLEAST8 "hhx"
 #endif
-#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST16
+#if !defined SCNdLEAST16
 # define SCNdLEAST16 "hd"
 #endif
-#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST16
+#if !defined SCNiLEAST16
 # define SCNiLEAST16 "hi"
 #endif
-#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST16
+#if !defined SCNoLEAST16
 # define SCNoLEAST16 "ho"
 #endif
-#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST16
+#if !defined SCNuLEAST16
 # define SCNuLEAST16 "hu"
 #endif
-#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST16
+#if !defined SCNxLEAST16
 # define SCNxLEAST16 "hx"
 #endif
-#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST32
+#if !defined SCNdLEAST32
 # define SCNdLEAST32 "d"
 #endif
-#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST32
+#if !defined SCNiLEAST32
 # define SCNiLEAST32 "i"
 #endif
-#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST32
+#if !defined SCNoLEAST32
 # define SCNoLEAST32 "o"
 #endif
-#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST32
+#if !defined SCNuLEAST32
 # define SCNuLEAST32 "u"
 #endif
-#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST32
+#if !defined SCNxLEAST32
 # define SCNxLEAST32 "x"
 #endif
 #ifdef INT64_MAX
-# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNdLEAST64
+# if !defined SCNdLEAST64
 #  define SCNdLEAST64 SCNd64
 # endif
-# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNiLEAST64
+# if !defined SCNiLEAST64
 #  define SCNiLEAST64 SCNi64
 # endif
 #endif
 #ifdef UINT64_MAX
-# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNoLEAST64
+# if !defined SCNoLEAST64
 #  define SCNoLEAST64 SCNo64
 # endif
-# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNuLEAST64
+# if !defined SCNuLEAST64
 #  define SCNuLEAST64 SCNu64
 # endif
-# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNxLEAST64
+# if !defined SCNxLEAST64
 #  define SCNxLEAST64 SCNx64
 # endif
 #endif
 
-#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST8
+#if !defined SCNdFAST8
 # if INT_FAST8_MAX > INT32_MAX
 #  define SCNdFAST8 SCNd64
 # elif INT_FAST8_MAX == 0x7fff
 #  define SCNdFAST8 "d"
 # endif
 #endif
-#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST8
+#if !defined SCNiFAST8
 # if INT_FAST8_MAX > INT32_MAX
 #  define SCNiFAST8 SCNi64
 # elif INT_FAST8_MAX == 0x7fff
 #  define SCNiFAST8 "i"
 # endif
 #endif
-#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST8
+#if !defined SCNoFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define SCNoFAST8 SCNo64
 # elif UINT_FAST8_MAX == 0xffff
 #  define SCNoFAST8 "o"
 # endif
 #endif
-#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST8
+#if !defined SCNuFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define SCNuFAST8 SCNu64
 # elif UINT_FAST8_MAX == 0xffff
 #  define SCNuFAST8 "u"
 # endif
 #endif
-#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST8
+#if !defined SCNxFAST8
 # if UINT_FAST8_MAX > UINT32_MAX
 #  define SCNxFAST8 SCNx64
 # elif UINT_FAST8_MAX == 0xffff
 #  define SCNxFAST8 "x"
 # endif
 #endif
-#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST16
+#if !defined SCNdFAST16
 # if INT_FAST16_MAX > INT32_MAX
 #  define SCNdFAST16 SCNd64
 # elif INT_FAST16_MAX == 0x7fff
 #  define SCNdFAST16 "d"
 # endif
 #endif
-#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST16
+#if !defined SCNiFAST16
 # if INT_FAST16_MAX > INT32_MAX
 #  define SCNiFAST16 SCNi64
 # elif INT_FAST16_MAX == 0x7fff
 #  define SCNiFAST16 "i"
 # endif
 #endif
-#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST16
+#if !defined SCNoFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define SCNoFAST16 SCNo64
 # elif UINT_FAST16_MAX == 0xffff
 #  define SCNoFAST16 "o"
 # endif
 #endif
-#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST16
+#if !defined SCNuFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define SCNuFAST16 SCNu64
 # elif UINT_FAST16_MAX == 0xffff
 #  define SCNuFAST16 "u"
 # endif
 #endif
-#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST16
+#if !defined SCNxFAST16
 # if UINT_FAST16_MAX > UINT32_MAX
 #  define SCNxFAST16 SCNx64
 # elif UINT_FAST16_MAX == 0xffff
 #  define SCNxFAST16 "x"
 # endif
 #endif
-#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST32
+#if !defined SCNdFAST32
 # if INT_FAST32_MAX > INT32_MAX
 #  define SCNdFAST32 SCNd64
 # else
 #  define SCNdFAST32 "d"
 # endif
 #endif
-#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST32
+#if !defined SCNiFAST32
 # if INT_FAST32_MAX > INT32_MAX
 #  define SCNiFAST32 SCNi64
 # else
 #  define SCNiFAST32 "i"
 # endif
 #endif
-#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST32
+#if !defined SCNoFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define SCNoFAST32 SCNo64
 # else
 #  define SCNoFAST32 "o"
 # endif
 #endif
-#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST32
+#if !defined SCNuFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define SCNuFAST32 SCNu64
 # else
 #  define SCNuFAST32 "u"
 # endif
 #endif
-#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST32
+#if !defined SCNxFAST32
 # if UINT_FAST32_MAX > UINT32_MAX
 #  define SCNxFAST32 SCNx64
 # else
 # endif
 #endif
 #ifdef INT64_MAX
-# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNdFAST64
+# if !defined SCNdFAST64
 #  define SCNdFAST64 SCNd64
 # endif
-# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNiFAST64
+# if !defined SCNiFAST64
 #  define SCNiFAST64 SCNi64
 # endif
 #endif
 #ifdef UINT64_MAX
-# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNoFAST64
+# if !defined SCNoFAST64
 #  define SCNoFAST64 SCNo64
 # endif
-# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNuFAST64
+# if !defined SCNuFAST64
 #  define SCNuFAST64 SCNu64
 # endif
-# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNxFAST64
+# if !defined SCNxFAST64
 #  define SCNxFAST64 SCNx64
 # endif
 #endif
 
-#if !defined SCNdMAX || @PRI_MACROS_BROKEN@
-# undef SCNdMAX
+#if !defined SCNdMAX
 # if @INT32_MAX_LT_INTMAX_MAX@
 #  define SCNdMAX SCNd64
 # else
 #  define SCNdMAX "ld"
 # endif
 #endif
-#if !defined SCNiMAX || @PRI_MACROS_BROKEN@
-# undef SCNiMAX
+#if !defined SCNiMAX
 # if @INT32_MAX_LT_INTMAX_MAX@
 #  define SCNiMAX SCNi64
 # else
 #  define SCNiMAX "li"
 # endif
 #endif
-#if !defined SCNoMAX || @PRI_MACROS_BROKEN@
-# undef SCNoMAX
+#if !defined SCNoMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define SCNoMAX SCNo64
 # else
 #  define SCNoMAX "lo"
 # endif
 #endif
-#if !defined SCNuMAX || @PRI_MACROS_BROKEN@
-# undef SCNuMAX
+#if !defined SCNuMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define SCNuMAX SCNu64
 # else
 #  define SCNuMAX "lu"
 # endif
 #endif
-#if !defined SCNxMAX || @PRI_MACROS_BROKEN@
-# undef SCNxMAX
+#if !defined SCNxMAX
 # if @UINT32_MAX_LT_UINTMAX_MAX@
 #  define SCNxMAX SCNx64
 # else
 # endif
 #endif
 
-#if !defined SCNdPTR || @PRI_MACROS_BROKEN@
-# undef SCNdPTR
+#if !defined SCNdPTR
 # ifdef INTPTR_MAX
 #  define SCNdPTR @PRIPTR_PREFIX@ "d"
 # endif
 #endif
-#if !defined SCNiPTR || @PRI_MACROS_BROKEN@
-# undef SCNiPTR
+#if !defined SCNiPTR
 # ifdef INTPTR_MAX
 #  define SCNiPTR @PRIPTR_PREFIX@ "i"
 # endif
 #endif
-#if !defined SCNoPTR || @PRI_MACROS_BROKEN@
-# undef SCNoPTR
+#if !defined SCNoPTR
 # ifdef UINTPTR_MAX
 #  define SCNoPTR @PRIPTR_PREFIX@ "o"
 # endif
 #endif
-#if !defined SCNuPTR || @PRI_MACROS_BROKEN@
-# undef SCNuPTR
+#if !defined SCNuPTR
 # ifdef UINTPTR_MAX
 #  define SCNuPTR @PRIPTR_PREFIX@ "u"
 # endif
 #endif
-#if !defined SCNxPTR || @PRI_MACROS_BROKEN@
-# undef SCNxPTR
+#if !defined SCNxPTR
 # ifdef UINTPTR_MAX
 #  define SCNxPTR @PRIPTR_PREFIX@ "x"
 # endif
@@ -1051,8 +908,21 @@ extern "C" {
 #endif
 
 #if @GNULIB_IMAXABS@
-# if !@HAVE_DECL_IMAXABS@
-extern intmax_t imaxabs (intmax_t);
+# if @REPLACE_IMAXABS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef imaxabs
+#   define imaxabs rpl_imaxabs
+#  endif
+_GL_FUNCDECL_RPL (imaxabs, intmax_t, (intmax_t x));
+_GL_CXXALIAS_RPL (imaxabs, intmax_t, (intmax_t x));
+# else
+#  if !@HAVE_DECL_IMAXABS@
+_GL_FUNCDECL_SYS (imaxabs, intmax_t, (intmax_t x));
+#  endif
+_GL_CXXALIAS_SYS (imaxabs, intmax_t, (intmax_t x));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (imaxabs);
 # endif
 #elif defined GNULIB_POSIXCHECK
 # undef imaxabs
@@ -1063,12 +933,27 @@ _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
 #endif
 
 #if @GNULIB_IMAXDIV@
-# if !@HAVE_DECL_IMAXDIV@
+# if !@HAVE_IMAXDIV_T@
 #  if !GNULIB_defined_imaxdiv_t
 typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
 #   define GNULIB_defined_imaxdiv_t 1
 #  endif
-extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
+# endif
+# if @REPLACE_IMAXDIV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef imaxdiv
+#   define imaxdiv rpl_imaxdiv
+#  endif
+_GL_FUNCDECL_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+_GL_CXXALIAS_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+# else
+#  if !@HAVE_DECL_IMAXDIV@
+_GL_FUNCDECL_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+#  endif
+_GL_CXXALIAS_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (imaxdiv);
 # endif
 #elif defined GNULIB_POSIXCHECK
 # undef imaxdiv
@@ -1085,15 +970,19 @@ _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
 #   define strtoimax rpl_strtoimax
 #  endif
 _GL_FUNCDECL_RPL (strtoimax, intmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int));
+                  (const char *restrict, char **restrict, int)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoimax, intmax_t,
+                  (const char *restrict, char **restrict, int));
 # else
 #  if !@HAVE_DECL_STRTOIMAX@
 #   undef strtoimax
 _GL_FUNCDECL_SYS (strtoimax, intmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+                  (const char *restrict, char **restrict, int)
+                  _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int));
+_GL_CXXALIAS_SYS (strtoimax, intmax_t,
+                  (const char *restrict, char **restrict, int));
 # endif
 _GL_CXXALIASWARN (strtoimax);
 #elif defined GNULIB_POSIXCHECK
@@ -1105,12 +994,26 @@ _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
 #endif
 
 #if @GNULIB_STRTOUMAX@
-# if !@HAVE_DECL_STRTOUMAX@
-#  undef strtoumax
+# if @REPLACE_STRTOUMAX@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strtoumax
+#   define strtoumax rpl_strtoumax
+#  endif
+_GL_FUNCDECL_RPL (strtoumax, uintmax_t,
+                  (const char *restrict, char **restrict, int)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoumax, uintmax_t,
+                  (const char *restrict, char **restrict, int));
+# else
+#  if !@HAVE_DECL_STRTOUMAX@
+#   undef strtoumax
 _GL_FUNCDECL_SYS (strtoumax, uintmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+                  (const char *restrict, char **restrict, int)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoumax, uintmax_t,
+                  (const char *restrict, char **restrict, int));
 # endif
-_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
 _GL_CXXALIASWARN (strtoumax);
 #elif defined GNULIB_POSIXCHECK
 # undef strtoumax
diff --git a/lib/gl/langinfo.in.h b/lib/gl/langinfo.in.h
new file mode 100644 (file)
index 0000000..febbd25
--- /dev/null
@@ -0,0 +1,229 @@
+/* Substitute for and wrapper around <langinfo.h>.
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/*
+ * POSIX <langinfo.h> for platforms that lack it or have an incomplete one.
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html>
+ */
+
+#ifndef _@GUARD_PREFIX@_LANGINFO_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_LANGINFO_H@
+# @INCLUDE_NEXT@ @NEXT_LANGINFO_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_LANGINFO_H
+#define _@GUARD_PREFIX@_LANGINFO_H
+
+/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+
+#if !@HAVE_LANGINFO_H@
+
+/* A platform that lacks <langinfo.h>.  */
+
+/* Assume that it also lacks <nl_types.h> and the nl_item type.  */
+# if !GNULIB_defined_nl_item
+typedef int nl_item;
+#  define GNULIB_defined_nl_item 1
+# endif
+
+/* nl_langinfo items of the LC_CTYPE category */
+# define CODESET     10000
+/* nl_langinfo items of the LC_NUMERIC category */
+# define RADIXCHAR   10001
+# define DECIMAL_POINT RADIXCHAR
+# define THOUSEP     10002
+# define THOUSANDS_SEP THOUSEP
+# define GROUPING    10114
+/* nl_langinfo items of the LC_TIME category */
+# define D_T_FMT     10003
+# define D_FMT       10004
+# define T_FMT       10005
+# define T_FMT_AMPM  10006
+# define AM_STR      10007
+# define PM_STR      10008
+# define DAY_1       10009
+# define DAY_2       (DAY_1 + 1)
+# define DAY_3       (DAY_1 + 2)
+# define DAY_4       (DAY_1 + 3)
+# define DAY_5       (DAY_1 + 4)
+# define DAY_6       (DAY_1 + 5)
+# define DAY_7       (DAY_1 + 6)
+# define ABDAY_1     10016
+# define ABDAY_2     (ABDAY_1 + 1)
+# define ABDAY_3     (ABDAY_1 + 2)
+# define ABDAY_4     (ABDAY_1 + 3)
+# define ABDAY_5     (ABDAY_1 + 4)
+# define ABDAY_6     (ABDAY_1 + 5)
+# define ABDAY_7     (ABDAY_1 + 6)
+# define MON_1       10023
+# define MON_2       (MON_1 + 1)
+# define MON_3       (MON_1 + 2)
+# define MON_4       (MON_1 + 3)
+# define MON_5       (MON_1 + 4)
+# define MON_6       (MON_1 + 5)
+# define MON_7       (MON_1 + 6)
+# define MON_8       (MON_1 + 7)
+# define MON_9       (MON_1 + 8)
+# define MON_10      (MON_1 + 9)
+# define MON_11      (MON_1 + 10)
+# define MON_12      (MON_1 + 11)
+# define ALTMON_1    10200
+# define ALTMON_2    (ALTMON_1 + 1)
+# define ALTMON_3    (ALTMON_1 + 2)
+# define ALTMON_4    (ALTMON_1 + 3)
+# define ALTMON_5    (ALTMON_1 + 4)
+# define ALTMON_6    (ALTMON_1 + 5)
+# define ALTMON_7    (ALTMON_1 + 6)
+# define ALTMON_8    (ALTMON_1 + 7)
+# define ALTMON_9    (ALTMON_1 + 8)
+# define ALTMON_10   (ALTMON_1 + 9)
+# define ALTMON_11   (ALTMON_1 + 10)
+# define ALTMON_12   (ALTMON_1 + 11)
+# define ABMON_1     10035
+# define ABMON_2     (ABMON_1 + 1)
+# define ABMON_3     (ABMON_1 + 2)
+# define ABMON_4     (ABMON_1 + 3)
+# define ABMON_5     (ABMON_1 + 4)
+# define ABMON_6     (ABMON_1 + 5)
+# define ABMON_7     (ABMON_1 + 6)
+# define ABMON_8     (ABMON_1 + 7)
+# define ABMON_9     (ABMON_1 + 8)
+# define ABMON_10    (ABMON_1 + 9)
+# define ABMON_11    (ABMON_1 + 10)
+# define ABMON_12    (ABMON_1 + 11)
+# define ERA         10047
+# define ERA_D_FMT   10048
+# define ERA_D_T_FMT 10049
+# define ERA_T_FMT   10050
+# define ALT_DIGITS  10051
+/* nl_langinfo items of the LC_MONETARY category */
+# define CRNCYSTR    10052
+# define CURRENCY_SYMBOL   CRNCYSTR
+# define INT_CURR_SYMBOL   10100
+# define MON_DECIMAL_POINT 10101
+# define MON_THOUSANDS_SEP 10102
+# define MON_GROUPING      10103
+# define POSITIVE_SIGN     10104
+# define NEGATIVE_SIGN     10105
+# define FRAC_DIGITS       10106
+# define INT_FRAC_DIGITS   10107
+# define P_CS_PRECEDES     10108
+# define N_CS_PRECEDES     10109
+# define P_SEP_BY_SPACE    10110
+# define N_SEP_BY_SPACE    10111
+# define P_SIGN_POSN       10112
+# define N_SIGN_POSN       10113
+/* nl_langinfo items of the LC_MESSAGES category */
+# define YESEXPR     10053
+# define NOEXPR      10054
+
+#else
+
+/* A platform that has <langinfo.h>.  */
+
+# if !@HAVE_LANGINFO_CODESET@
+#  define CODESET     10000
+#  define GNULIB_defined_CODESET 1
+# endif
+
+# if !@HAVE_LANGINFO_T_FMT_AMPM@
+#  define T_FMT_AMPM  10006
+#  define GNULIB_defined_T_FMT_AMPM 1
+# endif
+
+# if !@HAVE_LANGINFO_ALTMON@
+#  define ALTMON_1    10200
+#  define ALTMON_2    (ALTMON_1 + 1)
+#  define ALTMON_3    (ALTMON_1 + 2)
+#  define ALTMON_4    (ALTMON_1 + 3)
+#  define ALTMON_5    (ALTMON_1 + 4)
+#  define ALTMON_6    (ALTMON_1 + 5)
+#  define ALTMON_7    (ALTMON_1 + 6)
+#  define ALTMON_8    (ALTMON_1 + 7)
+#  define ALTMON_9    (ALTMON_1 + 8)
+#  define ALTMON_10   (ALTMON_1 + 9)
+#  define ALTMON_11   (ALTMON_1 + 10)
+#  define ALTMON_12   (ALTMON_1 + 11)
+#  define GNULIB_defined_ALTMON 1
+# endif
+
+# if !@HAVE_LANGINFO_ERA@
+#  define ERA         10047
+#  define ERA_D_FMT   10048
+#  define ERA_D_T_FMT 10049
+#  define ERA_T_FMT   10050
+#  define ALT_DIGITS  10051
+#  define GNULIB_defined_ERA 1
+# endif
+
+# if !@HAVE_LANGINFO_YESEXPR@
+#  define YESEXPR     10053
+#  define NOEXPR      10054
+#  define GNULIB_defined_YESEXPR 1
+# endif
+
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+/* Declare overridden functions.  */
+
+
+/* Return a piece of locale dependent information.
+   Note: The difference between nl_langinfo (CODESET) and locale_charset ()
+   is that the latter normalizes the encoding names to GNU conventions.  */
+
+#if @GNULIB_NL_LANGINFO@
+# if @REPLACE_NL_LANGINFO@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef nl_langinfo
+#   define nl_langinfo rpl_nl_langinfo
+#  endif
+_GL_FUNCDECL_RPL (nl_langinfo, char *, (nl_item item));
+_GL_CXXALIAS_RPL (nl_langinfo, char *, (nl_item item));
+# else
+#  if !@HAVE_NL_LANGINFO@
+_GL_FUNCDECL_SYS (nl_langinfo, char *, (nl_item item));
+#  endif
+_GL_CXXALIAS_SYS (nl_langinfo, char *, (nl_item item));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (nl_langinfo);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef nl_langinfo
+# if HAVE_RAW_DECL_NL_LANGINFO
+_GL_WARN_ON_USE (nl_langinfo, "nl_langinfo is not portable - "
+                 "use gnulib module nl_langinfo for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_LANGINFO_H */
+#endif /* _@GUARD_PREFIX@_LANGINFO_H */
diff --git a/lib/gl/libc-config.h b/lib/gl/libc-config.h
new file mode 100644 (file)
index 0000000..7011460
--- /dev/null
@@ -0,0 +1,204 @@
+/* System definitions for code taken from the GNU C Library
+
+   Copyright 2017-2024 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this program; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* This is intended to be a good-enough substitute for glibc system
+   macros like those defined in <sys/cdefs.h>, so that Gnulib code
+   shared with glibc can do this as the first #include:
+
+     #ifndef _LIBC
+     # include <libc-config.h>
+     #endif
+
+   When compiled as part of glibc this is a no-op; when compiled as
+   part of Gnulib this includes Gnulib's <config.h> and defines macros
+   that glibc library code would normally assume.
+
+   Note: This header file MUST NOT be included by public header files
+   of Gnulib.  */
+
+#include <config.h>
+
+/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
+   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 and
+   DragonFlyBSD 5.9 it includes <sys/cdefs.h> which defines __nonnull.
+   Elsewhere it is harmless.  */
+#include <errno.h>
+
+/* From glibc <errno.h>.  */
+#ifndef __set_errno
+# define __set_errno(val) (errno = (val))
+#endif
+
+/* From glibc <features.h>.  */
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __glibc_clang_prereq
+# if defined __clang_major__ && defined __clang_minor__
+#  ifdef __apple_build_version__
+/* Apple for some reason renumbers __clang_major__ and __clang_minor__.
+   Gnulib code uses only __glibc_clang_prereq (3, 5); map it to
+   6000000 <= __apple_build_version__.  Support for other calls to
+   __glibc_clang_prereq can be added here as needed.  */
+#   define __glibc_clang_prereq(maj, min) \
+      ((maj) == 3 && (min) == 5 ? 6000000 <= __apple_build_version__ : 0)
+#  else
+#   define __glibc_clang_prereq(maj, min) \
+      ((maj) < __clang_major__ + ((min) <= __clang_minor__))
+#  endif
+# else
+#  define __glibc_clang_prereq(maj, min) 0
+# endif
+#endif
+
+#ifndef __attribute_nonnull__
+/* <sys/cdefs.h> either does not exist, or is too old for Gnulib.
+   Prepare to include <cdefs.h>, which is Gnulib's version of a
+   more-recent glibc <sys/cdefs.h>.  */
+
+/* Define _FEATURES_H so that <cdefs.h> does not include <features.h>.  */
+# ifndef _FEATURES_H
+#  define _FEATURES_H 1
+# endif
+/* Define __GNULIB_CDEFS so that <cdefs.h> does not attempt to include
+   nonexistent files.  */
+# define __GNULIB_CDEFS
+/* Undef the macros unconditionally defined by our copy of glibc
+   <sys/cdefs.h>, so that they do not clash with any system-defined
+   versions.  */
+# undef _SYS_CDEFS_H
+# undef __ASMNAME
+# undef __ASMNAME2
+# undef __BEGIN_DECLS
+# undef __CONCAT
+# undef __END_DECLS
+# undef __HAVE_GENERIC_SELECTION
+# undef __LDBL_COMPAT
+# undef __LDBL_REDIR
+# undef __LDBL_REDIR1
+# undef __LDBL_REDIR1_DECL
+# undef __LDBL_REDIR1_NTH
+# undef __LDBL_REDIR2_DECL
+# undef __LDBL_REDIR_DECL
+# undef __LDBL_REDIR_NTH
+# undef __LEAF
+# undef __LEAF_ATTR
+# undef __NTH
+# undef __NTHNL
+# undef __REDIRECT
+# undef __REDIRECT_LDBL
+# undef __REDIRECT_NTH
+# undef __REDIRECT_NTHNL
+# undef __REDIRECT_NTH_LDBL
+# undef __STRING
+# undef __THROW
+# undef __THROWNL
+# undef __attr_access
+# undef __attr_access_none
+# undef __attr_dealloc
+# undef __attr_dealloc_free
+# undef __attribute__
+# undef __attribute_alloc_align__
+# undef __attribute_alloc_size__
+# undef __attribute_artificial__
+# undef __attribute_const__
+# undef __attribute_deprecated__
+# undef __attribute_deprecated_msg__
+# undef __attribute_format_arg__
+# undef __attribute_format_strfmon__
+# undef __attribute_malloc__
+# undef __attribute_maybe_unused__
+# undef __attribute_noinline__
+# undef __attribute_nonstring__
+# undef __attribute_pure__
+# undef __attribute_returns_twice__
+# undef __attribute_used__
+# undef __attribute_warn_unused_result__
+# undef __errordecl
+# undef __extension__
+# undef __extern_always_inline
+# undef __extern_inline
+# undef __flexarr
+# undef __fortified_attr_access
+# undef __fortify_function
+# undef __glibc_c99_flexarr_available
+# undef __glibc_has_attribute
+# undef __glibc_has_builtin
+# undef __glibc_has_extension
+# undef __glibc_likely
+# undef __glibc_macro_warning
+# undef __glibc_macro_warning1
+# undef __glibc_unlikely
+# undef __inline
+# undef __ptr_t
+# undef __restrict
+# undef __restrict_arr
+# undef __va_arg_pack
+# undef __va_arg_pack_len
+# undef __warnattr
+# undef __wur
+# ifndef __GNULIB_CDEFS
+#  undef __bos
+#  undef __bos0
+#  undef __glibc_fortify
+#  undef __glibc_fortify_n
+#  undef __glibc_objsize
+#  undef __glibc_objsize0
+#  undef __glibc_safe_len_cond
+#  undef __glibc_safe_or_unknown_len
+#  undef __glibc_unsafe_len
+#  undef __glibc_unsigned_or_positive
+# endif
+
+/* Include our copy of glibc <sys/cdefs.h>.  */
+# include <cdefs.h>
+
+/* <cdefs.h> __inline is too pessimistic for non-GCC.  */
+# undef __inline
+# ifndef HAVE___INLINE
+#  if 199901 <= __STDC_VERSION__ || defined inline
+#   define __inline inline
+#  else
+#   define __inline
+#  endif
+# endif
+
+#endif /* defined __glibc_likely */
+
+
+/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib.  */
+#define attribute_hidden
+#define libc_hidden_proto(name)
+#define libc_hidden_def(name)
+#define libc_hidden_weak(name)
+#define libc_hidden_ver(local, name)
+#define strong_alias(name, aliasname)
+#define weak_alias(name, aliasname)
+
+/* A substitute for glibc <shlib-compat.h>, good enough for Gnulib.  */
+#define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+#define compat_symbol(lib, local, symbol, version) extern int dummy
+#define versioned_symbol(lib, local, symbol, version) extern int dummy
diff --git a/lib/gl/limits.in.h b/lib/gl/limits.in.h
new file mode 100644 (file)
index 0000000..236fc58
--- /dev/null
@@ -0,0 +1,151 @@
+/* A GNU-like <limits.h>.
+
+   Copyright 2016-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined _GL_ALREADY_INCLUDING_LIMITS_H
+/* Special invocation convention:
+   On Haiku/x86_64, we have a sequence of nested includes
+   <limits.h> -> <syslimits.h> -> <limits.h>.
+   In this situation, LONG_MAX and INT_MAX are not yet defined,
+   therefore we should not attempt to define LONG_BIT.  */
+
+#@INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+
+# define _GL_ALREADY_INCLUDING_LIMITS_H
+
+/* The include_next requires a split double-inclusion guard.  */
+# @INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+# undef _GL_ALREADY_INCLUDING_LIMITS_H
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+#define _@GUARD_PREFIX@_LIMITS_H
+
+#ifndef LLONG_MIN
+# if defined LONG_LONG_MIN /* HP-UX 11.31 */
+#  define LLONG_MIN LONG_LONG_MIN
+# elif defined LONGLONG_MIN /* IRIX 6.5 */
+#  define LLONG_MIN LONGLONG_MIN
+# elif defined __GNUC__
+#  define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL)
+# endif
+#endif
+#ifndef LLONG_MAX
+# if defined LONG_LONG_MAX /* HP-UX 11.31 */
+#  define LLONG_MAX LONG_LONG_MAX
+# elif defined LONGLONG_MAX /* IRIX 6.5 */
+#  define LLONG_MAX LONGLONG_MAX
+# elif defined __GNUC__
+#  define LLONG_MAX __LONG_LONG_MAX__
+# endif
+#endif
+#ifndef ULLONG_MAX
+# if defined ULONG_LONG_MAX /* HP-UX 11.31 */
+#  define ULLONG_MAX ULONG_LONG_MAX
+# elif defined ULONGLONG_MAX /* IRIX 6.5 */
+#  define ULLONG_MAX ULONGLONG_MAX
+# elif defined __GNUC__
+#  define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
+# endif
+#endif
+
+/* The number of usable bits in an unsigned or signed integer type
+   with minimum value MIN and maximum value MAX, as an int expression
+   suitable in #if.  Cover all known practical hosts.  This
+   implementation exploits the fact that MAX is 1 less than a power of
+   2, and merely counts the number of 1 bits in MAX; "COBn" means
+   "count the number of 1 bits in the low-order n bits").  */
+#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max))
+#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n))
+#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n))
+#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n))
+#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n))
+#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
+#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
+
+#ifndef WORD_BIT
+/* Assume 'int' is 32 bits wide.  */
+# define WORD_BIT 32
+#endif
+#ifndef LONG_BIT
+/* Assume 'long' is 32 or 64 bits wide.  */
+# if LONG_MAX == INT_MAX
+#  define LONG_BIT 32
+# else
+#  define LONG_BIT 64
+# endif
+#endif
+
+/* Assume no multibyte character is longer than 16 bytes.  */
+#ifndef MB_LEN_MAX
+# define MB_LEN_MAX 16
+#endif
+
+/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014.  */
+
+#if (! defined ULLONG_WIDTH                                             \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \
+         || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)))
+# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX)
+# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX)
+# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX)
+# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX)
+# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX)
+# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX)
+# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX)
+# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX)
+# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX)
+# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX)
+# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
+#endif
+
+/* Macros specified by C23.  */
+
+#if (defined _GNU_SOURCE \
+     || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))
+# if ! defined BOOL_WIDTH
+#  define BOOL_WIDTH 1
+#  define BOOL_MAX 1
+# elif ! defined BOOL_MAX
+#  define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1)
+# endif
+#endif
+
+/* Macro specified by POSIX.  */
+
+/* The maximum ssize_t value.  Although it might not be of ssize_t type
+   as it should be, it's too much trouble to fix this minor detail.  */
+#ifndef SSIZE_MAX
+# ifdef _WIN64
+#  define SSIZE_MAX LLONG_MAX
+# else
+#  define SSIZE_MAX LONG_MAX
+# endif
+#endif
+
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif
diff --git a/lib/gl/m4/__inline.m4 b/lib/gl/m4/__inline.m4
new file mode 100644 (file)
index 0000000..992e16f
--- /dev/null
@@ -0,0 +1,22 @@
+# Test for __inline keyword
+dnl Copyright 2017-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl___INLINE],
+[
+  AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
+    [gl_cv_c___inline],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }]],
+         [[return foo ();]])],
+       [gl_cv_c___inline=yes],
+       [gl_cv_c___inline=no])])
+  if test $gl_cv_c___inline = yes; then
+    AC_DEFINE([HAVE___INLINE], [1],
+      [Define to 1 if the compiler supports the keyword '__inline'.])
+  fi
+])
diff --git a/lib/gl/m4/free.m4 b/lib/gl/m4/free.m4
new file mode 100644 (file)
index 0000000..4f6dc2e
--- /dev/null
@@ -0,0 +1,52 @@
+# free.m4 serial 6
+# Copyright (C) 2003-2005, 2009-2024 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert and Bruno Haible.
+
+AC_DEFUN([gl_FUNC_FREE],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+
+  dnl In the next release of POSIX, free must preserve errno.
+  dnl https://www.austingroupbugs.net/view.php?id=385
+  dnl https://sourceware.org/bugzilla/show_bug.cgi?id=17924
+  dnl So far, we know of three platforms that do this:
+  dnl * glibc >= 2.33, thanks to the fix for this bug:
+  dnl   <https://sourceware.org/bugzilla/show_bug.cgi?id=17924>
+  dnl * OpenBSD >= 4.5, thanks to this commit:
+  dnl   <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdlib/malloc.c.diff?r1=1.100&r2=1.101&f=h>
+  dnl * Solaris, because its malloc() implementation is based on brk(),
+  dnl   not mmap(); hence its free() implementation makes no system calls.
+  dnl For other platforms, you can only be sure if they state it in their
+  dnl documentation, or by code inspection of the free() implementation in libc.
+  AC_CACHE_CHECK([whether free is known to preserve errno],
+    [gl_cv_func_free_preserves_errno],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdlib.h>
+          ]],
+          [[#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__)
+            #elif defined __OpenBSD__
+            #elif defined __sun
+            #else
+              #error "'free' is not known to preserve errno"
+            #endif
+          ]])],
+       [gl_cv_func_free_preserves_errno=yes],
+       [gl_cv_func_free_preserves_errno=no])
+    ])
+
+  case $gl_cv_func_free_preserves_errno in
+   *yes)
+    AC_DEFINE([HAVE_FREE_POSIX], [1],
+      [Define if the 'free' function is guaranteed to preserve errno.])
+    ;;
+   *) REPLACE_FREE=1 ;;
+  esac
+])
+
+# Prerequisites of lib/free.c.
+AC_DEFUN([gl_PREREQ_FREE], [:])
index 050b67c..89b5a40 100644 (file)
@@ -1,8 +1,8 @@
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -11,7 +11,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+# gnulib-tool --import \
+#  --lib=libgnu \
+#  --source-base=lib/gl \
+#  --m4-base=lib/gl/m4 \
+#  --doc-base=doc \
+#  --tests-base=tests \
+#  --aux-dir=build-aux \
+#  --lgpl=2 \
+#  --no-conditional-dependencies \
+#  --libtool \
+#  --macro-prefix=lgl \
+#  --no-vc-files \
+#  gettext-h \
+#  langinfo \
+#  stdint \
+#  striconv \
+#  strverscmp \
+#  unistr/u8-check
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
-gl_LOCAL_DIR([lib/gl/override])
+gl_LOCAL_DIR([])
 gl_MODULES([
   gettext-h
-  lib-msvc-compat
-  lib-symbol-versions
-  lib-symbol-visibility
+  langinfo
   stdint
   striconv
   strverscmp
+  unistr/u8-check
 ])
-gl_AVOID([iconv-h-tests string-tests wchar-tests])
+gl_AVOID([])
 gl_SOURCE_BASE([lib/gl])
 gl_M4_BASE([lib/gl/m4])
 gl_PO_BASE([])
 gl_DOC_BASE([doc])
-gl_TESTS_BASE([lib/gltests])
-gl_WITH_TESTS
+gl_TESTS_BASE([tests])
 gl_LIB([libgnu])
 gl_LGPL([2])
 gl_MAKEFILE_NAME([])
 gl_LIBTOOL
 gl_MACRO_PREFIX([lgl])
 gl_PO_DOMAIN([])
-gl_WITNESS_C_DOMAIN([])
+gl_WITNESS_C_MACRO([])
 gl_VC_FILES([false])
index a28e198..40162bf 100644 (file)
@@ -1,9 +1,9 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2024 Free Software Foundation, Inc.
 #
 # This file 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
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This file is distributed in the hope that it will be useful,
@@ -12,7 +12,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License,
 # this file may be distributed as part of a program that
@@ -37,91 +37,55 @@ AC_DEFUN([lgl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
-  AC_REQUIRE([AM_PROG_CC_C_O])
-  # Code from module alloca-opt:
-  # Code from module alloca-opt-tests:
+
+  # Code from module absolute-header:
+  # Code from module attribute:
   # Code from module c-ctype:
-  # Code from module c-ctype-tests:
   # Code from module c-strcase:
-  # Code from module c-strcase-tests:
-  # Code from module environ:
-  # Code from module environ-tests:
+  # Code from module c99:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  # Code from module extern-inline:
+  # Code from module free-posix:
+  # Code from module gen-header:
   # Code from module gettext-h:
   # Code from module gperf:
   # Code from module havelib:
   # Code from module iconv:
   # Code from module iconv-h:
-  # Code from module iconv-tests:
   # Code from module iconv_open:
   # Code from module include_next:
   # Code from module inline:
-  # Code from module intprops:
-  # Code from module intprops-tests:
-  # Code from module inttypes:
   # Code from module inttypes-incomplete:
-  # Code from module inttypes-tests:
-  # Code from module lib-msvc-compat:
-  # Code from module lib-symbol-versions:
-  # Code from module lib-symbol-visibility:
-  # Code from module locale:
-  # Code from module locale-tests:
-  # Code from module localename:
-  # Code from module localename-tests:
-  # Code from module lock:
-  # Code from module lock-tests:
-  # Code from module malloc-posix:
-  # Code from module malloca:
-  # Code from module malloca-tests:
+  # Code from module langinfo:
+  # Code from module libc-config:
+  # Code from module limits-h:
   # Code from module multiarch:
-  # Code from module putenv:
-  # Code from module setenv:
-  # Code from module setenv-tests:
-  # Code from module setlocale:
-  # Code from module setlocale-tests:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
-  # Code from module snippet/unused-parameter:
   # Code from module snippet/warn-on-use:
   # Code from module ssize_t:
+  # Code from module std-gnu11:
   # Code from module stdbool:
-  # Code from module stdbool-tests:
   # Code from module stddef:
-  # Code from module stddef-tests:
   # Code from module stdint:
-  # Code from module stdint-tests:
   # Code from module stdlib:
-  # Code from module stdlib-tests:
   # Code from module striconv:
-  # Code from module striconv-tests:
   # Code from module string:
   # Code from module strverscmp:
-  # Code from module strverscmp-tests:
   # Code from module sys_types:
-  # Code from module sys_types-tests:
-  # Code from module test-framework-sh:
-  # Code from module test-framework-sh-tests:
-  # Code from module thread:
-  # Code from module thread-tests:
-  # Code from module threadlib:
-  gl_THREADLIB_EARLY
   # Code from module unistd:
-  # Code from module unistd-tests:
   # Code from module unistr/base:
+  # Code from module unistr/u8-check:
   # Code from module unistr/u8-mbtoucr:
-  # Code from module unistr/u8-mbtoucr-tests:
   # Code from module unistr/u8-uctomb:
-  # Code from module unistr/u8-uctomb-tests:
   # Code from module unitypes:
-  # Code from module unsetenv:
-  # Code from module unsetenv-tests:
-  # Code from module verify:
-  # Code from module verify-tests:
+  # Code from module vararrays:
   # Code from module wchar:
-  # Code from module yield:
 ])
 
 # This macro should be invoked from ./configure.ac, in the section
@@ -136,47 +100,106 @@ AC_DEFUN([lgl_INIT],
   m4_pushdef([AC_LIBSOURCES], m4_defn([lgl_LIBSOURCES]))
   m4_pushdef([lgl_LIBSOURCES_LIST], [])
   m4_pushdef([lgl_LIBSOURCES_DIR], [])
+  m4_pushdef([GL_MACRO_PREFIX], [lgl])
+  m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_LGL])
   gl_COMMON
   gl_source_base='lib/gl'
-AC_SUBST([LIBINTL])
-AC_SUBST([LTLIBINTL])
-AM_ICONV
-m4_ifdef([gl_ICONV_MODULE_INDICATOR],
-  [gl_ICONV_MODULE_INDICATOR([iconv])])
-gl_ICONV_H
-gl_FUNC_ICONV_OPEN
-if test $REPLACE_ICONV_OPEN = 1; then
-  AC_LIBOBJ([iconv_open])
-fi
-if test $REPLACE_ICONV = 1; then
-  AC_LIBOBJ([iconv])
-  AC_LIBOBJ([iconv_close])
-fi
-gl_INLINE
-gl_LD_OUTPUT_DEF
-gl_LD_VERSION_SCRIPT
-gl_VISIBILITY
-gl_MULTIARCH
-AM_STDBOOL_H
-gl_STDDEF_H
-gl_STDINT_H
-if test $gl_cond_libtool = false; then
-  gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
-  gl_libdeps="$gl_libdeps $LIBICONV"
-fi
-gl_HEADER_STRING_H
-gl_FUNC_STRVERSCMP
-if test $HAVE_STRVERSCMP = 0; then
-  AC_LIBOBJ([strverscmp])
-  gl_PREREQ_STRVERSCMP
-fi
-gl_STRING_MODULE_INDICATOR([strverscmp])
-gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
-gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
-gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
-gl_MODULE_INDICATOR([unistr/u8-uctomb])
-gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
-gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
+  gl_source_base_prefix=
+  AC_REQUIRE([gl_EXTERN_INLINE])
+  gl_FUNC_FREE
+  gl_CONDITIONAL([GL_COND_OBJ_FREE], [test $REPLACE_FREE = 1])
+  AM_COND_IF([GL_COND_OBJ_FREE], [
+    gl_PREREQ_FREE
+  ])
+  gl_STDLIB_MODULE_INDICATOR([free-posix])
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  AC_DEFUN([gl_HAVE_MODULE_HAVELIB])
+  AM_ICONV
+  m4_ifdef([gl_ICONV_MODULE_INDICATOR],
+    [gl_ICONV_MODULE_INDICATOR([iconv])])
+  gl_ICONV_H
+  gl_ICONV_H_REQUIRE_DEFAULTS
+  gl_CONDITIONAL_HEADER([iconv.h])
+  AC_PROG_MKDIR_P
+  gl_FUNC_ICONV_OPEN
+  dnl Because of gl_REPLACE_ICONV_H:
+  gl_CONDITIONAL_HEADER([iconv.h])
+  gl_CONDITIONAL([GL_COND_OBJ_ICONV_OPEN], [test $REPLACE_ICONV_OPEN = 1])
+  gl_CONDITIONAL([GL_COND_OBJ_ICONV], [test $REPLACE_ICONV = 1])
+  gl_INLINE
+  gl_INTTYPES_INCOMPLETE
+  gl_INTTYPES_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_LANGINFO_H
+  gl_LANGINFO_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl___INLINE
+  gl_LIMITS_H
+  gl_CONDITIONAL_HEADER([limits.h])
+  AC_PROG_MKDIR_P
+  gl_MULTIARCH
+  gt_TYPE_SSIZE_T
+  gl_C_BOOL
+  gl_STDDEF_H
+  gl_STDDEF_H_REQUIRE_DEFAULTS
+  gl_CONDITIONAL_HEADER([stddef.h])
+  AC_PROG_MKDIR_P
+  gl_STDINT_H
+  gl_CONDITIONAL_HEADER([stdint.h])
+  dnl Because of gl_REPLACE_LIMITS_H:
+  gl_CONDITIONAL_HEADER([limits.h])
+  AC_PROG_MKDIR_P
+  gl_STDLIB_H
+  gl_STDLIB_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  if test $gl_cond_libtool = false; then
+    gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+    gl_libdeps="$gl_libdeps $LIBICONV"
+  fi
+  gl_STRING_H
+  gl_STRING_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_FUNC_STRVERSCMP
+  gl_CONDITIONAL([GL_COND_OBJ_STRVERSCMP], [test $HAVE_STRVERSCMP = 0])
+  AM_COND_IF([GL_COND_OBJ_STRVERSCMP], [
+    gl_PREREQ_STRVERSCMP
+  ])
+  gl_STRING_MODULE_INDICATOR([strverscmp])
+  gl_SYS_TYPES_H
+  gl_SYS_TYPES_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_UNISTD_H
+  gl_UNISTD_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
+  gl_LIBUNISTRING_LIBHEADER([1.2], [unistr.h])
+  AC_PROG_MKDIR_P
+  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-check])
+  gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
+  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
+  gl_MODULE_INDICATOR([unistr/u8-uctomb])
+  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
+  gl_LIBUNISTRING_LIBHEADER([0.9.11], [unitypes.h])
+  AC_PROG_MKDIR_P
+  AH_VERBATIM([unitypes_restrict], [
+  /* This definition is a duplicate of the one in unitypes.h.
+     It is here so that we can cope with an older version of unitypes.h
+     that does not contain this definition and that is pre-installed among
+     the public header files.  */
+  # if defined __restrict \
+       || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
+       || __clang_major__ >= 3
+  #  define _UC_RESTRICT __restrict
+  # elif 199901L <= __STDC_VERSION__ || defined restrict
+  #  define _UC_RESTRICT restrict
+  # else
+  #  define _UC_RESTRICT
+  # endif
+  ])
+  AC_C_VARARRAYS
+  gl_WCHAR_H
+  gl_WCHAR_H_REQUIRE_DEFAULTS
+  AC_PROG_MKDIR_P
   # End of code from modules
   m4_ifval(lgl_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([lgl_LIBSOURCES_DIR])[ ||
@@ -189,6 +212,8 @@ gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
       m4_if(m4_sysval, [0], [],
         [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
   ])
+  m4_popdef([GL_MODULE_INDICATOR_PREFIX])
+  m4_popdef([GL_MACRO_PREFIX])
   m4_popdef([lgl_LIBSOURCES_DIR])
   m4_popdef([lgl_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
@@ -197,16 +222,28 @@ gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
   AC_CONFIG_COMMANDS_PRE([
     lgl_libobjs=
     lgl_ltlibobjs=
+    lgl_libobjdeps=
     if test -n "$lgl_LIBOBJS"; then
       # Remove the extension.
+changequote(,)dnl
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
+changequote([, ])dnl
       for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         lgl_libobjs="$lgl_libobjs $i.$ac_objext"
         lgl_ltlibobjs="$lgl_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        lgl_libobjdeps="$lgl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     AC_SUBST([lgl_LIBOBJS], [$lgl_libobjs])
     AC_SUBST([lgl_LTLIBOBJS], [$lgl_ltlibobjs])
+    AC_SUBST([lgl_LIBOBJDEPS], [$lgl_libobjdeps])
   ])
   gltests_libdeps=
   gltests_ltlibdeps=
@@ -215,69 +252,17 @@ gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
   m4_pushdef([AC_LIBSOURCES], m4_defn([lgltests_LIBSOURCES]))
   m4_pushdef([lgltests_LIBSOURCES_LIST], [])
   m4_pushdef([lgltests_LIBSOURCES_DIR], [])
+  m4_pushdef([GL_MACRO_PREFIX], [lgltests])
+  m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_LGL])
   gl_COMMON
-  gl_source_base='lib/gltests'
+  gl_source_base='tests'
+  gl_source_base_prefix=
 changequote(,)dnl
   lgltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
 changequote([, ])dnl
   AC_SUBST([lgltests_WITNESS])
   gl_module_indicator_condition=$lgltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
-gl_FUNC_ALLOCA
-gt_LOCALE_FR
-gt_LOCALE_TR_UTF8
-gl_ENVIRON
-gl_UNISTD_MODULE_INDICATOR([environ])
-gl_INTTYPES_H
-gl_INTTYPES_INCOMPLETE
-gl_LOCALE_H
-AC_CHECK_FUNCS_ONCE([newlocale])
-gl_LOCALENAME
-AC_CHECK_FUNCS_ONCE([newlocale])
-gl_LOCK
-gl_FUNC_MALLOC_POSIX
-if test $REPLACE_MALLOC = 1; then
-  AC_LIBOBJ([malloc])
-fi
-gl_STDLIB_MODULE_INDICATOR([malloc-posix])
-gl_MALLOCA
-gl_FUNC_PUTENV
-if test $REPLACE_PUTENV = 1; then
-  AC_LIBOBJ([putenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([putenv])
-gl_FUNC_SETENV
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
-  AC_LIBOBJ([setenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([setenv])
-gl_FUNC_SETLOCALE
-if test $REPLACE_SETLOCALE = 1; then
-  AC_LIBOBJ([setlocale])
-  gl_PREREQ_SETLOCALE
-fi
-gl_LOCALE_MODULE_INDICATOR([setlocale])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_JA
-gt_LOCALE_ZH_CN
-gt_TYPE_SSIZE_T
-gt_TYPE_WCHAR_T
-gt_TYPE_WINT_T
-gl_STDLIB_H
-gl_SYS_TYPES_H
-AC_PROG_MKDIR_P
-gl_THREAD
-gl_THREADLIB
-gl_UNISTD_H
-gl_FUNC_UNSETENV
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
-  AC_LIBOBJ([unsetenv])
-  gl_PREREQ_UNSETENV
-fi
-gl_STDLIB_MODULE_INDICATOR([unsetenv])
-gl_WCHAR_H
-gl_YIELD
   m4_popdef([gl_MODULE_INDICATOR_CONDITION])
   m4_ifval(lgltests_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([lgltests_LIBSOURCES_DIR])[ ||
@@ -290,6 +275,8 @@ gl_YIELD
       m4_if(m4_sysval, [0], [],
         [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
   ])
+  m4_popdef([GL_MODULE_INDICATOR_PREFIX])
+  m4_popdef([GL_MACRO_PREFIX])
   m4_popdef([lgltests_LIBSOURCES_DIR])
   m4_popdef([lgltests_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
@@ -298,19 +285,30 @@ gl_YIELD
   AC_CONFIG_COMMANDS_PRE([
     lgltests_libobjs=
     lgltests_ltlibobjs=
+    lgltests_libobjdeps=
     if test -n "$lgltests_LIBOBJS"; then
       # Remove the extension.
+changequote(,)dnl
       sed_drop_objext='s/\.o$//;s/\.obj$//'
+      sed_dirname1='s,//*,/,g'
+      sed_dirname2='s,\(.\)/$,\1,'
+      sed_dirname3='s,^[^/]*$,.,'
+      sed_dirname4='s,\(.\)/[^/]*$,\1,'
+      sed_basename1='s,.*/,,'
+changequote([, ])dnl
       for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
         lgltests_libobjs="$lgltests_libobjs $i.$ac_objext"
         lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo"
+        i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
+        i_base=`echo "$i" | sed -e "$sed_basename1"`
+        lgltests_libobjdeps="$lgltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo"
       done
     fi
     AC_SUBST([lgltests_LIBOBJS], [$lgltests_libobjs])
     AC_SUBST([lgltests_LTLIBOBJS], [$lgltests_ltlibobjs])
+    AC_SUBST([lgltests_LIBOBJDEPS], [$lgltests_libobjdeps])
   ])
-  LIBTESTS_LIBDEPS="$gltests_libdeps"
-  AC_SUBST([LIBTESTS_LIBDEPS])
+  AC_REQUIRE([gl_CC_GNULIB_WARNINGS])
 ])
 
 # Like AC_LIBOBJ, except that the module name goes
@@ -361,7 +359,7 @@ AC_DEFUN([lgltests_REPLACE_FUNCS], [
 AC_DEFUN([lgltests_LIBSOURCES], [
   m4_foreach([_gl_NAME], [$1], [
     m4_if(_gl_NAME, [alloca.c], [], [
-      m4_define([lgltests_LIBSOURCES_DIR], [lib/gltests])
+      m4_define([lgltests_LIBSOURCES_DIR], [tests])
       m4_append([lgltests_LIBSOURCES_LIST], _gl_NAME, [ ])
     ])
   ])
@@ -371,16 +369,17 @@ AC_DEFUN([lgltests_LIBSOURCES], [
 # gnulib-tool and may be removed by future gnulib-tool invocations.
 AC_DEFUN([lgl_FILE_LIST], [
   build-aux/config.rpath
-  build-aux/snippet/_Noreturn.h
-  build-aux/snippet/arg-nonnull.h
-  build-aux/snippet/c++defs.h
-  build-aux/snippet/unused-parameter.h
-  build-aux/snippet/warn-on-use.h
+  lib/_Noreturn.h
+  lib/arg-nonnull.h
+  lib/attribute.h
+  lib/c++defs.h
   lib/c-ctype.c
   lib/c-ctype.h
   lib/c-strcase.h
   lib/c-strcasecmp.c
   lib/c-strncasecmp.c
+  lib/cdefs.h
+  lib/free.c
   lib/gettext.h
   lib/iconv.c
   lib/iconv.in.h
@@ -390,134 +389,69 @@ AC_DEFUN([lgl_FILE_LIST], [
   lib/iconv_open-irix.gperf
   lib/iconv_open-osf.gperf
   lib/iconv_open-solaris.gperf
+  lib/iconv_open-zos.gperf
   lib/iconv_open.c
-  lib/stdbool.in.h
+  lib/inttypes.in.h
+  lib/langinfo.in.h
+  lib/libc-config.h
+  lib/limits.in.h
   lib/stddef.in.h
   lib/stdint.in.h
+  lib/stdlib.in.h
   lib/striconv.c
   lib/striconv.h
   lib/string.in.h
   lib/strverscmp.c
+  lib/sys_types.in.h
+  lib/unistd.c
+  lib/unistd.in.h
   lib/unistr.in.h
+  lib/unistr/u8-check.c
   lib/unistr/u8-mbtoucr.c
   lib/unistr/u8-uctomb-aux.c
   lib/unistr/u8-uctomb.c
   lib/unitypes.in.h
+  lib/warn-on-use.h
+  lib/wchar.in.h
   m4/00gnulib.m4
-  m4/alloca.m4
+  m4/__inline.m4
+  m4/absolute-header.m4
+  m4/c-bool.m4
   m4/codeset.m4
-  m4/eealloc.m4
-  m4/environ.m4
   m4/extensions.m4
+  m4/extern-inline.m4
+  m4/free.m4
   m4/gnulib-common.m4
+  m4/host-cpu-c-abi.m4
   m4/iconv.m4
   m4/iconv_h.m4
   m4/iconv_open.m4
   m4/include_next.m4
   m4/inline.m4
-  m4/intlmacosx.m4
-  m4/inttypes-pri.m4
   m4/inttypes.m4
-  m4/lcmessage.m4
-  m4/ld-output-def.m4
-  m4/ld-version-script.m4
+  m4/langinfo_h.m4
   m4/lib-ld.m4
   m4/lib-link.m4
   m4/lib-prefix.m4
   m4/libunistring-base.m4
+  m4/limits-h.m4
   m4/locale-fr.m4
-  m4/locale-ja.m4
-  m4/locale-tr.m4
-  m4/locale-zh.m4
-  m4/locale_h.m4
-  m4/localename.m4
-  m4/lock.m4
-  m4/longlong.m4
-  m4/malloc.m4
-  m4/malloca.m4
   m4/multiarch.m4
   m4/off_t.m4
-  m4/putenv.m4
-  m4/setenv.m4
-  m4/setlocale.m4
+  m4/pid_t.m4
   m4/ssize_t.m4
-  m4/stdbool.m4
+  m4/std-gnu11.m4
   m4/stddef_h.m4
   m4/stdint.m4
   m4/stdlib_h.m4
   m4/string_h.m4
   m4/strverscmp.m4
   m4/sys_types_h.m4
-  m4/thread.m4
-  m4/threadlib.m4
   m4/unistd_h.m4
-  m4/visibility.m4
+  m4/vararrays.m4
   m4/warn-on-use.m4
   m4/wchar_h.m4
   m4/wchar_t.m4
   m4/wint_t.m4
-  m4/yield.m4
-  tests/init.sh
-  tests/macros.h
-  tests/signature.h
-  tests/test-alloca-opt.c
-  tests/test-c-ctype.c
-  tests/test-c-strcase.sh
-  tests/test-c-strcasecmp.c
-  tests/test-c-strncasecmp.c
-  tests/test-environ.c
-  tests/test-iconv.c
-  tests/test-init.sh
-  tests/test-intprops.c
-  tests/test-inttypes.c
-  tests/test-locale.c
-  tests/test-localename.c
-  tests/test-lock.c
-  tests/test-malloca.c
-  tests/test-setenv.c
-  tests/test-setlocale1.c
-  tests/test-setlocale1.sh
-  tests/test-setlocale2.c
-  tests/test-setlocale2.sh
-  tests/test-stdbool.c
-  tests/test-stddef.c
-  tests/test-stdint.c
-  tests/test-stdlib.c
-  tests/test-striconv.c
-  tests/test-strverscmp.c
-  tests/test-sys_types.c
-  tests/test-sys_wait.h
-  tests/test-thread_create.c
-  tests/test-thread_self.c
-  tests/test-unistd.c
-  tests/test-unsetenv.c
-  tests/test-verify.c
-  tests/test-verify.sh
-  tests/unistr/test-u8-mbtoucr.c
-  tests/unistr/test-u8-uctomb.c
-  tests=lib/alloca.in.h
-  tests=lib/glthread/lock.c
-  tests=lib/glthread/lock.h
-  tests=lib/glthread/thread.c
-  tests=lib/glthread/thread.h
-  tests=lib/glthread/threadlib.c
-  tests=lib/glthread/yield.h
-  tests=lib/intprops.h
-  tests=lib/inttypes.in.h
-  tests=lib/locale.in.h
-  tests=lib/localename.c
-  tests=lib/localename.h
-  tests=lib/malloc.c
-  tests=lib/malloca.c
-  tests=lib/malloca.h
-  tests=lib/malloca.valgrind
-  tests=lib/putenv.c
-  tests=lib/setenv.c
-  tests=lib/setlocale.c
-  tests=lib/stdlib.in.h
-  tests=lib/sys_types.in.h
-  tests=lib/unistd.in.h
-  tests=lib/unsetenv.c
-  tests=lib/verify.h
-  tests=lib/wchar.in.h
+  m4/zzgnulib.m4
 ])
diff --git a/lib/gl/m4/host-cpu-c-abi.m4 b/lib/gl/m4/host-cpu-c-abi.m4
new file mode 100644 (file)
index 0000000..2aa413c
--- /dev/null
@@ -0,0 +1,679 @@
+# host-cpu-c-abi.m4 serial 16
+dnl Copyright (C) 2002-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible and Sam Steingold.
+
+dnl Sets the HOST_CPU variable to the canonical name of the CPU.
+dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its
+dnl C language ABI (application binary interface).
+dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in
+dnl config.h.
+dnl
+dnl This canonical name can be used to select a particular assembly language
+dnl source file that will interoperate with C code on the given host.
+dnl
+dnl For example:
+dnl * 'i386' and 'sparc' are different canonical names, because code for i386
+dnl   will not run on SPARC CPUs and vice versa. They have different
+dnl   instruction sets.
+dnl * 'sparc' and 'sparc64' are different canonical names, because code for
+dnl   'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code
+dnl   contains 32-bit instructions, whereas 'sparc64' code contains 64-bit
+dnl   instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit
+dnl   mode, but not both.
+dnl * 'mips' and 'mipsn32' are different canonical names, because they use
+dnl   different argument passing and return conventions for C functions, and
+dnl   although the instruction set of 'mips' is a large subset of the
+dnl   instruction set of 'mipsn32'.
+dnl * 'mipsn32' and 'mips64' are different canonical names, because they use
+dnl   different sizes for the C types like 'int' and 'void *', and although
+dnl   the instruction sets of 'mipsn32' and 'mips64' are the same.
+dnl * The same canonical name is used for different endiannesses. You can
+dnl   determine the endianness through preprocessor symbols:
+dnl   - 'arm': test __ARMEL__.
+dnl   - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.
+dnl   - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.
+dnl * The same name 'i386' is used for CPUs of type i386, i486, i586
+dnl   (Pentium), AMD K7, Pentium II, Pentium IV, etc., because
+dnl   - Instructions that do not exist on all of these CPUs (cmpxchg,
+dnl     MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your
+dnl     assembly language source files use such instructions, you will
+dnl     need to make the distinction.
+dnl   - Speed of execution of the common instruction set is reasonable across
+dnl     the entire family of CPUs. If you have assembly language source files
+dnl     that are optimized for particular CPU types (like GNU gmp has), you
+dnl     will need to make the distinction.
+dnl   See <https://en.wikipedia.org/wiki/X86_instruction_listings>.
+AC_DEFUN([gl_HOST_CPU_C_ABI],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_C_ASM])
+  AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi],
+    [case "$host_cpu" in
+
+changequote(,)dnl
+       i[34567]86 )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=i386
+         ;;
+
+       x86_64 )
+         # On x86_64 systems, the C compiler may be generating code in one of
+         # these ABIs:
+         # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+         # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+         #   with native Windows (mingw, MSVC).
+         # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if (defined __x86_64__ || defined __amd64__ \
+                     || defined _M_X64 || defined _M_AMD64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __ILP32__ || defined _ILP32
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=x86_64-x32],
+              [gl_cv_host_cpu_c_abi=x86_64])],
+           [gl_cv_host_cpu_c_abi=i386])
+         ;;
+
+changequote(,)dnl
+       alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=alpha
+         ;;
+
+       arm* | aarch64 )
+         # Assume arm with EABI.
+         # On arm64 systems, the C compiler may be generating code in one of
+         # these ABIs:
+         # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+         # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __aarch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                [[#if defined __ILP32__ || defined _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+              [gl_cv_host_cpu_c_abi=arm64-ilp32],
+              [gl_cv_host_cpu_c_abi=arm64])],
+           [# Don't distinguish little-endian and big-endian arm, since they
+            # don't require different machine code for simple operations and
+            # since the user can distinguish them through the preprocessor
+            # defines __ARMEL__ vs. __ARMEB__.
+            # But distinguish arm which passes floating-point arguments and
+            # return values in integer registers (r0, r1, ...) - this is
+            # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which
+            # passes them in float registers (s0, s1, ...) and double registers
+            # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer
+            # sets the preprocessor defines __ARM_PCS (for the first case) and
+            # __ARM_PCS_VFP (for the second case), but older GCC does not.
+            echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
+            # Look for a reference to the register d0 in the .s file.
+            AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
+            if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then
+              gl_cv_host_cpu_c_abi=armhf
+            else
+              gl_cv_host_cpu_c_abi=arm
+            fi
+            rm -f conftest*
+           ])
+         ;;
+
+       hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+         # On hppa, the C compiler may be generating 32-bit code or 64-bit
+         # code. In the latter case, it defines _LP64 and __LP64__.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __LP64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=hppa64],
+           [gl_cv_host_cpu_c_abi=hppa])
+         ;;
+
+       ia64* )
+         # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+         # 32-bit code. In the latter case, it defines _ILP32.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _ILP32
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=ia64-ilp32],
+           [gl_cv_host_cpu_c_abi=ia64])
+         ;;
+
+       mips* )
+         # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+         # at 32.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=mips64],
+           [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
+            # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if (_MIPS_SIM == _ABIN32)
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=mipsn32],
+              [gl_cv_host_cpu_c_abi=mips])])
+         ;;
+
+       powerpc* )
+         # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+         # No need to distinguish them here; the caller may distinguish
+         # them based on the OS.
+         # On powerpc64 systems, the C compiler may still be generating
+         # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+         # be generating 64-bit code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __powerpc64__ || defined __LP64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [# On powerpc64, there are two ABIs on Linux: The AIX compatible
+            # one and the ELFv2 one. The latter defines _CALL_ELF=2.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined _CALL_ELF && _CALL_ELF == 2
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=powerpc64-elfv2],
+              [gl_cv_host_cpu_c_abi=powerpc64])
+           ],
+           [gl_cv_host_cpu_c_abi=powerpc])
+         ;;
+
+       rs6000 )
+         gl_cv_host_cpu_c_abi=powerpc
+         ;;
+
+       riscv32 | riscv64 )
+         # There are 2 architectures (with variants): rv32* and rv64*.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if __riscv_xlen == 64
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [cpu=riscv64],
+           [cpu=riscv32])
+         # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+         # Size of 'long' and 'void *':
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [main_abi=lp64],
+           [main_abi=ilp32])
+         # Float ABIs:
+         # __riscv_float_abi_double:
+         #   'float' and 'double' are passed in floating-point registers.
+         # __riscv_float_abi_single:
+         #   'float' are passed in floating-point registers.
+         # __riscv_float_abi_soft:
+         #   No values are passed in floating-point registers.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __riscv_float_abi_double
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [float_abi=d],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __riscv_float_abi_single
+                     int ok;
+                   #else
+                     error fail
+                   #endif
+                 ]])],
+              [float_abi=f],
+              [float_abi=''])
+           ])
+         gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"
+         ;;
+
+       s390* )
+         # On s390x, the C compiler may be generating 64-bit (= s390x) code
+         # or 31-bit (= s390) code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__ || defined __s390x__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=s390x],
+           [gl_cv_host_cpu_c_abi=s390])
+         ;;
+
+       sparc | sparc64 )
+         # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+         # C compiler still generates 32-bit code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __sparcv9 || defined __arch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=sparc64],
+           [gl_cv_host_cpu_c_abi=sparc])
+         ;;
+
+       *)
+         gl_cv_host_cpu_c_abi="$host_cpu"
+         ;;
+     esac
+    ])
+
+  dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same.
+  HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`
+  HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"
+  AC_SUBST([HOST_CPU])
+  AC_SUBST([HOST_CPU_C_ABI])
+
+  # This was
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU}__])
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])
+  # earlier, but KAI C++ 3.2d doesn't like this.
+  sed -e 's/-/_/g' >> confdefs.h <<EOF
+#ifndef __${HOST_CPU}__
+#define __${HOST_CPU}__ 1
+#endif
+#ifndef __${HOST_CPU_C_ABI}__
+#define __${HOST_CPU_C_ABI}__ 1
+#endif
+EOF
+  AH_TOP([/* CPU and C ABI indicator */
+#ifndef __i386__
+#undef __i386__
+#endif
+#ifndef __x86_64_x32__
+#undef __x86_64_x32__
+#endif
+#ifndef __x86_64__
+#undef __x86_64__
+#endif
+#ifndef __alpha__
+#undef __alpha__
+#endif
+#ifndef __arm__
+#undef __arm__
+#endif
+#ifndef __armhf__
+#undef __armhf__
+#endif
+#ifndef __arm64_ilp32__
+#undef __arm64_ilp32__
+#endif
+#ifndef __arm64__
+#undef __arm64__
+#endif
+#ifndef __hppa__
+#undef __hppa__
+#endif
+#ifndef __hppa64__
+#undef __hppa64__
+#endif
+#ifndef __ia64_ilp32__
+#undef __ia64_ilp32__
+#endif
+#ifndef __ia64__
+#undef __ia64__
+#endif
+#ifndef __loongarch64__
+#undef __loongarch64__
+#endif
+#ifndef __m68k__
+#undef __m68k__
+#endif
+#ifndef __mips__
+#undef __mips__
+#endif
+#ifndef __mipsn32__
+#undef __mipsn32__
+#endif
+#ifndef __mips64__
+#undef __mips64__
+#endif
+#ifndef __powerpc__
+#undef __powerpc__
+#endif
+#ifndef __powerpc64__
+#undef __powerpc64__
+#endif
+#ifndef __powerpc64_elfv2__
+#undef __powerpc64_elfv2__
+#endif
+#ifndef __riscv32__
+#undef __riscv32__
+#endif
+#ifndef __riscv64__
+#undef __riscv64__
+#endif
+#ifndef __riscv32_ilp32__
+#undef __riscv32_ilp32__
+#endif
+#ifndef __riscv32_ilp32f__
+#undef __riscv32_ilp32f__
+#endif
+#ifndef __riscv32_ilp32d__
+#undef __riscv32_ilp32d__
+#endif
+#ifndef __riscv64_ilp32__
+#undef __riscv64_ilp32__
+#endif
+#ifndef __riscv64_ilp32f__
+#undef __riscv64_ilp32f__
+#endif
+#ifndef __riscv64_ilp32d__
+#undef __riscv64_ilp32d__
+#endif
+#ifndef __riscv64_lp64__
+#undef __riscv64_lp64__
+#endif
+#ifndef __riscv64_lp64f__
+#undef __riscv64_lp64f__
+#endif
+#ifndef __riscv64_lp64d__
+#undef __riscv64_lp64d__
+#endif
+#ifndef __s390__
+#undef __s390__
+#endif
+#ifndef __s390x__
+#undef __s390x__
+#endif
+#ifndef __sh__
+#undef __sh__
+#endif
+#ifndef __sparc__
+#undef __sparc__
+#endif
+#ifndef __sparc64__
+#undef __sparc64__
+#endif
+])
+
+])
+
+
+dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
+dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
+dnl one, or to 'unknown' if unknown.
+dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
+AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
+    [if test -n "$gl_cv_host_cpu_c_abi"; then
+       dnl gl_HOST_CPU_C_ABI has already been run. Use its result.
+       case "$gl_cv_host_cpu_c_abi" in
+         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+           gl_cv_host_cpu_c_abi_32bit=yes ;;
+         x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+           gl_cv_host_cpu_c_abi_32bit=no ;;
+         *)
+           gl_cv_host_cpu_c_abi_32bit=unknown ;;
+       esac
+     else
+       case "$host_cpu" in
+
+         # CPUs that only support a 32-bit ABI.
+         arc \
+         | bfin \
+         | cris* \
+         | csky \
+         | epiphany \
+         | ft32 \
+         | h8300 \
+         | m68k \
+         | microblaze | microblazeel \
+         | nds32 | nds32le | nds32be \
+         | nios2 | nios2eb | nios2el \
+         | or1k* \
+         | or32 \
+         | sh | sh[1234] | sh[1234]e[lb] \
+         | tic6x \
+         | xtensa* )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         # CPUs that only support a 64-bit ABI.
+changequote(,)dnl
+         alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+         | mmix )
+changequote([,])dnl
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+
+changequote(,)dnl
+         i[34567]86 )
+changequote([,])dnl
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         x86_64 )
+           # On x86_64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+           #   with native Windows (mingw, MSVC).
+           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         arm* | aarch64 | aarch64c )
+           # Assume arm with EABI.
+           # On arm64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+           # On hppa, the C compiler may be generating 32-bit code or 64-bit
+           # code. In the latter case, it defines _LP64 and __LP64__.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         ia64* )
+           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+           # 32-bit code. In the latter case, it defines _ILP32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=yes],
+             [gl_cv_host_cpu_c_abi_32bit=no])
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         powerpc* )
+           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+           # No need to distinguish them here; the caller may distinguish
+           # them based on the OS.
+           # On powerpc64 systems, the C compiler may still be generating
+           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+           # be generating 64-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __powerpc64__ || defined __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         rs6000 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         riscv32 | riscv64 )
+           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+           # Size of 'long' and 'void *':
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         *)
+           gl_cv_host_cpu_c_abi_32bit=unknown
+           ;;
+       esac
+     fi
+    ])
+
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
+])
diff --git a/lib/gl/m4/iconv.m4 b/lib/gl/m4/iconv.m4
new file mode 100644 (file)
index 0000000..aa3de6c
--- /dev/null
@@ -0,0 +1,293 @@
+# iconv.m4 serial 26
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2024 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.64])
+
+dnl Note: AM_ICONV is documented in the GNU gettext manual
+dnl <https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html>.
+dnl Don't make changes that are incompatible with that documentation!
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <stdlib.h>
+#include <iconv.h>
+         ]],
+         [[iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);]])],
+      [am_cv_func_iconv=yes])
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+           ]],
+           [[iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);]])],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+      dnl Solaris 10.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+             ]],
+             [[int result = 0;
+  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
+     successful returns.  This is even documented in
+     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  {
+    /* Try standardized names.  */
+    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
+    /* Try IRIX, OSF/1 names.  */
+    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
+    /* Try AIX names.  */
+    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
+    /* Try HP-UX names.  */
+    iconv_t cd4 = iconv_open ("utf8", "eucJP");
+    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
+        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
+      result |= 16;
+    if (cd1 != (iconv_t)(-1))
+      iconv_close (cd1);
+    if (cd2 != (iconv_t)(-1))
+      iconv_close (cd2);
+    if (cd3 != (iconv_t)(-1))
+      iconv_close (cd3);
+    if (cd4 != (iconv_t)(-1))
+      iconv_close (cd4);
+  }
+  return result;
+]])],
+          [am_cv_func_iconv_works=yes], ,
+          [case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac])
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+    ])
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+    AC_DEFINE([HAVE_ICONV], [1],
+      [Define if you have the iconv() function and it works.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+AC_DEFUN_ONCE([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([whether iconv is compatible with its POSIX signature],
+      [gl_cv_iconv_nonconst],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+            ]],
+            [[]])],
+         [gl_cv_iconv_nonconst=yes],
+         [gl_cv_iconv_nonconst=no])
+      ])
+  else
+    dnl When compiling GNU libiconv on a system that does not have iconv yet,
+    dnl pick the POSIX compliant declaration without 'const'.
+    gl_cv_iconv_nonconst=yes
+  fi
+  if test $gl_cv_iconv_nonconst = yes; then
+    iconv_arg1=""
+  else
+    iconv_arg1="const"
+  fi
+  AC_DEFINE_UNQUOTED([ICONV_CONST], [$iconv_arg1],
+    [Define as const if the declaration of iconv() needs const.])
+  dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+  m4_ifdef([gl_ICONV_H_DEFAULTS],
+    [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+     if test $gl_cv_iconv_nonconst != yes; then
+       ICONV_CONST="const"
+     fi
+    ])
+
+  dnl A summary result, for those packages which want to print a summary at the
+  dnl end of the configuration.
+  if test "$am_func_iconv" = yes; then
+    if test -n "$LIBICONV"; then
+      am_cv_func_iconv_summary='yes, in libiconv'
+    else
+      am_cv_func_iconv_summary='yes, in libc'
+    fi
+  else
+    if test "$am_cv_func_iconv" = yes; then
+      am_cv_func_iconv_summary='not working, consider installing GNU libiconv'
+    else
+      am_cv_func_iconv_summary='no, consider installing GNU libiconv'
+    fi
+  fi
+])
index aa86cf8..7b56088 100644 (file)
@@ -1,41 +1,70 @@
-# iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# iconv_h.m4 serial 16
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_ICONV_H],
+AC_DEFUN_ONCE([gl_ICONV_H],
 [
   AC_REQUIRE([gl_ICONV_H_DEFAULTS])
 
-  dnl Execute this unconditionally, because ICONV_H may be set by other
-  dnl modules, after this code is executed.
+  dnl Execute this unconditionally, because GL_GENERATE_ICONV_H may be set to
+  dnl true by other modules, after this code is executed.
   gl_CHECK_NEXT_HEADERS([iconv.h])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use, and which is not
+  dnl guaranteed by C89.
+  gl_WARN_ON_USE_PREPARE([[#include <iconv.h>
+    ]], [iconv iconv_open])
+
+  AC_REQUIRE([AC_C_RESTRICT])
 ])
 
 dnl Unconditionally enables the replacement of <iconv.h>.
 AC_DEFUN([gl_REPLACE_ICONV_H],
 [
-  AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-  ICONV_H='iconv.h'
-  AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"])
+  gl_ICONV_H_REQUIRE_DEFAULTS
+  GL_GENERATE_ICONV_H=true
 ])
 
+# gl_ICONV_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_ICONV_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_ICONV_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_ICONV_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ICONV])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_ICONV_H_DEFAULTS],
 [
-  GNULIB_ICONV=0;       AC_SUBST([GNULIB_ICONV])
+  m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])])
   dnl Assume proper GNU behavior unless another module says otherwise.
   ICONV_CONST=;         AC_SUBST([ICONV_CONST])
   REPLACE_ICONV=0;      AC_SUBST([REPLACE_ICONV])
   REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN])
   REPLACE_ICONV_UTF=0;  AC_SUBST([REPLACE_ICONV_UTF])
-  ICONV_H='';           AC_SUBST([ICONV_H])
-  AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"])
+  GL_GENERATE_ICONV_H=false
+  m4_ifdef([gl_POSIXCHECK],
+    [GL_GENERATE_ICONV_H=true],
+    [if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then
+       dnl Override <fnmatch.h> always, to support the C++ GNULIB_NAMESPACE.
+       GL_GENERATE_ICONV_H=true
+     fi
+    ])
 ])
index 07f4849..d4fd3ab 100644 (file)
@@ -1,5 +1,5 @@
-# iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+# iconv_open.m4 serial 16
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -23,11 +23,12 @@ AC_DEFUN([gl_FUNC_ICONV_OPEN],
     if test $gl_func_iconv_gnu = no; then
       iconv_flavor=
       case "$host_os" in
-        aix*)     iconv_flavor=ICONV_FLAVOR_AIX ;;
-        irix*)    iconv_flavor=ICONV_FLAVOR_IRIX ;;
-        hpux*)    iconv_flavor=ICONV_FLAVOR_HPUX ;;
-        osf*)     iconv_flavor=ICONV_FLAVOR_OSF ;;
-        solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
+        aix*)         iconv_flavor=ICONV_FLAVOR_AIX ;;
+        irix*)        iconv_flavor=ICONV_FLAVOR_IRIX ;;
+        hpux*)        iconv_flavor=ICONV_FLAVOR_HPUX ;;
+        osf*)         iconv_flavor=ICONV_FLAVOR_OSF ;;
+        solaris*)     iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
+        openedition*) iconv_flavor=ICONV_FLAVOR_ZOS ;;
       esac
       if test -n "$iconv_flavor"; then
         AC_DEFINE_UNQUOTED([ICONV_FLAVOR], [$iconv_flavor],
@@ -38,13 +39,16 @@ AC_DEFUN([gl_FUNC_ICONV_OPEN],
     fi
     m4_ifdef([gl_FUNC_ICONV_OPEN_UTF_SUPPORT], [
       gl_FUNC_ICONV_OPEN_UTF_SUPPORT
-      if test $gl_cv_func_iconv_supports_utf = no; then
-        REPLACE_ICONV_UTF=1
-        AC_DEFINE([REPLACE_ICONV_UTF], [1],
-          [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.])
-        REPLACE_ICONV=1
-        gl_REPLACE_ICONV_OPEN
-      fi
+      case "$gl_cv_func_iconv_supports_utf" in
+        *yes) ;;
+        *)
+          REPLACE_ICONV_UTF=1
+          AC_DEFINE([REPLACE_ICONV_UTF], [1],
+            [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.])
+          REPLACE_ICONV=1
+          gl_REPLACE_ICONV_OPEN
+          ;;
+      esac
     ])
   fi
 ])
index 6fa9972..208f742 100644 (file)
@@ -1,5 +1,5 @@
 # inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2012 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
similarity index 72%
rename from gl/m4/inttypes.m4
rename to lib/gl/m4/inttypes.m4
index eec4f41..6abf9db 100644 (file)
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 26
-dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# inttypes.m4 serial 37
+dnl Copyright (C) 2006-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Derek Price, Bruno Haible.
 dnl Test whether <inttypes.h> is supported or must be substituted.
 
-AC_DEFUN([gl_INTTYPES_H],
+AC_DEFUN_ONCE([gl_INTTYPES_H],
 [
   AC_REQUIRE([gl_INTTYPES_INCOMPLETE])
   gl_INTTYPES_PRI_SCN
@@ -28,17 +28,26 @@ AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
     ]], [imaxabs imaxdiv strtoimax strtoumax])
+
+  AC_REQUIRE([AC_C_RESTRICT])
 ])
 
 # Ensure that the PRI* and SCN* macros are defined appropriately.
 AC_DEFUN([gl_INTTYPES_PRI_SCN],
 [
-  AC_REQUIRE([gt_INTTYPES_PRI])
-
   PRIPTR_PREFIX=
-  if test -n "$STDINT_H"; then
-    dnl Using the gnulib <stdint.h>. It always defines intptr_t to 'long'.
-    PRIPTR_PREFIX='"l"'
+  if $GL_GENERATE_STDINT_H; then
+    dnl Using the gnulib <stdint.h>. It defines intptr_t to 'long' or
+    dnl 'long long', depending on _WIN64.
+    AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM([[
+         #ifdef _WIN64
+         LLP64
+         #endif
+         ]])
+      ],
+      [PRIPTR_PREFIX='"l"'],
+      [PRIPTR_PREFIX='"ll"'])
   else
     dnl Using the system's <stdint.h>.
     for glpfx in '' l ll I64; do
@@ -113,10 +122,8 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
 
             #if $2
              #define CONDITION ($3)
-            #elif HAVE_LONG_LONG_INT
-             #define CONDITION ($4)
             #else
-             #define CONDITION 0
+             #define CONDITION ($4)
             #endif
             int test[CONDITION ? 1 : -1];]])],
        [gl_cv_test_$1=yes],
@@ -129,28 +136,48 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
   AC_SUBST([$1])
 ])
 
+# gl_INTTYPES_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
 AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR],
 [
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
+  dnl Ensure to expand the default settings once only.
+  gl_INTTYPES_H_REQUIRE_DEFAULTS
   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 ])
 
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
+])
+
 AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
 [
-  GNULIB_IMAXABS=0;      AC_SUBST([GNULIB_IMAXABS])
-  GNULIB_IMAXDIV=0;      AC_SUBST([GNULIB_IMAXDIV])
-  GNULIB_STRTOIMAX=0;    AC_SUBST([GNULIB_STRTOIMAX])
-  GNULIB_STRTOUMAX=0;    AC_SUBST([GNULIB_STRTOUMAX])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_IMAXABS=1;   AC_SUBST([HAVE_DECL_IMAXABS])
   HAVE_DECL_IMAXDIV=1;   AC_SUBST([HAVE_DECL_IMAXDIV])
   HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
   HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
+  HAVE_IMAXDIV_T=1;      AC_SUBST([HAVE_IMAXDIV_T])
+  HAVE_IMAXABS=1;        AC_SUBST([HAVE_IMAXABS])
+  HAVE_IMAXDIV=1;        AC_SUBST([HAVE_IMAXDIV])
+  REPLACE_IMAXABS=0;     AC_SUBST([REPLACE_IMAXABS])
+  REPLACE_IMAXDIV=0;     AC_SUBST([REPLACE_IMAXDIV])
   REPLACE_STRTOIMAX=0;   AC_SUBST([REPLACE_STRTOIMAX])
+  REPLACE_STRTOUMAX=0;   AC_SUBST([REPLACE_STRTOUMAX])
   INT32_MAX_LT_INTMAX_MAX=1;  AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
   INT64_MAX_EQ_LONG_MAX='defined _LP64';  AC_SUBST([INT64_MAX_EQ_LONG_MAX])
-  PRI_MACROS_BROKEN=0;   AC_SUBST([PRI_MACROS_BROKEN])
   PRIPTR_PREFIX=__PRIPTR_PREFIX;  AC_SUBST([PRIPTR_PREFIX])
   UINT32_MAX_LT_UINTMAX_MAX=1;  AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX])
   UINT64_MAX_EQ_ULONG_MAX='defined _LP64';  AC_SUBST([UINT64_MAX_EQ_ULONG_MAX])
diff --git a/lib/gl/m4/langinfo_h.m4 b/lib/gl/m4/langinfo_h.m4
new file mode 100644 (file)
index 0000000..888b161
--- /dev/null
@@ -0,0 +1,137 @@
+# langinfo_h.m4 serial 12
+dnl Copyright (C) 2009-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_LANGINFO_H],
+[
+  AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
+
+  dnl Persuade glibc-2.0.6 <langinfo.h> to define CODESET.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  dnl <langinfo.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([langinfo.h])
+
+  dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS.
+  HAVE_LANGINFO_CODESET=0
+  HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
+  HAVE_LANGINFO_ERA=0
+  HAVE_LANGINFO_YESEXPR=0
+  AC_CHECK_HEADERS_ONCE([langinfo.h])
+  if test $ac_cv_header_langinfo_h = yes; then
+    HAVE_LANGINFO_H=1
+    dnl Determine what <langinfo.h> defines.
+    dnl CODESET is missing on OpenBSD 3.8.
+    dnl ERA etc. are missing on OpenBSD 6.7.
+    dnl T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
+    dnl ALTMON_* are missing on glibc 2.26 and many other systems.
+    AC_CACHE_CHECK([whether langinfo.h defines CODESET],
+      [gl_cv_header_langinfo_codeset],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = CODESET;
+]])],
+         [gl_cv_header_langinfo_codeset=yes],
+         [gl_cv_header_langinfo_codeset=no])
+      ])
+    if test $gl_cv_header_langinfo_codeset = yes; then
+      HAVE_LANGINFO_CODESET=1
+    fi
+    AC_CACHE_CHECK([whether langinfo.h defines T_FMT_AMPM],
+      [gl_cv_header_langinfo_t_fmt_ampm],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = T_FMT_AMPM;
+]])],
+         [gl_cv_header_langinfo_t_fmt_ampm=yes],
+         [gl_cv_header_langinfo_t_fmt_ampm=no])
+      ])
+    if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+      HAVE_LANGINFO_T_FMT_AMPM=1
+    fi
+    AC_CACHE_CHECK([whether langinfo.h defines ALTMON_1],
+      [gl_cv_header_langinfo_altmon],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = ALTMON_1;
+]])],
+         [gl_cv_header_langinfo_altmon=yes],
+         [gl_cv_header_langinfo_altmon=no])
+      ])
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=1
+    fi
+    AC_CACHE_CHECK([whether langinfo.h defines ERA],
+      [gl_cv_header_langinfo_era],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = ERA;
+]])],
+         [gl_cv_header_langinfo_era=yes],
+         [gl_cv_header_langinfo_era=no])
+      ])
+    if test $gl_cv_header_langinfo_era = yes; then
+      HAVE_LANGINFO_ERA=1
+    fi
+    AC_CACHE_CHECK([whether langinfo.h defines YESEXPR],
+      [gl_cv_header_langinfo_yesexpr],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = YESEXPR;
+]])],
+         [gl_cv_header_langinfo_yesexpr=yes],
+         [gl_cv_header_langinfo_yesexpr=no])
+      ])
+    if test $gl_cv_header_langinfo_yesexpr = yes; then
+      HAVE_LANGINFO_YESEXPR=1
+    fi
+  else
+    HAVE_LANGINFO_H=0
+  fi
+  AC_SUBST([HAVE_LANGINFO_H])
+  AC_SUBST([HAVE_LANGINFO_CODESET])
+  AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM])
+  AC_SUBST([HAVE_LANGINFO_ALTMON])
+  AC_SUBST([HAVE_LANGINFO_ERA])
+  AC_SUBST([HAVE_LANGINFO_YESEXPR])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[#include <langinfo.h>
+    ]], [nl_langinfo])
+])
+
+# gl_LANGINFO_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR],
+[
+  dnl Ensure to expand the default settings once only.
+  gl_LANGINFO_H_REQUIRE_DEFAULTS
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS])
+  AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_LANGINFO_H_DEFAULTS],
+[
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_NL_LANGINFO=1;    AC_SUBST([HAVE_NL_LANGINFO])
+  REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO])
+])
diff --git a/lib/gl/m4/ld-version-script.m4 b/lib/gl/m4/ld-version-script.m4
deleted file mode 100644 (file)
index 5ed93ef..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# ld-version-script.m4 serial 3
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Simon Josefsson
-
-# FIXME: The test below returns a false positive for mingw
-# cross-compiles, 'local:' statements does not reduce number of
-# exported symbols in a DLL.  Use --disable-ld-version-script to work
-# around the problem.
-
-# gl_LD_VERSION_SCRIPT
-# --------------------
-# Check if LD supports linker scripts, and define automake conditional
-# HAVE_LD_VERSION_SCRIPT if so.
-AC_DEFUN([gl_LD_VERSION_SCRIPT],
-[
-  AC_ARG_ENABLE([ld-version-script],
-    AS_HELP_STRING([--enable-ld-version-script],
-      [enable linker version script (default is enabled when possible)]),
-      [have_ld_version_script=$enableval], [])
-  if test -z "$have_ld_version_script"; then
-    AC_MSG_CHECKING([if LD -Wl,--version-script works])
-    save_LDFLAGS="$LDFLAGS"
-    LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
-    cat > conftest.map <<EOF
-foo
-EOF
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                   [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
-    if test "$accepts_syntax_errors" = no; then
-      cat > conftest.map <<EOF
-VERS_1 {
-        global: sym;
-};
-
-VERS_2 {
-        global: sym;
-} VERS_1;
-EOF
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                     [have_ld_version_script=yes], [have_ld_version_script=no])
-    else
-      have_ld_version_script=no
-    fi
-    rm -f conftest.map
-    LDFLAGS="$save_LDFLAGS"
-    AC_MSG_RESULT($have_ld_version_script)
-  fi
-  AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
-])
diff --git a/lib/gl/m4/lib-ld.m4 b/lib/gl/m4/lib-ld.m4
new file mode 100644 (file)
index 0000000..f079332
--- /dev/null
@@ -0,0 +1,168 @@
+# lib-ld.m4 serial 12
+dnl Copyright (C) 1996-2003, 2009-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([[--with-gnu-ld]],
+        [assume the C compiler uses GNU ld [default=no]])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+if test -n "$LD"; then
+  AC_MSG_CHECKING([for ld])
+elif test "$GCC" = yes; then
+  AC_MSG_CHECKING([for ld used by $CC])
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+if test -n "$LD"; then
+  # Let the user override the test with a path.
+  :
+else
+  AC_CACHE_VAL([acl_cv_path_LD],
+  [
+    acl_cv_path_LD= # Final result of this test
+    ac_prog=ld # Program to search in $PATH
+    if test "$GCC" = yes; then
+      # Check if gcc -print-prog-name=ld gives a path.
+      case $host in
+        *-*-mingw* | windows*)
+          # gcc leaves a trailing carriage return which upsets mingw
+          acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+        *)
+          acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
+      esac
+      case $acl_output in
+        # Accept absolute paths.
+        [[\\/]]* | ?:[[\\/]]*)
+          re_direlt='/[[^/]][[^/]]*/\.\./'
+          # Canonicalize the pathname of ld
+          acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
+          while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
+            acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
+          done
+          # Got the pathname. No search in PATH is needed.
+          acl_cv_path_LD="$acl_output"
+          ac_prog=
+          ;;
+        "")
+          # If it fails, then pretend we aren't using GCC.
+          ;;
+        *)
+          # If it is relative, then search for the first ld in PATH.
+          with_gnu_ld=unknown
+          ;;
+      esac
+    fi
+    if test -n "$ac_prog"; then
+      # Search for $ac_prog in $PATH.
+      acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+      for ac_dir in $PATH; do
+        IFS="$acl_save_ifs"
+        test -z "$ac_dir" && ac_dir=.
+        if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+          acl_cv_path_LD="$ac_dir/$ac_prog"
+          # Check to see if the program is GNU ld.  I'd rather use --version,
+          # but apparently some variants of GNU ld only accept -v.
+          # Break only if it was the GNU/non-GNU ld that we prefer.
+          case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+            *GNU* | *'with BFD'*)
+              test "$with_gnu_ld" != no && break
+              ;;
+            *)
+              test "$with_gnu_ld" != yes && break
+              ;;
+          esac
+        fi
+      done
+      IFS="$acl_save_ifs"
+    fi
+    case $host in
+      *-*-aix*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __powerpc64__ || defined __LP64__
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [# The compiler produces 64-bit code. Add option '-b64' so that the
+           # linker groks 64-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -b64 "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
+           esac
+          ], [])
+        ;;
+      sparc64-*-netbsd*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __sparcv9 || defined __arch64__
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [],
+          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
+           # so that the linker groks 32-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -m elf32_sparc "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
+           esac
+          ])
+        ;;
+    esac
+  ])
+  LD="$acl_cv_path_LD"
+fi
+if test -n "$LD"; then
+  AC_MSG_RESULT([$LD])
+else
+  AC_MSG_RESULT([no])
+  AC_MSG_ERROR([no acceptable ld found in \$PATH])
+fi
+AC_LIB_PROG_LD_GNU
+])
similarity index 78%
rename from m4/lib-link.m4
rename to lib/gl/m4/lib-link.m4
index c73bd8e..d91ecb3 100644 (file)
@@ -1,12 +1,12 @@
-# lib-link.m4 serial 21 (gettext-0.18)
-dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
+# lib-link.m4 serial 33
+dnl Copyright (C) 2001-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
-AC_PREREQ([2.54])
+AC_PREREQ([2.61])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
@@ -18,9 +18,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
@@ -58,9 +58,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 
   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   dnl accordingly.
@@ -85,7 +85,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
       *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
       *)       LIBS="$LIB[]NAME $LIBS" ;;
     esac
-    AC_TRY_LINK([$3], [$4],
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[$3]], [[$4]])],
       [ac_cv_lib[]Name=yes],
       [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
     LIBS="$ac_save_LIBS"
@@ -115,14 +116,16 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 dnl Determine the platform dependent parameters needed to use rpath:
 dnl   acl_libext,
 dnl   acl_shlibext,
+dnl   acl_libname_spec,
+dnl   acl_library_names_spec,
 dnl   acl_hardcode_libdir_flag_spec,
 dnl   acl_hardcode_libdir_separator,
 dnl   acl_hardcode_direct,
 dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  dnl Complain if config.rpath is missing.
+  AC_REQUIRE_AUX_FILE([config.rpath])
   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
@@ -157,15 +160,15 @@ dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
 dnl macro call that searches for libname.
 AC_DEFUN([AC_LIB_FROMPACKAGE],
 [
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   define([acl_frompackage_]NAME, [$2])
   popdef([NAME])
   pushdef([PACK],[$2])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   define([acl_libsinpackage_]PACKUP,
-    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
   popdef([PACKUP])
   popdef([PACK])
 ])
@@ -178,23 +181,23 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
+    eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+    eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
   ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+  AC_ARG_WITH(PACK[-prefix],
+[[  --with-]]PACK[[-prefix[=DIR]  search for ]]PACKLIBS[[ in DIR/include and DIR/lib
+  --without-]]PACK[[-prefix     don't search for ]]PACKLIBS[[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -203,19 +206,25 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         AC_LIB_WITH_FINAL_PREFIX([
           eval additional_includedir=\"$includedir\"
           eval additional_libdir=\"$libdir\"
+          eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
+          eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
         ])
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
+        additional_libdir2="$withval/$acl_libdirstem2"
+        additional_libdir3="$withval/$acl_libdirstem3"
       fi
     fi
 ])
+  if test "X$additional_libdir2" = "X$additional_libdir"; then
+    additional_libdir2=
+  fi
+  if test "X$additional_libdir3" = "X$additional_libdir"; then
+    additional_libdir3=
+  fi
   dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
+  dnl $LDFLAGS. Use breadth-first search.
   LIB[]NAME=
   LTLIB[]NAME=
   INC[]NAME=
@@ -242,7 +251,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         names_already_handled="$names_already_handled $name"
         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
         dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
         eval value=\"\$HAVE_LIB$uppername\"
         if test -n "$value"; then
           if test "$value" = yes; then
@@ -269,48 +278,54 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
             shrext=
           fi
           if test $use_additional = yes; then
-            dir="$additional_libdir"
-            dnl The same code as in the loop below:
-            dnl First look for a shared library.
-            if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
+            for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do
+              if test "X$found_dir" = "X"; then
+                eval dir=\$$additional_libdir_variable
+                if test -n "$dir"; then
+                  dnl The same code as in the loop below:
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
                   fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
                       found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
+                      found_a="$dir/$libname.$acl_libext"
                     fi
-                  done
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
                 fi
               fi
-            fi
-            dnl Then look for a static library.
-            if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
+            done
           fi
           if test "X$found_dir" = "X"; then
             for x in $LDFLAGS $LTLIB[]NAME; do
@@ -320,7 +335,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
                   dnl First look for a shared library.
                   if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
+                    if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
                       found_dir="$dir"
                       found_so="$dir/$libname$shrext"
                     else
@@ -330,14 +345,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                               | sed -e "s,^$libname$shrext\\\\.,," \
                               | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
                               | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
                           found_dir="$dir"
                           found_so="$dir/$libname$shrext.$ver"
                         fi
                       else
                         eval library_names=\"$acl_library_names_spec\"
                         for f in $library_names; do
-                          if test -f "$dir/$f"; then
+                          if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
                             found_dir="$dir"
                             found_so="$dir/$f"
                             break
@@ -348,7 +363,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                   fi
                   dnl Then look for a static library.
                   if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
+                    if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
                       found_dir="$dir"
                       found_a="$dir/$libname.$acl_libext"
                     fi
@@ -374,7 +389,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl standard /usr/lib.
               if test "$enable_rpath" = no \
                  || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -474,6 +490,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                 fi
                 additional_includedir="$basedir/include"
                 ;;
+              */$acl_libdirstem3 | */$acl_libdirstem3/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
             esac
             if test "X$additional_includedir" != "X"; then
               dnl Potentially add $additional_includedir to $INCNAME.
@@ -524,19 +547,21 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               for dep in $dependency_libs; do
                 case "$dep" in
                   -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME.
                     dnl But don't add it
                     dnl   1. if it's the standard /usr/lib,
                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                    if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \
+                       && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                      if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \
+                         || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -547,29 +572,29 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                         haveit=
                         for x in $LDFLAGS $LIB[]NAME; do
                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
+                          if test "X$x" = "X-L$dependency_libdir"; then
                             haveit=yes
                             break
                           fi
                         done
                         if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          if test -d "$dependency_libdir"; then
+                            dnl Really add $dependency_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir"
                           fi
                         fi
                         haveit=
                         for x in $LDFLAGS $LTLIB[]NAME; do
                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
+                          if test "X$x" = "X-L$dependency_libdir"; then
                             haveit=yes
                             break
                           fi
                         done
                         if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          if test -d "$dependency_libdir"; then
+                            dnl Really add $dependency_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir"
                           fi
                         fi
                       fi
@@ -606,7 +631,20 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     ;;
                   -l*)
                     dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    dnl But on GNU systems, ignore -lc options, because
+                    dnl   - linking with libc is the default anyway,
+                    dnl   - linking with libc.a may produce an error
+                    dnl     "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie"
+                    dnl     or may produce an executable that always crashes, see
+                    dnl     <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
+                    dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
                     ;;
                   *.la)
                     dnl Handle this in the next round. Throw away the .la's
@@ -667,7 +705,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
-  popdef([P_A_C_K])
   popdef([PACKLIBS])
   popdef([PACKUP])
   popdef([PACK])
@@ -718,7 +755,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
           dir="$next"
           dnl No need to hardcode the standard /usr/lib.
           if test "X$dir" != "X/usr/$acl_libdirstem" \
-             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+             && test "X$dir" != "X/usr/$acl_libdirstem2" \
+             && test "X$dir" != "X/usr/$acl_libdirstem3"; then
             rpathdirs="$rpathdirs $dir"
           fi
           next=
@@ -728,7 +766,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
             -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
                  dnl No need to hardcode the standard /usr/lib.
                  if test "X$dir" != "X/usr/$acl_libdirstem" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                    && test "X$dir" != "X/usr/$acl_libdirstem2" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem3"; then
                    rpathdirs="$rpathdirs $dir"
                  fi
                  next= ;;
diff --git a/lib/gl/m4/lib-prefix.m4 b/lib/gl/m4/lib-prefix.m4
new file mode 100644 (file)
index 0000000..d597553
--- /dev/null
@@ -0,0 +1,323 @@
+# lib-prefix.m4 serial 20
+dnl Copyright (C) 2001-2005, 2008-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH([lib-prefix],
+[[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir]],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a function acl_is_expected_elfclass, that tests whether standard input
+dn;   has a 32-bit or 64-bit ELF header, depending on the host CPU ABI,
+dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing
+dnl   the basename of the libdir to try in turn, either "lib" or "lib64" or
+dnl   "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar.
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib, lib32, and lib64.
+  dnl On most glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on
+  dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go
+  dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib.
+  dnl We determine the compiler's default mode by looking at the compiler's
+  dnl library search path. If at least one of its elements ends in /lib64 or
+  dnl points to a directory whose absolute pathname ends in /lib64, we use that
+  dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default,
+  dnl namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
+
+  AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf],
+    [AC_EGREP_CPP([Extensible Linking Format],
+       [#if defined __ELF__ || (defined __linux__ && defined __EDG__)
+        Extensible Linking Format
+        #endif
+       ],
+       [gl_cv_elf=yes],
+       [gl_cv_elf=no])
+    ])
+  if test $gl_cv_elf = yes; then
+    # Extract the ELF class of a file (5th byte) in decimal.
+    # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
+    if od -A x < /dev/null >/dev/null 2>/dev/null; then
+      # Use POSIX od.
+      func_elfclass ()
+      {
+        od -A n -t d1 -j 4 -N 1
+      }
+    else
+      # Use BSD hexdump.
+      func_elfclass ()
+      {
+        dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "'
+        echo
+      }
+    fi
+    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
+    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
+    # not 1 or 2.
+changequote(,)dnl
+    case $HOST_CPU_C_ABI_32BIT in
+      yes)
+        # 32-bit ABI.
+        acl_is_expected_elfclass ()
+        {
+          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 1 > /dev/null
+        }
+        ;;
+      no)
+        # 64-bit ABI.
+        acl_is_expected_elfclass ()
+        {
+          expr "`func_elfclass | sed -e 's/[   ]//g'`" = 2 > /dev/null
+        }
+        ;;
+      *)
+        # Unknown.
+        acl_is_expected_elfclass ()
+        {
+          :
+        }
+        ;;
+    esac
+changequote([,])dnl
+  else
+    acl_is_expected_elfclass ()
+    {
+      :
+    }
+  fi
+
+  dnl Allow the user to override the result by setting acl_cv_libdirstems.
+  AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
+    [acl_cv_libdirstems],
+    [dnl Try 'lib' first, because that's the default for libdir in GNU, see
+     dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>.
+     acl_libdirstem=lib
+     acl_libdirstem2=
+     acl_libdirstem3=
+     case "$host_os" in
+       solaris*)
+         dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+         dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>.
+         dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+         dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+         dnl symlink is missing, so we set acl_libdirstem2 too.
+         if test $HOST_CPU_C_ABI_32BIT = no; then
+           acl_libdirstem2=lib/64
+           case "$host_cpu" in
+             sparc*)        acl_libdirstem3=lib/sparcv9 ;;
+             i*86 | x86_64) acl_libdirstem3=lib/amd64 ;;
+           esac
+         fi
+         ;;
+       *)
+         dnl If $CC generates code for a 32-bit ABI, the libraries are
+         dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64.
+         dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries
+         dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32.
+         dnl Find the compiler's search path. However, non-system compilers
+         dnl sometimes have odd library search paths. But we can't simply invoke
+         dnl '/usr/bin/gcc -print-search-dirs' because that would not take into
+         dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS.
+         searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \
+                     | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+         if test $HOST_CPU_C_ABI_32BIT != no; then
+           # 32-bit or unknown ABI.
+           if test -d /usr/lib32; then
+             acl_libdirstem2=lib32
+           fi
+         fi
+         if test $HOST_CPU_C_ABI_32BIT != yes; then
+           # 64-bit or unknown ABI.
+           if test -d /usr/lib64; then
+             acl_libdirstem3=lib64
+           fi
+         fi
+         if test -n "$searchpath"; then
+           acl_save_IFS="${IFS=        }"; IFS=":"
+           for searchdir in $searchpath; do
+             if test -d "$searchdir"; then
+               case "$searchdir" in
+                 */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;;
+                 */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;;
+                 */../ | */.. )
+                   # Better ignore directories of this form. They are misleading.
+                   ;;
+                 *) searchdir=`cd "$searchdir" && pwd`
+                    case "$searchdir" in
+                      */lib32 ) acl_libdirstem2=lib32 ;;
+                      */lib64 ) acl_libdirstem3=lib64 ;;
+                    esac ;;
+               esac
+             fi
+           done
+           IFS="$acl_save_IFS"
+           if test $HOST_CPU_C_ABI_32BIT = yes; then
+             # 32-bit ABI.
+             acl_libdirstem3=
+           fi
+           if test $HOST_CPU_C_ABI_32BIT = no; then
+             # 64-bit ABI.
+             acl_libdirstem2=
+           fi
+         fi
+         ;;
+     esac
+     test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+     test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem"
+     acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
+    ])
+  dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and
+  dnl acl_libdirstem3.
+changequote(,)dnl
+  acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
+  acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'`
+  acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'`
+changequote([,])dnl
+])
index d91c42b..7c3f65e 100644 (file)
@@ -1,5 +1,5 @@
-# libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
+# libunistring-base.m4 serial 8
+dnl Copyright (C) 2010-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,16 +18,47 @@ dnl You have to bump the VERSION argument to the next projected version
 dnl number each time you make a change that affects the behaviour of the
 dnl functions defined in Module (even if the sources of Module itself do not
 dnl change).
+dnl
+dnl This macro invocation must not occur in macros that are AC_REQUIREd.
 
 AC_DEFUN([gl_LIBUNISTRING_MODULE],
 [
   AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
   dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
   dnl gl_LIBUNISTRING_CORE if that macro has been run.
-  AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
+  gl_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
     [gl_LIBUNISTRING_VERSION_CMP([$1])])
 ])
 
+dnl gl_LIBUNISTRING_MODULE_WITH_VARIABLE([VERSION], [Module])
+dnl is like gl_LIBUNISTRING_MODULE([VERSION], [Module]), except that it also
+dnl defines an AC_SUBSTed autoconf variable GNULIB_$MODULE_DLL_VARIABLE.
+dnl What's the expansion of this autoconf variable?
+dnl   - When building libunistring, it expands to LIBUNISTRING_DLL_VARIABLE.
+dnl     (This is necessary because this token must be present in the .h files
+dnl     when the .h files get installed.)
+dnl   - When building gnulib or application code it expands to
+dnl       - LIBUNISTRING_DLL_VARIABLE by default,
+dnl       - empty if the automake conditional LIBUNISTRING_COMPILE_$MODULE
+dnl         evaluates to true.
+dnl     (This is necessary because when the conditional evaluates to false,
+dnl     the application code expects to use the declared variable from the
+dnl     installed libunistring; it's in this case that the
+dnl     LIBUNISTRING_DLL_VARIABLE macro from the installed
+dnl     <unistring/woe32dll.h> must be used.)
+dnl
+dnl This macro invocation must not occur in macros that are AC_REQUIREd.
+
+AC_DEFUN([gl_LIBUNISTRING_MODULE_WITH_VARIABLE],
+[
+  gl_LIBUNISTRING_MODULE([$1], [$2])
+  m4_ifndef([gl_IN_LIBUNISTRING],
+    [if test -z "${AS_TR_CPP([LIBUNISTRING_COMPILE_$2])_TRUE}"; then
+       GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]AS_TR_CPP([$2_DLL_VARIABLE])=
+     fi
+    ])
+])
+
 dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
 dnl Declares that HeaderFile should be created, unless we are linking
 dnl with libunistring and its version is >= the given VERSION.
@@ -51,7 +82,11 @@ AC_DEFUN([gl_LIBUNISTRING_LIBHEADER],
   dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
   dnl gl_LIBUNISTRING_CORE if that macro has been run.
   if gl_LIBUNISTRING_VERSION_CMP([$1]); then
-    LIBUNISTRING_[]AS_TR_CPP([$2])='$2'
+    dnl It is OK to use a .h file in lib/ from within tests/, but not vice
+    dnl versa.
+    if test -z "$LIBUNISTRING_[]AS_TR_CPP([$2])"; then
+      LIBUNISTRING_[]AS_TR_CPP([$2])="${gl_source_base_prefix}$2"
+    fi
   else
     LIBUNISTRING_[]AS_TR_CPP([$2])=
   fi
@@ -91,6 +126,26 @@ changequote([,])
     LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
     LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
   fi
+
+  dnl Determine whether <unistring/woe32dll.h> from an installed libunistring
+  dnl is available.
+  m4_ifdef([gl_IN_LIBUNISTRING],
+    [dnl In libunistring, all .h files that declare variables need to
+     dnl #include <unistring/woe32dll.h>.  This references the file
+     dnl unistring/woe32dll.h in libunistring.
+     HAVE_UNISTRING_WOE32DLL_H=1
+    ],
+    [dnl In gnulib or in applications, we need a #include <unistring/woe32dll.h>
+     dnl if and only if an installed libunistring is available.
+     if test "$HAVE_LIBUNISTRING" = yes; then
+       AC_CHECK_HEADERS([unistring/woe32dll.h],
+         [HAVE_UNISTRING_WOE32DLL_H=1],
+         [HAVE_UNISTRING_WOE32DLL_H=0])
+     else
+       HAVE_UNISTRING_WOE32DLL_H=0
+     fi
+    ])
+  AC_SUBST([HAVE_UNISTRING_WOE32DLL_H])
 ])
 
 dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
diff --git a/lib/gl/m4/locale-ja.m4 b/lib/gl/m4/locale-ja.m4
deleted file mode 100644 (file)
index 201ac4e..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-# locale-ja.m4 serial 11
-dnl Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a japanese locale with EUC-JP encoding.
-AC_DEFUN([gt_LOCALE_JA],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AM_LANGINFO_CODESET])
-  AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
-    AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
-     on Cygwin 1.5.x.  */
-  if (MB_CUR_MAX == 1)
-    return 1;
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
-  return 0;
-}
-changequote([,])dnl
-      ])])
-    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Note that on native Windows, the Japanese locale is
-          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
-          # cannot use it here.
-          gt_cv_locale_ja=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the AIX locale name.
-          if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_ja=ja_JP
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_ja=ja_JP.EUC-JP
-            else
-              # Test for the HP-UX, OSF/1, NetBSD locale name.
-              if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_ja=ja_JP.eucJP
-              else
-                # Test for the IRIX, FreeBSD locale name.
-                if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                  gt_cv_locale_ja=ja_JP.EUC
-                else
-                  # Test for the Solaris 7 locale name.
-                  if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                    gt_cv_locale_ja=ja
-                  else
-                    # Special test for NetBSD 1.6.
-                    if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
-                      gt_cv_locale_ja=ja_JP.eucJP
-                    else
-                      # None found.
-                      gt_cv_locale_ja=none
-                    fi
-                  fi
-                fi
-              fi
-            fi
-          fi
-          ;;
-      esac
-    fi
-    rm -fr conftest*
-  ])
-  LOCALE_JA=$gt_cv_locale_ja
-  AC_SUBST([LOCALE_JA])
-])
diff --git a/lib/gl/m4/locale-tr.m4 b/lib/gl/m4/locale-tr.m4
deleted file mode 100644 (file)
index 26b2ba2..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-# locale-tr.m4 serial 9
-dnl Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a turkish locale with UTF-8 encoding.
-AC_DEFUN([gt_LOCALE_TR_UTF8],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AM_LANGINFO_CODESET])
-  AC_CACHE_CHECK([for a turkish Unicode locale], [gt_cv_locale_tr_utf8], [
-    AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
-  /* On BeOS, locales are not implemented in libc.  Rather, libintl
-     imitates locale dependent behaviour by looking at the environment
-     variables, and all locales use the UTF-8 encoding.  But BeOS does not
-     implement the Turkish upper-/lowercase mappings.  Therefore, let this
-     program return 1 on BeOS.  */
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in the abbreviation of the eighth month, the second
-     character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
-     two bytes long, with UTF-8 encoding.  */
-  t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
-  if (strftime (buf, sizeof (buf), "%b", &t) < 4
-      || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
-    return 1;
-  /* Check whether the upper-/lowercase mappings are as expected for
-     Turkish.  */
-  if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
-      || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
-    return 1;
-  return 0;
-}
-changequote([,])dnl
-      ])])
-    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_tr_utf8=Turkish_Turkey.65001
-          else
-            # None found.
-            gt_cv_locale_tr_utf8=none
-          fi
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the usual locale name.
-          if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_tr_utf8=tr_TR
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_tr_utf8=tr_TR.UTF-8
-            else
-              # Test for the Solaris 7 locale name.
-              if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-                gt_cv_locale_tr_utf8=tr.UTF-8
-              else
-                # None found.
-                gt_cv_locale_tr_utf8=none
-              fi
-            fi
-          fi
-          ;;
-      esac
-    else
-      gt_cv_locale_tr_utf8=none
-    fi
-    rm -fr conftest*
-  ])
-  LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
-  AC_SUBST([LOCALE_TR_UTF8])
-])
diff --git a/lib/gl/m4/locale-zh.m4 b/lib/gl/m4/locale-zh.m4
deleted file mode 100644 (file)
index 0cf5ada..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-# locale-zh.m4 serial 11
-dnl Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a chinese locale with GB18030 encoding.
-AC_DEFUN([gt_LOCALE_ZH_CN],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AM_LANGINFO_CODESET])
-  AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
-    AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
-  const char *p;
-  /* Check whether the given locale name is recognized by the system.  */
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Windows, setlocale(category, "") looks at the system settings,
-     not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
-     category of the locale to "C".  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
-      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-    return 1;
-#else
-  if (setlocale (LC_ALL, "") == NULL) return 1;
-#endif
-  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
-     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
-     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
-     some unit tests fail.
-     On MirBSD 10, when an unsupported locale is specified, setlocale()
-     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
-#if HAVE_LANGINFO_CODESET
-  {
-    const char *cs = nl_langinfo (CODESET);
-    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
-        || strcmp (cs, "UTF-8") == 0)
-      return 1;
-  }
-#endif
-#ifdef __CYGWIN__
-  /* On Cygwin, avoid locale names without encoding suffix, because the
-     locale_charset() function relies on the encoding suffix.  Note that
-     LC_ALL is set on the command line.  */
-  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
-  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
-     This excludes the UTF-8 encoding (except on MirBSD).  */
-  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
-  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
-  for (p = buf; *p != '\0'; p++)
-    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
-      return 1;
-  /* Check whether a typical GB18030 multibyte sequence is recognized as a
-     single wide character.  This excludes the GB2312 and GBK encodings.  */
-  if (mblen ("\203\062\332\066", 5) != 4)
-    return 1;
-  return 0;
-}
-changequote([,])dnl
-      ])])
-    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-      case "$host_os" in
-        # Handle native Windows specially, because there setlocale() interprets
-        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
-        # "fr" or "fra" as "French" or "French_France.1252",
-        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
-        # "ja" as "Japanese" or "Japanese_Japan.932",
-        # and similar.
-        mingw*)
-          # Test for the hypothetical native Windows locale name.
-          if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=Chinese_China.54936
-          else
-            # None found.
-            gt_cv_locale_zh_CN=none
-          fi
-          ;;
-        solaris2.8)
-          # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
-          # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
-          # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
-          gt_cv_locale_zh_CN=none
-          ;;
-        *)
-          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
-          # configure script would override the LC_ALL setting. Likewise for
-          # LC_CTYPE, which is also set at the beginning of the configure script.
-          # Test for the locale name without encoding suffix.
-          if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-            gt_cv_locale_zh_CN=zh_CN
-          else
-            # Test for the locale name with explicit encoding suffix.
-            if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
-              gt_cv_locale_zh_CN=zh_CN.GB18030
-            else
-              # None found.
-              gt_cv_locale_zh_CN=none
-            fi
-          fi
-          ;;
-      esac
-    else
-      # If there was a link error, due to mblen(), the system is so old that
-      # it certainly doesn't have a chinese locale.
-      gt_cv_locale_zh_CN=none
-    fi
-    rm -fr conftest*
-  ])
-  LOCALE_ZH_CN=$gt_cv_locale_zh_CN
-  AC_SUBST([LOCALE_ZH_CN])
-])
diff --git a/lib/gl/m4/locale_h.m4 b/lib/gl/m4/locale_h.m4
deleted file mode 100644 (file)
index fb72e4e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-# locale_h.m4 serial 18
-dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_LOCALE_H],
-[
-  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
-  dnl once only, before all statements that occur in other macros.
-  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
-
-  dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_*
-  dnl members of 'struct lconv'.
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
-  AC_REQUIRE([gl_STDDEF_H])
-
-  dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv'
-  dnl only if _LCONV_C99 is defined.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  case "$host_os" in
-    solaris*)
-      AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.])
-      ;;
-  esac
-
-  AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
-    [gl_cv_header_locale_h_posix2001],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <locale.h>
-            int x = LC_MESSAGES;
-            int y = sizeof (((struct lconv *) 0)->decimal_point);]],
-          [[]])],
-       [gl_cv_header_locale_h_posix2001=yes],
-       [gl_cv_header_locale_h_posix2001=no])])
-
-  dnl Check for <xlocale.h>.
-  AC_CHECK_HEADERS_ONCE([xlocale.h])
-  if test $ac_cv_header_xlocale_h = yes; then
-    HAVE_XLOCALE_H=1
-    dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
-    dnl e.g. on MacOS X 10.5. If <locale.h> does not define locale_t by
-    dnl itself, we assume that <xlocale.h> will do so.
-    AC_CACHE_CHECK([whether locale.h defines locale_t],
-      [gl_cv_header_locale_has_locale_t],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[#include <locale.h>
-              locale_t x;]],
-            [[]])],
-         [gl_cv_header_locale_has_locale_t=yes],
-         [gl_cv_header_locale_has_locale_t=no])
-      ])
-    if test $gl_cv_header_locale_has_locale_t = yes; then
-      gl_cv_header_locale_h_needs_xlocale_h=no
-    else
-      gl_cv_header_locale_h_needs_xlocale_h=yes
-    fi
-  else
-    HAVE_XLOCALE_H=0
-    gl_cv_header_locale_h_needs_xlocale_h=no
-  fi
-  AC_SUBST([HAVE_XLOCALE_H])
-
-  dnl Check whether 'struct lconv' is complete.
-  dnl Bionic libc's 'struct lconv' is just a dummy.
-  dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x,
-  dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members.
-  AC_CACHE_CHECK([whether struct lconv is properly defined],
-    [gl_cv_sys_struct_lconv_ok],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <locale.h>
-            struct lconv l;
-            int x = sizeof (l.decimal_point);
-            int y = sizeof (l.int_p_cs_precedes);]],
-          [[]])],
-       [gl_cv_sys_struct_lconv_ok=yes],
-       [gl_cv_sys_struct_lconv_ok=no])
-    ])
-  if test $gl_cv_sys_struct_lconv_ok = no; then
-    REPLACE_STRUCT_LCONV=1
-  fi
-
-  dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
-  gl_NEXT_HEADERS([locale.h])
-
-  dnl Check for declarations of anything we want to poison if the
-  dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[#include <locale.h>
-/* Some systems provide declarations in a non-standard header.  */
-#if HAVE_XLOCALE_H
-# include <xlocale.h>
-#endif
-    ]],
-    [setlocale duplocale])
-])
-
-AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
-[
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
-  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
-  dnl Define it also as a C macro, for the benefit of the unit tests.
-  gl_MODULE_INDICATOR_FOR_TESTS([$1])
-])
-
-AC_DEFUN([gl_LOCALE_H_DEFAULTS],
-[
-  GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
-  GNULIB_SETLOCALE=0;  AC_SUBST([GNULIB_SETLOCALE])
-  GNULIB_DUPLOCALE=0;  AC_SUBST([GNULIB_DUPLOCALE])
-  dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
-  REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
-  REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
-  REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
-  REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
-])
diff --git a/lib/gl/m4/localename.m4 b/lib/gl/m4/localename.m4
deleted file mode 100644 (file)
index 2ba295e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# localename.m4 serial 2
-dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_LOCALENAME],
-[
-  AC_REQUIRE([gt_LC_MESSAGES])
-  AC_REQUIRE([gt_INTL_MACOSX])
-  AC_CHECK_FUNCS([setlocale uselocale])
-])
diff --git a/lib/gl/m4/setlocale.m4 b/lib/gl/m4/setlocale.m4
deleted file mode 100644 (file)
index c605241..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# setlocale.m4 serial 4
-dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_SETLOCALE],
-[
-  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  case "$host_os" in
-    dnl On native Windows systems, setlocale(category,NULL) does not look at
-    dnl the environment variables LC_ALL, category, and LANG.
-    mingw*) REPLACE_SETLOCALE=1 ;;
-    dnl On Cygwin 1.5.x, setlocale always succeeds but setlocale(LC_CTYPE,NULL)
-    dnl is then still "C".
-    cygwin*)
-      case `uname -r` in
-        1.5.*) REPLACE_SETLOCALE=1 ;;
-      esac
-      ;;
-  esac
-])
-
-# Prerequisites of lib/setlocale.c.
-AC_DEFUN([gl_PREREQ_SETLOCALE],
-[
-  :
-])
index d744647..a0eef7b 100644 (file)
@@ -1,5 +1,5 @@
-# strverscmp.m4 serial 8
-dnl Copyright (C) 2002, 2005-2012 Free Software Foundation, Inc.
+# strverscmp.m4 serial 9
+dnl Copyright (C) 2002, 2005-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,7 @@ AC_DEFUN([gl_FUNC_STRVERSCMP],
   dnl Persuade glibc <string.h> to declare strverscmp().
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
   AC_CHECK_FUNCS([strverscmp])
   if test $ac_cv_func_strverscmp = no; then
     HAVE_STRVERSCMP=0
diff --git a/lib/gl/m4/thread.m4 b/lib/gl/m4/thread.m4
deleted file mode 100644 (file)
index cd66c3e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# thread.m4 serial 2
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_THREAD],
-[
-  AC_REQUIRE([gl_THREADLIB])
-  AC_REQUIRE([AC_C_INLINE])
-
-  if test $gl_threads_api = posix; then
-    gl_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIBMULTITHREAD"
-    AC_CHECK_FUNCS([pthread_atfork])
-    LIBS="$gl_save_LIBS"
-  fi
-])
diff --git a/lib/gl/m4/wchar_h.m4 b/lib/gl/m4/wchar_h.m4
new file mode 100644 (file)
index 0000000..3582fa7
--- /dev/null
@@ -0,0 +1,264 @@
+dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
+
+dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Eric Blake.
+
+# wchar_h.m4 serial 62
+
+AC_DEFUN_ONCE([gl_WCHAR_H],
+[
+  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+  AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
+  dnl Prepare for creating substitute <wchar.h>.
+  dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+  dnl character support).
+  dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([wchar.h])
+  if test $ac_cv_header_wchar_h = yes; then
+    HAVE_WCHAR_H=1
+  else
+    HAVE_WCHAR_H=0
+  fi
+  AC_SUBST([HAVE_WCHAR_H])
+
+  AC_REQUIRE([gl_FEATURES_H])
+
+  AC_REQUIRE([gt_TYPE_WINT_T])
+  if test $gt_cv_c_wint_t = yes; then
+    HAVE_WINT_T=1
+  else
+    HAVE_WINT_T=0
+  fi
+  AC_SUBST([HAVE_WINT_T])
+
+  AC_REQUIRE([gl_TYPE_WINT_T_PREREQ])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[
+      #include <wchar.h>
+    ]],
+    [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb
+     wcsrtombs wcsnrtombs wcwidth
+     wmemchr wmemcmp wmemcpy wmemmove wmempcpy wmemset
+     wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp
+     wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr
+     wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth wcsftime
+    ])
+
+  AC_REQUIRE([AC_C_RESTRICT])
+
+  AC_CHECK_DECLS([wcsdup], [], [], [[
+      #include <wchar.h>
+    ]])
+  if test $ac_cv_have_decl_wcsdup = no; then
+    HAVE_DECL_WCSDUP=0
+  fi
+])
+
+dnl Check whether <wchar.h> is usable at all.
+AC_DEFUN([gl_WCHAR_H_INLINE_OK],
+[
+  dnl Test whether <wchar.h> suffers due to the transition from '__inline' to
+  dnl 'gnu_inline'. See <https://sourceware.org/bugzilla/show_bug.cgi?id=4022>
+  dnl and <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
+  dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and
+  dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly],
+    [gl_cv_header_wchar_h_correct_inline],
+    [gl_cv_header_wchar_h_correct_inline=yes
+     case "$host_os" in
+       *-gnu* | gnu*)
+         AC_LANG_CONFTEST([
+           AC_LANG_SOURCE([[
+             #define wcstod renamed_wcstod
+             #include <wchar.h>
+             extern int zero (void);
+             int main () { return zero(); }
+           ]])])
+         dnl Do not rename the object file from conftest.$ac_objext to
+         dnl conftest1.$ac_objext, as this will cause the link to fail on
+         dnl z/OS when using the XPLINK object format (due to duplicate
+         dnl CSECT names). Instead, temporarily redefine $ac_compile so
+         dnl that the object file has the latter name from the start.
+         save_ac_compile="$ac_compile"
+         ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
+         if echo '#include "conftest.c"' >conftest1.c \
+            && AC_TRY_EVAL([ac_compile]); then
+           AC_LANG_CONFTEST([
+             AC_LANG_SOURCE([[
+               #define wcstod renamed_wcstod
+               #include <wchar.h>
+               int zero (void) { return 0; }
+             ]])])
+           dnl See note above about renaming object files.
+           ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
+           if echo '#include "conftest.c"' >conftest2.c \
+              && AC_TRY_EVAL([ac_compile]); then
+             if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
+               :
+             else
+               gl_cv_header_wchar_h_correct_inline=no
+             fi
+           fi
+         fi
+         ac_compile="$save_ac_compile"
+         rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext
+         ;;
+     esac
+    ])
+  if test $gl_cv_header_wchar_h_correct_inline = no; then
+    AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
+This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
+C99 mode. You have four options:
+  - Add the flag -fgnu89-inline to CC and reconfigure, or
+  - Fix your include files, using parts of
+    <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+  - Use a gcc version older than 4.3, or
+  - Don't use the flags -std=c99 or -std=gnu99.
+Configuration aborted.])
+  fi
+])
+
+# gl_WCHAR_MODULE_INDICATOR([modulename])
+# sets the shell variable that indicates the presence of the given module
+# to a C preprocessor expression that will evaluate to 1.
+# This macro invocation must not occur in macros that are AC_REQUIREd.
+AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
+[
+  dnl Ensure to expand the default settings once only.
+  gl_WCHAR_H_REQUIRE_DEFAULTS
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+# Initializes the default values for AC_SUBSTed shell variables.
+# This macro must not be AC_REQUIREd.  It must only be invoked, and only
+# outside of macros or in macros that are not AC_REQUIREd.
+AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS],
+[
+  m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS], [
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSZERO])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOWCS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCRTOMB])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRTOMBS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNRTOMBS])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCWIDTH])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMMOVE])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMPCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMSET])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNLEN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPNCPY])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCASECMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCASECMP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCOLL])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSXFRM])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSDUP])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRCHR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCSPN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSPN])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSPBRK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSTR])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WGETCWD])
+    dnl Support Microsoft deprecated alias function names by default.
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1])
+  ])
+  m4_require(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS])
+  dnl Make sure the shell variable for GNULIB_FREE_POSIX is initialized.
+  gl_STDLIB_H_REQUIRE_DEFAULTS
+  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+])
+
+AC_DEFUN([gl_WCHAR_H_DEFAULTS],
+[
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_BTOWC=1;         AC_SUBST([HAVE_BTOWC])
+  HAVE_MBSINIT=1;       AC_SUBST([HAVE_MBSINIT])
+  HAVE_MBRTOWC=1;       AC_SUBST([HAVE_MBRTOWC])
+  HAVE_MBRLEN=1;        AC_SUBST([HAVE_MBRLEN])
+  HAVE_MBSRTOWCS=1;     AC_SUBST([HAVE_MBSRTOWCS])
+  HAVE_MBSNRTOWCS=1;    AC_SUBST([HAVE_MBSNRTOWCS])
+  HAVE_WCRTOMB=1;       AC_SUBST([HAVE_WCRTOMB])
+  HAVE_WCSRTOMBS=1;     AC_SUBST([HAVE_WCSRTOMBS])
+  HAVE_WCSNRTOMBS=1;    AC_SUBST([HAVE_WCSNRTOMBS])
+  HAVE_WMEMCHR=1;       AC_SUBST([HAVE_WMEMCHR])
+  HAVE_WMEMCMP=1;       AC_SUBST([HAVE_WMEMCMP])
+  HAVE_WMEMCPY=1;       AC_SUBST([HAVE_WMEMCPY])
+  HAVE_WMEMMOVE=1;      AC_SUBST([HAVE_WMEMMOVE])
+  HAVE_WMEMPCPY=1;      AC_SUBST([HAVE_WMEMPCPY])
+  HAVE_WMEMSET=1;       AC_SUBST([HAVE_WMEMSET])
+  HAVE_WCSLEN=1;        AC_SUBST([HAVE_WCSLEN])
+  HAVE_WCSNLEN=1;       AC_SUBST([HAVE_WCSNLEN])
+  HAVE_WCSCPY=1;        AC_SUBST([HAVE_WCSCPY])
+  HAVE_WCPCPY=1;        AC_SUBST([HAVE_WCPCPY])
+  HAVE_WCSNCPY=1;       AC_SUBST([HAVE_WCSNCPY])
+  HAVE_WCPNCPY=1;       AC_SUBST([HAVE_WCPNCPY])
+  HAVE_WCSCAT=1;        AC_SUBST([HAVE_WCSCAT])
+  HAVE_WCSNCAT=1;       AC_SUBST([HAVE_WCSNCAT])
+  HAVE_WCSCMP=1;        AC_SUBST([HAVE_WCSCMP])
+  HAVE_WCSNCMP=1;       AC_SUBST([HAVE_WCSNCMP])
+  HAVE_WCSCASECMP=1;    AC_SUBST([HAVE_WCSCASECMP])
+  HAVE_WCSNCASECMP=1;   AC_SUBST([HAVE_WCSNCASECMP])
+  HAVE_WCSCOLL=1;       AC_SUBST([HAVE_WCSCOLL])
+  HAVE_WCSXFRM=1;       AC_SUBST([HAVE_WCSXFRM])
+  HAVE_WCSDUP=1;        AC_SUBST([HAVE_WCSDUP])
+  HAVE_WCSCHR=1;        AC_SUBST([HAVE_WCSCHR])
+  HAVE_WCSRCHR=1;       AC_SUBST([HAVE_WCSRCHR])
+  HAVE_WCSCSPN=1;       AC_SUBST([HAVE_WCSCSPN])
+  HAVE_WCSSPN=1;        AC_SUBST([HAVE_WCSSPN])
+  HAVE_WCSPBRK=1;       AC_SUBST([HAVE_WCSPBRK])
+  HAVE_WCSSTR=1;        AC_SUBST([HAVE_WCSSTR])
+  HAVE_WCSTOK=1;        AC_SUBST([HAVE_WCSTOK])
+  HAVE_WCSWIDTH=1;      AC_SUBST([HAVE_WCSWIDTH])
+  HAVE_WCSFTIME=1;      AC_SUBST([HAVE_WCSFTIME])
+  HAVE_DECL_WCTOB=1;    AC_SUBST([HAVE_DECL_WCTOB])
+  HAVE_DECL_WCSDUP=1;   AC_SUBST([HAVE_DECL_WCSDUP])
+  HAVE_DECL_WCWIDTH=1;  AC_SUBST([HAVE_DECL_WCWIDTH])
+  REPLACE_MBSTATE_T=0;  AC_SUBST([REPLACE_MBSTATE_T])
+  REPLACE_BTOWC=0;      AC_SUBST([REPLACE_BTOWC])
+  REPLACE_WCTOB=0;      AC_SUBST([REPLACE_WCTOB])
+  REPLACE_MBSINIT=0;    AC_SUBST([REPLACE_MBSINIT])
+  REPLACE_MBRTOWC=0;    AC_SUBST([REPLACE_MBRTOWC])
+  REPLACE_MBRLEN=0;     AC_SUBST([REPLACE_MBRLEN])
+  REPLACE_MBSRTOWCS=0;  AC_SUBST([REPLACE_MBSRTOWCS])
+  REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
+  REPLACE_WCRTOMB=0;    AC_SUBST([REPLACE_WCRTOMB])
+  REPLACE_WCSRTOMBS=0;  AC_SUBST([REPLACE_WCSRTOMBS])
+  REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
+  REPLACE_WCWIDTH=0;    AC_SUBST([REPLACE_WCWIDTH])
+  REPLACE_WCSWIDTH=0;   AC_SUBST([REPLACE_WCSWIDTH])
+  REPLACE_WCSFTIME=0;   AC_SUBST([REPLACE_WCSFTIME])
+  REPLACE_WCSCMP=0;     AC_SUBST([REPLACE_WCSCMP])
+  REPLACE_WCSNCMP=0;    AC_SUBST([REPLACE_WCSNCMP])
+  REPLACE_WCSSTR=0;     AC_SUBST([REPLACE_WCSSTR])
+  REPLACE_WCSTOK=0;     AC_SUBST([REPLACE_WCSTOK])
+  REPLACE_WMEMCMP=0;    AC_SUBST([REPLACE_WMEMCMP])
+  REPLACE_WMEMPCPY=0;   AC_SUBST([REPLACE_WMEMPCPY])
+])
diff --git a/lib/gl/m4/yield.m4 b/lib/gl/m4/yield.m4
deleted file mode 100644 (file)
index 94e69c4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# yield.m4 serial 2
-dnl Copyright (C) 2005-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_YIELD],
-[
-  AC_REQUIRE([gl_THREADLIB])
-  dnl On some systems, sched_yield is in librt, rather than in libpthread.
-  YIELD_LIB=
-  if test $gl_threads_api = posix; then
-    dnl Solaris has sched_yield in librt, not in libpthread or libc.
-    AC_CHECK_LIB([rt], [sched_yield], [YIELD_LIB=-lrt],
-      [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt.
-       AC_CHECK_LIB([posix4], [sched_yield], [YIELD_LIB=-lposix4])])
-  fi
-  AC_SUBST([YIELD_LIB])
-])
diff --git a/lib/gl/stdbool.in.h b/lib/gl/stdbool.in.h
deleted file mode 100644 (file)
index a329c70..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, 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 Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GL_STDBOOL_H
-#define _GL_STDBOOL_H
-
-/* ISO C 99 <stdbool.h> for platforms that lack it.  */
-
-/* Usage suggestions:
-
-   Programs that use <stdbool.h> should be aware of some limitations
-   and standards compliance issues.
-
-   Standards compliance:
-
-       - <stdbool.h> must be #included before 'bool', 'false', 'true'
-         can be used.
-
-       - You cannot assume that sizeof (bool) == 1.
-
-       - Programs should not undefine the macros bool, true, and false,
-         as C99 lists that as an "obsolescent feature".
-
-   Limitations of this substitute, when used in a C89 environment:
-
-       - <stdbool.h> must be #included before the '_Bool' type can be used.
-
-       - You cannot assume that _Bool is a typedef; it might be a macro.
-
-       - Bit-fields of type 'bool' are not supported.  Portable code
-         should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
-
-       - In C99, casts and automatic conversions to '_Bool' or 'bool' are
-         performed in such a way that every nonzero value gets converted
-         to 'true', and zero gets converted to 'false'.  This doesn't work
-         with this substitute.  With this substitute, only the values 0 and 1
-         give the expected result when converted to _Bool' or 'bool'.
-
-       - C99 allows the use of (_Bool)0.0 in constant expressions, but
-         this substitute cannot always provide this property.
-
-   Also, it is suggested that programs use 'bool' rather than '_Bool';
-   this isn't required, but 'bool' is more common.  */
-
-
-/* 7.16. Boolean type and values */
-
-/* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
-   definitions below, but temporarily we have to #undef them.  */
-#if defined __BEOS__ && !defined __HAIKU__
-# include <OS.h> /* defines bool but not _Bool */
-# undef false
-# undef true
-#endif
-
-/* For the sake of symbolic names in gdb, we define true and false as
-   enum constants, not only as macros.
-   It is tempting to write
-      typedef enum { false = 0, true = 1 } _Bool;
-   so that gdb prints values of type 'bool' symbolically. But if we do
-   this, values of type '_Bool' may promote to 'int' or 'unsigned int'
-   (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
-   (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
-   enum; this ensures that '_Bool' promotes to 'int'.  */
-#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
-  /* A compiler known to have 'bool'.  */
-  /* If the compiler already has both 'bool' and '_Bool', we can assume they
-     are the same types.  */
-# if !@HAVE__BOOL@
-typedef bool _Bool;
-# endif
-#else
-# if !defined __GNUC__
-   /* If @HAVE__BOOL@:
-        Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
-        the built-in _Bool type is used.  See
-          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
-          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
-        Similar bugs are likely with other compilers as well; this file
-        wouldn't be used if <stdbool.h> was working.
-        So we override the _Bool type.
-      If !@HAVE__BOOL@:
-        Need to define _Bool ourselves. As 'signed char' or as an enum type?
-        Use of a typedef, with SunPRO C, leads to a stupid
-          "warning: _Bool is a keyword in ISO C99".
-        Use of an enum type, with IRIX cc, leads to a stupid
-          "warning(1185): enumerated type mixed with another type".
-        Even the existence of an enum type, without a typedef,
-          "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
-        The only benefit of the enum, debuggability, is not important
-        with these compilers.  So use 'signed char' and no enum.  */
-#  define _Bool signed char
-# else
-   /* With this compiler, trust the _Bool type if the compiler has it.  */
-#  if !@HAVE__BOOL@
-typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
-#  endif
-# endif
-#endif
-#define bool _Bool
-
-/* The other macros must be usable in preprocessor directives.  */
-#define false 0
-#define true 1
-#define __bool_true_false_are_defined 1
-
-#endif /* _GL_STDBOOL_H */
index 9384cf6..fa8998d 100644 (file)
@@ -1,25 +1,25 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
 /*
- * POSIX 2008 <stddef.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/stddef.h.html>
+ * POSIX 2008 and ISO C 23 <stddef.h> for platforms that have issues.
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html>
  */
 
 #if __GNUC__ >= 3
    remember if special invocation has ever been used to obtain wint_t,
    in which case we need to clean up NULL yet again.  */
 
-# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _@GUARD_PREFIX@_STDDEF_WINT_T)
 #  ifdef __need_wint_t
-#   undef _@GUARD_PREFIX@_STDDEF_H
-#   define _GL_STDDEF_WINT_T
+#   define _@GUARD_PREFIX@_STDDEF_WINT_T
 #  endif
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+   /* On TinyCC, make sure that the macros that indicate the special invocation
+      convention get undefined.  */
+#  undef __need_wchar_t
+#  undef __need_size_t
+#  undef __need_ptrdiff_t
+#  undef __need_NULL
+#  undef __need_wint_t
 # endif
 
 #else
 
 # ifndef _@GUARD_PREFIX@_STDDEF_H
 
+/* On AIX 7.2, with xlc in 64-bit mode, <stddef.h> defines max_align_t to a
+   type with alignment 4, but 'long' has alignment 8.  */
+#  if defined _AIX && defined __LP64__ && !@HAVE_MAX_ALIGN_T@
+#   if !GNULIB_defined_max_align_t
+#    ifdef _MAX_ALIGN_T
+/* /usr/include/stddef.h has already defined max_align_t.  Override it.  */
+typedef long rpl_max_align_t;
+#     define max_align_t rpl_max_align_t
+#    else
+/* Prevent /usr/include/stddef.h from defining max_align_t.  */
+typedef long max_align_t;
+#     define _MAX_ALIGN_T
+#    endif
+#    define __CLANG_MAX_ALIGN_T_DEFINED
+#    define GNULIB_defined_max_align_t 1
+#   endif
+#  endif
+
 /* The include_next requires a split double-inclusion guard.  */
 
 #  @INCLUDE_NEXT@ @NEXT_STDDEF_H@
 
-#  ifndef _@GUARD_PREFIX@_STDDEF_H
-#   define _@GUARD_PREFIX@_STDDEF_H
-
 /* On NetBSD 5.0, the definition of NULL lacks proper parentheses.  */
-#if @REPLACE_NULL@
-# undef NULL
-# ifdef __cplusplus
+#  if (@REPLACE_NULL@ \
+       && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _@GUARD_PREFIX@_STDDEF_WINT_T))
+#   undef NULL
+#   ifdef __cplusplus
    /* ISO C++ says that the macro NULL must expand to an integer constant
       expression, hence '((void *) 0)' is not allowed in C++.  */
-#  if __GNUG__ >= 3
+#    if __GNUG__ >= 3
     /* GNU C++ has a __null macro that behaves like an integer ('int' or
        'long') but has the same size as a pointer.  Use that, to avoid
        warnings.  */
-#   define NULL __null
+#     define NULL __null
+#    else
+#     define NULL 0L
+#    endif
+#   else
+#    define NULL ((void *) 0)
+#   endif
+#  endif
+
+#  ifndef _@GUARD_PREFIX@_STDDEF_H
+#   define _@GUARD_PREFIX@_STDDEF_H
+
+/* This file uses _Noreturn, _GL_ATTRIBUTE_NOTHROW.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
 #  else
-#   define NULL 0L
+#   define _GL_ATTRIBUTE_NOTHROW
 #  endif
 # else
-#  define NULL ((void *) 0)
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
 # endif
 #endif
 
 # define wchar_t int
 #endif
 
+/* Some platforms lack max_align_t.  The check for _GCC_MAX_ALIGN_T is
+   a hack in case the configure-time test was done with g++ even though
+   we are currently compiling with gcc.
+   On MSVC, max_align_t is defined only in C++ mode, after <cstddef> was
+   included.  Its definition is good since it has an alignment of 8 (on x86
+   and x86_64).
+   Similarly on OS/2 kLIBC.  */
+#if (defined _MSC_VER || (defined __KLIBC__ && !defined __LIBCN__)) \
+    && defined __cplusplus
+# include <cstddef>
+#else
+# if ! (@HAVE_MAX_ALIGN_T@ || (defined _GCC_MAX_ALIGN_T && !defined __clang__))
+#  if !GNULIB_defined_max_align_t
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
+   but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
+   and the C11 standard allows this.  Work around this problem by
+   using __alignof__ (which returns 8 for double) rather than _Alignof
+   (which returns 4), and align each union member accordingly.  */
+#   if defined __GNUC__ || (__clang_major__ >= 4)
+#    define _GL_STDDEF_ALIGNAS(type) \
+       __attribute__ ((__aligned__ (__alignof__ (type))))
+#   else
+#    define _GL_STDDEF_ALIGNAS(type) /* */
+#   endif
+typedef union
+{
+  char *__p _GL_STDDEF_ALIGNAS (char *);
+  double __d _GL_STDDEF_ALIGNAS (double);
+  long double __ld _GL_STDDEF_ALIGNAS (long double);
+  long int __i _GL_STDDEF_ALIGNAS (long int);
+} rpl_max_align_t;
+#   define max_align_t rpl_max_align_t
+#   define __CLANG_MAX_ALIGN_T_DEFINED
+#   define GNULIB_defined_max_align_t 1
+#  endif
+# endif
+#endif
+
+/* ISO C 23 § 7.21.1 The unreachable macro  */
+#ifndef unreachable
+
+/* Code borrowed from verify.h.  */
+# ifndef _GL_HAS_BUILTIN_UNREACHABLE
+#  if defined __clang_major__ && __clang_major__ < 5
+#   define _GL_HAS_BUILTIN_UNREACHABLE 0
+#  elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+#   define _GL_HAS_BUILTIN_UNREACHABLE 1
+#  elif defined __has_builtin
+#   define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
+#  else
+#   define _GL_HAS_BUILTIN_UNREACHABLE 0
+#  endif
+# endif
+
+# if _GL_HAS_BUILTIN_UNREACHABLE
+#  define unreachable() __builtin_unreachable ()
+# elif 1200 <= _MSC_VER
+#  define unreachable() __assume (0)
+# else
+/* Declare abort(), without including <stdlib.h>.  */
+extern
+#  if defined __cplusplus
+"C"
+#  endif
+_Noreturn
+void abort (void)
+#  if defined __cplusplus && (__GLIBC__ >= 2)
+_GL_ATTRIBUTE_NOTHROW
+#  endif
+;
+#  define unreachable() abort ()
+# endif
+
+#endif
+
 #  endif /* _@GUARD_PREFIX@_STDDEF_H */
 # endif /* _@GUARD_PREFIX@_STDDEF_H */
 #endif /* __need_XXX */
index d6c3450..fea7483 100644 (file)
@@ -1,23 +1,23 @@
-/* Copyright (C) 2001-2002, 2004-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2024 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <stdint.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/stdint.h.html>
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdint.h.html>
  */
 
 #ifndef _@GUARD_PREFIX@_STDINT_H
@@ -38,8 +38,7 @@
    other system header files; just include the system's <stdint.h>.
    Ideally we should test __BIONIC__ here, but it is only defined after
    <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
-#if defined __ANDROID__ \
-    && defined _SYS_TYPES_H_ && !defined _SSIZE_T_DEFINED_
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #else
 
 #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 #define _@GUARD_PREFIX@_STDINT_H
 
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
+   LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH.  */
+#include <limits.h>
+
+/* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides
+   wint_t.  */
+#if @GNULIBHEADERS_OVERRIDE_WINT_T@
+# undef WINT_MIN
+# undef WINT_MAX
+# define WINT_MIN 0x0U
+# define WINT_MAX 0xffffffffU
+#endif
+
+#if ! @HAVE_C99_STDINT_H@
+
 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
    AIX 5.2 <sys/types.h> isn't needed and causes troubles.
-   MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+   Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
    relies on the system <stdint.h> definitions, so include
    <sys/types.h> after @NEXT_STDINT_H@.  */
-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
-# include <sys/types.h>
-#endif
-
-/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
-   LONG_MIN, LONG_MAX, ULONG_MAX.  */
-#include <limits.h>
+# if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+#  include <sys/types.h>
+# endif
 
-#if @HAVE_INTTYPES_H@
+# if @HAVE_INTTYPES_H@
   /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
      <inttypes.h> also defines intptr_t and uintptr_t.  */
-# include <inttypes.h>
-#elif @HAVE_SYS_INTTYPES_H@
+#  include <inttypes.h>
+# elif @HAVE_SYS_INTTYPES_H@
   /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
      the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
-# include <sys/inttypes.h>
-#endif
+#  include <sys/inttypes.h>
+# endif
 
-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
   /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
      int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
      included by <sys/types.h>.  */
-# include <sys/bitypes.h>
-#endif
+#  include <sys/bitypes.h>
+# endif
 
-#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 
 /* Minimum and maximum values for an integer type under the usual assumption.
    Return an unspecified value if BITS == 0, adding a check to pacify
    picky compilers.  */
 
-#define _STDINT_MIN(signed, bits, zero) \
-  ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
+/* These are separate macros, because if you try to merge these macros into
+   a single one, HP-UX cc rejects the resulting expression in constant
+   expressions.  */
+# define _STDINT_UNSIGNED_MIN(bits, zero) \
+    (zero)
+# define _STDINT_SIGNED_MIN(bits, zero) \
+    (~ _STDINT_MAX (1, bits, zero))
 
-#define _STDINT_MAX(signed, bits, zero) \
-  ((signed) \
-   ? ~ _STDINT_MIN (signed, bits, zero) \
-   : /* The expression for the unsigned case.  The subtraction of (signed) \
-        is a nop in the unsigned case and avoids "signed integer overflow" \
-        warnings in the signed case.  */ \
-     ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+# define _STDINT_MAX(signed, bits, zero) \
+    (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
 
 #if !GNULIB_defined_stdint_types
 
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef int8_t
-#undef uint8_t
+# undef int8_t
+# undef uint8_t
 typedef signed char gl_int8_t;
 typedef unsigned char gl_uint8_t;
-#define int8_t gl_int8_t
-#define uint8_t gl_uint8_t
+# define int8_t gl_int8_t
+# define uint8_t gl_uint8_t
 
-#undef int16_t
-#undef uint16_t
+# undef int16_t
+# undef uint16_t
 typedef short int gl_int16_t;
 typedef unsigned short int gl_uint16_t;
-#define int16_t gl_int16_t
-#define uint16_t gl_uint16_t
+# define int16_t gl_int16_t
+# define uint16_t gl_uint16_t
 
-#undef int32_t
-#undef uint32_t
+# undef int32_t
+# undef uint32_t
 typedef int gl_int32_t;
 typedef unsigned int gl_uint32_t;
-#define int32_t gl_int32_t
-#define uint32_t gl_uint32_t
+# define int32_t gl_int32_t
+# define uint32_t gl_uint32_t
 
 /* If the system defines INT64_MAX, assume int64_t works.  That way,
    if the underlying platform defines int64_t to be a 64-bit long long
@@ -163,54 +173,54 @@ typedef unsigned int gl_uint32_t;
    int, which would mess up C++ name mangling.  We must use #ifdef
    rather than #if, to avoid an error with HP-UX 10.20 cc.  */
 
-#ifdef INT64_MAX
-# define GL_INT64_T
-#else
+# ifdef INT64_MAX
+#  define GL_INT64_T
+# else
 /* Do not undefine int64_t if gnulib is not being used with 64-bit
    types, since otherwise it breaks platforms like Tandem/NSK.  */
-# if LONG_MAX >> 31 >> 31 == 1
-#  undef int64_t
+#  if LONG_MAX >> 31 >> 31 == 1
+#   undef int64_t
 typedef long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif defined _MSC_VER
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif defined _MSC_VER
+#   undef int64_t
 typedef __int64 gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif @HAVE_LONG_LONG_INT@
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  else
+#   undef int64_t
 typedef long long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  endif
 # endif
-#endif
 
-#ifdef UINT64_MAX
-# define GL_UINT64_T
-#else
-# if ULONG_MAX >> 31 >> 31 >> 1 == 1
-#  undef uint64_t
-typedef unsigned long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
+# ifdef UINT64_MAX
 #  define GL_UINT64_T
-# elif defined _MSC_VER
-#  undef uint64_t
+# else
+#  if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#   undef uint64_t
+typedef unsigned long int gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif defined _MSC_VER
+#   undef uint64_t
 typedef unsigned __int64 gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@
-#  undef uint64_t
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  else
+#   undef uint64_t
 typedef unsigned long long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  endif
 # endif
-#endif
 
 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
-#define _UINT8_T
-#define _UINT32_T
-#define _UINT64_T
+# define _UINT8_T
+# define _UINT32_T
+# define _UINT64_T
 
 
 /* 7.18.1.2. Minimum-width integer types */
@@ -219,26 +229,26 @@ typedef unsigned long long int gl_uint64_t;
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef int_least8_t
-#undef uint_least8_t
-#undef int_least16_t
-#undef uint_least16_t
-#undef int_least32_t
-#undef uint_least32_t
-#undef int_least64_t
-#undef uint_least64_t
-#define int_least8_t int8_t
-#define uint_least8_t uint8_t
-#define int_least16_t int16_t
-#define uint_least16_t uint16_t
-#define int_least32_t int32_t
-#define uint_least32_t uint32_t
-#ifdef GL_INT64_T
-# define int_least64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_least64_t uint64_t
-#endif
+# undef int_least8_t
+# undef uint_least8_t
+# undef int_least16_t
+# undef uint_least16_t
+# undef int_least32_t
+# undef uint_least32_t
+# undef int_least64_t
+# undef uint_least64_t
+# define int_least8_t int8_t
+# define uint_least8_t uint8_t
+# define int_least16_t int16_t
+# define uint_least16_t uint16_t
+# define int_least32_t int32_t
+# define uint_least32_t uint32_t
+# ifdef GL_INT64_T
+#  define int_least64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_least64_t uint64_t
+# endif
 
 /* 7.18.1.3. Fastest minimum-width integer types */
 
@@ -251,50 +261,66 @@ typedef unsigned long long int gl_uint64_t;
    uses types consistent with glibc, as that lessens the chance of
    incompatibility with older GNU hosts.  */
 
-#undef int_fast8_t
-#undef uint_fast8_t
-#undef int_fast16_t
-#undef uint_fast16_t
-#undef int_fast32_t
-#undef uint_fast32_t
-#undef int_fast64_t
-#undef uint_fast64_t
+# undef int_fast8_t
+# undef uint_fast8_t
+# undef int_fast16_t
+# undef uint_fast16_t
+# undef int_fast32_t
+# undef uint_fast32_t
+# undef int_fast64_t
+# undef uint_fast64_t
 typedef signed char gl_int_fast8_t;
 typedef unsigned char gl_uint_fast8_t;
 
-#ifdef __sun
+# ifdef __sun
 /* Define types compatible with SunOS 5.10, so that code compiled under
    earlier SunOS versions works with code compiled under SunOS 5.10.  */
 typedef int gl_int_fast32_t;
 typedef unsigned int gl_uint_fast32_t;
-#else
+# else
 typedef long int gl_int_fast32_t;
 typedef unsigned long int gl_uint_fast32_t;
-#endif
+# endif
 typedef gl_int_fast32_t gl_int_fast16_t;
 typedef gl_uint_fast32_t gl_uint_fast16_t;
 
-#define int_fast8_t gl_int_fast8_t
-#define uint_fast8_t gl_uint_fast8_t
-#define int_fast16_t gl_int_fast16_t
-#define uint_fast16_t gl_uint_fast16_t
-#define int_fast32_t gl_int_fast32_t
-#define uint_fast32_t gl_uint_fast32_t
-#ifdef GL_INT64_T
-# define int_fast64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_fast64_t uint64_t
-#endif
+# define int_fast8_t gl_int_fast8_t
+# define uint_fast8_t gl_uint_fast8_t
+# define int_fast16_t gl_int_fast16_t
+# define uint_fast16_t gl_uint_fast16_t
+# define int_fast32_t gl_int_fast32_t
+# define uint_fast32_t gl_uint_fast32_t
+# ifdef GL_INT64_T
+#  define int_fast64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_fast64_t uint64_t
+# endif
 
 /* 7.18.1.4. Integer types capable of holding object pointers */
 
-#undef intptr_t
-#undef uintptr_t
+/* kLIBC's <stdint.h> defines _INTPTR_T_DECLARED and needs its own
+   definitions of intptr_t and uintptr_t (which use int and unsigned)
+   to avoid clashes with declarations of system functions like sbrk.
+   Similarly, MinGW WSL-5.4.1 <stdint.h> needs its own intptr_t and
+   uintptr_t to avoid conflicting declarations of system functions like
+   _findclose in <io.h>.  */
+# if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \
+       || (defined __INTPTR_WIDTH__ \
+           && __INTPTR_WIDTH__ != (defined _WIN64 ? LLONG_WIDTH : LONG_WIDTH)) \
+       || defined __MINGW32__)
+#  undef intptr_t
+#  undef uintptr_t
+#  ifdef _WIN64
+typedef long long int gl_intptr_t;
+typedef unsigned long long int gl_uintptr_t;
+#  else
 typedef long int gl_intptr_t;
 typedef unsigned long int gl_uintptr_t;
-#define intptr_t gl_intptr_t
-#define uintptr_t gl_uintptr_t
+#  endif
+#  define intptr_t gl_intptr_t
+#  define uintptr_t gl_uintptr_t
+# endif
 
 /* 7.18.1.5. Greatest-width integer types */
 
@@ -305,33 +331,33 @@ typedef unsigned long int gl_uintptr_t;
    similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
    assuming one type where another is used by the system.  */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_C
-# undef intmax_t
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# ifndef INTMAX_MAX
+#  undef INTMAX_C
+#  undef intmax_t
+#  if LONG_MAX >> 30 == 1
 typedef long long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
-# elif defined GL_INT64_T
-#  define intmax_t int64_t
-# else
+#   define intmax_t gl_intmax_t
+#  elif defined GL_INT64_T
+#   define intmax_t int64_t
+#  else
 typedef long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
+#   define intmax_t gl_intmax_t
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# undef UINTMAX_C
-# undef uintmax_t
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# ifndef UINTMAX_MAX
+#  undef UINTMAX_C
+#  undef uintmax_t
+#  if ULONG_MAX >> 31 == 1
 typedef unsigned long long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
-# elif defined GL_UINT64_T
-#  define uintmax_t uint64_t
-# else
+#   define uintmax_t gl_uintmax_t
+#  elif defined GL_UINT64_T
+#   define uintmax_t uint64_t
+#  else
 typedef unsigned long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
+#   define uintmax_t gl_uintmax_t
+#  endif
 # endif
-#endif
 
 /* Verify that intmax_t and uintmax_t have the same size.  Too much code
    breaks if this is not the case.  If this check fails, the reason is likely
@@ -339,8 +365,8 @@ typedef unsigned long int gl_uintmax_t;
 typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
                                 ? 1 : -1];
 
-#define GNULIB_defined_stdint_types 1
-#endif /* !GNULIB_defined_stdint_types */
+# define GNULIB_defined_stdint_types 1
+# endif /* !GNULIB_defined_stdint_types */
 
 /* 7.18.2. Limits of specified-width integer types */
 
@@ -349,37 +375,37 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef INT8_MIN
-#undef INT8_MAX
-#undef UINT8_MAX
-#define INT8_MIN  (~ INT8_MAX)
-#define INT8_MAX  127
-#define UINT8_MAX  255
-
-#undef INT16_MIN
-#undef INT16_MAX
-#undef UINT16_MAX
-#define INT16_MIN  (~ INT16_MAX)
-#define INT16_MAX  32767
-#define UINT16_MAX  65535
-
-#undef INT32_MIN
-#undef INT32_MAX
-#undef UINT32_MAX
-#define INT32_MIN  (~ INT32_MAX)
-#define INT32_MAX  2147483647
-#define UINT32_MAX  4294967295U
-
-#if defined GL_INT64_T && ! defined INT64_MAX
+# undef INT8_MIN
+# undef INT8_MAX
+# undef UINT8_MAX
+# define INT8_MIN  (~ INT8_MAX)
+# define INT8_MAX  127
+# define UINT8_MAX  255
+
+# undef INT16_MIN
+# undef INT16_MAX
+# undef UINT16_MAX
+# define INT16_MIN  (~ INT16_MAX)
+# define INT16_MAX  32767
+# define UINT16_MAX  65535
+
+# undef INT32_MIN
+# undef INT32_MAX
+# undef UINT32_MAX
+# define INT32_MIN  (~ INT32_MAX)
+# define INT32_MAX  2147483647
+# define UINT32_MAX  4294967295U
+
+# if defined GL_INT64_T && ! defined INT64_MAX
 /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
    evaluates the latter incorrectly in preprocessor expressions.  */
-# define INT64_MIN  (- INTMAX_C (1) << 63)
-# define INT64_MAX  INTMAX_C (9223372036854775807)
-#endif
+#  define INT64_MIN  (- INTMAX_C (1) << 63)
+#  define INT64_MAX  INTMAX_C (9223372036854775807)
+# endif
 
-#if defined GL_UINT64_T && ! defined UINT64_MAX
-# define UINT64_MAX  UINTMAX_C (18446744073709551615)
-#endif
+# if defined GL_UINT64_T && ! defined UINT64_MAX
+#  define UINT64_MAX  UINTMAX_C (18446744073709551615)
+# endif
 
 /* 7.18.2.2. Limits of minimum-width integer types */
 
@@ -387,38 +413,38 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef INT_LEAST8_MIN
-#undef INT_LEAST8_MAX
-#undef UINT_LEAST8_MAX
-#define INT_LEAST8_MIN  INT8_MIN
-#define INT_LEAST8_MAX  INT8_MAX
-#define UINT_LEAST8_MAX  UINT8_MAX
-
-#undef INT_LEAST16_MIN
-#undef INT_LEAST16_MAX
-#undef UINT_LEAST16_MAX
-#define INT_LEAST16_MIN  INT16_MIN
-#define INT_LEAST16_MAX  INT16_MAX
-#define UINT_LEAST16_MAX  UINT16_MAX
-
-#undef INT_LEAST32_MIN
-#undef INT_LEAST32_MAX
-#undef UINT_LEAST32_MAX
-#define INT_LEAST32_MIN  INT32_MIN
-#define INT_LEAST32_MAX  INT32_MAX
-#define UINT_LEAST32_MAX  UINT32_MAX
-
-#undef INT_LEAST64_MIN
-#undef INT_LEAST64_MAX
-#ifdef GL_INT64_T
-# define INT_LEAST64_MIN  INT64_MIN
-# define INT_LEAST64_MAX  INT64_MAX
-#endif
+# undef INT_LEAST8_MIN
+# undef INT_LEAST8_MAX
+# undef UINT_LEAST8_MAX
+# define INT_LEAST8_MIN  INT8_MIN
+# define INT_LEAST8_MAX  INT8_MAX
+# define UINT_LEAST8_MAX  UINT8_MAX
+
+# undef INT_LEAST16_MIN
+# undef INT_LEAST16_MAX
+# undef UINT_LEAST16_MAX
+# define INT_LEAST16_MIN  INT16_MIN
+# define INT_LEAST16_MAX  INT16_MAX
+# define UINT_LEAST16_MAX  UINT16_MAX
+
+# undef INT_LEAST32_MIN
+# undef INT_LEAST32_MAX
+# undef UINT_LEAST32_MAX
+# define INT_LEAST32_MIN  INT32_MIN
+# define INT_LEAST32_MAX  INT32_MAX
+# define UINT_LEAST32_MAX  UINT32_MAX
+
+# undef INT_LEAST64_MIN
+# undef INT_LEAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_LEAST64_MIN  INT64_MIN
+#  define INT_LEAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_LEAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_LEAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_LEAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_LEAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.3. Limits of fastest minimum-width integer types */
 
@@ -426,117 +452,127 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
    are taken from the same list of types.  */
 
-#undef INT_FAST8_MIN
-#undef INT_FAST8_MAX
-#undef UINT_FAST8_MAX
-#define INT_FAST8_MIN  SCHAR_MIN
-#define INT_FAST8_MAX  SCHAR_MAX
-#define UINT_FAST8_MAX  UCHAR_MAX
-
-#undef INT_FAST16_MIN
-#undef INT_FAST16_MAX
-#undef UINT_FAST16_MAX
-#define INT_FAST16_MIN  INT_FAST32_MIN
-#define INT_FAST16_MAX  INT_FAST32_MAX
-#define UINT_FAST16_MAX  UINT_FAST32_MAX
-
-#undef INT_FAST32_MIN
-#undef INT_FAST32_MAX
-#undef UINT_FAST32_MAX
-#ifdef __sun
-# define INT_FAST32_MIN  INT_MIN
-# define INT_FAST32_MAX  INT_MAX
-# define UINT_FAST32_MAX  UINT_MAX
-#else
-# define INT_FAST32_MIN  LONG_MIN
-# define INT_FAST32_MAX  LONG_MAX
-# define UINT_FAST32_MAX  ULONG_MAX
-#endif
+# undef INT_FAST8_MIN
+# undef INT_FAST8_MAX
+# undef UINT_FAST8_MAX
+# define INT_FAST8_MIN  SCHAR_MIN
+# define INT_FAST8_MAX  SCHAR_MAX
+# define UINT_FAST8_MAX  UCHAR_MAX
+
+# undef INT_FAST16_MIN
+# undef INT_FAST16_MAX
+# undef UINT_FAST16_MAX
+# define INT_FAST16_MIN  INT_FAST32_MIN
+# define INT_FAST16_MAX  INT_FAST32_MAX
+# define UINT_FAST16_MAX  UINT_FAST32_MAX
+
+# undef INT_FAST32_MIN
+# undef INT_FAST32_MAX
+# undef UINT_FAST32_MAX
+# ifdef __sun
+#  define INT_FAST32_MIN  INT_MIN
+#  define INT_FAST32_MAX  INT_MAX
+#  define UINT_FAST32_MAX  UINT_MAX
+# else
+#  define INT_FAST32_MIN  LONG_MIN
+#  define INT_FAST32_MAX  LONG_MAX
+#  define UINT_FAST32_MAX  ULONG_MAX
+# endif
 
-#undef INT_FAST64_MIN
-#undef INT_FAST64_MAX
-#ifdef GL_INT64_T
-# define INT_FAST64_MIN  INT64_MIN
-# define INT_FAST64_MAX  INT64_MAX
-#endif
+# undef INT_FAST64_MIN
+# undef INT_FAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_FAST64_MIN  INT64_MIN
+#  define INT_FAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_FAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_FAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_FAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_FAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.4. Limits of integer types capable of holding object pointers */
 
-#undef INTPTR_MIN
-#undef INTPTR_MAX
-#undef UINTPTR_MAX
-#define INTPTR_MIN  LONG_MIN
-#define INTPTR_MAX  LONG_MAX
-#define UINTPTR_MAX  ULONG_MAX
+# undef INTPTR_MIN
+# undef INTPTR_MAX
+# undef UINTPTR_MAX
+# ifdef _WIN64
+#  define INTPTR_MIN  LLONG_MIN
+#  define INTPTR_MAX  LLONG_MAX
+#  define UINTPTR_MAX  ULLONG_MAX
+# else
+#  define INTPTR_MIN  LONG_MIN
+#  define INTPTR_MAX  LONG_MAX
+#  define UINTPTR_MAX  ULONG_MAX
+# endif
 
 /* 7.18.2.5. Limits of greatest-width integer types */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_MIN
-# ifdef INT64_MAX
-#  define INTMAX_MIN  INT64_MIN
-#  define INTMAX_MAX  INT64_MAX
-# else
-#  define INTMAX_MIN  INT32_MIN
-#  define INTMAX_MAX  INT32_MAX
+# ifndef INTMAX_MAX
+#  undef INTMAX_MIN
+#  ifdef INT64_MAX
+#   define INTMAX_MIN  INT64_MIN
+#   define INTMAX_MAX  INT64_MAX
+#  else
+#   define INTMAX_MIN  INT32_MIN
+#   define INTMAX_MAX  INT32_MAX
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# ifdef UINT64_MAX
-#  define UINTMAX_MAX  UINT64_MAX
-# else
-#  define UINTMAX_MAX  UINT32_MAX
+# ifndef UINTMAX_MAX
+#  ifdef UINT64_MAX
+#   define UINTMAX_MAX  UINT64_MAX
+#  else
+#   define UINTMAX_MAX  UINT32_MAX
+#  endif
 # endif
-#endif
 
 /* 7.18.3. Limits of other integer types */
 
 /* ptrdiff_t limits */
-#undef PTRDIFF_MIN
-#undef PTRDIFF_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 64, 0l)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+# undef PTRDIFF_MIN
+# undef PTRDIFF_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (64, 0l)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+#  else
+#   define PTRDIFF_MIN  _STDINT_SIGNED_MIN (32, 0)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
+#  endif
 # else
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 32, 0)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
-# endif
-#else
-# define PTRDIFF_MIN  \
-    _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-# define PTRDIFF_MAX  \
+#  define PTRDIFF_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+#  define PTRDIFF_MAX  \
     _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-#endif
+# endif
 
 /* sig_atomic_t limits */
-#undef SIG_ATOMIC_MIN
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
-                0@SIG_ATOMIC_T_SUFFIX@)
-#define SIG_ATOMIC_MAX  \
+# undef SIG_ATOMIC_MIN
+# undef SIG_ATOMIC_MAX
+# if @HAVE_SIGNED_SIG_ATOMIC_T@
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# else
+#  define SIG_ATOMIC_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@)
+# endif
+# define SIG_ATOMIC_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
                 0@SIG_ATOMIC_T_SUFFIX@)
 
 
 /* size_t limit */
-#undef SIZE_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+# undef SIZE_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+#  else
+#   define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  endif
 # else
-#  define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
 # endif
-#else
-# define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
-#endif
 
 /* wchar_t limits */
 /* Get WCHAR_MIN, WCHAR_MAX.
@@ -544,31 +580,39 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    sequence of nested includes
    <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
    <stdint.h> and assumes its types are already defined.  */
-#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
-  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-     included before <wchar.h>.  */
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-/*  We don't need WCHAR_* in libidn, so to avoid problems with
-    missing wchar.h, don't include wchar.h here.  */
-# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-#define WCHAR_MAX  \
+# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+#  define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+#  include <wchar.h>
+#  undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+# endif
+# undef WCHAR_MIN
+# undef WCHAR_MAX
+# if @HAVE_SIGNED_WCHAR_T@
+#  define WCHAR_MIN  \
+    _STDINT_SIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# else
+#  define WCHAR_MIN  \
+    _STDINT_UNSIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+# endif
+# define WCHAR_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
 
 /* wint_t limits */
-#undef WINT_MIN
-#undef WINT_MAX
-#define WINT_MIN  \
-   _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-#define WINT_MAX  \
-   _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+/* If gnulib's <wchar.h> or <wctype.h> overrides wint_t, @WINT_T_SUFFIX@ is not
+   accurate, therefore use the definitions from above.  */
+# if !@GNULIBHEADERS_OVERRIDE_WINT_T@
+#  undef WINT_MIN
+#  undef WINT_MAX
+#  if @HAVE_SIGNED_WINT_T@
+#   define WINT_MIN  \
+     _STDINT_SIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#  else
+#   define WINT_MIN  \
+     _STDINT_UNSIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#  endif
+#  define WINT_MAX  \
+    _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+# endif
 
 /* 7.18.4. Macros for integer constants */
 
@@ -578,59 +622,120 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
 
-#undef INT8_C
-#undef UINT8_C
-#define INT8_C(x) x
-#define UINT8_C(x) x
-
-#undef INT16_C
-#undef UINT16_C
-#define INT16_C(x) x
-#define UINT16_C(x) x
-
-#undef INT32_C
-#undef UINT32_C
-#define INT32_C(x) x
-#define UINT32_C(x) x ## U
-
-#undef INT64_C
-#undef UINT64_C
-#if LONG_MAX >> 31 >> 31 == 1
-# define INT64_C(x) x##L
-#elif defined _MSC_VER
-# define INT64_C(x) x##i64
-#elif @HAVE_LONG_LONG_INT@
-# define INT64_C(x) x##LL
-#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# define UINT64_C(x) x##UL
-#elif defined _MSC_VER
-# define UINT64_C(x) x##ui64
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# define UINT64_C(x) x##ULL
-#endif
+# undef INT8_C
+# undef UINT8_C
+# define INT8_C(x) x
+# define UINT8_C(x) x
 
-/* 7.18.4.2. Macros for greatest-width integer constants */
+# undef INT16_C
+# undef UINT16_C
+# define INT16_C(x) x
+# define UINT16_C(x) x
+
+# undef INT32_C
+# undef UINT32_C
+# define INT32_C(x) x
+# define UINT32_C(x) x ## U
 
-#ifndef INTMAX_C
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define INTMAX_C(x)   x##LL
-# elif defined GL_INT64_T
-#  define INTMAX_C(x)   INT64_C(x)
+# undef INT64_C
+# undef UINT64_C
+# if LONG_MAX >> 31 >> 31 == 1
+#  define INT64_C(x) x##L
+# elif defined _MSC_VER
+#  define INT64_C(x) x##i64
 # else
-#  define INTMAX_C(x)   x##L
+#  define INT64_C(x) x##LL
 # endif
-#endif
-
-#ifndef UINTMAX_C
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define UINTMAX_C(x)  x##ULL
-# elif defined GL_UINT64_T
-#  define UINTMAX_C(x)  UINT64_C(x)
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#  define UINT64_C(x) x##UL
+# elif defined _MSC_VER
+#  define UINT64_C(x) x##ui64
 # else
-#  define UINTMAX_C(x)  x##UL
+#  define UINT64_C(x) x##ULL
 # endif
-#endif
+
+/* 7.18.4.2. Macros for greatest-width integer constants */
+
+# ifndef INTMAX_C
+#  if LONG_MAX >> 30 == 1
+#   define INTMAX_C(x)   x##LL
+#  elif defined GL_INT64_T
+#   define INTMAX_C(x)   INT64_C(x)
+#  else
+#   define INTMAX_C(x)   x##L
+#  endif
+# endif
+
+# ifndef UINTMAX_C
+#  if ULONG_MAX >> 31 == 1
+#   define UINTMAX_C(x)  x##ULL
+#  elif defined GL_UINT64_T
+#   define UINTMAX_C(x)  UINT64_C(x)
+#  else
+#   define UINTMAX_C(x)  x##UL
+#  endif
+# endif
+
+#endif /* !@HAVE_C99_STDINT_H@ */
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (!defined UINTMAX_WIDTH \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# ifdef INT8_MAX
+#  define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX)
+# endif
+# ifdef UINT8_MAX
+#  define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX)
+# endif
+# ifdef INT16_MAX
+#  define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX)
+# endif
+# ifdef UINT16_MAX
+#  define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX)
+# endif
+# ifdef INT32_MAX
+#  define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX)
+# endif
+# ifdef UINT32_MAX
+#  define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX)
+# endif
+# ifdef INT64_MAX
+#  define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX)
+# endif
+# ifdef UINT64_MAX
+#  define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX)
+# endif
+# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX)
+# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX)
+# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX)
+# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX)
+# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX)
+# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX)
+# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX)
+# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX)
+# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX)
+# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX)
+# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX)
+# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX)
+# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX)
+# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX)
+# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX)
+# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX)
+# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX)
+# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX)
+# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX)
+# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX)
+# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX)
+# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX)
+# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX)
+# ifdef WINT_MAX
+#  define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX)
+# endif
+# ifdef SIG_ATOMIC_MAX
+#  define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX)
+# endif
+#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
 
 #endif /* _@GUARD_PREFIX@_STDINT_H */
 #endif /* !(defined __ANDROID__ && ...) */
diff --git a/lib/gl/stdlib.in.h b/lib/gl/stdlib.in.h
new file mode 100644 (file)
index 0000000..5f92905
--- /dev/null
@@ -0,0 +1,1851 @@
+/* A GNU-like <stdlib.h>.
+
+   Copyright (C) 1995, 2001-2004, 2006-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
+/* Special invocation conventions inside some gnulib header files,
+   and inside some glibc header files, respectively.  */
+
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
+
+/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* NetBSD 5.0 mis-defines NULL.  */
+#include <stddef.h>
+
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
+/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
+#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
+# include <sys/loadavg.h>
+#endif
+
+/* Native Windows platforms declare _mktemp() in <io.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
+# include <io.h>
+#endif
+
+#if @GNULIB_RANDOM_R@
+
+/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
+   from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
+   'struct random_data'.  */
+# if @HAVE_RANDOM_H@
+#  include <random.h>
+# endif
+
+# include <stdint.h>
+
+# if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+   But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
+#  if !GNULIB_defined_struct_random_data
+struct random_data
+{
+  int32_t *fptr;                /* Front pointer.  */
+  int32_t *rptr;                /* Rear pointer.  */
+  int32_t *state;               /* Array of state values.  */
+  int rand_type;                /* Type of random number generator.  */
+  int rand_deg;                 /* Degree of random number generator.  */
+  int rand_sep;                 /* Distance between front and rear.  */
+  int32_t *end_ptr;             /* Pointer behind state table.  */
+};
+#   define GNULIB_defined_struct_random_data 1
+#  endif
+# endif
+#endif
+
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
+/* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
+/* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps.  */
+/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
+/* But avoid namespace pollution on glibc systems and native Windows.  */
+# include <unistd.h>
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
+/* The definition of _Noreturn is copied here.  */
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+
+/* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
+   with proper operation of xargs.  */
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#elif EXIT_FAILURE != 1
+# undef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+   the 'atexit' handlers.  */
+# if @REPLACE__EXIT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef _Exit
+#   define _Exit rpl__Exit
+#  endif
+_GL_FUNCDECL_RPL (_Exit, _Noreturn void, (int status));
+_GL_CXXALIAS_RPL (_Exit, void, (int status));
+# else
+#  if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
+#  endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (_Exit);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+                 "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FREE_POSIX@
+# if @REPLACE_FREE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef free
+#   define free rpl_free
+#  endif
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_FUNCDECL_RPL (free, void, (void *ptr) _GL_ATTRIBUTE_NOTHROW);
+#  else
+_GL_FUNCDECL_RPL (free, void, (void *ptr));
+#  endif
+_GL_CXXALIAS_RPL (free, void, (void *ptr));
+# else
+_GL_CXXALIAS_SYS (free, void, (void *ptr));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (free);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef free
+/* Assume free is always declared.  */
+_GL_WARN_ON_USE (free, "free is not future POSIX compliant everywhere - "
+                 "use gnulib module free for portability");
+#endif
+
+
+/* Allocate memory with indefinite extent and specified alignment.  */
+#if @GNULIB_ALIGNED_ALLOC@
+# if @REPLACE_ALIGNED_ALLOC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef aligned_alloc
+#   define aligned_alloc rpl_aligned_alloc
+#  endif
+_GL_FUNCDECL_RPL (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size));
+# else
+#  if @HAVE_ALIGNED_ALLOC@
+#   if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free.  */
+#    if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#    else
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#    endif
+#   endif
+_GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size));
+#  endif
+# endif
+# if (__GLIBC__ >= 2) && @HAVE_ALIGNED_ALLOC@
+_GL_CXXALIASWARN (aligned_alloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc
+/* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (aligned_alloc, void *,
+                  (size_t alignment, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef aligned_alloc
+#  if HAVE_RAW_DECL_ALIGNED_ALLOC
+_GL_WARN_ON_USE (aligned_alloc, "aligned_alloc is not portable - "
+                 "use gnulib module aligned_alloc for portability");
+#  endif
+# endif
+#endif
+
+#if @GNULIB_ATOLL@
+/* Parse a signed decimal integer.
+   Returns the value of the integer.  Errors are not detected.  */
+# if !@HAVE_ATOLL@
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
+                                    _GL_ATTRIBUTE_PURE
+                                    _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
+_GL_CXXALIASWARN (atoll);
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# if HAVE_RAW_DECL_ATOLL
+_GL_WARN_ON_USE (atoll, "atoll is unportable - "
+                 "use gnulib module atoll for portability");
+# endif
+#endif
+
+#if @GNULIB_CALLOC_POSIX@
+# if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \
+     || (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef calloc
+#   define calloc rpl_calloc
+#  endif
+_GL_FUNCDECL_RPL (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (calloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc
+/* For -Wmismatched-dealloc: Associate calloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (calloc, void *,
+                  (size_t nmemb, size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef calloc
+/* Assume calloc is always declared.  */
+_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
+                 "use gnulib module calloc-posix for portability");
+# endif
+#endif
+
+#if @GNULIB_CANONICALIZE_FILE_NAME@
+# if @REPLACE_CANONICALIZE_FILE_NAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define canonicalize_file_name rpl_canonicalize_file_name
+#  endif
+_GL_FUNCDECL_RPL (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
+# else
+#  if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
+# endif
+# ifndef GNULIB_defined_canonicalize_file_name
+#  define GNULIB_defined_canonicalize_file_name \
+     (!@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@)
+# endif
+_GL_CXXALIASWARN (canonicalize_file_name);
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name
+/* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or
+   rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *,
+                  (const char *name)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef canonicalize_file_name
+#  if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+_GL_WARN_ON_USE (canonicalize_file_name,
+                 "canonicalize_file_name is unportable - "
+                 "use gnulib module canonicalize-lgpl for portability");
+#  endif
+# endif
+#endif
+
+#if @GNULIB_MDA_ECVT@
+/* On native Windows, map 'ecvt' to '_ecvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::ecvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ecvt
+#   define ecvt _ecvt
+#  endif
+_GL_CXXALIAS_MDA (ecvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+# else
+#  if @HAVE_DECL_ECVT@
+_GL_CXXALIAS_SYS (ecvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_ECVT@
+_GL_CXXALIASWARN (ecvt);
+# endif
+#endif
+
+#if @GNULIB_MDA_FCVT@
+/* On native Windows, map 'fcvt' to '_fcvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::fcvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fcvt
+#   define fcvt _fcvt
+#  endif
+_GL_CXXALIAS_MDA (fcvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+# else
+#  if @HAVE_DECL_FCVT@
+_GL_CXXALIAS_SYS (fcvt, char *,
+                  (double number, int ndigits, int *decptp, int *signp));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_FCVT@
+_GL_CXXALIASWARN (fcvt);
+# endif
+#endif
+
+#if @GNULIB_MDA_GCVT@
+/* On native Windows, map 'gcvt' to '_gcvt', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::gcvt on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gcvt
+#   define gcvt _gcvt
+#  endif
+_GL_CXXALIAS_MDA (gcvt, char *, (double number, int ndigits, char *buf));
+# else
+#  if @HAVE_DECL_GCVT@
+_GL_CXXALIAS_SYS (gcvt, char *, (double number, int ndigits, char *buf));
+#  endif
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_GCVT@
+_GL_CXXALIASWARN (gcvt);
+# endif
+#endif
+
+#if @GNULIB_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+   The three numbers are the load average of the last 1 minute, the last 5
+   minutes, and the last 15 minutes, respectively.
+   LOADAVG is an array of NELEM numbers.  */
+# if @REPLACE_GETLOADAVG@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getloadavg
+#   define getloadavg rpl_getloadavg
+#  endif
+_GL_FUNCDECL_RPL (getloadavg, int, (double loadavg[], int nelem)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getloadavg, int, (double loadavg[], int nelem));
+# else
+#  if !@HAVE_DECL_GETLOADAVG@
+_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getloadavg);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# if HAVE_RAW_DECL_GETLOADAVG
+_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
+                 "use gnulib module getloadavg for portability");
+# endif
+#endif
+
+#if @GNULIB_GETPROGNAME@
+/* Return the base name of the executing program.
+   On native Windows this will usually end in ".exe" or ".EXE". */
+# if @REPLACE_GETPROGNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getprogname
+#   define getprogname rpl_getprogname
+#  endif
+#  if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+#  else
+_GL_FUNCDECL_RPL (getprogname, const char *, (void));
+#  endif
+_GL_CXXALIAS_RPL (getprogname, const char *, (void));
+# else
+#  if !@HAVE_GETPROGNAME@
+#   if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+_GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
+#   else
+_GL_FUNCDECL_SYS (getprogname, const char *, (void));
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (getprogname, const char *, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getprogname);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getprogname
+# if HAVE_RAW_DECL_GETPROGNAME
+_GL_WARN_ON_USE (getprogname, "getprogname is unportable - "
+                 "use gnulib module getprogname for portability");
+# endif
+#endif
+
+#if @GNULIB_GETSUBOPT@
+/* Assuming *OPTIONP is a comma separated list of elements of the form
+   "token" or "token=value", getsubopt parses the first of these elements.
+   If the first element refers to a "token" that is member of the given
+   NULL-terminated array of tokens:
+     - It replaces the comma with a NUL byte, updates *OPTIONP to point past
+       the first option and the comma, sets *VALUEP to the value of the
+       element (or NULL if it doesn't contain an "=" sign),
+     - It returns the index of the "token" in the given array of tokens.
+   Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
+   For more details see the POSIX specification.
+   https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */
+# if @REPLACE_GETSUBOPT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getsubopt
+#   define getsubopt rpl_getsubopt
+#  endif
+_GL_FUNCDECL_RPL (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+_GL_CXXALIAS_RPL (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep));
+# else
+#  if !@HAVE_GETSUBOPT@
+_GL_FUNCDECL_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+#  endif
+_GL_CXXALIAS_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getsubopt);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getsubopt
+# if HAVE_RAW_DECL_GETSUBOPT
+_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
+                 "use gnulib module getsubopt for portability");
+# endif
+#endif
+
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+   pseudo-terminal whose master side is specified by FD.  */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
+                 "use gnulib module grantpt for portability");
+# endif
+#endif
+
+/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
+   rely on GNU or POSIX semantics for malloc and realloc (for example,
+   by never specifying a zero size), so it does not need malloc or
+   realloc to be redefined.  */
+#if @GNULIB_MALLOC_POSIX@
+# if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \
+     || (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@)
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef malloc
+#   define malloc rpl_malloc
+#  endif
+_GL_FUNCDECL_RPL (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (malloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc
+/* For -Wmismatched-dealloc: Associate malloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (malloc, void *,
+                  (size_t size)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+#  undef malloc
+/* Assume malloc is always declared.  */
+_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
+                 "use gnulib module malloc-posix for portability");
+# endif
+#endif
+
+/* Return maximum number of bytes of a multibyte character.  */
+#if @REPLACE_MB_CUR_MAX@
+# if !GNULIB_defined_MB_CUR_MAX
+static inline
+int gl_MB_CUR_MAX (void)
+{
+  /* Turn the value 3 to the value 4, as needed for the UTF-8 encoding.  */
+  return MB_CUR_MAX + (MB_CUR_MAX == 3);
+}
+#  undef MB_CUR_MAX
+#  define MB_CUR_MAX gl_MB_CUR_MAX ()
+#  define GNULIB_defined_MB_CUR_MAX 1
+# endif
+#endif
+
+/* Convert a string to a wide string.  */
+#if @GNULIB_MBSTOWCS@
+# if @REPLACE_MBSTOWCS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbstowcs
+#   define mbstowcs rpl_mbstowcs
+#  endif
+_GL_FUNCDECL_RPL (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len));
+# else
+_GL_CXXALIAS_SYS (mbstowcs, size_t,
+                  (wchar_t *restrict dest, const char *restrict src,
+                   size_t len));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbstowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbstowcs
+# if HAVE_RAW_DECL_MBSTOWCS
+_GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - "
+                 "use gnulib module mbstowcs for portability");
+# endif
+#endif
+
+/* Convert a multibyte character to a wide character.  */
+#if @GNULIB_MBTOWC@
+# if @REPLACE_MBTOWC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbtowc
+#   define mbtowc rpl_mbtowc
+#  endif
+_GL_FUNCDECL_RPL (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+_GL_CXXALIAS_RPL (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+# else
+#  if !@HAVE_MBTOWC@
+_GL_FUNCDECL_SYS (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+#  endif
+_GL_CXXALIAS_SYS (mbtowc, int,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbtowc);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbtowc
+# if HAVE_RAW_DECL_MBTOWC
+_GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
+                 "use gnulib module mbtowc for portability");
+# endif
+#endif
+
+#if @GNULIB_MKDTEMP@
+/* Create a unique temporary directory from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the directory name unique.
+   Returns TEMPLATE, or a null pointer if it cannot get a unique name.
+   The directory is created mode 700.  */
+# if !@HAVE_MKDTEMP@
+_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
+_GL_CXXALIASWARN (mkdtemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdtemp
+# if HAVE_RAW_DECL_MKDTEMP
+_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
+                 "use gnulib module mkdtemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKOSTEMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkostemp
+#   define mkostemp rpl_mkostemp
+#  endif
+_GL_FUNCDECL_RPL (mkostemp, int, (char * /*template*/, int /*flags*/)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemp, int, (char * /*template*/, int /*flags*/));
+# else
+#  if !@HAVE_MKOSTEMP@
+_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
+                                 _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mkostemp);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemp
+# if HAVE_RAW_DECL_MKOSTEMP
+_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
+                 "use gnulib module mkostemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE before a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKOSTEMPS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mkostemps
+#   define mkostemps rpl_mkostemps
+#  endif
+_GL_FUNCDECL_RPL (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# else
+#  if !@HAVE_MKOSTEMPS@
+_GL_FUNCDECL_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mkostemps);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemps
+# if HAVE_RAW_DECL_MKOSTEMPS
+_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
+                 "use gnulib module mkostemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKSTEMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define mkstemp rpl_mkstemp
+#  endif
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
+# else
+#  if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mkstemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemp
+# if HAVE_RAW_DECL_MKSTEMP
+_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
+                 "use gnulib module mkstemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE prior to a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if !@HAVE_MKSTEMPS@
+_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
+                                 _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
+_GL_CXXALIASWARN (mkstemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemps
+# if HAVE_RAW_DECL_MKSTEMPS
+_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
+                 "use gnulib module mkstemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MDA_MKTEMP@
+/* On native Windows, map 'mktemp' to '_mktemp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::mktemp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mktemp
+#   define mktemp _mktemp
+#  endif
+_GL_CXXALIAS_MDA (mktemp, char *, (char * /*template*/));
+# else
+_GL_CXXALIAS_SYS (mktemp, char *, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mktemp);
+#endif
+
+/* Allocate memory with indefinite extent and specified alignment.  */
+#if @GNULIB_POSIX_MEMALIGN@
+# if @REPLACE_POSIX_MEMALIGN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef posix_memalign
+#   define posix_memalign rpl_posix_memalign
+#  endif
+_GL_FUNCDECL_RPL (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size));
+# else
+#  if @HAVE_POSIX_MEMALIGN@
+_GL_CXXALIAS_SYS (posix_memalign, int,
+                  (void **memptr, size_t alignment, size_t size));
+#  endif
+# endif
+# if __GLIBC__ >= 2 && @HAVE_POSIX_MEMALIGN@
+_GL_CXXALIASWARN (posix_memalign);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef posix_memalign
+# if HAVE_RAW_DECL_POSIX_MEMALIGN
+_GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - "
+                 "use gnulib module posix_memalign for portability");
+# endif
+#endif
+
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal.  Flags should
+   include O_RDWR, and may also include O_NOCTTY.  */
+# if @REPLACE_POSIX_OPENPT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef posix_openpt
+#   define posix_openpt rpl_posix_openpt
+#  endif
+_GL_FUNCDECL_RPL (posix_openpt, int, (int flags));
+_GL_CXXALIAS_RPL (posix_openpt, int, (int flags));
+# else
+#  if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+#  endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (posix_openpt);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+                 "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+   the master FD is open on, or NULL on errors.  */
+# if @REPLACE_PTSNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname
+#   define ptsname rpl_ptsname
+#  endif
+_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
+_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
+# else
+#  if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+#  endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+                 "use gnulib module ptsname for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+   the master FD is open on and return 0, or set errno and return
+   non-zero on errors.  */
+# if @REPLACE_PTSNAME_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname_r
+#   define ptsname_r rpl_ptsname_r
+#  endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+#  if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+#  endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+# ifndef GNULIB_defined_ptsname_r
+#  define GNULIB_defined_ptsname_r (!@HAVE_PTSNAME_R@ || @REPLACE_PTSNAME_R@)
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+                 "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
+#if @GNULIB_PUTENV@
+# if @REPLACE_PUTENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv rpl_putenv
+#  endif
+_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (putenv, int, (char *string));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv _putenv
+#  endif
+_GL_CXXALIAS_MDA (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+                                     const char *string.  */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#elif @GNULIB_MDA_PUTENV@
+/* On native Windows, map 'putenv' to '_putenv', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::putenv always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv _putenv
+#  endif
+/* Need to cast, because on mingw, the parameter is either
+   'const char *string' or 'char *string'.  */
+_GL_CXXALIAS_MDA_CAST (putenv, int, (char *string));
+# elif defined __KLIBC__
+/* Need to cast, because on OS/2 kLIBC, the first parameter is
+                                     const char *string.  */
+_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#endif
+
+#if @GNULIB_QSORT_R@
+/* Sort an array of NMEMB elements, starting at address BASE, each element
+   occupying SIZE bytes, in ascending order according to the comparison
+   function COMPARE.  */
+# ifdef __cplusplus
+extern "C" {
+# endif
+# if !GNULIB_defined_qsort_r_fn_types
+typedef int (*_gl_qsort_r_compar_fn) (void const *, void const *, void *);
+#  define GNULIB_defined_qsort_r_fn_types 1
+# endif
+# ifdef __cplusplus
+}
+# endif
+# if @REPLACE_QSORT_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg));
+# else
+#  if !@HAVE_QSORT_R@
+_GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+#  endif
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  _gl_qsort_r_compar_fn compare,
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#elif defined GNULIB_POSIXCHECK
+# undef qsort_r
+# if HAVE_RAW_DECL_QSORT_R
+_GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
+                 "use gnulib module qsort_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RAND@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@)
+# ifndef RAND_MAX
+#  define RAND_MAX 2147483647
+# endif
+#endif
+
+
+#if @GNULIB_RAND@
+# if @REPLACE_RAND@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rand
+#   define rand rpl_rand
+#  endif
+_GL_FUNCDECL_RPL (rand, int, (void));
+_GL_CXXALIAS_RPL (rand, int, (void));
+# else
+_GL_CXXALIAS_SYS (rand, int, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (rand);
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_RANDOM@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random
+#   define random rpl_random
+#  endif
+_GL_FUNCDECL_RPL (random, long, (void));
+_GL_CXXALIAS_RPL (random, long, (void));
+# else
+#  if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (random, long, (void));
+#  endif
+/* Need to cast, because on Haiku, the return type is
+                               int.  */
+_GL_CXXALIAS_SYS_CAST (random, long, (void));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (random);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_RANDOM@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom
+#   define srandom rpl_srandom
+#  endif
+_GL_FUNCDECL_RPL (srandom, void, (unsigned int seed));
+_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));
+# else
+#  if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+#  endif
+/* Need to cast, because on FreeBSD, the first parameter is
+                                       unsigned long seed.  */
+_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (srandom);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_INITSTATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate
+#   define initstate rpl_initstate
+#  endif
+_GL_FUNCDECL_RPL (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size));
+# else
+#  if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@
+_GL_FUNCDECL_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+/* Need to cast, because on FreeBSD, the first parameter is
+                        unsigned long seed.  */
+_GL_CXXALIAS_SYS_CAST (initstate, char *,
+                       (unsigned int seed, char *buf, size_t buf_size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (initstate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if @REPLACE_SETSTATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate
+#   define setstate rpl_setstate
+#  endif
+_GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setstate, char *, (char *arg_state));
+# else
+#  if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+#  endif
+/* Need to cast, because on Mac OS X 10.13, HP-UX, Solaris the first parameter
+   is                                     const char *arg_state.  */
+_GL_CXXALIAS_SYS_CAST (setstate, char *, (char *arg_state));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (setstate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random_r
+#   define random_r rpl_random_r
+#  endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
+_GL_CXXALIASWARN (random_r);
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# if HAVE_RAW_DECL_RANDOM_R
+_GL_WARN_ON_USE (random_r, "random_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom_r
+#   define srandom_r rpl_srandom_r
+#  endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (srandom_r);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom_r
+# if HAVE_RAW_DECL_SRANDOM_R
+_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate_r
+#   define initstate_r rpl_initstate_r
+#  endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+#  endif
+/* Need to cast, because on Haiku, the third parameter is
+                                                     unsigned long buf_size.  */
+_GL_CXXALIAS_SYS_CAST (initstate_r, int,
+                       (unsigned int seed, char *buf, size_t buf_size,
+                        struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (initstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate_r
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate_r
+#   define setstate_r rpl_setstate_r
+#  endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+/* Need to cast, because on Haiku, the first parameter is
+                        void *arg_state.  */
+_GL_CXXALIAS_SYS_CAST (setstate_r, int,
+                       (char *arg_state, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (setstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate_r
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOC_POSIX@
+# if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \
+     || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@)
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef realloc
+#   define realloc rpl_realloc
+#  endif
+_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)
+                                   _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
+# else
+#  if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free.  */
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (realloc);
+# endif
+#else
+# if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc
+/* For -Wmismatched-dealloc: Associate realloc with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (realloc, void *,
+                  (void *ptr, size_t size)
+                  _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+#  undef realloc
+/* Assume realloc is always declared.  */
+_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
+                 "use gnulib module realloc-posix for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOCARRAY@
+# if @REPLACE_REALLOCARRAY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef reallocarray
+#   define reallocarray rpl_reallocarray
+#  endif
+_GL_FUNCDECL_RPL (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+_GL_CXXALIAS_RPL (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+# else
+#  if ! @HAVE_REALLOCARRAY@
+_GL_FUNCDECL_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+#  endif
+_GL_CXXALIAS_SYS (reallocarray, void *,
+                  (void *ptr, size_t nmemb, size_t size));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (reallocarray);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef reallocarray
+# if HAVE_RAW_DECL_REALLOCARRAY
+_GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
+                 "use gnulib module reallocarray for portability");
+# endif
+#endif
+
+#if @GNULIB_REALPATH@
+# if @REPLACE_REALPATH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define realpath rpl_realpath
+#  endif
+_GL_FUNCDECL_RPL (realpath, char *,
+                  (const char *restrict name, char *restrict resolved)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (realpath, char *,
+                  (const char *restrict name, char *restrict resolved));
+# else
+#  if !@HAVE_REALPATH@
+_GL_FUNCDECL_SYS (realpath, char *,
+                  (const char *restrict name, char *restrict resolved)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (realpath, char *,
+                  (const char *restrict name, char *restrict resolved));
+# endif
+_GL_CXXALIASWARN (realpath);
+#elif defined GNULIB_POSIXCHECK
+# undef realpath
+# if HAVE_RAW_DECL_REALPATH
+_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
+                 "canonicalize or canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_RPMATCH@
+/* Test a user response to a question.
+   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
+# if !@HAVE_RPMATCH@
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
+_GL_CXXALIASWARN (rpmatch);
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# if HAVE_RAW_DECL_RPMATCH
+_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
+                 "use gnulib module rpmatch for portability");
+# endif
+#endif
+
+#if @GNULIB_SECURE_GETENV@
+/* Look up NAME in the environment, returning 0 in insecure situations.  */
+# if !@HAVE_SECURE_GETENV@
+_GL_FUNCDECL_SYS (secure_getenv, char *,
+                  (char const *name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
+_GL_CXXALIASWARN (secure_getenv);
+#elif defined GNULIB_POSIXCHECK
+# undef secure_getenv
+# if HAVE_RAW_DECL_SECURE_GETENV
+_GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
+                 "use gnulib module secure_getenv for portability");
+# endif
+#endif
+
+#if @GNULIB_SETENV@
+/* Set NAME to VALUE in the environment.
+   If REPLACE is nonzero, overwrite an existing value.  */
+# if @REPLACE_SETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setenv
+#   define setenv rpl_setenv
+#  endif
+_GL_FUNCDECL_RPL (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setenv, int,
+                  (const char *name, const char *value, int replace));
+# else
+#  if !@HAVE_DECL_SETENV@
+_GL_FUNCDECL_SYS (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (setenv, int,
+                  (const char *name, const char *value, int replace));
+# endif
+# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
+_GL_CXXALIASWARN (setenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setenv
+# if HAVE_RAW_DECL_SETENV
+_GL_WARN_ON_USE (setenv, "setenv is unportable - "
+                 "use gnulib module setenv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOD@
+ /* Parse a double from STRING, updating ENDP if appropriate.  */
+# if @REPLACE_STRTOD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtod rpl_strtod
+#  endif
+#  define GNULIB_defined_strtod_function 1
+_GL_FUNCDECL_RPL (strtod, double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtod, double,
+                  (const char *restrict str, char **restrict endp));
+# else
+#  if !@HAVE_STRTOD@
+_GL_FUNCDECL_SYS (strtod, double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtod, double,
+                  (const char *restrict str, char **restrict endp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtod);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtod
+# if HAVE_RAW_DECL_STRTOD
+_GL_WARN_ON_USE (strtod, "strtod is unportable - "
+                 "use gnulib module strtod for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLD@
+ /* Parse a 'long double' from STRING, updating ENDP if appropriate.  */
+# if @REPLACE_STRTOLD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtold rpl_strtold
+#  endif
+#  define GNULIB_defined_strtold_function 1
+_GL_FUNCDECL_RPL (strtold, long double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtold, long double,
+                  (const char *restrict str, char **restrict endp));
+# else
+#  if !@HAVE_STRTOLD@
+_GL_FUNCDECL_SYS (strtold, long double,
+                  (const char *restrict str, char **restrict endp)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtold, long double,
+                  (const char *restrict str, char **restrict endp));
+# endif
+_GL_CXXALIASWARN (strtold);
+#elif defined GNULIB_POSIXCHECK
+# undef strtold
+# if HAVE_RAW_DECL_STRTOLD
+_GL_WARN_ON_USE (strtold, "strtold is unportable - "
+                 "use gnulib module strtold for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LONG_MAX or LONG_MIN, and errno is set
+   to ERANGE.  */
+# if @REPLACE_STRTOL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtol rpl_strtol
+#  endif
+#  define GNULIB_defined_strtol_function 1
+_GL_FUNCDECL_RPL (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOL@
+_GL_FUNCDECL_SYS (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtol, long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtol);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtol
+# if HAVE_RAW_DECL_STRTOL
+_GL_WARN_ON_USE (strtol, "strtol is unportable - "
+                 "use gnulib module strtol for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+   to ERANGE.  */
+# if @REPLACE_STRTOLL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoll rpl_strtoll
+#  endif
+#  define GNULIB_defined_strtoll_function 1
+_GL_FUNCDECL_RPL (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOLL@
+_GL_FUNCDECL_SYS (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoll, long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+_GL_CXXALIASWARN (strtoll);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# if HAVE_RAW_DECL_STRTOLL
+_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
+                 "use gnulib module strtoll for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOUL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULONG_MAX, and errno is set to ERANGE.  */
+# if @REPLACE_STRTOUL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoul rpl_strtoul
+#  endif
+#  define GNULIB_defined_strtoul_function 1
+_GL_FUNCDECL_RPL (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOUL@
+_GL_FUNCDECL_SYS (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoul, unsigned long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strtoul);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoul
+# if HAVE_RAW_DECL_STRTOUL
+_GL_WARN_ON_USE (strtoul, "strtoul is unportable - "
+                 "use gnulib module strtoul for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULLONG_MAX, and errno is set to
+   ERANGE.  */
+# if @REPLACE_STRTOULL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtoull rpl_strtoull
+#  endif
+#  define GNULIB_defined_strtoull_function 1
+_GL_FUNCDECL_RPL (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# else
+#  if !@HAVE_STRTOULL@
+_GL_FUNCDECL_SYS (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoull, unsigned long long,
+                  (const char *restrict string, char **restrict endptr,
+                   int base));
+# endif
+_GL_CXXALIASWARN (strtoull);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# if HAVE_RAW_DECL_STRTOULL
+_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
+                 "use gnulib module strtoull for portability");
+# endif
+#endif
+
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+   by FD, so that it can be opened.  */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+                 "use gnulib module unlockpt for portability");
+# endif
+#endif
+
+#if @GNULIB_UNSETENV@
+/* Remove the variable NAME from the environment.  */
+# if @REPLACE_UNSETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unsetenv
+#   define unsetenv rpl_unsetenv
+#  endif
+_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
+# else
+#  if !@HAVE_DECL_UNSETENV@
+_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
+# endif
+# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
+_GL_CXXALIASWARN (unsetenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef unsetenv
+# if HAVE_RAW_DECL_UNSETENV
+_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
+                 "use gnulib module unsetenv for portability");
+# endif
+#endif
+
+/* Convert a wide character to a multibyte character.  */
+#if @GNULIB_WCTOMB@
+# if @REPLACE_WCTOMB@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wctomb
+#   define wctomb rpl_wctomb
+#  endif
+_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
+_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
+# else
+_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wctomb);
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif
index 6083fb7..9688a9f 100644 (file)
@@ -1,19 +1,19 @@
 /* Charset conversion.
-   Copyright (C) 2001-2007, 2010-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2010-2024 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -193,11 +193,7 @@ mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,
  fail:
   {
     if (result != *resultp)
-      {
-        int saved_errno = errno;
-        free (result);
-        errno = saved_errno;
-      }
+      free (result);
     return -1;
   }
 # undef tmpbufsize
@@ -385,12 +381,8 @@ str_cd_iconv (const char *src, iconv_t cd)
   return result;
 
  failed:
-  {
-    int saved_errno = errno;
-    free (result);
-    errno = saved_errno;
-    return NULL;
-  }
+  free (result);
+  return NULL;
 
 # endif
 }
@@ -441,11 +433,7 @@ str_iconv (const char *src, const char *from_codeset, const char *to_codeset)
         {
           if (iconv_close (cd) < 0)
             {
-              /* Return NULL, but free the allocated memory, and while doing
-                 that, preserve the errno from iconv_close.  */
-              int saved_errno = errno;
               free (result);
-              errno = saved_errno;
               return NULL;
             }
         }
index 8f09eef..cb42c7b 100644 (file)
@@ -1,24 +1,29 @@
 /* Charset conversion.
-   Copyright (C) 2001-2004, 2006-2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006-2007, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _STRICONV_H
 #define _STRICONV_H
 
-#include <stddef.h>
+/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_ICONV.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#include <stdlib.h>
 #if HAVE_ICONV
 #include <iconv.h>
 #endif
@@ -52,7 +57,8 @@ extern int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,
    Allocate a malloced memory block for the result.
    Return value: the freshly allocated resulting NUL-terminated string if
    successful, otherwise NULL and errno set.  */
-extern char * str_cd_iconv (const char *src, iconv_t cd);
+extern char * str_cd_iconv (const char *src, iconv_t cd)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 
 #endif
 
@@ -64,7 +70,8 @@ extern char * str_cd_iconv (const char *src, iconv_t cd);
    Return value: the freshly allocated resulting NUL-terminated string if
    successful, otherwise NULL and errno set.  */
 extern char * str_iconv (const char *src,
-                         const char *from_codeset, const char *to_codeset);
+                         const char *from_codeset, const char *to_codeset)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 
 
 #ifdef __cplusplus
index ed187c9..66be871 100644 (file)
@@ -1,33 +1,56 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2024 Free Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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 Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _@GUARD_PREFIX@_STRING_H
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _GL_ALREADY_INCLUDING_STRING_H
+/* Special invocation convention:
+   - On OS X/NetBSD we have a sequence of nested includes
+       <string.h> -> <strings.h> -> "string.h"
+     In this situation system _chk variants due to -D_FORTIFY_SOURCE
+     might be used after any replacements defined here.  */
+
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STRING_H
+
+#define _GL_ALREADY_INCLUDING_STRING_H
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
+#undef _GL_ALREADY_INCLUDING_STRING_H
+
 #ifndef _@GUARD_PREFIX@_STRING_H
 #define _@GUARD_PREFIX@_STRING_H
 
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* NetBSD 5.0 mis-defines NULL.  */
 #include <stddef.h>
 
 # include <wchar.h>
 #endif
 
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
 /* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>.  */
 /* But in any case avoid namespace pollution on glibc systems.  */
 #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \
 # include <unistd.h>
 #endif
 
+/* AIX 7.2 and Android 13 declare ffsl and ffsll in <strings.h>, not in
+   <string.h>.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \
+     && (defined _AIX || defined __ANDROID__)) \
+    && ! defined __GLIBC__
+# include <strings.h>
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
+/* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though <stdlib.h> may not have
+   been included yet.  */
+#if @GNULIB_FREE_POSIX@
+# if (@REPLACE_FREE@ && !defined free \
+      && !(defined __cplusplus && defined GNULIB_NAMESPACE))
+/* We can't do '#define free rpl_free' here.  */
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void rpl_free (void *);
+#  endif
+#  undef _GL_ATTRIBUTE_DEALLOC_FREE
+#  define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
+# else
+#  if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+#  else
+#   if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#   else
+_GL_EXTERN_C void free (void *);
+#   endif
+#  endif
+# endif
+#else
+# if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+# else
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void free (void *);
+#  endif
+# endif
+#endif
+
+/* Clear a block of memory.  The compiler will not delete a call to
+   this function, even if the block is dead after the call.  */
+#if @GNULIB_EXPLICIT_BZERO@
+# if ! @HAVE_EXPLICIT_BZERO@
+_GL_FUNCDECL_SYS (explicit_bzero, void,
+                  (void *__dest, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (explicit_bzero, void, (void *__dest, size_t __n));
+_GL_CXXALIASWARN (explicit_bzero);
+#elif defined GNULIB_POSIXCHECK
+# undef explicit_bzero
+# if HAVE_RAW_DECL_EXPLICIT_BZERO
+_GL_WARN_ON_USE (explicit_bzero, "explicit_bzero is unportable - "
+                 "use gnulib module explicit_bzero for portability");
+# endif
+#endif
 
 /* Find the index of the least-significant set bit.  */
 #if @GNULIB_FFSL@
@@ -75,10 +227,18 @@ _GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
 
 /* Find the index of the least-significant set bit.  */
 #if @GNULIB_FFSLL@
-# if !@HAVE_FFSLL@
+# if @REPLACE_FFSLL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define ffsll rpl_ffsll
+#  endif
+_GL_FUNCDECL_RPL (ffsll, int, (long long int i));
+_GL_CXXALIAS_RPL (ffsll, int, (long long int i));
+# else
+#  if !@HAVE_FFSLL@
 _GL_FUNCDECL_SYS (ffsll, int, (long long int i));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (ffsll, int, (long long int i));
+# endif
 _GL_CXXALIASWARN (ffsll);
 #elif defined GNULIB_POSIXCHECK
 # undef ffsll
@@ -88,10 +248,30 @@ _GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
 #endif
 
 
+#if @GNULIB_MDA_MEMCCPY@
+/* On native Windows, map 'memccpy' to '_memccpy', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::memccpy always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef memccpy
+#   define memccpy _memccpy
+#  endif
+_GL_CXXALIAS_MDA (memccpy, void *,
+                  (void *dest, const void *src, int c, size_t n));
+# else
+_GL_CXXALIAS_SYS (memccpy, void *,
+                  (void *dest, const void *src, int c, size_t n));
+# endif
+_GL_CXXALIASWARN (memccpy);
+#endif
+
+
 /* Return the first instance of C within N bytes of S, or NULL.  */
 #if @GNULIB_MEMCHR@
 # if @REPLACE_MEMCHR@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef memchr
 #   define memchr rpl_memchr
 #  endif
 _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
@@ -99,11 +279,6 @@ _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n));
 # else
-#  if ! @HAVE_MEMCHR@
-_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n)
-                                  _GL_ATTRIBUTE_PURE
-                                  _GL_ARG_NONNULL ((1)));
-#  endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C" { const void * std::memchr (const void *, int, size_t); }
        extern "C++" { void * std::memchr (void *, int, size_t); }  */
@@ -112,11 +287,15 @@ _GL_CXXALIAS_SYS_CAST2 (memchr,
                         void const *, (void const *__s, int __c, size_t __n));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (memchr, void *,
+                   (void *__s, int __c, size_t __n)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (memchr, void const *,
-                   (void const *__s, int __c, size_t __n));
-# else
+                   (void const *__s, int __c, size_t __n)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (memchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -165,16 +344,32 @@ _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
 #if @GNULIB_MEMPCPY@
-# if ! @HAVE_MEMPCPY@
+# if @REPLACE_MEMPCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mempcpy
+#   define mempcpy rpl_mempcpy
+#  endif
+_GL_FUNCDECL_RPL (mempcpy, void *,
+                  (void *restrict __dest, void const *restrict __src,
+                   size_t __n)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (mempcpy, void *,
+                  (void *restrict __dest, void const *restrict __src,
+                   size_t __n));
+# else
+#  if !@HAVE_MEMPCPY@
 _GL_FUNCDECL_SYS (mempcpy, void *,
                   (void *restrict __dest, void const *restrict __src,
                    size_t __n)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (mempcpy, void *,
                   (void *restrict __dest, void const *restrict __src,
                    size_t __n));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mempcpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef mempcpy
 # if HAVE_RAW_DECL_MEMPCPY
@@ -197,10 +392,15 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr,
                         void *, (void const *, int, size_t),
                         void const *, (void const *, int, size_t));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t));
-_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t));
-# else
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (memrchr, void *,
+                   (void *, int, size_t)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (memrchr, void const *,
+                   (void const *, int, size_t)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (memrchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -211,6 +411,23 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
 # endif
 #endif
 
+/* Overwrite a block of memory.  The compiler will not optimize
+   effects away, even if the block is dead after the call.  */
+#if @GNULIB_MEMSET_EXPLICIT@
+# if ! @HAVE_MEMSET_EXPLICIT@
+_GL_FUNCDECL_SYS (memset_explicit, void *,
+                  (void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n));
+_GL_CXXALIASWARN (memset_explicit);
+#elif defined GNULIB_POSIXCHECK
+# undef memset_explicit
+# if HAVE_RAW_DECL_MEMSET_EXPLICIT
+_GL_WARN_ON_USE (memset_explicit, "memset_explicit is unportable - "
+                 "use gnulib module memset_explicit for portability");
+# endif
+#endif
+
 /* Find the first occurrence of C in S.  More efficient than
    memchr(S,C,N), at the expense of undefined behavior if C does not
    occur within N bytes.  */
@@ -227,9 +444,14 @@ _GL_CXXALIAS_SYS_CAST2 (rawmemchr,
                         void *, (void const *__s, int __c_in),
                         void const *, (void const *__s, int __c_in));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in));
-_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (rawmemchr, void *,
+                   (void *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (rawmemchr, void const *,
+                   (void const *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
 # else
 _GL_CXXALIASWARN (rawmemchr);
 # endif
@@ -243,14 +465,28 @@ _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
 
 /* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
 #if @GNULIB_STPCPY@
-# if ! @HAVE_STPCPY@
+# if @REPLACE_STPCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef stpcpy
+#   define stpcpy rpl_stpcpy
+#  endif
+_GL_FUNCDECL_RPL (stpcpy, char *,
+                  (char *restrict __dst, char const *restrict __src)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (stpcpy, char *,
+                  (char *restrict __dst, char const *restrict __src));
+# else
+#  if !@HAVE_STPCPY@
 _GL_FUNCDECL_SYS (stpcpy, char *,
                   (char *restrict __dst, char const *restrict __src)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (stpcpy, char *,
                   (char *restrict __dst, char const *restrict __src));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (stpcpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef stpcpy
 # if HAVE_RAW_DECL_STPCPY
@@ -285,7 +521,9 @@ _GL_CXXALIAS_SYS (stpncpy, char *,
                   (char *restrict __dst, char const *restrict __src,
                    size_t __n));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (stpncpy);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef stpncpy
 # if HAVE_RAW_DECL_STPNCPY
@@ -299,9 +537,11 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
    GB18030 and the character to be searched is a digit.  */
 # undef strchr
 /* Assume strchr is always declared.  */
-_GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings "
-                 "in some multibyte locales - "
-                 "use mbschr if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strchr,
+                     const char *, char *, (const char *, int),
+                     "strchr cannot work correctly on character strings "
+                     "in some multibyte locales - "
+                     "use mbschr if you care about internationalization");
 #endif
 
 /* Find the first occurrence of C in S or the final NUL byte.  */
@@ -329,10 +569,15 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul,
                         char const *, (char const *__s, int __c_in));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in));
-_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in));
-# else
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strchrnul, char *,
+                   (char *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+_GL_CXXALIASWARN1 (strchrnul, char const *,
+                   (char const *__s, int __c_in)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strchrnul);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -350,24 +595,78 @@ _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - "
 #   undef strdup
 #   define strdup rpl_strdup
 #  endif
-_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
 _GL_CXXALIAS_RPL (strdup, char *, (char const *__s));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strdup
+#   define strdup _strdup
+#  endif
+_GL_CXXALIAS_MDA (strdup, char *, (char const *__s));
 # else
 #  if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
     /* strdup exists as a function and as a macro.  Get rid of the macro.  */
 #   undef strdup
 #  endif
-#  if !(@HAVE_DECL_STRDUP@ || defined strdup)
-_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+#  if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
 #  endif
 _GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
 # endif
 _GL_CXXALIASWARN (strdup);
-#elif defined GNULIB_POSIXCHECK
-# undef strdup
-# if HAVE_RAW_DECL_STRDUP
+#else
+# if __GNUC__ >= 11 && !defined strdup
+/* For -Wmismatched-dealloc: Associate strdup with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (strdup, char *,
+                  (char const *__s)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strdup
+#  if HAVE_RAW_DECL_STRDUP
 _GL_WARN_ON_USE (strdup, "strdup is unportable - "
                  "use gnulib module strdup for portability");
+#  endif
+# elif @GNULIB_MDA_STRDUP@
+/* On native Windows, map 'creat' to '_creat', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::strdup always.  */
+#  if defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef strdup
+#    define strdup _strdup
+#   endif
+_GL_CXXALIAS_MDA (strdup, char *, (char const *__s));
+#  else
+#   if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
+#    undef strdup
+#   endif
+_GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
+#  endif
+_GL_CXXALIASWARN (strdup);
 # endif
 #endif
 
@@ -378,13 +677,18 @@ _GL_WARN_ON_USE (strdup, "strdup is unportable - "
 #   undef strncat
 #   define strncat rpl_strncat
 #  endif
-_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n)
-                                   _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n));
+_GL_FUNCDECL_RPL (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n));
 # else
-_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n));
+_GL_CXXALIAS_SYS (strncat, char *,
+                  (char *restrict dest, const char *restrict src, size_t n));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (strncat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef strncat
 # if HAVE_RAW_DECL_STRNCAT
@@ -400,22 +704,51 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
 #   undef strndup
 #   define strndup rpl_strndup
 #  endif
-_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
-                                   _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+_GL_FUNCDECL_RPL (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
 # else
-#  if ! @HAVE_DECL_STRNDUP@
-_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
-                                   _GL_ARG_NONNULL ((1)));
+#  if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup)
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
 #  endif
-_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
 # endif
 _GL_CXXALIASWARN (strndup);
-#elif defined GNULIB_POSIXCHECK
-# undef strndup
-# if HAVE_RAW_DECL_STRNDUP
+#else
+# if __GNUC__ >= 11 && !defined strndup
+/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (strndup, char *,
+                  (char const *__s, size_t __n)
+                  _GL_ARG_NONNULL ((1))
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strndup
+#  if HAVE_RAW_DECL_STRNDUP
 _GL_WARN_ON_USE (strndup, "strndup is unportable - "
                  "use gnulib module strndup for portability");
+#  endif
 # endif
 #endif
 
@@ -428,17 +761,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - "
 #   undef strnlen
 #   define strnlen rpl_strnlen
 #  endif
-_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen));
 # else
 #  if ! @HAVE_DECL_STRNLEN@
-_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen));
 # endif
 _GL_CXXALIASWARN (strnlen);
 #elif defined GNULIB_POSIXCHECK
@@ -475,11 +808,15 @@ _GL_CXXALIAS_SYS_CAST2 (strpbrk,
                         char *, (char const *__s, char const *__accept),
                         const char *, (char const *__s, char const *__accept));
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strpbrk, char *,
+                   (char *__s, char const *__accept)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strpbrk, char const *,
-                   (char const *__s, char const *__accept));
-# else
+                   (char const *__s, char const *__accept)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strpbrk);
 # endif
 # if defined GNULIB_POSIXCHECK
@@ -488,15 +825,19 @@ _GL_CXXALIASWARN (strpbrk);
    locale encoding is GB18030 and one of the characters to be searched is a
    digit.  */
 #  undef strpbrk
-_GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings "
-                 "in multibyte locales - "
-                 "use mbspbrk if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strpbrk,
+                     const char *, char *, (const char *, const char *),
+                     "strpbrk cannot work correctly on character strings "
+                     "in multibyte locales - "
+                     "use mbspbrk if you care about internationalization");
 # endif
 #elif defined GNULIB_POSIXCHECK
 # undef strpbrk
 # if HAVE_RAW_DECL_STRPBRK
-_GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - "
-                 "use gnulib module strpbrk for portability");
+_GL_WARN_ON_USE_CXX (strpbrk,
+                     const char *, char *, (const char *, const char *),
+                     "strpbrk is unportable - "
+                     "use gnulib module strpbrk for portability");
 # endif
 #endif
 
@@ -515,9 +856,11 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
    GB18030 and the character to be searched is a digit.  */
 # undef strrchr
 /* Assume strrchr is always declared.  */
-_GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings "
-                 "in some multibyte locales - "
-                 "use mbsrchr if you care about internationalization");
+_GL_WARN_ON_USE_CXX (strrchr,
+                     const char *, char *, (const char *, int),
+                     "strrchr cannot work correctly on character strings "
+                     "in some multibyte locales - "
+                     "use mbsrchr if you care about internationalization");
 #endif
 
 /* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
@@ -577,11 +920,15 @@ _GL_CXXALIAS_SYS_CAST2 (strstr,
                         const char *, (const char *haystack, const char *needle));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strstr, char *,
+                   (char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strstr, const char *,
-                   (const char *haystack, const char *needle));
-# else
+                   (const char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strstr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -626,11 +973,15 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr,
                         const char *, (const char *haystack, const char *needle));
 # endif
 # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle));
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \
+         || defined __clang__)
+_GL_CXXALIASWARN1 (strcasestr, char *,
+                   (char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
 _GL_CXXALIASWARN1 (strcasestr, const char *,
-                   (const char *haystack, const char *needle));
-# else
+                   (const char *haystack, const char *needle)
+                   _GL_ATTRIBUTE_NOTHROW);
+# elif __GLIBC__ >= 2
 _GL_CXXALIASWARN (strcasestr);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -660,7 +1011,7 @@ _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
    This is a variant of strtok() that is multithread-safe.
 
    For the POSIX documentation for this function, see:
-   http://www.opengroup.org/susv3xsh/strtok.html
+   https://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok.html
 
    Caveat: It modifies the original string.
    Caveat: These functions cannot be used on constant strings.
@@ -734,7 +1085,9 @@ _GL_FUNCDECL_SYS (mbslen, size_t, (const char *string)
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (mbslen);
+# endif
 #endif
 
 #if @GNULIB_MBSNLEN@
@@ -931,7 +1284,8 @@ _GL_EXTERN_C char * mbssep (char **stringp, const char *delim)
    Caveat: The identity of the delimiting character is lost.
 
    See also mbssep().  */
-_GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr)
+_GL_EXTERN_C char * mbstok_r (char *restrict string, const char *delim,
+                              char **save_ptr)
      _GL_ARG_NONNULL ((2, 3));
 #endif
 
@@ -947,7 +1301,9 @@ _GL_CXXALIAS_RPL (strerror, char *, (int));
 # else
 _GL_CXXALIAS_SYS (strerror, char *, (int));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (strerror);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef strerror
 /* Assume strerror is always declared.  */
@@ -973,7 +1329,7 @@ _GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)
 #  endif
 _GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen));
 # endif
-# if @HAVE_DECL_STRERROR_R@
+# if __GLIBC__ >= 2 && @HAVE_DECL_STRERROR_R@
 _GL_CXXALIASWARN (strerror_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -984,6 +1340,60 @@ _GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - "
 # endif
 #endif
 
+/* Return the name of the system error code ERRNUM.  */
+#if @GNULIB_STRERRORNAME_NP@
+# if @REPLACE_STRERRORNAME_NP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strerrorname_np
+#   define strerrorname_np rpl_strerrorname_np
+#  endif
+_GL_FUNCDECL_RPL (strerrorname_np, const char *, (int errnum));
+_GL_CXXALIAS_RPL (strerrorname_np, const char *, (int errnum));
+# else
+#  if !@HAVE_STRERRORNAME_NP@
+_GL_FUNCDECL_SYS (strerrorname_np, const char *, (int errnum));
+#  endif
+_GL_CXXALIAS_SYS (strerrorname_np, const char *, (int errnum));
+# endif
+_GL_CXXALIASWARN (strerrorname_np);
+#elif defined GNULIB_POSIXCHECK
+# undef strerrorname_np
+# if HAVE_RAW_DECL_STRERRORNAME_NP
+_GL_WARN_ON_USE (strerrorname_np, "strerrorname_np is unportable - "
+                 "use gnulib module strerrorname_np for portability");
+# endif
+#endif
+
+/* Return an abbreviation string for the signal number SIG.  */
+#if @GNULIB_SIGABBREV_NP@
+# if ! @HAVE_SIGABBREV_NP@
+_GL_FUNCDECL_SYS (sigabbrev_np, const char *, (int sig));
+# endif
+_GL_CXXALIAS_SYS (sigabbrev_np, const char *, (int sig));
+_GL_CXXALIASWARN (sigabbrev_np);
+#elif defined GNULIB_POSIXCHECK
+# undef sigabbrev_np
+# if HAVE_RAW_DECL_SIGABBREV_NP
+_GL_WARN_ON_USE (sigabbrev_np, "sigabbrev_np is unportable - "
+                 "use gnulib module sigabbrev_np for portability");
+# endif
+#endif
+
+/* Return an English description string for the signal number SIG.  */
+#if @GNULIB_SIGDESCR_NP@
+# if ! @HAVE_SIGDESCR_NP@
+_GL_FUNCDECL_SYS (sigdescr_np, const char *, (int sig));
+# endif
+_GL_CXXALIAS_SYS (sigdescr_np, const char *, (int sig));
+_GL_CXXALIASWARN (sigdescr_np);
+#elif defined GNULIB_POSIXCHECK
+# undef sigdescr_np
+# if HAVE_RAW_DECL_SIGDESCR_NP
+_GL_WARN_ON_USE (sigdescr_np, "sigdescr_np is unportable - "
+                 "use gnulib module sigdescr_np for portability");
+# endif
+#endif
+
 #if @GNULIB_STRSIGNAL@
 # if @REPLACE_STRSIGNAL@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1027,3 +1437,4 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
 
 #endif /* _@GUARD_PREFIX@_STRING_H */
 #endif /* _@GUARD_PREFIX@_STRING_H */
+#endif
index 46f3ebc..b0c11fc 100644 (file)
@@ -1,56 +1,42 @@
 /* Compare strings while treating digits characters numerically.
-   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2012 Free Software
-   Foundation, Inc.
+   Copyright (C) 1997-2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as published by
-   the Free Software Foundation; either version 2.1, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library 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 Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Lesser General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 
-#if !_LIBC
-# include <config.h>
+#ifndef _LIBC
+# include <libc-config.h>
+# define __strverscmp strverscmp
 #endif
 
+#include <stdint.h>
 #include <string.h>
 #include <ctype.h>
 
 /* states: S_N: normal, S_I: comparing integral part, S_F: comparing
            fractional parts, S_Z: idem but with leading Zeroes only */
-#define S_N    0x0
-#define S_I    0x4
-#define S_F    0x8
-#define S_Z    0xC
+#define  S_N    0x0
+#define  S_I    0x3
+#define  S_F    0x6
+#define  S_Z    0x9
 
 /* result_type: CMP: return diff; LEN: compare using len_diff/diff */
-#define CMP    2
-#define LEN    3
-
+#define  CMP    2
+#define  LEN    3
 
-/* ISDIGIT differs from isdigit, as follows:
-   - Its arg may be any int or unsigned int; it need not be an unsigned char
-     or EOF.
-   - It's typically faster.
-   POSIX says that only '0' through '9' are digits.  Prefer ISDIGIT to
-   isdigit unless it's important to use the locale's definition
-   of "digit" even when the host does not conform to POSIX.  */
-#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
-
-#undef __strverscmp
-#undef strverscmp
-
-#ifndef weak_alias
-# define __strverscmp strverscmp
-#endif
 
 /* Compare S1 and S2 as strings holding indices/version numbers,
    returning less than, equal to or greater than zero if S1 is less than,
@@ -62,70 +48,65 @@ __strverscmp (const char *s1, const char *s2)
 {
   const unsigned char *p1 = (const unsigned char *) s1;
   const unsigned char *p2 = (const unsigned char *) s2;
-  unsigned char c1, c2;
-  int state;
-  int diff;
 
-  /* Symbol(s)    0       [1-9]   others  (padding)
-     Transition   (10) 0  (01) d  (00) x  (11) -   */
-  static const unsigned int next_state[] =
+  /* Symbol(s)    0       [1-9]   others
+     Transition   (10) 0  (01) d  (00) x   */
+  static const uint_least8_t next_state[] =
   {
-      /* state    x    d    0    - */
-      /* S_N */  S_N, S_I, S_Z, S_N,
-      /* S_I */  S_N, S_I, S_I, S_I,
-      /* S_F */  S_N, S_F, S_F, S_F,
-      /* S_Z */  S_N, S_F, S_Z, S_Z
+      /* state    x    d    0  */
+      /* S_N */  S_N, S_I, S_Z,
+      /* S_I */  S_N, S_I, S_I,
+      /* S_F */  S_N, S_F, S_F,
+      /* S_Z */  S_N, S_F, S_Z
   };
 
-  static const int result_type[] =
+  static const int_least8_t result_type[] =
   {
-      /* state   x/x  x/d  x/0  x/-  d/x  d/d  d/0  d/-
-                 0/x  0/d  0/0  0/-  -/x  -/d  -/0  -/- */
-
-      /* S_N */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
-                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
-      /* S_I */  CMP, -1,  -1,  CMP,  1,  LEN, LEN, CMP,
-                  1,  LEN, LEN, CMP, CMP, CMP, CMP, CMP,
-      /* S_F */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
-                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
-      /* S_Z */  CMP,  1,   1,  CMP, -1,  CMP, CMP, CMP,
-                 -1,  CMP, CMP, CMP
+      /* state   x/x  x/d  x/0  d/x  d/d  d/0  0/x  0/d  0/0  */
+
+      /* S_N */  CMP, CMP, CMP, CMP, LEN, CMP, CMP, CMP, CMP,
+      /* S_I */  CMP, -1,  -1,  +1,  LEN, LEN, +1,  LEN, LEN,
+      /* S_F */  CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+      /* S_Z */  CMP, +1,  +1,  -1,  CMP, CMP, -1,  CMP, CMP
   };
 
   if (p1 == p2)
     return 0;
 
-  c1 = *p1++;
-  c2 = *p2++;
+  unsigned char c1 = *p1++;
+  unsigned char c2 = *p2++;
   /* Hint: '0' is a digit too.  */
-  state = S_N | ((c1 == '0') + (ISDIGIT (c1) != 0));
+  int state = S_N + ((c1 == '0') + (isdigit (c1) != 0));
 
-  while ((diff = c1 - c2) == 0 && c1 != '\0')
+  int diff;
+  while ((diff = c1 - c2) == 0)
     {
+      if (c1 == '\0')
+       return diff;
+
       state = next_state[state];
       c1 = *p1++;
       c2 = *p2++;
-      state |= (c1 == '0') + (ISDIGIT (c1) != 0);
+      state += (c1 == '0') + (isdigit (c1) != 0);
     }
 
-  state = result_type[state << 2 | ((c2 == '0') + (ISDIGIT (c2) != 0))];
+  state = result_type[state * 3 + (((c2 == '0') + (isdigit (c2) != 0)))];
 
   switch (state)
-    {
+  {
     case CMP:
       return diff;
 
     case LEN:
-      while (ISDIGIT (*p1++))
-        if (!ISDIGIT (*p2++))
-          return 1;
+      while (isdigit (*p1++))
+       if (!isdigit (*p2++))
+         return 1;
 
-      return ISDIGIT (*p2) ? -1 : diff;
+      return isdigit (*p2) ? -1 : diff;
 
     default:
       return state;
-    }
+  }
 }
-#ifdef weak_alias
+libc_hidden_def (__strverscmp)
 weak_alias (__strverscmp, strverscmp)
-#endif
diff --git a/lib/gl/sys_types.in.h b/lib/gl/sys_types.in.h
new file mode 100644 (file)
index 0000000..0a0ccc3
--- /dev/null
@@ -0,0 +1,113 @@
+/* Provide a more complete sys/types.h.
+
+   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* This file uses #include_next of a system file that defines time_t.
+   For the 'year2038' module to work right, <config.h> needs to have been
+   included before.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+#if defined _WIN32 && !defined __CYGWIN__ \
+    && (defined __need_off_t || defined __need___off64_t \
+        || defined __need_ssize_t || defined __need_time_t)
+
+/* Special invocation convention inside mingw header files.  */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
+
+/* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
+
+#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
+#define _@GUARD_PREFIX@_SYS_TYPES_H
+
+/* Override off_t if Large File Support is requested on native Windows.  */
+#if @WINDOWS_64_BIT_OFF_T@
+/* Same as int64_t in <stdint.h>.  */
+# if defined _MSC_VER
+#  define off_t __int64
+# else
+#  define off_t long long int
+# endif
+/* Indicator, for gnulib internal purposes.  */
+# define _GL_WINDOWS_64_BIT_OFF_T 1
+#endif
+
+/* Override dev_t and ino_t if distinguishable inodes support is requested
+   on native Windows.  */
+#if @WINDOWS_STAT_INODES@
+
+# if @WINDOWS_STAT_INODES@ == 2
+/* Experimental, not useful in Windows 10.  */
+
+/* Define dev_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_dev_t
+typedef unsigned long long int rpl_dev_t;
+#   undef dev_t
+#   define dev_t rpl_dev_t
+#   define GNULIB_defined_dev_t 1
+#  endif
+
+/* Define ino_t to a 128-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+/* MSVC does not have a 128-bit integer type.
+   GCC has a 128-bit integer type __int128, but only on 64-bit targets.  */
+typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# else /* @WINDOWS_STAT_INODES@ == 1 */
+
+/* Define ino_t to a 64-bit type.  */
+#  if !defined GNULIB_defined_ino_t
+typedef unsigned long long int rpl_ino_t;
+#   undef ino_t
+#   define ino_t rpl_ino_t
+#   define GNULIB_defined_ino_t 1
+#  endif
+
+# endif
+
+/* Indicator, for gnulib internal purposes.  */
+# define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@
+
+#endif
+
+/* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
+# include <stddef.h>
+#endif
+
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* __need_XXX */
diff --git a/lib/gl/unistd.c b/lib/gl/unistd.c
new file mode 100644 (file)
index 0000000..f3b3f7b
--- /dev/null
@@ -0,0 +1,22 @@
+/* Inline functions for <unistd.h>.
+
+   Copyright (C) 2012-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
+#include <unistd.h>
+typedef int dummy;
similarity index 55%
rename from lib/gltests/unistd.in.h
rename to lib/gl/unistd.in.h
index 9115486..b412966 100644 (file)
@@ -1,45 +1,61 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2012 Free Software Foundation, Inc.
+   Copyright (C) 2003-2024 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
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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.
+   GNU Lesser 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/>.  */
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _@GUARD_PREFIX@_UNISTD_H
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if @HAVE_UNISTD_H@ && defined _GL_INCLUDING_UNISTD_H
 /* Special invocation convention:
-   - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
-     but we need to ensure that both the system <unistd.h> and <winsock2.h>
-     are completely included before we replace gethostname.  */
-#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
-  && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
-/* <unistd.h> is being indirectly included for the first time from
-   <winsock2.h>; avoid declaring any overrides.  */
-# if @HAVE_UNISTD_H@
-#  @INCLUDE_NEXT@ @NEXT_UNISTD_H@
-# else
-#  error unexpected; report this to bug-gnulib@gnu.org
-# endif
-# define _GL_WINSOCK2_H_WITNESS
+   - On Mac OS X 10.3.9 we have a sequence of nested includes
+     <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
+#@INCLUDE_NEXT@ @NEXT_UNISTD_H@
 
-/* Normal invocation.  */
-#elif !defined _@GUARD_PREFIX@_UNISTD_H
+#else
+/* Normal invocation convention.  */
 
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
+#endif
+
+/* Avoid lseek bugs in FreeBSD, macOS <https://bugs.gnu.org/61386>.
+   This bug is fixed after FreeBSD 13; see <https://bugs.freebsd.org/256205>.
+   Use macOS "9999" to stand for a future fixed macOS version.  */
+#if defined __FreeBSD__ && __FreeBSD__ < 14
+# undef SEEK_DATA
+# undef SEEK_HOLE
+#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA
+# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#  include <AvailabilityMacros.h>
+# endif
+# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \
+      || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000)
+#  include <sys/fcntl.h> /* It also defines the two macros.  */
+#  undef SEEK_DATA
+#  undef SEEK_HOLE
+# endif
 #endif
 
 /* Get all possible declarations of gethostname().  */
 #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
 #define _@GUARD_PREFIX@_UNISTD_H
 
+/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
 /* NetBSD 5.0 mis-defines NULL.  Also get size_t.  */
-#include <stddef.h>
+/* But avoid namespace pollution on glibc systems.  */
+#ifndef __GLIBC__
+# include <stddef.h>
+#endif
 
 /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>.  */
+/* MSVC declares 'unlink' in <stdio.h>, not in <unistd.h>.  We must include
+   it before we  #define unlink rpl_unlink.  */
 /* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
 #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
+     || ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \
+         && (defined _WIN32 && ! defined __CYGWIN__)) \
      || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
          && defined __CYGWIN__)) \
     && ! defined __GLIBC__
 # include <stdio.h>
 #endif
 
-/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>.  */
+/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in <fcntl.h>, not in
+   <unistd.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
-#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
+#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) \
+    && (defined __CYGWIN__ || defined __ANDROID__) \
     && ! defined __GLIBC__
 # include <fcntl.h>
 #endif
 /* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
    <unistd.h>.  */
 /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>.  */
+/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system <stdlib.h> is
+   included here.  */
 /* But avoid namespace pollution on glibc systems.  */
-#ifndef __GLIBC__
+#if !defined __GLIBC__ && !defined __osf__
+# define __need_system_stdlib_h
 # include <stdlib.h>
+# undef __need_system_stdlib_h
 #endif
 
-/* Native Windows platforms declare chdir, getcwd, rmdir in
+/* Native Windows platforms declare _chdir, _getcwd, _rmdir in
    <io.h> and/or <direct.h>, not in <unistd.h>.
-   They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
-   lseek(), read(), unlink(), write() in <io.h>.  */
-#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
-      || defined GNULIB_POSIXCHECK) \
-     && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-# include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64, MSVC 9 */
-#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
-       || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
-       || defined GNULIB_POSIXCHECK) \
-      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+   They also declare _access(), _chmod(), _close(), _dup(), _dup2(), _isatty(),
+   _lseek(), _read(), _unlink(), _write() in <io.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
 # include <io.h>
+# include <direct.h>
+#endif
+
+/* Native Windows platforms declare _execl*, _execv* in <process.h>.  */
+#if defined _WIN32 && !defined __CYGWIN__
+# include <process.h>
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
 # include <netdb.h>
 #endif
 
-/* MSVC defines off_t in <sys/types.h>.
-   May also define off_t to a 64-bit type on native Windows.  */
-#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
-/* Get off_t.  */
-# include <sys/types.h>
+/* Mac OS X 10.13, Solaris 11.4, and Android 9.0 declare getentropy in
+   <sys/random.h>, not in <unistd.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_GETENTROPY@ || defined GNULIB_POSIXCHECK) \
+    && ((defined __APPLE__ && defined __MACH__) || defined __sun \
+        || defined __ANDROID__) \
+    && @UNISTD_H_HAVE_SYS_RANDOM_H@ \
+    && !defined __GLIBC__
+# include <sys/random.h>
 #endif
 
-#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
-     || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
-     || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
-/* Get ssize_t.  */
-# include <sys/types.h>
+/* Android 4.3 declares fchownat in <sys/stat.h>, not in <unistd.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
+    && !defined __GLIBC__
+# include <sys/stat.h>
 #endif
 
-/* Get getopt(), optarg, optind, opterr, optopt.
-   But avoid namespace pollution on glibc systems.  */
-#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
-# include <getopt.h>
-#endif
+/* MSVC defines off_t in <sys/types.h>.
+   May also define off_t to a 64-bit type on native Windows.  */
+/* Get off_t, ssize_t, mode_t.  */
+#include <sys/types.h>
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 
+/* Get getopt(), optarg, optind, opterr, optopt.  */
+#if @GNULIB_GETOPT_POSIX@ && @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
+# include <getopt-cdefs.h>
+# include <getopt-pfx-core.h>
+#endif
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_UNISTD_INLINE
+# define _GL_UNISTD_INLINE _GL_INLINE
+#endif
+
 /* Hide some function declarations from <winsock2.h>.  */
 
 #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
 /* Declare overridden functions.  */
 
 
-#if defined GNULIB_POSIXCHECK
+#if @GNULIB_ACCESS@
+# if @REPLACE_ACCESS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access rpl_access
+#  endif
+_GL_FUNCDECL_RPL (access, int, (const char *file, int mode)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (access, int, (const char *file, int mode));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access _access
+#  endif
+_GL_CXXALIAS_MDA (access, int, (const char *file, int mode));
+# else
+_GL_CXXALIAS_SYS (access, int, (const char *file, int mode));
+# endif
+_GL_CXXALIASWARN (access);
+#elif defined GNULIB_POSIXCHECK
+# undef access
+# if HAVE_RAW_DECL_ACCESS
 /* The access() function is a security risk.  */
-_GL_WARN_ON_USE (access, "the access function is a security risk - "
+_GL_WARN_ON_USE (access, "access does not always support X_OK - "
+                 "use gnulib module access for portability; "
+                 "also, this function is a security risk - "
                  "use the gnulib module faccessat instead");
+# endif
+#elif @GNULIB_MDA_ACCESS@
+/* On native Windows, map 'access' to '_access', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::access always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef access
+#   define access _access
+#  endif
+_GL_CXXALIAS_MDA (access, int, (const char *file, int mode));
+# else
+_GL_CXXALIAS_SYS (access, int, (const char *file, int mode));
+# endif
+_GL_CXXALIASWARN (access);
 #endif
 
 
 #if @GNULIB_CHDIR@
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chdir
+#   define chdir _chdir
+#  endif
+_GL_CXXALIAS_MDA (chdir, int, (const char *file));
+# else
 _GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+# endif
 _GL_CXXALIASWARN (chdir);
 #elif defined GNULIB_POSIXCHECK
 # undef chdir
@@ -249,6 +342,20 @@ _GL_CXXALIASWARN (chdir);
 _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
                  "use gnulib module chdir for portability");
 # endif
+#elif @GNULIB_MDA_CHDIR@
+/* On native Windows, map 'chdir' to '_chdir', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::chdir always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef chdir
+#   define chdir _chdir
+#  endif
+_GL_CXXALIAS_MDA (chdir, int, (const char *file));
+# else
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIASWARN (chdir);
 #endif
 
 
@@ -257,7 +364,7 @@ _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
    to GID (if GID is not -1).  Follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
 # if @REPLACE_CHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef chown
@@ -293,6 +400,12 @@ _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
 #  endif
 _GL_FUNCDECL_RPL (close, int, (int fd));
 _GL_CXXALIAS_RPL (close, int, (int fd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close _close
+#  endif
+_GL_CXXALIAS_MDA (close, int, (int fd));
 # else
 _GL_CXXALIAS_SYS (close, int, (int fd));
 # endif
@@ -305,6 +418,53 @@ _GL_CXXALIASWARN (close);
 /* Assume close is always declared.  */
 _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
                  "use gnulib module close for portability");
+#elif @GNULIB_MDA_CLOSE@
+/* On native Windows, map 'close' to '_close', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::close always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close _close
+#  endif
+_GL_CXXALIAS_MDA (close, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (close, int, (int fd));
+# endif
+_GL_CXXALIASWARN (close);
+#endif
+
+
+#if @GNULIB_COPY_FILE_RANGE@
+# if @REPLACE_COPY_FILE_RANGE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef copy_file_range
+#   define copy_file_range rpl_copy_file_range
+#  endif
+_GL_FUNCDECL_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+_GL_CXXALIAS_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+# else
+#  if !@HAVE_COPY_FILE_RANGE@
+_GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+#  endif
+_GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
+                                             int ofd, off_t *opos,
+                                             size_t len, unsigned flags));
+# endif
+_GL_CXXALIASWARN (copy_file_range);
+#elif defined GNULIB_POSIXCHECK
+# undef copy_file_range
+# if HAVE_RAW_DECL_COPY_FILE_RANGE
+_GL_WARN_ON_USE (copy_file_range,
+                 "copy_file_range is unportable - "
+                 "use gnulib module copy_file_range for portability");
+# endif
 #endif
 
 
@@ -315,6 +475,12 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
 #  endif
 _GL_FUNCDECL_RPL (dup, int, (int oldfd));
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup
+#   define dup _dup
+#  endif
+_GL_CXXALIAS_MDA (dup, int, (int oldfd));
 # else
 _GL_CXXALIAS_SYS (dup, int, (int oldfd));
 # endif
@@ -325,6 +491,20 @@ _GL_CXXALIASWARN (dup);
 _GL_WARN_ON_USE (dup, "dup is unportable - "
                  "use gnulib module dup for portability");
 # endif
+#elif @GNULIB_MDA_DUP@
+/* On native Windows, map 'dup' to '_dup', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::dup always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup
+#   define dup _dup
+#  endif
+_GL_CXXALIAS_MDA (dup, int, (int oldfd));
+# else
+_GL_CXXALIAS_SYS (dup, int, (int oldfd));
+# endif
+_GL_CXXALIASWARN (dup);
 #endif
 
 
@@ -333,17 +513,20 @@ _GL_WARN_ON_USE (dup, "dup is unportable - "
    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
 # if @REPLACE_DUP2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup2 rpl_dup2
 #  endif
 _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd));
 _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd));
-# else
-#  if !@HAVE_DUP2@
-_GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup2
+#   define dup2 _dup2
 #  endif
+_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd));
+# else
 _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
 # endif
 _GL_CXXALIASWARN (dup2);
@@ -353,6 +536,20 @@ _GL_CXXALIASWARN (dup2);
 _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
                  "use gnulib module dup2 for portability");
 # endif
+#elif @GNULIB_MDA_DUP2@
+/* On native Windows, map 'dup2' to '_dup2', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::dup2 always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup2
+#   define dup2 _dup2
+#  endif
+_GL_CXXALIAS_MDA (dup2, int, (int oldfd, int newfd));
+# else
+_GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
+# endif
+_GL_CXXALIASWARN (dup2);
 #endif
 
 
@@ -364,18 +561,23 @@ _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
    Close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
    See the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
-# if @HAVE_DUP3@
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>.  */
+# if @REPLACE_DUP3@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dup3
 #   define dup3 rpl_dup3
 #  endif
 _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
 _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
 # else
+#  if !@HAVE_DUP3@
 _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
+#  endif
 _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (dup3);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef dup3
 # if HAVE_RAW_DECL_DUP3
@@ -386,10 +588,23 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 
 
 #if @GNULIB_ENVIRON@
+# if defined __CYGWIN__ && !defined __i386__
+/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
+   the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
+   This leads to a link error on 64-bit Cygwin when the option
+   -Wl,--disable-auto-import is in use.  */
+_GL_EXTERN_C __declspec(dllimport) char **environ;
+# endif
 # if !@HAVE_DECL_ENVIRON@
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
 #  if defined __APPLE__ && defined __MACH__
+#   include <TargetConditionals.h>
+#   if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#    define _GL_USE_CRT_EXTERNS
+#   endif
+#  endif
+#  ifdef _GL_USE_CRT_EXTERNS
 #   include <crt_externs.h>
 #   define environ (*_NSGetEnviron ())
 #  else
@@ -404,13 +619,13 @@ extern char **environ;
 # endif
 #elif defined GNULIB_POSIXCHECK
 # if HAVE_RAW_DECL_ENVIRON
-static inline char ***
+_GL_UNISTD_INLINE char ***
+_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - "
+                           "use gnulib module environ for portability")
 rpl_environ (void)
 {
   return &environ;
 }
-_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
-                 "use gnulib module environ for portability");
 #  undef environ
 #  define environ (*rpl_environ ())
 # endif
@@ -440,15 +655,307 @@ _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
 #endif
 
 
+#if @GNULIB_EXECL@
+# if @REPLACE_EXECL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execl
+#   define execl rpl_execl
+#  endif
+_GL_FUNCDECL_RPL (execl, int, (const char *program, const char *arg, ...)
+                              _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execl, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execl);
+#elif defined GNULIB_POSIXCHECK
+# undef execl
+# if HAVE_RAW_DECL_EXECL
+_GL_WARN_ON_USE (execl, "execl behaves very differently on mingw - "
+                 "use gnulib module execl for portability");
+# endif
+#elif @GNULIB_MDA_EXECL@
+/* On native Windows, map 'execl' to '_execl', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execl always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execl
+#   define execl _execl
+#  endif
+_GL_CXXALIAS_MDA (execl, intptr_t, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execl, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execl);
+#endif
+
+#if @GNULIB_EXECLE@
+# if @REPLACE_EXECLE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execle
+#   define execle rpl_execle
+#  endif
+_GL_FUNCDECL_RPL (execle, int, (const char *program, const char *arg, ...)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execle, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execle);
+#elif defined GNULIB_POSIXCHECK
+# undef execle
+# if HAVE_RAW_DECL_EXECLE
+_GL_WARN_ON_USE (execle, "execle behaves very differently on mingw - "
+                 "use gnulib module execle for portability");
+# endif
+#elif @GNULIB_MDA_EXECLE@
+/* On native Windows, map 'execle' to '_execle', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execle always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execle
+#   define execle _execle
+#  endif
+_GL_CXXALIAS_MDA (execle, intptr_t,
+                  (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execle, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execle);
+#endif
+
+#if @GNULIB_EXECLP@
+# if @REPLACE_EXECLP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execlp
+#   define execlp rpl_execlp
+#  endif
+_GL_FUNCDECL_RPL (execlp, int, (const char *program, const char *arg, ...)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (execlp, int, (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execlp);
+#elif defined GNULIB_POSIXCHECK
+# undef execlp
+# if HAVE_RAW_DECL_EXECLP
+_GL_WARN_ON_USE (execlp, "execlp behaves very differently on mingw - "
+                 "use gnulib module execlp for portability");
+# endif
+#elif @GNULIB_MDA_EXECLP@
+/* On native Windows, map 'execlp' to '_execlp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execlp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execlp
+#   define execlp _execlp
+#  endif
+_GL_CXXALIAS_MDA (execlp, intptr_t,
+                  (const char *program, const char *arg, ...));
+# else
+_GL_CXXALIAS_SYS (execlp, int, (const char *program, const char *arg, ...));
+# endif
+_GL_CXXALIASWARN (execlp);
+#endif
+
+
+#if @GNULIB_EXECV@
+# if @REPLACE_EXECV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execv
+#   define execv rpl_execv
+#  endif
+_GL_FUNCDECL_RPL (execv, int, (const char *program, char * const *argv)
+                              _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execv, int, (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execv);
+#elif defined GNULIB_POSIXCHECK
+# undef execv
+# if HAVE_RAW_DECL_EXECV
+_GL_WARN_ON_USE (execv, "execv behaves very differently on mingw - "
+                 "use gnulib module execv for portability");
+# endif
+#elif @GNULIB_MDA_EXECV@
+/* On native Windows, map 'execv' to '_execv', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execv always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execv
+#   define execv _execv
+#  endif
+_GL_CXXALIAS_MDA_CAST (execv, intptr_t,
+                       (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execv, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execv);
+#endif
+
+#if @GNULIB_EXECVE@
+# if @REPLACE_EXECVE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execve
+#   define execve rpl_execve
+#  endif
+_GL_FUNCDECL_RPL (execve, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# else
+_GL_CXXALIAS_SYS (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+_GL_CXXALIASWARN (execve);
+#elif defined GNULIB_POSIXCHECK
+# undef execve
+# if HAVE_RAW_DECL_EXECVE
+_GL_WARN_ON_USE (execve, "execve behaves very differently on mingw - "
+                 "use gnulib module execve for portability");
+# endif
+#elif @GNULIB_MDA_EXECVE@
+/* On native Windows, map 'execve' to '_execve', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execve always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execve
+#   define execve _execve
+#  endif
+_GL_CXXALIAS_MDA_CAST (execve, intptr_t,
+                       (const char *program, char * const *argv,
+                        char * const *env));
+# else
+_GL_CXXALIAS_SYS (execve, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+_GL_CXXALIASWARN (execve);
+#endif
+
+#if @GNULIB_EXECVP@
+# if @REPLACE_EXECVP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvp
+#   define execvp rpl_execvp
+#  endif
+_GL_FUNCDECL_RPL (execvp, int, (const char *program, char * const *argv)
+                               _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execvp, int, (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execvp);
+#elif defined GNULIB_POSIXCHECK
+# undef execvp
+# if HAVE_RAW_DECL_EXECVP
+_GL_WARN_ON_USE (execvp, "execvp behaves very differently on mingw - "
+                 "use gnulib module execvp for portability");
+# endif
+#elif @GNULIB_MDA_EXECVP@
+/* On native Windows, map 'execvp' to '_execvp', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execvp always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvp
+#   define execvp _execvp
+#  endif
+_GL_CXXALIAS_MDA_CAST (execvp, intptr_t,
+                       (const char *program, char * const *argv));
+# else
+_GL_CXXALIAS_SYS (execvp, int, (const char *program, char * const *argv));
+# endif
+_GL_CXXALIASWARN (execvp);
+#endif
+
+#if @GNULIB_EXECVPE@
+# if @REPLACE_EXECVPE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvpe
+#   define execvpe rpl_execvpe
+#  endif
+_GL_FUNCDECL_RPL (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# else
+#  if !@HAVE_DECL_EXECVPE@
+_GL_FUNCDECL_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (execvpe);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef execvpe
+# if HAVE_RAW_DECL_EXECVPE
+_GL_WARN_ON_USE (execvpe, "execvpe behaves very differently on mingw - "
+                 "use gnulib module execvpe for portability");
+# endif
+#elif @GNULIB_MDA_EXECVPE@
+/* On native Windows, map 'execvpe' to '_execvpe', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::execvpe on all platforms that have
+   it.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef execvpe
+#   define execvpe _execvpe
+#  endif
+_GL_CXXALIAS_MDA_CAST (execvpe, intptr_t,
+                       (const char *program, char * const *argv,
+                        char * const *env));
+# elif @HAVE_EXECVPE@
+#  if !@HAVE_DECL_EXECVPE@
+_GL_FUNCDECL_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (execvpe, int,
+                  (const char *program, char * const *argv, char * const *env));
+# endif
+# if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_EXECVPE@
+_GL_CXXALIASWARN (execvpe);
+# endif
+#endif
+
+
 #if @GNULIB_FACCESSAT@
-# if !@HAVE_FACCESSAT@
+# if @REPLACE_FACCESSAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef faccessat
+#   define faccessat rpl_faccessat
+#  endif
+_GL_FUNCDECL_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (faccessat, int,
+                  (int fd, char const *name, int mode, int flag));
+# else
+#  if !@HAVE_FACCESSAT@
 _GL_FUNCDECL_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (faccessat, int,
                   (int fd, char const *file, int mode, int flag));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (faccessat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef faccessat
 # if HAVE_RAW_DECL_FACCESSAT
@@ -463,24 +970,29 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
    the given file descriptor is open.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
-# if ! @HAVE_FCHDIR@
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
+# if @REPLACE_FCHDIR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fchdir
+#   define fchdir rpl_fchdir
+#  endif
+_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/));
+_GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/));
+# else
+#  if !@HAVE_FCHDIR@ || !@HAVE_DECL_FCHDIR@
 _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-
+#  endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
+# endif
+_GL_CXXALIASWARN (fchdir);
+# if @REPLACE_FCHDIR@ || !@HAVE_FCHDIR@
 /* Gnulib internal hooks needed to maintain the fchdir metadata.  */
 _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
      _GL_ARG_NONNULL ((2));
 _GL_EXTERN_C void _gl_unregister_fd (int fd);
 _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
 _GL_EXTERN_C const char *_gl_directory_name (int fd);
-
-# else
-#  if !@HAVE_DECL_FCHDIR@
-_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
-#  endif
 # endif
-_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
-_GL_CXXALIASWARN (fchdir);
 #elif defined GNULIB_POSIXCHECK
 # undef fchdir
 # if HAVE_RAW_DECL_FCHDIR
@@ -515,7 +1027,7 @@ _GL_CXXALIASWARN (fchownat);
 # undef fchownat
 # if HAVE_RAW_DECL_FCHOWNAT
 _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
-                 "use gnulib module openat for portability");
+                 "use gnulib module fchownat for portability");
 # endif
 #endif
 
@@ -524,12 +1036,23 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
 /* Synchronize changes to a file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
-# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
+# if @REPLACE_FDATASYNC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdatasync
+#   define fdatasync rpl_fdatasync
+#  endif
+_GL_FUNCDECL_RPL (fdatasync, int, (int fd));
+_GL_CXXALIAS_RPL (fdatasync, int, (int fd));
+# else
+#  if !@HAVE_FDATASYNC@|| !@HAVE_DECL_FDATASYNC@
 _GL_FUNCDECL_SYS (fdatasync, int, (int fd));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (fdatasync);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef fdatasync
 # if HAVE_RAW_DECL_FDATASYNC
@@ -543,7 +1066,7 @@ _GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
 /* Synchronize changes, including metadata, to a file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
 # if !@HAVE_FSYNC@
 _GL_FUNCDECL_SYS (fsync, int, (int fd));
 # endif
@@ -562,7 +1085,7 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
 /* Change the size of the file to which FD is opened to become equal to LENGTH.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
 # if @REPLACE_FTRUNCATE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef ftruncate
@@ -576,7 +1099,9 @@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
 #  endif
 _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ftruncate);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef ftruncate
 # if HAVE_RAW_DECL_FTRUNCATE
@@ -592,17 +1117,23 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
    Return BUF if successful, or NULL if the directory couldn't be determined
    or SIZE was too small.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
-   Additionally, the gnulib module 'getcwd' guarantees the following GNU
-   extension: If BUF is NULL, an array is allocated with 'malloc'; the array
-   is SIZE bytes long, unless SIZE == 0, in which case it is as big as
-   necessary.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
+   Additionally, the gnulib module 'getcwd' or 'getcwd-lgpl' guarantees the
+   following GNU extension: If BUF is NULL, an array is allocated with
+   'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case
+   it is as big as necessary.  */
 # if @REPLACE_GETCWD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define getcwd rpl_getcwd
 #  endif
 _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
 _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getcwd
+#   define getcwd _getcwd
+#  endif
+_GL_CXXALIAS_MDA (getcwd, char *, (char *buf, size_t size));
 # else
 /* Need to cast, because on mingw, the second parameter is
                                                    int size.  */
@@ -615,6 +1146,22 @@ _GL_CXXALIASWARN (getcwd);
 _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
                  "use gnulib module getcwd for portability");
 # endif
+#elif @GNULIB_MDA_GETCWD@
+/* On native Windows, map 'getcwd' to '_getcwd', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::getcwd always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getcwd
+#   define getcwd _getcwd
+#  endif
+/* Need to cast, because on mingw, the second parameter is either
+   'int size' or 'size_t size'.  */
+_GL_CXXALIAS_MDA_CAST (getcwd, char *, (char *buf, size_t size));
+# else
+_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
+# endif
+_GL_CXXALIASWARN (getcwd);
 #endif
 
 
@@ -644,7 +1191,9 @@ _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
 #  endif
 _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getdomainname);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getdomainname
 # if HAVE_RAW_DECL_GETDOMAINNAME
@@ -657,10 +1206,21 @@ _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
 #if @GNULIB_GETDTABLESIZE@
 /* Return the maximum number of file descriptors in the current process.
    In POSIX, this is same as sysconf (_SC_OPEN_MAX).  */
-# if !@HAVE_GETDTABLESIZE@
+# if @REPLACE_GETDTABLESIZE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getdtablesize
+#   define getdtablesize rpl_getdtablesize
+#  endif
+_GL_FUNCDECL_RPL (getdtablesize, int, (void));
+_GL_CXXALIAS_RPL (getdtablesize, int, (void));
+# else
+#  if !@HAVE_GETDTABLESIZE@
 _GL_FUNCDECL_SYS (getdtablesize, int, (void));
+#  endif
+/* Need to cast, because on AIX, the parameter list is
+                                           (...).  */
+_GL_CXXALIAS_SYS_CAST (getdtablesize, int, (void));
 # endif
-_GL_CXXALIAS_SYS (getdtablesize, int, (void));
 _GL_CXXALIASWARN (getdtablesize);
 #elif defined GNULIB_POSIXCHECK
 # undef getdtablesize
@@ -671,6 +1231,33 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETENTROPY@
+/* Fill a buffer with random bytes.  */
+# if @REPLACE_GETENTROPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getentropy
+#   define getentropy rpl_getentropy
+#  endif
+_GL_FUNCDECL_RPL (getentropy, int, (void *buffer, size_t length));
+_GL_CXXALIAS_RPL (getentropy, int, (void *buffer, size_t length));
+# else
+#  if !@HAVE_GETENTROPY@
+_GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length));
+#  endif
+_GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (getentropy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getentropy
+# if HAVE_RAW_DECL_GETENTROPY
+_GL_WARN_ON_USE (getentropy, "getentropy is unportable - "
+                 "use gnulib module getentropy for portability");
+# endif
+#endif
+
+
 #if @GNULIB_GETGROUPS@
 /* Return the supplemental groups that the current process belongs to.
    It is unspecified whether the effective group id is in the list.
@@ -743,14 +1330,14 @@ _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
 /* Returns the user's login name, or NULL if it cannot be found.  Upon error,
    returns NULL with errno set.
 
-   See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+   See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
 
    Most programs don't need to use this function, because the information is
    available through environment variables:
      ${LOGNAME-$USER}        on Unix platforms,
      $USERNAME               on native Windows platforms.
  */
-# if !@HAVE_GETLOGIN@
+# if !@HAVE_DECL_GETLOGIN@
 _GL_FUNCDECL_SYS (getlogin, char *, (void));
 # endif
 _GL_CXXALIAS_SYS (getlogin, char *, (void));
@@ -772,7 +1359,7 @@ _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
    the case that the login name cannot be found but no specific error is
    provided (this case is hopefully rare but is left open by the POSIX spec).
 
-   See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+   See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
 
    Most programs don't need to use this function, because the information is
    available through environment variables:
@@ -795,7 +1382,9 @@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
                                                      int size.  */
 _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (getlogin_r);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getlogin_r
 # if HAVE_RAW_DECL_GETLOGIN_R
@@ -813,6 +1402,11 @@ _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
 _GL_FUNCDECL_RPL (getpagesize, int, (void));
 _GL_CXXALIAS_RPL (getpagesize, int, (void));
 # else
+/* On HP-UX, getpagesize exists, but it is not declared in <unistd.h> even if
+   the compiler options -D_HPUX_SOURCE -D_XOPEN_SOURCE=600 are used.  */
+#  if defined __hpux
+_GL_FUNCDECL_SYS (getpagesize, int, (void));
+#  endif
 #  if !@HAVE_GETPAGESIZE@
 #   if !defined getpagesize
 /* This is for POSIX systems.  */
@@ -862,7 +1456,7 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void));
 #     define getpagesize() _gl_getpagesize ()
 #    else
 #     if !GNULIB_defined_getpagesize_function
-static inline int
+_GL_UNISTD_INLINE int
 getpagesize ()
 {
   return _gl_getpagesize ();
@@ -887,6 +1481,54 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETPASS@
+/* Function getpass() from module 'getpass':
+     Read a password from /dev/tty or stdin.
+   Function getpass() from module 'getpass-gnu':
+     Read a password of arbitrary length from /dev/tty or stdin.  */
+# if (@GNULIB_GETPASS@ && @REPLACE_GETPASS@) \
+     || (@GNULIB_GETPASS_GNU@ && @REPLACE_GETPASS_FOR_GETPASS_GNU@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpass
+#   define getpass rpl_getpass
+#  endif
+_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt));
+# else
+#  if !@HAVE_GETPASS@
+_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt));
+# endif
+_GL_CXXALIASWARN (getpass);
+#elif defined GNULIB_POSIXCHECK
+# undef getpass
+# if HAVE_RAW_DECL_GETPASS
+_GL_WARN_ON_USE (getpass, "getpass is unportable - "
+                 "use gnulib module getpass or getpass-gnu for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MDA_GETPID@
+/* On native Windows, map 'getpid' to '_getpid', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::getpid always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpid
+#   define getpid _getpid
+#  endif
+_GL_CXXALIAS_MDA (getpid, int, (void));
+# else
+_GL_CXXALIAS_SYS (getpid, pid_t, (void));
+# endif
+_GL_CXXALIASWARN (getpid);
+#endif
+
+
 #if @GNULIB_GETUSERSHELL@
 /* Return the next valid login shell on the system, or NULL when the end of
    the list has been reached.  */
@@ -957,8 +1599,15 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - "
 #   undef isatty
 #   define isatty rpl_isatty
 #  endif
+#  define GNULIB_defined_isatty 1
 _GL_FUNCDECL_RPL (isatty, int, (int fd));
 _GL_CXXALIAS_RPL (isatty, int, (int fd));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty _isatty
+#  endif
+_GL_CXXALIAS_MDA (isatty, int, (int fd));
 # else
 _GL_CXXALIAS_SYS (isatty, int, (int fd));
 # endif
@@ -969,6 +1618,20 @@ _GL_CXXALIASWARN (isatty);
 _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
                  "use gnulib module isatty for portability");
 # endif
+#elif @GNULIB_MDA_ISATTY@
+/* On native Windows, map 'isatty' to '_isatty', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::isatty always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty _isatty
+#  endif
+_GL_CXXALIAS_MDA (isatty, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (isatty, int, (int fd));
+# endif
+_GL_CXXALIASWARN (isatty);
 #endif
 
 
@@ -977,7 +1640,7 @@ _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
    to GID (if GID is not -1).  Do not follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
 # if @REPLACE_LCHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef lchown
@@ -1007,7 +1670,7 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
 /* Create a new hard link for an existing file.
    Return 0 if successful, otherwise -1 and errno set.
    See POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
 # if @REPLACE_LINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define link rpl_link
@@ -1059,7 +1722,9 @@ _GL_CXXALIAS_SYS (linkat, int,
                   (int fd1, const char *path1, int fd2, const char *path2,
                    int flag));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (linkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef linkat
 # if HAVE_RAW_DECL_LINKAT
@@ -1073,13 +1738,19 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
 /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
    Return the new offset if successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
 # if @REPLACE_LSEEK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define lseek rpl_lseek
 #  endif
 _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence));
 _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lseek
+#   define lseek _lseek
+#  endif
+_GL_CXXALIAS_MDA (lseek, off_t, (int fd, off_t offset, int whence));
 # else
 _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
 # endif
@@ -1090,6 +1761,20 @@ _GL_CXXALIASWARN (lseek);
 _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
                  "systems - use gnulib module lseek for portability");
 # endif
+#elif @GNULIB_MDA_LSEEK@
+/* On native Windows, map 'lseek' to '_lseek', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::lseek always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef lseek
+#   define lseek _lseek
+#  endif
+_GL_CXXALIAS_MDA (lseek, long, (int fd, long offset, int whence));
+# else
+_GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (lseek);
 #endif
 
 
@@ -1119,9 +1804,10 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
    Store the read-end as fd[0] and the write-end as fd[1].
    Return 0 upon success, or -1 with errno set upon failure.
    See also the Linux man page at
-   <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
-# if @HAVE_PIPE2@
+   <https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>.  */
+# if @REPLACE_PIPE2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef pipe2
 #   define pipe2 rpl_pipe2
 #  endif
 _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
@@ -1130,7 +1816,9 @@ _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
 _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pipe2);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pipe2
 # if HAVE_RAW_DECL_PIPE2
@@ -1145,7 +1833,7 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
    Return the number of bytes placed into BUF if successful, otherwise
    set errno and return -1.  0 indicates EOF.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
 # if @REPLACE_PREAD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pread
@@ -1165,7 +1853,9 @@ _GL_FUNCDECL_SYS (pread, ssize_t,
 _GL_CXXALIAS_SYS (pread, ssize_t,
                   (int fd, void *buf, size_t bufsize, off_t offset));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pread);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pread
 # if HAVE_RAW_DECL_PREAD
@@ -1180,7 +1870,7 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
    Return the number of bytes written if successful, otherwise
    set errno and return -1.  0 indicates nothing written.  See the
    POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
 # if @REPLACE_PWRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pwrite
@@ -1200,7 +1890,9 @@ _GL_FUNCDECL_SYS (pwrite, ssize_t,
 _GL_CXXALIAS_SYS (pwrite, ssize_t,
                   (int fd, const void *buf, size_t bufsize, off_t offset));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (pwrite);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef pwrite
 # if HAVE_RAW_DECL_PWRITE
@@ -1213,7 +1905,7 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 #if @GNULIB_READ@
 /* Read up to COUNT bytes from file descriptor FD into the buffer starting
    at BUF.  See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
 # if @REPLACE_READ@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef read
@@ -1222,11 +1914,32 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
                                  _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef read
+#   define read _read
+#  endif
+_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, size_t count));
 # else
-/* Need to cast, because on mingw, the third parameter is
-                                                          unsigned int count
-   and the return type is 'int'.  */
-_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
+_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (read);
+#elif @GNULIB_MDA_READ@
+/* On native Windows, map 'read' to '_read', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::read always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef read
+#   define read _read
+#  endif
+#  ifdef __MINGW32__
+_GL_CXXALIAS_MDA (read, int, (int fd, void *buf, unsigned int count));
+#  else
+_GL_CXXALIAS_MDA (read, ssize_t, (int fd, void *buf, unsigned int count));
+#  endif
+# else
+_GL_CXXALIAS_SYS (read, ssize_t, (int fd, void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (read);
 #endif
@@ -1237,24 +1950,28 @@ _GL_CXXALIASWARN (read);
    bytes of it into BUF.  Return the number of bytes placed into BUF if
    successful, otherwise -1 and errno set.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
 # if @REPLACE_READLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define readlink rpl_readlink
 #  endif
 _GL_FUNCDECL_RPL (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize)
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize)
                   _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize));
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize));
 # else
 #  if !@HAVE_READLINK@
 _GL_FUNCDECL_SYS (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize)
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize)
                   _GL_ARG_NONNULL ((1, 2)));
 #  endif
 _GL_CXXALIAS_SYS (readlink, ssize_t,
-                  (const char *file, char *buf, size_t bufsize));
+                  (const char *restrict file,
+                   char *restrict buf, size_t bufsize));
 # endif
 _GL_CXXALIASWARN (readlink);
 #elif defined GNULIB_POSIXCHECK
@@ -1267,14 +1984,31 @@ _GL_WARN_ON_USE (readlink, "readlink is unportable - "
 
 
 #if @GNULIB_READLINKAT@
-# if !@HAVE_READLINKAT@
+# if @REPLACE_READLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define readlinkat rpl_readlinkat
+#  endif
+_GL_FUNCDECL_RPL (readlinkat, ssize_t,
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (readlinkat, ssize_t,
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len));
+# else
+#  if !@HAVE_READLINKAT@
 _GL_FUNCDECL_SYS (readlinkat, ssize_t,
-                  (int fd, char const *file, char *buf, size_t len)
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len)
                   _GL_ARG_NONNULL ((2, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (readlinkat, ssize_t,
-                  (int fd, char const *file, char *buf, size_t len));
+                  (int fd, char const *restrict file,
+                   char *restrict buf, size_t len));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (readlinkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef readlinkat
 # if HAVE_RAW_DECL_READLINKAT
@@ -1292,6 +2026,12 @@ _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (rmdir, int, (char const *name));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rmdir
+#   define rmdir _rmdir
+#  endif
+_GL_CXXALIAS_MDA (rmdir, int, (char const *name));
 # else
 _GL_CXXALIAS_SYS (rmdir, int, (char const *name));
 # endif
@@ -1302,6 +2042,20 @@ _GL_CXXALIASWARN (rmdir);
 _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
                  "use gnulib module rmdir for portability");
 # endif
+#elif @GNULIB_MDA_RMDIR@
+/* On native Windows, map 'rmdir' to '_rmdir', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::rmdir always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rmdir
+#   define rmdir _rmdir
+#  endif
+_GL_CXXALIAS_MDA (rmdir, int, (char const *name));
+# else
+_GL_CXXALIAS_SYS (rmdir, int, (char const *name));
+# endif
+_GL_CXXALIASWARN (rmdir);
 #endif
 
 
@@ -1314,15 +2068,27 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
 
    Platforms with no ability to set the hostname return -1 and set
    errno = ENOSYS.  */
-# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
+# if @REPLACE_SETHOSTNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef sethostname
+#   define sethostname rpl_sethostname
+#  endif
+_GL_FUNCDECL_RPL (sethostname, int, (const char *name, size_t len)
+                                    _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (sethostname, int, (const char *name, size_t len));
+# else
+#  if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
 _GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
                                     _GL_ARG_NONNULL ((1)));
-# endif
-/* Need to cast, because on Solaris 11 2011-10, MacOS X 10.5, IRIX 6.5
+#  endif
+/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
    and FreeBSD 6.4 the second parameter is int.  On Solaris 11
    2011-10, the first parameter is not const.  */
 _GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (sethostname);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef sethostname
 # if HAVE_RAW_DECL_SETHOSTNAME
@@ -1336,7 +2102,7 @@ _GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
 /* Pause the execution of the current thread for N seconds.
    Returns the number of seconds left to sleep.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
 # if @REPLACE_SLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef sleep
@@ -1360,6 +2126,31 @@ _GL_WARN_ON_USE (sleep, "sleep is unportable - "
 #endif
 
 
+#if @GNULIB_MDA_SWAB@
+/* On native Windows, map 'swab' to '_swab', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::swab always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef swab
+#   define swab _swab
+#  endif
+/* Need to cast, because in old mingw the arguments are
+                             (const char *from, char *to, size_t n).  */
+_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n));
+# else
+#  if defined __hpux /* HP-UX */
+_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n));
+#  elif defined __sun && (defined __SunOS_5_10 || defined __XOPEN_OR_POSIX) && !defined _XPG4 /* Solaris */
+_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n));
+#  else
+_GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n));
+#  endif
+# endif
+_GL_CXXALIASWARN (swab);
+#endif
+
+
 #if @GNULIB_SYMLINK@
 # if @REPLACE_SYMLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -1387,14 +2178,28 @@ _GL_WARN_ON_USE (symlink, "symlink is not portable - "
 
 
 #if @GNULIB_SYMLINKAT@
-# if !@HAVE_SYMLINKAT@
+# if @REPLACE_SYMLINKAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef symlinkat
+#   define symlinkat rpl_symlinkat
+#  endif
+_GL_FUNCDECL_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file)
+                  _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (symlinkat, int,
+                  (char const *contents, int fd, char const *file));
+# else
+#  if !@HAVE_SYMLINKAT@
 _GL_FUNCDECL_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file)
                   _GL_ARG_NONNULL ((1, 3)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (symlinkat, int,
                   (char const *contents, int fd, char const *file));
+# endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (symlinkat);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef symlinkat
 # if HAVE_RAW_DECL_SYMLINKAT
@@ -1404,6 +2209,38 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
 #endif
 
 
+#if @GNULIB_TRUNCATE@
+/* Change the size of the file designated by FILENAME to become equal to LENGTH.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2008 specification
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>.  */
+# if @REPLACE_TRUNCATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef truncate
+#   define truncate rpl_truncate
+#  endif
+_GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
+# else
+#  if !@HAVE_DECL_TRUNCATE@
+_GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
+                                 _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (truncate);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef truncate
+# if HAVE_RAW_DECL_TRUNCATE
+_GL_WARN_ON_USE (truncate, "truncate is unportable - "
+                 "use gnulib module truncate for portability");
+# endif
+#endif
+
+
 #if @GNULIB_TTYNAME_R@
 /* Store at most BUFLEN characters of the pathname of the terminal FD is
    open on in BUF.  Return 0 on success, otherwise an error number.  */
@@ -1424,7 +2261,9 @@ _GL_FUNCDECL_SYS (ttyname_r, int,
 _GL_CXXALIAS_SYS (ttyname_r, int,
                   (int fd, char *buf, size_t buflen));
 # endif
+# if __GLIBC__ >= 2
 _GL_CXXALIASWARN (ttyname_r);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef ttyname_r
 # if HAVE_RAW_DECL_TTYNAME_R
@@ -1442,6 +2281,12 @@ _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (unlink, int, (char const *file));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unlink
+#   define unlink _unlink
+#  endif
+_GL_CXXALIAS_MDA (unlink, int, (char const *file));
 # else
 _GL_CXXALIAS_SYS (unlink, int, (char const *file));
 # endif
@@ -1452,6 +2297,20 @@ _GL_CXXALIASWARN (unlink);
 _GL_WARN_ON_USE (unlink, "unlink is not portable - "
                  "use gnulib module unlink for portability");
 # endif
+#elif @GNULIB_MDA_UNLINK@
+/* On native Windows, map 'unlink' to '_unlink', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::unlink always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unlink
+#   define unlink _unlink
+#  endif
+_GL_CXXALIAS_MDA (unlink, int, (char const *file));
+# else
+_GL_CXXALIAS_SYS (unlink, int, (char const *file));
+# endif
+_GL_CXXALIASWARN (unlink);
 #endif
 
 
@@ -1476,7 +2335,7 @@ _GL_CXXALIASWARN (unlinkat);
 # undef unlinkat
 # if HAVE_RAW_DECL_UNLINKAT
 _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
-                 "use gnulib module openat for portability");
+                 "use gnulib module unlinkat for portability");
 # endif
 #endif
 
@@ -1485,7 +2344,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
 /* Pause the execution of the current thread for N microseconds.
    Returns 0 on completion, or -1 on range error.
    See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/usleep.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/009695399/functions/usleep.html>.  */
 # if @REPLACE_USLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef usleep
@@ -1497,7 +2356,9 @@ _GL_CXXALIAS_RPL (usleep, int, (useconds_t n));
 #  if !@HAVE_USLEEP@
 _GL_FUNCDECL_SYS (usleep, int, (useconds_t n));
 #  endif
-_GL_CXXALIAS_SYS (usleep, int, (useconds_t n));
+/* Need to cast, because on Haiku, the first parameter is
+                                     unsigned int n.  */
+_GL_CXXALIAS_SYS_CAST (usleep, int, (useconds_t n));
 # endif
 _GL_CXXALIASWARN (usleep);
 #elif defined GNULIB_POSIXCHECK
@@ -1512,7 +2373,7 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 #if @GNULIB_WRITE@
 /* Write up to COUNT bytes starting at BUF to file descriptor FD.
    See the POSIX:2008 specification
-   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
 # if @REPLACE_WRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
@@ -1521,15 +2382,38 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
                                   _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
+# elif defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef write
+#   define write _write
+#  endif
+_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, size_t count));
+# else
+_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (write);
+#elif @GNULIB_MDA_WRITE@
+/* On native Windows, map 'write' to '_write', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::write always.  */
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef write
+#   define write _write
+#  endif
+#  ifdef __MINGW32__
+_GL_CXXALIAS_MDA (write, int, (int fd, const void *buf, unsigned int count));
+#  else
+_GL_CXXALIAS_MDA (write, ssize_t, (int fd, const void *buf, unsigned int count));
+#  endif
 # else
-/* Need to cast, because on mingw, the third parameter is
-                                                             unsigned int count
-   and the return type is 'int'.  */
-_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
+_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
 # endif
 _GL_CXXALIASWARN (write);
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
index 1ee5085..424678f 100644 (file)
@@ -1,33 +1,33 @@
 /* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2012 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2024 Free Software Foundation, Inc.
 
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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
-   Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNISTR_H
 #define _UNISTR_H
 
 #include "unitypes.h"
 
-/* Get common macros for C.  */
-#include "unused-parameter.h"
-
 /* Get bool.  */
 #include <stdbool.h>
 
-/* Get size_t.  */
+/* Get size_t, ptrdiff_t.  */
 #include <stddef.h>
 
+/* Get free().  */
+#include <stdlib.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -137,8 +137,8 @@ extern int
    The number of available units, N, must be > 0.  */
 /* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0,
    and the NUL character is not treated specially.  */
-/* The variants with _safe suffix are safe, even if the library is compiled
-   without --enable-safety.  */
+/* The variants with _unsafe suffix are for backward compatibility with
+   libunistring versions < 0.9.7.  */
 
 #if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
 # if !HAVE_INLINE
@@ -193,19 +193,15 @@ extern int
 # else
 static inline int
 u32_mbtouc_unsafe (ucs4_t *puc,
-                   const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
+                   const uint32_t *s, _GL_ATTRIBUTE_MAYBE_UNUSED size_t n)
 {
   uint32_t c = *s;
 
-#  if CONFIG_UNICODE_SAFETY
   if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
-#  endif
     *puc = c;
-#  if CONFIG_UNICODE_SAFETY
   else
     /* invalid multibyte character */
     *puc = 0xfffd;
-#  endif
   return 1;
 }
 # endif
@@ -263,7 +259,8 @@ extern int
        u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n);
 # else
 static inline int
-u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
+u32_mbtouc (ucs4_t *puc, const uint32_t *s,
+            _GL_ATTRIBUTE_MAYBE_UNUSED size_t n)
 {
   uint32_t c = *s;
 
@@ -309,13 +306,13 @@ extern int
 #if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING
 /* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr.  */
 extern int
-       u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n);
+       u8_uctomb_aux (uint8_t *s, ucs4_t uc, ptrdiff_t n);
 # if !HAVE_INLINE
 extern int
-       u8_uctomb (uint8_t *s, ucs4_t uc, int n);
+       u8_uctomb (uint8_t *s, ucs4_t uc, ptrdiff_t n);
 # else
 static inline int
-u8_uctomb (uint8_t *s, ucs4_t uc, int n)
+u8_uctomb (uint8_t *s, ucs4_t uc, ptrdiff_t n)
 {
   if (uc < 0x80 && n > 0)
     {
@@ -331,13 +328,13 @@ u8_uctomb (uint8_t *s, ucs4_t uc, int n)
 #if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING
 /* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr.  */
 extern int
-       u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n);
+       u16_uctomb_aux (uint16_t *s, ucs4_t uc, ptrdiff_t n);
 # if !HAVE_INLINE
 extern int
-       u16_uctomb (uint16_t *s, ucs4_t uc, int n);
+       u16_uctomb (uint16_t *s, ucs4_t uc, ptrdiff_t n);
 # else
 static inline int
-u16_uctomb (uint16_t *s, ucs4_t uc, int n)
+u16_uctomb (uint16_t *s, ucs4_t uc, ptrdiff_t n)
 {
   if (uc < 0xd800 && n > 0)
     {
@@ -353,10 +350,10 @@ u16_uctomb (uint16_t *s, ucs4_t uc, int n)
 #if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING
 # if !HAVE_INLINE
 extern int
-       u32_uctomb (uint32_t *s, ucs4_t uc, int n);
+       u32_uctomb (uint32_t *s, ucs4_t uc, ptrdiff_t n);
 # else
 static inline int
-u32_uctomb (uint32_t *s, ucs4_t uc, int n)
+u32_uctomb (uint32_t *s, ucs4_t uc, ptrdiff_t n)
 {
   if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000))
     {
@@ -377,11 +374,20 @@ u32_uctomb (uint32_t *s, ucs4_t uc, int n)
 /* Copy N units from SRC to DEST.  */
 /* Similar to memcpy().  */
 extern uint8_t *
-       u8_cpy (uint8_t *dest, const uint8_t *src, size_t n);
+       u8_cpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
+extern uint16_t *
+       u16_cpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
+extern uint32_t *
+       u32_cpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
+
+/* Copy N units from SRC to DEST, returning pointer after last written unit.  */
+/* Similar to mempcpy().  */
+extern uint8_t *
+       u8_pcpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
 extern uint16_t *
-       u16_cpy (uint16_t *dest, const uint16_t *src, size_t n);
+       u16_pcpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
 extern uint32_t *
-       u32_cpy (uint32_t *dest, const uint32_t *src, size_t n);
+       u32_pcpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
 
 /* Copy N units from SRC to DEST, guaranteeing correct behavior for
    overlapping memory areas.  */
@@ -532,57 +538,57 @@ extern size_t
 /* Copy SRC to DEST.  */
 /* Similar to strcpy(), wcscpy().  */
 extern uint8_t *
-       u8_strcpy (uint8_t *dest, const uint8_t *src);
+       u8_strcpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src);
 extern uint16_t *
-       u16_strcpy (uint16_t *dest, const uint16_t *src);
+       u16_strcpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src);
 extern uint32_t *
-       u32_strcpy (uint32_t *dest, const uint32_t *src);
+       u32_strcpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src);
 
 /* Copy SRC to DEST, returning the address of the terminating NUL in DEST.  */
 /* Similar to stpcpy().  */
 extern uint8_t *
-       u8_stpcpy (uint8_t *dest, const uint8_t *src);
+       u8_stpcpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src);
 extern uint16_t *
-       u16_stpcpy (uint16_t *dest, const uint16_t *src);
+       u16_stpcpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src);
 extern uint32_t *
-       u32_stpcpy (uint32_t *dest, const uint32_t *src);
+       u32_stpcpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src);
 
 /* Copy no more than N units of SRC to DEST.  */
 /* Similar to strncpy(), wcsncpy().  */
 extern uint8_t *
-       u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n);
+       u8_strncpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
 extern uint16_t *
-       u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n);
+       u16_strncpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
 extern uint32_t *
-       u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n);
+       u32_strncpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
 
 /* Copy no more than N units of SRC to DEST.  Return a pointer past the last
    non-NUL unit written into DEST.  */
 /* Similar to stpncpy().  */
 extern uint8_t *
-       u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n);
+       u8_stpncpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
 extern uint16_t *
-       u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n);
+       u16_stpncpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
 extern uint32_t *
-       u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n);
+       u32_stpncpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
 
 /* Append SRC onto DEST.  */
 /* Similar to strcat(), wcscat().  */
 extern uint8_t *
-       u8_strcat (uint8_t *dest, const uint8_t *src);
+       u8_strcat (uint8_t *_UC_RESTRICT dest, const uint8_t *src);
 extern uint16_t *
-       u16_strcat (uint16_t *dest, const uint16_t *src);
+       u16_strcat (uint16_t *_UC_RESTRICT dest, const uint16_t *src);
 extern uint32_t *
-       u32_strcat (uint32_t *dest, const uint32_t *src);
+       u32_strcat (uint32_t *_UC_RESTRICT dest, const uint32_t *src);
 
 /* Append no more than N units of SRC onto DEST.  */
 /* Similar to strncat(), wcsncat().  */
 extern uint8_t *
-       u8_strncat (uint8_t *dest, const uint8_t *src, size_t n);
+       u8_strncat (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n);
 extern uint16_t *
-       u16_strncat (uint16_t *dest, const uint16_t *src, size_t n);
+       u16_strncat (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n);
 extern uint32_t *
-       u32_strncat (uint32_t *dest, const uint32_t *src, size_t n);
+       u32_strncat (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n);
 
 /* Compare S1 and S2.  */
 /* Similar to strcmp(), wcscmp().  */
@@ -630,11 +636,14 @@ extern int
 /* Duplicate S, returning an identical malloc'd string.  */
 /* Similar to strdup(), wcsdup().  */
 extern uint8_t *
-       u8_strdup (const uint8_t *s);
+       u8_strdup (const uint8_t *s)
+       _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 extern uint16_t *
-       u16_strdup (const uint16_t *s);
+       u16_strdup (const uint16_t *s)
+       _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 extern uint32_t *
-       u32_strdup (const uint32_t *s);
+       u32_strdup (const uint32_t *s)
+       _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 
 /* Find the first occurrence of UC in STR.  */
 /* Similar to strchr(), wcschr().  */
@@ -736,11 +745,14 @@ extern bool
    This interface is actually more similar to wcstok than to strtok.  */
 /* Similar to strtok_r(), wcstok().  */
 extern uint8_t *
-       u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr);
+       u8_strtok (uint8_t *_UC_RESTRICT str, const uint8_t *delim,
+                  uint8_t **ptr);
 extern uint16_t *
-       u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr);
+       u16_strtok (uint16_t *_UC_RESTRICT str, const uint16_t *delim,
+                   uint16_t **ptr);
 extern uint32_t *
-       u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr);
+       u32_strtok (uint32_t *_UC_RESTRICT str, const uint32_t *delim,
+                   uint32_t **ptr);
 
 
 #ifdef __cplusplus
diff --git a/lib/gl/unistr/u8-check.c b/lib/gl/unistr/u8-check.c
new file mode 100644 (file)
index 0000000..556f992
--- /dev/null
@@ -0,0 +1,77 @@
+/* Check UTF-8 string.
+   Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "unistr.h"
+
+const uint8_t *
+u8_check (const uint8_t *s, size_t n)
+{
+  const uint8_t *s_end = s + n;
+
+  while (s < s_end)
+    {
+      /* Keep in sync with unistr.h and u8-mbtouc-aux.c.  */
+      uint8_t c = *s;
+
+      if (c < 0x80)
+        {
+          s++;
+          continue;
+        }
+      if (c >= 0xc2)
+        {
+          if (c < 0xe0)
+            {
+              if (s + 2 <= s_end
+                  && (s[1] ^ 0x80) < 0x40)
+                {
+                  s += 2;
+                  continue;
+                }
+            }
+          else if (c < 0xf0)
+            {
+              if (s + 3 <= s_end
+                  && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+                  && (c >= 0xe1 || s[1] >= 0xa0)
+                  && (c != 0xed || s[1] < 0xa0))
+                {
+                  s += 3;
+                  continue;
+                }
+            }
+          else if (c <= 0xf4)
+            {
+              if (s + 4 <= s_end
+                  && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+                  && (s[3] ^ 0x80) < 0x40
+                  && (c >= 0xf1 || s[1] >= 0x90)
+                  && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
+                {
+                  s += 4;
+                  continue;
+                }
+            }
+        }
+      /* invalid or incomplete multibyte character */
+      return s;
+    }
+  return NULL;
+}
index 6ba4d17..564e47e 100644 (file)
@@ -1,19 +1,19 @@
 /* Look at first character in UTF-8 string, returning an error code.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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
-   Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -86,16 +86,13 @@ u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n)
               return -2;
             }
         }
-      else if (c < 0xf8)
+      else if (c <= 0xf4)
         {
           if (n >= 2)
             {
               if ((s[1] ^ 0x80) < 0x40
                   && (c >= 0xf1 || s[1] >= 0x90)
-#if 1
-                  && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
-#endif
-                 )
+                  && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
                 {
                   if (n >= 3)
                     {
@@ -138,146 +135,6 @@ u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n)
               return -2;
             }
         }
-#if 0
-      else if (c < 0xfc)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xf9 || s[1] >= 0x88))
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          if (n >= 4)
-                            {
-                              if ((s[3] ^ 0x80) < 0x40)
-                                {
-                                  if (n >= 5)
-                                    {
-                                      if ((s[4] ^ 0x80) < 0x40)
-                                        {
-                                          *puc = ((unsigned int) (c & 0x03) << 24)
-                                                 | ((unsigned int) (s[1] ^ 0x80) << 18)
-                                                 | ((unsigned int) (s[2] ^ 0x80) << 12)
-                                                 | ((unsigned int) (s[3] ^ 0x80) << 6)
-                                                 | (unsigned int) (s[4] ^ 0x80);
-                                          return 5;
-                                        }
-                                      /* invalid multibyte character */
-                                    }
-                                  else
-                                    {
-                                      /* incomplete multibyte character */
-                                      *puc = 0xfffd;
-                                      return -2;
-                                    }
-                                }
-                              /* invalid multibyte character */
-                            }
-                          else
-                            {
-                              /* incomplete multibyte character */
-                              *puc = 0xfffd;
-                              return -2;
-                            }
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-      else if (c < 0xfe)
-        {
-          if (n >= 2)
-            {
-              if ((s[1] ^ 0x80) < 0x40
-                  && (c >= 0xfd || s[1] >= 0x84))
-                {
-                  if (n >= 3)
-                    {
-                      if ((s[2] ^ 0x80) < 0x40)
-                        {
-                          if (n >= 4)
-                            {
-                              if ((s[3] ^ 0x80) < 0x40)
-                                {
-                                  if (n >= 5)
-                                    {
-                                      if ((s[4] ^ 0x80) < 0x40)
-                                        {
-                                          if (n >= 6)
-                                            {
-                                              if ((s[5] ^ 0x80) < 0x40)
-                                                {
-                                                  *puc = ((unsigned int) (c & 0x01) << 30)
-                                                         | ((unsigned int) (s[1] ^ 0x80) << 24)
-                                                         | ((unsigned int) (s[2] ^ 0x80) << 18)
-                                                         | ((unsigned int) (s[3] ^ 0x80) << 12)
-                                                         | ((unsigned int) (s[4] ^ 0x80) << 6)
-                                                         | (unsigned int) (s[5] ^ 0x80);
-                                                  return 6;
-                                                }
-                                              /* invalid multibyte character */
-                                            }
-                                          else
-                                            {
-                                              /* incomplete multibyte character */
-                                              *puc = 0xfffd;
-                                              return -2;
-                                            }
-                                        }
-                                      /* invalid multibyte character */
-                                    }
-                                  else
-                                    {
-                                      /* incomplete multibyte character */
-                                      *puc = 0xfffd;
-                                      return -2;
-                                    }
-                                }
-                              /* invalid multibyte character */
-                            }
-                          else
-                            {
-                              /* incomplete multibyte character */
-                              *puc = 0xfffd;
-                              return -2;
-                            }
-                        }
-                      /* invalid multibyte character */
-                    }
-                  else
-                    {
-                      /* incomplete multibyte character */
-                      *puc = 0xfffd;
-                      return -2;
-                    }
-                }
-              /* invalid multibyte character */
-            }
-          else
-            {
-              /* incomplete multibyte character */
-              *puc = 0xfffd;
-              return -2;
-            }
-        }
-#endif
     }
   /* invalid multibyte character */
   *puc = 0xfffd;
index c157c72..ffe567d 100644 (file)
@@ -1,27 +1,29 @@
 /* Conversion UCS-4 to UTF-8.
-   Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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
-   Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include "unistr.h"
 
+#include "attribute.h"
+
 int
-u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n)
+u8_uctomb_aux (uint8_t *s, ucs4_t uc, ptrdiff_t n)
 {
   int count;
 
@@ -37,17 +39,8 @@ u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n)
       else
         return -1;
     }
-#if 0
-  else if (uc < 0x200000)
-    count = 4;
-  else if (uc < 0x4000000)
-    count = 5;
-  else if (uc <= 0x7fffffff)
-    count = 6;
-#else
   else if (uc < 0x110000)
     count = 4;
-#endif
   else
     return -1;
 
@@ -56,12 +49,10 @@ u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n)
 
   switch (count) /* note: code falls through cases! */
     {
-#if 0
-    case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
-    case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
-#endif
     case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
+      FALLTHROUGH;
     case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
+      FALLTHROUGH;
     case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
   /*case 1:*/ s[0] = uc;
     }
index a7ffd15..0f903fd 100644 (file)
@@ -1,19 +1,19 @@
 /* Store a character in UTF-8 string.
-   Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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
-   Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 /* Specification.  */
 #include "unistr.h"
 
+#include "attribute.h"
+
 #if !HAVE_INLINE
 
 int
-u8_uctomb (uint8_t *s, ucs4_t uc, int n)
+u8_uctomb (uint8_t *s, ucs4_t uc, ptrdiff_t n)
 {
   if (uc < 0x80)
     {
@@ -52,17 +54,8 @@ u8_uctomb (uint8_t *s, ucs4_t uc, int n)
           else
             return -1;
         }
-#if 0
-      else if (uc < 0x200000)
-        count = 4;
-      else if (uc < 0x4000000)
-        count = 5;
-      else if (uc <= 0x7fffffff)
-        count = 6;
-#else
       else if (uc < 0x110000)
         count = 4;
-#endif
       else
         return -1;
 
@@ -70,12 +63,10 @@ u8_uctomb (uint8_t *s, ucs4_t uc, int n)
         {
           switch (count) /* note: code falls through cases! */
             {
-#if 0
-            case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
-            case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
-#endif
             case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
+              FALLTHROUGH;
             case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
+              FALLTHROUGH;
             case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
           /*case 1:*/ s[0] = uc;
             }
index 54eaa4e..1b14d3b 100644 (file)
@@ -1,18 +1,18 @@
 /* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc.
 
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as published
-   by the Free Software Foundation; either version 2.1 of the License, or
-   (at your option) any later version.
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   This file 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
-   Lesser General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef _UNITYPES_H
 #define _UNITYPES_H
@@ -26,7 +26,7 @@ typedef uint32_t ucs4_t;
 /* Attribute of a function whose result depends only on the arguments
    (not pointers!) and which has no side effects.  */
 #ifndef _UC_ATTRIBUTE_CONST
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) || defined __clang__
 #  define _UC_ATTRIBUTE_CONST __attribute__ ((__const__))
 # else
 #  define _UC_ATTRIBUTE_CONST
@@ -36,11 +36,26 @@ typedef uint32_t ucs4_t;
 /* Attribute of a function whose result depends only on the arguments
    (possibly pointers) and global memory, and which has no side effects.  */
 #ifndef _UC_ATTRIBUTE_PURE
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
 #  define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__))
 # else
 #  define _UC_ATTRIBUTE_PURE
 # endif
 #endif
 
+/* Qualifier in a function declaration, that asserts that the caller must
+   pass a pointer to a different object in the specified pointer argument
+   than in the other pointer arguments.  */
+#ifndef _UC_RESTRICT
+# if defined __restrict \
+     || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \
+     || __clang_major__ >= 3
+#  define _UC_RESTRICT __restrict
+# elif 199901L <= __STDC_VERSION__ || defined restrict
+#  define _UC_RESTRICT restrict
+# else
+#  define _UC_RESTRICT
+# endif
+#endif
+
 #endif /* _UNITYPES_H */
diff --git a/lib/gl/warn-on-use.h b/lib/gl/warn-on-use.h
new file mode 100644 (file)
index 0000000..8f4d40d
--- /dev/null
@@ -0,0 +1,149 @@
+/* A C macro for emitting warnings if a function is used.
+   Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as published
+   by the Free Software Foundation; either version 2 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
+   for FUNCTION which will then trigger a compiler warning containing
+   the text of "literal string" anywhere that function is called, if
+   supported by the compiler.  If the compiler does not support this
+   feature, the macro expands to an unused extern declaration.
+
+   _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
+   attribute used in _GL_WARN_ON_USE.  If the compiler does not support
+   this feature, it expands to empty.
+
+   These macros are useful for marking a function as a potential
+   portability trap, with the intent that "literal string" include
+   instructions on the replacement function that should be used
+   instead.
+   _GL_WARN_ON_USE is for functions with 'extern' linkage.
+   _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
+   linkage.
+
+   However, one of the reasons that a function is a portability trap is
+   if it has the wrong signature.  Declaring FUNCTION with a different
+   signature in C is a compilation error, so this macro must use the
+   same type as any existing declaration so that programs that avoid
+   the problematic FUNCTION do not fail to compile merely because they
+   included a header that poisoned the function.  But this implies that
+   _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
+   have a declaration.  Use of this macro implies that there must not
+   be any other macro hiding the declaration of FUNCTION; but
+   undefining FUNCTION first is part of the poisoning process anyway
+   (although for symbols that are provided only via a macro, the result
+   is a compilation error rather than a warning containing
+   "literal string").  Also note that in C++, it is only safe to use if
+   FUNCTION has no overloads.
+
+   For an example, it is possible to poison 'getline' by:
+   - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
+     [getline]) in configure.ac, which potentially defines
+     HAVE_RAW_DECL_GETLINE
+   - adding this code to a header that wraps the system <stdio.h>:
+     #undef getline
+     #if HAVE_RAW_DECL_GETLINE
+     _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
+       "not universally present; use the gnulib module getline");
+     #endif
+
+   It is not possible to directly poison global variables.  But it is
+   possible to write a wrapper accessor function, and poison that
+   (less common usage, like &environ, will cause a compilation error
+   rather than issue the nice warning, but the end result of informing
+   the developer about their portability problem is still achieved):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     rpl_environ (void) { return &environ; }
+     _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   or better (avoiding contradictory use of 'static' and 'extern'):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
+     rpl_environ (void) { return &environ; }
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
+   */
+#ifndef _GL_WARN_ON_USE
+
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function __attribute__ ((__warning__ (message)))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__warning__ (message)))
+# elif __clang_major__ >= 4
+/* Another compiler attribute is available in clang.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function \
+  __attribute__ ((__diagnose_if__ (1, message, "warning")))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__diagnose_if__ (1, message, "warning")))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C __typeof__ (function) function
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# else /* Unsupported.  */
+#  define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
+# endif
+#endif
+
+/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
+   is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
+   function is declared with the given prototype, consisting of return type,
+   parameters, and attributes.
+   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+   not work in this case.  */
+#ifndef _GL_WARN_ON_USE_CXX
+# if !defined __cplusplus
+#  define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+     _GL_WARN_ON_USE (function, msg)
+# else
+#  if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_gcc function parameters_and_attributes \
+  __attribute__ ((__warning__ (msg)))
+#  elif __clang_major__ >= 4
+/* Another compiler attribute is available in clang.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_clang function parameters_and_attributes \
+  __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+#  elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+extern rettype_gcc function parameters_and_attributes
+#  else /* Unsupported.  */
+#   define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+#  endif
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+   performs the declaration with C linkage.  */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+#  define _GL_WARN_EXTERN_C extern "C"
+# else
+#  define _GL_WARN_EXTERN_C extern
+# endif
+#endif
diff --git a/lib/gl/wchar.in.h b/lib/gl/wchar.in.h
new file mode 100644 (file)
index 0000000..a33a10f
--- /dev/null
@@ -0,0 +1,1707 @@
+/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
+
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file 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 Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake.  */
+
+/*
+ * ISO C 99 <wchar.h> for platforms that have issues.
+ * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html>
+ *
+ * For now, this just ensures proper prerequisite inclusion order and
+ * the declaration of wcwidth().
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if (((defined __need_mbstate_t || defined __need_wint_t)               \
+      && !defined __MINGW32__)                                          \
+     || (defined __hpux                                                 \
+         && ((defined _INTTYPES_INCLUDED                                \
+              && !defined _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H)     \
+             || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
+     || (defined __MINGW32__ && defined __STRING_H_SOURCED__)           \
+     || defined _GL_ALREADY_INCLUDING_WCHAR_H)
+/* Special invocation convention:
+   - Inside glibc and uClibc header files, but not MinGW.
+   - On HP-UX 11.00 we have a sequence of nested includes
+     <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
+     once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
+     and once directly.  In both situations 'wint_t' is not yet defined,
+     therefore we cannot provide the function overrides; instead include only
+     the system's <wchar.h>.
+   - With MinGW 3.22, when <string.h> includes <wchar.h>, only some part of
+     <wchar.h> is actually processed, and that doesn't include 'mbstate_t'.
+   - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
+     the latter includes <wchar.h>.  But here, we have no way to detect whether
+     <wctype.h> is completely included or is still being included.  */
+
+#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+
+#define _GL_ALREADY_INCLUDING_WCHAR_H
+
+#if @HAVE_FEATURES_H@
+# include <features.h> /* for __GLIBC__ */
+#endif
+
+/* In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
+   by <stddef.h>.
+   But avoid namespace pollution on glibc systems.  */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+#endif
+
+/* Include the original <wchar.h> if it exists.
+   Some builds of uClibc lack it.  */
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_WCHAR_H@
+# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
+#endif
+
+#undef _GL_ALREADY_INCLUDING_WCHAR_H
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+#define _@GUARD_PREFIX@_WCHAR_H
+
+/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
+   _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK,
+   HAVE_RAW_DECL_*.  */
+#if !_GL_CONFIG_H_INCLUDED
+ #error "Please include config.h first."
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC
+# if __GNUC__ >= 11
+#  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+# else
+#  define _GL_ATTRIBUTE_DEALLOC(f, i)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# if defined __cplusplus && defined __GNUC__ && !defined __clang__
+/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
+# else
+#  define _GL_ATTRIBUTE_DEALLOC_FREE \
+     _GL_ATTRIBUTE_DEALLOC (free, 1)
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#ifndef _GL_ATTRIBUTE_MALLOC
+# if __GNUC__ >= 3 || defined __clang__
+#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+#  define _GL_ATTRIBUTE_MALLOC
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) || defined __clang__
+#  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _GL_ATTRIBUTE_PURE /* empty */
+# endif
+#endif
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+#ifndef _GL_ATTRIBUTE_NOTHROW
+# if defined __cplusplus
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4
+#   if __cplusplus >= 201103L
+#    define _GL_ATTRIBUTE_NOTHROW noexcept (true)
+#   else
+#    define _GL_ATTRIBUTE_NOTHROW throw ()
+#   endif
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# else
+#  if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
+#   define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#  else
+#   define _GL_ATTRIBUTE_NOTHROW
+#  endif
+# endif
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+
+/* Define wint_t and WEOF.  (Also done in wctype.in.h.)  */
+#if !@HAVE_WINT_T@ && !defined wint_t
+# define wint_t int
+# ifndef WEOF
+#  define WEOF -1
+# endif
+#else
+/* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or
+   <stddef.h>.  This is too small: ISO C 99 section 7.24.1.(2) says that
+   wint_t must be "unchanged by default argument promotions".  Override it.  */
+# if @GNULIBHEADERS_OVERRIDE_WINT_T@
+#  if !GNULIB_defined_wint_t
+#   if @HAVE_CRTDEFS_H@
+#    include <crtdefs.h>
+#   else
+#    include <stddef.h>
+#   endif
+typedef unsigned int rpl_wint_t;
+#   undef wint_t
+#   define wint_t rpl_wint_t
+#   define GNULIB_defined_wint_t 1
+#  endif
+# endif
+# ifndef WEOF
+#  define WEOF ((wint_t) -1)
+# endif
+#endif
+
+
+/* Override mbstate_t if it is too small.
+   On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
+   implementing mbrtowc for encodings like UTF-8.
+   On AIX and MSVC, mbrtowc needs to be overridden, but mbstate_t exists and is
+   large enough and overriding it would cause problems in C++ mode.  */
+#if !(((defined _WIN32 && !defined __CYGWIN__) || @HAVE_MBSINIT@) && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
+# if !GNULIB_defined_mbstate_t
+#  if !(defined _AIX || defined _MSC_VER)
+typedef int rpl_mbstate_t;
+#   undef mbstate_t
+#   define mbstate_t rpl_mbstate_t
+#  endif
+#  define GNULIB_defined_mbstate_t 1
+# endif
+#endif
+
+/* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though <stdlib.h> may not have
+   been included yet.  */
+#if @GNULIB_FREE_POSIX@
+# if (@REPLACE_FREE@ && !defined free \
+      && !(defined __cplusplus && defined GNULIB_NAMESPACE))
+/* We can't do '#define free rpl_free' here.  */
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void rpl_free (void *);
+#  endif
+#  undef _GL_ATTRIBUTE_DEALLOC_FREE
+#  define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
+# else
+#  if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+#  else
+#   if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#   else
+_GL_EXTERN_C void free (void *);
+#   endif
+#  endif
+# endif
+#else
+# if defined _MSC_VER && !defined free
+_GL_EXTERN_C
+#   if defined _DLL
+     __declspec (dllimport)
+#   endif
+     void __cdecl free (void *);
+# else
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW;
+#  else
+_GL_EXTERN_C void free (void *);
+#  endif
+# endif
+#endif
+
+
+#if @GNULIB_MBSZERO@
+/* Get memset().  */
+# include <string.h>
+#endif
+
+
+/* Convert a single-byte character to a wide character.  */
+#if @GNULIB_BTOWC@
+# if @REPLACE_BTOWC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef btowc
+#   define btowc rpl_btowc
+#  endif
+_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
+# else
+#  if !@HAVE_BTOWC@
+_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
+#  endif
+/* Need to cast, because on mingw, the return type is 'unsigned short'.  */
+_GL_CXXALIAS_SYS_CAST (btowc, wint_t, (int c));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (btowc);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef btowc
+# if HAVE_RAW_DECL_BTOWC
+_GL_WARN_ON_USE (btowc, "btowc is unportable - "
+                 "use gnulib module btowc for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a single-byte character.  */
+#if @GNULIB_WCTOB@
+# if @REPLACE_WCTOB@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wctob
+#   define wctob rpl_wctob
+#  endif
+_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
+# else
+#  if !defined wctob && !@HAVE_DECL_WCTOB@
+/* wctob is provided by gnulib, or wctob exists but is not declared.  */
+_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wctob);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wctob
+# if HAVE_RAW_DECL_WCTOB
+_GL_WARN_ON_USE (wctob, "wctob is unportable - "
+                 "use gnulib module wctob for portability");
+# endif
+#endif
+
+
+/* Test whether *PS is in an initial state.  */
+#if @GNULIB_MBSINIT@
+# if @REPLACE_MBSINIT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbsinit
+#   define mbsinit rpl_mbsinit
+#  endif
+_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
+# else
+#  if !@HAVE_MBSINIT@
+_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
+#  endif
+_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbsinit);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbsinit
+# if HAVE_RAW_DECL_MBSINIT
+_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
+                 "use gnulib module mbsinit for portability");
+# endif
+#endif
+
+
+/* Put *PS into an initial state.  */
+#if @GNULIB_MBSZERO@
+/* ISO C 23 § 7.31.6.(3) says that zeroing an mbstate_t is a way to put the
+   mbstate_t into an initial state.  However, on many platforms an mbstate_t
+   is large, and it is possible - as an optimization - to get away with zeroing
+   only part of it.  So, instead of
+
+        mbstate_t state = { 0 };
+
+   or
+
+        mbstate_t state;
+        memset (&state, 0, sizeof (mbstate_t));
+
+   we can write this faster code:
+
+        mbstate_t state;
+        mbszero (&state);
+ */
+/* _GL_MBSTATE_INIT_SIZE describes how mbsinit() behaves: It is the number of
+   bytes at the beginning of an mbstate_t that need to be zero, for mbsinit()
+   to return true.
+   _GL_MBSTATE_ZERO_SIZE is the number of bytes at the beginning of an mbstate_t
+   that need to be zero,
+     - for mbsinit() to return true, and
+     - for all other multibyte-aware functions to operate properly.
+   0 < _GL_MBSTATE_INIT_SIZE <= _GL_MBSTATE_ZERO_SIZE <= sizeof (mbstate_t).
+   These values are determined by source code inspection, where possible, and
+   by running the gnulib unit tests.
+   We need _GL_MBSTATE_INIT_SIZE because if we define _GL_MBSTATE_ZERO_SIZE
+   without considering what mbsinit() does, we get test failures such as
+     assertion "mbsinit (&iter->state)" failed
+ */
+# if GNULIB_defined_mbstate_t                             /* AIX, IRIX */
+/* mbstate_t has at least 4 bytes.  They are used as coded in
+   gnulib/lib/mbrtowc.c.  */
+#  define _GL_MBSTATE_INIT_SIZE 1
+/* define _GL_MBSTATE_ZERO_SIZE 4
+   does not work: it causes test failures.
+   So, use the safe fallback value, below.  */
+# elif __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2             /* glibc */
+/* mbstate_t is defined in <bits/types/__mbstate_t.h>.
+   For more details, see glibc/iconv/skeleton.c.  */
+#  define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (((mbstate_t) {0}).__count) */
+#  define _GL_MBSTATE_ZERO_SIZE /* 8 */ sizeof (mbstate_t)
+# elif defined MUSL_LIBC                                  /* musl libc */
+/* mbstate_t is defined in <bits/alltypes.h>.
+   It is an opaque aligned 8-byte struct, of which at most the first
+   4 bytes are used.
+   For more details, see src/multibyte/mbrtowc.c.  */
+#  define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (unsigned) */
+#  define _GL_MBSTATE_ZERO_SIZE 4
+# elif defined __APPLE__ && defined __MACH__              /* macOS */
+/* On macOS, mbstate_t is defined in <machine/_types.h>.
+   It is an opaque aligned 128-byte struct, of which at most the first
+   12 bytes are used.
+   For more details, see the __mbsinit implementations in
+   Libc-<version>/locale/FreeBSD/
+   {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8,utf2}.c.  */
+/* File       INIT_SIZE  ZERO_SIZE
+   ascii.c        0          0
+   none.c         0          0
+   euc.c         12         12
+   mskanji.c      4          4
+   big5.c         4          4
+   gb2312.c       4          6
+   gbk.c          4          4
+   gb18030.c      4          8
+   utf8.c         8         10
+   utf2.c         8         12 */
+#  define _GL_MBSTATE_INIT_SIZE 12
+#  define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __FreeBSD__                                /* FreeBSD */
+/* On FreeBSD, mbstate_t is defined in src/sys/sys/_types.h.
+   It is an opaque aligned 128-byte struct, of which at most the first
+   12 bytes are used.
+   For more details, see the __mbsinit implementations in
+   src/lib/libc/locale/
+   {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c.  */
+/* File       INIT_SIZE  ZERO_SIZE
+   ascii.c        0          0
+   none.c         0          0
+   euc.c         12         12
+   mskanji.c      4          4
+   big5.c         4          4
+   gb2312.c       4          6
+   gbk.c          4          4
+   gb18030.c      4          8
+   utf8.c         8         12 */
+#  define _GL_MBSTATE_INIT_SIZE 12
+#  define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __NetBSD__                                 /* NetBSD */
+/* On NetBSD, mbstate_t is defined in src/sys/sys/ansi.h.
+   It is an opaque aligned 128-byte struct, of which at most the first
+   28 bytes are used.
+   For more details, see the *State types in
+   src/lib/libc/citrus/modules/citrus_*.c
+   (ignoring citrus_{hz,iso2022,utf7,viqr,zw}.c, since these implement
+   stateful encodings, not usable as locale encodings).  */
+/* File                                ZERO_SIZE
+   citrus/citrus_none.c                    0
+   citrus/modules/citrus_euc.c             8
+   citrus/modules/citrus_euctw.c           8
+   citrus/modules/citrus_mskanji.c         8
+   citrus/modules/citrus_big5.c            8
+   citrus/modules/citrus_gbk2k.c           8
+   citrus/modules/citrus_dechanyu.c        8
+   citrus/modules/citrus_johab.c           6
+   citrus/modules/citrus_utf8.c           12 */
+/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+   failures for values < 28.  */
+#  define _GL_MBSTATE_ZERO_SIZE 28
+# elif defined __OpenBSD__                                /* OpenBSD */
+/* On OpenBSD, mbstate_t is defined in src/sys/sys/_types.h.
+   It is an opaque aligned 128-byte struct, of which at most the first
+   12 bytes are used.
+   For more details, see src/lib/libc/citrus/citrus_*.c.  */
+/* File           INIT_SIZE  ZERO_SIZE
+   citrus_none.c      0          0
+   citrus_utf8.c     12         12 */
+#  define _GL_MBSTATE_INIT_SIZE 12
+#  define _GL_MBSTATE_ZERO_SIZE 12
+# elif defined __minix                                    /* Minix */
+/* On Minix, mbstate_t is defined in sys/sys/ansi.h.
+   It is an opaque aligned 128-byte struct.
+   For more details, see the *State types in
+   lib/libc/citrus/citrus_*.c.  */
+/* File           INIT_SIZE  ZERO_SIZE
+   citrus_none.c      0          0 */
+/* But 1 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+   failures for values < 4.  */
+#  define _GL_MBSTATE_ZERO_SIZE 4
+# elif defined __sun                                      /* Solaris */
+/* On Solaris, mbstate_t is defined in <wchar_impl.h>.
+   It is an opaque aligned 24-byte or 32-byte struct, of which at most the first
+   20 or 28 bytes are used.
+   For more details on OpenSolaris derivatives, see the *State types in
+   illumos-gate/usr/src/lib/libc/port/locale/
+   {none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c.  */
+/* File       INIT_SIZE  ZERO_SIZE
+   none.c         0          0
+   euc.c         12         12
+   mskanji.c      4          4
+   big5.c         4          4
+   gb2312.c       4          6
+   gbk.c          4          4
+   gb18030.c      4          8
+   utf8.c        12         12 */
+/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test
+   failures
+     - in OpenIndiana and OmniOS: for values < 16,
+     - in Solaris 10 and 11: for values < 20 (in 32-bit mode)
+       or < 28 (in 64-bit mode).
+   Since we don't have a good way to distinguish the OpenSolaris derivatives
+   from the proprietary Solaris versions, and can't inspect the Solaris source
+   code, use the safe fallback values, below.  */
+# elif defined __CYGWIN__                                 /* Cygwin */
+/* On Cygwin, mbstate_t is defined in <sys/_types.h>.
+   For more details, see newlib/libc/stdlib/mbtowc_r.c and
+   winsup/cygwin/strfuncs.cc.  */
+#  define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (int) */
+#  define _GL_MBSTATE_ZERO_SIZE 8
+# elif defined _WIN32 && !defined __CYGWIN__              /* Native Windows.  */
+/* MSVC defines 'mbstate_t' as an aligned 8-byte struct.
+   On mingw, 'mbstate_t' is sometimes defined as 'int', sometimes defined
+   as an aligned 8-byte struct, of which the first 4 bytes matter.
+   Use the safe values, below.  */
+# elif defined __ANDROID__                                /* Android */
+/* Android defines 'mbstate_t' in <bits/mbstate_t.h>.
+   It is an opaque 4-byte or 8-byte struct.
+   For more details, see
+   bionic/libc/private/bionic_mbstate.h
+   bionic/libc/bionic/mbrtoc32.cpp
+   bionic/libc/bionic/mbrtoc16.cpp
+ */
+#  define _GL_MBSTATE_INIT_SIZE 4
+#  define _GL_MBSTATE_ZERO_SIZE 4
+# endif
+/* Use safe values as defaults.  */
+# ifndef _GL_MBSTATE_INIT_SIZE
+#  define _GL_MBSTATE_INIT_SIZE sizeof (mbstate_t)
+# endif
+# ifndef _GL_MBSTATE_ZERO_SIZE
+#  define _GL_MBSTATE_ZERO_SIZE sizeof (mbstate_t)
+# endif
+_GL_BEGIN_C_LINKAGE
+# if defined IN_MBSZERO
+_GL_EXTERN_INLINE
+# else
+_GL_INLINE
+# endif
+_GL_ARG_NONNULL ((1)) void
+mbszero (mbstate_t *ps)
+{
+  memset (ps, 0, _GL_MBSTATE_ZERO_SIZE);
+}
+_GL_END_C_LINKAGE
+_GL_CXXALIAS_SYS (mbszero, void, (mbstate_t *ps));
+_GL_CXXALIASWARN (mbszero);
+#endif
+
+
+/* Convert a multibyte character to a wide character.  */
+#if @GNULIB_MBRTOWC@
+# if @REPLACE_MBRTOWC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbrtowc
+#   define mbrtowc rpl_mbrtowc
+#  endif
+_GL_FUNCDECL_RPL (mbrtowc, size_t,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
+                   mbstate_t *restrict ps));
+_GL_CXXALIAS_RPL (mbrtowc, size_t,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
+                   mbstate_t *restrict ps));
+# else
+#  if !@HAVE_MBRTOWC@
+_GL_FUNCDECL_SYS (mbrtowc, size_t,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
+                   mbstate_t *restrict ps));
+#  endif
+_GL_CXXALIAS_SYS (mbrtowc, size_t,
+                  (wchar_t *restrict pwc, const char *restrict s, size_t n,
+                   mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbrtowc);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbrtowc
+# if HAVE_RAW_DECL_MBRTOWC
+_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
+                 "use gnulib module mbrtowc for portability");
+# endif
+#endif
+
+
+/* Recognize a multibyte character.  */
+#if @GNULIB_MBRLEN@
+# if @REPLACE_MBRLEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbrlen
+#   define mbrlen rpl_mbrlen
+#  endif
+_GL_FUNCDECL_RPL (mbrlen, size_t,
+                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
+_GL_CXXALIAS_RPL (mbrlen, size_t,
+                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
+# else
+#  if !@HAVE_MBRLEN@
+_GL_FUNCDECL_SYS (mbrlen, size_t,
+                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
+#  endif
+_GL_CXXALIAS_SYS (mbrlen, size_t,
+                  (const char *restrict s, size_t n, mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbrlen);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbrlen
+# if HAVE_RAW_DECL_MBRLEN
+_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
+                 "use gnulib module mbrlen for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string.  */
+#if @GNULIB_MBSRTOWCS@
+# if @REPLACE_MBSRTOWCS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbsrtowcs
+#   define mbsrtowcs rpl_mbsrtowcs
+#  endif
+_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t len,
+                   mbstate_t *restrict ps));
+# else
+#  if !@HAVE_MBSRTOWCS@
+_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t len,
+                   mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbsrtowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbsrtowcs
+# if HAVE_RAW_DECL_MBSRTOWCS
+_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
+                 "use gnulib module mbsrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string.  */
+#if @GNULIB_MBSNRTOWCS@
+# if @REPLACE_MBSNRTOWCS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbsnrtowcs
+#   define mbsnrtowcs rpl_mbsnrtowcs
+#  endif
+_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t srclen, size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t srclen, size_t len,
+                   mbstate_t *restrict ps));
+# else
+#  if !@HAVE_MBSNRTOWCS@
+_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t srclen, size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
+                  (wchar_t *restrict dest,
+                   const char **restrict srcp, size_t srclen, size_t len,
+                   mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (mbsnrtowcs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mbsnrtowcs
+# if HAVE_RAW_DECL_MBSNRTOWCS
+_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
+                 "use gnulib module mbsnrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a multibyte character.  */
+#if @GNULIB_WCRTOMB@
+# if @REPLACE_WCRTOMB@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcrtomb
+#   define wcrtomb rpl_wcrtomb
+#  endif
+_GL_FUNCDECL_RPL (wcrtomb, size_t,
+                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
+_GL_CXXALIAS_RPL (wcrtomb, size_t,
+                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
+# else
+#  if !@HAVE_WCRTOMB@
+_GL_FUNCDECL_SYS (wcrtomb, size_t,
+                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
+#  endif
+_GL_CXXALIAS_SYS (wcrtomb, size_t,
+                  (char *restrict s, wchar_t wc, mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcrtomb);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcrtomb
+# if HAVE_RAW_DECL_WCRTOMB
+_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
+                 "use gnulib module wcrtomb for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string.  */
+#if @GNULIB_WCSRTOMBS@
+# if @REPLACE_WCSRTOMBS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsrtombs
+#   define wcsrtombs rpl_wcsrtombs
+#  endif
+_GL_FUNCDECL_RPL (wcsrtombs, size_t,
+                  (char *restrict dest, const wchar_t **restrict srcp,
+                   size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsrtombs, size_t,
+                  (char *restrict dest, const wchar_t **restrict srcp,
+                   size_t len,
+                   mbstate_t *restrict ps));
+# else
+#  if !@HAVE_WCSRTOMBS@
+_GL_FUNCDECL_SYS (wcsrtombs, size_t,
+                  (char *restrict dest, const wchar_t **restrict srcp,
+                   size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (wcsrtombs, size_t,
+                  (char *restrict dest, const wchar_t **restrict srcp,
+                   size_t len,
+                   mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsrtombs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrtombs
+# if HAVE_RAW_DECL_WCSRTOMBS
+_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
+                 "use gnulib module wcsrtombs for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string.  */
+#if @GNULIB_WCSNRTOMBS@
+# if @REPLACE_WCSNRTOMBS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsnrtombs
+#   define wcsnrtombs rpl_wcsnrtombs
+#  endif
+_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
+                  (char *restrict dest,
+                   const wchar_t **restrict srcp, size_t srclen,
+                   size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
+                  (char *restrict dest,
+                   const wchar_t **restrict srcp, size_t srclen,
+                   size_t len,
+                   mbstate_t *restrict ps));
+# else
+#  if !@HAVE_WCSNRTOMBS@ || (defined __cplusplus && defined __sun)
+_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
+                  (char *restrict dest,
+                   const wchar_t **restrict srcp, size_t srclen,
+                   size_t len,
+                   mbstate_t *restrict ps)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
+                  (char *restrict dest,
+                   const wchar_t **restrict srcp, size_t srclen,
+                   size_t len,
+                   mbstate_t *restrict ps));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsnrtombs);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnrtombs
+# if HAVE_RAW_DECL_WCSNRTOMBS
+_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
+                 "use gnulib module wcsnrtombs for portability");
+# endif
+#endif
+
+
+/* Return the number of screen columns needed for WC.  */
+#if @GNULIB_WCWIDTH@
+# if @REPLACE_WCWIDTH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcwidth
+#   define wcwidth rpl_wcwidth
+#  endif
+_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
+# else
+#  if !@HAVE_DECL_WCWIDTH@
+/* wcwidth exists but is not declared.  */
+_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcwidth);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcwidth
+# if HAVE_RAW_DECL_WCWIDTH
+_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
+                 "use gnulib module wcwidth for portability");
+# endif
+#endif
+
+
+/* Search N wide characters of S for C.  */
+#if @GNULIB_WMEMCHR@
+# if !@HAVE_WMEMCHR@
+_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
+                                      _GL_ATTRIBUTE_PURE);
+# endif
+  /* On some systems, this function is defined as an overloaded function:
+       extern "C++" {
+         const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
+         wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
+       }  */
+_GL_CXXALIAS_SYS_CAST2 (wmemchr,
+                        wchar_t *, (const wchar_t *, wchar_t, size_t),
+                        const wchar_t *, (const wchar_t *, wchar_t, size_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
+                   (const wchar_t *s, wchar_t c, size_t n));
+# elif __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmemchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemchr
+# if HAVE_RAW_DECL_WMEMCHR
+_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
+                 "use gnulib module wmemchr for portability");
+# endif
+#endif
+
+
+/* Compare N wide characters of S1 and S2.  */
+#if @GNULIB_WMEMCMP@
+# if @REPLACE_WMEMCMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wmemcmp
+#   define wmemcmp rpl_wmemcmp
+#  endif
+_GL_FUNCDECL_RPL (wmemcmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wmemcmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+# else
+#  if !@HAVE_WMEMCMP@
+_GL_FUNCDECL_SYS (wmemcmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wmemcmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmemcmp);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcmp
+# if HAVE_RAW_DECL_WMEMCMP
+_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
+                 "use gnulib module wmemcmp for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST.  */
+#if @GNULIB_WMEMCPY@
+# if !@HAVE_WMEMCPY@
+_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmemcpy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcpy
+# if HAVE_RAW_DECL_WMEMCPY
+_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
+                 "use gnulib module wmemcpy for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
+   overlapping memory areas.  */
+#if @GNULIB_WMEMMOVE@
+# if !@HAVE_WMEMMOVE@
+_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
+                  (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
+                  (wchar_t *dest, const wchar_t *src, size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmemmove);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemmove
+# if HAVE_RAW_DECL_WMEMMOVE
+_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
+                 "use gnulib module wmemmove for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST.
+   Return pointer to wide characters after the last written wide character.  */
+#if @GNULIB_WMEMPCPY@
+# if @REPLACE_WMEMPCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wmempcpy
+#   define wmempcpy rpl_wmempcpy
+#  endif
+_GL_FUNCDECL_RPL (wmempcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+_GL_CXXALIAS_RPL (wmempcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# else
+#  if !@HAVE_WMEMPCPY@
+_GL_FUNCDECL_SYS (wmempcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+#  endif
+_GL_CXXALIAS_SYS (wmempcpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmempcpy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmempcpy
+# if HAVE_RAW_DECL_WMEMPCPY
+_GL_WARN_ON_USE (wmempcpy, "wmempcpy is unportable - "
+                 "use gnulib module wmempcpy for portability");
+# endif
+#endif
+
+
+/* Set N wide characters of S to C.  */
+#if @GNULIB_WMEMSET@
+# if !@HAVE_WMEMSET@
+_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wmemset);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemset
+# if HAVE_RAW_DECL_WMEMSET
+_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
+                 "use gnulib module wmemset for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S.  */
+#if @GNULIB_WCSLEN@
+# if !@HAVE_WCSLEN@
+_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcslen);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcslen
+# if HAVE_RAW_DECL_WCSLEN
+_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
+                 "use gnulib module wcslen for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S, but at most MAXLEN.  */
+#if @GNULIB_WCSNLEN@
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+# if !@HAVE_WCSNLEN@ || (defined __sun && defined __cplusplus)
+_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
+                                   _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+_GL_CXXALIASWARN (wcsnlen);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnlen
+# if HAVE_RAW_DECL_WCSNLEN
+_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
+                 "use gnulib module wcsnlen for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST.  */
+#if @GNULIB_WCSCPY@
+# if !@HAVE_WCSCPY@
+_GL_FUNCDECL_SYS (wcscpy, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+# endif
+_GL_CXXALIAS_SYS (wcscpy, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcscpy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcscpy
+# if HAVE_RAW_DECL_WCSCPY
+_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
+                 "use gnulib module wcscpy for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST.  */
+#if @GNULIB_WCPCPY@
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+# if !@HAVE_WCPCPY@ || (defined __sun && defined __cplusplus)
+_GL_FUNCDECL_SYS (wcpcpy, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+# endif
+_GL_CXXALIAS_SYS (wcpcpy, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+_GL_CXXALIASWARN (wcpcpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpcpy
+# if HAVE_RAW_DECL_WCPCPY
+_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
+                 "use gnulib module wcpcpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N wide characters of SRC to DEST.  */
+#if @GNULIB_WCSNCPY@
+# if !@HAVE_WCSNCPY@
+_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsncpy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncpy
+# if HAVE_RAW_DECL_WCSNCPY
+_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
+                 "use gnulib module wcsncpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N characters of SRC to DEST, returning the address of
+   the last character written into DEST.  */
+#if @GNULIB_WCPNCPY@
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+# if !@HAVE_WCPNCPY@ || (defined __sun && defined __cplusplus)
+_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
+                  (wchar_t *restrict dest,
+                   const wchar_t *restrict src, size_t n));
+_GL_CXXALIASWARN (wcpncpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpncpy
+# if HAVE_RAW_DECL_WCPNCPY
+_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
+                 "use gnulib module wcpncpy for portability");
+# endif
+#endif
+
+
+/* Append SRC onto DEST.  */
+#if @GNULIB_WCSCAT@
+# if !@HAVE_WCSCAT@
+_GL_FUNCDECL_SYS (wcscat, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+# endif
+_GL_CXXALIAS_SYS (wcscat, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcscat);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcscat
+# if HAVE_RAW_DECL_WCSCAT
+_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
+                 "use gnulib module wcscat for portability");
+# endif
+#endif
+
+
+/* Append no more than N wide characters of SRC onto DEST.  */
+#if @GNULIB_WCSNCAT@
+# if !@HAVE_WCSNCAT@
+_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src,
+                   size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
+                  (wchar_t *restrict dest, const wchar_t *restrict src,
+                   size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsncat);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncat
+# if HAVE_RAW_DECL_WCSNCAT
+_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
+                 "use gnulib module wcsncat for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2.  */
+#if @GNULIB_WCSCMP@
+# if @REPLACE_WCSCMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcscmp
+#   define wcscmp rpl_wcscmp
+#  endif
+_GL_FUNCDECL_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
+                               _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# else
+#  if !@HAVE_WCSCMP@
+_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
+                               _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcscmp);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcscmp
+# if HAVE_RAW_DECL_WCSCMP
+_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
+                 "use gnulib module wcscmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N wide characters of S1 and S2.  */
+#if @GNULIB_WCSNCMP@
+# if @REPLACE_WCSNCMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsncmp
+#   define wcsncmp rpl_wcsncmp
+#  endif
+_GL_FUNCDECL_RPL (wcsncmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcsncmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+# else
+#  if !@HAVE_WCSNCMP@
+_GL_FUNCDECL_SYS (wcsncmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wcsncmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsncmp);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncmp
+# if HAVE_RAW_DECL_WCSNCMP
+_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
+                 "use gnulib module wcsncmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, ignoring case.  */
+#if @GNULIB_WCSCASECMP@
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+# if !@HAVE_WCSCASECMP@ || (defined __sun && defined __cplusplus)
+_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
+                                   _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscasecmp
+# if HAVE_RAW_DECL_WCSCASECMP
+_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
+                 "use gnulib module wcscasecmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N chars of S1 and S2, ignoring case.  */
+#if @GNULIB_WCSNCASECMP@
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+# if !@HAVE_WCSNCASECMP@ || (defined __sun && defined __cplusplus)
+_GL_FUNCDECL_SYS (wcsncasecmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcsncasecmp, int,
+                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsncasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncasecmp
+# if HAVE_RAW_DECL_WCSNCASECMP
+_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
+                 "use gnulib module wcsncasecmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
+   category of the current locale.  */
+#if @GNULIB_WCSCOLL@
+# if !@HAVE_WCSCOLL@
+_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcscoll);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcscoll
+# if HAVE_RAW_DECL_WCSCOLL
+_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
+                 "use gnulib module wcscoll for portability");
+# endif
+#endif
+
+
+/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
+   to two transformed strings the result is the as applying 'wcscoll' to the
+   original strings.  */
+#if @GNULIB_WCSXFRM@
+# if !@HAVE_WCSXFRM@
+_GL_FUNCDECL_SYS (wcsxfrm, size_t,
+                  (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsxfrm, size_t,
+                  (wchar_t *restrict s1, const wchar_t *restrict s2, size_t n));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsxfrm);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsxfrm
+# if HAVE_RAW_DECL_WCSXFRM
+_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
+                 "use gnulib module wcsxfrm for portability");
+# endif
+#endif
+
+
+/* Duplicate S, returning an identical malloc'd string.  */
+#if @GNULIB_WCSDUP@
+# if defined _WIN32 && !defined __CYGWIN__
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsdup
+#   define wcsdup _wcsdup
+#  endif
+_GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s));
+# else
+/* On Solaris 11.3, the header files declare the function in the std::
+   namespace, not in the global namespace.  So, force a declaration in
+   the global namespace.  */
+#  if !@HAVE_WCSDUP@ || (defined __sun && defined __cplusplus) || __GNUC__ >= 11
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#  endif
+_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+# endif
+_GL_CXXALIASWARN (wcsdup);
+#else
+# if __GNUC__ >= 11 && !defined wcsdup
+/* For -Wmismatched-dealloc: Associate wcsdup with free or rpl_free.  */
+#  if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#  endif
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef wcsdup
+#  if HAVE_RAW_DECL_WCSDUP
+_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
+                 "use gnulib module wcsdup for portability");
+#  endif
+# elif @GNULIB_MDA_WCSDUP@
+/* On native Windows, map 'wcsdup' to '_wcsdup', so that -loldnames is not
+   required.  In C++ with GNULIB_NAMESPACE, avoid differences between
+   platforms by defining GNULIB_NAMESPACE::wcsdup always.  */
+#  if defined _WIN32 && !defined __CYGWIN__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef wcsdup
+#    define wcsdup _wcsdup
+#   endif
+_GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s));
+#  else
+#   if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_NOTHROW
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   else
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *,
+                  (const wchar_t *s)
+                  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+#   endif
+#   if @HAVE_DECL_WCSDUP@
+_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+#   endif
+#  endif
+#  if (defined _WIN32 && !defined __CYGWIN__) || @HAVE_DECL_WCSDUP@
+_GL_CXXALIASWARN (wcsdup);
+#  endif
+# endif
+#endif
+
+
+/* Find the first occurrence of WC in WCS.  */
+#if @GNULIB_WCSCHR@
+# if !@HAVE_WCSCHR@
+_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
+                                     _GL_ATTRIBUTE_PURE);
+# endif
+  /* On some systems, this function is defined as an overloaded function:
+       extern "C++" {
+         const wchar_t * std::wcschr (const wchar_t *, wchar_t);
+         wchar_t * std::wcschr (wchar_t *, wchar_t);
+       }  */
+_GL_CXXALIAS_SYS_CAST2 (wcschr,
+                        wchar_t *, (const wchar_t *, wchar_t),
+                        const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# elif __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcschr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcschr
+# if HAVE_RAW_DECL_WCSCHR
+_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
+                 "use gnulib module wcschr for portability");
+# endif
+#endif
+
+
+/* Find the last occurrence of WC in WCS.  */
+#if @GNULIB_WCSRCHR@
+# if !@HAVE_WCSRCHR@
+_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
+                                      _GL_ATTRIBUTE_PURE);
+# endif
+  /* On some systems, this function is defined as an overloaded function:
+       extern "C++" {
+         const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
+         wchar_t * std::wcsrchr (wchar_t *, wchar_t);
+       }  */
+_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
+                        wchar_t *, (const wchar_t *, wchar_t),
+                        const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# elif __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsrchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrchr
+# if HAVE_RAW_DECL_WCSRCHR
+_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
+                 "use gnulib module wcsrchr for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segment of WCS which consists entirely
+   of wide characters not in REJECT.  */
+#if @GNULIB_WCSCSPN@
+# if !@HAVE_WCSCSPN@
+_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
+                                   _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcscspn);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcscspn
+# if HAVE_RAW_DECL_WCSCSPN
+_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
+                 "use gnulib module wcscspn for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segment of WCS which consists entirely
+   of wide characters in ACCEPT.  */
+#if @GNULIB_WCSSPN@
+# if !@HAVE_WCSSPN@
+_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
+                                  _GL_ATTRIBUTE_PURE);
+# endif
+_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsspn);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsspn
+# if HAVE_RAW_DECL_WCSSPN
+_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
+                 "use gnulib module wcsspn for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence in WCS of any character in ACCEPT.  */
+#if @GNULIB_WCSPBRK@
+# if !@HAVE_WCSPBRK@
+_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
+                  (const wchar_t *wcs, const wchar_t *accept)
+                  _GL_ATTRIBUTE_PURE);
+# endif
+  /* On some systems, this function is defined as an overloaded function:
+       extern "C++" {
+         const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
+         wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
+       }  */
+_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
+                        wchar_t *, (const wchar_t *, const wchar_t *),
+                        const wchar_t *, (const wchar_t *, const wchar_t *));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
+                   (wchar_t *wcs, const wchar_t *accept));
+_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
+                   (const wchar_t *wcs, const wchar_t *accept));
+# elif __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcspbrk);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcspbrk
+# if HAVE_RAW_DECL_WCSPBRK
+_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
+                 "use gnulib module wcspbrk for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence of NEEDLE in HAYSTACK.  */
+#if @GNULIB_WCSSTR@
+# if @REPLACE_WCSSTR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsstr
+#   define wcsstr rpl_wcsstr
+#  endif
+_GL_FUNCDECL_RPL (wcsstr, wchar_t *,
+                  (const wchar_t *restrict haystack,
+                   const wchar_t *restrict needle)
+                  _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcsstr, wchar_t *,
+                  (const wchar_t *restrict haystack,
+                   const wchar_t *restrict needle));
+# else
+#  if !@HAVE_WCSSTR@
+_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
+                  (const wchar_t *restrict haystack,
+                   const wchar_t *restrict needle)
+                  _GL_ATTRIBUTE_PURE);
+#  endif
+  /* On some systems, this function is defined as an overloaded function:
+       extern "C++" {
+         const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
+         wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
+       }  */
+_GL_CXXALIAS_SYS_CAST2 (wcsstr,
+                        wchar_t *,
+                        (const wchar_t *restrict, const wchar_t *restrict),
+                        const wchar_t *,
+                        (const wchar_t *restrict, const wchar_t *restrict));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
+                   (wchar_t *restrict haystack,
+                    const wchar_t *restrict needle));
+_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
+                   (const wchar_t *restrict haystack,
+                    const wchar_t *restrict needle));
+# elif __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsstr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsstr
+# if HAVE_RAW_DECL_WCSSTR
+_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
+                 "use gnulib module wcsstr for portability");
+# endif
+#endif
+
+
+/* Divide WCS into tokens separated by characters in DELIM.  */
+#if @GNULIB_WCSTOK@
+# if @REPLACE_WCSTOK@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcstok
+#   define wcstok rpl_wcstok
+#  endif
+_GL_FUNCDECL_RPL (wcstok, wchar_t *,
+                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
+                   wchar_t **restrict ptr));
+_GL_CXXALIAS_RPL (wcstok, wchar_t *,
+                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
+                   wchar_t **restrict ptr));
+# else
+#  if !@HAVE_WCSTOK@
+_GL_FUNCDECL_SYS (wcstok, wchar_t *,
+                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
+                   wchar_t **restrict ptr));
+#  endif
+_GL_CXXALIAS_SYS (wcstok, wchar_t *,
+                  (wchar_t *restrict wcs, const wchar_t *restrict delim,
+                   wchar_t **restrict ptr));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcstok);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcstok
+# if HAVE_RAW_DECL_WCSTOK
+_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
+                 "use gnulib module wcstok for portability");
+# endif
+#endif
+
+
+/* Determine number of column positions required for first N wide
+   characters (or fewer if S ends before this) in S.  */
+#if @GNULIB_WCSWIDTH@
+# if @REPLACE_WCSWIDTH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcswidth
+#   define wcswidth rpl_wcswidth
+#  endif
+_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
+                                 _GL_ATTRIBUTE_PURE);
+_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+# else
+#  if !@HAVE_WCSWIDTH@
+_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
+                                 _GL_ATTRIBUTE_PURE);
+#  endif
+_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcswidth);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcswidth
+# if HAVE_RAW_DECL_WCSWIDTH
+_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
+                 "use gnulib module wcswidth for portability");
+# endif
+#endif
+
+
+/* Convert *TP to a date and time wide string.  See
+   <https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsftime.html>.  */
+#if @GNULIB_WCSFTIME@
+# if @REPLACE_WCSFTIME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wcsftime
+#   define wcsftime rpl_wcsftime
+#  endif
+_GL_FUNCDECL_RPL (wcsftime, size_t,
+                  (wchar_t *restrict __buf, size_t __bufsize,
+                   const wchar_t *restrict __fmt,
+                   const struct tm *restrict __tp)
+                  _GL_ARG_NONNULL ((1, 3, 4)));
+_GL_CXXALIAS_RPL (wcsftime, size_t,
+                  (wchar_t *restrict __buf, size_t __bufsize,
+                   const wchar_t *restrict __fmt,
+                   const struct tm *restrict __tp));
+# else
+#  if !@HAVE_WCSFTIME@
+_GL_FUNCDECL_SYS (wcsftime, size_t,
+                  (wchar_t *restrict __buf, size_t __bufsize,
+                   const wchar_t *restrict __fmt,
+                   const struct tm *restrict __tp)
+                  _GL_ARG_NONNULL ((1, 3, 4)));
+#  endif
+_GL_CXXALIAS_SYS (wcsftime, size_t,
+                  (wchar_t *restrict __buf, size_t __bufsize,
+                   const wchar_t *restrict __fmt,
+                   const struct tm *restrict __tp));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (wcsftime);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsftime
+# if HAVE_RAW_DECL_WCSFTIME
+_GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - "
+                 "use gnulib module wcsftime for portability");
+# endif
+#endif
+
+
+#if @GNULIB_WGETCWD@ && (defined _WIN32 && !defined __CYGWIN__)
+/* Gets the name of the current working directory.
+   (a) If BUF is non-NULL, it is assumed to have room for SIZE wide characters.
+       This function stores the working directory (NUL-terminated) in BUF and
+       returns BUF.
+   (b) If BUF is NULL, an array is allocated with 'malloc'.  The array is SIZE
+       wide characters long, unless SIZE == 0, in which case it is as big as
+       necessary.
+   If the directory couldn't be determined or SIZE was too small, this function
+   returns NULL and sets errno.  For a directory of length LEN, SIZE should be
+   >= LEN + 3 in case (a) or >= LEN + 1 in case (b).
+   Possible errno values include:
+     - ERANGE if SIZE is too small.
+     - ENOMEM if the memory could no be allocated.  */
+_GL_FUNCDECL_SYS (wgetcwd, wchar_t *, (wchar_t *buf, size_t size));
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif
diff --git a/lib/gltests/Makefile.am b/lib/gltests/Makefile.am
deleted file mode 100644 (file)
index 642d8f2..0000000
+++ /dev/null
@@ -1,1016 +0,0 @@
-## DO NOT EDIT! GENERATED AUTOMATICALLY!
-## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file 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 file 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 file.  If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License,
-# this file may be distributed as part of a program that
-# contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-
-AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects
-
-SUBDIRS = .
-TESTS =
-XFAIL_TESTS =
-TESTS_ENVIRONMENT =
-noinst_PROGRAMS =
-check_PROGRAMS =
-noinst_HEADERS =
-noinst_LIBRARIES =
-check_LIBRARIES = libtests.a
-EXTRA_DIST =
-BUILT_SOURCES =
-SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
-CLEANFILES =
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-
-AM_CPPFLAGS = \
-  -D@lgltests_WITNESS@=1 \
-  -I. -I$(srcdir) \
-  -I../.. -I$(srcdir)/../.. \
-  -I../../lib/gl -I$(srcdir)/../../lib/gl
-
-LDADD = libtests.a ../../lib/gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-
-libtests_a_SOURCES =
-libtests_a_LIBADD = $(lgltests_LIBOBJS)
-libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES =
-AM_LIBTOOLFLAGS = --preserve-dup-deps
-
-TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
-
-## begin gnulib module alloca-opt
-
-BUILT_SOURCES += $(ALLOCA_H)
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_ALLOCA_H
-alloca.h: alloca.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/alloca.in.h; \
-       } > $@-t && \
-       mv -f $@-t $@
-else
-alloca.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += alloca.h alloca.h-t
-
-EXTRA_DIST += alloca.in.h
-
-## end   gnulib module alloca-opt
-
-## begin gnulib module alloca-opt-tests
-
-TESTS += test-alloca-opt
-check_PROGRAMS += test-alloca-opt
-
-EXTRA_DIST += test-alloca-opt.c
-
-## end   gnulib module alloca-opt-tests
-
-## begin gnulib module c-ctype-tests
-
-TESTS += test-c-ctype
-check_PROGRAMS += test-c-ctype
-
-EXTRA_DIST += test-c-ctype.c macros.h
-
-## end   gnulib module c-ctype-tests
-
-## begin gnulib module c-strcase-tests
-
-TESTS += test-c-strcase.sh
-TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@'
-check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp
-EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c macros.h
-
-## end   gnulib module c-strcase-tests
-
-## begin gnulib module environ-tests
-
-TESTS += test-environ
-check_PROGRAMS += test-environ
-
-EXTRA_DIST += test-environ.c
-
-## end   gnulib module environ-tests
-
-## begin gnulib module iconv-tests
-
-TESTS += test-iconv
-check_PROGRAMS += test-iconv
-test_iconv_LDADD = $(LDADD) @LIBICONV@
-
-EXTRA_DIST += test-iconv.c signature.h macros.h
-
-## end   gnulib module iconv-tests
-
-## begin gnulib module intprops
-
-
-EXTRA_DIST += intprops.h
-
-## end   gnulib module intprops
-
-## begin gnulib module intprops-tests
-
-TESTS += test-intprops
-check_PROGRAMS += test-intprops
-EXTRA_DIST += test-intprops.c macros.h
-
-## end   gnulib module intprops-tests
-
-## begin gnulib module inttypes-incomplete
-
-BUILT_SOURCES += inttypes.h
-
-# We need the following in order to create <inttypes.h> when the system
-# doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-             -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-             -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-             -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-             -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-             -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
-             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/inttypes.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += inttypes.h inttypes.h-t
-
-EXTRA_DIST += inttypes.in.h
-
-## end   gnulib module inttypes-incomplete
-
-## begin gnulib module inttypes-tests
-
-TESTS += test-inttypes
-check_PROGRAMS += test-inttypes
-EXTRA_DIST += test-inttypes.c
-
-## end   gnulib module inttypes-tests
-
-## begin gnulib module locale
-
-BUILT_SOURCES += locale.h
-
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
-             -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
-             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
-             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
-             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
-             -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
-             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
-             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
-             -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/locale.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += locale.h locale.h-t
-
-EXTRA_DIST += locale.in.h
-
-## end   gnulib module locale
-
-## begin gnulib module locale-tests
-
-TESTS += test-locale
-check_PROGRAMS += test-locale
-EXTRA_DIST += test-locale.c
-
-## end   gnulib module locale-tests
-
-## begin gnulib module localename
-
-libtests_a_SOURCES += localename.c
-
-EXTRA_DIST += localename.h
-
-## end   gnulib module localename
-
-## begin gnulib module localename-tests
-
-TESTS += test-localename
-check_PROGRAMS += test-localename
-test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
-
-EXTRA_DIST += test-localename.c macros.h
-
-## end   gnulib module localename-tests
-
-## begin gnulib module lock
-
-libtests_a_SOURCES += glthread/lock.h glthread/lock.c
-
-## end   gnulib module lock
-
-## begin gnulib module lock-tests
-
-TESTS += test-lock
-check_PROGRAMS += test-lock
-test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
-EXTRA_DIST += test-lock.c
-
-## end   gnulib module lock-tests
-
-## begin gnulib module malloc-posix
-
-
-EXTRA_DIST += malloc.c
-
-EXTRA_libtests_a_SOURCES += malloc.c
-
-## end   gnulib module malloc-posix
-
-## begin gnulib module malloca
-
-libtests_a_SOURCES += malloca.c
-
-EXTRA_DIST += malloca.h malloca.valgrind
-
-## end   gnulib module malloca
-
-## begin gnulib module malloca-tests
-
-TESTS += test-malloca
-check_PROGRAMS += test-malloca
-
-EXTRA_DIST += test-malloca.c
-
-## end   gnulib module malloca-tests
-
-## begin gnulib module putenv
-
-
-EXTRA_DIST += putenv.c
-
-EXTRA_libtests_a_SOURCES += putenv.c
-
-## end   gnulib module putenv
-
-## begin gnulib module setenv
-
-
-EXTRA_DIST += setenv.c
-
-EXTRA_libtests_a_SOURCES += setenv.c
-
-## end   gnulib module setenv
-
-## begin gnulib module setenv-tests
-
-TESTS += test-setenv
-check_PROGRAMS += test-setenv
-EXTRA_DIST += test-setenv.c signature.h macros.h
-
-## end   gnulib module setenv-tests
-
-## begin gnulib module setlocale
-
-
-EXTRA_DIST += setlocale.c
-
-EXTRA_libtests_a_SOURCES += setlocale.c
-
-## end   gnulib module setlocale
-
-## begin gnulib module setlocale-tests
-
-TESTS += test-setlocale1.sh test-setlocale2.sh
-TESTS_ENVIRONMENT += \
-  LOCALE_FR='@LOCALE_FR@' \
-  LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
-  LOCALE_JA='@LOCALE_JA@' \
-  LOCALE_ZH_CN='@LOCALE_ZH_CN@'
-check_PROGRAMS += test-setlocale1 test-setlocale2
-EXTRA_DIST += test-setlocale1.sh test-setlocale1.c test-setlocale2.sh test-setlocale2.c signature.h macros.h
-
-## end   gnulib module setlocale-tests
-
-## begin gnulib module snippet/_Noreturn
-
-# Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
-# need it. This is ensured by the applicability 'all' defined above.
-
-_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
-
-## end   gnulib module snippet/_Noreturn
-
-## begin gnulib module snippet/arg-nonnull
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
-
-ARG_NONNULL_H=arg-nonnull.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-
-## end   gnulib module snippet/arg-nonnull
-
-## begin gnulib module snippet/c++defs
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
-
-CXXDEFS_H=c++defs.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
-
-## end   gnulib module snippet/c++defs
-
-## begin gnulib module snippet/unused-parameter
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += unused-parameter.h
-# The unused-parameter.h that gets inserted into generated .h files is the same
-# as build-aux/snippet/unused-parameter.h, except that it has the copyright
-# header cut off.
-unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
-
-UNUSED_PARAMETER_H=unused-parameter.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
-
-## end   gnulib module snippet/unused-parameter
-
-## begin gnulib module snippet/warn-on-use
-
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
-
-WARN_ON_USE_H=warn-on-use.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
-
-## end   gnulib module snippet/warn-on-use
-
-## begin gnulib module stdbool-tests
-
-TESTS += test-stdbool
-check_PROGRAMS += test-stdbool
-EXTRA_DIST += test-stdbool.c
-
-## end   gnulib module stdbool-tests
-
-## begin gnulib module stddef-tests
-
-TESTS += test-stddef
-check_PROGRAMS += test-stddef
-EXTRA_DIST += test-stddef.c
-
-## end   gnulib module stddef-tests
-
-## begin gnulib module stdint-tests
-
-TESTS += test-stdint
-check_PROGRAMS += test-stdint
-EXTRA_DIST += test-stdint.c
-
-## end   gnulib module stdint-tests
-
-## begin gnulib module stdlib
-
-BUILT_SOURCES += stdlib.h
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
-             -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
-             -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
-             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
-             -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
-             -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
-             -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
-             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
-             -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-             -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-             -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
-             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-             -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
-             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-             -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
-             -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
-             -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
-             -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
-             -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
-             -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
-             -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
-             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
-             -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
-             -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
-             -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
-             < $(srcdir)/stdlib.in.h | \
-         sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
-             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
-             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
-             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
-             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
-             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
-             -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-             -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
-             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
-             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += stdlib.h stdlib.h-t
-
-EXTRA_DIST += stdlib.in.h
-
-## end   gnulib module stdlib
-
-## begin gnulib module stdlib-tests
-
-TESTS += test-stdlib
-check_PROGRAMS += test-stdlib
-EXTRA_DIST += test-stdlib.c test-sys_wait.h
-
-## end   gnulib module stdlib-tests
-
-## begin gnulib module striconv-tests
-
-TESTS += test-striconv
-check_PROGRAMS += test-striconv
-test_striconv_LDADD = $(LDADD) @LIBICONV@
-
-EXTRA_DIST += test-striconv.c macros.h
-
-## end   gnulib module striconv-tests
-
-## begin gnulib module strverscmp-tests
-
-TESTS += test-strverscmp
-check_PROGRAMS += test-strverscmp
-EXTRA_DIST += test-strverscmp.c signature.h macros.h
-
-## end   gnulib module strverscmp-tests
-
-## begin gnulib module sys_types
-
-BUILT_SOURCES += sys/types.h
-
-# We need the following in order to create <sys/types.h> when the system
-# doesn't have one that works with the given compiler.
-sys/types.h: sys_types.in.h $(top_builddir)/config.status
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             < $(srcdir)/sys_types.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += sys/types.h sys/types.h-t
-
-EXTRA_DIST += sys_types.in.h
-
-## end   gnulib module sys_types
-
-## begin gnulib module sys_types-tests
-
-TESTS += test-sys_types
-check_PROGRAMS += test-sys_types
-EXTRA_DIST += test-sys_types.c
-
-## end   gnulib module sys_types-tests
-
-## begin gnulib module test-framework-sh-tests
-
-TESTS += test-init.sh
-EXTRA_DIST += init.sh
-EXTRA_DIST += test-init.sh
-
-## end   gnulib module test-framework-sh-tests
-
-## begin gnulib module thread
-
-libtests_a_SOURCES += glthread/thread.h glthread/thread.c
-
-## end   gnulib module thread
-
-## begin gnulib module thread-tests
-
-TESTS += test-thread_self test-thread_create
-check_PROGRAMS += test-thread_self test-thread_create
-test_thread_self_LDADD = $(LDADD) @LIBTHREAD@
-test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@
-EXTRA_DIST += test-thread_self.c test-thread_create.c macros.h
-
-## end   gnulib module thread-tests
-
-## begin gnulib module threadlib
-
-libtests_a_SOURCES += glthread/threadlib.c
-
-EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
-
-## end   gnulib module threadlib
-
-## begin gnulib module unistd
-
-BUILT_SOURCES += unistd.h
-
-# We need the following in order to create an empty placeholder for
-# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
-             -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
-             -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
-             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
-             -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
-             -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
-             -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
-             -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
-             -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
-             -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
-             -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
-             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
-             -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
-             -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
-             -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
-             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
-             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
-             -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
-             -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
-             -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
-             -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
-             -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
-             -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
-             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
-             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
-             -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
-             -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
-             -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
-             -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
-             -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
-             -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
-             -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
-             -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
-             -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
-             -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
-             -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
-             -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
-             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
-             -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
-             -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-             -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-             -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_LGL_UNISTD_H_GETOPT)/g' \
-             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
-             -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
-             -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
-             -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
-             < $(srcdir)/unistd.in.h | \
-         sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-             -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-             -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
-             -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
-             -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
-             -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
-             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
-             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-             -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
-             -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
-             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-             -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
-             -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
-             -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-             -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
-             -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
-             -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
-             -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
-             -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
-             -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-             -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-             -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
-             -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-             -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-             -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
-             -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-             -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-             -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
-             -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
-             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
-             -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-             -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
-             -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
-             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
-             -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-             -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-             -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-         | \
-         sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
-             -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
-             -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
-             -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-             -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-             -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
-             -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-             -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-             -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
-             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
-             -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
-             -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-             -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-             -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
-             -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
-             -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-             -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
-             -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-             -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
-             -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-             -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
-             -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
-             -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
-             -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
-             -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
-             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
-             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
-             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += unistd.h unistd.h-t
-
-EXTRA_DIST += unistd.in.h
-
-## end   gnulib module unistd
-
-## begin gnulib module unistd-tests
-
-TESTS += test-unistd
-check_PROGRAMS += test-unistd
-EXTRA_DIST += test-unistd.c
-
-## end   gnulib module unistd-tests
-
-## begin gnulib module unistr/u8-mbtoucr-tests
-
-TESTS += test-u8-mbtoucr
-check_PROGRAMS += test-u8-mbtoucr
-test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c
-test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unistr/test-u8-mbtoucr.c macros.h
-
-## end   gnulib module unistr/u8-mbtoucr-tests
-
-## begin gnulib module unistr/u8-uctomb-tests
-
-TESTS += test-u8-uctomb
-check_PROGRAMS += test-u8-uctomb
-test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c
-test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING)
-EXTRA_DIST += unistr/test-u8-uctomb.c macros.h
-
-## end   gnulib module unistr/u8-uctomb-tests
-
-## begin gnulib module unsetenv
-
-
-EXTRA_DIST += unsetenv.c
-
-EXTRA_libtests_a_SOURCES += unsetenv.c
-
-## end   gnulib module unsetenv
-
-## begin gnulib module unsetenv-tests
-
-TESTS += test-unsetenv
-check_PROGRAMS += test-unsetenv
-EXTRA_DIST += test-unsetenv.c signature.h macros.h
-
-## end   gnulib module unsetenv-tests
-
-## begin gnulib module verify
-
-
-EXTRA_DIST += verify.h
-
-## end   gnulib module verify
-
-## begin gnulib module verify-tests
-
-TESTS_ENVIRONMENT += MAKE='$(MAKE)'
-TESTS += test-verify test-verify.sh
-check_PROGRAMS += test-verify
-EXTRA_DIST += test-verify.c test-verify.sh
-
-## end   gnulib module verify-tests
-
-## begin gnulib module wchar
-
-BUILT_SOURCES += wchar.h
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
-             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
-             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
-             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
-             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
-             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
-             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
-             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
-             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
-             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
-             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
-             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
-             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
-             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
-             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
-             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
-             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
-             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
-             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
-             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
-             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
-             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
-             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
-             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
-             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
-             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
-             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
-             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
-             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
-             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
-             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
-             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
-             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
-             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
-             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
-             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
-             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
-             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
-             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
-             < $(srcdir)/wchar.in.h | \
-         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
-         | \
-         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
-
-EXTRA_DIST += wchar.in.h
-
-## end   gnulib module wchar
-
-## begin gnulib module yield
-
-libtests_a_SOURCES += glthread/yield.h
-
-## end   gnulib module yield
-
-# Clean up after Solaris cc.
-clean-local:
-       rm -rf SunWS_cache
-
-mostlyclean-local: mostlyclean-generic
-       @for dir in '' $(MOSTLYCLEANDIRS); do \
-         if test -n "$$dir" && test -d $$dir; then \
-           echo "rmdir $$dir"; rmdir $$dir; \
-         fi; \
-       done; \
-       :
diff --git a/lib/gltests/Makefile.in b/lib/gltests/Makefile.in
deleted file mode 100644 (file)
index 51b62b7..0000000
+++ /dev/null
@@ -1,2506 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file 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 file 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 file.  If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License,
-# this file may be distributed as part of a program that
-# contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-TESTS = test-alloca-opt$(EXEEXT) test-c-ctype$(EXEEXT) \
-       test-c-strcase.sh test-environ$(EXEEXT) test-iconv$(EXEEXT) \
-       test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
-       test-locale$(EXEEXT) test-localename$(EXEEXT) \
-       test-lock$(EXEEXT) test-malloca$(EXEEXT) test-setenv$(EXEEXT) \
-       test-setlocale1.sh test-setlocale2.sh test-stdbool$(EXEEXT) \
-       test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdlib$(EXEEXT) \
-       test-striconv$(EXEEXT) test-strverscmp$(EXEEXT) \
-       test-sys_types$(EXEEXT) test-init.sh test-thread_self$(EXEEXT) \
-       test-thread_create$(EXEEXT) test-unistd$(EXEEXT) \
-       test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \
-       test-unsetenv$(EXEEXT) test-verify$(EXEEXT) test-verify.sh
-XFAIL_TESTS =
-noinst_PROGRAMS =
-check_PROGRAMS = test-alloca-opt$(EXEEXT) test-c-ctype$(EXEEXT) \
-       test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
-       test-environ$(EXEEXT) test-iconv$(EXEEXT) \
-       test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
-       test-locale$(EXEEXT) test-localename$(EXEEXT) \
-       test-lock$(EXEEXT) test-malloca$(EXEEXT) test-setenv$(EXEEXT) \
-       test-setlocale1$(EXEEXT) test-setlocale2$(EXEEXT) \
-       test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
-       test-stdint$(EXEEXT) test-stdlib$(EXEEXT) \
-       test-striconv$(EXEEXT) test-strverscmp$(EXEEXT) \
-       test-sys_types$(EXEEXT) test-thread_self$(EXEEXT) \
-       test-thread_create$(EXEEXT) test-unistd$(EXEEXT) \
-       test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \
-       test-unsetenv$(EXEEXT) test-verify$(EXEEXT)
-subdir = lib/gltests
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
-       $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
-       $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
-       $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
-       $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
-       $(top_srcdir)/gl/m4/csharp.m4 \
-       $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
-       $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
-       $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
-       $(top_srcdir)/gl/m4/gnulib-common.m4 \
-       $(top_srcdir)/gl/m4/gnulib-comp.m4 \
-       $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
-       $(top_srcdir)/gl/m4/manywarnings.m4 \
-       $(top_srcdir)/gl/m4/mode_t.m4 \
-       $(top_srcdir)/gl/m4/msvc-inval.m4 \
-       $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
-       $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
-       $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
-       $(top_srcdir)/gl/m4/sys_socket_h.m4 \
-       $(top_srcdir)/gl/m4/sys_stat_h.m4 \
-       $(top_srcdir)/gl/m4/sys_types_h.m4 \
-       $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
-       $(top_srcdir)/gl/m4/valgrind-tests.m4 \
-       $(top_srcdir)/gl/m4/version-etc.m4 \
-       $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-AM_V_AR = $(am__v_AR_@AM_V@)
-am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-libtests_a_AR = $(AR) $(ARFLAGS)
-am__DEPENDENCIES_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libtests_a_OBJECTS = localename.$(OBJEXT) glthread/lock.$(OBJEXT) \
-       malloca.$(OBJEXT) glthread/thread.$(OBJEXT) \
-       glthread/threadlib.$(OBJEXT)
-libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-PROGRAMS = $(noinst_PROGRAMS)
-test_alloca_opt_SOURCES = test-alloca-opt.c
-test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
-test_alloca_opt_LDADD = $(LDADD)
-test_alloca_opt_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-test_c_ctype_SOURCES = test-c-ctype.c
-test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT)
-test_c_ctype_LDADD = $(LDADD)
-test_c_ctype_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_c_strcasecmp_SOURCES = test-c-strcasecmp.c
-test_c_strcasecmp_OBJECTS = test-c-strcasecmp.$(OBJEXT)
-test_c_strcasecmp_LDADD = $(LDADD)
-test_c_strcasecmp_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_c_strncasecmp_SOURCES = test-c-strncasecmp.c
-test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT)
-test_c_strncasecmp_LDADD = $(LDADD)
-test_c_strncasecmp_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_environ_SOURCES = test-environ.c
-test_environ_OBJECTS = test-environ.$(OBJEXT)
-test_environ_LDADD = $(LDADD)
-test_environ_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_iconv_SOURCES = test-iconv.c
-test_iconv_OBJECTS = test-iconv.$(OBJEXT)
-am__DEPENDENCIES_2 = libtests.a ../../lib/gl/libgnu.la libtests.a \
-       $(am__DEPENDENCIES_1)
-test_iconv_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_intprops_SOURCES = test-intprops.c
-test_intprops_OBJECTS = test-intprops.$(OBJEXT)
-test_intprops_LDADD = $(LDADD)
-test_intprops_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_inttypes_SOURCES = test-inttypes.c
-test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
-test_inttypes_LDADD = $(LDADD)
-test_inttypes_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_locale_SOURCES = test-locale.c
-test_locale_OBJECTS = test-locale.$(OBJEXT)
-test_locale_LDADD = $(LDADD)
-test_locale_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_localename_SOURCES = test-localename.c
-test_localename_OBJECTS = test-localename.$(OBJEXT)
-test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \
-       $(am__DEPENDENCIES_1)
-test_lock_SOURCES = test-lock.c
-test_lock_OBJECTS = test-lock.$(OBJEXT)
-test_lock_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_malloca_SOURCES = test-malloca.c
-test_malloca_OBJECTS = test-malloca.$(OBJEXT)
-test_malloca_LDADD = $(LDADD)
-test_malloca_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_setenv_SOURCES = test-setenv.c
-test_setenv_OBJECTS = test-setenv.$(OBJEXT)
-test_setenv_LDADD = $(LDADD)
-test_setenv_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_setlocale1_SOURCES = test-setlocale1.c
-test_setlocale1_OBJECTS = test-setlocale1.$(OBJEXT)
-test_setlocale1_LDADD = $(LDADD)
-test_setlocale1_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_setlocale2_SOURCES = test-setlocale2.c
-test_setlocale2_OBJECTS = test-setlocale2.$(OBJEXT)
-test_setlocale2_LDADD = $(LDADD)
-test_setlocale2_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_stdbool_SOURCES = test-stdbool.c
-test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
-test_stdbool_LDADD = $(LDADD)
-test_stdbool_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_stddef_SOURCES = test-stddef.c
-test_stddef_OBJECTS = test-stddef.$(OBJEXT)
-test_stddef_LDADD = $(LDADD)
-test_stddef_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_stdint_SOURCES = test-stdint.c
-test_stdint_OBJECTS = test-stdint.$(OBJEXT)
-test_stdint_LDADD = $(LDADD)
-test_stdint_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_stdlib_SOURCES = test-stdlib.c
-test_stdlib_OBJECTS = test-stdlib.$(OBJEXT)
-test_stdlib_LDADD = $(LDADD)
-test_stdlib_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_striconv_SOURCES = test-striconv.c
-test_striconv_OBJECTS = test-striconv.$(OBJEXT)
-test_striconv_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_strverscmp_SOURCES = test-strverscmp.c
-test_strverscmp_OBJECTS = test-strverscmp.$(OBJEXT)
-test_strverscmp_LDADD = $(LDADD)
-test_strverscmp_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_sys_types_SOURCES = test-sys_types.c
-test_sys_types_OBJECTS = test-sys_types.$(OBJEXT)
-test_sys_types_LDADD = $(LDADD)
-test_sys_types_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_thread_create_SOURCES = test-thread_create.c
-test_thread_create_OBJECTS = test-thread_create.$(OBJEXT)
-test_thread_create_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_thread_self_SOURCES = test-thread_self.c
-test_thread_self_OBJECTS = test-thread_self.$(OBJEXT)
-test_thread_self_DEPENDENCIES = $(am__DEPENDENCIES_2)
-am_test_u8_mbtoucr_OBJECTS = unistr/test-u8-mbtoucr.$(OBJEXT)
-test_u8_mbtoucr_OBJECTS = $(am_test_u8_mbtoucr_OBJECTS)
-test_u8_mbtoucr_DEPENDENCIES = $(am__DEPENDENCIES_2)
-am_test_u8_uctomb_OBJECTS = unistr/test-u8-uctomb.$(OBJEXT)
-test_u8_uctomb_OBJECTS = $(am_test_u8_uctomb_OBJECTS)
-test_u8_uctomb_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_unistd_SOURCES = test-unistd.c
-test_unistd_OBJECTS = test-unistd.$(OBJEXT)
-test_unistd_LDADD = $(LDADD)
-test_unistd_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_unsetenv_SOURCES = test-unsetenv.c
-test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT)
-test_unsetenv_LDADD = $(LDADD)
-test_unsetenv_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-test_verify_SOURCES = test-verify.c
-test_verify_OBJECTS = test-verify.$(OBJEXT)
-test_verify_LDADD = $(LDADD)
-test_verify_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
-       libtests.a $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-c-ctype.c test-c-strcasecmp.c \
-       test-c-strncasecmp.c test-environ.c test-iconv.c \
-       test-intprops.c test-inttypes.c test-locale.c \
-       test-localename.c test-lock.c test-malloca.c test-setenv.c \
-       test-setlocale1.c test-setlocale2.c test-stdbool.c \
-       test-stddef.c test-stdint.c test-stdlib.c test-striconv.c \
-       test-strverscmp.c test-sys_types.c test-thread_create.c \
-       test-thread_self.c $(test_u8_mbtoucr_SOURCES) \
-       $(test_u8_uctomb_SOURCES) test-unistd.c test-unsetenv.c \
-       test-verify.c
-DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-c-ctype.c test-c-strcasecmp.c \
-       test-c-strncasecmp.c test-environ.c test-iconv.c \
-       test-intprops.c test-inttypes.c test-locale.c \
-       test-localename.c test-lock.c test-malloca.c test-setenv.c \
-       test-setlocale1.c test-setlocale2.c test-stdbool.c \
-       test-stddef.c test-stdint.c test-stdlib.c test-striconv.c \
-       test-strverscmp.c test-sys_types.c test-thread_create.c \
-       test-thread_self.c $(test_u8_mbtoucr_SOURCES) \
-       $(test_u8_uctomb_SOURCES) test-unistd.c test-unsetenv.c \
-       test-verify.c
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
-CLIX_PATH = @CLIX_PATH@
-CLIX_PATH_VAR = @CLIX_PATH_VAR@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
-CSHARP_CHOICE = @CSHARP_CHOICE@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DLL_VERSION = @DLL_VERSION@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMACS = @EMACS@
-EMACSLOADPATH = @EMACSLOADPATH@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_CLIX = @HAVE_CLIX@
-HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
-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_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-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_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-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_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FDATASYNC = @HAVE_FDATASYNC@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MCS = @HAVE_MCS@
-HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_MONO = @HAVE_MONO@
-HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
-HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PCLOSE = @HAVE_PCLOSE@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POPEN = @HAVE_POPEN@
-HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
-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_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_VISIBILITY = @HAVE_VISIBILITY@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-HTML_DIR = @HTML_DIR@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-JAR = @JAR@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
-LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
-LIBS = @LIBS@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
-LIBTOOL = @LIBTOOL@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MONO_PATH = @MONO_PATH@
-MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
-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_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PMCCABE = @PMCCABE@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FDOPEN = @REPLACE_FDOPEN@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISATTY = @REPLACE_ISATTY@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-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_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_NLS = @USE_NLS@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
-WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-lgl_LIBOBJS = @lgl_LIBOBJS@
-lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
-lgltests_LIBOBJS = @lgltests_LIBOBJS@
-lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
-lgltests_WITNESS = @lgltests_WITNESS@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects
-SUBDIRS = .
-TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
-       LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' \
-       LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
-       LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
-       MAKE='$(MAKE)'
-noinst_HEADERS = 
-noinst_LIBRARIES = 
-check_LIBRARIES = libtests.a
-EXTRA_DIST = alloca.in.h test-alloca-opt.c test-c-ctype.c macros.h \
-       test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \
-       macros.h test-environ.c test-iconv.c signature.h macros.h \
-       intprops.h test-intprops.c macros.h inttypes.in.h \
-       test-inttypes.c locale.in.h test-locale.c localename.h \
-       test-localename.c macros.h test-lock.c malloc.c malloca.h \
-       malloca.valgrind test-malloca.c putenv.c setenv.c \
-       test-setenv.c signature.h macros.h setlocale.c \
-       test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
-       test-setlocale2.c signature.h macros.h \
-       $(top_srcdir)/build-aux/snippet/_Noreturn.h \
-       $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-       $(top_srcdir)/build-aux/snippet/c++defs.h \
-       $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-       $(top_srcdir)/build-aux/snippet/warn-on-use.h test-stdbool.c \
-       test-stddef.c test-stdint.c stdlib.in.h test-stdlib.c \
-       test-sys_wait.h test-striconv.c macros.h test-strverscmp.c \
-       signature.h macros.h sys_types.in.h test-sys_types.c init.sh \
-       test-init.sh test-thread_self.c test-thread_create.c macros.h \
-       $(top_srcdir)/build-aux/config.rpath unistd.in.h test-unistd.c \
-       unistr/test-u8-mbtoucr.c macros.h unistr/test-u8-uctomb.c \
-       macros.h unsetenv.c test-unsetenv.c signature.h macros.h \
-       verify.h test-verify.c test-verify.sh wchar.in.h
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-BUILT_SOURCES = $(ALLOCA_H) inttypes.h locale.h arg-nonnull.h \
-       c++defs.h unused-parameter.h warn-on-use.h stdlib.h \
-       sys/types.h unistd.h wchar.h
-SUFFIXES = 
-MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t inttypes.h \
-       inttypes.h-t locale.h locale.h-t arg-nonnull.h arg-nonnull.h-t \
-       c++defs.h c++defs.h-t unused-parameter.h unused-parameter.h-t \
-       warn-on-use.h warn-on-use.h-t stdlib.h stdlib.h-t sys/types.h \
-       sys/types.h-t unistd.h unistd.h-t wchar.h wchar.h-t
-MOSTLYCLEANDIRS = 
-CLEANFILES = 
-DISTCLEANFILES = 
-MAINTAINERCLEANFILES = 
-AM_CPPFLAGS = \
-  -D@lgltests_WITNESS@=1 \
-  -I. -I$(srcdir) \
-  -I../.. -I$(srcdir)/../.. \
-  -I../../lib/gl -I$(srcdir)/../../lib/gl
-
-LDADD = libtests.a ../../lib/gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-libtests_a_SOURCES = localename.c glthread/lock.h glthread/lock.c \
-       malloca.c glthread/thread.h glthread/thread.c \
-       glthread/threadlib.c glthread/yield.h
-libtests_a_LIBADD = $(lgltests_LIBOBJS)
-libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES = malloc.c putenv.c setenv.c setlocale.c \
-       unsetenv.c
-AM_LIBTOOLFLAGS = --preserve-dup-deps
-test_iconv_LDADD = $(LDADD) @LIBICONV@
-test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
-test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
-
-# Because this Makefile snippet defines a variable used by other
-# gnulib Makefile snippets, it must be present in all Makefile.am that
-# need it. This is ensured by the applicability 'all' defined above.
-_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
-ARG_NONNULL_H = arg-nonnull.h
-CXXDEFS_H = c++defs.h
-UNUSED_PARAMETER_H = unused-parameter.h
-WARN_ON_USE_H = warn-on-use.h
-test_striconv_LDADD = $(LDADD) @LIBICONV@
-test_thread_self_LDADD = $(LDADD) @LIBTHREAD@
-test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@
-test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c
-test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING)
-test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c
-test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING)
-all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/gltests/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign lib/gltests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
-       -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
-clean-noinstLIBRARIES:
-       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-glthread/$(am__dirstamp):
-       @$(MKDIR_P) glthread
-       @: > glthread/$(am__dirstamp)
-glthread/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) glthread/$(DEPDIR)
-       @: > glthread/$(DEPDIR)/$(am__dirstamp)
-glthread/lock.$(OBJEXT): glthread/$(am__dirstamp) \
-       glthread/$(DEPDIR)/$(am__dirstamp)
-glthread/thread.$(OBJEXT): glthread/$(am__dirstamp) \
-       glthread/$(DEPDIR)/$(am__dirstamp)
-glthread/threadlib.$(OBJEXT): glthread/$(am__dirstamp) \
-       glthread/$(DEPDIR)/$(am__dirstamp)
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) 
-       $(AM_V_at)-rm -f libtests.a
-       $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
-       $(AM_V_at)$(RANLIB) libtests.a
-
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-clean-noinstPROGRAMS:
-       @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES) 
-       @rm -f test-alloca-opt$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
-test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) $(EXTRA_test_c_ctype_DEPENDENCIES) 
-       @rm -f test-c-ctype$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS)
-test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES) $(EXTRA_test_c_strcasecmp_DEPENDENCIES) 
-       @rm -f test-c-strcasecmp$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS)
-test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES) $(EXTRA_test_c_strncasecmp_DEPENDENCIES) 
-       @rm -f test-c-strncasecmp$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
-test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) $(EXTRA_test_environ_DEPENDENCIES) 
-       @rm -f test-environ$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS)
-test-iconv$(EXEEXT): $(test_iconv_OBJECTS) $(test_iconv_DEPENDENCIES) $(EXTRA_test_iconv_DEPENDENCIES) 
-       @rm -f test-iconv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_iconv_OBJECTS) $(test_iconv_LDADD) $(LIBS)
-test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES) $(EXTRA_test_intprops_DEPENDENCIES) 
-       @rm -f test-intprops$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS)
-test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES) $(EXTRA_test_inttypes_DEPENDENCIES) 
-       @rm -f test-inttypes$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
-test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) $(EXTRA_test_locale_DEPENDENCIES) 
-       @rm -f test-locale$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS)
-test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES) $(EXTRA_test_localename_DEPENDENCIES) 
-       @rm -f test-localename$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_localename_OBJECTS) $(test_localename_LDADD) $(LIBS)
-test-lock$(EXEEXT): $(test_lock_OBJECTS) $(test_lock_DEPENDENCIES) $(EXTRA_test_lock_DEPENDENCIES) 
-       @rm -f test-lock$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_lock_OBJECTS) $(test_lock_LDADD) $(LIBS)
-test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EXTRA_test_malloca_DEPENDENCIES) 
-       @rm -f test-malloca$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
-test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES) $(EXTRA_test_setenv_DEPENDENCIES) 
-       @rm -f test-setenv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
-test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENCIES) $(EXTRA_test_setlocale1_DEPENDENCIES) 
-       @rm -f test-setlocale1$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_setlocale1_OBJECTS) $(test_setlocale1_LDADD) $(LIBS)
-test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES) $(EXTRA_test_setlocale2_DEPENDENCIES) 
-       @rm -f test-setlocale2$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_setlocale2_OBJECTS) $(test_setlocale2_LDADD) $(LIBS)
-test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES) 
-       @rm -f test-stdbool$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
-test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES) $(EXTRA_test_stddef_DEPENDENCIES) 
-       @rm -f test-stddef$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS)
-test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) $(EXTRA_test_stdint_DEPENDENCIES) 
-       @rm -f test-stdint$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
-test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) $(EXTRA_test_stdlib_DEPENDENCIES) 
-       @rm -f test-stdlib$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS)
-test-striconv$(EXEEXT): $(test_striconv_OBJECTS) $(test_striconv_DEPENDENCIES) $(EXTRA_test_striconv_DEPENDENCIES) 
-       @rm -f test-striconv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_striconv_OBJECTS) $(test_striconv_LDADD) $(LIBS)
-test-strverscmp$(EXEEXT): $(test_strverscmp_OBJECTS) $(test_strverscmp_DEPENDENCIES) $(EXTRA_test_strverscmp_DEPENDENCIES) 
-       @rm -f test-strverscmp$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_strverscmp_OBJECTS) $(test_strverscmp_LDADD) $(LIBS)
-test-sys_types$(EXEEXT): $(test_sys_types_OBJECTS) $(test_sys_types_DEPENDENCIES) $(EXTRA_test_sys_types_DEPENDENCIES) 
-       @rm -f test-sys_types$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_sys_types_OBJECTS) $(test_sys_types_LDADD) $(LIBS)
-test-thread_create$(EXEEXT): $(test_thread_create_OBJECTS) $(test_thread_create_DEPENDENCIES) $(EXTRA_test_thread_create_DEPENDENCIES) 
-       @rm -f test-thread_create$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_thread_create_OBJECTS) $(test_thread_create_LDADD) $(LIBS)
-test-thread_self$(EXEEXT): $(test_thread_self_OBJECTS) $(test_thread_self_DEPENDENCIES) $(EXTRA_test_thread_self_DEPENDENCIES) 
-       @rm -f test-thread_self$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_thread_self_OBJECTS) $(test_thread_self_LDADD) $(LIBS)
-unistr/$(am__dirstamp):
-       @$(MKDIR_P) unistr
-       @: > unistr/$(am__dirstamp)
-unistr/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) unistr/$(DEPDIR)
-       @: > unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/test-u8-mbtoucr.$(OBJEXT): unistr/$(am__dirstamp) \
-       unistr/$(DEPDIR)/$(am__dirstamp)
-test-u8-mbtoucr$(EXEEXT): $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_DEPENDENCIES) $(EXTRA_test_u8_mbtoucr_DEPENDENCIES) 
-       @rm -f test-u8-mbtoucr$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_LDADD) $(LIBS)
-unistr/test-u8-uctomb.$(OBJEXT): unistr/$(am__dirstamp) \
-       unistr/$(DEPDIR)/$(am__dirstamp)
-test-u8-uctomb$(EXEEXT): $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_DEPENDENCIES) $(EXTRA_test_u8_uctomb_DEPENDENCIES) 
-       @rm -f test-u8-uctomb$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_LDADD) $(LIBS)
-test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) $(EXTRA_test_unistd_DEPENDENCIES) 
-       @rm -f test-unistd$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS)
-test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES) $(EXTRA_test_unsetenv_DEPENDENCIES) 
-       @rm -f test-unsetenv$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS)
-test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES) $(EXTRA_test_verify_DEPENDENCIES) 
-       @rm -f test-verify$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f glthread/lock.$(OBJEXT)
-       -rm -f glthread/thread.$(OBJEXT)
-       -rm -f glthread/threadlib.$(OBJEXT)
-       -rm -f unistr/test-u8-mbtoucr.$(OBJEXT)
-       -rm -f unistr/test-u8-uctomb.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localename.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setlocale.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iconv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lock.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strverscmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_create.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_self.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/lock.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/threadlib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-mbtoucr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-uctomb.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
-         fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
-           else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-           fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
-           else \
-             skipped="($$skip tests were not run)"; \
-           fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           col="$$grn"; \
-         else \
-           col="$$red"; \
-         fi; \
-         echo "$${col}$$dashes$${std}"; \
-         echo "$${col}$$banner$${std}"; \
-         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
-         test -z "$$report" || echo "$${col}$$report$${std}"; \
-         echo "$${col}$$dashes$${std}"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-       -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f glthread/$(DEPDIR)/$(am__dirstamp)
-       -rm -f glthread/$(am__dirstamp)
-       -rm -f unistr/$(DEPDIR)/$(am__dirstamp)
-       -rm -f unistr/$(am__dirstamp)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool clean-local clean-noinstLIBRARIES \
-       clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool mostlyclean-local
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       check-am ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-TESTS check-am clean \
-       clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool clean-local clean-noinstLIBRARIES \
-       clean-noinstPROGRAMS ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am
-
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status
-@GL_GENERATE_ALLOCA_H_TRUE@    $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_ALLOCA_H_TRUE@    { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_ALLOCA_H_TRUE@      cat $(srcdir)/alloca.in.h; \
-@GL_GENERATE_ALLOCA_H_TRUE@    } > $@-t && \
-@GL_GENERATE_ALLOCA_H_TRUE@    mv -f $@-t $@
-@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status
-@GL_GENERATE_ALLOCA_H_FALSE@   rm -f $@
-
-# We need the following in order to create <inttypes.h> when the system
-# doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-             -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-             -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-             -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-             -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-             -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-             -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-             -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-             -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-             -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-             -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-             -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
-             -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-             -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-             -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
-             -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/inttypes.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
-             -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
-             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
-             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
-             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
-             -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
-             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
-             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
-             -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/locale.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
-# off.
-arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_ARG_NONNULL/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
-         > $@-t && \
-       mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/_GL_CXXDEFS/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/c++defs.h \
-         > $@-t && \
-       mv $@-t $@
-# The unused-parameter.h that gets inserted into generated .h files is the same
-# as build-aux/snippet/unused-parameter.h, except that it has the copyright
-# header cut off.
-unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
-         > $@-t && \
-       mv $@-t $@
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
-# off.
-warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       sed -n -e '/^.ifndef/,$$p' \
-         < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
-         > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
-  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
-             -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
-             -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
-             -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
-             -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
-             -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
-             -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
-             -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
-             -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
-             -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-             -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-             -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
-             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-             -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
-             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-             -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
-             -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-             -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
-             -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
-             -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
-             -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
-             -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
-             -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
-             -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
-             -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
-             -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
-             -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
-             -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
-             < $(srcdir)/stdlib.in.h | \
-         sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
-             -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-             -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-             -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-             -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-             -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-             -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-             -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
-             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-             -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
-             -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-             -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-             -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
-             -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
-             -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
-             -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-             -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-             -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
-             -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-             -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
-             -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-             -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
-             -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-             -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-             -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-             -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-             -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-             -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-             -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-             -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
-             -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
-             -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _Noreturn/r $(_NORETURN_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <sys/types.h> when the system
-# doesn't have one that works with the given compiler.
-sys/types.h: sys_types.in.h $(top_builddir)/config.status
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             < $(srcdir)/sys_types.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create an empty placeholder for
-# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
-             -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
-             -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
-             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
-             -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
-             -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
-             -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
-             -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
-             -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
-             -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
-             -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
-             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
-             -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
-             -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
-             -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
-             -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
-             -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
-             -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
-             -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
-             -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
-             -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
-             -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
-             -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
-             -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
-             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
-             -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
-             -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
-             -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
-             -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
-             -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
-             -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
-             -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
-             -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
-             -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
-             -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
-             -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
-             -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
-             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
-             -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
-             -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-             -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-             -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_LGL_UNISTD_H_GETOPT)/g' \
-             -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-             -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-             -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
-             -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
-             -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
-             -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
-             < $(srcdir)/unistd.in.h | \
-         sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-             -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-             -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
-             -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
-             -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
-             -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
-             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
-             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-             -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
-             -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
-             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-             -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-             -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
-             -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
-             -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-             -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
-             -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
-             -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
-             -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
-             -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
-             -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-             -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-             -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
-             -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-             -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-             -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
-             -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-             -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-             -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
-             -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
-             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
-             -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
-             -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-             -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
-             -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
-             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
-             -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-             -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-             -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-         | \
-         sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
-             -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
-             -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
-             -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-             -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-             -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
-             -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-             -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-             -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
-             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
-             -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
-             -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-             -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-             -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
-             -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
-             -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-             -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
-             -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-             -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
-             -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-             -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
-             -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
-             -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
-             -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
-             -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
-             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
-             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
-             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
-             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
-             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
-             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
-             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
-             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
-             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
-             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
-             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
-             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
-             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
-             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
-             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
-             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
-             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
-             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
-             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
-             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
-             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
-             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
-             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
-             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
-             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
-             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
-             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
-             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
-             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
-             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
-             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
-             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
-             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
-             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
-             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
-             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
-             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
-             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
-             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
-             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
-             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
-             < $(srcdir)/wchar.in.h | \
-         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
-         | \
-         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
-       } > $@-t && \
-       mv $@-t $@
-
-# Clean up after Solaris cc.
-clean-local:
-       rm -rf SunWS_cache
-
-mostlyclean-local: mostlyclean-generic
-       @for dir in '' $(MOSTLYCLEANDIRS); do \
-         if test -n "$$dir" && test -d $$dir; then \
-           echo "rmdir $$dir"; rmdir $$dir; \
-         fi; \
-       done; \
-       :
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/gltests/alloca.in.h b/lib/gltests/alloca.in.h
deleted file mode 100644 (file)
index e94eb68..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Memory allocation on the stack.
-
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2012 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 the Free Software Foundation; either version 3, 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/>.
-  */
-
-/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
-   means there is a real alloca function.  */
-#ifndef _GL_ALLOCA_H
-#define _GL_ALLOCA_H
-
-/* alloca (N) returns a pointer to N bytes of memory
-   allocated on the stack, which will last until the function returns.
-   Use of alloca should be avoided:
-     - inside arguments of function calls - undefined behaviour,
-     - in inline functions - the allocation may actually last until the
-       calling function returns,
-     - for huge N (say, N >= 65536) - you never know how large (or small)
-       the stack is, and when the stack cannot fulfill the memory allocation
-       request, the program just crashes.
- */
-
-#ifndef alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
-# elif defined _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# elif defined __DECC && defined __VMS
-#  define alloca __ALLOCA
-# else
-#  include <stddef.h>
-#  ifdef  __cplusplus
-extern "C"
-#  endif
-void *alloca (size_t);
-# endif
-#endif
-
-#endif /* _GL_ALLOCA_H */
diff --git a/lib/gltests/glthread/lock.c b/lib/gltests/glthread/lock.c
deleted file mode 100644 (file)
index 9a391ea..0000000
+++ /dev/null
@@ -1,1057 +0,0 @@
-/* Locking in multithreaded situations.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.
-   Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
-   gthr-win32.h.  */
-
-#include <config.h>
-
-#include "glthread/lock.h"
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-# if HAVE_PTHREAD_RWLOCK
-
-#  if !defined PTHREAD_RWLOCK_INITIALIZER
-
-int
-glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_rwlock_init (&lock->rwlock, NULL);
-  if (err != 0)
-    return err;
-  lock->initialized = 1;
-  return 0;
-}
-
-int
-glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
-{
-  if (!lock->initialized)
-    {
-      int err;
-
-      err = pthread_mutex_lock (&lock->guard);
-      if (err != 0)
-        return err;
-      if (!lock->initialized)
-        {
-          err = glthread_rwlock_init_multithreaded (lock);
-          if (err != 0)
-            {
-              pthread_mutex_unlock (&lock->guard);
-              return err;
-            }
-        }
-      err = pthread_mutex_unlock (&lock->guard);
-      if (err != 0)
-        return err;
-    }
-  return pthread_rwlock_rdlock (&lock->rwlock);
-}
-
-int
-glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
-{
-  if (!lock->initialized)
-    {
-      int err;
-
-      err = pthread_mutex_lock (&lock->guard);
-      if (err != 0)
-        return err;
-      if (!lock->initialized)
-        {
-          err = glthread_rwlock_init_multithreaded (lock);
-          if (err != 0)
-            {
-              pthread_mutex_unlock (&lock->guard);
-              return err;
-            }
-        }
-      err = pthread_mutex_unlock (&lock->guard);
-      if (err != 0)
-        return err;
-    }
-  return pthread_rwlock_wrlock (&lock->rwlock);
-}
-
-int
-glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
-{
-  if (!lock->initialized)
-    return EINVAL;
-  return pthread_rwlock_unlock (&lock->rwlock);
-}
-
-int
-glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  if (!lock->initialized)
-    return EINVAL;
-  err = pthread_rwlock_destroy (&lock->rwlock);
-  if (err != 0)
-    return err;
-  lock->initialized = 0;
-  return 0;
-}
-
-#  endif
-
-# else
-
-int
-glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_init (&lock->lock, NULL);
-  if (err != 0)
-    return err;
-  err = pthread_cond_init (&lock->waiting_readers, NULL);
-  if (err != 0)
-    return err;
-  err = pthread_cond_init (&lock->waiting_writers, NULL);
-  if (err != 0)
-    return err;
-  lock->waiting_writers_count = 0;
-  lock->runcount = 0;
-  return 0;
-}
-
-int
-glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_lock (&lock->lock);
-  if (err != 0)
-    return err;
-  /* Test whether only readers are currently running, and whether the runcount
-     field will not overflow.  */
-  /* POSIX says: "It is implementation-defined whether the calling thread
-     acquires the lock when a writer does not hold the lock and there are
-     writers blocked on the lock."  Let's say, no: give the writers a higher
-     priority.  */
-  while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0))
-    {
-      /* This thread has to wait for a while.  Enqueue it among the
-         waiting_readers.  */
-      err = pthread_cond_wait (&lock->waiting_readers, &lock->lock);
-      if (err != 0)
-        {
-          pthread_mutex_unlock (&lock->lock);
-          return err;
-        }
-    }
-  lock->runcount++;
-  return pthread_mutex_unlock (&lock->lock);
-}
-
-int
-glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_lock (&lock->lock);
-  if (err != 0)
-    return err;
-  /* Test whether no readers or writers are currently running.  */
-  while (!(lock->runcount == 0))
-    {
-      /* This thread has to wait for a while.  Enqueue it among the
-         waiting_writers.  */
-      lock->waiting_writers_count++;
-      err = pthread_cond_wait (&lock->waiting_writers, &lock->lock);
-      if (err != 0)
-        {
-          lock->waiting_writers_count--;
-          pthread_mutex_unlock (&lock->lock);
-          return err;
-        }
-      lock->waiting_writers_count--;
-    }
-  lock->runcount--; /* runcount becomes -1 */
-  return pthread_mutex_unlock (&lock->lock);
-}
-
-int
-glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_lock (&lock->lock);
-  if (err != 0)
-    return err;
-  if (lock->runcount < 0)
-    {
-      /* Drop a writer lock.  */
-      if (!(lock->runcount == -1))
-        {
-          pthread_mutex_unlock (&lock->lock);
-          return EINVAL;
-        }
-      lock->runcount = 0;
-    }
-  else
-    {
-      /* Drop a reader lock.  */
-      if (!(lock->runcount > 0))
-        {
-          pthread_mutex_unlock (&lock->lock);
-          return EINVAL;
-        }
-      lock->runcount--;
-    }
-  if (lock->runcount == 0)
-    {
-      /* POSIX recommends that "write locks shall take precedence over read
-         locks", to avoid "writer starvation".  */
-      if (lock->waiting_writers_count > 0)
-        {
-          /* Wake up one of the waiting writers.  */
-          err = pthread_cond_signal (&lock->waiting_writers);
-          if (err != 0)
-            {
-              pthread_mutex_unlock (&lock->lock);
-              return err;
-            }
-        }
-      else
-        {
-          /* Wake up all waiting readers.  */
-          err = pthread_cond_broadcast (&lock->waiting_readers);
-          if (err != 0)
-            {
-              pthread_mutex_unlock (&lock->lock);
-              return err;
-            }
-        }
-    }
-  return pthread_mutex_unlock (&lock->lock);
-}
-
-int
-glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_destroy (&lock->lock);
-  if (err != 0)
-    return err;
-  err = pthread_cond_destroy (&lock->waiting_readers);
-  if (err != 0)
-    return err;
-  err = pthread_cond_destroy (&lock->waiting_writers);
-  if (err != 0)
-    return err;
-  return 0;
-}
-
-# endif
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-# if HAVE_PTHREAD_MUTEX_RECURSIVE
-
-#  if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-
-int
-glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
-{
-  pthread_mutexattr_t attributes;
-  int err;
-
-  err = pthread_mutexattr_init (&attributes);
-  if (err != 0)
-    return err;
-  err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
-  if (err != 0)
-    {
-      pthread_mutexattr_destroy (&attributes);
-      return err;
-    }
-  err = pthread_mutex_init (lock, &attributes);
-  if (err != 0)
-    {
-      pthread_mutexattr_destroy (&attributes);
-      return err;
-    }
-  err = pthread_mutexattr_destroy (&attributes);
-  if (err != 0)
-    return err;
-  return 0;
-}
-
-#  else
-
-int
-glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
-{
-  pthread_mutexattr_t attributes;
-  int err;
-
-  err = pthread_mutexattr_init (&attributes);
-  if (err != 0)
-    return err;
-  err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
-  if (err != 0)
-    {
-      pthread_mutexattr_destroy (&attributes);
-      return err;
-    }
-  err = pthread_mutex_init (&lock->recmutex, &attributes);
-  if (err != 0)
-    {
-      pthread_mutexattr_destroy (&attributes);
-      return err;
-    }
-  err = pthread_mutexattr_destroy (&attributes);
-  if (err != 0)
-    return err;
-  lock->initialized = 1;
-  return 0;
-}
-
-int
-glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (!lock->initialized)
-    {
-      int err;
-
-      err = pthread_mutex_lock (&lock->guard);
-      if (err != 0)
-        return err;
-      if (!lock->initialized)
-        {
-          err = glthread_recursive_lock_init_multithreaded (lock);
-          if (err != 0)
-            {
-              pthread_mutex_unlock (&lock->guard);
-              return err;
-            }
-        }
-      err = pthread_mutex_unlock (&lock->guard);
-      if (err != 0)
-        return err;
-    }
-  return pthread_mutex_lock (&lock->recmutex);
-}
-
-int
-glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (!lock->initialized)
-    return EINVAL;
-  return pthread_mutex_unlock (&lock->recmutex);
-}
-
-int
-glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
-{
-  int err;
-
-  if (!lock->initialized)
-    return EINVAL;
-  err = pthread_mutex_destroy (&lock->recmutex);
-  if (err != 0)
-    return err;
-  lock->initialized = 0;
-  return 0;
-}
-
-#  endif
-
-# else
-
-int
-glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
-{
-  int err;
-
-  err = pthread_mutex_init (&lock->mutex, NULL);
-  if (err != 0)
-    return err;
-  lock->owner = (pthread_t) 0;
-  lock->depth = 0;
-  return 0;
-}
-
-int
-glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
-{
-  pthread_t self = pthread_self ();
-  if (lock->owner != self)
-    {
-      int err;
-
-      err = pthread_mutex_lock (&lock->mutex);
-      if (err != 0)
-        return err;
-      lock->owner = self;
-    }
-  if (++(lock->depth) == 0) /* wraparound? */
-    {
-      lock->depth--;
-      return EAGAIN;
-    }
-  return 0;
-}
-
-int
-glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != pthread_self ())
-    return EPERM;
-  if (lock->depth == 0)
-    return EINVAL;
-  if (--(lock->depth) == 0)
-    {
-      lock->owner = (pthread_t) 0;
-      return pthread_mutex_unlock (&lock->mutex);
-    }
-  else
-    return 0;
-}
-
-int
-glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != (pthread_t) 0)
-    return EBUSY;
-  return pthread_mutex_destroy (&lock->mutex);
-}
-
-# endif
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT;
-
-int
-glthread_once_singlethreaded (pthread_once_t *once_control)
-{
-  /* We don't know whether pthread_once_t is an integer type, a floating-point
-     type, a pointer type, or a structure type.  */
-  char *firstbyte = (char *)once_control;
-  if (*firstbyte == *(const char *)&fresh_once)
-    {
-      /* First time use of once_control.  Invert the first byte.  */
-      *firstbyte = ~ *(const char *)&fresh_once;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_PTH_THREADS
-
-/* Use the GNU Pth threads library.  */
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-static void
-glthread_once_call (void *arg)
-{
-  void (**gl_once_temp_addr) (void) = (void (**) (void)) arg;
-  void (*initfunction) (void) = *gl_once_temp_addr;
-  initfunction ();
-}
-
-int
-glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void))
-{
-  void (*temp) (void) = initfunction;
-  return (!pth_once (once_control, glthread_once_call, &temp) ? errno : 0);
-}
-
-int
-glthread_once_singlethreaded (pth_once_t *once_control)
-{
-  /* We know that pth_once_t is an integer type.  */
-  if (*once_control == PTH_ONCE_INIT)
-    {
-      /* First time use of once_control.  Invert the marker.  */
-      *once_control = ~ PTH_ONCE_INIT;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_SOLARIS_THREADS
-
-/* Use the old Solaris threads library.  */
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-int
-glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
-{
-  int err;
-
-  err = mutex_init (&lock->mutex, USYNC_THREAD, NULL);
-  if (err != 0)
-    return err;
-  lock->owner = (thread_t) 0;
-  lock->depth = 0;
-  return 0;
-}
-
-int
-glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
-{
-  thread_t self = thr_self ();
-  if (lock->owner != self)
-    {
-      int err;
-
-      err = mutex_lock (&lock->mutex);
-      if (err != 0)
-        return err;
-      lock->owner = self;
-    }
-  if (++(lock->depth) == 0) /* wraparound? */
-    {
-      lock->depth--;
-      return EAGAIN;
-    }
-  return 0;
-}
-
-int
-glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != thr_self ())
-    return EPERM;
-  if (lock->depth == 0)
-    return EINVAL;
-  if (--(lock->depth) == 0)
-    {
-      lock->owner = (thread_t) 0;
-      return mutex_unlock (&lock->mutex);
-    }
-  else
-    return 0;
-}
-
-int
-glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != (thread_t) 0)
-    return EBUSY;
-  return mutex_destroy (&lock->mutex);
-}
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-int
-glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void))
-{
-  if (!once_control->inited)
-    {
-      int err;
-
-      /* Use the mutex to guarantee that if another thread is already calling
-         the initfunction, this thread waits until it's finished.  */
-      err = mutex_lock (&once_control->mutex);
-      if (err != 0)
-        return err;
-      if (!once_control->inited)
-        {
-          once_control->inited = 1;
-          initfunction ();
-        }
-      return mutex_unlock (&once_control->mutex);
-    }
-  else
-    return 0;
-}
-
-int
-glthread_once_singlethreaded (gl_once_t *once_control)
-{
-  /* We know that gl_once_t contains an integer type.  */
-  if (!once_control->inited)
-    {
-      /* First time use of once_control.  Invert the marker.  */
-      once_control->inited = ~ 0;
-      return 1;
-    }
-  else
-    return 0;
-}
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_WINDOWS_THREADS
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-void
-glthread_lock_init_func (gl_lock_t *lock)
-{
-  InitializeCriticalSection (&lock->lock);
-  lock->guard.done = 1;
-}
-
-int
-glthread_lock_lock_func (gl_lock_t *lock)
-{
-  if (!lock->guard.done)
-    {
-      if (InterlockedIncrement (&lock->guard.started) == 0)
-        /* This thread is the first one to need this lock.  Initialize it.  */
-        glthread_lock_init (lock);
-      else
-        /* Yield the CPU while waiting for another thread to finish
-           initializing this lock.  */
-        while (!lock->guard.done)
-          Sleep (0);
-    }
-  EnterCriticalSection (&lock->lock);
-  return 0;
-}
-
-int
-glthread_lock_unlock_func (gl_lock_t *lock)
-{
-  if (!lock->guard.done)
-    return EINVAL;
-  LeaveCriticalSection (&lock->lock);
-  return 0;
-}
-
-int
-glthread_lock_destroy_func (gl_lock_t *lock)
-{
-  if (!lock->guard.done)
-    return EINVAL;
-  DeleteCriticalSection (&lock->lock);
-  lock->guard.done = 0;
-  return 0;
-}
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-/* In this file, the waitqueues are implemented as circular arrays.  */
-#define gl_waitqueue_t gl_carray_waitqueue_t
-
-static inline void
-gl_waitqueue_init (gl_waitqueue_t *wq)
-{
-  wq->array = NULL;
-  wq->count = 0;
-  wq->alloc = 0;
-  wq->offset = 0;
-}
-
-/* Enqueues the current thread, represented by an event, in a wait queue.
-   Returns INVALID_HANDLE_VALUE if an allocation failure occurs.  */
-static HANDLE
-gl_waitqueue_add (gl_waitqueue_t *wq)
-{
-  HANDLE event;
-  unsigned int index;
-
-  if (wq->count == wq->alloc)
-    {
-      unsigned int new_alloc = 2 * wq->alloc + 1;
-      HANDLE *new_array =
-        (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE));
-      if (new_array == NULL)
-        /* No more memory.  */
-        return INVALID_HANDLE_VALUE;
-      /* Now is a good opportunity to rotate the array so that its contents
-         starts at offset 0.  */
-      if (wq->offset > 0)
-        {
-          unsigned int old_count = wq->count;
-          unsigned int old_alloc = wq->alloc;
-          unsigned int old_offset = wq->offset;
-          unsigned int i;
-          if (old_offset + old_count > old_alloc)
-            {
-              unsigned int limit = old_offset + old_count - old_alloc;
-              for (i = 0; i < limit; i++)
-                new_array[old_alloc + i] = new_array[i];
-            }
-          for (i = 0; i < old_count; i++)
-            new_array[i] = new_array[old_offset + i];
-          wq->offset = 0;
-        }
-      wq->array = new_array;
-      wq->alloc = new_alloc;
-    }
-  /* Whether the created event is a manual-reset one or an auto-reset one,
-     does not matter, since we will wait on it only once.  */
-  event = CreateEvent (NULL, TRUE, FALSE, NULL);
-  if (event == INVALID_HANDLE_VALUE)
-    /* No way to allocate an event.  */
-    return INVALID_HANDLE_VALUE;
-  index = wq->offset + wq->count;
-  if (index >= wq->alloc)
-    index -= wq->alloc;
-  wq->array[index] = event;
-  wq->count++;
-  return event;
-}
-
-/* Notifies the first thread from a wait queue and dequeues it.  */
-static inline void
-gl_waitqueue_notify_first (gl_waitqueue_t *wq)
-{
-  SetEvent (wq->array[wq->offset + 0]);
-  wq->offset++;
-  wq->count--;
-  if (wq->count == 0 || wq->offset == wq->alloc)
-    wq->offset = 0;
-}
-
-/* Notifies all threads from a wait queue and dequeues them all.  */
-static inline void
-gl_waitqueue_notify_all (gl_waitqueue_t *wq)
-{
-  unsigned int i;
-
-  for (i = 0; i < wq->count; i++)
-    {
-      unsigned int index = wq->offset + i;
-      if (index >= wq->alloc)
-        index -= wq->alloc;
-      SetEvent (wq->array[index]);
-    }
-  wq->count = 0;
-  wq->offset = 0;
-}
-
-void
-glthread_rwlock_init_func (gl_rwlock_t *lock)
-{
-  InitializeCriticalSection (&lock->lock);
-  gl_waitqueue_init (&lock->waiting_readers);
-  gl_waitqueue_init (&lock->waiting_writers);
-  lock->runcount = 0;
-  lock->guard.done = 1;
-}
-
-int
-glthread_rwlock_rdlock_func (gl_rwlock_t *lock)
-{
-  if (!lock->guard.done)
-    {
-      if (InterlockedIncrement (&lock->guard.started) == 0)
-        /* This thread is the first one to need this lock.  Initialize it.  */
-        glthread_rwlock_init (lock);
-      else
-        /* Yield the CPU while waiting for another thread to finish
-           initializing this lock.  */
-        while (!lock->guard.done)
-          Sleep (0);
-    }
-  EnterCriticalSection (&lock->lock);
-  /* Test whether only readers are currently running, and whether the runcount
-     field will not overflow.  */
-  if (!(lock->runcount + 1 > 0))
-    {
-      /* This thread has to wait for a while.  Enqueue it among the
-         waiting_readers.  */
-      HANDLE event = gl_waitqueue_add (&lock->waiting_readers);
-      if (event != INVALID_HANDLE_VALUE)
-        {
-          DWORD result;
-          LeaveCriticalSection (&lock->lock);
-          /* Wait until another thread signals this event.  */
-          result = WaitForSingleObject (event, INFINITE);
-          if (result == WAIT_FAILED || result == WAIT_TIMEOUT)
-            abort ();
-          CloseHandle (event);
-          /* The thread which signalled the event already did the bookkeeping:
-             removed us from the waiting_readers, incremented lock->runcount.  */
-          if (!(lock->runcount > 0))
-            abort ();
-          return 0;
-        }
-      else
-        {
-          /* Allocation failure.  Weird.  */
-          do
-            {
-              LeaveCriticalSection (&lock->lock);
-              Sleep (1);
-              EnterCriticalSection (&lock->lock);
-            }
-          while (!(lock->runcount + 1 > 0));
-        }
-    }
-  lock->runcount++;
-  LeaveCriticalSection (&lock->lock);
-  return 0;
-}
-
-int
-glthread_rwlock_wrlock_func (gl_rwlock_t *lock)
-{
-  if (!lock->guard.done)
-    {
-      if (InterlockedIncrement (&lock->guard.started) == 0)
-        /* This thread is the first one to need this lock.  Initialize it.  */
-        glthread_rwlock_init (lock);
-      else
-        /* Yield the CPU while waiting for another thread to finish
-           initializing this lock.  */
-        while (!lock->guard.done)
-          Sleep (0);
-    }
-  EnterCriticalSection (&lock->lock);
-  /* Test whether no readers or writers are currently running.  */
-  if (!(lock->runcount == 0))
-    {
-      /* This thread has to wait for a while.  Enqueue it among the
-         waiting_writers.  */
-      HANDLE event = gl_waitqueue_add (&lock->waiting_writers);
-      if (event != INVALID_HANDLE_VALUE)
-        {
-          DWORD result;
-          LeaveCriticalSection (&lock->lock);
-          /* Wait until another thread signals this event.  */
-          result = WaitForSingleObject (event, INFINITE);
-          if (result == WAIT_FAILED || result == WAIT_TIMEOUT)
-            abort ();
-          CloseHandle (event);
-          /* The thread which signalled the event already did the bookkeeping:
-             removed us from the waiting_writers, set lock->runcount = -1.  */
-          if (!(lock->runcount == -1))
-            abort ();
-          return 0;
-        }
-      else
-        {
-          /* Allocation failure.  Weird.  */
-          do
-            {
-              LeaveCriticalSection (&lock->lock);
-              Sleep (1);
-              EnterCriticalSection (&lock->lock);
-            }
-          while (!(lock->runcount == 0));
-        }
-    }
-  lock->runcount--; /* runcount becomes -1 */
-  LeaveCriticalSection (&lock->lock);
-  return 0;
-}
-
-int
-glthread_rwlock_unlock_func (gl_rwlock_t *lock)
-{
-  if (!lock->guard.done)
-    return EINVAL;
-  EnterCriticalSection (&lock->lock);
-  if (lock->runcount < 0)
-    {
-      /* Drop a writer lock.  */
-      if (!(lock->runcount == -1))
-        abort ();
-      lock->runcount = 0;
-    }
-  else
-    {
-      /* Drop a reader lock.  */
-      if (!(lock->runcount > 0))
-        {
-          LeaveCriticalSection (&lock->lock);
-          return EPERM;
-        }
-      lock->runcount--;
-    }
-  if (lock->runcount == 0)
-    {
-      /* POSIX recommends that "write locks shall take precedence over read
-         locks", to avoid "writer starvation".  */
-      if (lock->waiting_writers.count > 0)
-        {
-          /* Wake up one of the waiting writers.  */
-          lock->runcount--;
-          gl_waitqueue_notify_first (&lock->waiting_writers);
-        }
-      else
-        {
-          /* Wake up all waiting readers.  */
-          lock->runcount += lock->waiting_readers.count;
-          gl_waitqueue_notify_all (&lock->waiting_readers);
-        }
-    }
-  LeaveCriticalSection (&lock->lock);
-  return 0;
-}
-
-int
-glthread_rwlock_destroy_func (gl_rwlock_t *lock)
-{
-  if (!lock->guard.done)
-    return EINVAL;
-  if (lock->runcount != 0)
-    return EBUSY;
-  DeleteCriticalSection (&lock->lock);
-  if (lock->waiting_readers.array != NULL)
-    free (lock->waiting_readers.array);
-  if (lock->waiting_writers.array != NULL)
-    free (lock->waiting_writers.array);
-  lock->guard.done = 0;
-  return 0;
-}
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-void
-glthread_recursive_lock_init_func (gl_recursive_lock_t *lock)
-{
-  lock->owner = 0;
-  lock->depth = 0;
-  InitializeCriticalSection (&lock->lock);
-  lock->guard.done = 1;
-}
-
-int
-glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock)
-{
-  if (!lock->guard.done)
-    {
-      if (InterlockedIncrement (&lock->guard.started) == 0)
-        /* This thread is the first one to need this lock.  Initialize it.  */
-        glthread_recursive_lock_init (lock);
-      else
-        /* Yield the CPU while waiting for another thread to finish
-           initializing this lock.  */
-        while (!lock->guard.done)
-          Sleep (0);
-    }
-  {
-    DWORD self = GetCurrentThreadId ();
-    if (lock->owner != self)
-      {
-        EnterCriticalSection (&lock->lock);
-        lock->owner = self;
-      }
-    if (++(lock->depth) == 0) /* wraparound? */
-      {
-        lock->depth--;
-        return EAGAIN;
-      }
-  }
-  return 0;
-}
-
-int
-glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != GetCurrentThreadId ())
-    return EPERM;
-  if (lock->depth == 0)
-    return EINVAL;
-  if (--(lock->depth) == 0)
-    {
-      lock->owner = 0;
-      LeaveCriticalSection (&lock->lock);
-    }
-  return 0;
-}
-
-int
-glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock)
-{
-  if (lock->owner != 0)
-    return EBUSY;
-  DeleteCriticalSection (&lock->lock);
-  lock->guard.done = 0;
-  return 0;
-}
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-void
-glthread_once_func (gl_once_t *once_control, void (*initfunction) (void))
-{
-  if (once_control->inited <= 0)
-    {
-      if (InterlockedIncrement (&once_control->started) == 0)
-        {
-          /* This thread is the first one to come to this once_control.  */
-          InitializeCriticalSection (&once_control->lock);
-          EnterCriticalSection (&once_control->lock);
-          once_control->inited = 0;
-          initfunction ();
-          once_control->inited = 1;
-          LeaveCriticalSection (&once_control->lock);
-        }
-      else
-        {
-          /* Undo last operation.  */
-          InterlockedDecrement (&once_control->started);
-          /* Some other thread has already started the initialization.
-             Yield the CPU while waiting for the other thread to finish
-             initializing and taking the lock.  */
-          while (once_control->inited < 0)
-            Sleep (0);
-          if (once_control->inited <= 0)
-            {
-              /* Take the lock.  This blocks until the other thread has
-                 finished calling the initfunction.  */
-              EnterCriticalSection (&once_control->lock);
-              LeaveCriticalSection (&once_control->lock);
-              if (!(once_control->inited > 0))
-                abort ();
-            }
-        }
-    }
-}
-
-#endif
-
-/* ========================================================================= */
diff --git a/lib/gltests/glthread/lock.h b/lib/gltests/glthread/lock.h
deleted file mode 100644 (file)
index 6782d49..0000000
+++ /dev/null
@@ -1,927 +0,0 @@
-/* Locking in multithreaded situations.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.
-   Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
-   gthr-win32.h.  */
-
-/* This file contains locking primitives for use with a given thread library.
-   It does not contain primitives for creating threads or for other
-   synchronization primitives.
-
-   Normal (non-recursive) locks:
-     Type:                gl_lock_t
-     Declaration:         gl_lock_define(extern, name)
-     Initializer:         gl_lock_define_initialized(, name)
-     Initialization:      gl_lock_init (name);
-     Taking the lock:     gl_lock_lock (name);
-     Releasing the lock:  gl_lock_unlock (name);
-     De-initialization:   gl_lock_destroy (name);
-   Equivalent functions with control of error handling:
-     Initialization:      err = glthread_lock_init (&name);
-     Taking the lock:     err = glthread_lock_lock (&name);
-     Releasing the lock:  err = glthread_lock_unlock (&name);
-     De-initialization:   err = glthread_lock_destroy (&name);
-
-   Read-Write (non-recursive) locks:
-     Type:                gl_rwlock_t
-     Declaration:         gl_rwlock_define(extern, name)
-     Initializer:         gl_rwlock_define_initialized(, name)
-     Initialization:      gl_rwlock_init (name);
-     Taking the lock:     gl_rwlock_rdlock (name);
-                          gl_rwlock_wrlock (name);
-     Releasing the lock:  gl_rwlock_unlock (name);
-     De-initialization:   gl_rwlock_destroy (name);
-   Equivalent functions with control of error handling:
-     Initialization:      err = glthread_rwlock_init (&name);
-     Taking the lock:     err = glthread_rwlock_rdlock (&name);
-                          err = glthread_rwlock_wrlock (&name);
-     Releasing the lock:  err = glthread_rwlock_unlock (&name);
-     De-initialization:   err = glthread_rwlock_destroy (&name);
-
-   Recursive locks:
-     Type:                gl_recursive_lock_t
-     Declaration:         gl_recursive_lock_define(extern, name)
-     Initializer:         gl_recursive_lock_define_initialized(, name)
-     Initialization:      gl_recursive_lock_init (name);
-     Taking the lock:     gl_recursive_lock_lock (name);
-     Releasing the lock:  gl_recursive_lock_unlock (name);
-     De-initialization:   gl_recursive_lock_destroy (name);
-   Equivalent functions with control of error handling:
-     Initialization:      err = glthread_recursive_lock_init (&name);
-     Taking the lock:     err = glthread_recursive_lock_lock (&name);
-     Releasing the lock:  err = glthread_recursive_lock_unlock (&name);
-     De-initialization:   err = glthread_recursive_lock_destroy (&name);
-
-  Once-only execution:
-     Type:                gl_once_t
-     Initializer:         gl_once_define(extern, name)
-     Execution:           gl_once (name, initfunction);
-   Equivalent functions with control of error handling:
-     Execution:           err = glthread_once (&name, initfunction);
-*/
-
-
-#ifndef _LOCK_H
-#define _LOCK_H
-
-#include <errno.h>
-#include <stdlib.h>
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-/* Use the POSIX threads library.  */
-
-# include <pthread.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if PTHREAD_IN_USE_DETECTION_HARD
-
-/* The pthread_in_use() detection needs to be done at runtime.  */
-#  define pthread_in_use() \
-     glthread_in_use ()
-extern int glthread_in_use (void);
-
-# endif
-
-# if USE_POSIX_THREADS_WEAK
-
-/* Use weak references to the POSIX threads library.  */
-
-/* Weak references avoid dragging in external libraries if the other parts
-   of the program don't use them.  Here we use them, because we don't want
-   every program that uses libintl to depend on libpthread.  This assumes
-   that libpthread would not be loaded after libintl; i.e. if libintl is
-   loaded first, by an executable that does not depend on libpthread, and
-   then a module is dynamically loaded that depends on libpthread, libintl
-   will not be multithread-safe.  */
-
-/* The way to test at runtime whether libpthread is present is to test
-   whether a function pointer's value, such as &pthread_mutex_init, is
-   non-NULL.  However, some versions of GCC have a bug through which, in
-   PIC mode, &foo != NULL always evaluates to true if there is a direct
-   call to foo(...) in the same function.  To avoid this, we test the
-   address of a function in libpthread that we don't use.  */
-
-#  pragma weak pthread_mutex_init
-#  pragma weak pthread_mutex_lock
-#  pragma weak pthread_mutex_unlock
-#  pragma weak pthread_mutex_destroy
-#  pragma weak pthread_rwlock_init
-#  pragma weak pthread_rwlock_rdlock
-#  pragma weak pthread_rwlock_wrlock
-#  pragma weak pthread_rwlock_unlock
-#  pragma weak pthread_rwlock_destroy
-#  pragma weak pthread_once
-#  pragma weak pthread_cond_init
-#  pragma weak pthread_cond_wait
-#  pragma weak pthread_cond_signal
-#  pragma weak pthread_cond_broadcast
-#  pragma weak pthread_cond_destroy
-#  pragma weak pthread_mutexattr_init
-#  pragma weak pthread_mutexattr_settype
-#  pragma weak pthread_mutexattr_destroy
-#  ifndef pthread_self
-#   pragma weak pthread_self
-#  endif
-
-#  if !PTHREAD_IN_USE_DETECTION_HARD
-#   pragma weak pthread_cancel
-#   define pthread_in_use() (pthread_cancel != NULL)
-#  endif
-
-# else
-
-#  if !PTHREAD_IN_USE_DETECTION_HARD
-#   define pthread_in_use() 1
-#  endif
-
-# endif
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-typedef pthread_mutex_t gl_lock_t;
-# define gl_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS pthread_mutex_t NAME;
-# define gl_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer;
-# define gl_lock_initializer \
-    PTHREAD_MUTEX_INITIALIZER
-# define glthread_lock_init(LOCK) \
-    (pthread_in_use () ? pthread_mutex_init (LOCK, NULL) : 0)
-# define glthread_lock_lock(LOCK) \
-    (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
-# define glthread_lock_unlock(LOCK) \
-    (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
-# define glthread_lock_destroy(LOCK) \
-    (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-# if HAVE_PTHREAD_RWLOCK
-
-#  ifdef PTHREAD_RWLOCK_INITIALIZER
-
-typedef pthread_rwlock_t gl_rwlock_t;
-#   define gl_rwlock_define(STORAGECLASS, NAME) \
-      STORAGECLASS pthread_rwlock_t NAME;
-#   define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-      STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer;
-#   define gl_rwlock_initializer \
-      PTHREAD_RWLOCK_INITIALIZER
-#   define glthread_rwlock_init(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0)
-#   define glthread_rwlock_rdlock(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0)
-#   define glthread_rwlock_wrlock(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_wrlock (LOCK) : 0)
-#   define glthread_rwlock_unlock(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_unlock (LOCK) : 0)
-#   define glthread_rwlock_destroy(LOCK) \
-      (pthread_in_use () ? pthread_rwlock_destroy (LOCK) : 0)
-
-#  else
-
-typedef struct
-        {
-          int initialized;
-          pthread_mutex_t guard;   /* protects the initialization */
-          pthread_rwlock_t rwlock; /* read-write lock */
-        }
-        gl_rwlock_t;
-#   define gl_rwlock_define(STORAGECLASS, NAME) \
-      STORAGECLASS gl_rwlock_t NAME;
-#   define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-      STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
-#   define gl_rwlock_initializer \
-      { 0, PTHREAD_MUTEX_INITIALIZER }
-#   define glthread_rwlock_init(LOCK) \
-      (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
-#   define glthread_rwlock_rdlock(LOCK) \
-      (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
-#   define glthread_rwlock_wrlock(LOCK) \
-      (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
-#   define glthread_rwlock_unlock(LOCK) \
-      (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
-#   define glthread_rwlock_destroy(LOCK) \
-      (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
-extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
-
-#  endif
-
-# else
-
-typedef struct
-        {
-          pthread_mutex_t lock; /* protects the remaining fields */
-          pthread_cond_t waiting_readers; /* waiting readers */
-          pthread_cond_t waiting_writers; /* waiting writers */
-          unsigned int waiting_writers_count; /* number of waiting writers */
-          int runcount; /* number of readers running, or -1 when a writer runs */
-        }
-        gl_rwlock_t;
-# define gl_rwlock_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_rwlock_t NAME;
-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
-# define gl_rwlock_initializer \
-    { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 }
-# define glthread_rwlock_init(LOCK) \
-    (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
-# define glthread_rwlock_rdlock(LOCK) \
-    (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
-# define glthread_rwlock_wrlock(LOCK) \
-    (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
-# define glthread_rwlock_unlock(LOCK) \
-    (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
-# define glthread_rwlock_destroy(LOCK) \
-    (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
-extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
-extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
-
-# endif
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-# if HAVE_PTHREAD_MUTEX_RECURSIVE
-
-#  if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-
-typedef pthread_mutex_t gl_recursive_lock_t;
-#   define gl_recursive_lock_define(STORAGECLASS, NAME) \
-      STORAGECLASS pthread_mutex_t NAME;
-#   define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-      STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer;
-#   ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER
-#    define gl_recursive_lock_initializer \
-       PTHREAD_RECURSIVE_MUTEX_INITIALIZER
-#   else
-#    define gl_recursive_lock_initializer \
-       PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-#   endif
-#   define glthread_recursive_lock_init(LOCK) \
-      (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
-#   define glthread_recursive_lock_lock(LOCK) \
-      (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
-#   define glthread_recursive_lock_unlock(LOCK) \
-      (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
-#   define glthread_recursive_lock_destroy(LOCK) \
-      (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
-extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
-
-#  else
-
-typedef struct
-        {
-          pthread_mutex_t recmutex; /* recursive mutex */
-          pthread_mutex_t guard;    /* protects the initialization */
-          int initialized;
-        }
-        gl_recursive_lock_t;
-#   define gl_recursive_lock_define(STORAGECLASS, NAME) \
-      STORAGECLASS gl_recursive_lock_t NAME;
-#   define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-      STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
-#   define gl_recursive_lock_initializer \
-      { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 }
-#   define glthread_recursive_lock_init(LOCK) \
-      (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
-#   define glthread_recursive_lock_lock(LOCK) \
-      (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
-#   define glthread_recursive_lock_unlock(LOCK) \
-      (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
-#   define glthread_recursive_lock_destroy(LOCK) \
-      (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
-extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
-
-#  endif
-
-# else
-
-/* Old versions of POSIX threads on Solaris did not have recursive locks.
-   We have to implement them ourselves.  */
-
-typedef struct
-        {
-          pthread_mutex_t mutex;
-          pthread_t owner;
-          unsigned long depth;
-        }
-        gl_recursive_lock_t;
-#  define gl_recursive_lock_define(STORAGECLASS, NAME) \
-     STORAGECLASS gl_recursive_lock_t NAME;
-#  define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-     STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
-#  define gl_recursive_lock_initializer \
-     { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 }
-#  define glthread_recursive_lock_init(LOCK) \
-     (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
-#  define glthread_recursive_lock_lock(LOCK) \
-     (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
-#  define glthread_recursive_lock_unlock(LOCK) \
-     (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
-#  define glthread_recursive_lock_destroy(LOCK) \
-     (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
-extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
-
-# endif
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-typedef pthread_once_t gl_once_t;
-# define gl_once_define(STORAGECLASS, NAME) \
-    STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT;
-# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
-    (pthread_in_use ()                                                         \
-     ? pthread_once (ONCE_CONTROL, INITFUNCTION)                               \
-     : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
-extern int glthread_once_singlethreaded (pthread_once_t *once_control);
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_PTH_THREADS
-
-/* Use the GNU Pth threads library.  */
-
-# include <pth.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if USE_PTH_THREADS_WEAK
-
-/* Use weak references to the GNU Pth threads library.  */
-
-#  pragma weak pth_mutex_init
-#  pragma weak pth_mutex_acquire
-#  pragma weak pth_mutex_release
-#  pragma weak pth_rwlock_init
-#  pragma weak pth_rwlock_acquire
-#  pragma weak pth_rwlock_release
-#  pragma weak pth_once
-
-#  pragma weak pth_cancel
-#  define pth_in_use() (pth_cancel != NULL)
-
-# else
-
-#  define pth_in_use() 1
-
-# endif
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-typedef pth_mutex_t gl_lock_t;
-# define gl_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS pth_mutex_t NAME;
-# define gl_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS pth_mutex_t NAME = gl_lock_initializer;
-# define gl_lock_initializer \
-    PTH_MUTEX_INIT
-# define glthread_lock_init(LOCK) \
-    (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0)
-# define glthread_lock_lock(LOCK) \
-    (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0)
-# define glthread_lock_unlock(LOCK) \
-    (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0)
-# define glthread_lock_destroy(LOCK) \
-    ((void)(LOCK), 0)
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-typedef pth_rwlock_t gl_rwlock_t;
-#  define gl_rwlock_define(STORAGECLASS, NAME) \
-     STORAGECLASS pth_rwlock_t NAME;
-#  define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-     STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer;
-#  define gl_rwlock_initializer \
-     PTH_RWLOCK_INIT
-#  define glthread_rwlock_init(LOCK) \
-     (pth_in_use () && !pth_rwlock_init (LOCK) ? errno : 0)
-#  define glthread_rwlock_rdlock(LOCK) \
-     (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RD, 0, NULL) ? errno : 0)
-#  define glthread_rwlock_wrlock(LOCK) \
-     (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RW, 0, NULL) ? errno : 0)
-#  define glthread_rwlock_unlock(LOCK) \
-     (pth_in_use () && !pth_rwlock_release (LOCK) ? errno : 0)
-#  define glthread_rwlock_destroy(LOCK) \
-     ((void)(LOCK), 0)
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-/* In Pth, mutexes are recursive by default.  */
-typedef pth_mutex_t gl_recursive_lock_t;
-#  define gl_recursive_lock_define(STORAGECLASS, NAME) \
-     STORAGECLASS pth_mutex_t NAME;
-#  define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-     STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer;
-#  define gl_recursive_lock_initializer \
-     PTH_MUTEX_INIT
-#  define glthread_recursive_lock_init(LOCK) \
-     (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0)
-#  define glthread_recursive_lock_lock(LOCK) \
-     (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0)
-#  define glthread_recursive_lock_unlock(LOCK) \
-     (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0)
-#  define glthread_recursive_lock_destroy(LOCK) \
-     ((void)(LOCK), 0)
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-typedef pth_once_t gl_once_t;
-# define gl_once_define(STORAGECLASS, NAME) \
-    STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT;
-# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
-    (pth_in_use ()                                                             \
-     ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION)                \
-     : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
-extern int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void));
-extern int glthread_once_singlethreaded (pth_once_t *once_control);
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_SOLARIS_THREADS
-
-/* Use the old Solaris threads library.  */
-
-# include <thread.h>
-# include <synch.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if USE_SOLARIS_THREADS_WEAK
-
-/* Use weak references to the old Solaris threads library.  */
-
-#  pragma weak mutex_init
-#  pragma weak mutex_lock
-#  pragma weak mutex_unlock
-#  pragma weak mutex_destroy
-#  pragma weak rwlock_init
-#  pragma weak rw_rdlock
-#  pragma weak rw_wrlock
-#  pragma weak rw_unlock
-#  pragma weak rwlock_destroy
-#  pragma weak thr_self
-
-#  pragma weak thr_suspend
-#  define thread_in_use() (thr_suspend != NULL)
-
-# else
-
-#  define thread_in_use() 1
-
-# endif
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-typedef mutex_t gl_lock_t;
-# define gl_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS mutex_t NAME;
-# define gl_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS mutex_t NAME = gl_lock_initializer;
-# define gl_lock_initializer \
-    DEFAULTMUTEX
-# define glthread_lock_init(LOCK) \
-    (thread_in_use () ? mutex_init (LOCK, USYNC_THREAD, NULL) : 0)
-# define glthread_lock_lock(LOCK) \
-    (thread_in_use () ? mutex_lock (LOCK) : 0)
-# define glthread_lock_unlock(LOCK) \
-    (thread_in_use () ? mutex_unlock (LOCK) : 0)
-# define glthread_lock_destroy(LOCK) \
-    (thread_in_use () ? mutex_destroy (LOCK) : 0)
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-typedef rwlock_t gl_rwlock_t;
-# define gl_rwlock_define(STORAGECLASS, NAME) \
-    STORAGECLASS rwlock_t NAME;
-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS rwlock_t NAME = gl_rwlock_initializer;
-# define gl_rwlock_initializer \
-    DEFAULTRWLOCK
-# define glthread_rwlock_init(LOCK) \
-    (thread_in_use () ? rwlock_init (LOCK, USYNC_THREAD, NULL) : 0)
-# define glthread_rwlock_rdlock(LOCK) \
-    (thread_in_use () ? rw_rdlock (LOCK) : 0)
-# define glthread_rwlock_wrlock(LOCK) \
-    (thread_in_use () ? rw_wrlock (LOCK) : 0)
-# define glthread_rwlock_unlock(LOCK) \
-    (thread_in_use () ? rw_unlock (LOCK) : 0)
-# define glthread_rwlock_destroy(LOCK) \
-    (thread_in_use () ? rwlock_destroy (LOCK) : 0)
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-/* Old Solaris threads did not have recursive locks.
-   We have to implement them ourselves.  */
-
-typedef struct
-        {
-          mutex_t mutex;
-          thread_t owner;
-          unsigned long depth;
-        }
-        gl_recursive_lock_t;
-# define gl_recursive_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_recursive_lock_t NAME;
-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
-# define gl_recursive_lock_initializer \
-    { DEFAULTMUTEX, (thread_t) 0, 0 }
-# define glthread_recursive_lock_init(LOCK) \
-    (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
-# define glthread_recursive_lock_lock(LOCK) \
-    (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
-# define glthread_recursive_lock_unlock(LOCK) \
-    (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
-# define glthread_recursive_lock_destroy(LOCK) \
-    (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
-extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-typedef struct
-        {
-          volatile int inited;
-          mutex_t mutex;
-        }
-        gl_once_t;
-# define gl_once_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX };
-# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
-    (thread_in_use ()                                                          \
-     ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION)                \
-     : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
-extern int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void));
-extern int glthread_once_singlethreaded (gl_once_t *once_control);
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_WINDOWS_THREADS
-
-# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-# include <windows.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-/* We can use CRITICAL_SECTION directly, rather than the native Windows Event,
-   Mutex, Semaphore types, because
-     - we need only to synchronize inside a single process (address space),
-       not inter-process locking,
-     - we don't need to support trylock operations.  (TryEnterCriticalSection
-       does not work on Windows 95/98/ME.  Packages that need trylock usually
-       define their own mutex type.)  */
-
-/* There is no way to statically initialize a CRITICAL_SECTION.  It needs
-   to be done lazily, once only.  For this we need spinlocks.  */
-
-typedef struct { volatile int done; volatile long started; } gl_spinlock_t;
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-typedef struct
-        {
-          gl_spinlock_t guard; /* protects the initialization */
-          CRITICAL_SECTION lock;
-        }
-        gl_lock_t;
-# define gl_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_lock_t NAME;
-# define gl_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS gl_lock_t NAME = gl_lock_initializer;
-# define gl_lock_initializer \
-    { { 0, -1 } }
-# define glthread_lock_init(LOCK) \
-    (glthread_lock_init_func (LOCK), 0)
-# define glthread_lock_lock(LOCK) \
-    glthread_lock_lock_func (LOCK)
-# define glthread_lock_unlock(LOCK) \
-    glthread_lock_unlock_func (LOCK)
-# define glthread_lock_destroy(LOCK) \
-    glthread_lock_destroy_func (LOCK)
-extern void glthread_lock_init_func (gl_lock_t *lock);
-extern int glthread_lock_lock_func (gl_lock_t *lock);
-extern int glthread_lock_unlock_func (gl_lock_t *lock);
-extern int glthread_lock_destroy_func (gl_lock_t *lock);
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-/* It is impossible to implement read-write locks using plain locks, without
-   introducing an extra thread dedicated to managing read-write locks.
-   Therefore here we need to use the low-level Event type.  */
-
-typedef struct
-        {
-          HANDLE *array; /* array of waiting threads, each represented by an event */
-          unsigned int count; /* number of waiting threads */
-          unsigned int alloc; /* length of allocated array */
-          unsigned int offset; /* index of first waiting thread in array */
-        }
-        gl_carray_waitqueue_t;
-typedef struct
-        {
-          gl_spinlock_t guard; /* protects the initialization */
-          CRITICAL_SECTION lock; /* protects the remaining fields */
-          gl_carray_waitqueue_t waiting_readers; /* waiting readers */
-          gl_carray_waitqueue_t waiting_writers; /* waiting writers */
-          int runcount; /* number of readers running, or -1 when a writer runs */
-        }
-        gl_rwlock_t;
-# define gl_rwlock_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_rwlock_t NAME;
-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
-# define gl_rwlock_initializer \
-    { { 0, -1 } }
-# define glthread_rwlock_init(LOCK) \
-    (glthread_rwlock_init_func (LOCK), 0)
-# define glthread_rwlock_rdlock(LOCK) \
-    glthread_rwlock_rdlock_func (LOCK)
-# define glthread_rwlock_wrlock(LOCK) \
-    glthread_rwlock_wrlock_func (LOCK)
-# define glthread_rwlock_unlock(LOCK) \
-    glthread_rwlock_unlock_func (LOCK)
-# define glthread_rwlock_destroy(LOCK) \
-    glthread_rwlock_destroy_func (LOCK)
-extern void glthread_rwlock_init_func (gl_rwlock_t *lock);
-extern int glthread_rwlock_rdlock_func (gl_rwlock_t *lock);
-extern int glthread_rwlock_wrlock_func (gl_rwlock_t *lock);
-extern int glthread_rwlock_unlock_func (gl_rwlock_t *lock);
-extern int glthread_rwlock_destroy_func (gl_rwlock_t *lock);
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-/* The native Windows documentation says that CRITICAL_SECTION already
-   implements a recursive lock.  But we need not rely on it: It's easy to
-   implement a recursive lock without this assumption.  */
-
-typedef struct
-        {
-          gl_spinlock_t guard; /* protects the initialization */
-          DWORD owner;
-          unsigned long depth;
-          CRITICAL_SECTION lock;
-        }
-        gl_recursive_lock_t;
-# define gl_recursive_lock_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_recursive_lock_t NAME;
-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
-    STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
-# define gl_recursive_lock_initializer \
-    { { 0, -1 }, 0, 0 }
-# define glthread_recursive_lock_init(LOCK) \
-    (glthread_recursive_lock_init_func (LOCK), 0)
-# define glthread_recursive_lock_lock(LOCK) \
-    glthread_recursive_lock_lock_func (LOCK)
-# define glthread_recursive_lock_unlock(LOCK) \
-    glthread_recursive_lock_unlock_func (LOCK)
-# define glthread_recursive_lock_destroy(LOCK) \
-    glthread_recursive_lock_destroy_func (LOCK)
-extern void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock);
-extern int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock);
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-typedef struct
-        {
-          volatile int inited;
-          volatile long started;
-          CRITICAL_SECTION lock;
-        }
-        gl_once_t;
-# define gl_once_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_once_t NAME = { -1, -1 };
-# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
-    (glthread_once_func (ONCE_CONTROL, INITFUNCTION), 0)
-extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void));
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS)
-
-/* Provide dummy implementation if threads are not supported.  */
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-typedef int gl_lock_t;
-# define gl_lock_define(STORAGECLASS, NAME)
-# define gl_lock_define_initialized(STORAGECLASS, NAME)
-# define glthread_lock_init(NAME) 0
-# define glthread_lock_lock(NAME) 0
-# define glthread_lock_unlock(NAME) 0
-# define glthread_lock_destroy(NAME) 0
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-typedef int gl_rwlock_t;
-# define gl_rwlock_define(STORAGECLASS, NAME)
-# define gl_rwlock_define_initialized(STORAGECLASS, NAME)
-# define glthread_rwlock_init(NAME) 0
-# define glthread_rwlock_rdlock(NAME) 0
-# define glthread_rwlock_wrlock(NAME) 0
-# define glthread_rwlock_unlock(NAME) 0
-# define glthread_rwlock_destroy(NAME) 0
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-typedef int gl_recursive_lock_t;
-# define gl_recursive_lock_define(STORAGECLASS, NAME)
-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME)
-# define glthread_recursive_lock_init(NAME) 0
-# define glthread_recursive_lock_lock(NAME) 0
-# define glthread_recursive_lock_unlock(NAME) 0
-# define glthread_recursive_lock_destroy(NAME) 0
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-typedef int gl_once_t;
-# define gl_once_define(STORAGECLASS, NAME) \
-    STORAGECLASS gl_once_t NAME = 0;
-# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
-    (*(ONCE_CONTROL) == 0 ? (*(ONCE_CONTROL) = ~ 0, INITFUNCTION (), 0) : 0)
-
-#endif
-
-/* ========================================================================= */
-
-/* Macros with built-in error handling.  */
-
-/* -------------------------- gl_lock_t datatype -------------------------- */
-
-#define gl_lock_init(NAME) \
-   do                                  \
-     {                                 \
-       if (glthread_lock_init (&NAME)) \
-         abort ();                     \
-     }                                 \
-   while (0)
-#define gl_lock_lock(NAME) \
-   do                                  \
-     {                                 \
-       if (glthread_lock_lock (&NAME)) \
-         abort ();                     \
-     }                                 \
-   while (0)
-#define gl_lock_unlock(NAME) \
-   do                                    \
-     {                                   \
-       if (glthread_lock_unlock (&NAME)) \
-         abort ();                       \
-     }                                   \
-   while (0)
-#define gl_lock_destroy(NAME) \
-   do                                     \
-     {                                    \
-       if (glthread_lock_destroy (&NAME)) \
-         abort ();                        \
-     }                                    \
-   while (0)
-
-/* ------------------------- gl_rwlock_t datatype ------------------------- */
-
-#define gl_rwlock_init(NAME) \
-   do                                    \
-     {                                   \
-       if (glthread_rwlock_init (&NAME)) \
-         abort ();                       \
-     }                                   \
-   while (0)
-#define gl_rwlock_rdlock(NAME) \
-   do                                      \
-     {                                     \
-       if (glthread_rwlock_rdlock (&NAME)) \
-         abort ();                         \
-     }                                     \
-   while (0)
-#define gl_rwlock_wrlock(NAME) \
-   do                                      \
-     {                                     \
-       if (glthread_rwlock_wrlock (&NAME)) \
-         abort ();                         \
-     }                                     \
-   while (0)
-#define gl_rwlock_unlock(NAME) \
-   do                                      \
-     {                                     \
-       if (glthread_rwlock_unlock (&NAME)) \
-         abort ();                         \
-     }                                     \
-   while (0)
-#define gl_rwlock_destroy(NAME) \
-   do                                       \
-     {                                      \
-       if (glthread_rwlock_destroy (&NAME)) \
-         abort ();                          \
-     }                                      \
-   while (0)
-
-/* --------------------- gl_recursive_lock_t datatype --------------------- */
-
-#define gl_recursive_lock_init(NAME) \
-   do                                            \
-     {                                           \
-       if (glthread_recursive_lock_init (&NAME)) \
-         abort ();                               \
-     }                                           \
-   while (0)
-#define gl_recursive_lock_lock(NAME) \
-   do                                            \
-     {                                           \
-       if (glthread_recursive_lock_lock (&NAME)) \
-         abort ();                               \
-     }                                           \
-   while (0)
-#define gl_recursive_lock_unlock(NAME) \
-   do                                              \
-     {                                             \
-       if (glthread_recursive_lock_unlock (&NAME)) \
-         abort ();                                 \
-     }                                             \
-   while (0)
-#define gl_recursive_lock_destroy(NAME) \
-   do                                               \
-     {                                              \
-       if (glthread_recursive_lock_destroy (&NAME)) \
-         abort ();                                  \
-     }                                              \
-   while (0)
-
-/* -------------------------- gl_once_t datatype -------------------------- */
-
-#define gl_once(NAME, INITFUNCTION) \
-   do                                           \
-     {                                          \
-       if (glthread_once (&NAME, INITFUNCTION)) \
-         abort ();                              \
-     }                                          \
-   while (0)
-
-/* ========================================================================= */
-
-#endif /* _LOCK_H */
diff --git a/lib/gltests/glthread/thread.c b/lib/gltests/glthread/thread.c
deleted file mode 100644 (file)
index d55b4e2..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-/* Creating and controlling threads.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.
-   Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
-   gthr-win32.h.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "glthread/thread.h"
-
-#include <stdlib.h>
-#include "glthread/lock.h"
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-#include <pthread.h>
-
-#ifdef PTW32_VERSION
-
-const gl_thread_t gl_null_thread /* = { .p = NULL } */;
-
-#endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_WINDOWS_THREADS
-
-#include <process.h>
-
-/* -------------------------- gl_thread_t datatype -------------------------- */
-
-/* The Thread-Local Storage (TLS) key that allows to access each thread's
-   'struct gl_thread_struct *' pointer.  */
-static DWORD self_key = (DWORD)-1;
-
-/* Initializes self_key.  This function must only be called once.  */
-static void
-do_init_self_key (void)
-{
-  self_key = TlsAlloc ();
-  /* If this fails, we're hosed.  */
-  if (self_key == (DWORD)-1)
-    abort ();
-}
-
-/* Initializes self_key.  */
-static void
-init_self_key (void)
-{
-  gl_once_define(static, once)
-  gl_once (once, do_init_self_key);
-}
-
-/* This structure contains information about a thread.
-   It is stored in TLS under key self_key.  */
-struct gl_thread_struct
-{
-  /* Fields for managing the handle.  */
-  HANDLE volatile handle;
-  CRITICAL_SECTION handle_lock;
-  /* Fields for managing the exit value.  */
-  void * volatile result;
-  /* Fields for managing the thread start.  */
-  void * (*func) (void *);
-  void *arg;
-};
-
-/* Return a real HANDLE object for the current thread.  */
-static inline HANDLE
-get_current_thread_handle (void)
-{
-  HANDLE this_handle;
-
-  /* GetCurrentThread() returns a pseudo-handle, i.e. only a symbolic
-     identifier, not a real handle.  */
-  if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (),
-                        GetCurrentProcess (), &this_handle,
-                        0, FALSE, DUPLICATE_SAME_ACCESS))
-    abort ();
-  return this_handle;
-}
-
-gl_thread_t
-gl_thread_self_func (void)
-{
-  gl_thread_t thread;
-
-  if (self_key == (DWORD)-1)
-    init_self_key ();
-  thread = TlsGetValue (self_key);
-  if (thread == NULL)
-    {
-      /* This happens only in threads that have not been created through
-         glthread_create(), such as the main thread.  */
-      for (;;)
-        {
-          thread =
-            (struct gl_thread_struct *)
-            malloc (sizeof (struct gl_thread_struct));
-          if (thread != NULL)
-            break;
-          /* Memory allocation failed.  There is not much we can do.  Have to
-             busy-loop, waiting for the availability of memory.  */
-          Sleep (1);
-        }
-
-      thread->handle = get_current_thread_handle ();
-      InitializeCriticalSection (&thread->handle_lock);
-      thread->result = NULL; /* just to be deterministic */
-      TlsSetValue (self_key, thread);
-    }
-  return thread;
-}
-
-/* The main function of a freshly creating thread.  It's a wrapper around
-   the FUNC and ARG arguments passed to glthread_create_func.  */
-static unsigned int WINAPI
-wrapper_func (void *varg)
-{
-  struct gl_thread_struct *thread = (struct gl_thread_struct *)varg;
-
-  EnterCriticalSection (&thread->handle_lock);
-  /* Create a new handle for the thread only if the parent thread did not yet
-     fill in the handle.  */
-  if (thread->handle == NULL)
-    thread->handle = get_current_thread_handle ();
-  LeaveCriticalSection (&thread->handle_lock);
-
-  if (self_key == (DWORD)-1)
-    init_self_key ();
-  TlsSetValue (self_key, thread);
-
-  /* Run the thread.  Store the exit value if the thread was not terminated
-     otherwise.  */
-  thread->result = thread->func (thread->arg);
-  return 0;
-}
-
-int
-glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg)
-{
-  struct gl_thread_struct *thread =
-    (struct gl_thread_struct *) malloc (sizeof (struct gl_thread_struct));
-  if (thread == NULL)
-    return ENOMEM;
-  thread->handle = NULL;
-  InitializeCriticalSection (&thread->handle_lock);
-  thread->result = NULL; /* just to be deterministic */
-  thread->func = func;
-  thread->arg = arg;
-
-  {
-    unsigned int thread_id;
-    HANDLE thread_handle;
-
-    thread_handle = (HANDLE)
-      _beginthreadex (NULL, 100000, wrapper_func, thread, 0, &thread_id);
-      /* calls CreateThread with the same arguments */
-    if (thread_handle == NULL)
-      {
-        DeleteCriticalSection (&thread->handle_lock);
-        free (thread);
-        return EAGAIN;
-      }
-
-    EnterCriticalSection (&thread->handle_lock);
-    if (thread->handle == NULL)
-      thread->handle = thread_handle;
-    else
-      /* thread->handle was already set by the thread itself.  */
-      CloseHandle (thread_handle);
-    LeaveCriticalSection (&thread->handle_lock);
-
-    *threadp = thread;
-    return 0;
-  }
-}
-
-int
-glthread_join_func (gl_thread_t thread, void **retvalp)
-{
-  if (thread == NULL)
-    return EINVAL;
-
-  if (thread == gl_thread_self ())
-    return EDEADLK;
-
-  if (WaitForSingleObject (thread->handle, INFINITE) == WAIT_FAILED)
-    return EINVAL;
-
-  if (retvalp != NULL)
-    *retvalp = thread->result;
-
-  DeleteCriticalSection (&thread->handle_lock);
-  CloseHandle (thread->handle);
-  free (thread);
-
-  return 0;
-}
-
-int
-gl_thread_exit_func (void *retval)
-{
-  gl_thread_t thread = gl_thread_self ();
-  thread->result = retval;
-  _endthreadex (0); /* calls ExitThread (0) */
-  abort ();
-}
-
-#endif
-
-/* ========================================================================= */
diff --git a/lib/gltests/glthread/thread.h b/lib/gltests/glthread/thread.h
deleted file mode 100644 (file)
index 6653aa2..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-/* Creating and controlling threads.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.
-   Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
-   gthr-win32.h.  */
-
-/* This file contains primitives for creating and controlling threads.
-
-   Thread data type: gl_thread_t.
-
-   Creating a thread:
-       thread = gl_thread_create (func, arg);
-   Or with control of error handling:
-       err = glthread_create (&thread, func, arg);
-       extern int glthread_create (gl_thread_t *result,
-                                   void *(*func) (void *), void *arg);
-
-   Querying and changing the signal mask of a thread (not supported on all
-   platforms):
-       gl_thread_sigmask (how, newmask, oldmask);
-   Or with control of error handling:
-       err = glthread_sigmask (how, newmask, oldmask);
-       extern int glthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask);
-
-   Waiting for termination of another thread:
-       gl_thread_join (thread, &return_value);
-   Or with control of error handling:
-       err = glthread_join (thread, &return_value);
-       extern int glthread_join (gl_thread_t thread, void **return_value_ptr);
-
-   Getting a reference to the current thread:
-       current = gl_thread_self ();
-       extern gl_thread_t gl_thread_self (void);
-
-   Getting a reference to the current thread as a pointer, for debugging:
-       ptr = gl_thread_self_pointer ();
-       extern void * gl_thread_self_pointer (void);
-
-   Terminating the current thread:
-       gl_thread_exit (return_value);
-       extern _Noreturn void gl_thread_exit (void *return_value);
-
-   Requesting custom code to be executed at fork() time(not supported on all
-   platforms):
-       gl_thread_atfork (prepare_func, parent_func, child_func);
-   Or with control of error handling:
-       err = glthread_atfork (prepare_func, parent_func, child_func);
-       extern int glthread_atfork (void (*prepare_func) (void),
-                                   void (*parent_func) (void),
-                                   void (*child_func) (void));
-   Note that even on platforms where this is supported, use of fork() and
-   threads together is problematic, see
-     <http://lists.gnu.org/archive/html/bug-gnulib/2008-08/msg00062.html>
- */
-
-
-#ifndef _GLTHREAD_THREAD_H
-#define _GLTHREAD_THREAD_H
-
-#include <errno.h>
-#include <stdlib.h>
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-/* Use the POSIX threads library.  */
-
-# include <pthread.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if PTHREAD_IN_USE_DETECTION_HARD
-
-/* The pthread_in_use() detection needs to be done at runtime.  */
-#  define pthread_in_use() \
-     glthread_in_use ()
-extern int glthread_in_use (void);
-
-# endif
-
-# if USE_POSIX_THREADS_WEAK
-
-/* Use weak references to the POSIX threads library.  */
-
-/* Weak references avoid dragging in external libraries if the other parts
-   of the program don't use them.  Here we use them, because we don't want
-   every program that uses libintl to depend on libpthread.  This assumes
-   that libpthread would not be loaded after libintl; i.e. if libintl is
-   loaded first, by an executable that does not depend on libpthread, and
-   then a module is dynamically loaded that depends on libpthread, libintl
-   will not be multithread-safe.  */
-
-/* The way to test at runtime whether libpthread is present is to test
-   whether a function pointer's value, such as &pthread_mutex_init, is
-   non-NULL.  However, some versions of GCC have a bug through which, in
-   PIC mode, &foo != NULL always evaluates to true if there is a direct
-   call to foo(...) in the same function.  To avoid this, we test the
-   address of a function in libpthread that we don't use.  */
-
-#  pragma weak pthread_create
-#  pragma weak pthread_sigmask
-#  pragma weak pthread_join
-#  ifndef pthread_self
-#   pragma weak pthread_self
-#  endif
-#  pragma weak pthread_exit
-#  if HAVE_PTHREAD_ATFORK
-#   pragma weak pthread_atfork
-#  endif
-
-#  if !PTHREAD_IN_USE_DETECTION_HARD
-#   pragma weak pthread_cancel
-#   define pthread_in_use() (pthread_cancel != NULL)
-#  endif
-
-# else
-
-#  if !PTHREAD_IN_USE_DETECTION_HARD
-#   define pthread_in_use() 1
-#  endif
-
-# endif
-
-/* -------------------------- gl_thread_t datatype -------------------------- */
-
-/* This choice of gl_thread_t assumes that
-     pthread_equal (a, b)  is equivalent to  ((a) == (b)).
-   This is the case on all platforms in use in 2008.  */
-typedef pthread_t gl_thread_t;
-# define glthread_create(THREADP, FUNC, ARG) \
-    (pthread_in_use () ? pthread_create (THREADP, NULL, FUNC, ARG) : ENOSYS)
-# define glthread_sigmask(HOW, SET, OSET) \
-    (pthread_in_use () ? pthread_sigmask (HOW, SET, OSET) : 0)
-# define glthread_join(THREAD, RETVALP) \
-    (pthread_in_use () ? pthread_join (THREAD, RETVALP) : 0)
-# ifdef PTW32_VERSION
-   /* In pthreads-win32, pthread_t is a struct with a pointer field 'p' and
-      other fields.  */
-#  define gl_thread_self() \
-     (pthread_in_use () ? pthread_self () : gl_null_thread)
-#  define gl_thread_self_pointer() \
-     (pthread_in_use () ? pthread_self ().p : NULL)
-extern const gl_thread_t gl_null_thread;
-# else
-#  define gl_thread_self() \
-     (pthread_in_use () ? pthread_self () : (pthread_t) NULL)
-#  define gl_thread_self_pointer() \
-     (pthread_in_use () ? (void *) pthread_self () : NULL)
-# endif
-# define gl_thread_exit(RETVAL) \
-    (pthread_in_use () ? pthread_exit (RETVAL) : 0)
-
-# if HAVE_PTHREAD_ATFORK
-#  define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) \
-     (pthread_in_use () ? pthread_atfork (PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) : 0)
-# else
-#  define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-# endif
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_PTH_THREADS
-
-/* Use the GNU Pth threads library.  */
-
-# include <pth.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if USE_PTH_THREADS_WEAK
-
-/* Use weak references to the GNU Pth threads library.  */
-
-#  pragma weak pth_spawn
-#  pragma weak pth_sigmask
-#  pragma weak pth_join
-#  pragma weak pth_self
-#  pragma weak pth_exit
-
-#  pragma weak pth_cancel
-#  define pth_in_use() (pth_cancel != NULL)
-
-# else
-
-#  define pth_in_use() 1
-
-# endif
-/* -------------------------- gl_thread_t datatype -------------------------- */
-
-typedef pth_t gl_thread_t;
-# define glthread_create(THREADP, FUNC, ARG) \
-    (pth_in_use () ? ((*(THREADP) = pth_spawn (NULL, FUNC, ARG)) ? 0 : errno) : 0)
-# define glthread_sigmask(HOW, SET, OSET) \
-    (pth_in_use () && !pth_sigmask (HOW, SET, OSET) ? errno : 0)
-# define glthread_join(THREAD, RETVALP) \
-    (pth_in_use () && !pth_join (THREAD, RETVALP) ? errno : 0)
-# define gl_thread_self() \
-    (pth_in_use () ? (void *) pth_self () : NULL)
-# define gl_thread_self_pointer() \
-    gl_thread_self ()
-# define gl_thread_exit(RETVAL) \
-    (pth_in_use () ? pth_exit (RETVAL) : 0)
-# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_SOLARIS_THREADS
-
-/* Use the old Solaris threads library.  */
-
-# include <thread.h>
-# include <synch.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# if USE_SOLARIS_THREADS_WEAK
-
-/* Use weak references to the old Solaris threads library.  */
-
-#  pragma weak thr_create
-#  pragma weak thr_join
-#  pragma weak thr_self
-#  pragma weak thr_exit
-
-#  pragma weak thr_suspend
-#  define thread_in_use() (thr_suspend != NULL)
-
-# else
-
-#  define thread_in_use() 1
-
-# endif
-
-/* -------------------------- gl_thread_t datatype -------------------------- */
-
-typedef thread_t gl_thread_t;
-# define glthread_create(THREADP, FUNC, ARG) \
-    (thread_in_use () ? thr_create (NULL, 0, FUNC, ARG, 0, THREADP) : 0)
-# define glthread_sigmask(HOW, SET, OSET) \
-    (thread_in_use () ? sigprocmask (HOW, SET, OSET) : 0)
-# define glthread_join(THREAD, RETVALP) \
-    (thread_in_use () ? thr_join (THREAD, NULL, RETVALP) : 0)
-# define gl_thread_self() \
-    (thread_in_use () ? (void *) thr_self () : NULL)
-# define gl_thread_self_pointer() \
-    gl_thread_self ()
-# define gl_thread_exit(RETVAL) \
-    (thread_in_use () ? thr_exit (RETVAL) : 0)
-# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_WINDOWS_THREADS
-
-# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-# include <windows.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-/* -------------------------- gl_thread_t datatype -------------------------- */
-
-/* The gl_thread_t is a pointer to a structure in memory.
-   Why not the thread handle?  If it were the thread handle, it would be hard
-   to implement gl_thread_self() (since GetCurrentThread () returns a pseudo-
-   handle, DuplicateHandle (GetCurrentThread ()) returns a handle that must be
-   closed afterwards, and there is no function for quickly retrieving a thread
-   handle from its id).
-   Why not the thread id?  I tried it.  It did not work: Sometimes ids appeared
-   that did not belong to running threads, and glthread_join failed with ESRCH.
- */
-typedef struct gl_thread_struct *gl_thread_t;
-# define glthread_create(THREADP, FUNC, ARG) \
-    glthread_create_func (THREADP, FUNC, ARG)
-# define glthread_sigmask(HOW, SET, OSET) \
-    /* unsupported */ 0
-# define glthread_join(THREAD, RETVALP) \
-    glthread_join_func (THREAD, RETVALP)
-# define gl_thread_self() \
-    gl_thread_self_func ()
-# define gl_thread_self_pointer() \
-    gl_thread_self ()
-# define gl_thread_exit(RETVAL) \
-    gl_thread_exit_func (RETVAL)
-# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-extern int glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg);
-extern int glthread_join_func (gl_thread_t thread, void **retvalp);
-extern gl_thread_t gl_thread_self_func (void);
-extern int gl_thread_exit_func (void *retval);
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS)
-
-/* Provide dummy implementation if threads are not supported.  */
-
-typedef int gl_thread_t;
-# define glthread_create(THREADP, FUNC, ARG) ENOSYS
-# define glthread_sigmask(HOW, SET, OSET) 0
-# define glthread_join(THREAD, RETVALP) 0
-# define gl_thread_self() 0
-# define gl_thread_self_pointer() \
-    ((void *) gl_thread_self ())
-# define gl_thread_exit(RETVAL) 0
-# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-
-#endif
-
-/* ========================================================================= */
-
-/* Macros with built-in error handling.  */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static inline gl_thread_t
-gl_thread_create (void *(*func) (void *arg), void *arg)
-{
-  gl_thread_t thread;
-  int ret;
-
-  ret = glthread_create (&thread, func, arg);
-  if (ret != 0)
-    abort ();
-  return thread;
-}
-#define gl_thread_sigmask(HOW, SET, OSET)     \
-   do                                         \
-     {                                        \
-       if (glthread_sigmask (HOW, SET, OSET)) \
-         abort ();                            \
-     }                                        \
-   while (0)
-#define gl_thread_join(THREAD, RETVAL)     \
-   do                                      \
-     {                                     \
-       if (glthread_join (THREAD, RETVAL)) \
-         abort ();                         \
-     }                                     \
-   while (0)
-#define gl_thread_atfork(PREPARE, PARENT, CHILD)     \
-   do                                                \
-     {                                               \
-       if (glthread_atfork (PREPARE, PARENT, CHILD)) \
-         abort ();                                   \
-     }                                               \
-   while (0)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GLTHREAD_THREAD_H */
diff --git a/lib/gltests/glthread/threadlib.c b/lib/gltests/glthread/threadlib.c
deleted file mode 100644 (file)
index 946268e..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Multithreading primitives.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-/* Use the POSIX threads library.  */
-
-# include <pthread.h>
-# include <stdlib.h>
-
-# if PTHREAD_IN_USE_DETECTION_HARD
-
-/* The function to be executed by a dummy thread.  */
-static void *
-dummy_thread_func (void *arg)
-{
-  return arg;
-}
-
-int
-glthread_in_use (void)
-{
-  static int tested;
-  static int result; /* 1: linked with -lpthread, 0: only with libc */
-
-  if (!tested)
-    {
-      pthread_t thread;
-
-      if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
-        /* Thread creation failed.  */
-        result = 0;
-      else
-        {
-          /* Thread creation works.  */
-          void *retval;
-          if (pthread_join (thread, &retval) != 0)
-            abort ();
-          result = 1;
-        }
-      tested = 1;
-    }
-  return result;
-}
-
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-/* This declaration is solely to ensure that after preprocessing
-   this file is never empty.  */
-typedef int dummy;
diff --git a/lib/gltests/glthread/yield.h b/lib/gltests/glthread/yield.h
deleted file mode 100644 (file)
index 63c45be..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Yielding the processor to other threads and processes.
-   Copyright (C) 2005-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* This file contains a primitive for yielding the processor to other threads.
-     extern void gl_thread_yield (void);
- */
-
-#ifndef _GLTHREAD_YIELD_H
-#define _GLTHREAD_YIELD_H
-
-#include <errno.h>
-
-/* ========================================================================= */
-
-#if USE_POSIX_THREADS
-
-/* Use the POSIX threads library.  */
-
-# include <sched.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# define gl_thread_yield() \
-    sched_yield ()
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_PTH_THREADS
-
-/* Use the GNU Pth threads library.  */
-
-# include <pth.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# define gl_thread_yield() \
-    pth_yield (NULL)
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_SOLARIS_THREADS
-
-/* Use the old Solaris threads library.  */
-
-# include <thread.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# define gl_thread_yield() \
-    thr_yield ()
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if USE_WINDOWS_THREADS
-
-# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-# include <windows.h>
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-# define gl_thread_yield() \
-    Sleep (0)
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-/* ========================================================================= */
-
-#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS)
-
-/* Provide dummy implementation if threads are not supported.  */
-
-# define gl_thread_yield() 0
-
-#endif
-
-/* ========================================================================= */
-
-#endif /* _GLTHREAD_YIELD_H */
diff --git a/lib/gltests/init.sh b/lib/gltests/init.sh
deleted file mode 100644 (file)
index f525a7c..0000000
+++ /dev/null
@@ -1,590 +0,0 @@
-# source this file; set up for tests
-
-# Copyright (C) 2009-2012 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
-# 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/>.
-
-# Using this file in a test
-# =========================
-#
-# The typical skeleton of a test looks like this:
-#
-#   #!/bin/sh
-#   . "${srcdir=.}/init.sh"; path_prepend_ .
-#   Execute some commands.
-#   Note that these commands are executed in a subdirectory, therefore you
-#   need to prepend "../" to relative filenames in the build directory.
-#   Note that the "path_prepend_ ." is useful only if the body of your
-#   test invokes programs residing in the initial directory.
-#   For example, if the programs you want to test are in src/, and this test
-#   script is named tests/test-1, then you would use "path_prepend_ ../src",
-#   or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH"
-#   to all tests via automake's TESTS_ENVIRONMENT.
-#   Set the exit code 0 for success, 77 for skipped, or 1 or other for failure.
-#   Use the skip_ and fail_ functions to print a diagnostic and then exit
-#   with the corresponding exit code.
-#   Exit $?
-
-# Executing a test that uses this file
-# ====================================
-#
-# Running a single test:
-#   $ make check TESTS=test-foo.sh
-#
-# Running a single test, with verbose output:
-#   $ make check TESTS=test-foo.sh VERBOSE=yes
-#
-# Running a single test, with single-stepping:
-#   1. Go into a sub-shell:
-#   $ bash
-#   2. Set relevant environment variables from TESTS_ENVIRONMENT in the
-#      Makefile:
-#   $ export srcdir=../../tests # this is an example
-#   3. Execute the commands from the test, copy&pasting them one by one:
-#   $ . "$srcdir/init.sh"; path_prepend_ .
-#   ...
-#   4. Finally
-#   $ exit
-
-ME_=`expr "./$0" : '.*/\(.*\)$'`
-
-# We use a trap below for cleanup.  This requires us to go through
-# hoops to get the right exit status transported through the handler.
-# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests.
-# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
-# sh inside this function.
-Exit () { set +e; (exit $1); exit $1; }
-
-# Print warnings (e.g., about skipped and failed tests) to this file number.
-# Override by defining to say, 9, in init.cfg, and putting say,
-#   export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2
-# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file.
-# This is useful when using automake's parallel tests mode, to print
-# the reason for skip/failure to console, rather than to the .log files.
-: ${stderr_fileno_=2}
-
-# Note that correct expansion of "$*" depends on IFS starting with ' '.
-# Always write the full diagnostic to stderr.
-# When stderr_fileno_ is not 2, also emit the first line of the
-# diagnostic to that file descriptor.
-warn_ ()
-{
-  # If IFS does not start with ' ', set it and emit the warning in a subshell.
-  case $IFS in
-    ' '*) printf '%s\n' "$*" >&2
-          test $stderr_fileno_ = 2 \
-            || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
-    *) (IFS=' '; warn_ "$@");;
-  esac
-}
-fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
-skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
-fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
-framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
-
-# 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
-  emulate sh
-  NULLCMD=:
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-    *posix*) set -o posix ;;
-  esac
-fi
-
-# We require $(...) support unconditionally.
-# We require a few additional shell features only when $EXEEXT is nonempty,
-# in order to support automatic $EXEEXT emulation:
-# - hyphen-containing alias names
-# - we prefer to use ${var#...} substitution, rather than having
-#   to work around lack of support for that feature.
-# The following code attempts to find a shell with support for these features.
-# If the current shell passes the test, we're done.  Otherwise, test other
-# shells until we find one that passes.  If one is found, re-exec it.
-# If no acceptable shell is found, skip the current test.
-#
-# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that
-# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do.
-#
-# Use "9" to indicate success (rather than 0), in case some shell acts
-# like Solaris 10's /bin/sh but exits successfully instead of with status 2.
-
-# Eval this code in a subshell to determine a shell's suitability.
-# 10 - passes all tests; ok to use
-#  9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
-#  ? - not ok
-gl_shell_test_script_='
-test $(echo y) = y || 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
-fi
-test -z "$EXEEXT" && exit $score_
-shopt -s expand_aliases
-alias a-b="echo zoo"
-v=abx
-     test ${v%x} = ab \
-  && test ${v#a} = bx \
-  && test $(a-b) = zoo \
-  && exit $score_
-'
-
-if test "x$1" = "x--no-reexec"; then
-  shift
-else
-  # Assume a working shell.  Export to subshells (setup_ needs this).
-  gl_set_x_corrupts_stderr_=false
-  export gl_set_x_corrupts_stderr_
-
-  # Record the first marginally acceptable shell.
-  marginal_=
-
-  # Search for a shell that meets our requirements.
-  for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \
-      /bin/sh bash dash zsh pdksh fail
-  do
-    test "$re_shell_" = no_shell && continue
-
-    # If we've made it all the way to the sentinel, "fail" without
-    # finding even a marginal shell, skip this test.
-    if test "$re_shell_" = fail; then
-      test -z "$marginal_" && skip_ failed to find an adequate shell
-      re_shell_=$marginal_
-      break
-    fi
-
-    # When testing the current shell, simply "eval" the test code.
-    # Otherwise, run it via $re_shell_ -c ...
-    if test "$re_shell_" = __current__; then
-      # 'eval'ing this code makes Solaris 10's /bin/sh exit with
-      # $? set to 2.  It does not evaluate any of the code after the
-      # "unexpected" first '('.  Thus, we must run it in a subshell.
-      ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
-    else
-      "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
-    fi
-
-    st_=$?
-
-    # $re_shell_ works just fine.  Use it.
-    if test $st_ = 10; then
-      gl_set_x_corrupts_stderr_=false
-      break
-    fi
-
-    # If this is our first marginally acceptable shell, remember it.
-    if test "$st_:$marginal_" = 9: ; then
-      marginal_="$re_shell_"
-      gl_set_x_corrupts_stderr_=true
-    fi
-  done
-
-  if test "$re_shell_" != __current__; then
-    # Found a usable shell.  Preserve -v and -x.
-    case $- in
-      *v*x* | *x*v*) opts_=-vx ;;
-      *v*) opts_=-v ;;
-      *x*) opts_=-x ;;
-      *) opts_= ;;
-    esac
-    exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
-    echo "$ME_: exec failed" 1>&2
-    exit 127
-  fi
-fi
-
-# If this is bash, turn off all aliases.
-test -n "$BASH_VERSION" && unalias -a
-
-# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
-# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
-# That is part of the shell-selection test above.  Why use aliases rather
-# than functions?  Because support for hyphen-containing aliases is more
-# widespread than that for hyphen-containing function names.
-test -n "$EXEEXT" && shopt -s expand_aliases
-
-# Enable glibc's malloc-perturbing option.
-# This is useful for exposing code that depends on the fact that
-# malloc-related functions often return memory that is mostly zeroed.
-# If you have the time and cycles, use valgrind to do an even better job.
-: ${MALLOC_PERTURB_=87}
-export MALLOC_PERTURB_
-
-# This is a stub function that is run upon trap (upon regular exit and
-# interrupt).  Override it with a per-test function, e.g., to unmount
-# a partition, or to undo any other global state changes.
-cleanup_ () { :; }
-
-# Emit a header similar to that from diff -u;  Print the simulated "diff"
-# command so that the order of arguments is clear.  Don't bother with @@ lines.
-emit_diff_u_header_ ()
-{
-  printf '%s\n' "diff -u $*" \
-    "--- $1    1970-01-01" \
-    "+++ $2    1970-01-01"
-}
-
-# Arrange not to let diff or cmp operate on /dev/null,
-# since on some systems (at least OSF/1 5.1), that doesn't work.
-# When there are not two arguments, or no argument is /dev/null, return 2.
-# When one argument is /dev/null and the other is not empty,
-# cat the nonempty file to stderr and return 1.
-# Otherwise, return 0.
-compare_dev_null_ ()
-{
-  test $# = 2 || return 2
-
-  if test "x$1" = x/dev/null; then
-    test -s "$2" || return 0
-    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
-    return 1
-  fi
-
-  if test "x$2" = x/dev/null; then
-    test -s "$1" || return 0
-    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
-    return 1
-  fi
-
-  return 2
-}
-
-if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
-   && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
-  # diff accepts the -u option and does not (like AIX 7 'diff') produce an
-  # extra space on column 1 of every content line.
-  if test -z "$diff_out_"; then
-    compare_ () { diff -u "$@"; }
-  else
-    compare_ ()
-    {
-      if diff -u "$@" > diff.out; then
-        # No differences were found, but Solaris 'diff' produces output
-        # "No differences encountered". Hide this output.
-        rm -f diff.out
-        true
-      else
-        cat diff.out
-        rm -f diff.out
-        false
-      fi
-    }
-  fi
-elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
-  if test -z "$diff_out_"; then
-    compare_ () { diff -c "$@"; }
-  else
-    compare_ ()
-    {
-      if diff -c "$@" > diff.out; then
-        # No differences were found, but AIX and HP-UX 'diff' produce output
-        # "No differences encountered" or "There are no differences between the
-        # files.". Hide this output.
-        rm -f diff.out
-        true
-      else
-        cat diff.out
-        rm -f diff.out
-        false
-      fi
-    }
-  fi
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare_ () { cmp -s "$@"; }
-else
-  compare_ () { cmp "$@"; }
-fi
-
-# Usage: compare EXPECTED ACTUAL
-#
-# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
-# Otherwise, propagate $? to caller: any diffs have already been printed.
-compare ()
-{
-  # This looks like it can be factored to use a simple "case $?"
-  # after unchecked compare_dev_null_ invocation, but that would
-  # fail in a "set -e" environment.
-  if compare_dev_null_ "$@"; then
-    return 0
-  else
-    case $? in
-      1) return 1;;
-      *) compare_ "$@";;
-    esac
-  fi
-}
-
-# An arbitrary prefix to help distinguish test directories.
-testdir_prefix_ () { printf gt; }
-
-# Run the user-overridable cleanup_ function, remove the temporary
-# directory and exit with the incoming value of $?.
-remove_tmp_ ()
-{
-  __st=$?
-  cleanup_
-  # cd out of the directory we're about to remove
-  cd "$initial_cwd_" || cd / || cd /tmp
-  chmod -R u+rwx "$test_dir_"
-  # If removal fails and exit status was to be 0, then change it to 1.
-  rm -rf "$test_dir_" || { test $__st = 0 && __st=1; }
-  exit $__st
-}
-
-# Given a directory name, DIR, if every entry in it that matches *.exe
-# contains only the specified bytes (see the case stmt below), then print
-# a space-separated list of those names and return 0.  Otherwise, don't
-# print anything and return 1.  Naming constraints apply also to DIR.
-find_exe_basenames_ ()
-{
-  feb_dir_=$1
-  feb_fail_=0
-  feb_result_=
-  feb_sp_=
-  for feb_file_ in $feb_dir_/*.exe; do
-    # If there was no *.exe file, or there existed a file named "*.exe" that
-    # was deleted between the above glob expansion and the existence test
-    # below, just skip it.
-    test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \
-      && continue
-    # Exempt [.exe, since we can't create a function by that name, yet
-    # we can't invoke [ by PATH search anyways due to shell builtins.
-    test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
-    case $feb_file_ in
-      *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
-      *) # Remove leading file name components as well as the .exe suffix.
-         feb_file_=${feb_file_##*/}
-         feb_file_=${feb_file_%.exe}
-         feb_result_="$feb_result_$feb_sp_$feb_file_";;
-    esac
-    feb_sp_=' '
-  done
-  test $feb_fail_ = 0 && printf %s "$feb_result_"
-  return $feb_fail_
-}
-
-# Consider the files in directory, $1.
-# For each file name of the form PROG.exe, create an alias named
-# PROG that simply invokes PROG.exe, then return 0.  If any selected
-# file name or the directory name, $1, contains an unexpected character,
-# define no alias and return 1.
-create_exe_shims_ ()
-{
-  case $EXEEXT in
-    '') return 0 ;;
-    .exe) ;;
-    *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;;
-  esac
-
-  base_names_=`find_exe_basenames_ $1` \
-    || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
-
-  if test -n "$base_names_"; then
-    for base_ in $base_names_; do
-      alias "$base_"="$base_$EXEEXT"
-    done
-  fi
-
-  return 0
-}
-
-# Use this function to prepend to PATH an absolute name for each
-# specified, possibly-$initial_cwd_-relative, directory.
-path_prepend_ ()
-{
-  while test $# != 0; do
-    path_dir_=$1
-    case $path_dir_ in
-      '') fail_ "invalid path dir: '$1'";;
-      /*) abs_path_dir_=$path_dir_;;
-      *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
-           || fail_ "invalid path dir: $path_dir_";;
-    esac
-    case $abs_path_dir_ in
-      *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
-    esac
-    PATH="$abs_path_dir_:$PATH"
-
-    # Create an alias, FOO, for each FOO.exe in this directory.
-    create_exe_shims_ "$abs_path_dir_" \
-      || fail_ "something failed (above): $abs_path_dir_"
-    shift
-  done
-  export PATH
-}
-
-setup_ ()
-{
-  if test "$VERBOSE" = yes; then
-    # Test whether set -x may cause the selected shell to corrupt an
-    # application's stderr.  Many do, including zsh-4.3.10 and the /bin/sh
-    # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5.
-    # If enabling verbose output this way would cause trouble, simply
-    # issue a warning and refrain.
-    if $gl_set_x_corrupts_stderr_; then
-      warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr"
-    else
-      set -x
-    fi
-  fi
-
-  initial_cwd_=$PWD
-  fail=0
-
-  pfx_=`testdir_prefix_`
-  test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
-    || fail_ "failed to create temporary directory in $initial_cwd_"
-  cd "$test_dir_"
-
-  # As autoconf-generated configure scripts do, ensure that IFS
-  # is defined initially, so that saving and restoring $IFS works.
-  gl_init_sh_nl_='
-'
-  IFS=" ""     $gl_init_sh_nl_"
-
-  # This trap statement, along with a trap on 0 below, ensure that the
-  # temporary directory, $test_dir_, is removed upon exit as well as
-  # upon receipt of any of the listed signals.
-  for sig_ in 1 2 3 13 15; do
-    eval "trap 'Exit $(expr $sig_ + 128)' $sig_"
-  done
-}
-
-# Create a temporary directory, much like mktemp -d does.
-# Written by Jim Meyering.
-#
-# Usage: mktempd_ /tmp phoey.XXXXXXXXXX
-#
-# First, try to use the mktemp program.
-# Failing that, we'll roll our own mktemp-like function:
-#  - try to get random bytes from /dev/urandom
-#  - failing that, generate output from a combination of quickly-varying
-#      sources and gzip.  Ignore non-varying gzip header, and extract
-#      "random" bits from there.
-#  - given those bits, map to file-name bytes using tr, and try to create
-#      the desired directory.
-#  - make only $MAX_TRIES_ attempts
-
-# Helper function.  Print $N pseudo-random bytes from a-zA-Z0-9.
-rand_bytes_ ()
-{
-  n_=$1
-
-  # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first?
-  # But if they have openssl, they probably have mktemp, too.
-
-  chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
-  dev_rand_=/dev/urandom
-  if test -r "$dev_rand_"; then
-    # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194.
-    dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \
-      | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
-    return
-  fi
-
-  n_plus_50_=`expr $n_ + 50`
-  cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
-  data_=` (eval "$cmds_") 2>&1 | gzip `
-
-  # Ensure that $data_ has length at least 50+$n_
-  while :; do
-    len_=`echo "$data_"|wc -c`
-    test $n_plus_50_ -le $len_ && break;
-    data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip `
-  done
-
-  echo "$data_" \
-    | dd bs=1 skip=50 count=$n_ 2>/dev/null \
-    | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
-}
-
-mktempd_ ()
-{
-  case $# in
-  2);;
-  *) fail_ "Usage: mktempd_ DIR TEMPLATE";;
-  esac
-
-  destdir_=$1
-  template_=$2
-
-  MAX_TRIES_=4
-
-  # Disallow any trailing slash on specified destdir:
-  # it would subvert the post-mktemp "case"-based destdir test.
-  case $destdir_ in
-  /) ;;
-  */) fail_ "invalid destination dir: remove trailing slash(es)";;
-  esac
-
-  case $template_ in
-  *XXXX) ;;
-  *) fail_ \
-       "invalid template: $template_ (must have a suffix of at least 4 X's)";;
-  esac
-
-  # First, try to use mktemp.
-  d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
-    || fail=1
-
-  # The resulting name must be in the specified directory.
-  case $d in "$destdir_"*);; *) fail=1;; esac
-
-  # It must have created the directory.
-  test -d "$d" || fail=1
-
-  # It must have 0700 permissions.  Handle sticky "S" bits.
-  perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1
-  case $perms in drwx------*) ;; *) fail=1;; esac
-
-  test $fail = 0 && {
-    echo "$d"
-    return
-  }
-
-  # If we reach this point, we'll have to create a directory manually.
-
-  # Get a copy of the template without its suffix of X's.
-  base_template_=`echo "$template_"|sed 's/XX*$//'`
-
-  # Calculate how many X's we've just removed.
-  template_length_=`echo "$template_" | wc -c`
-  nx_=`echo "$base_template_" | wc -c`
-  nx_=`expr $template_length_ - $nx_`
-
-  err_=
-  i_=1
-  while :; do
-    X_=`rand_bytes_ $nx_`
-    candidate_dir_="$destdir_/$base_template_$X_"
-    err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \
-      && { echo "$candidate_dir_"; return; }
-    test $MAX_TRIES_ -le $i_ && break;
-    i_=`expr $i_ + 1`
-  done
-  fail_ "$err_"
-}
-
-# If you want to override the testdir_prefix_ function,
-# or to add more utility functions, use this file.
-test -f "$srcdir/init.cfg" \
-  && . "$srcdir/init.cfg"
-
-setup_ "$@"
-# This trap is here, rather than in the setup_ function, because some
-# shells run the exit trap at shell function exit, rather than script exit.
-trap remove_tmp_ 0
diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
deleted file mode 100644 (file)
index 2485c78..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-/* intprops.h -- properties of integer types
-
-   Copyright (C) 2001-2005, 2009-2012 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
-   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/>.  */
-
-/* Written by Paul Eggert.  */
-
-#ifndef _GL_INTPROPS_H
-#define _GL_INTPROPS_H
-
-#include <limits.h>
-
-/* Return an integer value, converted to the same type as the integer
-   expression E after integer type promotion.  V is the unconverted value.  */
-#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
-
-/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.  */
-#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
-
-/* The extra casts in the following macros work around compiler bugs,
-   e.g., in Cray C 5.0.3.0.  */
-
-/* True if the arithmetic type T is an integer type.  bool counts as
-   an integer.  */
-#define TYPE_IS_INTEGER(t) ((t) 1.5 == 1)
-
-/* True if negative values of the signed integer type T use two's
-   complement, ones' complement, or signed magnitude representation,
-   respectively.  Much GNU code assumes two's complement, but some
-   people like to be portable to all possible C hosts.  */
-#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
-
-/* True if the signed integer expression E uses two's complement.  */
-#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
-
-/* True if the arithmetic type T is signed.  */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
-/* Return 1 if the integer expression E, after integer promotion, has
-   a signed type.  */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
-
-
-/* Minimum and maximum values for integer types and expressions.  These
-   macros have undefined behavior if T is signed and has padding bits.
-   If this is a problem for you, please let us know how to fix it for
-   your host.  */
-
-/* The maximum and minimum values for the integer type T.  */
-#define TYPE_MINIMUM(t)                                                 \
-  ((t) (! TYPE_SIGNED (t)                                               \
-        ? (t) 0                                                         \
-        : TYPE_SIGNED_MAGNITUDE (t)                                     \
-        ? ~ (t) 0                                                       \
-        : ~ TYPE_MAXIMUM (t)))
-#define TYPE_MAXIMUM(t)                                                 \
-  ((t) (! TYPE_SIGNED (t)                                               \
-        ? (t) -1                                                        \
-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-
-/* The maximum and minimum values for the type of the expression E,
-   after integer promotion.  E should not have side effects.  */
-#define _GL_INT_MINIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
-   ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e)         \
-   : _GL_INT_CONVERT (e, 0))
-#define _GL_INT_MAXIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
-   ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
-   : _GL_INT_NEGATE_CONVERT (e, 1))
-#define _GL_SIGNED_INT_MAXIMUM(e)                                       \
-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
-
-
-/* Return 1 if the __typeof__ keyword works.  This could be done by
-   'configure', but for now it's easier to do it by hand.  */
-#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
-# define _GL_HAVE___TYPEOF__ 1
-#else
-# define _GL_HAVE___TYPEOF__ 0
-#endif
-
-/* Return 1 if the integer type or expression T might be signed.  Return 0
-   if it is definitely unsigned.  This macro does not evaluate its argument,
-   and expands to an integer constant expression.  */
-#if _GL_HAVE___TYPEOF__
-# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t))
-#else
-# define _GL_SIGNED_TYPE_OR_EXPR(t) 1
-#endif
-
-/* Bound on length of the string representing an unsigned integer
-   value representable in B bits.  log10 (2.0) < 146/485.  The
-   smallest value of B where this bound is not tight is 2621.  */
-#define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485)
-
-/* Bound on length of the string representing an integer type or expression T.
-   Subtract 1 for the sign bit if T is signed, and then add 1 more for
-   a minus sign if needed.
-
-   Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is
-   signed, this macro may overestimate the true bound by one byte when
-   applied to unsigned types of size 2, 4, 16, ... bytes.  */
-#define INT_STRLEN_BOUND(t)                                     \
-  (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT                 \
-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
-   + _GL_SIGNED_TYPE_OR_EXPR (t))
-
-/* Bound on buffer size needed to represent an integer type or expression T,
-   including the terminating null.  */
-#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
-
-
-/* Range overflow checks.
-
-   The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C
-   operators might not yield numerically correct answers due to
-   arithmetic overflow.  They do not rely on undefined or
-   implementation-defined behavior.  Their implementations are simple
-   and straightforward, but they are a bit harder to use than the
-   INT_<op>_OVERFLOW macros described below.
-
-   Example usage:
-
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_RANGE_OVERFLOW (i, j, LONG_MIN, LONG_MAX))
-       printf ("multiply would overflow");
-     else
-       printf ("product is %ld", i * j);
-
-   Restrictions on *_RANGE_OVERFLOW macros:
-
-   These macros do not check for all possible numerical problems or
-   undefined or unspecified behavior: they do not check for division
-   by zero, for bad shift counts, or for shifting negative numbers.
-
-   These macros may evaluate their arguments zero or multiple times,
-   so the arguments should not have side effects.  The arithmetic
-   arguments (including the MIN and MAX arguments) must be of the same
-   integer type after the usual arithmetic conversions, and the type
-   must have minimum value MIN and maximum MAX.  Unsigned types should
-   use a zero MIN of the proper type.
-
-   These macros are tuned for constant MIN and MAX.  For commutative
-   operations such as A + B, they are also tuned for constant B.  */
-
-/* Return 1 if A + B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  */
-#define INT_ADD_RANGE_OVERFLOW(a, b, min, max)          \
-  ((b) < 0                                              \
-   ? (a) < (min) - (b)                                  \
-   : (max) - (b) < (a))
-
-/* Return 1 if A - B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  */
-#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max)     \
-  ((b) < 0                                              \
-   ? (max) + (b) < (a)                                  \
-   : (a) < (min) + (b))
-
-/* Return 1 if - A would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  */
-#define INT_NEGATE_RANGE_OVERFLOW(a, min, max)          \
-  ((min) < 0                                            \
-   ? (a) < - (max)                                      \
-   : 0 < (a))
-
-/* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  Avoid && and || as they tickle
-   bugs in Sun C 5.11 2010/08/13 and other compilers; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.  */
-#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max)     \
-  ((b) < 0                                              \
-   ? ((a) < 0                                           \
-      ? (a) < (max) / (b)                               \
-      : (b) == -1                                       \
-      ? 0                                               \
-      : (min) / (b) < (a))                              \
-   : (b) == 0                                           \
-   ? 0                                                  \
-   : ((a) < 0                                           \
-      ? (a) < (min) / (b)                               \
-      : (max) / (b) < (a)))
-
-/* Return 1 if A / B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  Do not check for division by zero.  */
-#define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max)       \
-  ((min) < 0 && (b) == -1 && (a) < - (max))
-
-/* Return 1 if A % B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  Do not check for division by zero.
-   Mathematically, % should never overflow, but on x86-like hosts
-   INT_MIN % -1 traps, and the C standard permits this, so treat this
-   as an overflow too.  */
-#define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max)    \
-  INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)
-
-/* Return 1 if A << B would overflow in [MIN,MAX] arithmetic.
-   See above for restrictions.  Here, MIN and MAX are for A only, and B need
-   not be of the same type as the other arguments.  The C standard says that
-   behavior is undefined for shifts unless 0 <= B < wordwidth, and that when
-   A is negative then A << B has undefined behavior and A >> B has
-   implementation-defined behavior, but do not check these other
-   restrictions.  */
-#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max)   \
-  ((a) < 0                                              \
-   ? (a) < (min) >> (b)                                 \
-   : (max) >> (b) < (a))
-
-
-/* The _GL*_OVERFLOW macros have the same restrictions as the
-   *_RANGE_OVERFLOW macros, except that they do not assume that operands
-   (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
-   that the result (e.g., A + B) has that type.  */
-#define _GL_ADD_OVERFLOW(a, b, min, max)                                \
-  ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
-   : (a) < 0 ? (b) <= (a) + (b)                                         \
-   : (b) < 0 ? (a) <= (a) + (b)                                         \
-   : (a) + (b) < (b))
-#define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                           \
-  ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max)             \
-   : (a) < 0 ? 1                                                        \
-   : (b) < 0 ? (a) - (b) <= (a)                                         \
-   : (a) < (b))
-#define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                           \
-  (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a))))       \
-   || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
-#define _GL_DIVIDE_OVERFLOW(a, b, min, max)                             \
-  ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max)  \
-   : (a) < 0 ? (b) <= (a) + (b) - 1                                     \
-   : (b) < 0 && (a) + (b) <= (a))
-#define _GL_REMAINDER_OVERFLOW(a, b, min, max)                          \
-  ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max)  \
-   : (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b)                     \
-   : (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max))
-
-/* Return a nonzero value if A is a mathematical multiple of B, where
-   A is unsigned, B is negative, and MAX is the maximum value of A's
-   type.  A's type must be the same as (A % B)'s type.  Normally (A %
-   -B == 0) suffices, but things get tricky if -B would overflow.  */
-#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max)                            \
-  (((b) < -_GL_SIGNED_INT_MAXIMUM (b)                                   \
-    ? (_GL_SIGNED_INT_MAXIMUM (b) == (max)                              \
-       ? (a)                                                            \
-       : (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1))   \
-    : (a) % - (b))                                                      \
-   == 0)
-
-
-/* Integer overflow checks.
-
-   The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
-   might not yield numerically correct answers due to arithmetic overflow.
-   They work correctly on all known practical hosts, and do not rely
-   on undefined behavior due to signed arithmetic overflow.
-
-   Example usage:
-
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_OVERFLOW (i, j))
-       printf ("multiply would overflow");
-     else
-       printf ("product is %ld", i * j);
-
-   These macros do not check for all possible numerical problems or
-   undefined or unspecified behavior: they do not check for division
-   by zero, for bad shift counts, or for shifting negative numbers.
-
-   These macros may evaluate their arguments zero or multiple times, so the
-   arguments should not have side effects.
-
-   These macros are tuned for their last argument being a constant.
-
-   Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
-   A % B, and A << B would overflow, respectively.  */
-
-#define INT_ADD_OVERFLOW(a, b) \
-  _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
-#define INT_SUBTRACT_OVERFLOW(a, b) \
-  _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
-#define INT_NEGATE_OVERFLOW(a) \
-  INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
-#define INT_MULTIPLY_OVERFLOW(a, b) \
-  _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
-#define INT_DIVIDE_OVERFLOW(a, b) \
-  _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW)
-#define INT_REMAINDER_OVERFLOW(a, b) \
-  _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW)
-#define INT_LEFT_SHIFT_OVERFLOW(a, b) \
-  INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, \
-                                 _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
-
-/* Return 1 if the expression A <op> B would overflow,
-   where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test,
-   assuming MIN and MAX are the minimum and maximum for the result type.
-   Arguments should be free of side effects.  */
-#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)        \
-  op_result_overflow (a, b,                                     \
-                      _GL_INT_MINIMUM (0 * (b) + (a)),          \
-                      _GL_INT_MAXIMUM (0 * (b) + (a)))
-
-#endif /* _GL_INTPROPS_H */
diff --git a/lib/gltests/inttypes.in.h b/lib/gltests/inttypes.in.h
deleted file mode 100644 (file)
index b9da2b5..0000000
+++ /dev/null
@@ -1,1130 +0,0 @@
-/* Copyright (C) 2006-2012 Free Software Foundation, Inc.
-   Written by Paul Eggert, Bruno Haible, Derek Price.
-   This file is part of gnulib.
-
-   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/>.  */
-
-/*
- * ISO C 99 <inttypes.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
- */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* Include the original <inttypes.h> if it exists, and if this file
-   has not been included yet or if this file includes gnulib stdint.h
-   which in turn includes this file.
-   The include_next requires a split double-inclusion guard.  */
-#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-# if @HAVE_INTTYPES_H@
-
-   /* Some pre-C++11 <stdint.h> implementations need this.  */
-#  if defined __cplusplus && ! defined __STDC_FORMAT_MACROS
-#   define __STDC_FORMAT_MACROS 1
-#  endif
-
-#  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
-# endif
-#endif
-
-#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-#define INTTYPES_H
-
-/* Include <stdint.h> or the gnulib replacement.
-   But avoid namespace pollution on glibc systems.  */
-#ifndef __GLIBC__
-# include <stdint.h>
-#endif
-/* Get CHAR_BIT.  */
-#include <limits.h>
-
-#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
-# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-/* 7.8.1 Macros for format specifiers */
-
-#if defined _TNS_R_TARGET
-   /* Tandem NonStop R series and compatible platforms released before
-      July 2005 support %Ld but not %lld.  */
-# define _LONG_LONG_FORMAT_PREFIX "L"
-#else
-# define _LONG_LONG_FORMAT_PREFIX "ll"
-#endif
-
-#if !defined PRId8 || @PRI_MACROS_BROKEN@
-# undef PRId8
-# ifdef INT8_MAX
-#  define PRId8 "d"
-# endif
-#endif
-#if !defined PRIi8 || @PRI_MACROS_BROKEN@
-# undef PRIi8
-# ifdef INT8_MAX
-#  define PRIi8 "i"
-# endif
-#endif
-#if !defined PRIo8 || @PRI_MACROS_BROKEN@
-# undef PRIo8
-# ifdef UINT8_MAX
-#  define PRIo8 "o"
-# endif
-#endif
-#if !defined PRIu8 || @PRI_MACROS_BROKEN@
-# undef PRIu8
-# ifdef UINT8_MAX
-#  define PRIu8 "u"
-# endif
-#endif
-#if !defined PRIx8 || @PRI_MACROS_BROKEN@
-# undef PRIx8
-# ifdef UINT8_MAX
-#  define PRIx8 "x"
-# endif
-#endif
-#if !defined PRIX8 || @PRI_MACROS_BROKEN@
-# undef PRIX8
-# ifdef UINT8_MAX
-#  define PRIX8 "X"
-# endif
-#endif
-#if !defined PRId16 || @PRI_MACROS_BROKEN@
-# undef PRId16
-# ifdef INT16_MAX
-#  define PRId16 "d"
-# endif
-#endif
-#if !defined PRIi16 || @PRI_MACROS_BROKEN@
-# undef PRIi16
-# ifdef INT16_MAX
-#  define PRIi16 "i"
-# endif
-#endif
-#if !defined PRIo16 || @PRI_MACROS_BROKEN@
-# undef PRIo16
-# ifdef UINT16_MAX
-#  define PRIo16 "o"
-# endif
-#endif
-#if !defined PRIu16 || @PRI_MACROS_BROKEN@
-# undef PRIu16
-# ifdef UINT16_MAX
-#  define PRIu16 "u"
-# endif
-#endif
-#if !defined PRIx16 || @PRI_MACROS_BROKEN@
-# undef PRIx16
-# ifdef UINT16_MAX
-#  define PRIx16 "x"
-# endif
-#endif
-#if !defined PRIX16 || @PRI_MACROS_BROKEN@
-# undef PRIX16
-# ifdef UINT16_MAX
-#  define PRIX16 "X"
-# endif
-#endif
-#if !defined PRId32 || @PRI_MACROS_BROKEN@
-# undef PRId32
-# ifdef INT32_MAX
-#  define PRId32 "d"
-# endif
-#endif
-#if !defined PRIi32 || @PRI_MACROS_BROKEN@
-# undef PRIi32
-# ifdef INT32_MAX
-#  define PRIi32 "i"
-# endif
-#endif
-#if !defined PRIo32 || @PRI_MACROS_BROKEN@
-# undef PRIo32
-# ifdef UINT32_MAX
-#  define PRIo32 "o"
-# endif
-#endif
-#if !defined PRIu32 || @PRI_MACROS_BROKEN@
-# undef PRIu32
-# ifdef UINT32_MAX
-#  define PRIu32 "u"
-# endif
-#endif
-#if !defined PRIx32 || @PRI_MACROS_BROKEN@
-# undef PRIx32
-# ifdef UINT32_MAX
-#  define PRIx32 "x"
-# endif
-#endif
-#if !defined PRIX32 || @PRI_MACROS_BROKEN@
-# undef PRIX32
-# ifdef UINT32_MAX
-#  define PRIX32 "X"
-# endif
-#endif
-#ifdef INT64_MAX
-# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
-#  define _PRI64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-#  define _PRI64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined PRId64 || @PRI_MACROS_BROKEN@
-#  undef PRId64
-#  define PRId64 _PRI64_PREFIX "d"
-# endif
-# if !defined PRIi64 || @PRI_MACROS_BROKEN@
-#  undef PRIi64
-#  define PRIi64 _PRI64_PREFIX "i"
-# endif
-#endif
-#ifdef UINT64_MAX
-# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
-#  define _PRIu64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-#  define _PRIu64_PREFIX "I64"
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined PRIo64 || @PRI_MACROS_BROKEN@
-#  undef PRIo64
-#  define PRIo64 _PRIu64_PREFIX "o"
-# endif
-# if !defined PRIu64 || @PRI_MACROS_BROKEN@
-#  undef PRIu64
-#  define PRIu64 _PRIu64_PREFIX "u"
-# endif
-# if !defined PRIx64 || @PRI_MACROS_BROKEN@
-#  undef PRIx64
-#  define PRIx64 _PRIu64_PREFIX "x"
-# endif
-# if !defined PRIX64 || @PRI_MACROS_BROKEN@
-#  undef PRIX64
-#  define PRIX64 _PRIu64_PREFIX "X"
-# endif
-#endif
-
-#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST8
-# define PRIdLEAST8 "d"
-#endif
-#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST8
-# define PRIiLEAST8 "i"
-#endif
-#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST8
-# define PRIoLEAST8 "o"
-#endif
-#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST8
-# define PRIuLEAST8 "u"
-#endif
-#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST8
-# define PRIxLEAST8 "x"
-#endif
-#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST8
-# define PRIXLEAST8 "X"
-#endif
-#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST16
-# define PRIdLEAST16 "d"
-#endif
-#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST16
-# define PRIiLEAST16 "i"
-#endif
-#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST16
-# define PRIoLEAST16 "o"
-#endif
-#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST16
-# define PRIuLEAST16 "u"
-#endif
-#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST16
-# define PRIxLEAST16 "x"
-#endif
-#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST16
-# define PRIXLEAST16 "X"
-#endif
-#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIdLEAST32
-# define PRIdLEAST32 "d"
-#endif
-#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIiLEAST32
-# define PRIiLEAST32 "i"
-#endif
-#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIoLEAST32
-# define PRIoLEAST32 "o"
-#endif
-#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIuLEAST32
-# define PRIuLEAST32 "u"
-#endif
-#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIxLEAST32
-# define PRIxLEAST32 "x"
-#endif
-#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
-# undef PRIXLEAST32
-# define PRIXLEAST32 "X"
-#endif
-#ifdef INT64_MAX
-# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIdLEAST64
-#  define PRIdLEAST64 PRId64
-# endif
-# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIiLEAST64
-#  define PRIiLEAST64 PRIi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIoLEAST64
-#  define PRIoLEAST64 PRIo64
-# endif
-# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIuLEAST64
-#  define PRIuLEAST64 PRIu64
-# endif
-# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIxLEAST64
-#  define PRIxLEAST64 PRIx64
-# endif
-# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIXLEAST64
-#  define PRIXLEAST64 PRIX64
-# endif
-#endif
-
-#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST8
-# if INT_FAST8_MAX > INT32_MAX
-#  define PRIdFAST8 PRId64
-# else
-#  define PRIdFAST8 "d"
-# endif
-#endif
-#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST8
-# if INT_FAST8_MAX > INT32_MAX
-#  define PRIiFAST8 PRIi64
-# else
-#  define PRIiFAST8 "i"
-# endif
-#endif
-#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define PRIoFAST8 PRIo64
-# else
-#  define PRIoFAST8 "o"
-# endif
-#endif
-#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define PRIuFAST8 PRIu64
-# else
-#  define PRIuFAST8 "u"
-# endif
-#endif
-#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define PRIxFAST8 PRIx64
-# else
-#  define PRIxFAST8 "x"
-# endif
-#endif
-#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define PRIXFAST8 PRIX64
-# else
-#  define PRIXFAST8 "X"
-# endif
-#endif
-#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST16
-# if INT_FAST16_MAX > INT32_MAX
-#  define PRIdFAST16 PRId64
-# else
-#  define PRIdFAST16 "d"
-# endif
-#endif
-#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST16
-# if INT_FAST16_MAX > INT32_MAX
-#  define PRIiFAST16 PRIi64
-# else
-#  define PRIiFAST16 "i"
-# endif
-#endif
-#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define PRIoFAST16 PRIo64
-# else
-#  define PRIoFAST16 "o"
-# endif
-#endif
-#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define PRIuFAST16 PRIu64
-# else
-#  define PRIuFAST16 "u"
-# endif
-#endif
-#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define PRIxFAST16 PRIx64
-# else
-#  define PRIxFAST16 "x"
-# endif
-#endif
-#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define PRIXFAST16 PRIX64
-# else
-#  define PRIXFAST16 "X"
-# endif
-#endif
-#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIdFAST32
-# if INT_FAST32_MAX > INT32_MAX
-#  define PRIdFAST32 PRId64
-# else
-#  define PRIdFAST32 "d"
-# endif
-#endif
-#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIiFAST32
-# if INT_FAST32_MAX > INT32_MAX
-#  define PRIiFAST32 PRIi64
-# else
-#  define PRIiFAST32 "i"
-# endif
-#endif
-#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIoFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define PRIoFAST32 PRIo64
-# else
-#  define PRIoFAST32 "o"
-# endif
-#endif
-#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIuFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define PRIuFAST32 PRIu64
-# else
-#  define PRIuFAST32 "u"
-# endif
-#endif
-#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIxFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define PRIxFAST32 PRIx64
-# else
-#  define PRIxFAST32 "x"
-# endif
-#endif
-#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
-# undef PRIXFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define PRIXFAST32 PRIX64
-# else
-#  define PRIXFAST32 "X"
-# endif
-#endif
-#ifdef INT64_MAX
-# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIdFAST64
-#  define PRIdFAST64 PRId64
-# endif
-# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIiFAST64
-#  define PRIiFAST64 PRIi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIoFAST64
-#  define PRIoFAST64 PRIo64
-# endif
-# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIuFAST64
-#  define PRIuFAST64 PRIu64
-# endif
-# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIxFAST64
-#  define PRIxFAST64 PRIx64
-# endif
-# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
-#  undef PRIXFAST64
-#  define PRIXFAST64 PRIX64
-# endif
-#endif
-
-#if !defined PRIdMAX || @PRI_MACROS_BROKEN@
-# undef PRIdMAX
-# if @INT32_MAX_LT_INTMAX_MAX@
-#  define PRIdMAX PRId64
-# else
-#  define PRIdMAX "ld"
-# endif
-#endif
-#if !defined PRIiMAX || @PRI_MACROS_BROKEN@
-# undef PRIiMAX
-# if @INT32_MAX_LT_INTMAX_MAX@
-#  define PRIiMAX PRIi64
-# else
-#  define PRIiMAX "li"
-# endif
-#endif
-#if !defined PRIoMAX || @PRI_MACROS_BROKEN@
-# undef PRIoMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define PRIoMAX PRIo64
-# else
-#  define PRIoMAX "lo"
-# endif
-#endif
-#if !defined PRIuMAX || @PRI_MACROS_BROKEN@
-# undef PRIuMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define PRIuMAX PRIu64
-# else
-#  define PRIuMAX "lu"
-# endif
-#endif
-#if !defined PRIxMAX || @PRI_MACROS_BROKEN@
-# undef PRIxMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define PRIxMAX PRIx64
-# else
-#  define PRIxMAX "lx"
-# endif
-#endif
-#if !defined PRIXMAX || @PRI_MACROS_BROKEN@
-# undef PRIXMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define PRIXMAX PRIX64
-# else
-#  define PRIXMAX "lX"
-# endif
-#endif
-
-#if !defined PRIdPTR || @PRI_MACROS_BROKEN@
-# undef PRIdPTR
-# ifdef INTPTR_MAX
-#  define PRIdPTR @PRIPTR_PREFIX@ "d"
-# endif
-#endif
-#if !defined PRIiPTR || @PRI_MACROS_BROKEN@
-# undef PRIiPTR
-# ifdef INTPTR_MAX
-#  define PRIiPTR @PRIPTR_PREFIX@ "i"
-# endif
-#endif
-#if !defined PRIoPTR || @PRI_MACROS_BROKEN@
-# undef PRIoPTR
-# ifdef UINTPTR_MAX
-#  define PRIoPTR @PRIPTR_PREFIX@ "o"
-# endif
-#endif
-#if !defined PRIuPTR || @PRI_MACROS_BROKEN@
-# undef PRIuPTR
-# ifdef UINTPTR_MAX
-#  define PRIuPTR @PRIPTR_PREFIX@ "u"
-# endif
-#endif
-#if !defined PRIxPTR || @PRI_MACROS_BROKEN@
-# undef PRIxPTR
-# ifdef UINTPTR_MAX
-#  define PRIxPTR @PRIPTR_PREFIX@ "x"
-# endif
-#endif
-#if !defined PRIXPTR || @PRI_MACROS_BROKEN@
-# undef PRIXPTR
-# ifdef UINTPTR_MAX
-#  define PRIXPTR @PRIPTR_PREFIX@ "X"
-# endif
-#endif
-
-#if !defined SCNd8 || @PRI_MACROS_BROKEN@
-# undef SCNd8
-# ifdef INT8_MAX
-#  define SCNd8 "hhd"
-# endif
-#endif
-#if !defined SCNi8 || @PRI_MACROS_BROKEN@
-# undef SCNi8
-# ifdef INT8_MAX
-#  define SCNi8 "hhi"
-# endif
-#endif
-#if !defined SCNo8 || @PRI_MACROS_BROKEN@
-# undef SCNo8
-# ifdef UINT8_MAX
-#  define SCNo8 "hho"
-# endif
-#endif
-#if !defined SCNu8 || @PRI_MACROS_BROKEN@
-# undef SCNu8
-# ifdef UINT8_MAX
-#  define SCNu8 "hhu"
-# endif
-#endif
-#if !defined SCNx8 || @PRI_MACROS_BROKEN@
-# undef SCNx8
-# ifdef UINT8_MAX
-#  define SCNx8 "hhx"
-# endif
-#endif
-#if !defined SCNd16 || @PRI_MACROS_BROKEN@
-# undef SCNd16
-# ifdef INT16_MAX
-#  define SCNd16 "hd"
-# endif
-#endif
-#if !defined SCNi16 || @PRI_MACROS_BROKEN@
-# undef SCNi16
-# ifdef INT16_MAX
-#  define SCNi16 "hi"
-# endif
-#endif
-#if !defined SCNo16 || @PRI_MACROS_BROKEN@
-# undef SCNo16
-# ifdef UINT16_MAX
-#  define SCNo16 "ho"
-# endif
-#endif
-#if !defined SCNu16 || @PRI_MACROS_BROKEN@
-# undef SCNu16
-# ifdef UINT16_MAX
-#  define SCNu16 "hu"
-# endif
-#endif
-#if !defined SCNx16 || @PRI_MACROS_BROKEN@
-# undef SCNx16
-# ifdef UINT16_MAX
-#  define SCNx16 "hx"
-# endif
-#endif
-#if !defined SCNd32 || @PRI_MACROS_BROKEN@
-# undef SCNd32
-# ifdef INT32_MAX
-#  define SCNd32 "d"
-# endif
-#endif
-#if !defined SCNi32 || @PRI_MACROS_BROKEN@
-# undef SCNi32
-# ifdef INT32_MAX
-#  define SCNi32 "i"
-# endif
-#endif
-#if !defined SCNo32 || @PRI_MACROS_BROKEN@
-# undef SCNo32
-# ifdef UINT32_MAX
-#  define SCNo32 "o"
-# endif
-#endif
-#if !defined SCNu32 || @PRI_MACROS_BROKEN@
-# undef SCNu32
-# ifdef UINT32_MAX
-#  define SCNu32 "u"
-# endif
-#endif
-#if !defined SCNx32 || @PRI_MACROS_BROKEN@
-# undef SCNx32
-# ifdef UINT32_MAX
-#  define SCNx32 "x"
-# endif
-#endif
-#ifdef INT64_MAX
-# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
-#  define _SCN64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-#  define _SCN64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined SCNd64 || @PRI_MACROS_BROKEN@
-#  undef SCNd64
-#  define SCNd64 _SCN64_PREFIX "d"
-# endif
-# if !defined SCNi64 || @PRI_MACROS_BROKEN@
-#  undef SCNi64
-#  define SCNi64 _SCN64_PREFIX "i"
-# endif
-#endif
-#ifdef UINT64_MAX
-# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
-#  define _SCNu64_PREFIX "l"
-# elif defined _MSC_VER || defined __MINGW32__
-#  define _SCNu64_PREFIX "I64"
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-# endif
-# if !defined SCNo64 || @PRI_MACROS_BROKEN@
-#  undef SCNo64
-#  define SCNo64 _SCNu64_PREFIX "o"
-# endif
-# if !defined SCNu64 || @PRI_MACROS_BROKEN@
-#  undef SCNu64
-#  define SCNu64 _SCNu64_PREFIX "u"
-# endif
-# if !defined SCNx64 || @PRI_MACROS_BROKEN@
-#  undef SCNx64
-#  define SCNx64 _SCNu64_PREFIX "x"
-# endif
-#endif
-
-#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST8
-# define SCNdLEAST8 "hhd"
-#endif
-#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST8
-# define SCNiLEAST8 "hhi"
-#endif
-#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST8
-# define SCNoLEAST8 "hho"
-#endif
-#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST8
-# define SCNuLEAST8 "hhu"
-#endif
-#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST8
-# define SCNxLEAST8 "hhx"
-#endif
-#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST16
-# define SCNdLEAST16 "hd"
-#endif
-#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST16
-# define SCNiLEAST16 "hi"
-#endif
-#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST16
-# define SCNoLEAST16 "ho"
-#endif
-#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST16
-# define SCNuLEAST16 "hu"
-#endif
-#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST16
-# define SCNxLEAST16 "hx"
-#endif
-#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNdLEAST32
-# define SCNdLEAST32 "d"
-#endif
-#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNiLEAST32
-# define SCNiLEAST32 "i"
-#endif
-#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNoLEAST32
-# define SCNoLEAST32 "o"
-#endif
-#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNuLEAST32
-# define SCNuLEAST32 "u"
-#endif
-#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNxLEAST32
-# define SCNxLEAST32 "x"
-#endif
-#ifdef INT64_MAX
-# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNdLEAST64
-#  define SCNdLEAST64 SCNd64
-# endif
-# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNiLEAST64
-#  define SCNiLEAST64 SCNi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNoLEAST64
-#  define SCNoLEAST64 SCNo64
-# endif
-# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNuLEAST64
-#  define SCNuLEAST64 SCNu64
-# endif
-# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNxLEAST64
-#  define SCNxLEAST64 SCNx64
-# endif
-#endif
-
-#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST8
-# if INT_FAST8_MAX > INT32_MAX
-#  define SCNdFAST8 SCNd64
-# elif INT_FAST8_MAX == 0x7fff
-#  define SCNdFAST8 "hd"
-# elif INT_FAST8_MAX == 0x7f
-#  define SCNdFAST8 "hhd"
-# else
-#  define SCNdFAST8 "d"
-# endif
-#endif
-#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST8
-# if INT_FAST8_MAX > INT32_MAX
-#  define SCNiFAST8 SCNi64
-# elif INT_FAST8_MAX == 0x7fff
-#  define SCNiFAST8 "hi"
-# elif INT_FAST8_MAX == 0x7f
-#  define SCNiFAST8 "hhi"
-# else
-#  define SCNiFAST8 "i"
-# endif
-#endif
-#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define SCNoFAST8 SCNo64
-# elif UINT_FAST8_MAX == 0xffff
-#  define SCNoFAST8 "ho"
-# elif UINT_FAST8_MAX == 0xff
-#  define SCNoFAST8 "hho"
-# else
-#  define SCNoFAST8 "o"
-# endif
-#endif
-#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define SCNuFAST8 SCNu64
-# elif UINT_FAST8_MAX == 0xffff
-#  define SCNuFAST8 "hu"
-# elif UINT_FAST8_MAX == 0xff
-#  define SCNuFAST8 "hhu"
-# else
-#  define SCNuFAST8 "u"
-# endif
-#endif
-#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-#  define SCNxFAST8 SCNx64
-# elif UINT_FAST8_MAX == 0xffff
-#  define SCNxFAST8 "hx"
-# elif UINT_FAST8_MAX == 0xff
-#  define SCNxFAST8 "hhx"
-# else
-#  define SCNxFAST8 "x"
-# endif
-#endif
-#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST16
-# if INT_FAST16_MAX > INT32_MAX
-#  define SCNdFAST16 SCNd64
-# elif INT_FAST16_MAX == 0x7fff
-#  define SCNdFAST16 "hd"
-# else
-#  define SCNdFAST16 "d"
-# endif
-#endif
-#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST16
-# if INT_FAST16_MAX > INT32_MAX
-#  define SCNiFAST16 SCNi64
-# elif INT_FAST16_MAX == 0x7fff
-#  define SCNiFAST16 "hi"
-# else
-#  define SCNiFAST16 "i"
-# endif
-#endif
-#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define SCNoFAST16 SCNo64
-# elif UINT_FAST16_MAX == 0xffff
-#  define SCNoFAST16 "ho"
-# else
-#  define SCNoFAST16 "o"
-# endif
-#endif
-#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define SCNuFAST16 SCNu64
-# elif UINT_FAST16_MAX == 0xffff
-#  define SCNuFAST16 "hu"
-# else
-#  define SCNuFAST16 "u"
-# endif
-#endif
-#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-#  define SCNxFAST16 SCNx64
-# elif UINT_FAST16_MAX == 0xffff
-#  define SCNxFAST16 "hx"
-# else
-#  define SCNxFAST16 "x"
-# endif
-#endif
-#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNdFAST32
-# if INT_FAST32_MAX > INT32_MAX
-#  define SCNdFAST32 SCNd64
-# else
-#  define SCNdFAST32 "d"
-# endif
-#endif
-#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNiFAST32
-# if INT_FAST32_MAX > INT32_MAX
-#  define SCNiFAST32 SCNi64
-# else
-#  define SCNiFAST32 "i"
-# endif
-#endif
-#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNoFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define SCNoFAST32 SCNo64
-# else
-#  define SCNoFAST32 "o"
-# endif
-#endif
-#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNuFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define SCNuFAST32 SCNu64
-# else
-#  define SCNuFAST32 "u"
-# endif
-#endif
-#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNxFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-#  define SCNxFAST32 SCNx64
-# else
-#  define SCNxFAST32 "x"
-# endif
-#endif
-#ifdef INT64_MAX
-# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNdFAST64
-#  define SCNdFAST64 SCNd64
-# endif
-# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNiFAST64
-#  define SCNiFAST64 SCNi64
-# endif
-#endif
-#ifdef UINT64_MAX
-# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNoFAST64
-#  define SCNoFAST64 SCNo64
-# endif
-# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNuFAST64
-#  define SCNuFAST64 SCNu64
-# endif
-# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
-#  undef SCNxFAST64
-#  define SCNxFAST64 SCNx64
-# endif
-#endif
-
-#if !defined SCNdMAX || @PRI_MACROS_BROKEN@
-# undef SCNdMAX
-# if @INT32_MAX_LT_INTMAX_MAX@
-#  define SCNdMAX SCNd64
-# else
-#  define SCNdMAX "ld"
-# endif
-#endif
-#if !defined SCNiMAX || @PRI_MACROS_BROKEN@
-# undef SCNiMAX
-# if @INT32_MAX_LT_INTMAX_MAX@
-#  define SCNiMAX SCNi64
-# else
-#  define SCNiMAX "li"
-# endif
-#endif
-#if !defined SCNoMAX || @PRI_MACROS_BROKEN@
-# undef SCNoMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define SCNoMAX SCNo64
-# else
-#  define SCNoMAX "lo"
-# endif
-#endif
-#if !defined SCNuMAX || @PRI_MACROS_BROKEN@
-# undef SCNuMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define SCNuMAX SCNu64
-# else
-#  define SCNuMAX "lu"
-# endif
-#endif
-#if !defined SCNxMAX || @PRI_MACROS_BROKEN@
-# undef SCNxMAX
-# if @UINT32_MAX_LT_UINTMAX_MAX@
-#  define SCNxMAX SCNx64
-# else
-#  define SCNxMAX "lx"
-# endif
-#endif
-
-#if !defined SCNdPTR || @PRI_MACROS_BROKEN@
-# undef SCNdPTR
-# ifdef INTPTR_MAX
-#  define SCNdPTR @PRIPTR_PREFIX@ "d"
-# endif
-#endif
-#if !defined SCNiPTR || @PRI_MACROS_BROKEN@
-# undef SCNiPTR
-# ifdef INTPTR_MAX
-#  define SCNiPTR @PRIPTR_PREFIX@ "i"
-# endif
-#endif
-#if !defined SCNoPTR || @PRI_MACROS_BROKEN@
-# undef SCNoPTR
-# ifdef UINTPTR_MAX
-#  define SCNoPTR @PRIPTR_PREFIX@ "o"
-# endif
-#endif
-#if !defined SCNuPTR || @PRI_MACROS_BROKEN@
-# undef SCNuPTR
-# ifdef UINTPTR_MAX
-#  define SCNuPTR @PRIPTR_PREFIX@ "u"
-# endif
-#endif
-#if !defined SCNxPTR || @PRI_MACROS_BROKEN@
-# undef SCNxPTR
-# ifdef UINTPTR_MAX
-#  define SCNxPTR @PRIPTR_PREFIX@ "x"
-# endif
-#endif
-
-/* 7.8.2 Functions for greatest-width integer types */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if @GNULIB_IMAXABS@
-# if !@HAVE_DECL_IMAXABS@
-extern intmax_t imaxabs (intmax_t);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef imaxabs
-# if HAVE_RAW_DECL_IMAXABS
-_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
-                 "use gnulib module imaxabs for portability");
-# endif
-#endif
-
-#if @GNULIB_IMAXDIV@
-# if !@HAVE_DECL_IMAXDIV@
-#  if !GNULIB_defined_imaxdiv_t
-typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
-#   define GNULIB_defined_imaxdiv_t 1
-#  endif
-extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef imaxdiv
-# if HAVE_RAW_DECL_IMAXDIV
-_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
-                 "use gnulib module imaxdiv for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOIMAX@
-# if @REPLACE_STRTOIMAX@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef strtoimax
-#   define strtoimax rpl_strtoimax
-#  endif
-_GL_FUNCDECL_RPL (strtoimax, intmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int));
-# else
-#  if !@HAVE_DECL_STRTOIMAX@
-#   undef strtoimax
-_GL_FUNCDECL_SYS (strtoimax, intmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int));
-# endif
-_GL_CXXALIASWARN (strtoimax);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoimax
-# if HAVE_RAW_DECL_STRTOIMAX
-_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
-                 "use gnulib module strtoimax for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOUMAX@
-# if !@HAVE_DECL_STRTOUMAX@
-#  undef strtoumax
-_GL_FUNCDECL_SYS (strtoumax, uintmax_t,
-                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
-_GL_CXXALIASWARN (strtoumax);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoumax
-# if HAVE_RAW_DECL_STRTOUMAX
-_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
-                 "use gnulib module strtoumax for portability");
-# endif
-#endif
-
-/* Don't bother defining or declaring wcstoimax and wcstoumax, since
-   wide-character functions like this are hardly ever useful.  */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */
diff --git a/lib/gltests/locale.in.h b/lib/gltests/locale.in.h
deleted file mode 100644 (file)
index 7747902..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/* A POSIX <locale.h>.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-#ifndef _@GUARD_PREFIX@_LOCALE_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
-
-#ifndef _@GUARD_PREFIX@_LOCALE_H
-#define _@GUARD_PREFIX@_LOCALE_H
-
-/* NetBSD 5.0 mis-defines NULL.  */
-#include <stddef.h>
-
-/* MacOS X 10.5 defines the locale_t type in <xlocale.h>.  */
-#if @HAVE_XLOCALE_H@
-# include <xlocale.h>
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
-   On systems that don't define it, use the same value as GNU libintl.  */
-#if !defined LC_MESSAGES
-# define LC_MESSAGES 1729
-#endif
-
-/* Bionic libc's 'struct lconv' is just a dummy.  */
-#if @REPLACE_STRUCT_LCONV@
-# define lconv rpl_lconv
-struct lconv
-{
-  /* All 'char *' are actually 'const char *'.  */
-
-  /* Members that depend on the LC_NUMERIC category of the locale.  See
-     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
-
-  /* Symbol used as decimal point.  */
-  char *decimal_point;
-  /* Symbol used to separate groups of digits to the left of the decimal
-     point.  */
-  char *thousands_sep;
-  /* Definition of the size of groups of digits to the left of the decimal
-     point.  */
-  char *grouping;
-
-  /* Members that depend on the LC_MONETARY category of the locale.  See
-     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
-
-  /* Symbol used as decimal point.  */
-  char *mon_decimal_point;
-  /* Symbol used to separate groups of digits to the left of the decimal
-     point.  */
-  char *mon_thousands_sep;
-  /* Definition of the size of groups of digits to the left of the decimal
-     point.  */
-  char *mon_grouping;
-  /* Sign used to indicate a value >= 0.  */
-  char *positive_sign;
-  /* Sign used to indicate a value < 0.  */
-  char *negative_sign;
-
-  /* For formatting local currency.  */
-  /* Currency symbol (3 characters) followed by separator (1 character).  */
-  char *currency_symbol;
-  /* Number of digits after the decimal point.  */
-  char frac_digits;
-  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
-     comes after the number.  */
-  char p_cs_precedes;
-  /* For values >= 0: Position of the sign.  */
-  char p_sign_posn;
-  /* For values >= 0: Placement of spaces between currency symbol, sign, and
-     number.  */
-  char p_sep_by_space;
-  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
-     comes after the number.  */
-  char n_cs_precedes;
-  /* For values < 0: Position of the sign.  */
-  char n_sign_posn;
-  /* For values < 0: Placement of spaces between currency symbol, sign, and
-     number.  */
-  char n_sep_by_space;
-
-  /* For formatting international currency.  */
-  /* Currency symbol (3 characters) followed by separator (1 character).  */
-  char *int_curr_symbol;
-  /* Number of digits after the decimal point.  */
-  char int_frac_digits;
-  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
-     comes after the number.  */
-  char int_p_cs_precedes;
-  /* For values >= 0: Position of the sign.  */
-  char int_p_sign_posn;
-  /* For values >= 0: Placement of spaces between currency symbol, sign, and
-     number.  */
-  char int_p_sep_by_space;
-  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
-     comes after the number.  */
-  char int_n_cs_precedes;
-  /* For values < 0: Position of the sign.  */
-  char int_n_sign_posn;
-  /* For values < 0: Placement of spaces between currency symbol, sign, and
-     number.  */
-  char int_n_sep_by_space;
-};
-#endif
-
-#if @GNULIB_LOCALECONV@
-# if @REPLACE_LOCALECONV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef localeconv
-#   define localeconv rpl_localeconv
-#  endif
-_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));
-_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void));
-# else
-_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void));
-# endif
-_GL_CXXALIASWARN (localeconv);
-#elif @REPLACE_STRUCT_LCONV@
-# undef localeconv
-# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
-#elif defined GNULIB_POSIXCHECK
-# undef localeconv
-# if HAVE_RAW_DECL_LOCALECONV
-_GL_WARN_ON_USE (localeconv,
-                 "localeconv returns too few information on some platforms - "
-                 "use gnulib module localeconv for portability");
-# endif
-#endif
-
-#if @GNULIB_SETLOCALE@
-# if @REPLACE_SETLOCALE@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setlocale
-#   define setlocale rpl_setlocale
-#   define GNULIB_defined_setlocale 1
-#  endif
-_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
-_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
-# else
-_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
-# endif
-_GL_CXXALIASWARN (setlocale);
-#elif defined GNULIB_POSIXCHECK
-# undef setlocale
-# if HAVE_RAW_DECL_SETLOCALE
-_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
-                 "use gnulib module setlocale for portability");
-# endif
-#endif
-
-#if @GNULIB_DUPLOCALE@
-# if @REPLACE_DUPLOCALE@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef duplocale
-#   define duplocale rpl_duplocale
-#  endif
-_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
-# else
-#  if @HAVE_DUPLOCALE@
-_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
-#  endif
-# endif
-# if @HAVE_DUPLOCALE@
-_GL_CXXALIASWARN (duplocale);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef duplocale
-# if HAVE_RAW_DECL_DUPLOCALE
-_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
-                 "use gnulib module duplocale for portability");
-# endif
-#endif
-
-#endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* _@GUARD_PREFIX@_LOCALE_H */
diff --git a/lib/gltests/localename.c b/lib/gltests/localename.c
deleted file mode 100644 (file)
index 869dbf2..0000000
+++ /dev/null
@@ -1,2957 +0,0 @@
-/* Determine name of the currently selected locale.
-   Copyright (C) 1995-2012 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
-   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/>.  */
-
-/* Written by Ulrich Drepper <drepper@gnu.org>, 1995.  */
-/* Native Windows code written by Tor Lillqvist <tml@iki.fi>.  */
-/* MacOS X code written by Bruno Haible <bruno@clisp.org>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#ifdef IN_LIBINTL
-# include "gettextP.h"
-#else
-# include "localename.h"
-#endif
-
-#include <limits.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <locale.h>
-#include <string.h>
-
-#if HAVE_USELOCALE
-/* MacOS X 10.5 defines the locale_t type in <xlocale.h>.  */
-# if defined __APPLE__ && defined __MACH__
-#  include <xlocale.h>
-# endif
-# include <langinfo.h>
-# if !defined IN_LIBINTL
-#  include "glthread/lock.h"
-# endif
-#endif
-
-#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
-# include <CoreFoundation/CFString.h>
-# if HAVE_CFLOCALECOPYCURRENT
-#  include <CoreFoundation/CFLocale.h>
-# elif HAVE_CFPREFERENCESCOPYAPPVALUE
-#  include <CoreFoundation/CFPreferences.h>
-# endif
-#endif
-
-#if defined _WIN32 || defined __WIN32__
-# define WINDOWS_NATIVE
-#endif
-
-#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-/* List of language codes, sorted by value:
-   0x01 LANG_ARABIC
-   0x02 LANG_BULGARIAN
-   0x03 LANG_CATALAN
-   0x04 LANG_CHINESE
-   0x05 LANG_CZECH
-   0x06 LANG_DANISH
-   0x07 LANG_GERMAN
-   0x08 LANG_GREEK
-   0x09 LANG_ENGLISH
-   0x0a LANG_SPANISH
-   0x0b LANG_FINNISH
-   0x0c LANG_FRENCH
-   0x0d LANG_HEBREW
-   0x0e LANG_HUNGARIAN
-   0x0f LANG_ICELANDIC
-   0x10 LANG_ITALIAN
-   0x11 LANG_JAPANESE
-   0x12 LANG_KOREAN
-   0x13 LANG_DUTCH
-   0x14 LANG_NORWEGIAN
-   0x15 LANG_POLISH
-   0x16 LANG_PORTUGUESE
-   0x17 LANG_ROMANSH
-   0x18 LANG_ROMANIAN
-   0x19 LANG_RUSSIAN
-   0x1a LANG_CROATIAN == LANG_SERBIAN
-   0x1b LANG_SLOVAK
-   0x1c LANG_ALBANIAN
-   0x1d LANG_SWEDISH
-   0x1e LANG_THAI
-   0x1f LANG_TURKISH
-   0x20 LANG_URDU
-   0x21 LANG_INDONESIAN
-   0x22 LANG_UKRAINIAN
-   0x23 LANG_BELARUSIAN
-   0x24 LANG_SLOVENIAN
-   0x25 LANG_ESTONIAN
-   0x26 LANG_LATVIAN
-   0x27 LANG_LITHUANIAN
-   0x28 LANG_TAJIK
-   0x29 LANG_FARSI
-   0x2a LANG_VIETNAMESE
-   0x2b LANG_ARMENIAN
-   0x2c LANG_AZERI
-   0x2d LANG_BASQUE
-   0x2e LANG_SORBIAN
-   0x2f LANG_MACEDONIAN
-   0x30 LANG_SUTU
-   0x31 LANG_TSONGA
-   0x32 LANG_TSWANA
-   0x33 LANG_VENDA
-   0x34 LANG_XHOSA
-   0x35 LANG_ZULU
-   0x36 LANG_AFRIKAANS
-   0x37 LANG_GEORGIAN
-   0x38 LANG_FAEROESE
-   0x39 LANG_HINDI
-   0x3a LANG_MALTESE
-   0x3b LANG_SAMI
-   0x3c LANG_GAELIC
-   0x3d LANG_YIDDISH
-   0x3e LANG_MALAY
-   0x3f LANG_KAZAK
-   0x40 LANG_KYRGYZ
-   0x41 LANG_SWAHILI
-   0x42 LANG_TURKMEN
-   0x43 LANG_UZBEK
-   0x44 LANG_TATAR
-   0x45 LANG_BENGALI
-   0x46 LANG_PUNJABI
-   0x47 LANG_GUJARATI
-   0x48 LANG_ORIYA
-   0x49 LANG_TAMIL
-   0x4a LANG_TELUGU
-   0x4b LANG_KANNADA
-   0x4c LANG_MALAYALAM
-   0x4d LANG_ASSAMESE
-   0x4e LANG_MARATHI
-   0x4f LANG_SANSKRIT
-   0x50 LANG_MONGOLIAN
-   0x51 LANG_TIBETAN
-   0x52 LANG_WELSH
-   0x53 LANG_CAMBODIAN
-   0x54 LANG_LAO
-   0x55 LANG_BURMESE
-   0x56 LANG_GALICIAN
-   0x57 LANG_KONKANI
-   0x58 LANG_MANIPURI
-   0x59 LANG_SINDHI
-   0x5a LANG_SYRIAC
-   0x5b LANG_SINHALESE
-   0x5c LANG_CHEROKEE
-   0x5d LANG_INUKTITUT
-   0x5e LANG_AMHARIC
-   0x5f LANG_TAMAZIGHT
-   0x60 LANG_KASHMIRI
-   0x61 LANG_NEPALI
-   0x62 LANG_FRISIAN
-   0x63 LANG_PASHTO
-   0x64 LANG_TAGALOG
-   0x65 LANG_DIVEHI
-   0x66 LANG_EDO
-   0x67 LANG_FULFULDE
-   0x68 LANG_HAUSA
-   0x69 LANG_IBIBIO
-   0x6a LANG_YORUBA
-   0x6d LANG_BASHKIR
-   0x6e LANG_LUXEMBOURGISH
-   0x6f LANG_GREENLANDIC
-   0x70 LANG_IGBO
-   0x71 LANG_KANURI
-   0x72 LANG_OROMO
-   0x73 LANG_TIGRINYA
-   0x74 LANG_GUARANI
-   0x75 LANG_HAWAIIAN
-   0x76 LANG_LATIN
-   0x77 LANG_SOMALI
-   0x78 LANG_YI
-   0x79 LANG_PAPIAMENTU
-   0x7a LANG_MAPUDUNGUN
-   0x7c LANG_MOHAWK
-   0x7e LANG_BRETON
-   0x82 LANG_OCCITAN
-   0x83 LANG_CORSICAN
-   0x84 LANG_ALSATIAN
-   0x85 LANG_YAKUT
-   0x86 LANG_KICHE
-   0x87 LANG_KINYARWANDA
-   0x88 LANG_WOLOF
-   0x8c LANG_DARI
-   0x91 LANG_SCOTTISH_GAELIC
-*/
-/* Mingw headers don't have latest language and sublanguage codes.  */
-# ifndef LANG_AFRIKAANS
-# define LANG_AFRIKAANS 0x36
-# endif
-# ifndef LANG_ALBANIAN
-# define LANG_ALBANIAN 0x1c
-# endif
-# ifndef LANG_ALSATIAN
-# define LANG_ALSATIAN 0x84
-# endif
-# ifndef LANG_AMHARIC
-# define LANG_AMHARIC 0x5e
-# endif
-# ifndef LANG_ARABIC
-# define LANG_ARABIC 0x01
-# endif
-# ifndef LANG_ARMENIAN
-# define LANG_ARMENIAN 0x2b
-# endif
-# ifndef LANG_ASSAMESE
-# define LANG_ASSAMESE 0x4d
-# endif
-# ifndef LANG_AZERI
-# define LANG_AZERI 0x2c
-# endif
-# ifndef LANG_BASHKIR
-# define LANG_BASHKIR 0x6d
-# endif
-# ifndef LANG_BASQUE
-# define LANG_BASQUE 0x2d
-# endif
-# ifndef LANG_BELARUSIAN
-# define LANG_BELARUSIAN 0x23
-# endif
-# ifndef LANG_BENGALI
-# define LANG_BENGALI 0x45
-# endif
-# ifndef LANG_BRETON
-# define LANG_BRETON 0x7e
-# endif
-# ifndef LANG_BURMESE
-# define LANG_BURMESE 0x55
-# endif
-# ifndef LANG_CAMBODIAN
-# define LANG_CAMBODIAN 0x53
-# endif
-# ifndef LANG_CATALAN
-# define LANG_CATALAN 0x03
-# endif
-# ifndef LANG_CHEROKEE
-# define LANG_CHEROKEE 0x5c
-# endif
-# ifndef LANG_CORSICAN
-# define LANG_CORSICAN 0x83
-# endif
-# ifndef LANG_DARI
-# define LANG_DARI 0x8c
-# endif
-# ifndef LANG_DIVEHI
-# define LANG_DIVEHI 0x65
-# endif
-# ifndef LANG_EDO
-# define LANG_EDO 0x66
-# endif
-# ifndef LANG_ESTONIAN
-# define LANG_ESTONIAN 0x25
-# endif
-# ifndef LANG_FAEROESE
-# define LANG_FAEROESE 0x38
-# endif
-# ifndef LANG_FARSI
-# define LANG_FARSI 0x29
-# endif
-# ifndef LANG_FRISIAN
-# define LANG_FRISIAN 0x62
-# endif
-# ifndef LANG_FULFULDE
-# define LANG_FULFULDE 0x67
-# endif
-# ifndef LANG_GAELIC
-# define LANG_GAELIC 0x3c
-# endif
-# ifndef LANG_GALICIAN
-# define LANG_GALICIAN 0x56
-# endif
-# ifndef LANG_GEORGIAN
-# define LANG_GEORGIAN 0x37
-# endif
-# ifndef LANG_GREENLANDIC
-# define LANG_GREENLANDIC 0x6f
-# endif
-# ifndef LANG_GUARANI
-# define LANG_GUARANI 0x74
-# endif
-# ifndef LANG_GUJARATI
-# define LANG_GUJARATI 0x47
-# endif
-# ifndef LANG_HAUSA
-# define LANG_HAUSA 0x68
-# endif
-# ifndef LANG_HAWAIIAN
-# define LANG_HAWAIIAN 0x75
-# endif
-# ifndef LANG_HEBREW
-# define LANG_HEBREW 0x0d
-# endif
-# ifndef LANG_HINDI
-# define LANG_HINDI 0x39
-# endif
-# ifndef LANG_IBIBIO
-# define LANG_IBIBIO 0x69
-# endif
-# ifndef LANG_IGBO
-# define LANG_IGBO 0x70
-# endif
-# ifndef LANG_INDONESIAN
-# define LANG_INDONESIAN 0x21
-# endif
-# ifndef LANG_INUKTITUT
-# define LANG_INUKTITUT 0x5d
-# endif
-# ifndef LANG_KANNADA
-# define LANG_KANNADA 0x4b
-# endif
-# ifndef LANG_KANURI
-# define LANG_KANURI 0x71
-# endif
-# ifndef LANG_KASHMIRI
-# define LANG_KASHMIRI 0x60
-# endif
-# ifndef LANG_KAZAK
-# define LANG_KAZAK 0x3f
-# endif
-# ifndef LANG_KICHE
-# define LANG_KICHE 0x86
-# endif
-# ifndef LANG_KINYARWANDA
-# define LANG_KINYARWANDA 0x87
-# endif
-# ifndef LANG_KONKANI
-# define LANG_KONKANI 0x57
-# endif
-# ifndef LANG_KYRGYZ
-# define LANG_KYRGYZ 0x40
-# endif
-# ifndef LANG_LAO
-# define LANG_LAO 0x54
-# endif
-# ifndef LANG_LATIN
-# define LANG_LATIN 0x76
-# endif
-# ifndef LANG_LATVIAN
-# define LANG_LATVIAN 0x26
-# endif
-# ifndef LANG_LITHUANIAN
-# define LANG_LITHUANIAN 0x27
-# endif
-# ifndef LANG_LUXEMBOURGISH
-# define LANG_LUXEMBOURGISH 0x6e
-# endif
-# ifndef LANG_MACEDONIAN
-# define LANG_MACEDONIAN 0x2f
-# endif
-# ifndef LANG_MALAY
-# define LANG_MALAY 0x3e
-# endif
-# ifndef LANG_MALAYALAM
-# define LANG_MALAYALAM 0x4c
-# endif
-# ifndef LANG_MALTESE
-# define LANG_MALTESE 0x3a
-# endif
-# ifndef LANG_MANIPURI
-# define LANG_MANIPURI 0x58
-# endif
-# ifndef LANG_MAORI
-# define LANG_MAORI 0x81
-# endif
-# ifndef LANG_MAPUDUNGUN
-# define LANG_MAPUDUNGUN 0x7a
-# endif
-# ifndef LANG_MARATHI
-# define LANG_MARATHI 0x4e
-# endif
-# ifndef LANG_MOHAWK
-# define LANG_MOHAWK 0x7c
-# endif
-# ifndef LANG_MONGOLIAN
-# define LANG_MONGOLIAN 0x50
-# endif
-# ifndef LANG_NEPALI
-# define LANG_NEPALI 0x61
-# endif
-# ifndef LANG_OCCITAN
-# define LANG_OCCITAN 0x82
-# endif
-# ifndef LANG_ORIYA
-# define LANG_ORIYA 0x48
-# endif
-# ifndef LANG_OROMO
-# define LANG_OROMO 0x72
-# endif
-# ifndef LANG_PAPIAMENTU
-# define LANG_PAPIAMENTU 0x79
-# endif
-# ifndef LANG_PASHTO
-# define LANG_PASHTO 0x63
-# endif
-# ifndef LANG_PUNJABI
-# define LANG_PUNJABI 0x46
-# endif
-# ifndef LANG_QUECHUA
-# define LANG_QUECHUA 0x6b
-# endif
-# ifndef LANG_ROMANSH
-# define LANG_ROMANSH 0x17
-# endif
-# ifndef LANG_SAMI
-# define LANG_SAMI 0x3b
-# endif
-# ifndef LANG_SANSKRIT
-# define LANG_SANSKRIT 0x4f
-# endif
-# ifndef LANG_SCOTTISH_GAELIC
-# define LANG_SCOTTISH_GAELIC 0x91
-# endif
-# ifndef LANG_SERBIAN
-# define LANG_SERBIAN 0x1a
-# endif
-# ifndef LANG_SINDHI
-# define LANG_SINDHI 0x59
-# endif
-# ifndef LANG_SINHALESE
-# define LANG_SINHALESE 0x5b
-# endif
-# ifndef LANG_SLOVAK
-# define LANG_SLOVAK 0x1b
-# endif
-# ifndef LANG_SOMALI
-# define LANG_SOMALI 0x77
-# endif
-# ifndef LANG_SORBIAN
-# define LANG_SORBIAN 0x2e
-# endif
-# ifndef LANG_SOTHO
-# define LANG_SOTHO 0x6c
-# endif
-# ifndef LANG_SUTU
-# define LANG_SUTU 0x30
-# endif
-# ifndef LANG_SWAHILI
-# define LANG_SWAHILI 0x41
-# endif
-# ifndef LANG_SYRIAC
-# define LANG_SYRIAC 0x5a
-# endif
-# ifndef LANG_TAGALOG
-# define LANG_TAGALOG 0x64
-# endif
-# ifndef LANG_TAJIK
-# define LANG_TAJIK 0x28
-# endif
-# ifndef LANG_TAMAZIGHT
-# define LANG_TAMAZIGHT 0x5f
-# endif
-# ifndef LANG_TAMIL
-# define LANG_TAMIL 0x49
-# endif
-# ifndef LANG_TATAR
-# define LANG_TATAR 0x44
-# endif
-# ifndef LANG_TELUGU
-# define LANG_TELUGU 0x4a
-# endif
-# ifndef LANG_THAI
-# define LANG_THAI 0x1e
-# endif
-# ifndef LANG_TIBETAN
-# define LANG_TIBETAN 0x51
-# endif
-# ifndef LANG_TIGRINYA
-# define LANG_TIGRINYA 0x73
-# endif
-# ifndef LANG_TSONGA
-# define LANG_TSONGA 0x31
-# endif
-# ifndef LANG_TSWANA
-# define LANG_TSWANA 0x32
-# endif
-# ifndef LANG_TURKMEN
-# define LANG_TURKMEN 0x42
-# endif
-# ifndef LANG_UIGHUR
-# define LANG_UIGHUR 0x80
-# endif
-# ifndef LANG_UKRAINIAN
-# define LANG_UKRAINIAN 0x22
-# endif
-# ifndef LANG_URDU
-# define LANG_URDU 0x20
-# endif
-# ifndef LANG_UZBEK
-# define LANG_UZBEK 0x43
-# endif
-# ifndef LANG_VENDA
-# define LANG_VENDA 0x33
-# endif
-# ifndef LANG_VIETNAMESE
-# define LANG_VIETNAMESE 0x2a
-# endif
-# ifndef LANG_WELSH
-# define LANG_WELSH 0x52
-# endif
-# ifndef LANG_WOLOF
-# define LANG_WOLOF 0x88
-# endif
-# ifndef LANG_XHOSA
-# define LANG_XHOSA 0x34
-# endif
-# ifndef LANG_YAKUT
-# define LANG_YAKUT 0x85
-# endif
-# ifndef LANG_YI
-# define LANG_YI 0x78
-# endif
-# ifndef LANG_YIDDISH
-# define LANG_YIDDISH 0x3d
-# endif
-# ifndef LANG_YORUBA
-# define LANG_YORUBA 0x6a
-# endif
-# ifndef LANG_ZULU
-# define LANG_ZULU 0x35
-# endif
-# ifndef SUBLANG_AFRIKAANS_SOUTH_AFRICA
-# define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_ALBANIAN_ALBANIA
-# define SUBLANG_ALBANIAN_ALBANIA 0x01
-# endif
-# ifndef SUBLANG_ALSATIAN_FRANCE
-# define SUBLANG_ALSATIAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_AMHARIC_ETHIOPIA
-# define SUBLANG_AMHARIC_ETHIOPIA 0x01
-# endif
-# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
-# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
-# endif
-# ifndef SUBLANG_ARABIC_IRAQ
-# define SUBLANG_ARABIC_IRAQ 0x02
-# endif
-# ifndef SUBLANG_ARABIC_EGYPT
-# define SUBLANG_ARABIC_EGYPT 0x03
-# endif
-# ifndef SUBLANG_ARABIC_LIBYA
-# define SUBLANG_ARABIC_LIBYA 0x04
-# endif
-# ifndef SUBLANG_ARABIC_ALGERIA
-# define SUBLANG_ARABIC_ALGERIA 0x05
-# endif
-# ifndef SUBLANG_ARABIC_MOROCCO
-# define SUBLANG_ARABIC_MOROCCO 0x06
-# endif
-# ifndef SUBLANG_ARABIC_TUNISIA
-# define SUBLANG_ARABIC_TUNISIA 0x07
-# endif
-# ifndef SUBLANG_ARABIC_OMAN
-# define SUBLANG_ARABIC_OMAN 0x08
-# endif
-# ifndef SUBLANG_ARABIC_YEMEN
-# define SUBLANG_ARABIC_YEMEN 0x09
-# endif
-# ifndef SUBLANG_ARABIC_SYRIA
-# define SUBLANG_ARABIC_SYRIA 0x0a
-# endif
-# ifndef SUBLANG_ARABIC_JORDAN
-# define SUBLANG_ARABIC_JORDAN 0x0b
-# endif
-# ifndef SUBLANG_ARABIC_LEBANON
-# define SUBLANG_ARABIC_LEBANON 0x0c
-# endif
-# ifndef SUBLANG_ARABIC_KUWAIT
-# define SUBLANG_ARABIC_KUWAIT 0x0d
-# endif
-# ifndef SUBLANG_ARABIC_UAE
-# define SUBLANG_ARABIC_UAE 0x0e
-# endif
-# ifndef SUBLANG_ARABIC_BAHRAIN
-# define SUBLANG_ARABIC_BAHRAIN 0x0f
-# endif
-# ifndef SUBLANG_ARABIC_QATAR
-# define SUBLANG_ARABIC_QATAR 0x10
-# endif
-# ifndef SUBLANG_ARMENIAN_ARMENIA
-# define SUBLANG_ARMENIAN_ARMENIA 0x01
-# endif
-# ifndef SUBLANG_ASSAMESE_INDIA
-# define SUBLANG_ASSAMESE_INDIA 0x01
-# endif
-# ifndef SUBLANG_AZERI_LATIN
-# define SUBLANG_AZERI_LATIN 0x01
-# endif
-# ifndef SUBLANG_AZERI_CYRILLIC
-# define SUBLANG_AZERI_CYRILLIC 0x02
-# endif
-# ifndef SUBLANG_BASHKIR_RUSSIA
-# define SUBLANG_BASHKIR_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_BASQUE_BASQUE
-# define SUBLANG_BASQUE_BASQUE 0x01
-# endif
-# ifndef SUBLANG_BELARUSIAN_BELARUS
-# define SUBLANG_BELARUSIAN_BELARUS 0x01
-# endif
-# ifndef SUBLANG_BENGALI_INDIA
-# define SUBLANG_BENGALI_INDIA 0x01
-# endif
-# ifndef SUBLANG_BENGALI_BANGLADESH
-# define SUBLANG_BENGALI_BANGLADESH 0x02
-# endif
-# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN
-# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05
-# endif
-# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC
-# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08
-# endif
-# ifndef SUBLANG_BRETON_FRANCE
-# define SUBLANG_BRETON_FRANCE 0x01
-# endif
-# ifndef SUBLANG_BULGARIAN_BULGARIA
-# define SUBLANG_BULGARIAN_BULGARIA 0x01
-# endif
-# ifndef SUBLANG_CAMBODIAN_CAMBODIA
-# define SUBLANG_CAMBODIAN_CAMBODIA 0x01
-# endif
-# ifndef SUBLANG_CATALAN_SPAIN
-# define SUBLANG_CATALAN_SPAIN 0x01
-# endif
-# ifndef SUBLANG_CORSICAN_FRANCE
-# define SUBLANG_CORSICAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_CROATIAN_CROATIA
-# define SUBLANG_CROATIAN_CROATIA 0x01
-# endif
-# ifndef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN
-# define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04
-# endif
-# ifndef SUBLANG_CHINESE_MACAU
-# define SUBLANG_CHINESE_MACAU 0x05
-# endif
-# ifndef SUBLANG_CZECH_CZECH_REPUBLIC
-# define SUBLANG_CZECH_CZECH_REPUBLIC 0x01
-# endif
-# ifndef SUBLANG_DANISH_DENMARK
-# define SUBLANG_DANISH_DENMARK 0x01
-# endif
-# ifndef SUBLANG_DARI_AFGHANISTAN
-# define SUBLANG_DARI_AFGHANISTAN 0x01
-# endif
-# ifndef SUBLANG_DIVEHI_MALDIVES
-# define SUBLANG_DIVEHI_MALDIVES 0x01
-# endif
-# ifndef SUBLANG_DUTCH_SURINAM
-# define SUBLANG_DUTCH_SURINAM 0x03
-# endif
-# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
-# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
-# endif
-# ifndef SUBLANG_ENGLISH_JAMAICA
-# define SUBLANG_ENGLISH_JAMAICA 0x08
-# endif
-# ifndef SUBLANG_ENGLISH_CARIBBEAN
-# define SUBLANG_ENGLISH_CARIBBEAN 0x09
-# endif
-# ifndef SUBLANG_ENGLISH_BELIZE
-# define SUBLANG_ENGLISH_BELIZE 0x0a
-# endif
-# ifndef SUBLANG_ENGLISH_TRINIDAD
-# define SUBLANG_ENGLISH_TRINIDAD 0x0b
-# endif
-# ifndef SUBLANG_ENGLISH_ZIMBABWE
-# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
-# endif
-# ifndef SUBLANG_ENGLISH_PHILIPPINES
-# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
-# endif
-# ifndef SUBLANG_ENGLISH_INDONESIA
-# define SUBLANG_ENGLISH_INDONESIA 0x0e
-# endif
-# ifndef SUBLANG_ENGLISH_HONGKONG
-# define SUBLANG_ENGLISH_HONGKONG 0x0f
-# endif
-# ifndef SUBLANG_ENGLISH_INDIA
-# define SUBLANG_ENGLISH_INDIA 0x10
-# endif
-# ifndef SUBLANG_ENGLISH_MALAYSIA
-# define SUBLANG_ENGLISH_MALAYSIA 0x11
-# endif
-# ifndef SUBLANG_ENGLISH_SINGAPORE
-# define SUBLANG_ENGLISH_SINGAPORE 0x12
-# endif
-# ifndef SUBLANG_ESTONIAN_ESTONIA
-# define SUBLANG_ESTONIAN_ESTONIA 0x01
-# endif
-# ifndef SUBLANG_FAEROESE_FAROE_ISLANDS
-# define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01
-# endif
-# ifndef SUBLANG_FARSI_IRAN
-# define SUBLANG_FARSI_IRAN 0x01
-# endif
-# ifndef SUBLANG_FINNISH_FINLAND
-# define SUBLANG_FINNISH_FINLAND 0x01
-# endif
-# ifndef SUBLANG_FRENCH_LUXEMBOURG
-# define SUBLANG_FRENCH_LUXEMBOURG 0x05
-# endif
-# ifndef SUBLANG_FRENCH_MONACO
-# define SUBLANG_FRENCH_MONACO 0x06
-# endif
-# ifndef SUBLANG_FRENCH_WESTINDIES
-# define SUBLANG_FRENCH_WESTINDIES 0x07
-# endif
-# ifndef SUBLANG_FRENCH_REUNION
-# define SUBLANG_FRENCH_REUNION 0x08
-# endif
-# ifndef SUBLANG_FRENCH_CONGO
-# define SUBLANG_FRENCH_CONGO 0x09
-# endif
-# ifndef SUBLANG_FRENCH_SENEGAL
-# define SUBLANG_FRENCH_SENEGAL 0x0a
-# endif
-# ifndef SUBLANG_FRENCH_CAMEROON
-# define SUBLANG_FRENCH_CAMEROON 0x0b
-# endif
-# ifndef SUBLANG_FRENCH_COTEDIVOIRE
-# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
-# endif
-# ifndef SUBLANG_FRENCH_MALI
-# define SUBLANG_FRENCH_MALI 0x0d
-# endif
-# ifndef SUBLANG_FRENCH_MOROCCO
-# define SUBLANG_FRENCH_MOROCCO 0x0e
-# endif
-# ifndef SUBLANG_FRENCH_HAITI
-# define SUBLANG_FRENCH_HAITI 0x0f
-# endif
-# ifndef SUBLANG_FRISIAN_NETHERLANDS
-# define SUBLANG_FRISIAN_NETHERLANDS 0x01
-# endif
-# ifndef SUBLANG_GALICIAN_SPAIN
-# define SUBLANG_GALICIAN_SPAIN 0x01
-# endif
-# ifndef SUBLANG_GEORGIAN_GEORGIA
-# define SUBLANG_GEORGIAN_GEORGIA 0x01
-# endif
-# ifndef SUBLANG_GERMAN_LUXEMBOURG
-# define SUBLANG_GERMAN_LUXEMBOURG 0x04
-# endif
-# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
-# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
-# endif
-# ifndef SUBLANG_GREEK_GREECE
-# define SUBLANG_GREEK_GREECE 0x01
-# endif
-# ifndef SUBLANG_GREENLANDIC_GREENLAND
-# define SUBLANG_GREENLANDIC_GREENLAND 0x01
-# endif
-# ifndef SUBLANG_GUJARATI_INDIA
-# define SUBLANG_GUJARATI_INDIA 0x01
-# endif
-# ifndef SUBLANG_HAUSA_NIGERIA_LATIN
-# define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
-# endif
-# ifndef SUBLANG_HEBREW_ISRAEL
-# define SUBLANG_HEBREW_ISRAEL 0x01
-# endif
-# ifndef SUBLANG_HINDI_INDIA
-# define SUBLANG_HINDI_INDIA 0x01
-# endif
-# ifndef SUBLANG_HUNGARIAN_HUNGARY
-# define SUBLANG_HUNGARIAN_HUNGARY 0x01
-# endif
-# ifndef SUBLANG_ICELANDIC_ICELAND
-# define SUBLANG_ICELANDIC_ICELAND 0x01
-# endif
-# ifndef SUBLANG_IGBO_NIGERIA
-# define SUBLANG_IGBO_NIGERIA 0x01
-# endif
-# ifndef SUBLANG_INDONESIAN_INDONESIA
-# define SUBLANG_INDONESIAN_INDONESIA 0x01
-# endif
-# ifndef SUBLANG_INUKTITUT_CANADA
-# define SUBLANG_INUKTITUT_CANADA 0x01
-# endif
-# undef SUBLANG_INUKTITUT_CANADA_LATIN
-# define SUBLANG_INUKTITUT_CANADA_LATIN 0x02
-# undef SUBLANG_IRISH_IRELAND
-# define SUBLANG_IRISH_IRELAND 0x02
-# ifndef SUBLANG_JAPANESE_JAPAN
-# define SUBLANG_JAPANESE_JAPAN 0x01
-# endif
-# ifndef SUBLANG_KANNADA_INDIA
-# define SUBLANG_KANNADA_INDIA 0x01
-# endif
-# ifndef SUBLANG_KASHMIRI_INDIA
-# define SUBLANG_KASHMIRI_INDIA 0x02
-# endif
-# ifndef SUBLANG_KAZAK_KAZAKHSTAN
-# define SUBLANG_KAZAK_KAZAKHSTAN 0x01
-# endif
-# ifndef SUBLANG_KICHE_GUATEMALA
-# define SUBLANG_KICHE_GUATEMALA 0x01
-# endif
-# ifndef SUBLANG_KINYARWANDA_RWANDA
-# define SUBLANG_KINYARWANDA_RWANDA 0x01
-# endif
-# ifndef SUBLANG_KONKANI_INDIA
-# define SUBLANG_KONKANI_INDIA 0x01
-# endif
-# ifndef SUBLANG_KYRGYZ_KYRGYZSTAN
-# define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
-# endif
-# ifndef SUBLANG_LAO_LAOS
-# define SUBLANG_LAO_LAOS 0x01
-# endif
-# ifndef SUBLANG_LATVIAN_LATVIA
-# define SUBLANG_LATVIAN_LATVIA 0x01
-# endif
-# ifndef SUBLANG_LITHUANIAN_LITHUANIA
-# define SUBLANG_LITHUANIAN_LITHUANIA 0x01
-# endif
-# undef SUBLANG_LOWER_SORBIAN_GERMANY
-# define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
-# ifndef SUBLANG_LUXEMBOURGISH_LUXEMBOURG
-# define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
-# endif
-# ifndef SUBLANG_MACEDONIAN_MACEDONIA
-# define SUBLANG_MACEDONIAN_MACEDONIA 0x01
-# endif
-# ifndef SUBLANG_MALAY_MALAYSIA
-# define SUBLANG_MALAY_MALAYSIA 0x01
-# endif
-# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
-# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
-# endif
-# ifndef SUBLANG_MALAYALAM_INDIA
-# define SUBLANG_MALAYALAM_INDIA 0x01
-# endif
-# ifndef SUBLANG_MALTESE_MALTA
-# define SUBLANG_MALTESE_MALTA 0x01
-# endif
-# ifndef SUBLANG_MAORI_NEW_ZEALAND
-# define SUBLANG_MAORI_NEW_ZEALAND 0x01
-# endif
-# ifndef SUBLANG_MAPUDUNGUN_CHILE
-# define SUBLANG_MAPUDUNGUN_CHILE 0x01
-# endif
-# ifndef SUBLANG_MARATHI_INDIA
-# define SUBLANG_MARATHI_INDIA 0x01
-# endif
-# ifndef SUBLANG_MOHAWK_CANADA
-# define SUBLANG_MOHAWK_CANADA 0x01
-# endif
-# ifndef SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA
-# define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01
-# endif
-# ifndef SUBLANG_MONGOLIAN_PRC
-# define SUBLANG_MONGOLIAN_PRC 0x02
-# endif
-# ifndef SUBLANG_NEPALI_NEPAL
-# define SUBLANG_NEPALI_NEPAL 0x01
-# endif
-# ifndef SUBLANG_NEPALI_INDIA
-# define SUBLANG_NEPALI_INDIA 0x02
-# endif
-# ifndef SUBLANG_OCCITAN_FRANCE
-# define SUBLANG_OCCITAN_FRANCE 0x01
-# endif
-# ifndef SUBLANG_ORIYA_INDIA
-# define SUBLANG_ORIYA_INDIA 0x01
-# endif
-# ifndef SUBLANG_PASHTO_AFGHANISTAN
-# define SUBLANG_PASHTO_AFGHANISTAN 0x01
-# endif
-# ifndef SUBLANG_POLISH_POLAND
-# define SUBLANG_POLISH_POLAND 0x01
-# endif
-# ifndef SUBLANG_PUNJABI_INDIA
-# define SUBLANG_PUNJABI_INDIA 0x01
-# endif
-# ifndef SUBLANG_PUNJABI_PAKISTAN
-# define SUBLANG_PUNJABI_PAKISTAN 0x02
-# endif
-# ifndef SUBLANG_QUECHUA_BOLIVIA
-# define SUBLANG_QUECHUA_BOLIVIA 0x01
-# endif
-# ifndef SUBLANG_QUECHUA_ECUADOR
-# define SUBLANG_QUECHUA_ECUADOR 0x02
-# endif
-# ifndef SUBLANG_QUECHUA_PERU
-# define SUBLANG_QUECHUA_PERU 0x03
-# endif
-# ifndef SUBLANG_ROMANIAN_ROMANIA
-# define SUBLANG_ROMANIAN_ROMANIA 0x01
-# endif
-# ifndef SUBLANG_ROMANIAN_MOLDOVA
-# define SUBLANG_ROMANIAN_MOLDOVA 0x02
-# endif
-# ifndef SUBLANG_ROMANSH_SWITZERLAND
-# define SUBLANG_ROMANSH_SWITZERLAND 0x01
-# endif
-# ifndef SUBLANG_RUSSIAN_RUSSIA
-# define SUBLANG_RUSSIAN_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_RUSSIAN_MOLDAVIA
-# define SUBLANG_RUSSIAN_MOLDAVIA 0x02
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_NORWAY
-# define SUBLANG_SAMI_NORTHERN_NORWAY 0x01
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_SWEDEN
-# define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02
-# endif
-# ifndef SUBLANG_SAMI_NORTHERN_FINLAND
-# define SUBLANG_SAMI_NORTHERN_FINLAND 0x03
-# endif
-# ifndef SUBLANG_SAMI_LULE_NORWAY
-# define SUBLANG_SAMI_LULE_NORWAY 0x04
-# endif
-# ifndef SUBLANG_SAMI_LULE_SWEDEN
-# define SUBLANG_SAMI_LULE_SWEDEN 0x05
-# endif
-# ifndef SUBLANG_SAMI_SOUTHERN_NORWAY
-# define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06
-# endif
-# ifndef SUBLANG_SAMI_SOUTHERN_SWEDEN
-# define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07
-# endif
-# undef SUBLANG_SAMI_SKOLT_FINLAND
-# define SUBLANG_SAMI_SKOLT_FINLAND 0x08
-# undef SUBLANG_SAMI_INARI_FINLAND
-# define SUBLANG_SAMI_INARI_FINLAND 0x09
-# ifndef SUBLANG_SANSKRIT_INDIA
-# define SUBLANG_SANSKRIT_INDIA 0x01
-# endif
-# ifndef SUBLANG_SERBIAN_LATIN
-# define SUBLANG_SERBIAN_LATIN 0x02
-# endif
-# ifndef SUBLANG_SERBIAN_CYRILLIC
-# define SUBLANG_SERBIAN_CYRILLIC 0x03
-# endif
-# ifndef SUBLANG_SINDHI_INDIA
-# define SUBLANG_SINDHI_INDIA 0x01
-# endif
-# undef SUBLANG_SINDHI_PAKISTAN
-# define SUBLANG_SINDHI_PAKISTAN 0x02
-# ifndef SUBLANG_SINDHI_AFGHANISTAN
-# define SUBLANG_SINDHI_AFGHANISTAN 0x02
-# endif
-# ifndef SUBLANG_SINHALESE_SRI_LANKA
-# define SUBLANG_SINHALESE_SRI_LANKA 0x01
-# endif
-# ifndef SUBLANG_SLOVAK_SLOVAKIA
-# define SUBLANG_SLOVAK_SLOVAKIA 0x01
-# endif
-# ifndef SUBLANG_SLOVENIAN_SLOVENIA
-# define SUBLANG_SLOVENIAN_SLOVENIA 0x01
-# endif
-# ifndef SUBLANG_SOTHO_SOUTH_AFRICA
-# define SUBLANG_SOTHO_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_SPANISH_GUATEMALA
-# define SUBLANG_SPANISH_GUATEMALA 0x04
-# endif
-# ifndef SUBLANG_SPANISH_COSTA_RICA
-# define SUBLANG_SPANISH_COSTA_RICA 0x05
-# endif
-# ifndef SUBLANG_SPANISH_PANAMA
-# define SUBLANG_SPANISH_PANAMA 0x06
-# endif
-# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
-# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
-# endif
-# ifndef SUBLANG_SPANISH_VENEZUELA
-# define SUBLANG_SPANISH_VENEZUELA 0x08
-# endif
-# ifndef SUBLANG_SPANISH_COLOMBIA
-# define SUBLANG_SPANISH_COLOMBIA 0x09
-# endif
-# ifndef SUBLANG_SPANISH_PERU
-# define SUBLANG_SPANISH_PERU 0x0a
-# endif
-# ifndef SUBLANG_SPANISH_ARGENTINA
-# define SUBLANG_SPANISH_ARGENTINA 0x0b
-# endif
-# ifndef SUBLANG_SPANISH_ECUADOR
-# define SUBLANG_SPANISH_ECUADOR 0x0c
-# endif
-# ifndef SUBLANG_SPANISH_CHILE
-# define SUBLANG_SPANISH_CHILE 0x0d
-# endif
-# ifndef SUBLANG_SPANISH_URUGUAY
-# define SUBLANG_SPANISH_URUGUAY 0x0e
-# endif
-# ifndef SUBLANG_SPANISH_PARAGUAY
-# define SUBLANG_SPANISH_PARAGUAY 0x0f
-# endif
-# ifndef SUBLANG_SPANISH_BOLIVIA
-# define SUBLANG_SPANISH_BOLIVIA 0x10
-# endif
-# ifndef SUBLANG_SPANISH_EL_SALVADOR
-# define SUBLANG_SPANISH_EL_SALVADOR 0x11
-# endif
-# ifndef SUBLANG_SPANISH_HONDURAS
-# define SUBLANG_SPANISH_HONDURAS 0x12
-# endif
-# ifndef SUBLANG_SPANISH_NICARAGUA
-# define SUBLANG_SPANISH_NICARAGUA 0x13
-# endif
-# ifndef SUBLANG_SPANISH_PUERTO_RICO
-# define SUBLANG_SPANISH_PUERTO_RICO 0x14
-# endif
-# ifndef SUBLANG_SPANISH_US
-# define SUBLANG_SPANISH_US 0x15
-# endif
-# ifndef SUBLANG_SWAHILI_KENYA
-# define SUBLANG_SWAHILI_KENYA 0x01
-# endif
-# ifndef SUBLANG_SWEDISH_SWEDEN
-# define SUBLANG_SWEDISH_SWEDEN 0x01
-# endif
-# ifndef SUBLANG_SWEDISH_FINLAND
-# define SUBLANG_SWEDISH_FINLAND 0x02
-# endif
-# ifndef SUBLANG_SYRIAC_SYRIA
-# define SUBLANG_SYRIAC_SYRIA 0x01
-# endif
-# ifndef SUBLANG_TAGALOG_PHILIPPINES
-# define SUBLANG_TAGALOG_PHILIPPINES 0x01
-# endif
-# ifndef SUBLANG_TAJIK_TAJIKISTAN
-# define SUBLANG_TAJIK_TAJIKISTAN 0x01
-# endif
-# ifndef SUBLANG_TAMAZIGHT_ARABIC
-# define SUBLANG_TAMAZIGHT_ARABIC 0x01
-# endif
-# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN
-# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
-# endif
-# ifndef SUBLANG_TAMIL_INDIA
-# define SUBLANG_TAMIL_INDIA 0x01
-# endif
-# ifndef SUBLANG_TATAR_RUSSIA
-# define SUBLANG_TATAR_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_TELUGU_INDIA
-# define SUBLANG_TELUGU_INDIA 0x01
-# endif
-# ifndef SUBLANG_THAI_THAILAND
-# define SUBLANG_THAI_THAILAND 0x01
-# endif
-# ifndef SUBLANG_TIBETAN_PRC
-# define SUBLANG_TIBETAN_PRC 0x01
-# endif
-# undef SUBLANG_TIBETAN_BHUTAN
-# define SUBLANG_TIBETAN_BHUTAN 0x02
-# ifndef SUBLANG_TIGRINYA_ETHIOPIA
-# define SUBLANG_TIGRINYA_ETHIOPIA 0x01
-# endif
-# ifndef SUBLANG_TIGRINYA_ERITREA
-# define SUBLANG_TIGRINYA_ERITREA 0x02
-# endif
-# ifndef SUBLANG_TSWANA_SOUTH_AFRICA
-# define SUBLANG_TSWANA_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_TURKISH_TURKEY
-# define SUBLANG_TURKISH_TURKEY 0x01
-# endif
-# ifndef SUBLANG_TURKMEN_TURKMENISTAN
-# define SUBLANG_TURKMEN_TURKMENISTAN 0x01
-# endif
-# ifndef SUBLANG_UIGHUR_PRC
-# define SUBLANG_UIGHUR_PRC 0x01
-# endif
-# ifndef SUBLANG_UKRAINIAN_UKRAINE
-# define SUBLANG_UKRAINIAN_UKRAINE 0x01
-# endif
-# ifndef SUBLANG_UPPER_SORBIAN_GERMANY
-# define SUBLANG_UPPER_SORBIAN_GERMANY 0x01
-# endif
-# ifndef SUBLANG_URDU_PAKISTAN
-# define SUBLANG_URDU_PAKISTAN 0x01
-# endif
-# ifndef SUBLANG_URDU_INDIA
-# define SUBLANG_URDU_INDIA 0x02
-# endif
-# ifndef SUBLANG_UZBEK_LATIN
-# define SUBLANG_UZBEK_LATIN 0x01
-# endif
-# ifndef SUBLANG_UZBEK_CYRILLIC
-# define SUBLANG_UZBEK_CYRILLIC 0x02
-# endif
-# ifndef SUBLANG_VIETNAMESE_VIETNAM
-# define SUBLANG_VIETNAMESE_VIETNAM 0x01
-# endif
-# ifndef SUBLANG_WELSH_UNITED_KINGDOM
-# define SUBLANG_WELSH_UNITED_KINGDOM 0x01
-# endif
-# ifndef SUBLANG_WOLOF_SENEGAL
-# define SUBLANG_WOLOF_SENEGAL 0x01
-# endif
-# ifndef SUBLANG_XHOSA_SOUTH_AFRICA
-# define SUBLANG_XHOSA_SOUTH_AFRICA 0x01
-# endif
-# ifndef SUBLANG_YAKUT_RUSSIA
-# define SUBLANG_YAKUT_RUSSIA 0x01
-# endif
-# ifndef SUBLANG_YI_PRC
-# define SUBLANG_YI_PRC 0x01
-# endif
-# ifndef SUBLANG_YORUBA_NIGERIA
-# define SUBLANG_YORUBA_NIGERIA 0x01
-# endif
-# ifndef SUBLANG_ZULU_SOUTH_AFRICA
-# define SUBLANG_ZULU_SOUTH_AFRICA 0x01
-# endif
-/* GetLocaleInfoA operations.  */
-# ifndef LOCALE_SNAME
-# define LOCALE_SNAME 0x5c
-# endif
-#endif
-
-
-#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
-/* MacOS X 10.2 or newer */
-
-/* Canonicalize a MacOS X locale name to a Unix locale name.
-   NAME is a sufficiently large buffer.
-   On input, it contains the MacOS X locale name.
-   On output, it contains the Unix locale name.  */
-# if !defined IN_LIBINTL
-static
-# endif
-void
-gl_locale_name_canonicalize (char *name)
-{
-  /* This conversion is based on a posting by
-     Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
-     http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
-
-  /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
-     ISO 3166) names.  Prior to MacOS X 10.3, there is no API for doing this.
-     Therefore we do it ourselves, using a table based on the results of the
-     MacOS X 10.3.8 function
-     CFLocaleCreateCanonicalLocaleIdentifierFromString().  */
-  typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
-          legacy_entry;
-  static const legacy_entry legacy_table[] = {
-    { "Afrikaans",             "af" },
-    { "Albanian",              "sq" },
-    { "Amharic",               "am" },
-    { "Arabic",                "ar" },
-    { "Armenian",              "hy" },
-    { "Assamese",              "as" },
-    { "Aymara",                "ay" },
-    { "Azerbaijani",           "az" },
-    { "Basque",                "eu" },
-    { "Belarusian",            "be" },
-    { "Belorussian",           "be" },
-    { "Bengali",               "bn" },
-    { "Brazilian Portugese",   "pt_BR" },
-    { "Brazilian Portuguese",  "pt_BR" },
-    { "Breton",                "br" },
-    { "Bulgarian",             "bg" },
-    { "Burmese",               "my" },
-    { "Byelorussian",          "be" },
-    { "Catalan",               "ca" },
-    { "Chewa",                 "ny" },
-    { "Chichewa",              "ny" },
-    { "Chinese",               "zh" },
-    { "Chinese, Simplified",   "zh_CN" },
-    { "Chinese, Traditional",  "zh_TW" },
-    { "Chinese, Tradtional",   "zh_TW" },
-    { "Croatian",              "hr" },
-    { "Czech",                 "cs" },
-    { "Danish",                "da" },
-    { "Dutch",                 "nl" },
-    { "Dzongkha",              "dz" },
-    { "English",               "en" },
-    { "Esperanto",             "eo" },
-    { "Estonian",              "et" },
-    { "Faroese",               "fo" },
-    { "Farsi",                 "fa" },
-    { "Finnish",               "fi" },
-    { "Flemish",               "nl_BE" },
-    { "French",                "fr" },
-    { "Galician",              "gl" },
-    { "Gallegan",              "gl" },
-    { "Georgian",              "ka" },
-    { "German",                "de" },
-    { "Greek",                 "el" },
-    { "Greenlandic",           "kl" },
-    { "Guarani",               "gn" },
-    { "Gujarati",              "gu" },
-    { "Hawaiian",              "haw" }, /* Yes, "haw", not "cpe".  */
-    { "Hebrew",                "he" },
-    { "Hindi",                 "hi" },
-    { "Hungarian",             "hu" },
-    { "Icelandic",             "is" },
-    { "Indonesian",            "id" },
-    { "Inuktitut",             "iu" },
-    { "Irish",                 "ga" },
-    { "Italian",               "it" },
-    { "Japanese",              "ja" },
-    { "Javanese",              "jv" },
-    { "Kalaallisut",           "kl" },
-    { "Kannada",               "kn" },
-    { "Kashmiri",              "ks" },
-    { "Kazakh",                "kk" },
-    { "Khmer",                 "km" },
-    { "Kinyarwanda",           "rw" },
-    { "Kirghiz",               "ky" },
-    { "Korean",                "ko" },
-    { "Kurdish",               "ku" },
-    { "Latin",                 "la" },
-    { "Latvian",               "lv" },
-    { "Lithuanian",            "lt" },
-    { "Macedonian",            "mk" },
-    { "Malagasy",              "mg" },
-    { "Malay",                 "ms" },
-    { "Malayalam",             "ml" },
-    { "Maltese",               "mt" },
-    { "Manx",                  "gv" },
-    { "Marathi",               "mr" },
-    { "Moldavian",             "mo" },
-    { "Mongolian",             "mn" },
-    { "Nepali",                "ne" },
-    { "Norwegian",             "nb" }, /* Yes, "nb", not the obsolete "no".  */
-    { "Nyanja",                "ny" },
-    { "Nynorsk",               "nn" },
-    { "Oriya",                 "or" },
-    { "Oromo",                 "om" },
-    { "Panjabi",               "pa" },
-    { "Pashto",                "ps" },
-    { "Persian",               "fa" },
-    { "Polish",                "pl" },
-    { "Portuguese",            "pt" },
-    { "Portuguese, Brazilian", "pt_BR" },
-    { "Punjabi",               "pa" },
-    { "Pushto",                "ps" },
-    { "Quechua",               "qu" },
-    { "Romanian",              "ro" },
-    { "Ruanda",                "rw" },
-    { "Rundi",                 "rn" },
-    { "Russian",               "ru" },
-    { "Sami",                  "se_NO" }, /* Not just "se".  */
-    { "Sanskrit",              "sa" },
-    { "Scottish",              "gd" },
-    { "Serbian",               "sr" },
-    { "Simplified Chinese",    "zh_CN" },
-    { "Sindhi",                "sd" },
-    { "Sinhalese",             "si" },
-    { "Slovak",                "sk" },
-    { "Slovenian",             "sl" },
-    { "Somali",                "so" },
-    { "Spanish",               "es" },
-    { "Sundanese",             "su" },
-    { "Swahili",               "sw" },
-    { "Swedish",               "sv" },
-    { "Tagalog",               "tl" },
-    { "Tajik",                 "tg" },
-    { "Tajiki",                "tg" },
-    { "Tamil",                 "ta" },
-    { "Tatar",                 "tt" },
-    { "Telugu",                "te" },
-    { "Thai",                  "th" },
-    { "Tibetan",               "bo" },
-    { "Tigrinya",              "ti" },
-    { "Tongan",                "to" },
-    { "Traditional Chinese",   "zh_TW" },
-    { "Turkish",               "tr" },
-    { "Turkmen",               "tk" },
-    { "Uighur",                "ug" },
-    { "Ukrainian",             "uk" },
-    { "Urdu",                  "ur" },
-    { "Uzbek",                 "uz" },
-    { "Vietnamese",            "vi" },
-    { "Welsh",                 "cy" },
-    { "Yiddish",               "yi" }
-  };
-
-  /* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
-     to Unix (ISO 639 and ISO 3166) names.  */
-  typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
-          langtag_entry;
-  static const langtag_entry langtag_table[] = {
-    /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn".
-       The default script for az on Unix is Latin.  */
-    { "az-Latn", "az" },
-    /* MacOS X has "ga-dots".  Does not yet exist on Unix.  */
-    { "ga-dots", "ga" },
-    /* MacOS X has "kk-Cyrl".  Does not yet exist on Unix.  */
-    /* MacOS X has "mn-Cyrl", "mn-Mong".
-       The default script for mn on Unix is Cyrillic.  */
-    { "mn-Cyrl", "mn" },
-    /* MacOS X has "ms-Arab", "ms-Latn".
-       The default script for ms on Unix is Latin.  */
-    { "ms-Latn", "ms" },
-    /* MacOS X has "tg-Cyrl".
-       The default script for tg on Unix is Cyrillic.  */
-    { "tg-Cyrl", "tg" },
-    /* MacOS X has "tk-Cyrl".  Does not yet exist on Unix.  */
-    /* MacOS X has "tt-Cyrl".
-       The default script for tt on Unix is Cyrillic.  */
-    { "tt-Cyrl", "tt" },
-    /* MacOS X has "zh-Hans", "zh-Hant".
-       Country codes are used to distinguish these on Unix.  */
-    { "zh-Hans", "zh_CN" },
-    { "zh-Hant", "zh_TW" }
-  };
-
-  /* Convert script names (ISO 15924) to Unix conventions.
-     See http://www.unicode.org/iso15924/iso15924-codes.html  */
-  typedef struct { const char script[4+1]; const char unixy[9+1]; }
-          script_entry;
-  static const script_entry script_table[] = {
-    { "Arab", "arabic" },
-    { "Cyrl", "cyrillic" },
-    { "Mong", "mongolian" }
-  };
-
-  /* Step 1: Convert using legacy_table.  */
-  if (name[0] >= 'A' && name[0] <= 'Z')
-    {
-      unsigned int i1, i2;
-      i1 = 0;
-      i2 = sizeof (legacy_table) / sizeof (legacy_entry);
-      while (i2 - i1 > 1)
-        {
-          /* At this point we know that if name occurs in legacy_table,
-             its index must be >= i1 and < i2.  */
-          unsigned int i = (i1 + i2) >> 1;
-          const legacy_entry *p = &legacy_table[i];
-          if (strcmp (name, p->legacy) < 0)
-            i2 = i;
-          else
-            i1 = i;
-        }
-      if (strcmp (name, legacy_table[i1].legacy) == 0)
-        {
-          strcpy (name, legacy_table[i1].unixy);
-          return;
-        }
-    }
-
-  /* Step 2: Convert using langtag_table and script_table.  */
-  if (strlen (name) == 7 && name[2] == '-')
-    {
-      unsigned int i1, i2;
-      i1 = 0;
-      i2 = sizeof (langtag_table) / sizeof (langtag_entry);
-      while (i2 - i1 > 1)
-        {
-          /* At this point we know that if name occurs in langtag_table,
-             its index must be >= i1 and < i2.  */
-          unsigned int i = (i1 + i2) >> 1;
-          const langtag_entry *p = &langtag_table[i];
-          if (strcmp (name, p->langtag) < 0)
-            i2 = i;
-          else
-            i1 = i;
-        }
-      if (strcmp (name, langtag_table[i1].langtag) == 0)
-        {
-          strcpy (name, langtag_table[i1].unixy);
-          return;
-        }
-
-      i1 = 0;
-      i2 = sizeof (script_table) / sizeof (script_entry);
-      while (i2 - i1 > 1)
-        {
-          /* At this point we know that if (name + 3) occurs in script_table,
-             its index must be >= i1 and < i2.  */
-          unsigned int i = (i1 + i2) >> 1;
-          const script_entry *p = &script_table[i];
-          if (strcmp (name + 3, p->script) < 0)
-            i2 = i;
-          else
-            i1 = i;
-        }
-      if (strcmp (name + 3, script_table[i1].script) == 0)
-        {
-          name[2] = '@';
-          strcpy (name + 3, script_table[i1].unixy);
-          return;
-        }
-    }
-
-  /* Step 3: Convert new-style dash to Unix underscore. */
-  {
-    char *p;
-    for (p = name; *p != '\0'; p++)
-      if (*p == '-')
-        *p = '_';
-  }
-}
-
-#endif
-
-
-#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-
-/* Canonicalize a Windows native locale name to a Unix locale name.
-   NAME is a sufficiently large buffer.
-   On input, it contains the Windows locale name.
-   On output, it contains the Unix locale name.  */
-# if !defined IN_LIBINTL
-static
-# endif
-void
-gl_locale_name_canonicalize (char *name)
-{
-  /* FIXME: This is probably incomplete: it does not handle "zh-Hans" and
-     "zh-Hant".  */
-  char *p;
-
-  for (p = name; *p != '\0'; p++)
-    if (*p == '-')
-      {
-        *p = '_';
-        p++;
-        for (; *p != '\0'; p++)
-          {
-            if (*p >= 'a' && *p <= 'z')
-              *p += 'A' - 'a';
-            if (*p == '-')
-              {
-                *p = '\0';
-                return;
-              }
-          }
-        return;
-      }
-}
-
-# if !defined IN_LIBINTL
-static
-# endif
-const char *
-gl_locale_name_from_win32_LANGID (LANGID langid)
-{
-  /* Activate the new code only when the GETTEXT_MUI environment variable is
-     set, for the time being, since the new code is not well tested.  */
-  if (getenv ("GETTEXT_MUI") != NULL)
-    {
-      static char namebuf[256];
-
-      /* Query the system's notion of locale name.
-         On Windows95/98/ME, GetLocaleInfoA returns some incorrect results.
-         But we don't need to support systems that are so old.  */
-      if (GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_SNAME,
-                          namebuf, sizeof (namebuf) - 1))
-        {
-          /* Convert it to a Unix locale name.  */
-          gl_locale_name_canonicalize (namebuf);
-          return namebuf;
-        }
-    }
-  /* Internet Explorer has an LCID to RFC3066 name mapping stored in
-     HKEY_CLASSES_ROOT\Mime\Database\Rfc1766.  But we better don't use that
-     since IE's i18n subsystem is known to be inconsistent with the native
-     Windows base (e.g. they have different character conversion facilities
-     that produce different results).  */
-  /* Use our own table.  */
-  {
-    int primary, sub;
-
-    /* Split into language and territory part.  */
-    primary = PRIMARYLANGID (langid);
-    sub = SUBLANGID (langid);
-
-    /* Dispatch on language.
-       See also http://www.unicode.org/unicode/onlinedat/languages.html .
-       For details about languages, see http://www.ethnologue.com/ .  */
-    switch (primary)
-      {
-      case LANG_AFRIKAANS:
-        switch (sub)
-          {
-          case SUBLANG_AFRIKAANS_SOUTH_AFRICA: return "af_ZA";
-          }
-        return "af";
-      case LANG_ALBANIAN:
-        switch (sub)
-          {
-          case SUBLANG_ALBANIAN_ALBANIA: return "sq_AL";
-          }
-        return "sq";
-      case LANG_ALSATIAN:
-        switch (sub)
-          {
-          case SUBLANG_ALSATIAN_FRANCE: return "gsw_FR";
-          }
-        return "gsw";
-      case LANG_AMHARIC:
-        switch (sub)
-          {
-          case SUBLANG_AMHARIC_ETHIOPIA: return "am_ET";
-          }
-        return "am";
-      case LANG_ARABIC:
-        switch (sub)
-          {
-          case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
-          case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
-          case SUBLANG_ARABIC_EGYPT: return "ar_EG";
-          case SUBLANG_ARABIC_LIBYA: return "ar_LY";
-          case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
-          case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
-          case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
-          case SUBLANG_ARABIC_OMAN: return "ar_OM";
-          case SUBLANG_ARABIC_YEMEN: return "ar_YE";
-          case SUBLANG_ARABIC_SYRIA: return "ar_SY";
-          case SUBLANG_ARABIC_JORDAN: return "ar_JO";
-          case SUBLANG_ARABIC_LEBANON: return "ar_LB";
-          case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
-          case SUBLANG_ARABIC_UAE: return "ar_AE";
-          case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
-          case SUBLANG_ARABIC_QATAR: return "ar_QA";
-          }
-        return "ar";
-      case LANG_ARMENIAN:
-        switch (sub)
-          {
-          case SUBLANG_ARMENIAN_ARMENIA: return "hy_AM";
-          }
-        return "hy";
-      case LANG_ASSAMESE:
-        switch (sub)
-          {
-          case SUBLANG_ASSAMESE_INDIA: return "as_IN";
-          }
-        return "as";
-      case LANG_AZERI:
-        switch (sub)
-          {
-          /* FIXME: Adjust this when Azerbaijani locales appear on Unix.  */
-          case 0x1e: return "az@latin";
-          case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
-          case 0x1d: return "az@cyrillic";
-          case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
-          }
-        return "az";
-      case LANG_BASHKIR:
-        switch (sub)
-          {
-          case SUBLANG_BASHKIR_RUSSIA: return "ba_RU";
-          }
-        return "ba";
-      case LANG_BASQUE:
-        switch (sub)
-          {
-          case SUBLANG_BASQUE_BASQUE: return "eu_ES";
-          }
-        return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR".  */
-      case LANG_BELARUSIAN:
-        switch (sub)
-          {
-          case SUBLANG_BELARUSIAN_BELARUS: return "be_BY";
-          }
-        return "be";
-      case LANG_BENGALI:
-        switch (sub)
-          {
-          case SUBLANG_BENGALI_INDIA: return "bn_IN";
-          case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
-          }
-        return "bn";
-      case LANG_BRETON:
-        switch (sub)
-          {
-          case SUBLANG_BRETON_FRANCE: return "br_FR";
-          }
-        return "br";
-      case LANG_BULGARIAN:
-        switch (sub)
-          {
-          case SUBLANG_BULGARIAN_BULGARIA: return "bg_BG";
-          }
-        return "bg";
-      case LANG_BURMESE:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "my_MM";
-          }
-        return "my";
-      case LANG_CAMBODIAN:
-        switch (sub)
-          {
-          case SUBLANG_CAMBODIAN_CAMBODIA: return "km_KH";
-          }
-        return "km";
-      case LANG_CATALAN:
-        switch (sub)
-          {
-          case SUBLANG_CATALAN_SPAIN: return "ca_ES";
-          }
-        return "ca";
-      case LANG_CHEROKEE:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "chr_US";
-          }
-        return "chr";
-      case LANG_CHINESE:
-        switch (sub)
-          {
-          case SUBLANG_CHINESE_TRADITIONAL: case 0x1f: return "zh_TW";
-          case SUBLANG_CHINESE_SIMPLIFIED: case 0x00: return "zh_CN";
-          case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; /* traditional */
-          case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; /* simplified */
-          case SUBLANG_CHINESE_MACAU: return "zh_MO"; /* traditional */
-          }
-        return "zh";
-      case LANG_CORSICAN:
-        switch (sub)
-          {
-          case SUBLANG_CORSICAN_FRANCE: return "co_FR";
-          }
-        return "co";
-      case LANG_CROATIAN:      /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN
-                                * What used to be called Serbo-Croatian
-                                * should really now be two separate
-                                * languages because of political reasons.
-                                * (Says tml, who knows nothing about Serbian
-                                * or Croatian.)
-                                * (I can feel those flames coming already.)
-                                */
-        switch (sub)
-          {
-          /* Croatian */
-          case 0x00: return "hr";
-          case SUBLANG_CROATIAN_CROATIA: return "hr_HR";
-          case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: return "hr_BA";
-          /* Serbian */
-          case 0x1f: return "sr";
-          case 0x1c: return "sr"; /* latin */
-          case SUBLANG_SERBIAN_LATIN: return "sr_CS"; /* latin */
-          case 0x09: return "sr_RS"; /* latin */
-          case 0x0b: return "sr_ME"; /* latin */
-          case 0x06: return "sr_BA"; /* latin */
-          case 0x1b: return "sr@cyrillic";
-          case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
-          case 0x0a: return "sr_RS@cyrillic";
-          case 0x0c: return "sr_ME@cyrillic";
-          case 0x07: return "sr_BA@cyrillic";
-          /* Bosnian */
-          case 0x1e: return "bs";
-          case 0x1a: return "bs"; /* latin */
-          case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: return "bs_BA"; /* latin */
-          case 0x19: return "bs@cyrillic";
-          case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: return "bs_BA@cyrillic";
-          }
-        return "hr";
-      case LANG_CZECH:
-        switch (sub)
-          {
-          case SUBLANG_CZECH_CZECH_REPUBLIC: return "cs_CZ";
-          }
-        return "cs";
-      case LANG_DANISH:
-        switch (sub)
-          {
-          case SUBLANG_DANISH_DENMARK: return "da_DK";
-          }
-        return "da";
-      case LANG_DARI:
-        /* FIXME: Adjust this when such locales appear on Unix.  */
-        switch (sub)
-          {
-          case SUBLANG_DARI_AFGHANISTAN: return "prs_AF";
-          }
-        return "prs";
-      case LANG_DIVEHI:
-        switch (sub)
-          {
-          case SUBLANG_DIVEHI_MALDIVES: return "dv_MV";
-          }
-        return "dv";
-      case LANG_DUTCH:
-        switch (sub)
-          {
-          case SUBLANG_DUTCH: return "nl_NL";
-          case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
-          case SUBLANG_DUTCH_SURINAM: return "nl_SR";
-          }
-        return "nl";
-      case LANG_EDO:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "bin_NG";
-          }
-        return "bin";
-      case LANG_ENGLISH:
-        switch (sub)
-          {
-          /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
-           * English was the language spoken in England.
-           * Oh well.
-           */
-          case SUBLANG_ENGLISH_US: return "en_US";
-          case SUBLANG_ENGLISH_UK: return "en_GB";
-          case SUBLANG_ENGLISH_AUS: return "en_AU";
-          case SUBLANG_ENGLISH_CAN: return "en_CA";
-          case SUBLANG_ENGLISH_NZ: return "en_NZ";
-          case SUBLANG_ENGLISH_EIRE: return "en_IE";
-          case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
-          case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
-          case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
-          case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
-          case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
-          case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
-          case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
-          case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
-          case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
-          case SUBLANG_ENGLISH_INDIA: return "en_IN";
-          case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
-          case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
-          }
-        return "en";
-      case LANG_ESTONIAN:
-        switch (sub)
-          {
-          case SUBLANG_ESTONIAN_ESTONIA: return "et_EE";
-          }
-        return "et";
-      case LANG_FAEROESE:
-        switch (sub)
-          {
-          case SUBLANG_FAEROESE_FAROE_ISLANDS: return "fo_FO";
-          }
-        return "fo";
-      case LANG_FARSI:
-        switch (sub)
-          {
-          case SUBLANG_FARSI_IRAN: return "fa_IR";
-          }
-        return "fa";
-      case LANG_FINNISH:
-        switch (sub)
-          {
-          case SUBLANG_FINNISH_FINLAND: return "fi_FI";
-          }
-        return "fi";
-      case LANG_FRENCH:
-        switch (sub)
-          {
-          case SUBLANG_FRENCH: return "fr_FR";
-          case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
-          case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
-          case SUBLANG_FRENCH_SWISS: return "fr_CH";
-          case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
-          case SUBLANG_FRENCH_MONACO: return "fr_MC";
-          case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
-          case SUBLANG_FRENCH_REUNION: return "fr_RE";
-          case SUBLANG_FRENCH_CONGO: return "fr_CG";
-          case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
-          case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
-          case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
-          case SUBLANG_FRENCH_MALI: return "fr_ML";
-          case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
-          case SUBLANG_FRENCH_HAITI: return "fr_HT";
-          }
-        return "fr";
-      case LANG_FRISIAN:
-        switch (sub)
-          {
-          case SUBLANG_FRISIAN_NETHERLANDS: return "fy_NL";
-          }
-        return "fy";
-      case LANG_FULFULDE:
-        /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin.  */
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "ff_NG";
-          }
-        return "ff";
-      case LANG_GAELIC:
-        switch (sub)
-          {
-          case 0x01: /* SCOTTISH */
-            /* old, superseded by LANG_SCOTTISH_GAELIC */
-            return "gd_GB";
-          case SUBLANG_IRISH_IRELAND: return "ga_IE";
-          }
-        return "ga";
-      case LANG_GALICIAN:
-        switch (sub)
-          {
-          case SUBLANG_GALICIAN_SPAIN: return "gl_ES";
-          }
-        return "gl";
-      case LANG_GEORGIAN:
-        switch (sub)
-          {
-          case SUBLANG_GEORGIAN_GEORGIA: return "ka_GE";
-          }
-        return "ka";
-      case LANG_GERMAN:
-        switch (sub)
-          {
-          case SUBLANG_GERMAN: return "de_DE";
-          case SUBLANG_GERMAN_SWISS: return "de_CH";
-          case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
-          case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
-          case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
-          }
-        return "de";
-      case LANG_GREEK:
-        switch (sub)
-          {
-          case SUBLANG_GREEK_GREECE: return "el_GR";
-          }
-        return "el";
-      case LANG_GREENLANDIC:
-        switch (sub)
-          {
-          case SUBLANG_GREENLANDIC_GREENLAND: return "kl_GL";
-          }
-        return "kl";
-      case LANG_GUARANI:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "gn_PY";
-          }
-        return "gn";
-      case LANG_GUJARATI:
-        switch (sub)
-          {
-          case SUBLANG_GUJARATI_INDIA: return "gu_IN";
-          }
-        return "gu";
-      case LANG_HAUSA:
-        switch (sub)
-          {
-          case 0x1f: return "ha";
-          case SUBLANG_HAUSA_NIGERIA_LATIN: return "ha_NG";
-          }
-        return "ha";
-      case LANG_HAWAIIAN:
-        /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
-           or Hawaii Creole English ("cpe_US", 600000 speakers)?  */
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "cpe_US";
-          }
-        return "cpe";
-      case LANG_HEBREW:
-        switch (sub)
-          {
-          case SUBLANG_HEBREW_ISRAEL: return "he_IL";
-          }
-        return "he";
-      case LANG_HINDI:
-        switch (sub)
-          {
-          case SUBLANG_HINDI_INDIA: return "hi_IN";
-          }
-        return "hi";
-      case LANG_HUNGARIAN:
-        switch (sub)
-          {
-          case SUBLANG_HUNGARIAN_HUNGARY: return "hu_HU";
-          }
-        return "hu";
-      case LANG_IBIBIO:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "nic_NG";
-          }
-        return "nic";
-      case LANG_ICELANDIC:
-        switch (sub)
-          {
-          case SUBLANG_ICELANDIC_ICELAND: return "is_IS";
-          }
-        return "is";
-      case LANG_IGBO:
-        switch (sub)
-          {
-          case SUBLANG_IGBO_NIGERIA: return "ig_NG";
-          }
-        return "ig";
-      case LANG_INDONESIAN:
-        switch (sub)
-          {
-          case SUBLANG_INDONESIAN_INDONESIA: return "id_ID";
-          }
-        return "id";
-      case LANG_INUKTITUT:
-        switch (sub)
-          {
-          case 0x1e: return "iu"; /* syllabic */
-          case SUBLANG_INUKTITUT_CANADA: return "iu_CA"; /* syllabic */
-          case 0x1f: return "iu@latin";
-          case SUBLANG_INUKTITUT_CANADA_LATIN: return "iu_CA@latin";
-          }
-        return "iu";
-      case LANG_ITALIAN:
-        switch (sub)
-          {
-          case SUBLANG_ITALIAN: return "it_IT";
-          case SUBLANG_ITALIAN_SWISS: return "it_CH";
-          }
-        return "it";
-      case LANG_JAPANESE:
-        switch (sub)
-          {
-          case SUBLANG_JAPANESE_JAPAN: return "ja_JP";
-          }
-        return "ja";
-      case LANG_KANNADA:
-        switch (sub)
-          {
-          case SUBLANG_KANNADA_INDIA: return "kn_IN";
-          }
-        return "kn";
-      case LANG_KANURI:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "kr_NG";
-          }
-        return "kr";
-      case LANG_KASHMIRI:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "ks_PK";
-          case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
-          }
-        return "ks";
-      case LANG_KAZAK:
-        switch (sub)
-          {
-          case SUBLANG_KAZAK_KAZAKHSTAN: return "kk_KZ";
-          }
-        return "kk";
-      case LANG_KICHE:
-        /* FIXME: Adjust this when such locales appear on Unix.  */
-        switch (sub)
-          {
-          case SUBLANG_KICHE_GUATEMALA: return "qut_GT";
-          }
-        return "qut";
-      case LANG_KINYARWANDA:
-        switch (sub)
-          {
-          case SUBLANG_KINYARWANDA_RWANDA: return "rw_RW";
-          }
-        return "rw";
-      case LANG_KONKANI:
-        /* FIXME: Adjust this when such locales appear on Unix.  */
-        switch (sub)
-          {
-          case SUBLANG_KONKANI_INDIA: return "kok_IN";
-          }
-        return "kok";
-      case LANG_KOREAN:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "ko_KR";
-          }
-        return "ko";
-      case LANG_KYRGYZ:
-        switch (sub)
-          {
-          case SUBLANG_KYRGYZ_KYRGYZSTAN: return "ky_KG";
-          }
-        return "ky";
-      case LANG_LAO:
-        switch (sub)
-          {
-          case SUBLANG_LAO_LAOS: return "lo_LA";
-          }
-        return "lo";
-      case LANG_LATIN:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "la_VA";
-          }
-        return "la";
-      case LANG_LATVIAN:
-        switch (sub)
-          {
-          case SUBLANG_LATVIAN_LATVIA: return "lv_LV";
-          }
-        return "lv";
-      case LANG_LITHUANIAN:
-        switch (sub)
-          {
-          case SUBLANG_LITHUANIAN_LITHUANIA: return "lt_LT";
-          }
-        return "lt";
-      case LANG_LUXEMBOURGISH:
-        switch (sub)
-          {
-          case SUBLANG_LUXEMBOURGISH_LUXEMBOURG: return "lb_LU";
-          }
-        return "lb";
-      case LANG_MACEDONIAN:
-        switch (sub)
-          {
-          case SUBLANG_MACEDONIAN_MACEDONIA: return "mk_MK";
-          }
-        return "mk";
-      case LANG_MALAY:
-        switch (sub)
-          {
-          case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
-          case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
-          }
-        return "ms";
-      case LANG_MALAYALAM:
-        switch (sub)
-          {
-          case SUBLANG_MALAYALAM_INDIA: return "ml_IN";
-          }
-        return "ml";
-      case LANG_MALTESE:
-        switch (sub)
-          {
-          case SUBLANG_MALTESE_MALTA: return "mt_MT";
-          }
-        return "mt";
-      case LANG_MANIPURI:
-        /* FIXME: Adjust this when such locales appear on Unix.  */
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "mni_IN";
-          }
-        return "mni";
-      case LANG_MAORI:
-        switch (sub)
-          {
-          case SUBLANG_MAORI_NEW_ZEALAND: return "mi_NZ";
-          }
-        return "mi";
-      case LANG_MAPUDUNGUN:
-        switch (sub)
-          {
-          case SUBLANG_MAPUDUNGUN_CHILE: return "arn_CL";
-          }
-        return "arn";
-      case LANG_MARATHI:
-        switch (sub)
-          {
-          case SUBLANG_MARATHI_INDIA: return "mr_IN";
-          }
-        return "mr";
-      case LANG_MOHAWK:
-        switch (sub)
-          {
-          case SUBLANG_MOHAWK_CANADA: return "moh_CA";
-          }
-        return "moh";
-      case LANG_MONGOLIAN:
-        switch (sub)
-          {
-          case SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: case 0x1e: return "mn_MN";
-          case SUBLANG_MONGOLIAN_PRC: case 0x1f: return "mn_CN";
-          }
-        return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN".  */
-      case LANG_NEPALI:
-        switch (sub)
-          {
-          case SUBLANG_NEPALI_NEPAL: return "ne_NP";
-          case SUBLANG_NEPALI_INDIA: return "ne_IN";
-          }
-        return "ne";
-      case LANG_NORWEGIAN:
-        switch (sub)
-          {
-          case 0x1f: return "nb";
-          case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
-          case 0x1e: return "nn";
-          case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
-          }
-        return "no";
-      case LANG_OCCITAN:
-        switch (sub)
-          {
-          case SUBLANG_OCCITAN_FRANCE: return "oc_FR";
-          }
-        return "oc";
-      case LANG_ORIYA:
-        switch (sub)
-          {
-          case SUBLANG_ORIYA_INDIA: return "or_IN";
-          }
-        return "or";
-      case LANG_OROMO:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "om_ET";
-          }
-        return "om";
-      case LANG_PAPIAMENTU:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "pap_AN";
-          }
-        return "pap";
-      case LANG_PASHTO:
-        switch (sub)
-          {
-          case SUBLANG_PASHTO_AFGHANISTAN: return "ps_AF";
-          }
-        return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF".  */
-      case LANG_POLISH:
-        switch (sub)
-          {
-          case SUBLANG_POLISH_POLAND: return "pl_PL";
-          }
-        return "pl";
-      case LANG_PORTUGUESE:
-        switch (sub)
-          {
-          /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
-             Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
-          case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
-          case SUBLANG_PORTUGUESE: return "pt_PT";
-          }
-        return "pt";
-      case LANG_PUNJABI:
-        switch (sub)
-          {
-          case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
-          case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
-          }
-        return "pa";
-      case LANG_QUECHUA:
-        /* Note: Microsoft uses the non-ISO language code "quz".  */
-        switch (sub)
-          {
-          case SUBLANG_QUECHUA_BOLIVIA: return "qu_BO";
-          case SUBLANG_QUECHUA_ECUADOR: return "qu_EC";
-          case SUBLANG_QUECHUA_PERU: return "qu_PE";
-          }
-        return "qu";
-      case LANG_ROMANIAN:
-        switch (sub)
-          {
-          case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
-          case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
-          }
-        return "ro";
-      case LANG_ROMANSH:
-        switch (sub)
-          {
-          case SUBLANG_ROMANSH_SWITZERLAND: return "rm_CH";
-          }
-        return "rm";
-      case LANG_RUSSIAN:
-        switch (sub)
-          {
-          case SUBLANG_RUSSIAN_RUSSIA: return "ru_RU";
-          case SUBLANG_RUSSIAN_MOLDAVIA: return "ru_MD";
-          }
-        return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD".  */
-      case LANG_SAMI:
-        switch (sub)
-          {
-          /* Northern Sami */
-          case 0x00: return "se";
-          case SUBLANG_SAMI_NORTHERN_NORWAY: return "se_NO";
-          case SUBLANG_SAMI_NORTHERN_SWEDEN: return "se_SE";
-          case SUBLANG_SAMI_NORTHERN_FINLAND: return "se_FI";
-          /* Lule Sami */
-          case 0x1f: return "smj";
-          case SUBLANG_SAMI_LULE_NORWAY: return "smj_NO";
-          case SUBLANG_SAMI_LULE_SWEDEN: return "smj_SE";
-          /* Southern Sami */
-          case 0x1e: return "sma";
-          case SUBLANG_SAMI_SOUTHERN_NORWAY: return "sma_NO";
-          case SUBLANG_SAMI_SOUTHERN_SWEDEN: return "sma_SE";
-          /* Skolt Sami */
-          case 0x1d: return "sms";
-          case SUBLANG_SAMI_SKOLT_FINLAND: return "sms_FI";
-          /* Inari Sami */
-          case 0x1c: return "smn";
-          case SUBLANG_SAMI_INARI_FINLAND: return "smn_FI";
-          }
-        return "se"; /* or "smi"? */
-      case LANG_SANSKRIT:
-        switch (sub)
-          {
-          case SUBLANG_SANSKRIT_INDIA: return "sa_IN";
-          }
-        return "sa";
-      case LANG_SCOTTISH_GAELIC:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "gd_GB";
-          }
-        return "gd";
-      case LANG_SINDHI:
-        switch (sub)
-          {
-          case SUBLANG_SINDHI_INDIA: return "sd_IN";
-          case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
-          /*case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";*/
-          }
-        return "sd";
-      case LANG_SINHALESE:
-        switch (sub)
-          {
-          case SUBLANG_SINHALESE_SRI_LANKA: return "si_LK";
-          }
-        return "si";
-      case LANG_SLOVAK:
-        switch (sub)
-          {
-          case SUBLANG_SLOVAK_SLOVAKIA: return "sk_SK";
-          }
-        return "sk";
-      case LANG_SLOVENIAN:
-        switch (sub)
-          {
-          case SUBLANG_SLOVENIAN_SLOVENIA: return "sl_SI";
-          }
-        return "sl";
-      case LANG_SOMALI:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "so_SO";
-          }
-        return "so";
-      case LANG_SORBIAN:
-        /* FIXME: Adjust this when such locales appear on Unix.  */
-        switch (sub)
-          {
-          /* Upper Sorbian */
-          case 0x00: return "hsb";
-          case SUBLANG_UPPER_SORBIAN_GERMANY: return "hsb_DE";
-          /* Lower Sorbian */
-          case 0x1f: return "dsb";
-          case SUBLANG_LOWER_SORBIAN_GERMANY: return "dsb_DE";
-          }
-        return "wen";
-      case LANG_SOTHO:
-        /* <http://www.microsoft.com/globaldev/reference/lcid-all.mspx> calls
-           it "Sepedi"; according to
-           <http://www.ethnologue.com/show_language.asp?code=nso>
-           <http://www.ethnologue.com/show_language.asp?code=sot>
-           it's the same as Northern Sotho.  */
-        switch (sub)
-          {
-          case SUBLANG_SOTHO_SOUTH_AFRICA: return "nso_ZA";
-          }
-        return "nso";
-      case LANG_SPANISH:
-        switch (sub)
-          {
-          case SUBLANG_SPANISH: return "es_ES";
-          case SUBLANG_SPANISH_MEXICAN: return "es_MX";
-          case SUBLANG_SPANISH_MODERN:
-            return "es_ES@modern";      /* not seen on Unix */
-          case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
-          case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
-          case SUBLANG_SPANISH_PANAMA: return "es_PA";
-          case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
-          case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
-          case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
-          case SUBLANG_SPANISH_PERU: return "es_PE";
-          case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
-          case SUBLANG_SPANISH_ECUADOR: return "es_EC";
-          case SUBLANG_SPANISH_CHILE: return "es_CL";
-          case SUBLANG_SPANISH_URUGUAY: return "es_UY";
-          case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
-          case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
-          case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
-          case SUBLANG_SPANISH_HONDURAS: return "es_HN";
-          case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
-          case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
-          case SUBLANG_SPANISH_US: return "es_US";
-          }
-        return "es";
-      case LANG_SUTU:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
-          }
-        return "bnt";
-      case LANG_SWAHILI:
-        switch (sub)
-          {
-          case SUBLANG_SWAHILI_KENYA: return "sw_KE";
-          }
-        return "sw";
-      case LANG_SWEDISH:
-        switch (sub)
-          {
-          case SUBLANG_SWEDISH_SWEDEN: return "sv_SE";
-          case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
-          }
-        return "sv";
-      case LANG_SYRIAC:
-        switch (sub)
-          {
-          case SUBLANG_SYRIAC_SYRIA: return "syr_SY"; /* An extinct language.  */
-          }
-        return "syr";
-      case LANG_TAGALOG:
-        switch (sub)
-          {
-          case SUBLANG_TAGALOG_PHILIPPINES: return "tl_PH"; /* or "fil_PH"? */
-          }
-        return "tl"; /* or "fil"? */
-      case LANG_TAJIK:
-        switch (sub)
-          {
-          case 0x1f: return "tg";
-          case SUBLANG_TAJIK_TAJIKISTAN: return "tg_TJ";
-          }
-        return "tg";
-      case LANG_TAMAZIGHT:
-        /* Note: Microsoft uses the non-ISO language code "tmz".  */
-        switch (sub)
-          {
-          /* FIXME: Adjust this when Tamazight locales appear on Unix.  */
-          case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
-          case 0x1f: return "ber@latin";
-          case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin";
-          }
-        return "ber";
-      case LANG_TAMIL:
-        switch (sub)
-          {
-          case SUBLANG_TAMIL_INDIA: return "ta_IN";
-          }
-        return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG".  */
-      case LANG_TATAR:
-        switch (sub)
-          {
-          case SUBLANG_TATAR_RUSSIA: return "tt_RU";
-          }
-        return "tt";
-      case LANG_TELUGU:
-        switch (sub)
-          {
-          case SUBLANG_TELUGU_INDIA: return "te_IN";
-          }
-        return "te";
-      case LANG_THAI:
-        switch (sub)
-          {
-          case SUBLANG_THAI_THAILAND: return "th_TH";
-          }
-        return "th";
-      case LANG_TIBETAN:
-        switch (sub)
-          {
-          case SUBLANG_TIBETAN_PRC:
-            /* Most Tibetans would not like "bo_CN".  But Tibet does not yet
-               have a country code of its own.  */
-            return "bo";
-          case SUBLANG_TIBETAN_BHUTAN: return "bo_BT";
-          }
-        return "bo";
-      case LANG_TIGRINYA:
-        switch (sub)
-          {
-          case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
-          case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
-          }
-        return "ti";
-      case LANG_TSONGA:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "ts_ZA";
-          }
-        return "ts";
-      case LANG_TSWANA:
-        /* Spoken in South Africa, Botswana.  */
-        switch (sub)
-          {
-          case SUBLANG_TSWANA_SOUTH_AFRICA: return "tn_ZA";
-          }
-        return "tn";
-      case LANG_TURKISH:
-        switch (sub)
-          {
-          case SUBLANG_TURKISH_TURKEY: return "tr_TR";
-          }
-        return "tr";
-      case LANG_TURKMEN:
-        switch (sub)
-          {
-          case SUBLANG_TURKMEN_TURKMENISTAN: return "tk_TM";
-          }
-        return "tk";
-      case LANG_UIGHUR:
-        switch (sub)
-          {
-          case SUBLANG_UIGHUR_PRC: return "ug_CN";
-          }
-        return "ug";
-      case LANG_UKRAINIAN:
-        switch (sub)
-          {
-          case SUBLANG_UKRAINIAN_UKRAINE: return "uk_UA";
-          }
-        return "uk";
-      case LANG_URDU:
-        switch (sub)
-          {
-          case SUBLANG_URDU_PAKISTAN: return "ur_PK";
-          case SUBLANG_URDU_INDIA: return "ur_IN";
-          }
-        return "ur";
-      case LANG_UZBEK:
-        switch (sub)
-          {
-          case 0x1f: return "uz";
-          case SUBLANG_UZBEK_LATIN: return "uz_UZ";
-          case 0x1e: return "uz@cyrillic";
-          case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
-          }
-        return "uz";
-      case LANG_VENDA:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "ve_ZA";
-          }
-        return "ve";
-      case LANG_VIETNAMESE:
-        switch (sub)
-          {
-          case SUBLANG_VIETNAMESE_VIETNAM: return "vi_VN";
-          }
-        return "vi";
-      case LANG_WELSH:
-        switch (sub)
-          {
-          case SUBLANG_WELSH_UNITED_KINGDOM: return "cy_GB";
-          }
-        return "cy";
-      case LANG_WOLOF:
-        switch (sub)
-          {
-          case SUBLANG_WOLOF_SENEGAL: return "wo_SN";
-          }
-        return "wo";
-      case LANG_XHOSA:
-        switch (sub)
-          {
-          case SUBLANG_XHOSA_SOUTH_AFRICA: return "xh_ZA";
-          }
-        return "xh";
-      case LANG_YAKUT:
-        switch (sub)
-          {
-          case SUBLANG_YAKUT_RUSSIA: return "sah_RU";
-          }
-        return "sah";
-      case LANG_YI:
-        switch (sub)
-          {
-          case SUBLANG_YI_PRC: return "ii_CN";
-          }
-        return "ii";
-      case LANG_YIDDISH:
-        switch (sub)
-          {
-          case SUBLANG_DEFAULT: return "yi_IL";
-          }
-        return "yi";
-      case LANG_YORUBA:
-        switch (sub)
-          {
-          case SUBLANG_YORUBA_NIGERIA: return "yo_NG";
-          }
-        return "yo";
-      case LANG_ZULU:
-        switch (sub)
-          {
-          case SUBLANG_ZULU_SOUTH_AFRICA: return "zu_ZA";
-          }
-        return "zu";
-      default: return "C";
-      }
-  }
-}
-
-# if !defined IN_LIBINTL
-static
-# endif
-const char *
-gl_locale_name_from_win32_LCID (LCID lcid)
-{
-  LANGID langid;
-
-  /* Strip off the sorting rules, keep only the language part.  */
-  langid = LANGIDFROMLCID (lcid);
-
-  return gl_locale_name_from_win32_LANGID (langid);
-}
-
-#endif
-
-
-#if HAVE_USELOCALE /* glibc or MacOS X */
-
-/* Simple hash set of strings.  We don't want to drag in lots of hash table
-   code here.  */
-
-# define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
-
-/* A hash function for NUL-terminated char* strings using
-   the method described by Bruno Haible.
-   See http://www.haible.de/bruno/hashfunc.html.  */
-static size_t
-string_hash (const void *x)
-{
-  const char *s = (const char *) x;
-  size_t h = 0;
-
-  for (; *s; s++)
-    h = *s + ((h << 9) | (h >> (SIZE_BITS - 9)));
-
-  return h;
-}
-
-/* A hash table of fixed size.  Multiple threads can access it read-only
-   simultaneously, but only one thread can insert into it at the same time.  */
-
-/* A node in a hash bucket collision list.  */
-struct hash_node
-  {
-    struct hash_node * volatile next;
-    char contents[100]; /* has variable size */
-  };
-
-# define HASH_TABLE_SIZE 257
-static struct hash_node * volatile struniq_hash_table[HASH_TABLE_SIZE]
-  /* = { NULL, ..., NULL } */;
-
-/* This lock protects the struniq_hash_table against multiple simultaneous
-   insertions.  */
-gl_lock_define_initialized(static, struniq_lock)
-
-/* Store a copy of the given string in a string pool with indefinite extent.
-   Return a pointer to this copy.  */
-static const char *
-struniq (const char *string)
-{
-  size_t hashcode = string_hash (string);
-  size_t slot = hashcode % HASH_TABLE_SIZE;
-  size_t size;
-  struct hash_node *new_node;
-  struct hash_node *p;
-  for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
-    if (strcmp (p->contents, string) == 0)
-      return p->contents;
-  size = strlen (string) + 1;
-  new_node =
-    (struct hash_node *)
-    malloc (offsetof (struct hash_node, contents[0]) + size);
-  if (new_node == NULL)
-    /* Out of memory.  Return a statically allocated string.  */
-    return "C";
-  memcpy (new_node->contents, string, size);
-  /* Lock while inserting new_node.  */
-  gl_lock_lock (struniq_lock);
-  /* Check whether another thread already added the string while we were
-     waiting on the lock.  */
-  for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
-    if (strcmp (p->contents, string) == 0)
-      {
-        free (new_node);
-        new_node = p;
-        goto done;
-      }
-  /* Really insert new_node into the hash table.  Fill new_node entirely first,
-     because other threads may be iterating over the linked list.  */
-  new_node->next = struniq_hash_table[slot];
-  struniq_hash_table[slot] = new_node;
- done:
-  /* Unlock after new_node is inserted.  */
-  gl_lock_unlock (struniq_lock);
-  return new_node->contents;
-}
-
-#endif
-
-
-#if defined IN_LIBINTL || HAVE_USELOCALE
-
-/* Like gl_locale_name_thread, except that the result is not in storage of
-   indefinite extent.  */
-# if !defined IN_LIBINTL
-static
-# endif
-const char *
-gl_locale_name_thread_unsafe (int category, const char *categoryname)
-{
-# if HAVE_USELOCALE
-  {
-    locale_t thread_locale = uselocale (NULL);
-    if (thread_locale != LC_GLOBAL_LOCALE)
-      {
-#  if __GLIBC__ >= 2 && !defined __UCLIBC__
-        /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in
-           glibc < 2.12.
-           See <http://sourceware.org/bugzilla/show_bug.cgi?id=10968>.  */
-        const char *name =
-          nl_langinfo (_NL_ITEM ((category), _NL_ITEM_INDEX (-1)));
-        if (name[0] == '\0')
-          /* Fallback code for glibc < 2.4, which did not implement
-             nl_langinfo (_NL_LOCALE_NAME (category)).  */
-          name = thread_locale->__names[category];
-        return name;
-#  endif
-#  if defined __APPLE__ && defined __MACH__ /* MacOS X */
-        /* The locale name is found deep in an undocumented data structure.
-           Since it's stored in a buffer of size 32 and newlocale() rejects
-           locale names of length > 31, we can assume that it is NUL terminated
-           in this buffer. But we need to make a copy of the locale name, of
-           indefinite extent.  */
-        struct _xlocale_part1_v0 /* used in MacOS X 10.5 */
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            __darwin_mbstate_t __mbs[10];
-            int64_t __magic;
-          };
-        struct _xlocale_part1_v1 /* used in MacOS X >= 10.6.0 */
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            __darwin_mbstate_t __mbs[10];
-            /*pthread_lock_t*/ int __lock;
-            int64_t __magic;
-          };
-        struct _xlocale_part2
-          {
-            int64_t __magic;
-            unsigned char __collate_load_error;
-            unsigned char __collate_substitute_nontrivial;
-            unsigned char _messages_using_locale;
-            unsigned char _monetary_using_locale;
-            unsigned char _numeric_using_locale;
-            unsigned char _time_using_locale;
-            unsigned char __mlocale_changed;
-            unsigned char __nlocale_changed;
-            unsigned char __numeric_fp_cvt;
-            struct __xlocale_st_collate *__lc_collate;
-            struct __xlocale_st_runelocale *__lc_ctype;
-            struct __xlocale_st_messages *__lc_messages;
-            struct __xlocale_st_monetary *__lc_monetary;
-            struct __xlocale_st_numeric *__lc_numeric;
-            struct _xlocale *__lc_numeric_loc;
-            struct __xlocale_st_time *__lc_time;
-            /* more */
-          };
-        struct __xlocale_st_collate
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char __encoding[32];
-            /* more */
-          };
-        struct __xlocale_st_runelocale
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char __ctype_encoding[32];
-            /* more */
-          };
-        struct __xlocale_st_messages
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char *_messages_locale_buf;
-            /* more */
-          };
-        struct __xlocale_st_monetary
-          {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char *_monetary_locale_buf;
-            /* more */
-          };
-        struct __xlocale_st_numeric {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char *_numeric_locale_buf;
-            /* more */
-          };
-        struct __xlocale_st_time {
-            int32_t __refcount;
-            void (*__free_extra)(void *);
-            char *_time_locale_buf;
-            /* more */
-          };
-        struct _xlocale_part2 *tlp;
-        if (((struct _xlocale_part1_v0 *) thread_locale)->__magic
-            == 0x786C6F63616C6530LL)
-          /* MacOS X 10.5 */
-          tlp =
-            (struct _xlocale_part2 *)
-            &((struct _xlocale_part1_v0 *) thread_locale)->__magic;
-        else if (((struct _xlocale_part1_v1 *) thread_locale)->__magic
-                 == 0x786C6F63616C6530LL)
-          /* MacOS X >= 10.6.0 */
-          tlp =
-            (struct _xlocale_part2 *)
-            &((struct _xlocale_part1_v1 *) thread_locale)->__magic;
-        else
-          /* Unsupported version of MacOS X: The internals of 'struct _xlocale'
-             have changed again.  */
-          return "";
-        switch (category)
-          {
-          case LC_CTYPE:
-            return tlp->__lc_ctype->__ctype_encoding;
-          case LC_NUMERIC:
-            return tlp->_numeric_using_locale
-                   ? tlp->__lc_numeric->_numeric_locale_buf
-                   : "C";
-          case LC_TIME:
-            return tlp->_time_using_locale
-                   ? tlp->__lc_time->_time_locale_buf
-                   : "C";
-          case LC_COLLATE:
-            return !tlp->__collate_load_error
-                   ? tlp->__lc_collate->__encoding
-                   : "C";
-          case LC_MONETARY:
-            return tlp->_monetary_using_locale
-                   ? tlp->__lc_monetary->_monetary_locale_buf
-                   : "C";
-          case LC_MESSAGES:
-            return tlp->_messages_using_locale
-                   ? tlp->__lc_messages->_messages_locale_buf
-                   : "C";
-          default: /* We shouldn't get here.  */
-            return "";
-          }
-#  endif
-      }
-  }
-# endif
-  return NULL;
-}
-
-#endif
-
-const char *
-gl_locale_name_thread (int category, const char *categoryname)
-{
-#if HAVE_USELOCALE
-  const char *name = gl_locale_name_thread_unsafe (category, categoryname);
-  if (name != NULL)
-    return struniq (name);
-#endif
-  return NULL;
-}
-
-/* XPG3 defines the result of 'setlocale (category, NULL)' as:
-   "Directs 'setlocale()' to query 'category' and return the current
-    setting of 'local'."
-   However it does not specify the exact format.  Neither do SUSV2 and
-   ISO C 99.  So we can use this feature only on selected systems (e.g.
-   those using GNU C Library).  */
-#if defined _LIBC || ((defined __GLIBC__ && __GLIBC__ >= 2) && !defined __UCLIBC__)
-# define HAVE_LOCALE_NULL
-#endif
-
-const char *
-gl_locale_name_posix (int category, const char *categoryname)
-{
-  /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
-     On some systems this can be done by the 'setlocale' function itself.  */
-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
-  return setlocale (category, NULL);
-#else
-  /* On other systems we ignore what setlocale reports and instead look at the
-     environment variables directly.  This is necessary
-       1. on systems which have a facility for customizing the default locale
-          (MacOS X, native Windows, Cygwin) and where the system's setlocale()
-          function ignores this default locale (MacOS X, Cygwin), in two cases:
-          a. when the user missed to use the setlocale() override from libintl
-             (for example by not including <libintl.h>),
-          b. when setlocale supports only the "C" locale, such as on Cygwin
-             1.5.x.  In this case even the override from libintl cannot help.
-       2. on all systems where setlocale supports only the "C" locale.  */
-  /* Strictly speaking, it is a POSIX violation to look at the environment
-     variables regardless whether setlocale has been called or not.  POSIX
-     says:
-         "For C-language programs, the POSIX locale shall be the
-          default locale when the setlocale() function is not called."
-     But we assume that all programs that use internationalized APIs call
-     setlocale (LC_ALL, "").  */
-  return gl_locale_name_environ (category, categoryname);
-#endif
-}
-
-const char *
-gl_locale_name_environ (int category, const char *categoryname)
-{
-  const char *retval;
-
-  /* Setting of LC_ALL overrides all other.  */
-  retval = getenv ("LC_ALL");
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-  /* Next comes the name of the desired category.  */
-  retval = getenv (categoryname);
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-  /* Last possibility is the LANG environment variable.  */
-  retval = getenv ("LANG");
-  if (retval != NULL && retval[0] != '\0')
-    {
-#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
-      /* MacOS X 10.2 or newer.
-         Ignore invalid LANG value set by the Terminal application.  */
-      if (strcmp (retval, "UTF-8") != 0)
-#endif
-#if defined __CYGWIN__
-      /* Cygwin.
-         Ignore dummy LANG value set by ~/.profile.  */
-      if (strcmp (retval, "C.UTF-8") != 0)
-#endif
-        return retval;
-    }
-
-  return NULL;
-}
-
-const char *
-gl_locale_name_default (void)
-{
-  /* POSIX:2001 says:
-     "All implementations shall define a locale as the default locale, to be
-      invoked when no environment variables are set, or set to the empty
-      string.  This default locale can be the POSIX locale or any other
-      implementation-defined locale.  Some implementations may provide
-      facilities for local installation administrators to set the default
-      locale, customizing it for each location.  POSIX:2001 does not require
-      such a facility.
-
-     The systems with such a facility are MacOS X and Windows: They provide a
-     GUI that allows the user to choose a locale.
-       - On MacOS X, by default, none of LC_* or LANG are set.  Starting with
-         MacOS X 10.4 or 10.5, LANG is set for processes launched by the
-         'Terminal' application (but sometimes to an incorrect value "UTF-8").
-         When no environment variable is set, setlocale (LC_ALL, "") uses the
-         "C" locale.
-       - On native Windows, by default, none of LC_* or LANG are set.
-         When no environment variable is set, setlocale (LC_ALL, "") uses the
-         locale chosen by the user.
-       - On Cygwin 1.5.x, by default, none of LC_* or LANG are set.
-         When no environment variable is set, setlocale (LC_ALL, "") uses the
-         "C" locale.
-       - On Cygwin 1.7, by default, LANG is set to "C.UTF-8" when the default
-         ~/.profile is executed.
-         When no environment variable is set, setlocale (LC_ALL, "") uses the
-         "C.UTF-8" locale, which operates in the same way as the "C" locale.
-  */
-
-#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined WINDOWS_NATIVE || defined __CYGWIN__)
-
-  /* The system does not have a way of setting the locale, other than the
-     POSIX specified environment variables.  We use C as default locale.  */
-  return "C";
-
-#else
-
-  /* Return an XPG style locale name language[_territory][@modifier].
-     Don't even bother determining the codeset; it's not useful in this
-     context, because message catalogs are not specific to a single
-     codeset.  */
-
-# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
-  /* MacOS X 10.2 or newer */
-  {
-    /* Cache the locale name, since CoreFoundation calls are expensive.  */
-    static const char *cached_localename;
-
-    if (cached_localename == NULL)
-      {
-        char namebuf[256];
-#  if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */
-        CFLocaleRef locale = CFLocaleCopyCurrent ();
-        CFStringRef name = CFLocaleGetIdentifier (locale);
-
-        if (CFStringGetCString (name, namebuf, sizeof (namebuf),
-                                kCFStringEncodingASCII))
-          {
-            gl_locale_name_canonicalize (namebuf);
-            cached_localename = strdup (namebuf);
-          }
-        CFRelease (locale);
-#  elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */
-        CFTypeRef value =
-          CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
-                                     kCFPreferencesCurrentApplication);
-        if (value != NULL
-            && CFGetTypeID (value) == CFStringGetTypeID ()
-            && CFStringGetCString ((CFStringRef)value,
-                                   namebuf, sizeof (namebuf),
-                                   kCFStringEncodingASCII))
-          {
-            gl_locale_name_canonicalize (namebuf);
-            cached_localename = strdup (namebuf);
-          }
-#  endif
-        if (cached_localename == NULL)
-          cached_localename = "C";
-      }
-    return cached_localename;
-  }
-
-# endif
-
-# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-  {
-    LCID lcid;
-
-    /* Use native Windows API locale ID.  */
-    lcid = GetThreadLocale ();
-
-    return gl_locale_name_from_win32_LCID (lcid);
-  }
-# endif
-#endif
-}
-
-/* Determine the current locale's name, and canonicalize it into XPG syntax
-     language[_territory][.codeset][@modifier]
-   The codeset part in the result is not reliable; the locale_charset()
-   should be used for codeset information instead.
-   The result must not be freed; it is statically allocated.  */
-
-const char *
-gl_locale_name (int category, const char *categoryname)
-{
-  const char *retval;
-
-  retval = gl_locale_name_thread (category, categoryname);
-  if (retval != NULL)
-    return retval;
-
-  retval = gl_locale_name_posix (category, categoryname);
-  if (retval != NULL)
-    return retval;
-
-  return gl_locale_name_default ();
-}
diff --git a/lib/gltests/localename.h b/lib/gltests/localename.h
deleted file mode 100644 (file)
index 330932d..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Determine name of the currently selected locale.
-   Copyright (C) 2007, 2009-2012 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
-   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/>.  */
-
-#ifndef _GL_LOCALENAME_H
-#define _GL_LOCALENAME_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Determine the current locale's name.
-   It considers both the POSIX notion of locale name (see functions
-   gl_locale_name_thread and gl_locale_name_posix) and the system notion
-   of locale name (see function gl_locale_name_default).
-   CATEGORY is a locale category abbreviation, as defined in <locale.h>,
-   but not LC_ALL. E.g. LC_MESSAGES.
-   CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
-   Return the locale category's name, canonicalized into XPG syntax
-     language[_territory][.codeset][@modifier]
-   The codeset part in the result is not reliable; the locale_charset()
-   should be used for codeset information instead.
-   The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name (int category, const char *categoryname);
-
-/* Determine the current per-thread locale's name, as specified by uselocale()
-   calls.
-   CATEGORY is a locale category abbreviation, as defined in <locale.h>,
-   but not LC_ALL. E.g. LC_MESSAGES.
-   CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
-   Return the locale category's name, canonicalized into XPG syntax
-     language[_territory][.codeset][@modifier]
-   or NULL if no locale has been specified for the current thread.
-   The codeset part in the result is not reliable; the locale_charset()
-   should be used for codeset information instead.
-   The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name_thread (int category, const char *categoryname);
-
-/* Determine the thread-independent current locale's name, as specified by
-   setlocale() calls or by environment variables.
-   CATEGORY is a locale category abbreviation, as defined in <locale.h>,
-   but not LC_ALL. E.g. LC_MESSAGES.
-   CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
-   Return the locale category's name, canonicalized into XPG syntax
-     language[_territory][.codeset][@modifier]
-   or NULL if no locale has been specified to setlocale() or by environment
-   variables.
-   The codeset part in the result is not reliable; the locale_charset()
-   should be used for codeset information instead.
-   The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name_posix (int category, const char *categoryname);
-
-/* Determine the default locale's name, as specified by environment
-   variables.
-   Return the locale category's name, or NULL if no locale has been specified
-   by environment variables.
-   The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name_environ (int category, const char *categoryname);
-
-/* Determine the default locale's name.  This is the current locale's name,
-   if not specified by uselocale() calls, by setlocale() calls, or by
-   environment variables.  This locale name is usually determined by systems
-   settings that the user can manipulate through a GUI.
-
-   Quoting POSIX:2001:
-     "All implementations shall define a locale as the default locale,
-      to be invoked when no environment variables are set, or set to the
-      empty string.  This default locale can be the C locale or any other
-      implementation-defined locale.  Some implementations may provide
-      facilities for local installation administrators to set the default
-      locale, customizing it for each location.  IEEE Std 1003.1-2001 does
-      not require such a facility."
-
-   The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name_default (void);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_LOCALENAME_H */
diff --git a/lib/gltests/macros.h b/lib/gltests/macros.h
deleted file mode 100644 (file)
index 478004c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Common macros used by gnulib tests.
-   Copyright (C) 2006-2012 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
-   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/>.  */
-
-
-/* This file contains macros that are used by many gnulib tests.
-   Put here only frequently used macros, say, used by 10 tests or more.  */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Define ASSERT_STREAM before including this file if ASSERT must
-   target a stream other than stderr.  */
-#ifndef ASSERT_STREAM
-# define ASSERT_STREAM stderr
-#endif
-
-/* ASSERT (condition);
-   verifies that the specified condition is fulfilled.  If not, a message
-   is printed to ASSERT_STREAM if defined (defaulting to stderr if
-   undefined) and the program is terminated with an error code.
-
-   This macro has the following properties:
-     - The programmer specifies the expected condition, not the failure
-       condition.  This simplifies thinking.
-     - The condition is tested always, regardless of compilation flags.
-       (Unlike the macro from <assert.h>.)
-     - On Unix platforms, the tester can debug the test program with a
-       debugger (provided core dumps are enabled: "ulimit -c unlimited").
-     - For the sake of platforms where no debugger is available (such as
-       some mingw systems), an error message is printed on the error
-       stream that includes the source location of the ASSERT invocation.
- */
-#define ASSERT(expr) \
-  do                                                                         \
-    {                                                                        \
-      if (!(expr))                                                           \
-        {                                                                    \
-          fprintf (ASSERT_STREAM, "%s:%d: assertion failed\n",               \
-                   __FILE__, __LINE__);                                      \
-          fflush (ASSERT_STREAM);                                            \
-          abort ();                                                          \
-        }                                                                    \
-    }                                                                        \
-  while (0)
-
-/* SIZEOF (array)
-   returns the number of elements of an array.  It works for arrays that are
-   declared outside functions and for local variables of array type.  It does
-   *not* work for function parameters of array type, because they are actually
-   parameters of pointer type.  */
-#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
-
-/* STREQ (str1, str2)
-   Return true if two strings compare equal.  */
-#define STREQ(a, b) (strcmp (a, b) == 0)
-
-/* Some numbers in the interval [0,1).  */
-extern const float randomf[1000];
-extern const double randomd[1000];
-extern const long double randoml[1000];
diff --git a/lib/gltests/malloc.c b/lib/gltests/malloc.c
deleted file mode 100644 (file)
index e0d5c89..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* malloc() function that is glibc compatible.
-
-   Copyright (C) 1997-1998, 2006-2007, 2009-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* written by Jim Meyering and Bruno Haible */
-
-#define _GL_USE_STDLIB_ALLOC 1
-#include <config.h>
-/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
-#ifdef malloc
-# define NEED_MALLOC_GNU 1
-# undef malloc
-/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU.  */
-#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
-# define NEED_MALLOC_GNU 1
-#endif
-
-#include <stdlib.h>
-
-#include <errno.h>
-
-/* Allocate an N-byte block of memory from the heap.
-   If N is zero, allocate a 1-byte block.  */
-
-void *
-rpl_malloc (size_t n)
-{
-  void *result;
-
-#if NEED_MALLOC_GNU
-  if (n == 0)
-    n = 1;
-#endif
-
-  result = malloc (n);
-
-#if !HAVE_MALLOC_POSIX
-  if (result == NULL)
-    errno = ENOMEM;
-#endif
-
-  return result;
-}
diff --git a/lib/gltests/malloca.c b/lib/gltests/malloca.c
deleted file mode 100644 (file)
index 1f7533a..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible <bruno@clisp.org>, 2003.
-
-   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, 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/>.  */
-
-#define _GL_USE_STDLIB_ALLOC 1
-#include <config.h>
-
-/* Specification.  */
-#include "malloca.h"
-
-#include <stdint.h>
-
-#include "verify.h"
-
-/* The speed critical point in this file is freea() applied to an alloca()
-   result: it must be fast, to match the speed of alloca().  The speed of
-   mmalloca() and freea() in the other case are not critical, because they
-   are only invoked for big memory sizes.  */
-
-#if HAVE_ALLOCA
-
-/* Store the mmalloca() results in a hash table.  This is needed to reliably
-   distinguish a mmalloca() result and an alloca() result.
-
-   Although it is possible that the same pointer is returned by alloca() and
-   by mmalloca() at different times in the same application, it does not lead
-   to a bug in freea(), because:
-     - Before a pointer returned by alloca() can point into malloc()ed memory,
-       the function must return, and once this has happened the programmer must
-       not call freea() on it anyway.
-     - Before a pointer returned by mmalloca() can point into the stack, it
-       must be freed.  The only function that can free it is freea(), and
-       when freea() frees it, it also removes it from the hash table.  */
-
-#define MAGIC_NUMBER 0x1415fb4a
-#define MAGIC_SIZE sizeof (int)
-/* This is how the header info would look like without any alignment
-   considerations.  */
-struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
-/* But the header's size must be a multiple of sa_alignment_max.  */
-#define HEADER_SIZE \
-  (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
-struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
-verify (HEADER_SIZE == sizeof (struct header));
-/* We make the hash table quite big, so that during lookups the probability
-   of empty hash buckets is quite high.  There is no need to make the hash
-   table resizable, because when the hash table gets filled so much that the
-   lookup becomes slow, it means that the application has memory leaks.  */
-#define HASH_TABLE_SIZE 257
-static void * mmalloca_results[HASH_TABLE_SIZE];
-
-#endif
-
-void *
-mmalloca (size_t n)
-{
-#if HAVE_ALLOCA
-  /* Allocate one more word, that serves as an indicator for malloc()ed
-     memory, so that freea() of an alloca() result is fast.  */
-  size_t nplus = n + HEADER_SIZE;
-
-  if (nplus >= n)
-    {
-      char *p = (char *) malloc (nplus);
-
-      if (p != NULL)
-        {
-          size_t slot;
-
-          p += HEADER_SIZE;
-
-          /* Put a magic number into the indicator word.  */
-          ((int *) p)[-1] = MAGIC_NUMBER;
-
-          /* Enter p into the hash table.  */
-          slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
-          mmalloca_results[slot] = p;
-
-          return p;
-        }
-    }
-  /* Out of memory.  */
-  return NULL;
-#else
-# if !MALLOC_0_IS_NONNULL
-  if (n == 0)
-    n = 1;
-# endif
-  return malloc (n);
-#endif
-}
-
-#if HAVE_ALLOCA
-void
-freea (void *p)
-{
-  /* mmalloca() may have returned NULL.  */
-  if (p != NULL)
-    {
-      /* Attempt to quickly distinguish the mmalloca() result - which has
-         a magic indicator word - and the alloca() result - which has an
-         uninitialized indicator word.  It is for this test that sa_increment
-         additional bytes are allocated in the alloca() case.  */
-      if (((int *) p)[-1] == MAGIC_NUMBER)
-        {
-          /* Looks like a mmalloca() result.  To see whether it really is one,
-             perform a lookup in the hash table.  */
-          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          void **chain = &mmalloca_results[slot];
-          for (; *chain != NULL;)
-            {
-              if (*chain == p)
-                {
-                  /* Found it.  Remove it from the hash table and free it.  */
-                  char *p_begin = (char *) p - HEADER_SIZE;
-                  *chain = ((struct header *) p_begin)->next;
-                  free (p_begin);
-                  return;
-                }
-              chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
-            }
-        }
-      /* At this point, we know it was not a mmalloca() result.  */
-    }
-}
-#endif
diff --git a/lib/gltests/malloca.valgrind b/lib/gltests/malloca.valgrind
deleted file mode 100644 (file)
index 52f0a50..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in freea().
-# This use is OK because it provides only a speedup.
-{
-    freea
-    Memcheck:Cond
-    fun:freea
-}
diff --git a/lib/gltests/putenv.c b/lib/gltests/putenv.c
deleted file mode 100644 (file)
index 3c0f7ea..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2012 Free Software
-   Foundation, Inc.
-
-   NOTE: The canonical source of this file is maintained with the GNU C
-   Library.  Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-   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 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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <stddef.h>
-
-/* Include errno.h *after* sys/types.h to work around header problems
-   on AIX 3.2.5.  */
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#include <unistd.h>
-
-#if _LIBC
-# if HAVE_GNU_LD
-#  define environ __environ
-# else
-extern char **environ;
-# endif
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-static int
-_unsetenv (const char *name)
-{
-  size_t len;
-  char **ep;
-
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  len = strlen (name);
-
-  LOCK;
-
-  ep = environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-        /* Found it.  Remove this pointer by moving later ones back.  */
-        char **dp = ep;
-
-        do
-          dp[0] = dp[1];
-        while (*dp++);
-        /* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
-
-  UNLOCK;
-
-  return 0;
-}
-
-
-/* Put STRING, which is of the form "NAME=VALUE", in the environment.
-   If STRING contains no '=', then remove STRING from the environment.  */
-int
-putenv (char *string)
-{
-  const char *const name_end = strchr (string, '=');
-  register size_t size;
-  register char **ep;
-
-  if (name_end == NULL)
-    {
-      /* Remove the variable from the environment.  */
-      return _unsetenv (string);
-    }
-
-  size = 0;
-  for (ep = environ; *ep != NULL; ++ep)
-    if (!strncmp (*ep, string, name_end - string) &&
-        (*ep)[name_end - string] == '=')
-      break;
-    else
-      ++size;
-
-  if (*ep == NULL)
-    {
-      static char **last_environ = NULL;
-      char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
-      if (new_environ == NULL)
-        return -1;
-      (void) memcpy ((void *) new_environ, (void *) environ,
-                     size * sizeof (char *));
-      new_environ[size] = (char *) string;
-      new_environ[size + 1] = NULL;
-      free (last_environ);
-      last_environ = new_environ;
-      environ = new_environ;
-    }
-  else
-    *ep = string;
-
-  return 0;
-}
diff --git a/lib/gltests/setenv.c b/lib/gltests/setenv.c
deleted file mode 100644 (file)
index 8201be2..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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/>.  */
-
-#if !_LIBC
-# define _GL_USE_STDLIB_ALLOC 1
-# include <config.h>
-#endif
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-#include <alloca.h>
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#if _LIBC || HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#if !_LIBC
-# include "malloca.h"
-#endif
-
-#if _LIBC || !HAVE_SETENV
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define setenv __setenv
-# define clearenv __clearenv
-# define tfind __tfind
-# define tsearch __tsearch
-#endif
-
-/* In the GNU C library implementation we try to be more clever and
-   allow arbitrarily many changes of the environment given that the used
-   values are from a small set.  Outside glibc this will eat up all
-   memory after a while.  */
-#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
-                      && defined __GNUC__)
-# define USE_TSEARCH    1
-# include <search.h>
-typedef int (*compar_fn_t) (const void *, const void *);
-
-/* This is a pointer to the root of the search tree with the known
-   values.  */
-static void *known_values;
-
-# define KNOWN_VALUE(Str) \
-  ({                                                                          \
-    void *value = tfind (Str, &known_values, (compar_fn_t) strcmp);           \
-    value != NULL ? *(char **) value : NULL;                                  \
-  })
-# define STORE_VALUE(Str) \
-  tsearch (Str, &known_values, (compar_fn_t) strcmp)
-
-#else
-# undef USE_TSEARCH
-
-# define KNOWN_VALUE(Str) NULL
-# define STORE_VALUE(Str) do { } while (0)
-
-#endif
-
-
-/* If this variable is not a null pointer we allocated the current
-   environment.  */
-static char **last_environ;
-
-
-/* This function is used by 'setenv' and 'putenv'.  The difference between
-   the two functions is that for the former must create a new string which
-   is then placed in the environment, while the argument of 'putenv'
-   must be used directly.  This is all complicated by the fact that we try
-   to reuse values once generated for a 'setenv' call since we can never
-   free the strings.  */
-int
-__add_to_environ (const char *name, const char *value, const char *combined,
-                  int replace)
-{
-  char **ep;
-  size_t size;
-  const size_t namelen = strlen (name);
-  const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
-
-  LOCK;
-
-  /* We have to get the pointer now that we have the lock and not earlier
-     since another thread might have created a new environment.  */
-  ep = __environ;
-
-  size = 0;
-  if (ep != NULL)
-    {
-      for (; *ep != NULL; ++ep)
-        if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
-          break;
-        else
-          ++size;
-    }
-
-  if (ep == NULL || *ep == NULL)
-    {
-      char **new_environ;
-#ifdef USE_TSEARCH
-      char *new_value;
-#endif
-
-      /* We allocated this space; we can extend it.  */
-      new_environ =
-        (char **) (last_environ == NULL
-                   ? malloc ((size + 2) * sizeof (char *))
-                   : realloc (last_environ, (size + 2) * sizeof (char *)));
-      if (new_environ == NULL)
-        {
-          /* It's easier to set errno to ENOMEM than to rely on the
-             'malloc-posix' and 'realloc-posix' gnulib modules.  */
-          __set_errno (ENOMEM);
-          UNLOCK;
-          return -1;
-        }
-
-      /* If the whole entry is given add it.  */
-      if (combined != NULL)
-        /* We must not add the string to the search tree since it belongs
-           to the user.  */
-        new_environ[size] = (char *) combined;
-      else
-        {
-          /* See whether the value is already known.  */
-#ifdef USE_TSEARCH
-# ifdef _LIBC
-          new_value = (char *) alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = (char *) malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          new_environ[size] = KNOWN_VALUE (new_value);
-          if (new_environ[size] == NULL)
-#endif
-            {
-              new_environ[size] = (char *) malloc (namelen + 1 + vallen);
-              if (new_environ[size] == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (new_environ[size], new_value, namelen + 1 + vallen);
-#else
-              memcpy (new_environ[size], name, namelen);
-              new_environ[size][namelen] = '=';
-              memcpy (&new_environ[size][namelen + 1], value, vallen);
-#endif
-              /* And save the value now.  We cannot do this when we remove
-                 the string since then we cannot decide whether it is a
-                 user string or not.  */
-              STORE_VALUE (new_environ[size]);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      if (__environ != last_environ)
-        memcpy ((char *) new_environ, (char *) __environ,
-                size * sizeof (char *));
-
-      new_environ[size + 1] = NULL;
-
-      last_environ = __environ = new_environ;
-    }
-  else if (replace)
-    {
-      char *np;
-
-      /* Use the user string if given.  */
-      if (combined != NULL)
-        np = (char *) combined;
-      else
-        {
-#ifdef USE_TSEARCH
-          char *new_value;
-# ifdef _LIBC
-          new_value = alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          np = KNOWN_VALUE (new_value);
-          if (np == NULL)
-#endif
-            {
-              np = (char *) malloc (namelen + 1 + vallen);
-              if (np == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (np, new_value, namelen + 1 + vallen);
-#else
-              memcpy (np, name, namelen);
-              np[namelen] = '=';
-              memcpy (&np[namelen + 1], value, vallen);
-#endif
-              /* And remember the value.  */
-              STORE_VALUE (np);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      *ep = np;
-    }
-
-  UNLOCK;
-
-  return 0;
-}
-
-int
-setenv (const char *name, const char *value, int replace)
-{
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return __add_to_environ (name, value, NULL, replace);
-}
-
-/* The 'clearenv' was planned to be added to POSIX.1 but probably
-   never made it.  Nevertheless the POSIX.9 standard (POSIX bindings
-   for Fortran 77) requires this function.  */
-int
-clearenv (void)
-{
-  LOCK;
-
-  if (__environ == last_environ && __environ != NULL)
-    {
-      /* We allocated this environment so we can free it.  */
-      free (__environ);
-      last_environ = NULL;
-    }
-
-  /* Clear the environment pointer removes the whole environment.  */
-  __environ = NULL;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-static void
-free_mem (void)
-{
-  /* Remove all traces.  */
-  clearenv ();
-
-  /* Now remove the search tree.  */
-  __tdestroy (known_values, free);
-  known_values = NULL;
-}
-text_set_element (__libc_subfreeres, free_mem);
-
-
-# undef setenv
-# undef clearenv
-weak_alias (__setenv, setenv)
-weak_alias (__clearenv, clearenv)
-#endif
-
-#endif /* _LIBC || !HAVE_SETENV */
-
-/* The rest of this file is called into use when replacing an existing
-   but buggy setenv.  Known bugs include failure to diagnose invalid
-   name, and consuming a leading '=' from value.  */
-#if HAVE_SETENV
-
-# undef setenv
-# if !HAVE_DECL_SETENV
-extern int setenv (const char *, const char *, int);
-# endif
-# define STREQ(a, b) (strcmp (a, b) == 0)
-
-int
-rpl_setenv (const char *name, const char *value, int replace)
-{
-  int result;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  /* Call the real setenv even if replace is 0, in case implementation
-     has underlying data to update, such as when environ changes.  */
-  result = setenv (name, value, replace);
-  if (result == 0 && replace && *value == '=')
-    {
-      char *tmp = getenv (name);
-      if (!STREQ (tmp, value))
-        {
-          int saved_errno;
-          size_t len = strlen (value);
-          tmp = malloca (len + 2);
-          /* Since leading '=' is eaten, double it up.  */
-          *tmp = '=';
-          memcpy (tmp + 1, value, len + 1);
-          result = setenv (name, tmp, replace);
-          saved_errno = errno;
-          freea (tmp);
-          errno = saved_errno;
-        }
-    }
-  return result;
-}
-
-#endif /* HAVE_SETENV */
diff --git a/lib/gltests/setlocale.c b/lib/gltests/setlocale.c
deleted file mode 100644 (file)
index 8a47cde..0000000
+++ /dev/null
@@ -1,938 +0,0 @@
-/* Set the current locale.
-   Copyright (C) 2009, 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2009.  */
-
-#include <config.h>
-
-/* Override setlocale() so that when the default locale is requested
-   (locale = ""), the environment variables LC_ALL, LC_*, and LANG are
-   considered.
-   Also include all the functionality from libintl's setlocale() override.  */
-
-/* Please keep this file in sync with
-   gettext/gettext-runtime/intl/setlocale.c !  */
-
-/* Specification.  */
-#include <locale.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "localename.h"
-
-#if 1
-
-# undef setlocale
-
-/* Return string representation of locale category CATEGORY.  */
-static const char *
-category_to_name (int category)
-{
-  const char *retval;
-
-  switch (category)
-  {
-  case LC_COLLATE:
-    retval = "LC_COLLATE";
-    break;
-  case LC_CTYPE:
-    retval = "LC_CTYPE";
-    break;
-  case LC_MONETARY:
-    retval = "LC_MONETARY";
-    break;
-  case LC_NUMERIC:
-    retval = "LC_NUMERIC";
-    break;
-  case LC_TIME:
-    retval = "LC_TIME";
-    break;
-  case LC_MESSAGES:
-    retval = "LC_MESSAGES";
-    break;
-  default:
-    /* If you have a better idea for a default value let me know.  */
-    retval = "LC_XXX";
-  }
-
-  return retval;
-}
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-/* The native Windows setlocale() function expects locale names of the form
-   "German" or "German_Germany" or "DEU", but not "de" or "de_DE".  We need
-   to convert the names from the form with ISO 639 language code and ISO 3166
-   country code to the form with English names or with three-letter identifier.
-   The three-letter identifiers known by a Windows XP SP2 or SP3 are:
-     AFK  Afrikaans_South Africa.1252
-     ARA  Arabic_Saudi Arabia.1256
-     ARB  Arabic_Lebanon.1256
-     ARE  Arabic_Egypt.1256
-     ARG  Arabic_Algeria.1256
-     ARH  Arabic_Bahrain.1256
-     ARI  Arabic_Iraq.1256
-     ARJ  Arabic_Jordan.1256
-     ARK  Arabic_Kuwait.1256
-     ARL  Arabic_Libya.1256
-     ARM  Arabic_Morocco.1256
-     ARO  Arabic_Oman.1256
-     ARQ  Arabic_Qatar.1256
-     ARS  Arabic_Syria.1256
-     ART  Arabic_Tunisia.1256
-     ARU  Arabic_U.A.E..1256
-     ARY  Arabic_Yemen.1256
-     AZE  Azeri (Latin)_Azerbaijan.1254
-     BEL  Belarusian_Belarus.1251
-     BGR  Bulgarian_Bulgaria.1251
-     BSB  Bosnian_Bosnia and Herzegovina.1250
-     BSC  Bosnian (Cyrillic)_Bosnia and Herzegovina.1250  (wrong encoding!)
-     CAT  Catalan_Spain.1252
-     CHH  Chinese_Hong Kong S.A.R..950
-     CHI  Chinese_Singapore.936
-     CHS  Chinese_People's Republic of China.936
-     CHT  Chinese_Taiwan.950
-     CSY  Czech_Czech Republic.1250
-     CYM  Welsh_United Kingdom.1252
-     DAN  Danish_Denmark.1252
-     DEA  German_Austria.1252
-     DEC  German_Liechtenstein.1252
-     DEL  German_Luxembourg.1252
-     DES  German_Switzerland.1252
-     DEU  German_Germany.1252
-     ELL  Greek_Greece.1253
-     ENA  English_Australia.1252
-     ENB  English_Caribbean.1252
-     ENC  English_Canada.1252
-     ENG  English_United Kingdom.1252
-     ENI  English_Ireland.1252
-     ENJ  English_Jamaica.1252
-     ENL  English_Belize.1252
-     ENP  English_Republic of the Philippines.1252
-     ENS  English_South Africa.1252
-     ENT  English_Trinidad and Tobago.1252
-     ENU  English_United States.1252
-     ENW  English_Zimbabwe.1252
-     ENZ  English_New Zealand.1252
-     ESA  Spanish_Panama.1252
-     ESB  Spanish_Bolivia.1252
-     ESC  Spanish_Costa Rica.1252
-     ESD  Spanish_Dominican Republic.1252
-     ESE  Spanish_El Salvador.1252
-     ESF  Spanish_Ecuador.1252
-     ESG  Spanish_Guatemala.1252
-     ESH  Spanish_Honduras.1252
-     ESI  Spanish_Nicaragua.1252
-     ESL  Spanish_Chile.1252
-     ESM  Spanish_Mexico.1252
-     ESN  Spanish_Spain.1252
-     ESO  Spanish_Colombia.1252
-     ESP  Spanish_Spain.1252
-     ESR  Spanish_Peru.1252
-     ESS  Spanish_Argentina.1252
-     ESU  Spanish_Puerto Rico.1252
-     ESV  Spanish_Venezuela.1252
-     ESY  Spanish_Uruguay.1252
-     ESZ  Spanish_Paraguay.1252
-     ETI  Estonian_Estonia.1257
-     EUQ  Basque_Spain.1252
-     FAR  Farsi_Iran.1256
-     FIN  Finnish_Finland.1252
-     FOS  Faroese_Faroe Islands.1252
-     FPO  Filipino_Philippines.1252
-     FRA  French_France.1252
-     FRB  French_Belgium.1252
-     FRC  French_Canada.1252
-     FRL  French_Luxembourg.1252
-     FRM  French_Principality of Monaco.1252
-     FRS  French_Switzerland.1252
-     FYN  Frisian_Netherlands.1252
-     GLC  Galician_Spain.1252
-     HEB  Hebrew_Israel.1255
-     HRB  Croatian_Bosnia and Herzegovina.1250
-     HRV  Croatian_Croatia.1250
-     HUN  Hungarian_Hungary.1250
-     IND  Indonesian_Indonesia.1252
-     IRE  Irish_Ireland.1252
-     ISL  Icelandic_Iceland.1252
-     ITA  Italian_Italy.1252
-     ITS  Italian_Switzerland.1252
-     IUK  Inuktitut (Latin)_Canada.1252
-     JPN  Japanese_Japan.932
-     KKZ  Kazakh_Kazakhstan.1251
-     KOR  Korean_Korea.949
-     KYR  Kyrgyz_Kyrgyzstan.1251
-     LBX  Luxembourgish_Luxembourg.1252
-     LTH  Lithuanian_Lithuania.1257
-     LVI  Latvian_Latvia.1257
-     MKI  FYRO Macedonian_Former Yugoslav Republic of Macedonia.1251
-     MON  Mongolian_Mongolia.1251
-     MPD  Mapudungun_Chile.1252
-     MSB  Malay_Brunei Darussalam.1252
-     MSL  Malay_Malaysia.1252
-     MWK  Mohawk_Canada.1252
-     NLB  Dutch_Belgium.1252
-     NLD  Dutch_Netherlands.1252
-     NON  Norwegian-Nynorsk_Norway.1252
-     NOR  Norwegian (Bokmål)_Norway.1252
-     NSO  Northern Sotho_South Africa.1252
-     PLK  Polish_Poland.1250
-     PTB  Portuguese_Brazil.1252
-     PTG  Portuguese_Portugal.1252
-     QUB  Quechua_Bolivia.1252
-     QUE  Quechua_Ecuador.1252
-     QUP  Quechua_Peru.1252
-     RMC  Romansh_Switzerland.1252
-     ROM  Romanian_Romania.1250
-     RUS  Russian_Russia.1251
-     SKY  Slovak_Slovakia.1250
-     SLV  Slovenian_Slovenia.1250
-     SMA  Sami (Southern)_Norway.1252
-     SMB  Sami (Southern)_Sweden.1252
-     SME  Sami (Northern)_Norway.1252
-     SMF  Sami (Northern)_Sweden.1252
-     SMG  Sami (Northern)_Finland.1252
-     SMJ  Sami (Lule)_Norway.1252
-     SMK  Sami (Lule)_Sweden.1252
-     SMN  Sami (Inari)_Finland.1252
-     SMS  Sami (Skolt)_Finland.1252
-     SQI  Albanian_Albania.1250
-     SRB  Serbian (Cyrillic)_Serbia and Montenegro.1251
-     SRL  Serbian (Latin)_Serbia and Montenegro.1250
-     SRN  Serbian (Cyrillic)_Bosnia and Herzegovina.1251
-     SRS  Serbian (Latin)_Bosnia and Herzegovina.1250
-     SVE  Swedish_Sweden.1252
-     SVF  Swedish_Finland.1252
-     SWK  Swahili_Kenya.1252
-     THA  Thai_Thailand.874
-     TRK  Turkish_Turkey.1254
-     TSN  Tswana_South Africa.1252
-     TTT  Tatar_Russia.1251
-     UKR  Ukrainian_Ukraine.1251
-     URD  Urdu_Islamic Republic of Pakistan.1256
-     USA  English_United States.1252
-     UZB  Uzbek (Latin)_Uzbekistan.1254
-     VIT  Vietnamese_Viet Nam.1258
-     XHO  Xhosa_South Africa.1252
-     ZHH  Chinese_Hong Kong S.A.R..950
-     ZHI  Chinese_Singapore.936
-     ZHM  Chinese_Macau S.A.R..950
-     ZUL  Zulu_South Africa.1252
- */
-
-/* Table from ISO 639 language code, optionally with country or script suffix,
-   to English name.
-   Keep in sync with the gl_locale_name_from_win32_LANGID function in
-   localename.c!  */
-struct table_entry
-{
-  const char *code;
-  const char *english;
-};
-static const struct table_entry language_table[] =
-  {
-    { "af", "Afrikaans" },
-    { "am", "Amharic" },
-    { "ar", "Arabic" },
-    { "arn", "Mapudungun" },
-    { "as", "Assamese" },
-    { "az@cyrillic", "Azeri (Cyrillic)" },
-    { "az@latin", "Azeri (Latin)" },
-    { "ba", "Bashkir" },
-    { "be", "Belarusian" },
-    { "ber", "Tamazight" },
-    { "ber@arabic", "Tamazight (Arabic)" },
-    { "ber@latin", "Tamazight (Latin)" },
-    { "bg", "Bulgarian" },
-    { "bin", "Edo" },
-    { "bn", "Bengali" },
-    { "bn_BD", "Bengali (Bangladesh)" },
-    { "bn_IN", "Bengali (India)" },
-    { "bnt", "Sutu" },
-    { "bo", "Tibetan" },
-    { "br", "Breton" },
-    { "bs", "BSB" }, /* "Bosnian (Latin)" */
-    { "bs@cyrillic", "BSC" }, /* Bosnian (Cyrillic) */
-    { "ca", "Catalan" },
-    { "chr", "Cherokee" },
-    { "co", "Corsican" },
-    { "cpe", "Hawaiian" },
-    { "cs", "Czech" },
-    { "cy", "Welsh" },
-    { "da", "Danish" },
-    { "de", "German" },
-    { "dsb", "Lower Sorbian" },
-    { "dv", "Divehi" },
-    { "el", "Greek" },
-    { "en", "English" },
-    { "es", "Spanish" },
-    { "et", "Estonian" },
-    { "eu", "Basque" },
-    { "fa", "Farsi" },
-    { "ff", "Fulfulde" },
-    { "fi", "Finnish" },
-    { "fo", "Faroese" }, /* "Faeroese" does not work */
-    { "fr", "French" },
-    { "fy", "Frisian" },
-    { "ga", "IRE" }, /* Gaelic (Ireland) */
-    { "gd", "Gaelic (Scotland)" },
-    { "gd", "Scottish Gaelic" },
-    { "gl", "Galician" },
-    { "gn", "Guarani" },
-    { "gsw", "Alsatian" },
-    { "gu", "Gujarati" },
-    { "ha", "Hausa" },
-    { "he", "Hebrew" },
-    { "hi", "Hindi" },
-    { "hr", "Croatian" },
-    { "hsb", "Upper Sorbian" },
-    { "hu", "Hungarian" },
-    { "hy", "Armenian" },
-    { "id", "Indonesian" },
-    { "ig", "Igbo" },
-    { "ii", "Yi" },
-    { "is", "Icelandic" },
-    { "it", "Italian" },
-    { "iu", "IUK" }, /* Inuktitut */
-    { "ja", "Japanese" },
-    { "ka", "Georgian" },
-    { "kk", "Kazakh" },
-    { "kl", "Greenlandic" },
-    { "km", "Cambodian" },
-    { "km", "Khmer" },
-    { "kn", "Kannada" },
-    { "ko", "Korean" },
-    { "kok", "Konkani" },
-    { "kr", "Kanuri" },
-    { "ks", "Kashmiri" },
-    { "ks_IN", "Kashmiri_India" },
-    { "ks_PK", "Kashmiri (Arabic)_Pakistan" },
-    { "ky", "Kyrgyz" },
-    { "la", "Latin" },
-    { "lb", "Luxembourgish" },
-    { "lo", "Lao" },
-    { "lt", "Lithuanian" },
-    { "lv", "Latvian" },
-    { "mi", "Maori" },
-    { "mk", "FYRO Macedonian" },
-    { "mk", "Macedonian" },
-    { "ml", "Malayalam" },
-    { "mn", "Mongolian" },
-    { "mni", "Manipuri" },
-    { "moh", "Mohawk" },
-    { "mr", "Marathi" },
-    { "ms", "Malay" },
-    { "mt", "Maltese" },
-    { "my", "Burmese" },
-    { "nb", "NOR" }, /* Norwegian Bokmål */
-    { "ne", "Nepali" },
-    { "nic", "Ibibio" },
-    { "nl", "Dutch" },
-    { "nn", "NON" }, /* Norwegian Nynorsk */
-    { "no", "Norwegian" },
-    { "nso", "Northern Sotho" },
-    { "nso", "Sepedi" },
-    { "oc", "Occitan" },
-    { "om", "Oromo" },
-    { "or", "Oriya" },
-    { "pa", "Punjabi" },
-    { "pap", "Papiamentu" },
-    { "pl", "Polish" },
-    { "prs", "Dari" },
-    { "ps", "Pashto" },
-    { "pt", "Portuguese" },
-    { "qu", "Quechua" },
-    { "qut", "K'iche'" },
-    { "rm", "Romansh" },
-    { "ro", "Romanian" },
-    { "ru", "Russian" },
-    { "rw", "Kinyarwanda" },
-    { "sa", "Sanskrit" },
-    { "sah", "Yakut" },
-    { "sd", "Sindhi" },
-    { "se", "Sami (Northern)" },
-    { "se", "Northern Sami" },
-    { "si", "Sinhalese" },
-    { "sk", "Slovak" },
-    { "sl", "Slovenian" },
-    { "sma", "Sami (Southern)" },
-    { "sma", "Southern Sami" },
-    { "smj", "Sami (Lule)" },
-    { "smj", "Lule Sami" },
-    { "smn", "Sami (Inari)" },
-    { "smn", "Inari Sami" },
-    { "sms", "Sami (Skolt)" },
-    { "sms", "Skolt Sami" },
-    { "so", "Somali" },
-    { "sq", "Albanian" },
-    { "sr", "Serbian (Latin)" },
-    { "sr@cyrillic", "SRB" }, /* Serbian (Cyrillic) */
-    { "sw", "Swahili" },
-    { "syr", "Syriac" },
-    { "ta", "Tamil" },
-    { "te", "Telugu" },
-    { "tg", "Tajik" },
-    { "th", "Thai" },
-    { "ti", "Tigrinya" },
-    { "tk", "Turkmen" },
-    { "tl", "Filipino" },
-    { "tn", "Tswana" },
-    { "tr", "Turkish" },
-    { "ts", "Tsonga" },
-    { "tt", "Tatar" },
-    { "ug", "Uighur" },
-    { "uk", "Ukrainian" },
-    { "ur", "Urdu" },
-    { "uz", "Uzbek" },
-    { "uz", "Uzbek (Latin)" },
-    { "uz@cyrillic", "Uzbek (Cyrillic)" },
-    { "ve", "Venda" },
-    { "vi", "Vietnamese" },
-    { "wen", "Sorbian" },
-    { "wo", "Wolof" },
-    { "xh", "Xhosa" },
-    { "yi", "Yiddish" },
-    { "yo", "Yoruba" },
-    { "zh", "Chinese" },
-    { "zu", "Zulu" }
-  };
-
-/* Table from ISO 3166 country code to English name.
-   Keep in sync with the gl_locale_name_from_win32_LANGID function in
-   localename.c!  */
-static const struct table_entry country_table[] =
-  {
-    { "AE", "U.A.E." },
-    { "AF", "Afghanistan" },
-    { "AL", "Albania" },
-    { "AM", "Armenia" },
-    { "AN", "Netherlands Antilles" },
-    { "AR", "Argentina" },
-    { "AT", "Austria" },
-    { "AU", "Australia" },
-    { "AZ", "Azerbaijan" },
-    { "BA", "Bosnia and Herzegovina" },
-    { "BD", "Bangladesh" },
-    { "BE", "Belgium" },
-    { "BG", "Bulgaria" },
-    { "BH", "Bahrain" },
-    { "BN", "Brunei Darussalam" },
-    { "BO", "Bolivia" },
-    { "BR", "Brazil" },
-    { "BT", "Bhutan" },
-    { "BY", "Belarus" },
-    { "BZ", "Belize" },
-    { "CA", "Canada" },
-    { "CG", "Congo" },
-    { "CH", "Switzerland" },
-    { "CI", "Cote d'Ivoire" },
-    { "CL", "Chile" },
-    { "CM", "Cameroon" },
-    { "CN", "People's Republic of China" },
-    { "CO", "Colombia" },
-    { "CR", "Costa Rica" },
-    { "CS", "Serbia and Montenegro" },
-    { "CZ", "Czech Republic" },
-    { "DE", "Germany" },
-    { "DK", "Denmark" },
-    { "DO", "Dominican Republic" },
-    { "DZ", "Algeria" },
-    { "EC", "Ecuador" },
-    { "EE", "Estonia" },
-    { "EG", "Egypt" },
-    { "ER", "Eritrea" },
-    { "ES", "Spain" },
-    { "ET", "Ethiopia" },
-    { "FI", "Finland" },
-    { "FO", "Faroe Islands" },
-    { "FR", "France" },
-    { "GB", "United Kingdom" },
-    { "GD", "Caribbean" },
-    { "GE", "Georgia" },
-    { "GL", "Greenland" },
-    { "GR", "Greece" },
-    { "GT", "Guatemala" },
-    { "HK", "Hong Kong" },
-    { "HK", "Hong Kong S.A.R." },
-    { "HN", "Honduras" },
-    { "HR", "Croatia" },
-    { "HT", "Haiti" },
-    { "HU", "Hungary" },
-    { "ID", "Indonesia" },
-    { "IE", "Ireland" },
-    { "IL", "Israel" },
-    { "IN", "India" },
-    { "IQ", "Iraq" },
-    { "IR", "Iran" },
-    { "IS", "Iceland" },
-    { "IT", "Italy" },
-    { "JM", "Jamaica" },
-    { "JO", "Jordan" },
-    { "JP", "Japan" },
-    { "KE", "Kenya" },
-    { "KG", "Kyrgyzstan" },
-    { "KH", "Cambodia" },
-    { "KR", "South Korea" },
-    { "KW", "Kuwait" },
-    { "KZ", "Kazakhstan" },
-    { "LA", "Laos" },
-    { "LB", "Lebanon" },
-    { "LI", "Liechtenstein" },
-    { "LK", "Sri Lanka" },
-    { "LT", "Lithuania" },
-    { "LU", "Luxembourg" },
-    { "LV", "Latvia" },
-    { "LY", "Libya" },
-    { "MA", "Morocco" },
-    { "MC", "Principality of Monaco" },
-    { "MD", "Moldava" },
-    { "MD", "Moldova" },
-    { "ME", "Montenegro" },
-    { "MK", "Former Yugoslav Republic of Macedonia" },
-    { "ML", "Mali" },
-    { "MM", "Myanmar" },
-    { "MN", "Mongolia" },
-    { "MO", "Macau S.A.R." },
-    { "MT", "Malta" },
-    { "MV", "Maldives" },
-    { "MX", "Mexico" },
-    { "MY", "Malaysia" },
-    { "NG", "Nigeria" },
-    { "NI", "Nicaragua" },
-    { "NL", "Netherlands" },
-    { "NO", "Norway" },
-    { "NP", "Nepal" },
-    { "NZ", "New Zealand" },
-    { "OM", "Oman" },
-    { "PA", "Panama" },
-    { "PE", "Peru" },
-    { "PH", "Philippines" },
-    { "PK", "Islamic Republic of Pakistan" },
-    { "PL", "Poland" },
-    { "PR", "Puerto Rico" },
-    { "PT", "Portugal" },
-    { "PY", "Paraguay" },
-    { "QA", "Qatar" },
-    { "RE", "Reunion" },
-    { "RO", "Romania" },
-    { "RS", "Serbia" },
-    { "RU", "Russia" },
-    { "RW", "Rwanda" },
-    { "SA", "Saudi Arabia" },
-    { "SE", "Sweden" },
-    { "SG", "Singapore" },
-    { "SI", "Slovenia" },
-    { "SK", "Slovak" },
-    { "SN", "Senegal" },
-    { "SO", "Somalia" },
-    { "SR", "Suriname" },
-    { "SV", "El Salvador" },
-    { "SY", "Syria" },
-    { "TH", "Thailand" },
-    { "TJ", "Tajikistan" },
-    { "TM", "Turkmenistan" },
-    { "TN", "Tunisia" },
-    { "TR", "Turkey" },
-    { "TT", "Trinidad and Tobago" },
-    { "TW", "Taiwan" },
-    { "TZ", "Tanzania" },
-    { "UA", "Ukraine" },
-    { "US", "United States" },
-    { "UY", "Uruguay" },
-    { "VA", "Vatican" },
-    { "VE", "Venezuela" },
-    { "VN", "Viet Nam" },
-    { "YE", "Yemen" },
-    { "ZA", "South Africa" },
-    { "ZW", "Zimbabwe" }
-  };
-
-/* Given a string STRING, find the set of indices i such that TABLE[i].code is
-   the given STRING.  It is a range [lo,hi-1].  */
-typedef struct { size_t lo; size_t hi; } range_t;
-static void
-search (const struct table_entry *table, size_t table_size, const char *string,
-        range_t *result)
-{
-  /* The table is sorted.  Perform a binary search.  */
-  size_t hi = table_size;
-  size_t lo = 0;
-  while (lo < hi)
-    {
-      /* Invariant:
-         for i < lo, strcmp (table[i].code, string) < 0,
-         for i >= hi, strcmp (table[i].code, string) > 0.  */
-      size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
-      int cmp = strcmp (table[mid].code, string);
-      if (cmp < 0)
-        lo = mid + 1;
-      else if (cmp > 0)
-        hi = mid;
-      else
-        {
-          /* Found an i with
-               strcmp (language_table[i].code, string) == 0.
-             Find the entire interval of such i.  */
-          {
-            size_t i;
-
-            for (i = mid; i > lo; )
-              {
-                i--;
-                if (strcmp (table[i].code, string) < 0)
-                  {
-                    lo = i + 1;
-                    break;
-                  }
-              }
-          }
-          {
-            size_t i;
-
-            for (i = mid; i < hi; i++)
-              {
-                if (strcmp (table[i].code, string) > 0)
-                  {
-                    hi = i;
-                    break;
-                  }
-              }
-          }
-          /* The set of i with
-               strcmp (language_table[i].code, string) == 0
-             is the interval [lo, hi-1].  */
-          break;
-        }
-    }
-  result->lo = lo;
-  result->hi = hi;
-}
-
-/* Like setlocale, but accept also locale names in the form ll or ll_CC,
-   where ll is an ISO 639 language code and CC is an ISO 3166 country code.  */
-static char *
-setlocale_unixlike (int category, const char *locale)
-{
-  char *result;
-  char llCC_buf[64];
-  char ll_buf[64];
-  char CC_buf[64];
-
-  /* First, try setlocale with the original argument unchanged.  */
-  result = setlocale (category, locale);
-  if (result != NULL)
-    return result;
-
-  /* Otherwise, assume the argument is in the form
-       language[_territory][.codeset][@modifier]
-     and try to map it using the tables.  */
-  if (strlen (locale) < sizeof (llCC_buf))
-    {
-      /* Second try: Remove the codeset part.  */
-      {
-        const char *p = locale;
-        char *q = llCC_buf;
-
-        /* Copy the part before the dot.  */
-        for (; *p != '\0' && *p != '.'; p++, q++)
-          *q = *p;
-        if (*p == '.')
-          /* Skip the part up to the '@', if any.  */
-          for (; *p != '\0' && *p != '@'; p++)
-            ;
-        /* Copy the part starting with '@', if any.  */
-        for (; *p != '\0'; p++, q++)
-          *q = *p;
-        *q = '\0';
-      }
-      /* llCC_buf now contains
-           language[_territory][@modifier]
-       */
-      if (strcmp (llCC_buf, locale) != 0)
-        {
-          result = setlocale (category, llCC_buf);
-          if (result != NULL)
-            return result;
-        }
-      /* Look it up in language_table.  */
-      {
-        range_t range;
-        size_t i;
-
-        search (language_table,
-                sizeof (language_table) / sizeof (language_table[0]),
-                llCC_buf,
-                &range);
-
-        for (i = range.lo; i < range.hi; i++)
-          {
-            /* Try the replacement in language_table[i].  */
-            result = setlocale (category, language_table[i].english);
-            if (result != NULL)
-              return result;
-          }
-      }
-      /* Split language[_territory][@modifier]
-         into  ll_buf = language[@modifier]
-         and   CC_buf = territory
-       */
-      {
-        const char *underscore = strchr (llCC_buf, '_');
-        if (underscore != NULL)
-          {
-            const char *territory_start = underscore + 1;
-            const char *territory_end = strchr (territory_start, '@');
-            if (territory_end == NULL)
-              territory_end = territory_start + strlen (territory_start);
-
-            memcpy (ll_buf, llCC_buf, underscore - llCC_buf);
-            strcpy (ll_buf + (underscore - llCC_buf), territory_end);
-
-            memcpy (CC_buf, territory_start, territory_end - territory_start);
-            CC_buf[territory_end - territory_start] = '\0';
-
-            {
-              /* Look up ll_buf in language_table
-                 and CC_buf in country_table.  */
-              range_t language_range;
-
-              search (language_table,
-                      sizeof (language_table) / sizeof (language_table[0]),
-                      ll_buf,
-                      &language_range);
-              if (language_range.lo < language_range.hi)
-                {
-                  range_t country_range;
-
-                  search (country_table,
-                          sizeof (country_table) / sizeof (country_table[0]),
-                          CC_buf,
-                          &country_range);
-                  if (country_range.lo < country_range.hi)
-                    {
-                      size_t i;
-                      size_t j;
-
-                      for (i = language_range.lo; i < language_range.hi; i++)
-                        for (j = country_range.lo; j < country_range.hi; j++)
-                          {
-                            /* Concatenate the replacements.  */
-                            const char *part1 = language_table[i].english;
-                            size_t part1_len = strlen (part1);
-                            const char *part2 = country_table[j].english;
-                            size_t part2_len = strlen (part2) + 1;
-                            char buf[64+64];
-
-                            if (!(part1_len + 1 + part2_len <= sizeof (buf)))
-                              abort ();
-                            memcpy (buf, part1, part1_len);
-                            buf[part1_len] = '_';
-                            memcpy (buf + part1_len + 1, part2, part2_len);
-
-                            /* Try the concatenated replacements.  */
-                            result = setlocale (category, buf);
-                            if (result != NULL)
-                              return result;
-                          }
-                    }
-
-                  /* Try omitting the country entirely.  This may set a locale
-                     corresponding to the wrong country, but is better than
-                     failing entirely.  */
-                  {
-                    size_t i;
-
-                    for (i = language_range.lo; i < language_range.hi; i++)
-                      {
-                        /* Try only the language replacement.  */
-                        result =
-                          setlocale (category, language_table[i].english);
-                        if (result != NULL)
-                          return result;
-                      }
-                  }
-                }
-            }
-          }
-      }
-    }
-
-  /* Failed.  */
-  return NULL;
-}
-
-# else
-#  define setlocale_unixlike setlocale
-# endif
-
-# if LC_MESSAGES == 1729
-
-/* The system does not store an LC_MESSAGES locale category.  Do it here.  */
-static char lc_messages_name[64] = "C";
-
-/* Like setlocale, but support also LC_MESSAGES.  */
-static char *
-setlocale_single (int category, const char *locale)
-{
-  if (category == LC_MESSAGES)
-    {
-      if (locale != NULL)
-        {
-          lc_messages_name[sizeof (lc_messages_name) - 1] = '\0';
-          strncpy (lc_messages_name, locale, sizeof (lc_messages_name) - 1);
-        }
-      return lc_messages_name;
-    }
-  else
-    return setlocale_unixlike (category, locale);
-}
-
-# else
-#  define setlocale_single setlocale_unixlike
-# endif
-
-char *
-rpl_setlocale (int category, const char *locale)
-{
-  if (locale != NULL && locale[0] == '\0')
-    {
-      /* A request to the set the current locale to the default locale.  */
-      if (category == LC_ALL)
-        {
-          /* Set LC_CTYPE first.  Then the other categories.  */
-          static int const categories[] =
-            {
-              LC_NUMERIC,
-              LC_TIME,
-              LC_COLLATE,
-              LC_MONETARY,
-              LC_MESSAGES
-            };
-          char *saved_locale;
-          const char *base_name;
-          unsigned int i;
-
-          /* Back up the old locale, in case one of the steps fails.  */
-          saved_locale = setlocale (LC_ALL, NULL);
-          if (saved_locale == NULL)
-            return NULL;
-          saved_locale = strdup (saved_locale);
-          if (saved_locale == NULL)
-            return NULL;
-
-          /* Set LC_CTYPE category.  Set all other categories (except possibly
-             LC_MESSAGES) to the same value in the same call; this is likely to
-             save calls.  */
-          base_name =
-            gl_locale_name_environ (LC_CTYPE, category_to_name (LC_CTYPE));
-          if (base_name == NULL)
-            base_name = gl_locale_name_default ();
-
-          if (setlocale_unixlike (LC_ALL, base_name) == NULL)
-            goto fail;
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-          /* On native Windows, setlocale(LC_ALL,...) may succeed but set the
-             LC_CTYPE category to an invalid value ("C") when it does not
-             support the specified encoding.  Report a failure instead.  */
-          if (strchr (base_name, '.') != NULL
-              && strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-            goto fail;
-# endif
-
-          for (i = 0; i < sizeof (categories) / sizeof (categories[0]); i++)
-            {
-              int cat = categories[i];
-              const char *name;
-
-              name = gl_locale_name_environ (cat, category_to_name (cat));
-              if (name == NULL)
-                name = gl_locale_name_default ();
-
-              /* If name is the same as base_name, it has already been set
-                 through the setlocale call before the loop.  */
-              if (strcmp (name, base_name) != 0
-# if LC_MESSAGES == 1729
-                  || cat == LC_MESSAGES
-# endif
-                 )
-                if (setlocale_single (cat, name) == NULL)
-                  goto fail;
-            }
-
-          /* All steps were successful.  */
-          free (saved_locale);
-          return setlocale (LC_ALL, NULL);
-
-        fail:
-          if (saved_locale[0] != '\0') /* don't risk an endless recursion */
-            setlocale (LC_ALL, saved_locale);
-          free (saved_locale);
-          return NULL;
-        }
-      else
-        {
-          const char *name =
-            gl_locale_name_environ (category, category_to_name (category));
-          if (name == NULL)
-            name = gl_locale_name_default ();
-
-          return setlocale_single (category, name);
-        }
-    }
-  else
-    {
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-      if (category == LC_ALL && locale != NULL && strchr (locale, '.') != NULL)
-        {
-          char *saved_locale;
-
-          /* Back up the old locale.  */
-          saved_locale = setlocale (LC_ALL, NULL);
-          if (saved_locale == NULL)
-            return NULL;
-          saved_locale = strdup (saved_locale);
-          if (saved_locale == NULL)
-            return NULL;
-
-          if (setlocale_unixlike (LC_ALL, locale) == NULL)
-            {
-              free (saved_locale);
-              return NULL;
-            }
-
-          /* On native Windows, setlocale(LC_ALL,...) may succeed but set the
-             LC_CTYPE category to an invalid value ("C") when it does not
-             support the specified encoding.  Report a failure instead.  */
-          if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-            {
-              if (saved_locale[0] != '\0') /* don't risk an endless recursion */
-                setlocale (LC_ALL, saved_locale);
-              free (saved_locale);
-              return NULL;
-            }
-
-          /* It was really successful.  */
-          free (saved_locale);
-          return setlocale (LC_ALL, NULL);
-        }
-      else
-# endif
-        return setlocale_single (category, locale);
-    }
-}
-
-#endif
diff --git a/lib/gltests/signature.h b/lib/gltests/signature.h
deleted file mode 100644 (file)
index d9d8b47..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Macro for checking that a function declaration is compliant.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-#ifndef SIGNATURE_CHECK
-
-/* Check that the function FN takes the specified arguments ARGS with
-   a return type of RET.  This header is designed to be included after
-   <config.h> and the one system header that is supposed to contain
-   the function being checked, but prior to any other system headers
-   that are necessary for the unit test.  Therefore, this file does
-   not include any system headers, nor reference anything outside of
-   the macro arguments.  For an example, if foo.h should provide:
-
-   extern int foo (char, float);
-
-   then the unit test named test-foo.c would start out with:
-
-   #include <config.h>
-   #include <foo.h>
-   #include "signature.h"
-   SIGNATURE_CHECK (foo, int, (char, float));
-   #include <other.h>
-   ...
-*/
-# define SIGNATURE_CHECK(fn, ret, args) \
-  SIGNATURE_CHECK1 (fn, ret, args, __LINE__)
-
-/* Necessary to allow multiple SIGNATURE_CHECK lines in a unit test.
-   Note that the checks must not occupy the same line.  */
-# define SIGNATURE_CHECK1(fn, ret, args, id) \
-  SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */
-# define SIGNATURE_CHECK2(fn, ret, args, id) \
-  static ret (* _GL_UNUSED signature_check ## id) args = fn
-
-#endif /* SIGNATURE_CHECK */
diff --git a/lib/gltests/stdlib.in.h b/lib/gltests/stdlib.in.h
deleted file mode 100644 (file)
index b546133..0000000
+++ /dev/null
@@ -1,928 +0,0 @@
-/* A GNU-like <stdlib.h>.
-
-   Copyright (C) 1995, 2001-2004, 2006-2012 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
-   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/>.  */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-#if defined __need_malloc_and_calloc
-/* Special invocation convention inside glibc header files.  */
-
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#else
-/* Normal invocation convention.  */
-
-#ifndef _@GUARD_PREFIX@_STDLIB_H
-
-/* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#ifndef _@GUARD_PREFIX@_STDLIB_H
-#define _@GUARD_PREFIX@_STDLIB_H
-
-/* NetBSD 5.0 mis-defines NULL.  */
-#include <stddef.h>
-
-/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
-#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
-# include <sys/wait.h>
-#endif
-
-/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
-#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
-# include <sys/loadavg.h>
-#endif
-
-/* Native Windows platforms declare mktemp() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-# include <io.h>
-#endif
-
-#if @GNULIB_RANDOM_R@
-
-/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
-   from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
-   'struct random_data'.  */
-# if @HAVE_RANDOM_H@
-#  include <random.h>
-# endif
-
-# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
-#  include <stdint.h>
-# endif
-
-# if !@HAVE_STRUCT_RANDOM_DATA@
-/* Define 'struct random_data'.
-   But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
-#  if !GNULIB_defined_struct_random_data
-struct random_data
-{
-  int32_t *fptr;                /* Front pointer.  */
-  int32_t *rptr;                /* Rear pointer.  */
-  int32_t *state;               /* Array of state values.  */
-  int rand_type;                /* Type of random number generator.  */
-  int rand_deg;                 /* Degree of random number generator.  */
-  int rand_sep;                 /* Distance between front and rear.  */
-  int32_t *end_ptr;             /* Pointer behind state table.  */
-};
-#   define GNULIB_defined_struct_random_data 1
-#  endif
-# endif
-#endif
-
-#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-/* On MacOS X 10.3, only <unistd.h> declares mkstemp.  */
-/* On MacOS X 10.5, only <unistd.h> declares mkstemps.  */
-/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
-/* But avoid namespace pollution on glibc systems and native Windows.  */
-# include <unistd.h>
-#endif
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The definition of _Noreturn is copied here.  */
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
-/* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
-#ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-#endif
-/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
-   with proper operation of xargs.  */
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#elif EXIT_FAILURE != 1
-# undef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-
-#if @GNULIB__EXIT@
-/* Terminate the current process with the given return code, without running
-   the 'atexit' handlers.  */
-# if !@HAVE__EXIT@
-_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
-# endif
-_GL_CXXALIAS_SYS (_Exit, void, (int status));
-_GL_CXXALIASWARN (_Exit);
-#elif defined GNULIB_POSIXCHECK
-# undef _Exit
-# if HAVE_RAW_DECL__EXIT
-_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
-                 "use gnulib module _Exit for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ATOLL@
-/* Parse a signed decimal integer.
-   Returns the value of the integer.  Errors are not detected.  */
-# if !@HAVE_ATOLL@
-_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
-                                    _GL_ATTRIBUTE_PURE
-                                    _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
-_GL_CXXALIASWARN (atoll);
-#elif defined GNULIB_POSIXCHECK
-# undef atoll
-# if HAVE_RAW_DECL_ATOLL
-_GL_WARN_ON_USE (atoll, "atoll is unportable - "
-                 "use gnulib module atoll for portability");
-# endif
-#endif
-
-#if @GNULIB_CALLOC_POSIX@
-# if @REPLACE_CALLOC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef calloc
-#   define calloc rpl_calloc
-#  endif
-_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
-_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
-# else
-_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
-# endif
-_GL_CXXALIASWARN (calloc);
-#elif defined GNULIB_POSIXCHECK
-# undef calloc
-/* Assume calloc is always declared.  */
-_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
-                 "use gnulib module calloc-posix for portability");
-#endif
-
-#if @GNULIB_CANONICALIZE_FILE_NAME@
-# if @REPLACE_CANONICALIZE_FILE_NAME@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define canonicalize_file_name rpl_canonicalize_file_name
-#  endif
-_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
-                                                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
-# else
-#  if !@HAVE_CANONICALIZE_FILE_NAME@
-_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
-                                                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
-# endif
-_GL_CXXALIASWARN (canonicalize_file_name);
-#elif defined GNULIB_POSIXCHECK
-# undef canonicalize_file_name
-# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-_GL_WARN_ON_USE (canonicalize_file_name,
-                 "canonicalize_file_name is unportable - "
-                 "use gnulib module canonicalize-lgpl for portability");
-# endif
-#endif
-
-#if @GNULIB_GETLOADAVG@
-/* Store max(NELEM,3) load average numbers in LOADAVG[].
-   The three numbers are the load average of the last 1 minute, the last 5
-   minutes, and the last 15 minutes, respectively.
-   LOADAVG is an array of NELEM numbers.  */
-# if !@HAVE_DECL_GETLOADAVG@
-_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
-                                   _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
-_GL_CXXALIASWARN (getloadavg);
-#elif defined GNULIB_POSIXCHECK
-# undef getloadavg
-# if HAVE_RAW_DECL_GETLOADAVG
-_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
-                 "use gnulib module getloadavg for portability");
-# endif
-#endif
-
-#if @GNULIB_GETSUBOPT@
-/* Assuming *OPTIONP is a comma separated list of elements of the form
-   "token" or "token=value", getsubopt parses the first of these elements.
-   If the first element refers to a "token" that is member of the given
-   NULL-terminated array of tokens:
-     - It replaces the comma with a NUL byte, updates *OPTIONP to point past
-       the first option and the comma, sets *VALUEP to the value of the
-       element (or NULL if it doesn't contain an "=" sign),
-     - It returns the index of the "token" in the given array of tokens.
-   Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
-   For more details see the POSIX:2001 specification.
-   http://www.opengroup.org/susv3xsh/getsubopt.html */
-# if !@HAVE_GETSUBOPT@
-_GL_FUNCDECL_SYS (getsubopt, int,
-                  (char **optionp, char *const *tokens, char **valuep)
-                  _GL_ARG_NONNULL ((1, 2, 3)));
-# endif
-_GL_CXXALIAS_SYS (getsubopt, int,
-                  (char **optionp, char *const *tokens, char **valuep));
-_GL_CXXALIASWARN (getsubopt);
-#elif defined GNULIB_POSIXCHECK
-# undef getsubopt
-# if HAVE_RAW_DECL_GETSUBOPT
-_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
-                 "use gnulib module getsubopt for portability");
-# endif
-#endif
-
-#if @GNULIB_GRANTPT@
-/* Change the ownership and access permission of the slave side of the
-   pseudo-terminal whose master side is specified by FD.  */
-# if !@HAVE_GRANTPT@
-_GL_FUNCDECL_SYS (grantpt, int, (int fd));
-# endif
-_GL_CXXALIAS_SYS (grantpt, int, (int fd));
-_GL_CXXALIASWARN (grantpt);
-#elif defined GNULIB_POSIXCHECK
-# undef grantpt
-# if HAVE_RAW_DECL_GRANTPT
-_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
-                 "use gnulib module grantpt for portability");
-# endif
-#endif
-
-/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
-   rely on GNU or POSIX semantics for malloc and realloc (for example,
-   by never specifying a zero size), so it does not need malloc or
-   realloc to be redefined.  */
-#if @GNULIB_MALLOC_POSIX@
-# if @REPLACE_MALLOC@
-#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
-        || _GL_USE_STDLIB_ALLOC)
-#   undef malloc
-#   define malloc rpl_malloc
-#  endif
-_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
-_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
-# else
-_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
-# endif
-_GL_CXXALIASWARN (malloc);
-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
-# undef malloc
-/* Assume malloc is always declared.  */
-_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
-                 "use gnulib module malloc-posix for portability");
-#endif
-
-/* Convert a multibyte character to a wide character.  */
-#if @GNULIB_MBTOWC@
-# if @REPLACE_MBTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbtowc
-#   define mbtowc rpl_mbtowc
-#  endif
-_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-# else
-_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
-# endif
-_GL_CXXALIASWARN (mbtowc);
-#endif
-
-#if @GNULIB_MKDTEMP@
-/* Create a unique temporary directory from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the directory name unique.
-   Returns TEMPLATE, or a null pointer if it cannot get a unique name.
-   The directory is created mode 700.  */
-# if !@HAVE_MKDTEMP@
-_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
-_GL_CXXALIASWARN (mkdtemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkdtemp
-# if HAVE_RAW_DECL_MKDTEMP
-_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
-                 "use gnulib module mkdtemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKOSTEMP@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
-   and O_TEXT, O_BINARY (defined in "binary-io.h").
-   The file is then created, with the specified flags, ensuring it didn't exist
-   before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKOSTEMP@
-_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
-                                 _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
-_GL_CXXALIASWARN (mkostemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkostemp
-# if HAVE_RAW_DECL_MKOSTEMP
-_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
-                 "use gnulib module mkostemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKOSTEMPS@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE before a suffix of length
-   SUFFIXLEN must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
-   and O_TEXT, O_BINARY (defined in "binary-io.h").
-   The file is then created, with the specified flags, ensuring it didn't exist
-   before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKOSTEMPS@
-_GL_FUNCDECL_SYS (mkostemps, int,
-                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkostemps, int,
-                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
-_GL_CXXALIASWARN (mkostemps);
-#elif defined GNULIB_POSIXCHECK
-# undef mkostemps
-# if HAVE_RAW_DECL_MKOSTEMPS
-_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
-                 "use gnulib module mkostemps for portability");
-# endif
-#endif
-
-#if @GNULIB_MKSTEMP@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The file is then created, ensuring it didn't exist before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if @REPLACE_MKSTEMP@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define mkstemp rpl_mkstemp
-#  endif
-_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
-# else
-#  if ! @HAVE_MKSTEMP@
-_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
-# endif
-_GL_CXXALIASWARN (mkstemp);
-#elif defined GNULIB_POSIXCHECK
-# undef mkstemp
-# if HAVE_RAW_DECL_MKSTEMP
-_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
-                 "use gnulib module mkstemp for portability");
-# endif
-#endif
-
-#if @GNULIB_MKSTEMPS@
-/* Create a unique temporary file from TEMPLATE.
-   The last six characters of TEMPLATE prior to a suffix of length
-   SUFFIXLEN must be "XXXXXX";
-   they are replaced with a string that makes the file name unique.
-   The file is then created, ensuring it didn't exist before.
-   The file is created read-write (mask at least 0600 & ~umask), but it may be
-   world-readable and world-writable (mask 0666 & ~umask), depending on the
-   implementation.
-   Returns the open file descriptor if successful, otherwise -1 and errno
-   set.  */
-# if !@HAVE_MKSTEMPS@
-_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
-                                 _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
-_GL_CXXALIASWARN (mkstemps);
-#elif defined GNULIB_POSIXCHECK
-# undef mkstemps
-# if HAVE_RAW_DECL_MKSTEMPS
-_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
-                 "use gnulib module mkstemps for portability");
-# endif
-#endif
-
-#if @GNULIB_POSIX_OPENPT@
-/* Return an FD open to the master side of a pseudo-terminal.  Flags should
-   include O_RDWR, and may also include O_NOCTTY.  */
-# if !@HAVE_POSIX_OPENPT@
-_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
-# endif
-_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
-_GL_CXXALIASWARN (posix_openpt);
-#elif defined GNULIB_POSIXCHECK
-# undef posix_openpt
-# if HAVE_RAW_DECL_POSIX_OPENPT
-_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
-                 "use gnulib module posix_openpt for portability");
-# endif
-#endif
-
-#if @GNULIB_PTSNAME@
-/* Return the pathname of the pseudo-terminal slave associated with
-   the master FD is open on, or NULL on errors.  */
-# if !@HAVE_PTSNAME@
-_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
-# endif
-_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
-_GL_CXXALIASWARN (ptsname);
-#elif defined GNULIB_POSIXCHECK
-# undef ptsname
-# if HAVE_RAW_DECL_PTSNAME
-_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
-                 "use gnulib module ptsname for portability");
-# endif
-#endif
-
-#if @GNULIB_PTSNAME_R@
-/* Set the pathname of the pseudo-terminal slave associated with
-   the master FD is open on and return 0, or set errno and return
-   non-zero on errors.  */
-# if @REPLACE_PTSNAME_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ptsname_r
-#   define ptsname_r rpl_ptsname_r
-#  endif
-_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
-_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
-# else
-#  if !@HAVE_PTSNAME_R@
-_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
-#  endif
-_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
-# endif
-_GL_CXXALIASWARN (ptsname_r);
-#elif defined GNULIB_POSIXCHECK
-# undef ptsname_r
-# if HAVE_RAW_DECL_PTSNAME_R
-_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
-                 "use gnulib module ptsname_r for portability");
-# endif
-#endif
-
-#if @GNULIB_PUTENV@
-# if @REPLACE_PUTENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef putenv
-#   define putenv rpl_putenv
-#  endif
-_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (putenv, int, (char *string));
-# else
-_GL_CXXALIAS_SYS (putenv, int, (char *string));
-# endif
-_GL_CXXALIASWARN (putenv);
-#endif
-
-
-#if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
-#  ifndef RAND_MAX
-#   define RAND_MAX 2147483647
-#  endif
-# endif
-#endif
-
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (random, long, (void));
-# endif
-_GL_CXXALIAS_SYS (random, long, (void));
-_GL_CXXALIASWARN (random);
-#elif defined GNULIB_POSIXCHECK
-# undef random
-# if HAVE_RAW_DECL_RANDOM
-_GL_WARN_ON_USE (random, "random is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
-# endif
-_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
-_GL_CXXALIASWARN (srandom);
-#elif defined GNULIB_POSIXCHECK
-# undef srandom
-# if HAVE_RAW_DECL_SRANDOM
-_GL_WARN_ON_USE (srandom, "srandom is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (initstate, char *,
-                  (unsigned int seed, char *buf, size_t buf_size)
-                  _GL_ARG_NONNULL ((2)));
-# endif
-_GL_CXXALIAS_SYS (initstate, char *,
-                  (unsigned int seed, char *buf, size_t buf_size));
-_GL_CXXALIASWARN (initstate);
-#elif defined GNULIB_POSIXCHECK
-# undef initstate
-# if HAVE_RAW_DECL_INITSTATE_R
-_GL_WARN_ON_USE (initstate, "initstate is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM@
-# if !@HAVE_RANDOM@
-_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
-_GL_CXXALIASWARN (setstate);
-#elif defined GNULIB_POSIXCHECK
-# undef setstate
-# if HAVE_RAW_DECL_SETSTATE_R
-_GL_WARN_ON_USE (setstate, "setstate is unportable - "
-                 "use gnulib module random for portability");
-# endif
-#endif
-
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef random_r
-#   define random_r rpl_random_r
-#  endif
-_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
-                                 _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
-                                 _GL_ARG_NONNULL ((1, 2)));
-#  endif
-_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
-# endif
-_GL_CXXALIASWARN (random_r);
-#elif defined GNULIB_POSIXCHECK
-# undef random_r
-# if HAVE_RAW_DECL_RANDOM_R
-_GL_WARN_ON_USE (random_r, "random_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef srandom_r
-#   define srandom_r rpl_srandom_r
-#  endif
-_GL_FUNCDECL_RPL (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (srandom_r, int,
-                  (unsigned int seed, struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (srandom_r);
-#elif defined GNULIB_POSIXCHECK
-# undef srandom_r
-# if HAVE_RAW_DECL_SRANDOM_R
-_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef initstate_r
-#   define initstate_r rpl_initstate_r
-#  endif
-_GL_FUNCDECL_RPL (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2, 4)));
-_GL_CXXALIAS_RPL (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((2, 4)));
-#  endif
-_GL_CXXALIAS_SYS (initstate_r, int,
-                  (unsigned int seed, char *buf, size_t buf_size,
-                   struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (initstate_r);
-#elif defined GNULIB_POSIXCHECK
-# undef initstate_r
-# if HAVE_RAW_DECL_INITSTATE_R
-_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-#if @GNULIB_RANDOM_R@
-# if @REPLACE_RANDOM_R@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setstate_r
-#   define setstate_r rpl_setstate_r
-#  endif
-_GL_FUNCDECL_RPL (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state));
-# else
-#  if !@HAVE_RANDOM_R@
-_GL_FUNCDECL_SYS (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state)
-                  _GL_ARG_NONNULL ((1, 2)));
-#  endif
-_GL_CXXALIAS_SYS (setstate_r, int,
-                  (char *arg_state, struct random_data *rand_state));
-# endif
-_GL_CXXALIASWARN (setstate_r);
-#elif defined GNULIB_POSIXCHECK
-# undef setstate_r
-# if HAVE_RAW_DECL_SETSTATE_R
-_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
-                 "use gnulib module random_r for portability");
-# endif
-#endif
-
-
-#if @GNULIB_REALLOC_POSIX@
-# if @REPLACE_REALLOC@
-#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
-        || _GL_USE_STDLIB_ALLOC)
-#   undef realloc
-#   define realloc rpl_realloc
-#  endif
-_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
-_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
-# else
-_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
-# endif
-_GL_CXXALIASWARN (realloc);
-#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
-# undef realloc
-/* Assume realloc is always declared.  */
-_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
-                 "use gnulib module realloc-posix for portability");
-#endif
-
-#if @GNULIB_REALPATH@
-# if @REPLACE_REALPATH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define realpath rpl_realpath
-#  endif
-_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
-                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
-# else
-#  if !@HAVE_REALPATH@
-_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
-                                    _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
-# endif
-_GL_CXXALIASWARN (realpath);
-#elif defined GNULIB_POSIXCHECK
-# undef realpath
-# if HAVE_RAW_DECL_REALPATH
-_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
-                 "canonicalize or canonicalize-lgpl for portability");
-# endif
-#endif
-
-#if @GNULIB_RPMATCH@
-/* Test a user response to a question.
-   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
-# if !@HAVE_RPMATCH@
-_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
-_GL_CXXALIASWARN (rpmatch);
-#elif defined GNULIB_POSIXCHECK
-# undef rpmatch
-# if HAVE_RAW_DECL_RPMATCH
-_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
-                 "use gnulib module rpmatch for portability");
-# endif
-#endif
-
-#if @GNULIB_SETENV@
-/* Set NAME to VALUE in the environment.
-   If REPLACE is nonzero, overwrite an existing value.  */
-# if @REPLACE_SETENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setenv
-#   define setenv rpl_setenv
-#  endif
-_GL_FUNCDECL_RPL (setenv, int,
-                  (const char *name, const char *value, int replace)
-                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (setenv, int,
-                  (const char *name, const char *value, int replace));
-# else
-#  if !@HAVE_DECL_SETENV@
-_GL_FUNCDECL_SYS (setenv, int,
-                  (const char *name, const char *value, int replace)
-                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (setenv, int,
-                  (const char *name, const char *value, int replace));
-# endif
-# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
-_GL_CXXALIASWARN (setenv);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef setenv
-# if HAVE_RAW_DECL_SETENV
-_GL_WARN_ON_USE (setenv, "setenv is unportable - "
-                 "use gnulib module setenv for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOD@
- /* Parse a double from STRING, updating ENDP if appropriate.  */
-# if @REPLACE_STRTOD@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define strtod rpl_strtod
-#  endif
-_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
-                                  _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
-# else
-#  if !@HAVE_STRTOD@
-_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
-                                  _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
-# endif
-_GL_CXXALIASWARN (strtod);
-#elif defined GNULIB_POSIXCHECK
-# undef strtod
-# if HAVE_RAW_DECL_STRTOD
-_GL_WARN_ON_USE (strtod, "strtod is unportable - "
-                 "use gnulib module strtod for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOLL@
-/* Parse a signed integer whose textual representation starts at STRING.
-   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
-   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
-   "0x").
-   If ENDPTR is not NULL, the address of the first byte after the integer is
-   stored in *ENDPTR.
-   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
-   to ERANGE.  */
-# if !@HAVE_STRTOLL@
-_GL_FUNCDECL_SYS (strtoll, long long,
-                  (const char *string, char **endptr, int base)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoll, long long,
-                  (const char *string, char **endptr, int base));
-_GL_CXXALIASWARN (strtoll);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoll
-# if HAVE_RAW_DECL_STRTOLL
-_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
-                 "use gnulib module strtoll for portability");
-# endif
-#endif
-
-#if @GNULIB_STRTOULL@
-/* Parse an unsigned integer whose textual representation starts at STRING.
-   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
-   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
-   "0x").
-   If ENDPTR is not NULL, the address of the first byte after the integer is
-   stored in *ENDPTR.
-   Upon overflow, the return value is ULLONG_MAX, and errno is set to
-   ERANGE.  */
-# if !@HAVE_STRTOULL@
-_GL_FUNCDECL_SYS (strtoull, unsigned long long,
-                  (const char *string, char **endptr, int base)
-                  _GL_ARG_NONNULL ((1)));
-# endif
-_GL_CXXALIAS_SYS (strtoull, unsigned long long,
-                  (const char *string, char **endptr, int base));
-_GL_CXXALIASWARN (strtoull);
-#elif defined GNULIB_POSIXCHECK
-# undef strtoull
-# if HAVE_RAW_DECL_STRTOULL
-_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
-                 "use gnulib module strtoull for portability");
-# endif
-#endif
-
-#if @GNULIB_UNLOCKPT@
-/* Unlock the slave side of the pseudo-terminal whose master side is specified
-   by FD, so that it can be opened.  */
-# if !@HAVE_UNLOCKPT@
-_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
-# endif
-_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
-_GL_CXXALIASWARN (unlockpt);
-#elif defined GNULIB_POSIXCHECK
-# undef unlockpt
-# if HAVE_RAW_DECL_UNLOCKPT
-_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
-                 "use gnulib module unlockpt for portability");
-# endif
-#endif
-
-#if @GNULIB_UNSETENV@
-/* Remove the variable NAME from the environment.  */
-# if @REPLACE_UNSETENV@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef unsetenv
-#   define unsetenv rpl_unsetenv
-#  endif
-_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
-# else
-#  if !@HAVE_DECL_UNSETENV@
-_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
-#  endif
-_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
-# endif
-# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
-_GL_CXXALIASWARN (unsetenv);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef unsetenv
-# if HAVE_RAW_DECL_UNSETENV
-_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
-                 "use gnulib module unsetenv for portability");
-# endif
-#endif
-
-/* Convert a wide character to a multibyte character.  */
-#if @GNULIB_WCTOMB@
-# if @REPLACE_WCTOMB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wctomb
-#   define wctomb rpl_wctomb
-#  endif
-_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
-_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
-# else
-_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
-# endif
-_GL_CXXALIASWARN (wctomb);
-#endif
-
-
-#endif /* _@GUARD_PREFIX@_STDLIB_H */
-#endif /* _@GUARD_PREFIX@_STDLIB_H */
-#endif
diff --git a/lib/gltests/sys_types.in.h b/lib/gltests/sys_types.in.h
deleted file mode 100644 (file)
index 8139d98..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Provide a more complete sys/types.h.
-
-   Copyright (C) 2011-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
-
-/* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
-
-#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
-#define _@GUARD_PREFIX@_SYS_TYPES_H
-
-/* Override off_t if Large File Support is requested on native Windows.  */
-#if @WINDOWS_64_BIT_OFF_T@
-/* Same as int64_t in <stdint.h>.  */
-# if defined _MSC_VER
-#  define off_t __int64
-# else
-#  define off_t long long int
-# endif
-/* Indicator, for gnulib internal purposes.  */
-# define _GL_WINDOWS_64_BIT_OFF_T 1
-#endif
-
-/* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
-/* But avoid namespace pollution on glibc systems.  */
-#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
-    && ! defined __GLIBC__
-# include <stddef.h>
-#endif
-
-#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
-#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
diff --git a/lib/gltests/test-alloca-opt.c b/lib/gltests/test-alloca-opt.c
deleted file mode 100644 (file)
index 4e814c6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Test of optional automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <alloca.h>
-
-#if HAVE_ALLOCA
-
-static void
-do_allocation (int n)
-{
-  void *ptr = alloca (n);
-  (void) ptr;
-}
-
-void (*func) (int) = do_allocation;
-
-#endif
-
-int
-main ()
-{
-#if HAVE_ALLOCA
-  int i;
-
-  /* Repeat a lot of times, to make sure there's no memory leak.  */
-  for (i = 0; i < 100000; i++)
-    {
-      /* Try various values.
-         n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
-      func (34);
-      func (134);
-      func (399);
-      func (510823);
-      func (129321);
-      func (0);
-      func (4070);
-      func (4095);
-      func (1);
-      func (16582);
-    }
-#endif
-
-  return 0;
-}
diff --git a/lib/gltests/test-c-ctype.c b/lib/gltests/test-c-ctype.c
deleted file mode 100644 (file)
index a9cb655..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-/* Test of character handling in C locale.
-   Copyright (C) 2005, 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-#include "c-ctype.h"
-
-#include <locale.h>
-
-#include "macros.h"
-
-static void
-test_all (void)
-{
-  int c;
-
-  for (c = -0x80; c < 0x100; c++)
-    {
-      ASSERT (c_isascii (c) == (c >= 0 && c < 0x80));
-
-      switch (c)
-        {
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-        case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-        case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-        case 'Y': case 'Z':
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-        case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-        case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-        case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-        case 'y': case 'z':
-        case '0': case '1': case '2': case '3': case '4': case '5':
-        case '6': case '7': case '8': case '9':
-          ASSERT (c_isalnum (c) == 1);
-          break;
-        default:
-          ASSERT (c_isalnum (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-        case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-        case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-        case 'Y': case 'Z':
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-        case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-        case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-        case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-        case 'y': case 'z':
-          ASSERT (c_isalpha (c) == 1);
-          break;
-        default:
-          ASSERT (c_isalpha (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case '\t': case ' ':
-          ASSERT (c_isblank (c) == 1);
-          break;
-        default:
-          ASSERT (c_isblank (c) == 0);
-          break;
-        }
-
-      ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f));
-
-      switch (c)
-        {
-        case '0': case '1': case '2': case '3': case '4': case '5':
-        case '6': case '7': case '8': case '9':
-          ASSERT (c_isdigit (c) == 1);
-          break;
-        default:
-          ASSERT (c_isdigit (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-        case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-        case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-        case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-        case 'y': case 'z':
-          ASSERT (c_islower (c) == 1);
-          break;
-        default:
-          ASSERT (c_islower (c) == 0);
-          break;
-        }
-
-      ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' '));
-
-      ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f));
-
-      ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c)));
-
-      switch (c)
-        {
-        case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
-          ASSERT (c_isspace (c) == 1);
-          break;
-        default:
-          ASSERT (c_isspace (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-        case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-        case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-        case 'Y': case 'Z':
-          ASSERT (c_isupper (c) == 1);
-          break;
-        default:
-          ASSERT (c_isupper (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case '0': case '1': case '2': case '3': case '4': case '5':
-        case '6': case '7': case '8': case '9':
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-          ASSERT (c_isxdigit (c) == 1);
-          break;
-        default:
-          ASSERT (c_isxdigit (c) == 0);
-          break;
-        }
-
-      switch (c)
-        {
-        case 'A':
-          ASSERT (c_tolower (c) == 'a');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'B':
-          ASSERT (c_tolower (c) == 'b');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'C':
-          ASSERT (c_tolower (c) == 'c');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'D':
-          ASSERT (c_tolower (c) == 'd');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'E':
-          ASSERT (c_tolower (c) == 'e');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'F':
-          ASSERT (c_tolower (c) == 'f');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'G':
-          ASSERT (c_tolower (c) == 'g');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'H':
-          ASSERT (c_tolower (c) == 'h');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'I':
-          ASSERT (c_tolower (c) == 'i');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'J':
-          ASSERT (c_tolower (c) == 'j');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'K':
-          ASSERT (c_tolower (c) == 'k');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'L':
-          ASSERT (c_tolower (c) == 'l');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'M':
-          ASSERT (c_tolower (c) == 'm');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'N':
-          ASSERT (c_tolower (c) == 'n');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'O':
-          ASSERT (c_tolower (c) == 'o');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'P':
-          ASSERT (c_tolower (c) == 'p');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Q':
-          ASSERT (c_tolower (c) == 'q');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'R':
-          ASSERT (c_tolower (c) == 'r');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'S':
-          ASSERT (c_tolower (c) == 's');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'T':
-          ASSERT (c_tolower (c) == 't');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'U':
-          ASSERT (c_tolower (c) == 'u');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'V':
-          ASSERT (c_tolower (c) == 'v');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'W':
-          ASSERT (c_tolower (c) == 'w');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'X':
-          ASSERT (c_tolower (c) == 'x');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Y':
-          ASSERT (c_tolower (c) == 'y');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Z':
-          ASSERT (c_tolower (c) == 'z');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'a':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'A');
-          break;
-        case 'b':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'B');
-          break;
-        case 'c':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'C');
-          break;
-        case 'd':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'D');
-          break;
-        case 'e':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'E');
-          break;
-        case 'f':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'F');
-          break;
-        case 'g':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'G');
-          break;
-        case 'h':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'H');
-          break;
-        case 'i':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'I');
-          break;
-        case 'j':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'J');
-          break;
-        case 'k':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'K');
-          break;
-        case 'l':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'L');
-          break;
-        case 'm':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'M');
-          break;
-        case 'n':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'N');
-          break;
-        case 'o':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'O');
-          break;
-        case 'p':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'P');
-          break;
-        case 'q':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Q');
-          break;
-        case 'r':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'R');
-          break;
-        case 's':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'S');
-          break;
-        case 't':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'T');
-          break;
-        case 'u':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'U');
-          break;
-        case 'v':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'V');
-          break;
-        case 'w':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'W');
-          break;
-        case 'x':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'X');
-          break;
-        case 'y':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Y');
-          break;
-        case 'z':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Z');
-          break;
-        default:
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == c);
-          break;
-        }
-    }
-}
-
-int
-main ()
-{
-  test_all ();
-
-  setlocale (LC_ALL, "de_DE");
-  test_all ();
-
-  setlocale (LC_ALL, "ja_JP.EUC-JP");
-  test_all ();
-
-  return 0;
-}
diff --git a/lib/gltests/test-c-strcase.sh b/lib/gltests/test-c-strcase.sh
deleted file mode 100755 (executable)
index 5fcf906..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Test in the C locale.
-./test-c-strcasecmp${EXEEXT} || exit 1
-./test-c-strncasecmp${EXEEXT} || exit 1
-
-# Test in an ISO-8859-1 or ISO-8859-15 locale.
-: ${LOCALE_FR=fr_FR}
-if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR ./test-c-strcasecmp${EXEEXT} locale || exit 1
-  LC_ALL=$LOCALE_FR ./test-c-strncasecmp${EXEEXT} locale || exit 1
-fi
-
-# Test in a Turkish UTF-8 locale.
-: ${LOCALE_TR_UTF8=tr_TR.UTF-8}
-if test $LOCALE_TR_UTF8 != none; then
-  LC_ALL=$LOCALE_TR_UTF8 ./test-c-strcasecmp${EXEEXT} locale || exit 1
-  LC_ALL=$LOCALE_TR_UTF8 ./test-c-strncasecmp${EXEEXT} locale || exit 1
-fi
-
-exit 0
diff --git a/lib/gltests/test-c-strcasecmp.c b/lib/gltests/test-c-strcasecmp.c
deleted file mode 100644 (file)
index 1eb5958..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include "c-strcase.h"
-
-#include <locale.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  if (argc > 1)
-    {
-      /* configure should already have checked that the locale is supported.  */
-      if (setlocale (LC_ALL, "") == NULL)
-        return 1;
-    }
-
-  ASSERT (c_strcasecmp ("paragraph", "Paragraph") == 0);
-
-  ASSERT (c_strcasecmp ("paragrapH", "parAgRaph") == 0);
-
-  ASSERT (c_strcasecmp ("paragraph", "paraLyzed") < 0);
-  ASSERT (c_strcasecmp ("paraLyzed", "paragraph") > 0);
-
-  ASSERT (c_strcasecmp ("para", "paragraph") < 0);
-  ASSERT (c_strcasecmp ("paragraph", "para") > 0);
-
-  /* The following tests shows how c_strcasecmp() is different from
-     strcasecmp().  */
-
-  ASSERT (c_strcasecmp ("\311mile", "\351mile") < 0);
-  ASSERT (c_strcasecmp ("\351mile", "\311mile") > 0);
-
-  /* The following tests shows how c_strcasecmp() is different from
-     mbscasecmp().  */
-
-  ASSERT (c_strcasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R") > 0); /* özgür */
-  ASSERT (c_strcasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r") < 0); /* özgür */
-
-  /* This test shows how strings of different size cannot compare equal.  */
-  ASSERT (c_strcasecmp ("turkish", "TURK\304\260SH") < 0);
-  ASSERT (c_strcasecmp ("TURK\304\260SH", "turkish") > 0);
-
-  return 0;
-}
diff --git a/lib/gltests/test-c-strncasecmp.c b/lib/gltests/test-c-strncasecmp.c
deleted file mode 100644 (file)
index 479528b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include "c-strcase.h"
-
-#include <locale.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  if (argc > 1)
-    {
-      /* configure should already have checked that the locale is supported.  */
-      if (setlocale (LC_ALL, "") == NULL)
-        return 1;
-    }
-
-  ASSERT (c_strncasecmp ("paragraph", "Paragraph", 1000000) == 0);
-  ASSERT (c_strncasecmp ("paragraph", "Paragraph", 9) == 0);
-
-  ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 1000000) == 0);
-  ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 9) == 0);
-
-  ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 10) < 0);
-  ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 9) < 0);
-  ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 5) < 0);
-  ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 4) == 0);
-  ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 10) > 0);
-  ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 9) > 0);
-  ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 5) > 0);
-  ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 4) == 0);
-
-  ASSERT (c_strncasecmp ("para", "paragraph", 10) < 0);
-  ASSERT (c_strncasecmp ("para", "paragraph", 9) < 0);
-  ASSERT (c_strncasecmp ("para", "paragraph", 5) < 0);
-  ASSERT (c_strncasecmp ("para", "paragraph", 4) == 0);
-  ASSERT (c_strncasecmp ("paragraph", "para", 10) > 0);
-  ASSERT (c_strncasecmp ("paragraph", "para", 9) > 0);
-  ASSERT (c_strncasecmp ("paragraph", "para", 5) > 0);
-  ASSERT (c_strncasecmp ("paragraph", "para", 4) == 0);
-
-  /* The following tests shows how c_strncasecmp() is different from
-     strncasecmp().  */
-
-  ASSERT (c_strncasecmp ("\311mily", "\351mile", 4) < 0);
-  ASSERT (c_strncasecmp ("\351mile", "\311mily", 4) > 0);
-
-  /* The following tests shows how c_strncasecmp() is different from
-     mbsncasecmp().  */
-
-  ASSERT (c_strncasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R", 99) > 0); /* özgür */
-  ASSERT (c_strncasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r", 99) < 0); /* özgür */
-
-  /* This test shows how strings of different size cannot compare equal.  */
-  ASSERT (c_strncasecmp ("turkish", "TURK\304\260SH", 7) < 0);
-  ASSERT (c_strncasecmp ("TURK\304\260SH", "turkish", 7) > 0);
-
-  return 0;
-}
diff --git a/lib/gltests/test-environ.c b/lib/gltests/test-environ.c
deleted file mode 100644 (file)
index 972ed06..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Test of environ variable.
-   Copyright (C) 2008-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2008.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include <string.h>
-
-int
-main ()
-{
-  /* The environment variables that are set even in the weirdest situations
-     are HOME and PATH.
-     POSIX says that HOME is initialized by the system, and that PATH may be
-     unset.  But in practice it's more frequent to see HOME unset and PATH
-     set.  So we test the presence of PATH.  */
-  char **remaining_variables = environ;
-  char *string;
-
-  for (; (string = *remaining_variables) != NULL; remaining_variables++)
-    {
-      if (strncmp (string, "PATH=", 5) == 0)
-        /* Found the PATH environment variable.  */
-        return 0;
-    }
-  /* Failed to find the PATH environment variable.  */
-  return 1;
-}
diff --git a/lib/gltests/test-iconv.c b/lib/gltests/test-iconv.c
deleted file mode 100644 (file)
index 333af2a..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Test of character set conversion.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#if HAVE_ICONV
-# include <iconv.h>
-
-# ifndef ICONV_CONST
-#  define ICONV_CONST /* empty */
-# endif
-
-#include "signature.h"
-SIGNATURE_CHECK (iconv, size_t, (iconv_t, ICONV_CONST char **, size_t *,
-                                 char **, size_t *));
-SIGNATURE_CHECK (iconv_close, int, (iconv_t x));
-SIGNATURE_CHECK (iconv_open, iconv_t, (char const *, char const *));
-
-#endif
-
-#include <errno.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main ()
-{
-#if HAVE_ICONV
-  /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1,
-     and UTF-8.  */
-  iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-  iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8");
-
-  ASSERT (cd_88591_to_utf8 != (iconv_t)(-1));
-  ASSERT (cd_utf8_to_88591 != (iconv_t)(-1));
-
-  /* Test conversion from ISO-8859-1 to UTF-8 with no errors.  */
-  {
-    static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    char buf[50];
-    const char *inptr = input;
-    size_t inbytesleft = strlen (input);
-    char *outptr = buf;
-    size_t outbytesleft = sizeof (buf);
-    size_t res = iconv (cd_88591_to_utf8,
-                        (ICONV_CONST char **) &inptr, &inbytesleft,
-                        &outptr, &outbytesleft);
-    ASSERT (res == 0 && inbytesleft == 0);
-    ASSERT (outptr == buf + strlen (expected));
-    ASSERT (memcmp (buf, expected, strlen (expected)) == 0);
-  }
-
-  /* Test conversion from ISO-8859-1 to UTF-8 with E2BIG.  */
-  {
-    static const char input[] = "\304";
-    static char buf[2] = { (char)0xDE, (char)0xAD };
-    const char *inptr = input;
-    size_t inbytesleft = 1;
-    char *outptr = buf;
-    size_t outbytesleft = 1;
-    size_t res = iconv (cd_88591_to_utf8,
-                        (ICONV_CONST char **) &inptr, &inbytesleft,
-                        &outptr, &outbytesleft);
-    ASSERT (res == (size_t)(-1) && errno == E2BIG);
-    ASSERT (inbytesleft == 1);
-    ASSERT (outbytesleft == 1);
-    ASSERT ((unsigned char) buf[1] == 0xAD);
-    ASSERT ((unsigned char) buf[0] == 0xDE);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with no errors.  */
-  {
-    static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    char buf[50];
-    const char *inptr = input;
-    size_t inbytesleft = strlen (input);
-    char *outptr = buf;
-    size_t outbytesleft = sizeof (buf);
-    size_t res = iconv (cd_utf8_to_88591,
-                        (ICONV_CONST char **) &inptr, &inbytesleft,
-                        &outptr, &outbytesleft);
-    ASSERT (res == 0 && inbytesleft == 0);
-    ASSERT (outptr == buf + strlen (expected));
-    ASSERT (memcmp (buf, expected, strlen (expected)) == 0);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ.  */
-  {
-    static const char input[] = "\342\202\254"; /* EURO SIGN */
-    char buf[10];
-    const char *inptr = input;
-    size_t inbytesleft = strlen (input);
-    char *outptr = buf;
-    size_t outbytesleft = sizeof (buf);
-    size_t res = iconv (cd_utf8_to_88591,
-                        (ICONV_CONST char **) &inptr, &inbytesleft,
-                        &outptr, &outbytesleft);
-    if (res == (size_t)(-1))
-      {
-        ASSERT (errno == EILSEQ);
-        ASSERT (inbytesleft == strlen (input) && outptr == buf);
-      }
-    else
-      {
-        ASSERT (res == 1);
-        ASSERT (inbytesleft == 0);
-      }
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL.  */
-  {
-    static const char input[] = "\342";
-    char buf[10];
-    const char *inptr = input;
-    size_t inbytesleft = 1;
-    char *outptr = buf;
-    size_t outbytesleft = sizeof (buf);
-    size_t res = iconv (cd_utf8_to_88591,
-                        (ICONV_CONST char **) &inptr, &inbytesleft,
-                        &outptr, &outbytesleft);
-    ASSERT (res == (size_t)(-1) && errno == EINVAL);
-    ASSERT (inbytesleft == 1 && outptr == buf);
-  }
-
-  iconv_close (cd_88591_to_utf8);
-  iconv_close (cd_utf8_to_88591);
-#endif
-
-  return 0;
-}
diff --git a/lib/gltests/test-init.sh b/lib/gltests/test-init.sh
deleted file mode 100755 (executable)
index a2825cc..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# Unit tests for init.sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-# This file is part of the GNUlib Library.
-#
-# 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/>.  */
-
-: ${srcdir=.}
-. "$srcdir/init.sh"; path_prepend_ .
-
-fail=0
-
-test_compare()
-{
-  touch empty || fail=1
-  echo xyz > in || fail=1
-
-  compare /dev/null /dev/null >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  # "err" should be empty, too, but has "set -x" output when VERBOSE=yes
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare /dev/null empty >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare in in >out 2>err || fail=1
-  test -s out && fail_ "out not empty: $(cat out)"
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare /dev/null in >out 2>err && fail=1
-  cat <<\EOF > exp
-diff -u /dev/null in
---- /dev/null  1970-01-01
-+++ in 1970-01-01
-+xyz
-EOF
-  compare exp out || fail=1
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-
-  compare empty in >out 2>err && fail=1
-  # Compare against expected output only if compare is using diff -u.
-  if grep @ out >/dev/null; then
-    # Remove the TAB-date suffix on each --- and +++ line,
-    # for both the expected and the actual output files.
-    # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
-    # -@@ -0,0 +1 @@
-    # +@@ -1,0 +1,1 @@
-    sed 's/    .*//;/^@@/d' out > k && mv k out
-    cat <<\EOF > exp
---- empty
-+++ in
-+xyz
-EOF
-    compare exp out || fail=1
-  fi
-  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
-}
-
-test_compare
-
-Exit $fail
diff --git a/lib/gltests/test-intprops.c b/lib/gltests/test-intprops.c
deleted file mode 100644 (file)
index aeb1168..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-/* Test intprops.h.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Paul Eggert.  */
-
-/* Tell gcc not to warn about the many (X < 0) expressions that
-   the overflow macros expand to.  */
-#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
-# pragma GCC diagnostic ignored "-Wtype-limits"
-#endif
-
-#include <config.h>
-
-#include "intprops.h"
-#include "verify.h"
-
-#include <stdbool.h>
-#include <inttypes.h>
-
-#include "macros.h"
-
-/* VERIFY (X) uses a static assertion for compilers that are known to work,
-   and falls back on a dynamic assertion for other compilers.
-   These tests should be checkable via 'verify' rather than 'ASSERT', but
-   using 'verify' would run into a bug with HP-UX 11.23 cc; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.  */
-#if __GNUC__ || __SUNPRO_C
-# define VERIFY(x) do { verify (x); } while (0)
-#else
-# define VERIFY(x) ASSERT (x)
-#endif
-
-int
-main (void)
-{
-  /* Use VERIFY for tests that must be integer constant expressions,
-     ASSERT otherwise.  */
-
-  /* TYPE_IS_INTEGER.  */
-  ASSERT (TYPE_IS_INTEGER (bool));
-  ASSERT (TYPE_IS_INTEGER (char));
-  ASSERT (TYPE_IS_INTEGER (signed char));
-  ASSERT (TYPE_IS_INTEGER (unsigned char));
-  ASSERT (TYPE_IS_INTEGER (short int));
-  ASSERT (TYPE_IS_INTEGER (unsigned short int));
-  ASSERT (TYPE_IS_INTEGER (int));
-  ASSERT (TYPE_IS_INTEGER (unsigned int));
-  ASSERT (TYPE_IS_INTEGER (long int));
-  ASSERT (TYPE_IS_INTEGER (unsigned long int));
-  ASSERT (TYPE_IS_INTEGER (intmax_t));
-  ASSERT (TYPE_IS_INTEGER (uintmax_t));
-  ASSERT (! TYPE_IS_INTEGER (float));
-  ASSERT (! TYPE_IS_INTEGER (double));
-  ASSERT (! TYPE_IS_INTEGER (long double));
-
-  /* TYPE_SIGNED.  */
-  /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */
-  VERIFY (TYPE_SIGNED (signed char));
-  VERIFY (! TYPE_SIGNED (unsigned char));
-  VERIFY (TYPE_SIGNED (short int));
-  VERIFY (! TYPE_SIGNED (unsigned short int));
-  VERIFY (TYPE_SIGNED (int));
-  VERIFY (! TYPE_SIGNED (unsigned int));
-  VERIFY (TYPE_SIGNED (long int));
-  VERIFY (! TYPE_SIGNED (unsigned long int));
-  VERIFY (TYPE_SIGNED (intmax_t));
-  VERIFY (! TYPE_SIGNED (uintmax_t));
-  ASSERT (TYPE_SIGNED (float));
-  ASSERT (TYPE_SIGNED (double));
-  ASSERT (TYPE_SIGNED (long double));
-
-  /* Integer representation.  */
-  VERIFY (INT_MIN + INT_MAX < 0
-          ? (TYPE_TWOS_COMPLEMENT (int)
-             && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int))
-          : (! TYPE_TWOS_COMPLEMENT (int)
-             && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int))));
-
-  /* TYPE_MINIMUM, TYPE_MAXIMUM.  */
-  VERIFY (TYPE_MINIMUM (char) == CHAR_MIN);
-  VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned char) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX);
-  VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN);
-  VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
-  VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN);
-  VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned short int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX);
-  VERIFY (TYPE_MINIMUM (int) == INT_MIN);
-  VERIFY (TYPE_MAXIMUM (int) == INT_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX);
-  VERIFY (TYPE_MINIMUM (long int) == LONG_MIN);
-  VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX);
-  VERIFY (TYPE_MINIMUM (unsigned long int) == 0);
-  VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX);
-  VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
-  VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
-  VERIFY (TYPE_MINIMUM (uintmax_t) == 0);
-  VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
-
-  /* INT_BITS_STRLEN_BOUND.  */
-  VERIFY (INT_BITS_STRLEN_BOUND (1) == 1);
-  VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789);
-
-  /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND.  */
-  #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX.  */
-  VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1);
-  VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648"));
-  #endif
-  #ifdef INT64_MAX
-  VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1);
-  VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808"));
-  #endif
-
-  /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
-     INT_<op>_OVERFLOW tests, so define a single macro to do both.  */
-  #define CHECK_BINOP(op, a, b, min, max, overflow)                      \
-    (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow)            \
-     && INT_##op##_OVERFLOW (a, b) == (overflow))
-  #define CHECK_UNOP(op, a, min, max, overflow)                          \
-    (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow)               \
-     && INT_##op##_OVERFLOW (a) == (overflow))
-
-  /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW.  */
-  VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
-  VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
-                      TYPE_TWOS_COMPLEMENT (int)));
-  VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
-                       LONG_MIN, LONG_MIN, false));
-
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
-
-  /* INT_<op>_OVERFLOW with mixed types.  */
-  #define CHECK_SUM(a, b, overflow)                       \
-    VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow));       \
-    VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
-  CHECK_SUM (-1, LONG_MIN, true);
-  CHECK_SUM (-1, UINT_MAX, false);
-  CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
-  CHECK_SUM (0u, -1, true);
-  CHECK_SUM (0u, 0, false);
-  CHECK_SUM (0u, 1, false);
-  CHECK_SUM (1, LONG_MAX, true);
-  CHECK_SUM (1, UINT_MAX, true);
-  CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
-  CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
-  CHECK_SUM (1u, INT_MIN, true);
-
-  VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
-  VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
-
-  #define CHECK_PRODUCT(a, b, overflow)                   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow));   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
-
-  CHECK_PRODUCT (-1, 1u, true);
-  CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
-  CHECK_PRODUCT (-1, UINT_MAX, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
-  CHECK_PRODUCT (0, -1, false);
-  CHECK_PRODUCT (0, 0, false);
-  CHECK_PRODUCT (0, 0u, false);
-  CHECK_PRODUCT (0, 1, false);
-  CHECK_PRODUCT (0, INT_MAX, false);
-  CHECK_PRODUCT (0, INT_MIN, false);
-  CHECK_PRODUCT (0, UINT_MAX, false);
-  CHECK_PRODUCT (0u, -1, false);
-  CHECK_PRODUCT (0u, 0, false);
-  CHECK_PRODUCT (0u, 0u, false);
-  CHECK_PRODUCT (0u, 1, false);
-  CHECK_PRODUCT (0u, INT_MAX, false);
-  CHECK_PRODUCT (0u, INT_MIN, false);
-  CHECK_PRODUCT (0u, UINT_MAX, false);
-  CHECK_PRODUCT (1, INT_MAX, false);
-  CHECK_PRODUCT (1, INT_MIN, false);
-  CHECK_PRODUCT (1, UINT_MAX, false);
-  CHECK_PRODUCT (1u, INT_MIN, true);
-  CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
-  CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
-  CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
-
-  VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
-  VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
-  VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
-  VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
-  VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
-
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
-          == (INTMAX_MAX < UINT_MAX
-              && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
-          == (INT_MIN % ULONG_MAX != 1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
-  VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
-
-  return 0;
-}
diff --git a/lib/gltests/test-inttypes.c b/lib/gltests/test-inttypes.c
deleted file mode 100644 (file)
index 698d3dc..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test of <inttypes.h> substitute.
-   Copyright (C) 2006-2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <inttypes.h>
-
-#include <stddef.h>
-
-/* Tests for macros supposed to be defined in inttypes.h.  */
-
-const char *k = /* implicit string concatenation */
-#ifdef INT8_MAX
-  PRId8 PRIi8
-#endif
-#ifdef UINT8_MAX
-  PRIo8 PRIu8 PRIx8 PRIX8
-#endif
-#ifdef INT16_MAX
-  PRId16 PRIi16
-#endif
-#ifdef UINT16_MAX
-  PRIo16 PRIu16 PRIx16 PRIX16
-#endif
-#ifdef INT32_MAX
-  PRId32 PRIi32
-#endif
-#ifdef UINT32_MAX
-  PRIo32 PRIu32 PRIx32 PRIX32
-#endif
-#ifdef INT64_MAX
-  PRId64 PRIi64
-#endif
-#ifdef UINT64_MAX
-  PRIo64 PRIu64 PRIx64 PRIX64
-#endif
-  PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
-  PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
-  PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
-  PRIdLEAST64 PRIiLEAST64
-  PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
-  PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
-  PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
-  PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
-  PRIdFAST64 PRIiFAST64
-  PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
-  PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
-#ifdef INTPTR_MAX
-  PRIdPTR PRIiPTR
-#endif
-#ifdef UINTPTR_MAX
-  PRIoPTR PRIuPTR PRIxPTR PRIXPTR
-#endif
-  ;
-const char *l = /* implicit string concatenation */
-#ifdef INT8_MAX
-  SCNd8 SCNi8
-#endif
-#ifdef UINT8_MAX
-  SCNo8 SCNu8 SCNx8
-#endif
-#ifdef INT16_MAX
-  SCNd16 SCNi16
-#endif
-#ifdef UINT16_MAX
-  SCNo16 SCNu16 SCNx16
-#endif
-#ifdef INT32_MAX
-  SCNd32 SCNi32
-#endif
-#ifdef UINT32_MAX
-  SCNo32 SCNu32 SCNx32
-#endif
-#ifdef INT64_MAX
-  SCNd64 SCNi64
-#endif
-#ifdef UINT64_MAX
-  SCNo64 SCNu64 SCNx64
-#endif
-  SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
-  SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
-  SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
-  SCNdLEAST64 SCNiLEAST64
-  SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
-  SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
-  SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
-  SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
-  SCNdFAST64 SCNiFAST64
-  SCNoFAST64 SCNuFAST64 SCNxFAST64
-  SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
-#ifdef INTPTR_MAX
-  SCNdPTR SCNiPTR
-#endif
-#ifdef UINTPTR_MAX
-  SCNoPTR SCNuPTR SCNxPTR
-#endif
-  ;
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/lib/gltests/test-locale.c b/lib/gltests/test-locale.c
deleted file mode 100644 (file)
index e884ea1..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Test of <locale.h> substitute.
-   Copyright (C) 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <locale.h>
-
-#include "verify.h"
-
-int a[] =
-  {
-    LC_ALL,
-    LC_COLLATE,
-    LC_CTYPE,
-    LC_MESSAGES,
-    LC_MONETARY,
-    LC_NUMERIC,
-    LC_TIME
-  };
-
-#if HAVE_NEWLOCALE
-/* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined.  */
-locale_t b = LC_GLOBAL_LOCALE;
-#endif
-
-/* Check that the 'struct lconv' type is defined.  */
-struct lconv l;
-int ls;
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-int
-main ()
-{
-  /* Check that 'struct lconv' has the ISO C and POSIX specified members.  */
-  ls += sizeof (*l.decimal_point);
-  ls += sizeof (*l.thousands_sep);
-  ls += sizeof (*l.grouping);
-  ls += sizeof (*l.mon_decimal_point);
-  ls += sizeof (*l.mon_thousands_sep);
-  ls += sizeof (*l.mon_grouping);
-  ls += sizeof (*l.positive_sign);
-  ls += sizeof (*l.negative_sign);
-  ls += sizeof (*l.currency_symbol);
-  ls += sizeof (l.frac_digits);
-  ls += sizeof (l.p_cs_precedes);
-  ls += sizeof (l.p_sign_posn);
-  ls += sizeof (l.p_sep_by_space);
-  ls += sizeof (l.n_cs_precedes);
-  ls += sizeof (l.n_sign_posn);
-  ls += sizeof (l.n_sep_by_space);
-  ls += sizeof (*l.int_curr_symbol);
-  ls += sizeof (l.int_frac_digits);
-  ls += sizeof (l.int_p_cs_precedes);
-  ls += sizeof (l.int_p_sign_posn);
-  ls += sizeof (l.int_p_sep_by_space);
-  ls += sizeof (l.int_n_cs_precedes);
-  ls += sizeof (l.int_n_sign_posn);
-  ls += sizeof (l.int_n_sep_by_space);
-
-  return 0;
-}
diff --git a/lib/gltests/test-localename.c b/lib/gltests/test-localename.c
deleted file mode 100644 (file)
index f04c301..0000000
+++ /dev/null
@@ -1,747 +0,0 @@
-/* Test of gl_locale_name function and its variants.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include "localename.h"
-
-#include <locale.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "macros.h"
-
-
-#if HAVE_NEWLOCALE
-
-static struct { int cat; int mask; const char *string; } const categories[] =
-  {
-      { LC_CTYPE,          LC_CTYPE_MASK,          "LC_CTYPE" },
-      { LC_NUMERIC,        LC_NUMERIC_MASK,        "LC_NUMERIC" },
-      { LC_TIME,           LC_TIME_MASK,           "LC_TIME" },
-      { LC_COLLATE,        LC_COLLATE_MASK,        "LC_COLLATE" },
-      { LC_MONETARY,       LC_MONETARY_MASK,       "LC_MONETARY" },
-      { LC_MESSAGES,       LC_MESSAGES_MASK,       "LC_MESSAGES" }
-# ifdef LC_PAPER
-    , { LC_PAPER,          LC_PAPER_MASK,          "LC_PAPER" }
-# endif
-# ifdef LC_NAME
-    , { LC_NAME,           LC_NAME_MASK,           "LC_NAME" }
-# endif
-# ifdef LC_ADDRESS
-    , { LC_ADDRESS,        LC_ADDRESS_MASK,        "LC_ADDRESS" }
-# endif
-# ifdef LC_TELEPHONE
-    , { LC_TELEPHONE,      LC_TELEPHONE_MASK,      "LC_TELEPHONE" }
-# endif
-# ifdef LC_MEASUREMENT
-    , { LC_MEASUREMENT,    LC_MEASUREMENT_MASK,    "LC_MEASUREMENT" }
-# endif
-# ifdef LC_IDENTIFICATION
-    , { LC_IDENTIFICATION, LC_IDENTIFICATION_MASK, "LC_IDENTIFICATION" }
-# endif
-  };
-
-#endif
-
-/* Test the gl_locale_name() function.  */
-static void
-test_locale_name (void)
-{
-  const char *name;
-
-  /* Check that gl_locale_name returns non-NULL.  */
-  ASSERT (gl_locale_name (LC_MESSAGES, "LC_MESSAGES") != NULL);
-
-  /* Get into a defined state,  */
-  setlocale (LC_ALL, "en_US.UTF-8");
-#if HAVE_NEWLOCALE
-  uselocale (LC_GLOBAL_LOCALE);
-#endif
-
-  /* Check that when all environment variables are unset,
-     gl_locale_name returns the default locale.  */
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LC_NUMERIC");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
-                  gl_locale_name_default ()) == 0);
-  ASSERT (strcmp (gl_locale_name (LC_NUMERIC, "LC_NUMERIC"),
-                  gl_locale_name_default ()) == 0);
-
-  /* Check that an empty environment variable is treated like an unset
-     environment variable.  */
-
-  setenv ("LC_ALL", "", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
-                  gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "", 1);
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
-                  gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "", 1);
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
-                  gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "", 1);
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
-                  gl_locale_name_default ()) == 0);
-
-  /* Check that LC_ALL overrides the others, and LANG is overridden by the
-     others.  */
-
-  setenv ("LC_ALL", "C", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "C", 1);
-  setenv ("LC_MESSAGES", "C", 1);
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "C", 1);
-  setlocale (LC_ALL, "");
-  ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
-
-  /* Check mixed situations.  */
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  setenv ("LANG", "de_DE.UTF-8", 1);
-  if (setlocale (LC_ALL, "") != NULL)
-    {
-      name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
-      ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
-      name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
-      ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-    }
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  unsetenv ("LANG");
-  if (setlocale (LC_ALL, "") != NULL)
-    {
-      name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
-      ASSERT (strcmp (name, gl_locale_name_default ()) == 0);
-      name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
-      ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-    }
-
-#if HAVE_NEWLOCALE
-  /* Check that gl_locale_name considers the thread locale.  */
-  {
-    locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-    if (locale != NULL)
-      {
-        uselocale (locale);
-        name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
-        ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-        name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
-        ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-      }
-  }
-
-  /* Check that gl_locale_name distinguishes different categories of the
-     thread locale, and that the name is the right one for each.  */
-  {
-    unsigned int i;
-
-    for (i = 0; i < SIZEOF (categories); i++)
-      {
-        int category_mask = categories[i].mask;
-        locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-        if (locale != NULL)
-          {
-            locale = newlocale (category_mask, "de_DE.UTF-8", locale);
-            if (locale != NULL)
-              {
-                unsigned int j;
-
-                uselocale (locale);
-                for (j = 0; j < SIZEOF (categories); j++)
-                  {
-                    const char *name_j =
-                      gl_locale_name (categories[j].cat, categories[j].string);
-                    if (j == i)
-                      ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0);
-                    else
-                      ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0);
-                  }
-              }
-          }
-      }
-  }
-#endif
-}
-
-/* Test the gl_locale_name_thread() function.  */
-static void
-test_locale_name_thread (void)
-{
-  /* Get into a defined state,  */
-  setlocale (LC_ALL, "en_US.UTF-8");
-
-#if HAVE_NEWLOCALE
-  /* Check that gl_locale_name_thread returns NULL when no thread locale is
-     set.  */
-  uselocale (LC_GLOBAL_LOCALE);
-  ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL);
-  ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL);
-
-  /* Check that gl_locale_name_thread considers the thread locale.  */
-  {
-    locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-    if (locale != NULL)
-      {
-        const char *name;
-
-        uselocale (locale);
-        name = gl_locale_name_thread (LC_CTYPE, "LC_CTYPE");
-        ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-        name = gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES");
-        ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-      }
-  }
-
-  /* Check that gl_locale_name_thread distinguishes different categories of the
-     thread locale, and that the name is the right one for each.  */
-  {
-    unsigned int i;
-
-    for (i = 0; i < SIZEOF (categories); i++)
-      {
-        int category_mask = categories[i].mask;
-        locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-        if (locale != NULL)
-          {
-            locale = newlocale (category_mask, "de_DE.UTF-8", locale);
-            if (locale != NULL)
-              {
-                unsigned int j;
-
-                uselocale (locale);
-                for (j = 0; j < SIZEOF (categories); j++)
-                  {
-                    const char *name_j =
-                      gl_locale_name_thread (categories[j].cat,
-                                             categories[j].string);
-                    if (j == i)
-                      ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0);
-                    else
-                      ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0);
-                  }
-              }
-          }
-      }
-  }
-
-  /* Check that gl_locale_name_thread returns a string that is allocated with
-     indefinite extent.  */
-  {
-    /* Try many locale names in turn, in order to defeat possible caches.  */
-    static const char * const choices[] =
-      {
-        "C",
-        "POSIX",
-        "af_ZA",
-        "af_ZA.UTF-8",
-        "am_ET",
-        "am_ET.UTF-8",
-        "be_BY",
-        "be_BY.UTF-8",
-        "bg_BG",
-        "bg_BG.UTF-8",
-        "ca_ES",
-        "ca_ES.UTF-8",
-        "cs_CZ",
-        "cs_CZ.UTF-8",
-        "da_DK",
-        "da_DK.UTF-8",
-        "de_AT",
-        "de_AT.UTF-8",
-        "de_CH",
-        "de_CH.UTF-8",
-        "de_DE",
-        "de_DE.UTF-8",
-        "el_GR",
-        "el_GR.UTF-8",
-        "en_AU",
-        "en_AU.UTF-8",
-        "en_CA",
-        "en_CA.UTF-8",
-        "en_GB",
-        "en_GB.UTF-8",
-        "en_IE",
-        "en_IE.UTF-8",
-        "en_NZ",
-        "en_NZ.UTF-8",
-        "en_US",
-        "en_US.UTF-8",
-        "es_ES",
-        "es_ES.UTF-8",
-        "et_EE",
-        "et_EE.UTF-8",
-        "eu_ES",
-        "eu_ES.UTF-8",
-        "fi_FI",
-        "fi_FI.UTF-8",
-        "fr_BE",
-        "fr_BE.UTF-8",
-        "fr_CA",
-        "fr_CA.UTF-8",
-        "fr_CH",
-        "fr_CH.UTF-8",
-        "fr_FR",
-        "fr_FR.UTF-8",
-        "he_IL",
-        "he_IL.UTF-8",
-        "hr_HR",
-        "hr_HR.UTF-8",
-        "hu_HU",
-        "hu_HU.UTF-8",
-        "hy_AM",
-        "is_IS",
-        "is_IS.UTF-8",
-        "it_CH",
-        "it_CH.UTF-8",
-        "it_IT",
-        "it_IT.UTF-8",
-        "ja_JP.UTF-8",
-        "kk_KZ",
-        "kk_KZ.UTF-8",
-        "ko_KR.UTF-8",
-        "lt_LT",
-        "lt_LT.UTF-8",
-        "nl_BE",
-        "nl_BE.UTF-8",
-        "nl_NL",
-        "nl_NL.UTF-8",
-        "no_NO",
-        "no_NO.UTF-8",
-        "pl_PL",
-        "pl_PL.UTF-8",
-        "pt_BR",
-        "pt_BR.UTF-8",
-        "pt_PT",
-        "pt_PT.UTF-8",
-        "ro_RO",
-        "ro_RO.UTF-8",
-        "ru_RU",
-        "ru_RU.UTF-8",
-        "sk_SK",
-        "sk_SK.UTF-8",
-        "sl_SI",
-        "sl_SI.UTF-8",
-        "sv_SE",
-        "sv_SE.UTF-8",
-        "tr_TR",
-        "tr_TR.UTF-8",
-        "uk_UA",
-        "uk_UA.UTF-8",
-        "zh_CN",
-        "zh_CN.UTF-8",
-        "zh_HK",
-        "zh_HK.UTF-8",
-        "zh_TW",
-        "zh_TW.UTF-8"
-      };
-    /* Remember which locales are available.  */
-    unsigned char /* bool */ available[SIZEOF (choices)];
-    /* Array of remembered results of gl_locale_name_thread.  */
-    const char *unsaved_names[SIZEOF (choices)][SIZEOF (categories)];
-    /* Array of remembered results of gl_locale_name_thread, stored in safe
-       memory.  */
-    char *saved_names[SIZEOF (choices)][SIZEOF (categories)];
-    unsigned int j;
-
-    for (j = 0; j < SIZEOF (choices); j++)
-      {
-        locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL);
-        available[j] = (locale != NULL);
-        if (locale != NULL)
-          {
-            unsigned int i;
-
-            uselocale (locale);
-            for (i = 0; i < SIZEOF (categories); i++)
-              {
-                unsaved_names[j][i] = gl_locale_name_thread (categories[i].cat, categories[i].string);
-                saved_names[j][i] = strdup (unsaved_names[j][i]);
-              }
-            uselocale (LC_GLOBAL_LOCALE);
-            freelocale (locale);
-          }
-      }
-    /* Verify the unsaved_names are still valid.  */
-    for (j = 0; j < SIZEOF (choices); j++)
-      if (available[j])
-        {
-          unsigned int i;
-
-          for (i = 0; i < SIZEOF (categories); i++)
-            ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0);
-        }
-    /* Allocate many locales, without freeing them.  This is an attempt at
-       overwriting as much of the previously allocated memory as possible.  */
-    for (j = SIZEOF (choices); j > 0; )
-      {
-        j--;
-        if (available[j])
-          {
-            locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL);
-            unsigned int i;
-
-            ASSERT (locale != NULL);
-            uselocale (locale);
-            for (i = 0; i < SIZEOF (categories); i++)
-              {
-                const char *name = gl_locale_name_thread (categories[i].cat, categories[i].string);
-                ASSERT (strcmp (unsaved_names[j][i], name) == 0);
-              }
-            uselocale (LC_GLOBAL_LOCALE);
-          }
-      }
-    /* Verify the unsaved_names are still valid.  */
-    for (j = 0; j < SIZEOF (choices); j++)
-      if (available[j])
-        {
-          unsigned int i;
-
-          for (i = 0; i < SIZEOF (categories); i++)
-            ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0);
-        }
-  }
-#else
-  /* Check that gl_locale_name_thread always returns NULL.  */
-  ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL);
-  ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL);
-#endif
-}
-
-/* Test the gl_locale_name_posix() function.  */
-static void
-test_locale_name_posix (void)
-{
-  const char *name;
-
-  /* Get into a defined state,  */
-  setlocale (LC_ALL, "en_US.UTF-8");
-#if HAVE_NEWLOCALE
-  uselocale (LC_GLOBAL_LOCALE);
-#endif
-
-  /* Check that when all environment variables are unset,
-     gl_locale_name_posix returns either NULL or the default locale.  */
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LC_NUMERIC");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-  name = gl_locale_name_posix (LC_NUMERIC, "LC_NUMERIC");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-
-  /* Check that an empty environment variable is treated like an unset
-     environment variable.  */
-
-  setenv ("LC_ALL", "", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "", 1);
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "", 1);
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "", 1);
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-
-  /* Check that LC_ALL overrides the others, and LANG is overridden by the
-     others.  */
-
-  setenv ("LC_ALL", "C", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "C", 1);
-  setenv ("LC_MESSAGES", "C", 1);
-  unsetenv ("LANG");
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "C", 1);
-  setlocale (LC_ALL, "");
-  name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  /* Check mixed situations.  */
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  setenv ("LANG", "de_DE.UTF-8", 1);
-  if (setlocale (LC_ALL, "") != NULL)
-    {
-      name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE");
-      ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
-      name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-      ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-    }
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  unsetenv ("LANG");
-  if (setlocale (LC_ALL, "") != NULL)
-    {
-      name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE");
-      ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
-      name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-      ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-    }
-
-#if HAVE_NEWLOCALE
-  /* Check that gl_locale_name_posix ignores the thread locale.  */
-  {
-    locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-    if (locale != NULL)
-      {
-        unsetenv ("LC_ALL");
-        unsetenv ("LC_CTYPE");
-        unsetenv ("LC_MESSAGES");
-        setenv ("LANG", "C", 1);
-        setlocale (LC_ALL, "");
-        uselocale (locale);
-        name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
-        ASSERT (strcmp (name, "C") == 0);
-      }
-  }
-#endif
-}
-
-/* Test the gl_locale_name_environ() function.  */
-static void
-test_locale_name_environ (void)
-{
-  const char *name;
-
-  /* Get into a defined state,  */
-  setlocale (LC_ALL, "en_US.UTF-8");
-#if HAVE_NEWLOCALE
-  uselocale (LC_GLOBAL_LOCALE);
-#endif
-
-  /* Check that when all environment variables are unset,
-     gl_locale_name_environ returns NULL.  */
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LC_NUMERIC");
-  unsetenv ("LANG");
-  ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
-  ASSERT (gl_locale_name_environ (LC_NUMERIC, "LC_NUMERIC") == NULL);
-
-  /* Check that an empty environment variable is treated like an unset
-     environment variable.  */
-
-  setenv ("LC_ALL", "", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "", 1);
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "", 1);
-  unsetenv ("LANG");
-  ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "", 1);
-  ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
-
-  /* Check that LC_ALL overrides the others, and LANG is overridden by the
-     others.  */
-
-  setenv ("LC_ALL", "C", 1);
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  unsetenv ("LANG");
-  name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  unsetenv ("LC_ALL");
-  setenv ("LC_CTYPE", "C", 1);
-  setenv ("LC_MESSAGES", "C", 1);
-  unsetenv ("LANG");
-  name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  unsetenv ("LC_MESSAGES");
-  setenv ("LANG", "C", 1);
-  name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "C") == 0);
-
-  /* Check mixed situations.  */
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  setenv ("LANG", "de_DE.UTF-8", 1);
-  name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE");
-  ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
-  name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-
-  unsetenv ("LC_ALL");
-  unsetenv ("LC_CTYPE");
-  setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
-  unsetenv ("LANG");
-  name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE");
-  ASSERT (name == NULL);
-  name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-  ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
-
-#if HAVE_NEWLOCALE
-  /* Check that gl_locale_name_environ ignores the thread locale.  */
-  {
-    locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-    if (locale != NULL)
-      {
-        unsetenv ("LC_ALL");
-        unsetenv ("LC_CTYPE");
-        unsetenv ("LC_MESSAGES");
-        setenv ("LANG", "C", 1);
-        setlocale (LC_ALL, "");
-        uselocale (locale);
-        name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
-        ASSERT (strcmp (name, "C") == 0);
-      }
-  }
-#endif
-}
-
-/* Test the gl_locale_name_default() function.  */
-static void
-test_locale_name_default (void)
-{
-  const char *name = gl_locale_name_default ();
-
-  ASSERT (name != NULL);
-
-  /* Only MacOS X and Windows have a facility for the user to set the default
-     locale.  */
-#if !((defined __APPLE__ && defined __MACH__) || (defined _WIN32 || defined __WIN32__ || defined __CYGWIN__))
-  ASSERT (strcmp (name, "C") == 0);
-#endif
-
-#if HAVE_NEWLOCALE
-  /* Check that gl_locale_name_default ignores the thread locale.  */
-  {
-    locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
-    if (locale != NULL)
-      {
-        uselocale (locale);
-        ASSERT (strcmp (gl_locale_name_default (), name) == 0);
-      }
-  }
-#endif
-}
-
-int
-main ()
-{
-  test_locale_name ();
-  test_locale_name_thread ();
-  test_locale_name_posix ();
-  test_locale_name_environ ();
-  test_locale_name_default ();
-
-  return 0;
-}
diff --git a/lib/gltests/test-lock.c b/lib/gltests/test-lock.c
deleted file mode 100644 (file)
index 5cada7d..0000000
+++ /dev/null
@@ -1,601 +0,0 @@
-/* Test of locking in multithreaded situations.
-   Copyright (C) 2005, 2008-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WINDOWS_THREADS
-
-#if USE_POSIX_THREADS
-# define TEST_POSIX_THREADS 1
-#endif
-#if USE_SOLARIS_THREADS
-# define TEST_SOLARIS_THREADS 1
-#endif
-#if USE_PTH_THREADS
-# define TEST_PTH_THREADS 1
-#endif
-#if USE_WINDOWS_THREADS
-# define TEST_WINDOWS_THREADS 1
-#endif
-
-/* Whether to enable locking.
-   Uncomment this to get a test program without locking, to verify that
-   it crashes.  */
-#define ENABLE_LOCKING 1
-
-/* Which tests to perform.
-   Uncomment some of these, to verify that all tests crash if no locking
-   is enabled.  */
-#define DO_TEST_LOCK 1
-#define DO_TEST_RWLOCK 1
-#define DO_TEST_RECURSIVE_LOCK 1
-#define DO_TEST_ONCE 1
-
-/* Whether to help the scheduler through explicit yield().
-   Uncomment this to see if the operating system has a fair scheduler.  */
-#define EXPLICIT_YIELD 1
-
-/* Whether to print debugging messages.  */
-#define ENABLE_DEBUGGING 0
-
-/* Number of simultaneous threads.  */
-#define THREAD_COUNT 10
-
-/* Number of operations performed in each thread.
-   This is quite high, because with a smaller count, say 5000, we often get
-   an "OK" result even without ENABLE_LOCKING (on Linux/x86).  */
-#define REPEAT_COUNT 50000
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if !ENABLE_LOCKING
-# undef USE_POSIX_THREADS
-# undef USE_SOLARIS_THREADS
-# undef USE_PTH_THREADS
-# undef USE_WINDOWS_THREADS
-#endif
-#include "glthread/lock.h"
-
-#if !ENABLE_LOCKING
-# if TEST_POSIX_THREADS
-#  define USE_POSIX_THREADS 1
-# endif
-# if TEST_SOLARIS_THREADS
-#  define USE_SOLARIS_THREADS 1
-# endif
-# if TEST_PTH_THREADS
-#  define USE_PTH_THREADS 1
-# endif
-# if TEST_WINDOWS_THREADS
-#  define USE_WINDOWS_THREADS 1
-# endif
-#endif
-
-#include "glthread/thread.h"
-#include "glthread/yield.h"
-
-#if ENABLE_DEBUGGING
-# define dbgprintf printf
-#else
-# define dbgprintf if (0) printf
-#endif
-
-#if EXPLICIT_YIELD
-# define yield() gl_thread_yield ()
-#else
-# define yield()
-#endif
-
-#define ACCOUNT_COUNT 4
-
-static int account[ACCOUNT_COUNT];
-
-static int
-random_account (void)
-{
-  return ((unsigned int) rand () >> 3) % ACCOUNT_COUNT;
-}
-
-static void
-check_accounts (void)
-{
-  int i, sum;
-
-  sum = 0;
-  for (i = 0; i < ACCOUNT_COUNT; i++)
-    sum += account[i];
-  if (sum != ACCOUNT_COUNT * 1000)
-    abort ();
-}
-
-
-/* ------------------- Test normal (non-recursive) locks ------------------- */
-
-/* Test normal locks by having several bank accounts and several threads
-   which shuffle around money between the accounts and another thread
-   checking that all the money is still there.  */
-
-gl_lock_define_initialized(static, my_lock)
-
-static void *
-lock_mutator_thread (void *arg)
-{
-  int repeat;
-
-  for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
-    {
-      int i1, i2, value;
-
-      dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ());
-      gl_lock_lock (my_lock);
-      dbgprintf ("Mutator %p after  lock\n", gl_thread_self_pointer ());
-
-      i1 = random_account ();
-      i2 = random_account ();
-      value = ((unsigned int) rand () >> 3) % 10;
-      account[i1] += value;
-      account[i2] -= value;
-
-      dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
-      gl_lock_unlock (my_lock);
-      dbgprintf ("Mutator %p after  unlock\n", gl_thread_self_pointer ());
-
-      dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ());
-      gl_lock_lock (my_lock);
-      check_accounts ();
-      gl_lock_unlock (my_lock);
-      dbgprintf ("Mutator %p after  check unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static volatile int lock_checker_done;
-
-static void *
-lock_checker_thread (void *arg)
-{
-  while (!lock_checker_done)
-    {
-      dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ());
-      gl_lock_lock (my_lock);
-      check_accounts ();
-      gl_lock_unlock (my_lock);
-      dbgprintf ("Checker %p after  check unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static void
-test_lock (void)
-{
-  int i;
-  gl_thread_t checkerthread;
-  gl_thread_t threads[THREAD_COUNT];
-
-  /* Initialization.  */
-  for (i = 0; i < ACCOUNT_COUNT; i++)
-    account[i] = 1000;
-  lock_checker_done = 0;
-
-  /* Spawn the threads.  */
-  checkerthread = gl_thread_create (lock_checker_thread, NULL);
-  for (i = 0; i < THREAD_COUNT; i++)
-    threads[i] = gl_thread_create (lock_mutator_thread, NULL);
-
-  /* Wait for the threads to terminate.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    gl_thread_join (threads[i], NULL);
-  lock_checker_done = 1;
-  gl_thread_join (checkerthread, NULL);
-  check_accounts ();
-}
-
-
-/* ----------------- Test read-write (non-recursive) locks ----------------- */
-
-/* Test read-write locks by having several bank accounts and several threads
-   which shuffle around money between the accounts and several other threads
-   that check that all the money is still there.  */
-
-gl_rwlock_define_initialized(static, my_rwlock)
-
-static void *
-rwlock_mutator_thread (void *arg)
-{
-  int repeat;
-
-  for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
-    {
-      int i1, i2, value;
-
-      dbgprintf ("Mutator %p before wrlock\n", gl_thread_self_pointer ());
-      gl_rwlock_wrlock (my_rwlock);
-      dbgprintf ("Mutator %p after  wrlock\n", gl_thread_self_pointer ());
-
-      i1 = random_account ();
-      i2 = random_account ();
-      value = ((unsigned int) rand () >> 3) % 10;
-      account[i1] += value;
-      account[i2] -= value;
-
-      dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
-      gl_rwlock_unlock (my_rwlock);
-      dbgprintf ("Mutator %p after  unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static volatile int rwlock_checker_done;
-
-static void *
-rwlock_checker_thread (void *arg)
-{
-  while (!rwlock_checker_done)
-    {
-      dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ());
-      gl_rwlock_rdlock (my_rwlock);
-      check_accounts ();
-      gl_rwlock_unlock (my_rwlock);
-      dbgprintf ("Checker %p after  check unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static void
-test_rwlock (void)
-{
-  int i;
-  gl_thread_t checkerthreads[THREAD_COUNT];
-  gl_thread_t threads[THREAD_COUNT];
-
-  /* Initialization.  */
-  for (i = 0; i < ACCOUNT_COUNT; i++)
-    account[i] = 1000;
-  rwlock_checker_done = 0;
-
-  /* Spawn the threads.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    checkerthreads[i] = gl_thread_create (rwlock_checker_thread, NULL);
-  for (i = 0; i < THREAD_COUNT; i++)
-    threads[i] = gl_thread_create (rwlock_mutator_thread, NULL);
-
-  /* Wait for the threads to terminate.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    gl_thread_join (threads[i], NULL);
-  rwlock_checker_done = 1;
-  for (i = 0; i < THREAD_COUNT; i++)
-    gl_thread_join (checkerthreads[i], NULL);
-  check_accounts ();
-}
-
-
-/* -------------------------- Test recursive locks -------------------------- */
-
-/* Test recursive locks by having several bank accounts and several threads
-   which shuffle around money between the accounts (recursively) and another
-   thread checking that all the money is still there.  */
-
-gl_recursive_lock_define_initialized(static, my_reclock)
-
-static void
-recshuffle (void)
-{
-  int i1, i2, value;
-
-  dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ());
-  gl_recursive_lock_lock (my_reclock);
-  dbgprintf ("Mutator %p after  lock\n", gl_thread_self_pointer ());
-
-  i1 = random_account ();
-  i2 = random_account ();
-  value = ((unsigned int) rand () >> 3) % 10;
-  account[i1] += value;
-  account[i2] -= value;
-
-  /* Recursive with probability 0.5.  */
-  if (((unsigned int) rand () >> 3) % 2)
-    recshuffle ();
-
-  dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
-  gl_recursive_lock_unlock (my_reclock);
-  dbgprintf ("Mutator %p after  unlock\n", gl_thread_self_pointer ());
-}
-
-static void *
-reclock_mutator_thread (void *arg)
-{
-  int repeat;
-
-  for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
-    {
-      recshuffle ();
-
-      dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ());
-      gl_recursive_lock_lock (my_reclock);
-      check_accounts ();
-      gl_recursive_lock_unlock (my_reclock);
-      dbgprintf ("Mutator %p after  check unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static volatile int reclock_checker_done;
-
-static void *
-reclock_checker_thread (void *arg)
-{
-  while (!reclock_checker_done)
-    {
-      dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ());
-      gl_recursive_lock_lock (my_reclock);
-      check_accounts ();
-      gl_recursive_lock_unlock (my_reclock);
-      dbgprintf ("Checker %p after  check unlock\n", gl_thread_self_pointer ());
-
-      yield ();
-    }
-
-  dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
-  return NULL;
-}
-
-static void
-test_recursive_lock (void)
-{
-  int i;
-  gl_thread_t checkerthread;
-  gl_thread_t threads[THREAD_COUNT];
-
-  /* Initialization.  */
-  for (i = 0; i < ACCOUNT_COUNT; i++)
-    account[i] = 1000;
-  reclock_checker_done = 0;
-
-  /* Spawn the threads.  */
-  checkerthread = gl_thread_create (reclock_checker_thread, NULL);
-  for (i = 0; i < THREAD_COUNT; i++)
-    threads[i] = gl_thread_create (reclock_mutator_thread, NULL);
-
-  /* Wait for the threads to terminate.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    gl_thread_join (threads[i], NULL);
-  reclock_checker_done = 1;
-  gl_thread_join (checkerthread, NULL);
-  check_accounts ();
-}
-
-
-/* ------------------------ Test once-only execution ------------------------ */
-
-/* Test once-only execution by having several threads attempt to grab a
-   once-only task simultaneously (triggered by releasing a read-write lock).  */
-
-gl_once_define(static, fresh_once)
-static int ready[THREAD_COUNT];
-static gl_lock_t ready_lock[THREAD_COUNT];
-#if ENABLE_LOCKING
-static gl_rwlock_t fire_signal[REPEAT_COUNT];
-#else
-static volatile int fire_signal_state;
-#endif
-static gl_once_t once_control;
-static int performed;
-gl_lock_define_initialized(static, performed_lock)
-
-static void
-once_execute (void)
-{
-  gl_lock_lock (performed_lock);
-  performed++;
-  gl_lock_unlock (performed_lock);
-}
-
-static void *
-once_contender_thread (void *arg)
-{
-  int id = (int) (long) arg;
-  int repeat;
-
-  for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
-    {
-      /* Tell the main thread that we're ready.  */
-      gl_lock_lock (ready_lock[id]);
-      ready[id] = 1;
-      gl_lock_unlock (ready_lock[id]);
-
-      if (repeat == REPEAT_COUNT)
-        break;
-
-      dbgprintf ("Contender %p waiting for signal for round %d\n",
-                 gl_thread_self_pointer (), repeat);
-#if ENABLE_LOCKING
-      /* Wait for the signal to go.  */
-      gl_rwlock_rdlock (fire_signal[repeat]);
-      /* And don't hinder the others (if the scheduler is unfair).  */
-      gl_rwlock_unlock (fire_signal[repeat]);
-#else
-      /* Wait for the signal to go.  */
-      while (fire_signal_state <= repeat)
-        yield ();
-#endif
-      dbgprintf ("Contender %p got the     signal for round %d\n",
-                 gl_thread_self_pointer (), repeat);
-
-      /* Contend for execution.  */
-      gl_once (once_control, once_execute);
-    }
-
-  return NULL;
-}
-
-static void
-test_once (void)
-{
-  int i, repeat;
-  gl_thread_t threads[THREAD_COUNT];
-
-  /* Initialize all variables.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    {
-      ready[i] = 0;
-      gl_lock_init (ready_lock[i]);
-    }
-#if ENABLE_LOCKING
-  for (i = 0; i < REPEAT_COUNT; i++)
-    gl_rwlock_init (fire_signal[i]);
-#else
-  fire_signal_state = 0;
-#endif
-
-  /* Block all fire_signals.  */
-  for (i = REPEAT_COUNT-1; i >= 0; i--)
-    gl_rwlock_wrlock (fire_signal[i]);
-
-  /* Spawn the threads.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    threads[i] = gl_thread_create (once_contender_thread, (void *) (long) i);
-
-  for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
-    {
-      /* Wait until every thread is ready.  */
-      dbgprintf ("Main thread before synchronizing for round %d\n", repeat);
-      for (;;)
-        {
-          int ready_count = 0;
-          for (i = 0; i < THREAD_COUNT; i++)
-            {
-              gl_lock_lock (ready_lock[i]);
-              ready_count += ready[i];
-              gl_lock_unlock (ready_lock[i]);
-            }
-          if (ready_count == THREAD_COUNT)
-            break;
-          yield ();
-        }
-      dbgprintf ("Main thread after  synchronizing for round %d\n", repeat);
-
-      if (repeat > 0)
-        {
-          /* Check that exactly one thread executed the once_execute()
-             function.  */
-          if (performed != 1)
-            abort ();
-        }
-
-      if (repeat == REPEAT_COUNT)
-        break;
-
-      /* Preparation for the next round: Initialize once_control.  */
-      memcpy (&once_control, &fresh_once, sizeof (gl_once_t));
-
-      /* Preparation for the next round: Reset the performed counter.  */
-      performed = 0;
-
-      /* Preparation for the next round: Reset the ready flags.  */
-      for (i = 0; i < THREAD_COUNT; i++)
-        {
-          gl_lock_lock (ready_lock[i]);
-          ready[i] = 0;
-          gl_lock_unlock (ready_lock[i]);
-        }
-
-      /* Signal all threads simultaneously.  */
-      dbgprintf ("Main thread giving signal for round %d\n", repeat);
-#if ENABLE_LOCKING
-      gl_rwlock_unlock (fire_signal[repeat]);
-#else
-      fire_signal_state = repeat + 1;
-#endif
-    }
-
-  /* Wait for the threads to terminate.  */
-  for (i = 0; i < THREAD_COUNT; i++)
-    gl_thread_join (threads[i], NULL);
-}
-
-
-/* -------------------------------------------------------------------------- */
-
-int
-main ()
-{
-#if TEST_PTH_THREADS
-  if (!pth_init ())
-    abort ();
-#endif
-
-#if DO_TEST_LOCK
-  printf ("Starting test_lock ..."); fflush (stdout);
-  test_lock ();
-  printf (" OK\n"); fflush (stdout);
-#endif
-#if DO_TEST_RWLOCK
-  printf ("Starting test_rwlock ..."); fflush (stdout);
-  test_rwlock ();
-  printf (" OK\n"); fflush (stdout);
-#endif
-#if DO_TEST_RECURSIVE_LOCK
-  printf ("Starting test_recursive_lock ..."); fflush (stdout);
-  test_recursive_lock ();
-  printf (" OK\n"); fflush (stdout);
-#endif
-#if DO_TEST_ONCE
-  printf ("Starting test_once ..."); fflush (stdout);
-  test_once ();
-  printf (" OK\n"); fflush (stdout);
-#endif
-
-  return 0;
-}
-
-#else
-
-/* No multithreading available.  */
-
-#include <stdio.h>
-
-int
-main ()
-{
-  fputs ("Skipping test: multithreading not enabled\n", stderr);
-  return 77;
-}
-
-#endif
diff --git a/lib/gltests/test-malloca.c b/lib/gltests/test-malloca.c
deleted file mode 100644 (file)
index d7732c3..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Test of safe automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
-
-#include <config.h>
-
-#include "malloca.h"
-
-#include <stdlib.h>
-
-static void
-do_allocation (int n)
-{
-  void *ptr = malloca (n);
-  freea (ptr);
-  safe_alloca (n);
-}
-
-void (*func) (int) = do_allocation;
-
-int
-main ()
-{
-  int i;
-
-  /* This slows down malloc a lot.  */
-  unsetenv ("MALLOC_PERTURB_");
-
-  /* Repeat a lot of times, to make sure there's no memory leak.  */
-  for (i = 0; i < 50000; i++)
-    {
-      /* Try various values.
-         n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
-      func (34);
-      func (134);
-      func (399);
-      func (510823);
-      func (129321);
-      func (0);
-      func (4070);
-      func (4095);
-      func (1);
-      func (16582);
-    }
-
-  return 0;
-}
diff --git a/lib/gltests/test-setenv.c b/lib/gltests/test-setenv.c
deleted file mode 100644 (file)
index 4752a11..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Tests of setenv.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (setenv, int, (char const *, char const *, int));
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  /* Test overwriting.  */
-  ASSERT (setenv ("a", "==", -1) == 0);
-  ASSERT (setenv ("a", "2", 0) == 0);
-  ASSERT (strcmp (getenv ("a"), "==") == 0);
-
-  /* Required to fail with EINVAL.  */
-  errno = 0;
-  ASSERT (setenv ("", "", 1) == -1);
-  ASSERT (errno == EINVAL);
-  errno = 0;
-  ASSERT (setenv ("a=b", "", 0) == -1);
-  ASSERT (errno == EINVAL);
-#if 0
-  /* glibc and gnulib's implementation guarantee this, but POSIX no
-     longer requires it: http://austingroupbugs.net/view.php?id=185  */
-  errno = 0;
-  ASSERT (setenv (NULL, "", 0) == -1);
-  ASSERT (errno == EINVAL);
-#endif
-
-  return 0;
-}
diff --git a/lib/gltests/test-setlocale1.c b/lib/gltests/test-setlocale1.c
deleted file mode 100644 (file)
index 08f9224..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Test of setting the current locale.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <locale.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (setlocale, char *, (int, const char *));
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  char *name1;
-  char *name2;
-
-  /* Try to set the locale by implicitly looking at the LC_ALL environment
-     variable.
-     configure should already have checked that the locale is supported.  */
-  if (setlocale (LC_ALL, "") == NULL)
-    return 1;
-
-  name1 = strdup (setlocale (LC_ALL, NULL));
-
-  /* Reset the locale.  */
-  if (setlocale (LC_ALL, "C") == NULL)
-    return 1;
-
-  /* Try to set the locale by explicitly looking at the LC_ALL environment
-     variable.
-     configure should already have checked that the locale is supported.  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL)
-    return 1;
-
-  name2 = strdup (setlocale (LC_ALL, NULL));
-
-  /* Test that the two results are the same.  */
-  ASSERT (strcmp (name1, name2) == 0);
-
-  return 0;
-}
diff --git a/lib/gltests/test-setlocale1.sh b/lib/gltests/test-setlocale1.sh
deleted file mode 100755 (executable)
index 59a0532..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-: ${LOCALE_FR=fr_FR}
-: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
-: ${LOCALE_JA=ja_JP}
-: ${LOCALE_ZH_CN=zh_CN.GB18030}
-
-if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none \
-   && test $LOCALE_JA = none && test $LOCALE_ZH_CN = none; then
-  if test -f /usr/bin/localedef; then
-    echo "Skipping test: no locale for testing is installed"
-  else
-    echo "Skipping test: no locale for testing is supported"
-  fi
-  exit 77
-fi
-
-if test $LOCALE_FR != none; then
-  LC_ALL=$LOCALE_FR      ./test-setlocale1${EXEEXT} || exit 1
-fi
-
-if test $LOCALE_FR_UTF8 != none; then
-  LC_ALL=$LOCALE_FR_UTF8 ./test-setlocale1${EXEEXT} || exit 1
-fi
-
-if test $LOCALE_JA != none; then
-  LC_ALL=$LOCALE_JA      ./test-setlocale1${EXEEXT} || exit 1
-fi
-
-if test $LOCALE_ZH_CN != none; then
-  LC_ALL=$LOCALE_ZH_CN   ./test-setlocale1${EXEEXT} || exit 1
-fi
-
-exit 0
diff --git a/lib/gltests/test-setlocale2.c b/lib/gltests/test-setlocale2.c
deleted file mode 100644 (file)
index 7416647..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Test of setting the current locale.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-#include <config.h>
-
-#include <locale.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-main ()
-{
-  /* Try to set the locale by implicitly looking at the LC_ALL environment
-     variable.  */
-  if (setlocale (LC_ALL, "") != NULL)
-    /* It was successful.  Check whether LC_CTYPE is non-trivial.  */
-    if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-      {
-        fprintf (stderr, "setlocale did not fail for implicit %s\n",
-                 getenv ("LC_ALL"));
-        return 1;
-      }
-
-  /* Reset the locale.  */
-  if (setlocale (LC_ALL, "C") == NULL)
-    return 1;
-
-  /* Try to set the locale by explicitly looking at the LC_ALL environment
-     variable.  */
-  if (setlocale (LC_ALL, getenv ("LC_ALL")) != NULL)
-    /* It was successful.  Check whether LC_CTYPE is non-trivial.  */
-    if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
-      {
-        fprintf (stderr, "setlocale did not fail for explicit %s\n",
-                 getenv ("LC_ALL"));
-        return 1;
-      }
-
-  return 0;
-}
diff --git a/lib/gltests/test-setlocale2.sh b/lib/gltests/test-setlocale2.sh
deleted file mode 100755 (executable)
index 904e147..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# Test locale names with likely unsupported encoding in Unix syntax.
-for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do
-  env LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
-done
-
-# Test locale names with likely unsupported encoding in native Windows syntax.
-for name in "Arabic_Saudi Arabia.1252" "Arabic_Saudi Arabia.65001" \
-            French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \
-            Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do
-  # Here we use 'env' to set the LC_ALL environment variable, because on
-  # Solaris 11 2011-11, the /bin/sh refuses to do it for Turkish_Turkey.65001.
-  env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1
-done
-
-exit 0
diff --git a/lib/gltests/test-stdbool.c b/lib/gltests/test-stdbool.c
deleted file mode 100644 (file)
index c22ca1f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test of <stdbool.h> substitute.
-   Copyright (C) 2002-2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-/* We want this test to succeed even when using gcc's -Werror; but to
-   do that requires a pragma that didn't exist before 4.3.0.  */
-#ifndef __GNUC__
-# define ADDRESS_CHECK_OKAY
-#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-/* No way to silence -Waddress.  */
-#else
-# pragma GCC diagnostic ignored "-Waddress"
-# define ADDRESS_CHECK_OKAY
-#endif
-
-#include <config.h>
-
-#include <stdbool.h>
-
-#ifndef bool
- "error: bool is not defined"
-#endif
-#ifndef false
- "error: false is not defined"
-#endif
-#if false
- "error: false is not 0"
-#endif
-#ifndef true
- "error: true is not defined"
-#endif
-#if true != 1
- "error: true is not 1"
-#endif
-#ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
-#endif
-
-/* Several tests cannot be guaranteed with gnulib's <stdbool.h>, at
-   least, not for all compilers and compiler options.  */
-#if HAVE_STDBOOL_H || 3 <= __GNUC__
-struct s { _Bool s: 1; _Bool t; } s;
-#endif
-
-char a[true == 1 ? 1 : -1];
-char b[false == 0 ? 1 : -1];
-char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-char d[(bool) 0.5 == true ? 1 : -1];
-# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
-/* C99 may plausibly be interpreted as not requiring support for a cast from
-   a variable's address to bool in a static initializer.  So treat it like a
-   GCC extension.  */
-#  ifdef __GNUC__
-bool e = &s;
-#  endif
-# endif
-char f[(_Bool) 0.0 == false ? 1 : -1];
-#endif
-char g[true];
-char h[sizeof (_Bool)];
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-char i[sizeof s.t];
-#endif
-enum { j = false, k = true, l = false * true, m = true * 256 };
-_Bool n[m];
-char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-/* Catch a bug in an HP-UX C compiler.  See
-   http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-   http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
-_Bool q = true;
-_Bool *pq = &q;
-
-int
-main ()
-{
-  int error = 0;
-
-#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above.  */
-# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning.  */
-  /* A cast from a variable's address to bool is valid in expressions.  */
-  {
-    bool e1 = &s;
-    if (!e1)
-      error = 1;
-  }
-# endif
-#endif
-
-  /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
-     reported by James Lemley on 2005-10-05; see
-     http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
-     This is a runtime test, since a corresponding compile-time
-     test would rely on initializer extensions.  */
-  {
-    char digs[] = "0123456789";
-    if (&(digs + 5)[-2 + (bool) 1] != &digs[4])
-      error = 1;
-  }
-
-  return error;
-}
diff --git a/lib/gltests/test-stddef.c b/lib/gltests/test-stddef.c
deleted file mode 100644 (file)
index d7237b3..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stddef.h>
-
-#include "verify.h"
-
-/* Check that appropriate types are defined.  */
-wchar_t a = 'c';
-ptrdiff_t b = 1;
-size_t c = 2;
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-/* Check that offsetof produces integer constants with correct type.  */
-struct d
-{
-  char e;
-  char f;
-};
-/* Solaris 10 has a bug where offsetof is under-parenthesized, and
-   cannot be used as an arbitrary expression.  However, since it is
-   unlikely to bite real code, we ignore that short-coming.  */
-/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */
-verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
-verify (offsetof (struct d, e) < -1); /* Must be unsigned.  */
-verify (offsetof (struct d, f) == 1);
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/lib/gltests/test-stdint.c b/lib/gltests/test-stdint.c
deleted file mode 100644 (file)
index 23b2b28..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-/* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2006.  */
-
-#include <config.h>
-
-/* Whether to enable pedantic checks. */
-#define DO_PEDANTIC 0
-
-#include <stdint.h>
-
-#include "verify.h"
-#include "intprops.h"
-
-#if __GNUC__ >= 2 && DO_PEDANTIC
-# define verify_same_types(expr1,expr2)  \
-    extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \
-    extern void _verify_func(__LINE__) (__typeof__ (expr2) *);
-# define _verify_func(line) _verify_func2(line)
-# define _verify_func2(line) verify_func_ ## line
-#else
-# define verify_same_types(expr1,expr2) extern void verify_func (int)
-#endif
-
-/* 7.18.1.1. Exact-width integer types */
-/* 7.18.2.1. Limits of exact-width integer types */
-
-int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX };
-verify (TYPE_MINIMUM (int8_t) == INT8_MIN);
-verify (TYPE_MAXIMUM (int8_t) == INT8_MAX);
-verify_same_types (INT8_MIN, (int8_t) 0 + 0);
-verify_same_types (INT8_MAX, (int8_t) 0 + 0);
-
-int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX };
-verify (TYPE_MINIMUM (int16_t) == INT16_MIN);
-verify (TYPE_MAXIMUM (int16_t) == INT16_MAX);
-verify_same_types (INT16_MIN, (int16_t) 0 + 0);
-verify_same_types (INT16_MAX, (int16_t) 0 + 0);
-
-int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX };
-verify (TYPE_MINIMUM (int32_t) == INT32_MIN);
-verify (TYPE_MAXIMUM (int32_t) == INT32_MAX);
-verify_same_types (INT32_MIN, (int32_t) 0 + 0);
-verify_same_types (INT32_MAX, (int32_t) 0 + 0);
-
-#ifdef INT64_MAX
-int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX };
-verify (TYPE_MINIMUM (int64_t) == INT64_MIN);
-verify (TYPE_MAXIMUM (int64_t) == INT64_MAX);
-verify_same_types (INT64_MIN, (int64_t) 0 + 0);
-verify_same_types (INT64_MAX, (int64_t) 0 + 0);
-#endif
-
-uint8_t b1[2] = { UINT8_C (17), UINT8_MAX };
-verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX);
-verify_same_types (UINT8_MAX, (uint8_t) 0 + 0);
-
-uint16_t b2[2] = { UINT16_C (17), UINT16_MAX };
-verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX);
-verify_same_types (UINT16_MAX, (uint16_t) 0 + 0);
-
-uint32_t b3[2] = { UINT32_C (17), UINT32_MAX };
-verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX);
-verify_same_types (UINT32_MAX, (uint32_t) 0 + 0);
-
-#ifdef UINT64_MAX
-uint64_t b4[2] = { UINT64_C (17), UINT64_MAX };
-verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX);
-verify_same_types (UINT64_MAX, (uint64_t) 0 + 0);
-#endif
-
-#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT8_MAX && UINT16_MAX && UINT32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.2. Minimum-width integer types */
-/* 7.18.2.2. Limits of minimum-width integer types */
-
-int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX };
-verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN);
-verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX);
-verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0);
-verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0);
-
-int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX };
-verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN);
-verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX);
-verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0);
-verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0);
-
-int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX };
-verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN);
-verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX);
-verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0);
-verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0);
-
-#ifdef INT_LEAST64_MAX
-int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX };
-verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN);
-verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX);
-verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0);
-verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0);
-#endif
-
-uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX };
-verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX);
-verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0);
-
-uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX };
-verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX);
-verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0);
-
-uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX };
-verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX);
-verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0);
-
-#ifdef UINT_LEAST64_MAX
-uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX };
-verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX);
-verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0);
-#endif
-
-#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.3. Fastest minimum-width integer types */
-/* 7.18.2.3. Limits of fastest minimum-width integer types */
-
-int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX };
-verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN);
-verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX);
-verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0);
-verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0);
-
-int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX };
-verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN);
-verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX);
-verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0);
-verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0);
-
-int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX };
-verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN);
-verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX);
-verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0);
-verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0);
-
-#ifdef INT_FAST64_MAX
-int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX };
-verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN);
-verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX);
-verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0);
-verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0);
-#endif
-
-uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX };
-verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX);
-verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0);
-
-uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX };
-verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX);
-verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0);
-
-uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX };
-verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX);
-verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0);
-
-#ifdef UINT_FAST64_MAX
-uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX };
-verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX);
-verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0);
-#endif
-
-#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.4. Integer types capable of holding object pointers */
-/* 7.18.2.4. Limits of integer types capable of holding object pointers */
-
-intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX };
-verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN);
-verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX);
-verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0);
-verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0);
-
-uintptr_t h[2] = { 17, UINTPTR_MAX };
-verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX);
-verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0);
-
-#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX
-/* ok */
-#else
-err or;
-#endif
-
-/* 7.18.1.5. Greatest-width integer types */
-/* 7.18.2.5. Limits of greatest-width integer types */
-
-intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX };
-verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
-verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
-verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0);
-verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0);
-
-uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX };
-verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
-verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0);
-
-/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in
-   the preprocessor.  */
-#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__))
-#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX
-/* ok */
-#else
-err or;
-#endif
-#endif
-
-/* 7.18.3. Limits of other integer types */
-
-#include <stddef.h>
-
-verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN);
-verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX);
-verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0);
-verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0);
-
-#if PTRDIFF_MIN && PTRDIFF_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#include <signal.h>
-
-verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN);
-verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX);
-verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0);
-verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0);
-
-#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX
-/* ok */
-#else
-err or;
-#endif
-
-verify (TYPE_MAXIMUM (size_t) == SIZE_MAX);
-verify_same_types (SIZE_MAX, (size_t) 0 + 0);
-
-#if SIZE_MAX
-/* ok */
-#else
-err or;
-#endif
-
-#if HAVE_WCHAR_T
-verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN);
-verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX);
-verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0);
-verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0);
-
-# if WCHAR_MIN != 17 && WCHAR_MAX
-/* ok */
-# else
-err or;
-# endif
-#endif
-
-#if HAVE_WINT_T
-# include <wchar.h>
-
-verify (TYPE_MINIMUM (wint_t) == WINT_MIN);
-verify (TYPE_MAXIMUM (wint_t) == WINT_MAX);
-verify_same_types (WINT_MIN, (wint_t) 0 + 0);
-verify_same_types (WINT_MAX, (wint_t) 0 + 0);
-
-# if WINT_MIN != 17 && WINT_MAX
-/* ok */
-# else
-err or;
-# endif
-#endif
-
-/* 7.18.4. Macros for integer constants */
-
-verify (INT8_C (17) == 17);
-verify_same_types (INT8_C (17), (int_least8_t)0 + 0);
-verify (UINT8_C (17) == 17);
-verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0);
-
-verify (INT16_C (17) == 17);
-verify_same_types (INT16_C (17), (int_least16_t)0 + 0);
-verify (UINT16_C (17) == 17);
-verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0);
-
-verify (INT32_C (17) == 17);
-verify_same_types (INT32_C (17), (int_least32_t)0 + 0);
-verify (UINT32_C (17) == 17);
-verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0);
-
-#ifdef INT64_C
-verify (INT64_C (17) == 17);
-verify_same_types (INT64_C (17), (int_least64_t)0 + 0);
-#endif
-#ifdef UINT64_C
-verify (UINT64_C (17) == 17);
-verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0);
-#endif
-
-verify (INTMAX_C (17) == 17);
-verify_same_types (INTMAX_C (17), (intmax_t)0 + 0);
-verify (UINTMAX_C (17) == 17);
-verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0);
-
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/lib/gltests/test-stdlib.c b/lib/gltests/test-stdlib.c
deleted file mode 100644 (file)
index 7eeb410..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Test of <stdlib.h> substitute.
-   Copyright (C) 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "verify.h"
-
-/* Check that EXIT_SUCCESS is 0, per POSIX.  */
-static int exitcode = EXIT_SUCCESS;
-#if EXIT_SUCCESS
-"oops"
-#endif
-
-/* Check for GNU value (not guaranteed by POSIX, but is guaranteed by
-   gnulib).  */
-#if EXIT_FAILURE != 1
-"oops"
-#endif
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-#if GNULIB_TEST_SYSTEM_POSIX
-# include "test-sys_wait.h"
-#else
-# define test_sys_wait_macros() 0
-#endif
-
-int
-main (void)
-{
-  if (test_sys_wait_macros ())
-    return 1;
-
-  return exitcode;
-}
diff --git a/lib/gltests/test-striconv.c b/lib/gltests/test-striconv.c
deleted file mode 100644 (file)
index cd8d8ef..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Test of character set conversion.
-   Copyright (C) 2007-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include "striconv.h"
-
-#if HAVE_ICONV
-# include <iconv.h>
-#endif
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "macros.h"
-
-int
-main ()
-{
-#if HAVE_ICONV
-  /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1,
-     and UTF-8.  */
-  iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-  iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8");
-
-  ASSERT (cd_88591_to_utf8 != (iconv_t)(-1));
-  ASSERT (cd_utf8_to_88591 != (iconv_t)(-1));
-
-  /* ------------------------- Test mem_cd_iconv() ------------------------- */
-
-  /* Test conversion from ISO-8859-1 to UTF-8 with no errors.  */
-  {
-    static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    char *result = NULL;
-    size_t length = 0;
-    int retval = mem_cd_iconv (input, strlen (input), cd_88591_to_utf8,
-                               &result, &length);
-    ASSERT (retval == 0);
-    ASSERT (length == strlen (expected));
-    ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with no errors.  */
-  {
-    static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    char *result = NULL;
-    size_t length = 0;
-    int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
-                               &result, &length);
-    ASSERT (retval == 0);
-    ASSERT (length == strlen (expected));
-    ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ.  */
-  {
-    static const char input[] = "\342\202\254"; /* EURO SIGN */
-    char *result = NULL;
-    size_t length = 0;
-    int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
-                               &result, &length);
-    ASSERT (retval == -1 && errno == EILSEQ);
-    ASSERT (result == NULL);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL.  */
-  {
-    static const char input[] = "\342";
-    char *result = NULL;
-    size_t length = 0;
-    int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
-                               &result, &length);
-    ASSERT (retval == 0);
-    ASSERT (length == 0);
-    free (result);
-  }
-
-  /* ------------------------- Test str_cd_iconv() ------------------------- */
-
-  /* Test conversion from ISO-8859-1 to UTF-8 with no errors.  */
-  {
-    static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    char *result = str_cd_iconv (input, cd_88591_to_utf8);
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, expected) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with no errors.  */
-  {
-    static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    char *result = str_cd_iconv (input, cd_utf8_to_88591);
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, expected) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ.  */
-  {
-    static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */
-    char *result = str_cd_iconv (input, cd_utf8_to_88591);
-    ASSERT (result == NULL && errno == EILSEQ);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL.  */
-  {
-    static const char input[] = "\342";
-    char *result = str_cd_iconv (input, cd_utf8_to_88591);
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, "") == 0);
-    free (result);
-  }
-
-  iconv_close (cd_88591_to_utf8);
-  iconv_close (cd_utf8_to_88591);
-
-  /* -------------------------- Test str_iconv() -------------------------- */
-
-  /* Test conversion from ISO-8859-1 to UTF-8 with no errors.  */
-  {
-    static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    char *result = str_iconv (input, "ISO-8859-1", "UTF-8");
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, expected) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with no errors.  */
-  {
-    static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237";
-    static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-    char *result = str_iconv (input, "UTF-8", "ISO-8859-1");
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, expected) == 0);
-    free (result);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ.  */
-  {
-    static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */
-    char *result = str_iconv (input, "UTF-8", "ISO-8859-1");
-    ASSERT (result == NULL && errno == EILSEQ);
-  }
-
-  /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL.  */
-  {
-    static const char input[] = "\342";
-    char *result = str_iconv (input, "UTF-8", "ISO-8859-1");
-    ASSERT (result != NULL);
-    ASSERT (strcmp (result, "") == 0);
-    free (result);
-  }
-
-#endif
-
-  return 0;
-}
diff --git a/lib/gltests/test-strverscmp.c b/lib/gltests/test-strverscmp.c
deleted file mode 100644 (file)
index adf9bbf..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Test of strverscmp() function.
-   Copyright (C) 2008-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2008.  */
-
-#include <config.h>
-
-#include <string.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (strverscmp, int, (const char *, const char *));
-
-#include "macros.h"
-
-int
-main (void)
-{
-  ASSERT (strverscmp ("", "") == 0);
-  ASSERT (strverscmp ("a", "a") == 0);
-  ASSERT (strverscmp ("a", "b") < 0);
-  ASSERT (strverscmp ("b", "a") > 0);
-  ASSERT (strverscmp ("000", "00") < 0);
-  ASSERT (strverscmp ("00", "000") > 0);
-  ASSERT (strverscmp ("a0", "a") > 0);
-  ASSERT (strverscmp ("00", "01") < 0);
-  ASSERT (strverscmp ("01", "010") < 0);
-  ASSERT (strverscmp ("010", "09") < 0);
-  ASSERT (strverscmp ("09", "0") < 0);
-  ASSERT (strverscmp ("9", "10") < 0);
-  ASSERT (strverscmp ("0a", "0") > 0);
-  return 0;
-}
diff --git a/lib/gltests/test-sys_types.c b/lib/gltests/test-sys_types.c
deleted file mode 100644 (file)
index c2af992..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Test of <sys/types.h> substitute.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
-
-#include <config.h>
-
-#include <sys/types.h>
-
-/* Check that the types are all defined.  */
-pid_t t1;
-size_t t2;
-ssize_t t3;
-off_t t4;
-mode_t t5;
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/lib/gltests/test-sys_wait.h b/lib/gltests/test-sys_wait.h
deleted file mode 100644 (file)
index d3726df..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Test of macros shared between <sys/wait.h> and <stdlib.h>.
-   Copyright (C) 2010-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2010.  */
-
-static int
-test_sys_wait_macros (void)
-{
-  /* Check subset of <sys/wait.h> macros that must be visible here.
-     Note that some of these macros are only portable when operating
-     on an lvalue.  */
-  int i;
-  for (i = 0; i < 0x8000; i = (i ? i << 1 : 1))
-    {
-      /* POSIX requires that for all valid process statuses, that
-         exactly one of these three macros is true.  But not all
-         possible 16-bit values map to valid process status.
-         Traditionally, 8 of the bits are for WIFEXITED, 7 of the bits
-         to tell between WIFSIGNALED and WIFSTOPPED, and either 0x80
-         or 0x8000 to flag that core was also dumped.  Since we don't
-         know which byte is WIFEXITED, we skip the both possible bits
-         that can signal core dump.  */
-      if (i == 0x80)
-        continue;
-      if (!!WIFSIGNALED (i) + !!WIFEXITED (i) + !!WIFSTOPPED (i) != 1)
-        return 1;
-    }
-  i = WEXITSTATUS (i) + WSTOPSIG (i) + WTERMSIG (i);
-
-  switch (i)
-    {
-#if 0
-  /* Gnulib doesn't guarantee these, yet.  */
-    case WNOHANG:
-    case WUNTRACED:
-#endif
-      break;
-    }
-  return 0;
-}
diff --git a/lib/gltests/test-thread_create.c b/lib/gltests/test-thread_create.c
deleted file mode 100644 (file)
index 0f86771..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Test of gl_thread_create () macro.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
-
-#include <config.h>
-
-#include "glthread/thread.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include "macros.h"
-
-static gl_thread_t main_thread_before;
-static gl_thread_t main_thread_after;
-static gl_thread_t worker_thread;
-
-static int dummy;
-static volatile int work_done;
-
-static void *
-worker_thread_func (void *arg)
-{
-  work_done = 1;
-  return &dummy;
-}
-
-int
-main ()
-{
-  main_thread_before = gl_thread_self ();
-
-  if (glthread_create (&worker_thread, worker_thread_func, NULL) == 0)
-    {
-      void *ret;
-
-      /* Check that gl_thread_self () has the same value before than after the
-         first call to gl_thread_create ().  */
-      main_thread_after = gl_thread_self ();
-      ASSERT (memcmp (&main_thread_before, &main_thread_after,
-                      sizeof (gl_thread_t))
-              == 0);
-
-      gl_thread_join (worker_thread, &ret);
-
-      /* Check the return value of the thread.  */
-      ASSERT (ret == &dummy);
-
-      /* Check that worker_thread_func () has finished executing.  */
-      ASSERT (work_done);
-
-      return 0;
-    }
-  else
-    {
-#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WINDOWS_THREADS
-      fputs ("glthread_create failed\n", stderr);
-      return 1;
-#else
-      fputs ("Skipping test: multithreading not enabled\n", stderr);
-      return 77;
-#endif
-    }
-}
diff --git a/lib/gltests/test-thread_self.c b/lib/gltests/test-thread_self.c
deleted file mode 100644 (file)
index 707f7fe..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Test of gl_thread_self () macro.
-   Copyright (C) 2011-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
-
-#include <config.h>
-
-#include "glthread/thread.h"
-
-gl_thread_t main_thread;
-
-int
-main ()
-{
-  /* Check that gl_thread_self () can be used with just $(LIBTHREAD), not
-     $(LIBMULTITHREAD), i.e. in libraries that are multithread-safe but don't
-     create threads themselves.  */
-  main_thread = gl_thread_self ();
-
-  return 0;
-}
diff --git a/lib/gltests/test-unistd.c b/lib/gltests/test-unistd.c
deleted file mode 100644 (file)
index e53fd7a..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Test of <unistd.h> substitute.
-   Copyright (C) 2007, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "verify.h"
-
-/* Check that NULL can be passed through varargs as a pointer type,
-   per POSIX 2008.  */
-verify (sizeof NULL == sizeof (void *));
-
-/* Check that the various SEEK_* macros are defined.  */
-int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
-
-/* Check that the various *_FILENO macros are defined.  */
-#if ! (defined STDIN_FILENO                                     \
-       && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3))
-missing or broken *_FILENO macros
-#endif
-
-/* Check that the types are all defined.  */
-size_t t1;
-ssize_t t2;
-#ifdef TODO /* Not implemented in gnulib yet */
-uid_t t3;
-gid_t t4;
-#endif
-off_t t5;
-pid_t t6;
-#ifdef TODO
-useconds_t t7;
-intptr_t t8;
-#endif
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/lib/gltests/test-unsetenv.c b/lib/gltests/test-unsetenv.c
deleted file mode 100644 (file)
index 926526d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Tests of unsetenv.
-   Copyright (C) 2009-2012 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
-   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/>.  */
-
-/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (unsetenv, int, (char const *));
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  char entry[] = "b=2";
-
-  /* Test removal when multiple entries present.  */
-  ASSERT (putenv ((char *) "a=1") == 0);
-  ASSERT (putenv (entry) == 0);
-  entry[0] = 'a'; /* Unspecified what getenv("a") would be at this point.  */
-  ASSERT (unsetenv ("a") == 0); /* Both entries will be removed.  */
-  ASSERT (getenv ("a") == NULL);
-  ASSERT (unsetenv ("a") == 0);
-
-  /* Required to fail with EINVAL.  */
-  errno = 0;
-  ASSERT (unsetenv ("") == -1);
-  ASSERT (errno == EINVAL);
-  errno = 0;
-  ASSERT (unsetenv ("a=b") == -1);
-  ASSERT (errno == EINVAL);
-#if 0
-  /* glibc and gnulib's implementation guarantee this, but POSIX no
-     longer requires it: http://austingroupbugs.net/view.php?id=185  */
-  errno = 0;
-  ASSERT (unsetenv (NULL) == -1);
-  ASSERT (errno == EINVAL);
-#endif
-
-  return 0;
-}
diff --git a/lib/gltests/test-verify.c b/lib/gltests/test-verify.c
deleted file mode 100644 (file)
index 5ab9c58..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Test the "verify" module.
-
-   Copyright (C) 2005, 2009-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible.  */
-
-#include <config.h>
-
-#include "verify.h"
-
-#ifndef EXP_FAIL
-# define EXP_FAIL 0
-#endif
-
-int x;
-enum { a, b, c };
-
-#if EXP_FAIL == 1
-verify (x >= 0);                  /* should give ERROR: non-constant expression */
-#endif
-verify (c == 2);                  /* should be ok */
-#if EXP_FAIL == 2
-verify (1 + 1 == 3);              /* should give ERROR */
-#endif
-verify (1 == 1); verify (1 == 1); /* should be ok */
-
-enum
-{
-  item = verify_true (1 == 1) * 0 + 17 /* should be ok */
-};
-
-static int
-function (int n)
-{
-#if EXP_FAIL == 3
-  verify (n >= 0);                  /* should give ERROR: non-constant expression */
-#endif
-  verify (c == 2);                  /* should be ok */
-#if EXP_FAIL == 4
-  verify (1 + 1 == 3);              /* should give ERROR */
-#endif
-  verify (1 == 1); verify (1 == 1); /* should be ok */
-
-  if (n)
-    return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
-#if EXP_FAIL == 5
-  return verify_expr (1 == 2, 5); /* should give ERROR */
-#endif
-  return 0;
-}
-
-int
-main (void)
-{
-  return !(function (0) == 0 && function (1) == 8);
-}
diff --git a/lib/gltests/test-verify.sh b/lib/gltests/test-verify.sh
deleted file mode 100755 (executable)
index 3e76761..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-. "${srcdir=.}/init.sh"
-
-# We are not interested in triggering bugs in the compilers and tools
-# (such as gcc 4.3.1 on openSUSE 11.0).
-unset MALLOC_PERTURB_
-
-# Rather than figure out how to invoke the compiler with the right
-# include path ourselves, we let make do it:
-(cd "$initial_cwd_" && rm -f test-verify.o \
-    && $MAKE test-verify.o >/dev/null 2>&1) \
-  || skip_ "cannot compile error-free"
-
-# Now, prove that we encounter all expected compilation failures:
-: >out
-: >err
-for i in 1 2 3 4 5; do
-  (cd "$initial_cwd_"
-   rm -f test-verify.o
-   $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \
-  && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
-done
-
-Exit $fail
diff --git a/lib/gltests/unistr/test-u8-mbtoucr.c b/lib/gltests/unistr/test-u8-mbtoucr.c
deleted file mode 100644 (file)
index 9e38885..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Test of u8_mbtoucr() function.
-   Copyright (C) 2010-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
-
-#include <config.h>
-
-#include "unistr.h"
-
-#include "macros.h"
-
-int
-main ()
-{
-  ucs4_t uc;
-  int ret;
-
-  /* Test NUL unit input.  */
-  {
-    static const uint8_t input[] = "";
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == 1);
-    ASSERT (uc == 0);
-  }
-
-  /* Test ISO 646 unit input.  */
-  {
-    ucs4_t c;
-    uint8_t buf[1];
-
-    for (c = 0; c < 0x80; c++)
-      {
-        buf[0] = c;
-        uc = 0xBADFACE;
-        ret = u8_mbtoucr (&uc, buf, 1);
-        ASSERT (ret == 1);
-        ASSERT (uc == c);
-      }
-  }
-
-  /* Test 2-byte character input.  */
-  {
-    static const uint8_t input[] = { 0xC3, 0x97 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == 2);
-    ASSERT (uc == 0x00D7);
-  }
-
-  /* Test 3-byte character input.  */
-  {
-    static const uint8_t input[] = { 0xE2, 0x82, 0xAC };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 3);
-    ASSERT (ret == 3);
-    ASSERT (uc == 0x20AC);
-  }
-
-  /* Test 4-byte character input.  */
-  {
-    static const uint8_t input[] = { 0xF4, 0x8F, 0xBF, 0xBD };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 4);
-    ASSERT (ret == 4);
-    ASSERT (uc == 0x10FFFD);
-  }
-
-  /* Test incomplete/invalid 1-byte input.  */
-  {
-    static const uint8_t input[] = { 0xC1 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xC3 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xE2 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF4 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xFE };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 1);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-
-  /* Test incomplete/invalid 2-byte input.  */
-  {
-    static const uint8_t input[] = { 0xE0, 0x9F };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xE2, 0x82 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xE2, 0xD0 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF0, 0x8F };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF3, 0x8F };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF3, 0xD0 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 2);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-
-  /* Test incomplete/invalid 3-byte input.  */
-  {
-    static const uint8_t input[] = { 0xF3, 0x8F, 0xBF };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 3);
-    ASSERT (ret == -2);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF3, 0xD0, 0xBF };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 3);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-  {
-    static const uint8_t input[] = { 0xF3, 0x8F, 0xD0 };
-    uc = 0xBADFACE;
-    ret = u8_mbtoucr (&uc, input, 3);
-    ASSERT (ret == -1);
-    ASSERT (uc == 0xFFFD);
-  }
-
-  return 0;
-}
diff --git a/lib/gltests/unistr/test-u8-uctomb.c b/lib/gltests/unistr/test-u8-uctomb.c
deleted file mode 100644 (file)
index 988808e..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/* Test of u8_uctomb() function.
-   Copyright (C) 2010-2012 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
-   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/>.  */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2010.  */
-
-#include <config.h>
-
-#include "unistr.h"
-
-#include "macros.h"
-
-#define MAGIC 0xBA
-
-int
-main ()
-{
-  /* Test ISO 646 character, in particular the NUL character.  */
-  {
-    ucs4_t uc;
-
-    for (uc = 0; uc < 0x80; uc++)
-      {
-        uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
-        int ret;
-
-        ret = u8_uctomb (buf, uc, 0);
-        ASSERT (ret == -2);
-        ASSERT (buf[0] == MAGIC);
-
-        ret = u8_uctomb (buf, uc, 1);
-        ASSERT (ret == 1);
-        ASSERT (buf[0] == uc);
-        ASSERT (buf[1] == MAGIC);
-      }
-  }
-
-  /* Test 2-byte character.  */
-  {
-    ucs4_t uc = 0x00D7;
-    uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
-    int ret;
-
-    ret = u8_uctomb (buf, uc, 0);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 1);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 2);
-    ASSERT (ret == 2);
-    ASSERT (buf[0] == 0xC3);
-    ASSERT (buf[1] == 0x97);
-    ASSERT (buf[2] == MAGIC);
-  }
-
-  /* Test 3-byte character.  */
-  {
-    ucs4_t uc = 0x20AC;
-    uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
-    int ret;
-
-    ret = u8_uctomb (buf, uc, 0);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 1);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 2);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-    ASSERT (buf[1] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 3);
-    ASSERT (ret == 3);
-    ASSERT (buf[0] == 0xE2);
-    ASSERT (buf[1] == 0x82);
-    ASSERT (buf[2] == 0xAC);
-    ASSERT (buf[3] == MAGIC);
-  }
-
-  /* Test 4-byte character.  */
-  {
-    ucs4_t uc = 0x10FFFD;
-    uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
-    int ret;
-
-    ret = u8_uctomb (buf, uc, 0);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 1);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 2);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-    ASSERT (buf[1] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 3);
-    ASSERT (ret == -2);
-    ASSERT (buf[0] == MAGIC);
-    ASSERT (buf[1] == MAGIC);
-    ASSERT (buf[2] == MAGIC);
-
-    ret = u8_uctomb (buf, uc, 4);
-    ASSERT (ret == 4);
-    ASSERT (buf[0] == 0xF4);
-    ASSERT (buf[1] == 0x8F);
-    ASSERT (buf[2] == 0xBF);
-    ASSERT (buf[3] == 0xBD);
-    ASSERT (buf[4] == MAGIC);
-  }
-
-  /* Test invalid characters.  */
-  {
-    ucs4_t invalid[] = { 0x110000, 0xD800, 0xDBFF, 0xDC00, 0xDFFF };
-    uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
-    size_t i;
-
-    for (i = 0; i < SIZEOF (invalid); i++)
-      {
-        ucs4_t uc = invalid[i];
-        int n;
-
-        for (n = 0; n <= 4; n++)
-          {
-            int ret = u8_uctomb (buf, uc, n);
-            ASSERT (ret == -1);
-            ASSERT (buf[0] == MAGIC);
-            ASSERT (buf[1] == MAGIC);
-            ASSERT (buf[2] == MAGIC);
-            ASSERT (buf[3] == MAGIC);
-            ASSERT (buf[4] == MAGIC);
-          }
-      }
-  }
-
-  return 0;
-}
diff --git a/lib/gltests/unsetenv.c b/lib/gltests/unsetenv.c
deleted file mode 100644 (file)
index ddbe9a4..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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/>.  */
-
-#include <config.h>
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#if !_LIBC
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#include <unistd.h>
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of 'environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define unsetenv __unsetenv
-#endif
-
-#if _LIBC || !HAVE_UNSETENV
-
-int
-unsetenv (const char *name)
-{
-  size_t len;
-  char **ep;
-
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  len = strlen (name);
-
-  LOCK;
-
-  ep = __environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-        /* Found it.  Remove this pointer by moving later ones back.  */
-        char **dp = ep;
-
-        do
-          dp[0] = dp[1];
-        while (*dp++);
-        /* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-# undef unsetenv
-weak_alias (__unsetenv, unsetenv)
-#endif
-
-#else /* HAVE_UNSETENV */
-
-# undef unsetenv
-# if !HAVE_DECL_UNSETENV
-#  if VOID_UNSETENV
-extern void unsetenv (const char *);
-#  else
-extern int unsetenv (const char *);
-#  endif
-# endif
-
-/* Call the underlying unsetenv, in case there is hidden bookkeeping
-   that needs updating beyond just modifying environ.  */
-int
-rpl_unsetenv (const char *name)
-{
-  int result = 0;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  while (getenv (name))
-# if !VOID_UNSETENV
-    result =
-# endif
-      unsetenv (name);
-  return result;
-}
-
-#endif /* HAVE_UNSETENV */
diff --git a/lib/gltests/verify.h b/lib/gltests/verify.h
deleted file mode 100644 (file)
index cef14ad..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-/* Compile-time assert-like macros.
-
-   Copyright (C) 2005-2006, 2009-2012 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
-   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/>.  */
-
-/* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
-
-#ifndef _GL_VERIFY_H
-# define _GL_VERIFY_H
-
-
-/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
-   This is supported by GCC 4.6.0 and later, in C mode, and its use
-   here generates easier-to-read diagnostics when verify (R) fails.
-
-   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
-   This will likely be supported by future GCC versions, in C++ mode.
-
-   Use this only with GCC.  If we were willing to slow 'configure'
-   down we could also use it with other compilers, but since this
-   affects only the quality of diagnostics, why bother?  */
-# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus
-#  define _GL_HAVE__STATIC_ASSERT 1
-# endif
-/* The condition (99 < __GNUC__) is temporary, until we know about the
-   first G++ release that supports static_assert.  */
-# if (99 < __GNUC__) && defined __cplusplus
-#  define _GL_HAVE_STATIC_ASSERT 1
-# endif
-
-/* Each of these macros verifies that its argument R is nonzero.  To
-   be portable, R should be an integer constant expression.  Unlike
-   assert (R), there is no run-time overhead.
-
-   If _Static_assert works, verify (R) uses it directly.  Similarly,
-   _GL_VERIFY_TRUE works by packaging a _Static_assert inside a struct
-   that is an operand of sizeof.
-
-   The code below uses several ideas for C++ compilers, and for C
-   compilers that do not support _Static_assert:
-
-   * The first step is ((R) ? 1 : -1).  Given an expression R, of
-     integral or boolean or floating-point type, this yields an
-     expression of integral type, whose value is later verified to be
-     constant and nonnegative.
-
-   * Next this expression W is wrapped in a type
-     struct _gl_verify_type {
-       unsigned int _gl_verify_error_if_negative: W;
-     }.
-     If W is negative, this yields a compile-time error.  No compiler can
-     deal with a bit-field of negative size.
-
-     One might think that an array size check would have the same
-     effect, that is, that the type struct { unsigned int dummy[W]; }
-     would work as well.  However, inside a function, some compilers
-     (such as C++ compilers and GNU C) allow local parameters and
-     variables inside array size expressions.  With these compilers,
-     an array size check would not properly diagnose this misuse of
-     the verify macro:
-
-       void function (int n) { verify (n < 0); }
-
-   * For the verify macro, the struct _gl_verify_type will need to
-     somehow be embedded into a declaration.  To be portable, this
-     declaration must declare an object, a constant, a function, or a
-     typedef name.  If the declared entity uses the type directly,
-     such as in
-
-       struct dummy {...};
-       typedef struct {...} dummy;
-       extern struct {...} *dummy;
-       extern void dummy (struct {...} *);
-       extern struct {...} *dummy (void);
-
-     two uses of the verify macro would yield colliding declarations
-     if the entity names are not disambiguated.  A workaround is to
-     attach the current line number to the entity name:
-
-       #define _GL_CONCAT0(x, y) x##y
-       #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-       extern struct {...} * _GL_CONCAT (dummy, __LINE__);
-
-     But this has the problem that two invocations of verify from
-     within the same macro would collide, since the __LINE__ value
-     would be the same for both invocations.  (The GCC __COUNTER__
-     macro solves this problem, but is not portable.)
-
-     A solution is to use the sizeof operator.  It yields a number,
-     getting rid of the identity of the type.  Declarations like
-
-       extern int dummy [sizeof (struct {...})];
-       extern void dummy (int [sizeof (struct {...})]);
-       extern int (*dummy (void)) [sizeof (struct {...})];
-
-     can be repeated.
-
-   * Should the implementation use a named struct or an unnamed struct?
-     Which of the following alternatives can be used?
-
-       extern int dummy [sizeof (struct {...})];
-       extern int dummy [sizeof (struct _gl_verify_type {...})];
-       extern void dummy (int [sizeof (struct {...})]);
-       extern void dummy (int [sizeof (struct _gl_verify_type {...})]);
-       extern int (*dummy (void)) [sizeof (struct {...})];
-       extern int (*dummy (void)) [sizeof (struct _gl_verify_type {...})];
-
-     In the second and sixth case, the struct type is exported to the
-     outer scope; two such declarations therefore collide.  GCC warns
-     about the first, third, and fourth cases.  So the only remaining
-     possibility is the fifth case:
-
-       extern int (*dummy (void)) [sizeof (struct {...})];
-
-   * GCC warns about duplicate declarations of the dummy function if
-     -Wredundant_decls is used.  GCC 4.3 and later have a builtin
-     __COUNTER__ macro that can let us generate unique identifiers for
-     each dummy function, to suppress this warning.
-
-   * This implementation exploits the fact that older versions of GCC,
-     which do not support _Static_assert, also do not warn about the
-     last declaration mentioned above.
-
-   * In C++, any struct definition inside sizeof is invalid.
-     Use a template type to work around the problem.  */
-
-/* Concatenate two preprocessor tokens.  */
-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-# define _GL_CONCAT0(x, y) x##y
-
-/* _GL_COUNTER is an integer, preferably one that changes each time we
-   use it.  Use __COUNTER__ if it works, falling back on __LINE__
-   otherwise.  __LINE__ isn't perfect, but it's better than a
-   constant.  */
-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
-#  define _GL_COUNTER __COUNTER__
-# else
-#  define _GL_COUNTER __LINE__
-# endif
-
-/* Generate a symbol with the given prefix, making it unique if
-   possible.  */
-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
-
-/* Verify requirement R at compile-time, as an integer constant expression
-   that returns 1.  If R is false, fail at compile-time, preferably
-   with a diagnostic that includes the string-literal DIAGNOSTIC.  */
-
-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
-    (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
-
-# ifdef __cplusplus
-#  if !GNULIB_defined_struct__gl_verify_type
-template <int w>
-  struct _gl_verify_type {
-    unsigned int _gl_verify_error_if_negative: w;
-  };
-#   define GNULIB_defined_struct__gl_verify_type 1
-#  endif
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-    _gl_verify_type<(R) ? 1 : -1>
-# elif defined _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct {                                   \
-       _Static_assert (R, DIAGNOSTIC);          \
-       int _gl_dummy;                          \
-     }
-# else
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
-# endif
-
-/* Verify requirement R at compile-time, as a declaration without a
-   trailing ';'.  If R is false, fail at compile-time, preferably
-   with a diagnostic that includes the string-literal DIAGNOSTIC.
-
-   Unfortunately, unlike C11, this implementation must appear as an
-   ordinary declaration, and cannot appear inside struct { ... }.  */
-
-# ifdef _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY _Static_assert
-# else
-#  define _GL_VERIFY(R, DIAGNOSTIC)                                   \
-     extern int (*_GL_GENSYM (_gl_verify_function) (void))            \
-       [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
-# endif
-
-/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h.  */
-# ifdef _GL_STATIC_ASSERT_H
-#  if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
-#   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
-#  endif
-#  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* C11 requires this #define.  */
-#  endif
-# endif
-
-/* @assert.h omit start@  */
-
-/* Each of these macros verifies that its argument R is nonzero.  To
-   be portable, R should be an integer constant expression.  Unlike
-   assert (R), there is no run-time overhead.
-
-   There are two macros, since no single macro can be used in all
-   contexts in C.  verify_true (R) is for scalar contexts, including
-   integer constant expression contexts.  verify (R) is for declaration
-   contexts, e.g., the top level.  */
-
-/* Verify requirement R at compile-time, as an integer constant expression.
-   Return 1.  This is equivalent to verify_expr (R, 1).
-
-   verify_true is obsolescent; please use verify_expr instead.  */
-
-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
-
-/* Verify requirement R at compile-time.  Return the value of the
-   expression E.  */
-
-# define verify_expr(R, E) \
-    (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
-
-/* Verify requirement R at compile-time, as a declaration without a
-   trailing ';'.  */
-
-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
-
-/* @assert.h omit end@  */
-
-#endif
diff --git a/lib/gltests/wchar.in.h b/lib/gltests/wchar.in.h
deleted file mode 100644 (file)
index f9bc30c..0000000
+++ /dev/null
@@ -1,1028 +0,0 @@
-/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
-
-   Copyright (C) 2007-2012 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
-   the Free Software Foundation; either version 3, 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/>.  */
-
-/* Written by Eric Blake.  */
-
-/*
- * ISO C 99 <wchar.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/wchar.h.html>
- *
- * For now, this just ensures proper prerequisite inclusion order and
- * the declaration of wcwidth().
- */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
-/* Special invocation convention:
-   - Inside glibc and uClibc header files.
-   - On HP-UX 11.00 we have a sequence of nested includes
-     <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
-     once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
-     and once directly.  In both situations 'wint_t' is not yet defined,
-     therefore we cannot provide the function overrides; instead include only
-     the system's <wchar.h>.
-   - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
-     the latter includes <wchar.h>.  But here, we have no way to detect whether
-     <wctype.h> is completely included or is still being included.  */
-
-#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
-
-#else
-/* Normal invocation convention.  */
-
-#ifndef _@GUARD_PREFIX@_WCHAR_H
-
-#define _GL_ALREADY_INCLUDING_WCHAR_H
-
-#if @HAVE_FEATURES_H@
-# include <features.h> /* for __GLIBC__ */
-#endif
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.
-   In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
-   by <stddef.h>.
-   But avoid namespace pollution on glibc systems.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-#endif
-#ifndef __GLIBC__
-# include <stdio.h>
-# include <time.h>
-#endif
-
-/* Include the original <wchar.h> if it exists.
-   Some builds of uClibc lack it.  */
-/* The include_next requires a split double-inclusion guard.  */
-#if @HAVE_WCHAR_H@
-# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-#endif
-
-#undef _GL_ALREADY_INCLUDING_WCHAR_H
-
-#ifndef _@GUARD_PREFIX@_WCHAR_H
-#define _@GUARD_PREFIX@_WCHAR_H
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The attribute __pure__ was added in gcc 2.96.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
-/* Define wint_t and WEOF.  (Also done in wctype.in.h.)  */
-#if !@HAVE_WINT_T@ && !defined wint_t
-# define wint_t int
-# ifndef WEOF
-#  define WEOF -1
-# endif
-#else
-/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
-   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
-   "unchanged by default argument promotions".  Override it.  */
-# if defined _MSC_VER
-#  if !GNULIB_defined_wint_t
-#   include <crtdefs.h>
-typedef unsigned int rpl_wint_t;
-#   undef wint_t
-#   define wint_t rpl_wint_t
-#   define GNULIB_defined_wint_t 1
-#  endif
-# endif
-# ifndef WEOF
-#  define WEOF ((wint_t) -1)
-# endif
-#endif
-
-
-/* Override mbstate_t if it is too small.
-   On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
-   implementing mbrtowc for encodings like UTF-8.  */
-#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
-# if !GNULIB_defined_mbstate_t
-typedef int rpl_mbstate_t;
-#  undef mbstate_t
-#  define mbstate_t rpl_mbstate_t
-#  define GNULIB_defined_mbstate_t 1
-# endif
-#endif
-
-
-/* Convert a single-byte character to a wide character.  */
-#if @GNULIB_BTOWC@
-# if @REPLACE_BTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef btowc
-#   define btowc rpl_btowc
-#  endif
-_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
-# else
-#  if !@HAVE_BTOWC@
-_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
-# endif
-_GL_CXXALIASWARN (btowc);
-#elif defined GNULIB_POSIXCHECK
-# undef btowc
-# if HAVE_RAW_DECL_BTOWC
-_GL_WARN_ON_USE (btowc, "btowc is unportable - "
-                 "use gnulib module btowc for portability");
-# endif
-#endif
-
-
-/* Convert a wide character to a single-byte character.  */
-#if @GNULIB_WCTOB@
-# if @REPLACE_WCTOB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wctob
-#   define wctob rpl_wctob
-#  endif
-_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
-# else
-#  if !defined wctob && !@HAVE_DECL_WCTOB@
-/* wctob is provided by gnulib, or wctob exists but is not declared.  */
-_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
-# endif
-_GL_CXXALIASWARN (wctob);
-#elif defined GNULIB_POSIXCHECK
-# undef wctob
-# if HAVE_RAW_DECL_WCTOB
-_GL_WARN_ON_USE (wctob, "wctob is unportable - "
-                 "use gnulib module wctob for portability");
-# endif
-#endif
-
-
-/* Test whether *PS is in the initial state.  */
-#if @GNULIB_MBSINIT@
-# if @REPLACE_MBSINIT@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsinit
-#   define mbsinit rpl_mbsinit
-#  endif
-_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
-# else
-#  if !@HAVE_MBSINIT@
-_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsinit);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsinit
-# if HAVE_RAW_DECL_MBSINIT
-_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
-                 "use gnulib module mbsinit for portability");
-# endif
-#endif
-
-
-/* Convert a multibyte character to a wide character.  */
-#if @GNULIB_MBRTOWC@
-# if @REPLACE_MBRTOWC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbrtowc
-#   define mbrtowc rpl_mbrtowc
-#  endif
-_GL_FUNCDECL_RPL (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-# else
-#  if !@HAVE_MBRTOWC@
-_GL_FUNCDECL_SYS (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbrtowc, size_t,
-                  (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbrtowc);
-#elif defined GNULIB_POSIXCHECK
-# undef mbrtowc
-# if HAVE_RAW_DECL_MBRTOWC
-_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
-                 "use gnulib module mbrtowc for portability");
-# endif
-#endif
-
-
-/* Recognize a multibyte character.  */
-#if @GNULIB_MBRLEN@
-# if @REPLACE_MBRLEN@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbrlen
-#   define mbrlen rpl_mbrlen
-#  endif
-_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-# else
-#  if !@HAVE_MBRLEN@
-_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbrlen);
-#elif defined GNULIB_POSIXCHECK
-# undef mbrlen
-# if HAVE_RAW_DECL_MBRLEN
-_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
-                 "use gnulib module mbrlen for portability");
-# endif
-#endif
-
-
-/* Convert a string to a wide string.  */
-#if @GNULIB_MBSRTOWCS@
-# if @REPLACE_MBSRTOWCS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsrtowcs
-#   define mbsrtowcs rpl_mbsrtowcs
-#  endif
-_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_MBSRTOWCS@
-_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsrtowcs);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsrtowcs
-# if HAVE_RAW_DECL_MBSRTOWCS
-_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
-                 "use gnulib module mbsrtowcs for portability");
-# endif
-#endif
-
-
-/* Convert a string to a wide string.  */
-#if @GNULIB_MBSNRTOWCS@
-# if @REPLACE_MBSNRTOWCS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef mbsnrtowcs
-#   define mbsnrtowcs rpl_mbsnrtowcs
-#  endif
-_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_MBSNRTOWCS@
-_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
-                  (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (mbsnrtowcs);
-#elif defined GNULIB_POSIXCHECK
-# undef mbsnrtowcs
-# if HAVE_RAW_DECL_MBSNRTOWCS
-_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
-                 "use gnulib module mbsnrtowcs for portability");
-# endif
-#endif
-
-
-/* Convert a wide character to a multibyte character.  */
-#if @GNULIB_WCRTOMB@
-# if @REPLACE_WCRTOMB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcrtomb
-#   define wcrtomb rpl_wcrtomb
-#  endif
-_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-# else
-#  if !@HAVE_WCRTOMB@
-_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-#  endif
-_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcrtomb);
-#elif defined GNULIB_POSIXCHECK
-# undef wcrtomb
-# if HAVE_RAW_DECL_WCRTOMB
-_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
-                 "use gnulib module wcrtomb for portability");
-# endif
-#endif
-
-
-/* Convert a wide string to a string.  */
-#if @GNULIB_WCSRTOMBS@
-# if @REPLACE_WCSRTOMBS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcsrtombs
-#   define wcsrtombs rpl_wcsrtombs
-#  endif
-_GL_FUNCDECL_RPL (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_WCSRTOMBS@
-_GL_FUNCDECL_SYS (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (wcsrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcsrtombs);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrtombs
-# if HAVE_RAW_DECL_WCSRTOMBS
-_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
-                 "use gnulib module wcsrtombs for portability");
-# endif
-#endif
-
-
-/* Convert a wide string to a string.  */
-#if @GNULIB_WCSNRTOMBS@
-# if @REPLACE_WCSNRTOMBS@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcsnrtombs
-#   define wcsnrtombs rpl_wcsnrtombs
-#  endif
-_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# else
-#  if !@HAVE_WCSNRTOMBS@
-_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps)
-                  _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
-                  (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
-                   mbstate_t *ps));
-# endif
-_GL_CXXALIASWARN (wcsnrtombs);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnrtombs
-# if HAVE_RAW_DECL_WCSNRTOMBS
-_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
-                 "use gnulib module wcsnrtombs for portability");
-# endif
-#endif
-
-
-/* Return the number of screen columns needed for WC.  */
-#if @GNULIB_WCWIDTH@
-# if @REPLACE_WCWIDTH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcwidth
-#   define wcwidth rpl_wcwidth
-#  endif
-_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
-# else
-#  if !@HAVE_DECL_WCWIDTH@
-/* wcwidth exists but is not declared.  */
-_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
-# endif
-_GL_CXXALIASWARN (wcwidth);
-#elif defined GNULIB_POSIXCHECK
-# undef wcwidth
-# if HAVE_RAW_DECL_WCWIDTH
-_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
-                 "use gnulib module wcwidth for portability");
-# endif
-#endif
-
-
-/* Search N wide characters of S for C.  */
-#if @GNULIB_WMEMCHR@
-# if !@HAVE_WMEMCHR@
-_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
-                                      _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
-         wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wmemchr,
-                        wchar_t *, (const wchar_t *, wchar_t, size_t),
-                        const wchar_t *, (const wchar_t *, wchar_t, size_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
-                   (const wchar_t *s, wchar_t c, size_t n));
-# else
-_GL_CXXALIASWARN (wmemchr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wmemchr
-# if HAVE_RAW_DECL_WMEMCHR
-_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
-                 "use gnulib module wmemchr for portability");
-# endif
-#endif
-
-
-/* Compare N wide characters of S1 and S2.  */
-#if @GNULIB_WMEMCMP@
-# if !@HAVE_WMEMCMP@
-_GL_FUNCDECL_SYS (wmemcmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wmemcmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wmemcmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemcmp
-# if HAVE_RAW_DECL_WMEMCMP
-_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
-                 "use gnulib module wmemcmp for portability");
-# endif
-#endif
-
-
-/* Copy N wide characters of SRC to DEST.  */
-#if @GNULIB_WMEMCPY@
-# if !@HAVE_WMEMCPY@
-_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wmemcpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemcpy
-# if HAVE_RAW_DECL_WMEMCPY
-_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
-                 "use gnulib module wmemcpy for portability");
-# endif
-#endif
-
-
-/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
-   overlapping memory areas.  */
-#if @GNULIB_WMEMMOVE@
-# if !@HAVE_WMEMMOVE@
-_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wmemmove);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemmove
-# if HAVE_RAW_DECL_WMEMMOVE
-_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
-                 "use gnulib module wmemmove for portability");
-# endif
-#endif
-
-
-/* Set N wide characters of S to C.  */
-#if @GNULIB_WMEMSET@
-# if !@HAVE_WMEMSET@
-_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
-_GL_CXXALIASWARN (wmemset);
-#elif defined GNULIB_POSIXCHECK
-# undef wmemset
-# if HAVE_RAW_DECL_WMEMSET
-_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
-                 "use gnulib module wmemset for portability");
-# endif
-#endif
-
-
-/* Return the number of wide characters in S.  */
-#if @GNULIB_WCSLEN@
-# if !@HAVE_WCSLEN@
-_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
-_GL_CXXALIASWARN (wcslen);
-#elif defined GNULIB_POSIXCHECK
-# undef wcslen
-# if HAVE_RAW_DECL_WCSLEN
-_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
-                 "use gnulib module wcslen for portability");
-# endif
-#endif
-
-
-/* Return the number of wide characters in S, but at most MAXLEN.  */
-#if @GNULIB_WCSNLEN@
-# if !@HAVE_WCSNLEN@
-_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
-_GL_CXXALIASWARN (wcsnlen);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnlen
-# if HAVE_RAW_DECL_WCSNLEN
-_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
-                 "use gnulib module wcsnlen for portability");
-# endif
-#endif
-
-
-/* Copy SRC to DEST.  */
-#if @GNULIB_WCSCPY@
-# if !@HAVE_WCSCPY@
-_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcscpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscpy
-# if HAVE_RAW_DECL_WCSCPY
-_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
-                 "use gnulib module wcscpy for portability");
-# endif
-#endif
-
-
-/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST.  */
-#if @GNULIB_WCPCPY@
-# if !@HAVE_WCPCPY@
-_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcpcpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcpcpy
-# if HAVE_RAW_DECL_WCPCPY
-_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
-                 "use gnulib module wcpcpy for portability");
-# endif
-#endif
-
-
-/* Copy no more than N wide characters of SRC to DEST.  */
-#if @GNULIB_WCSNCPY@
-# if !@HAVE_WCSNCPY@
-_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcsncpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncpy
-# if HAVE_RAW_DECL_WCSNCPY
-_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
-                 "use gnulib module wcsncpy for portability");
-# endif
-#endif
-
-
-/* Copy no more than N characters of SRC to DEST, returning the address of
-   the last character written into DEST.  */
-#if @GNULIB_WCPNCPY@
-# if !@HAVE_WCPNCPY@
-_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcpncpy);
-#elif defined GNULIB_POSIXCHECK
-# undef wcpncpy
-# if HAVE_RAW_DECL_WCPNCPY
-_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
-                 "use gnulib module wcpncpy for portability");
-# endif
-#endif
-
-
-/* Append SRC onto DEST.  */
-#if @GNULIB_WCSCAT@
-# if !@HAVE_WCSCAT@
-_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
-# endif
-_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
-_GL_CXXALIASWARN (wcscat);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscat
-# if HAVE_RAW_DECL_WCSCAT
-_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
-                 "use gnulib module wcscat for portability");
-# endif
-#endif
-
-
-/* Append no more than N wide characters of SRC onto DEST.  */
-#if @GNULIB_WCSNCAT@
-# if !@HAVE_WCSNCAT@
-_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
-                  (wchar_t *dest, const wchar_t *src, size_t n));
-_GL_CXXALIASWARN (wcsncat);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncat
-# if HAVE_RAW_DECL_WCSNCAT
-_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
-                 "use gnulib module wcsncat for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2.  */
-#if @GNULIB_WCSCMP@
-# if !@HAVE_WCSCMP@
-_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
-                               _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscmp
-# if HAVE_RAW_DECL_WCSCMP
-_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
-                 "use gnulib module wcscmp for portability");
-# endif
-#endif
-
-
-/* Compare no more than N wide characters of S1 and S2.  */
-#if @GNULIB_WCSNCMP@
-# if !@HAVE_WCSNCMP@
-_GL_FUNCDECL_SYS (wcsncmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsncmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsncmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncmp
-# if HAVE_RAW_DECL_WCSNCMP
-_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
-                 "use gnulib module wcsncmp for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2, ignoring case.  */
-#if @GNULIB_WCSCASECMP@
-# if !@HAVE_WCSCASECMP@
-_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscasecmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscasecmp
-# if HAVE_RAW_DECL_WCSCASECMP
-_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
-                 "use gnulib module wcscasecmp for portability");
-# endif
-#endif
-
-
-/* Compare no more than N chars of S1 and S2, ignoring case.  */
-#if @GNULIB_WCSNCASECMP@
-# if !@HAVE_WCSNCASECMP@
-_GL_FUNCDECL_SYS (wcsncasecmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsncasecmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsncasecmp);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsncasecmp
-# if HAVE_RAW_DECL_WCSNCASECMP
-_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
-                 "use gnulib module wcsncasecmp for portability");
-# endif
-#endif
-
-
-/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
-   category of the current locale.  */
-#if @GNULIB_WCSCOLL@
-# if !@HAVE_WCSCOLL@
-_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
-# endif
-_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
-_GL_CXXALIASWARN (wcscoll);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscoll
-# if HAVE_RAW_DECL_WCSCOLL
-_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
-                 "use gnulib module wcscoll for portability");
-# endif
-#endif
-
-
-/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
-   to two transformed strings the result is the as applying 'wcscoll' to the
-   original strings.  */
-#if @GNULIB_WCSXFRM@
-# if !@HAVE_WCSXFRM@
-_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
-# endif
-_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
-_GL_CXXALIASWARN (wcsxfrm);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsxfrm
-# if HAVE_RAW_DECL_WCSXFRM
-_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
-                 "use gnulib module wcsxfrm for portability");
-# endif
-#endif
-
-
-/* Duplicate S, returning an identical malloc'd string.  */
-#if @GNULIB_WCSDUP@
-# if !@HAVE_WCSDUP@
-_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
-# endif
-_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
-_GL_CXXALIASWARN (wcsdup);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsdup
-# if HAVE_RAW_DECL_WCSDUP
-_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
-                 "use gnulib module wcsdup for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence of WC in WCS.  */
-#if @GNULIB_WCSCHR@
-# if !@HAVE_WCSCHR@
-_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
-                                     _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcschr (const wchar_t *, wchar_t);
-         wchar_t * std::wcschr (wchar_t *, wchar_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcschr,
-                        wchar_t *, (const wchar_t *, wchar_t),
-                        const wchar_t *, (const wchar_t *, wchar_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
-_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
-# else
-_GL_CXXALIASWARN (wcschr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcschr
-# if HAVE_RAW_DECL_WCSCHR
-_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
-                 "use gnulib module wcschr for portability");
-# endif
-#endif
-
-
-/* Find the last occurrence of WC in WCS.  */
-#if @GNULIB_WCSRCHR@
-# if !@HAVE_WCSRCHR@
-_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
-                                      _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
-         wchar_t * std::wcsrchr (wchar_t *, wchar_t);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
-                        wchar_t *, (const wchar_t *, wchar_t),
-                        const wchar_t *, (const wchar_t *, wchar_t));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
-_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
-# else
-_GL_CXXALIASWARN (wcsrchr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrchr
-# if HAVE_RAW_DECL_WCSRCHR
-_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
-                 "use gnulib module wcsrchr for portability");
-# endif
-#endif
-
-
-/* Return the length of the initial segmet of WCS which consists entirely
-   of wide characters not in REJECT.  */
-#if @GNULIB_WCSCSPN@
-# if !@HAVE_WCSCSPN@
-_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
-                                   _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
-_GL_CXXALIASWARN (wcscspn);
-#elif defined GNULIB_POSIXCHECK
-# undef wcscspn
-# if HAVE_RAW_DECL_WCSCSPN
-_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
-                 "use gnulib module wcscspn for portability");
-# endif
-#endif
-
-
-/* Return the length of the initial segmet of WCS which consists entirely
-   of wide characters in ACCEPT.  */
-#if @GNULIB_WCSSPN@
-# if !@HAVE_WCSSPN@
-_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
-                                  _GL_ATTRIBUTE_PURE);
-# endif
-_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
-_GL_CXXALIASWARN (wcsspn);
-#elif defined GNULIB_POSIXCHECK
-# undef wcsspn
-# if HAVE_RAW_DECL_WCSSPN
-_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
-                 "use gnulib module wcsspn for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence in WCS of any character in ACCEPT.  */
-#if @GNULIB_WCSPBRK@
-# if !@HAVE_WCSPBRK@
-_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
-                  (const wchar_t *wcs, const wchar_t *accept)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
-         wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
-                        wchar_t *, (const wchar_t *, const wchar_t *),
-                        const wchar_t *, (const wchar_t *, const wchar_t *));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
-                   (wchar_t *wcs, const wchar_t *accept));
-_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
-                   (const wchar_t *wcs, const wchar_t *accept));
-# else
-_GL_CXXALIASWARN (wcspbrk);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcspbrk
-# if HAVE_RAW_DECL_WCSPBRK
-_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
-                 "use gnulib module wcspbrk for portability");
-# endif
-#endif
-
-
-/* Find the first occurrence of NEEDLE in HAYSTACK.  */
-#if @GNULIB_WCSSTR@
-# if !@HAVE_WCSSTR@
-_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
-                  (const wchar_t *haystack, const wchar_t *needle)
-                  _GL_ATTRIBUTE_PURE);
-# endif
-  /* On some systems, this function is defined as an overloaded function:
-       extern "C++" {
-         const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
-         wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
-       }  */
-_GL_CXXALIAS_SYS_CAST2 (wcsstr,
-                        wchar_t *, (const wchar_t *, const wchar_t *),
-                        const wchar_t *, (const wchar_t *, const wchar_t *));
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
-     && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
-_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
-                   (wchar_t *haystack, const wchar_t *needle));
-_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
-                   (const wchar_t *haystack, const wchar_t *needle));
-# else
-_GL_CXXALIASWARN (wcsstr);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsstr
-# if HAVE_RAW_DECL_WCSSTR
-_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
-                 "use gnulib module wcsstr for portability");
-# endif
-#endif
-
-
-/* Divide WCS into tokens separated by characters in DELIM.  */
-#if @GNULIB_WCSTOK@
-# if !@HAVE_WCSTOK@
-_GL_FUNCDECL_SYS (wcstok, wchar_t *,
-                  (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
-# endif
-_GL_CXXALIAS_SYS (wcstok, wchar_t *,
-                  (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
-_GL_CXXALIASWARN (wcstok);
-#elif defined GNULIB_POSIXCHECK
-# undef wcstok
-# if HAVE_RAW_DECL_WCSTOK
-_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
-                 "use gnulib module wcstok for portability");
-# endif
-#endif
-
-
-/* Determine number of column positions required for first N wide
-   characters (or fewer if S ends before this) in S.  */
-#if @GNULIB_WCSWIDTH@
-# if @REPLACE_WCSWIDTH@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef wcswidth
-#   define wcswidth rpl_wcswidth
-#  endif
-_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
-                                 _GL_ATTRIBUTE_PURE);
-_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
-# else
-#  if !@HAVE_WCSWIDTH@
-_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
-                                 _GL_ATTRIBUTE_PURE);
-#  endif
-_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
-# endif
-_GL_CXXALIASWARN (wcswidth);
-#elif defined GNULIB_POSIXCHECK
-# undef wcswidth
-# if HAVE_RAW_DECL_WCSWIDTH
-_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
-                 "use gnulib module wcswidth for portability");
-# endif
-#endif
-
-
-#endif /* _@GUARD_PREFIX@_WCHAR_H */
-#endif /* _@GUARD_PREFIX@_WCHAR_H */
-#endif
index 651212b..cd62538 100644 (file)
@@ -1,5 +1,5 @@
 /* idn-free.h --- Invoke the free function to release memory
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #include <config.h>
 
index 58f3a2a..07a6937 100644 (file)
@@ -1,5 +1,5 @@
 /* idn-free.h --- Invoke the free function to release memory
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef IDN_FREE_H
 # define IDN_FREE_H
 
+/**
+ * SECTION:idn-free
+ * @title: idn-free.h
+ * @short_description: Memory deallocation functions
+ *
+ * Memory deallocation functions.
+ */
+
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
@@ -65,10 +73,10 @@ extern "C"
  * information.
  */
 
-extern void IDNAPI idn_free (void *ptr);
+  extern void IDNAPI idn_free (void *ptr);
 
 # ifdef __cplusplus
 }
 # endif
 
-#endif /* IDN_FREE_H */
+#endif                         /* IDN_FREE_H */
index 9ab413c..36f5335 100644 (file)
@@ -1,5 +1,5 @@
 /* idna.c --- Prototypes for Internationalized Domain Name library.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -78,7 +78,7 @@
  * Return value: Returns 0 on success, or an #Idna_rc error code.
  */
 int
-idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags)
+idna_to_ascii_4i (const uint32_t *in, size_t inlen, char *out, int flags)
 {
   size_t len, outlen;
   uint32_t *src;               /* XXX don't need to copy data? */
@@ -154,6 +154,9 @@ idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags)
     src = stringprep_utf8_to_ucs4 (p, -1, NULL);
 
     free (p);
+
+    if (!src)
+      return IDNA_MALLOC_ERROR;
   }
 
 step3:
@@ -209,6 +212,11 @@ step3:
       }
     if (i < 64)
       out[i] = '\0';
+    else
+      {
+       free (src);
+       return IDNA_INVALID_LENGTH;
+      }
     if (inasciirange)
       goto step8;
   }
@@ -263,7 +271,7 @@ step3:
 
 step8:
   free (src);
-  if (strlen (out) < 1 || strlen (out) > 63)
+  if (strlen (out) < 1)
     return IDNA_INVALID_LENGTH;
 
   return IDNA_SUCCESS;
@@ -272,12 +280,12 @@ step8:
 /* ToUnicode().  May realloc() utf8in.  Will free utf8in unconditionally. */
 static int
 idna_to_unicode_internal (char *utf8in,
-                         uint32_t * out, size_t * outlen, int flags)
+                         uint32_t *out, size_t *outlen, int flags)
 {
   int rc;
   char tmpout[64];
   size_t utf8len = strlen (utf8in) + 1;
-  size_t addlen = 0;
+  size_t addlen = 0, addinc = utf8len / 10 + 1;
 
   /*
    * ToUnicode consists of the following steps:
@@ -317,7 +325,8 @@ idna_to_unicode_internal (char *utf8in,
        rc = stringprep_nameprep (utf8in, utf8len + addlen);
       else
        rc = stringprep_nameprep_no_unassigned (utf8in, utf8len + addlen);
-      addlen += 1;
+      addlen += addinc;
+      addinc *= 2;
     }
   while (rc == STRINGPREP_TOO_SMALL_BUFFER);
 
@@ -425,8 +434,8 @@ step3:
  *   checking it means breaking the standard.
  */
 int
-idna_to_unicode_44i (const uint32_t * in, size_t inlen,
-                    uint32_t * out, size_t * outlen, int flags)
+idna_to_unicode_44i (const uint32_t *in, size_t inlen,
+                    uint32_t *out, size_t *outlen, int flags)
 {
   int rc;
   size_t outlensave = *outlen;
@@ -465,7 +474,7 @@ idna_to_unicode_44i (const uint32_t * in, size_t inlen,
  * Return value: Returns %IDNA_SUCCESS on success, or error code.
  **/
 int
-idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
+idna_to_ascii_4z (const uint32_t *input, char **output, int flags)
 {
   const uint32_t *start = input;
   const uint32_t *end;
@@ -536,11 +545,9 @@ idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
        }
       else
        {
-         size_t l = strlen (buf) + 1;
-         out = (char *) malloc (l);
+         out = strdup (buf);
          if (!out)
            return IDNA_MALLOC_ERROR;
-         strcpy (out, buf);
        }
 
       start = end + 1;
@@ -630,7 +637,7 @@ idna_to_ascii_lz (const char *input, char **output, int flags)
  * Return value: Returns %IDNA_SUCCESS on success, or error code.
  **/
 int
-idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags)
+idna_to_unicode_4z4z (const uint32_t *input, uint32_t **output, int flags)
 {
   const uint32_t *start = input;
   const uint32_t *end;
@@ -651,7 +658,10 @@ idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags)
       buflen = (size_t) (end - start);
       buf = malloc (sizeof (buf[0]) * (buflen + 1));
       if (!buf)
-       return IDNA_MALLOC_ERROR;
+       {
+         free (out);
+         return IDNA_MALLOC_ERROR;
+       }
 
       /* don't check return code as per specification! */
       idna_to_unicode_44i (start, (size_t) (end - start),
@@ -706,7 +716,7 @@ idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags)
  * Return value: Returns %IDNA_SUCCESS on success, or error code.
  **/
 int
-idna_to_unicode_8z4z (const char *input, uint32_t ** output, int flags)
+idna_to_unicode_8z4z (const char *input, uint32_t **output, int flags)
 {
   uint32_t *ucs4;
   size_t ucs4len;
@@ -743,13 +753,16 @@ idna_to_unicode_8z8z (const char *input, char **output, int flags)
   int rc;
 
   rc = idna_to_unicode_8z4z (input, &ucs4, flags);
+  if (rc != IDNA_SUCCESS)
+    return rc;
+
   *output = stringprep_ucs4_to_utf8 (ucs4, -1, NULL, NULL);
   free (ucs4);
 
   if (!*output)
     return IDNA_ICONV_ERROR;
 
-  return rc;
+  return IDNA_SUCCESS;
 }
 
 /**
@@ -774,13 +787,16 @@ idna_to_unicode_8zlz (const char *input, char **output, int flags)
   int rc;
 
   rc = idna_to_unicode_8z8z (input, &utf8, flags);
+  if (rc != IDNA_SUCCESS)
+    return rc;
+
   *output = stringprep_utf8_to_locale (utf8);
   free (utf8);
 
   if (!*output)
     return IDNA_ICONV_ERROR;
 
-  return rc;
+  return IDNA_SUCCESS;
 }
 
 /**
@@ -842,7 +858,7 @@ idna_to_unicode_lzlz (const char *input, char **output, int flags)
  *   string does not equal the input.
  * @IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
  *   ToASCII).
- * @IDNA_ICONV_ERROR: Could not convert string in locale encoding.
+ * @IDNA_ICONV_ERROR: Character encoding conversion error.
  * @IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
  *   fatal error).
  * @IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
index 2b58f8a..6511325 100644 (file)
@@ -1,5 +1,5 @@
 /* idna.h --- Prototypes for Internationalized Domain Name library.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef IDNA_H
 # define IDNA_H
 
+/**
+ * SECTION:idna
+ * @title: idna.h
+ * @short_description: IDNA-related functions
+ *
+ * IDNA-related functions.
+ */
+
+/**
+ * IDNAPI:
+ *
+ * Symbol holding shared library API visibility decorator.
+ *
+ * This is used internally by the library header file and should never
+ * be used or modified by the application.
+ *
+ * https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html
+ */
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
@@ -87,7 +105,7 @@ extern "C"
   extern IDNAPI int idna_to_ascii_4i (const uint32_t * in, size_t inlen,
                                      char *out, int flags);
   extern IDNAPI int idna_to_unicode_44i (const uint32_t * in, size_t inlen,
-                                        uint32_t * out, size_t * outlen,
+                                        uint32_t * out, size_t *outlen,
                                         int flags);
 
   /* Wrappers that handle several labels */
index 07a4e80..565d001 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2012 Simon Josefsson.
+# Copyright (C) 2009-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 LIBIDN_1.0
 {
similarity index 90%
rename from libidn.pc.in
rename to lib/libidn.pc.in
index a69d5d3..cf86ce0 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a pkg-config metadata file.
-# Copyright 2002-2012 Simon Josefsson
+# Copyright 2002-2024 Simon Josefsson
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
@@ -16,7 +16,7 @@ includedir=@includedir@
 
 Name: Libidn
 Description: IETF stringprep, nameprep, punycode, IDNA text processing.
-URL: http://www.gnu.org/software/libidn/
+URL: https://www.gnu.org/software/libidn/
 Version: @VERSION@
 Libs: -L${libdir} -lidn
 Libs.private: @LTLIBICONV@
similarity index 86%
rename from m4/gettext.m4
rename to lib/m4/gettext.m4
index f84e6a5..eef5073 100644 (file)
@@ -1,16 +1,16 @@
-# gettext.m4 serial 63 (gettext-0.18)
-dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
+# gettext.m4 serial 68 (gettext-0.19.8)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
@@ -35,7 +35,7 @@ dnl    will be ignored.  If NEEDSYMBOL is specified and is
 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
 dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
+dnl    the value '$(top_builddir)/intl/' is used.
 dnl
 dnl The result of the configuration is one of three cases:
 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
@@ -97,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
   ])
 
-  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
   gt_INTL_MACOSX
 
   dnl Set USE_NLS.
@@ -157,12 +157,23 @@ changequote([,])dnl
         fi
 
         AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
-         [AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
+         [AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
-            [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+               ]],
+               [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+               ]])],
             [eval "$gt_func_gnugettext_libc=yes"],
             [eval "$gt_func_gnugettext_libc=no"])])
 
@@ -183,35 +194,57 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b
             gt_save_LIBS="$LIBS"
             LIBS="$LIBS $LIBINTL"
             dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
+            AC_LINK_IFELSE(
+              [AC_LANG_PROGRAM(
+                 [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 extern int _nl_msg_cat_cntr;
 extern
 #ifdef __cplusplus
 "C"
 #endif
-const char *_nl_expand_alias (const char *);],
-              [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                 ]],
+                 [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                 ]])],
               [eval "$gt_func_gnugettext_libintl=yes"],
               [eval "$gt_func_gnugettext_libintl=no"])
             dnl Now see whether libintl exists and depends on libiconv.
             if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
               LIBS="$LIBS $LIBICONV"
-              AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
+              AC_LINK_IFELSE(
+                [AC_LANG_PROGRAM(
+                   [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 extern int _nl_msg_cat_cntr;
 extern
 #ifdef __cplusplus
 "C"
 #endif
-const char *_nl_expand_alias (const char *);],
-                [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-               [LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                eval "$gt_func_gnugettext_libintl=yes"
-               ])
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                   ]],
+                   [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                   ]])],
+                [LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+                ])
             fi
             CPPFLAGS="$gt_save_CPPFLAGS"
             LIBS="$gt_save_LIBS"])
@@ -381,3 +414,7 @@ AC_DEFUN([AM_GNU_GETTEXT_NEED],
 
 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+
+dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/lib/m4/gtk-doc.m4 b/lib/m4/gtk-doc.m4
new file mode 100644 (file)
index 0000000..2d12f01
--- /dev/null
@@ -0,0 +1,113 @@
+# -*- mode: autoconf -*-
+#
+# gtk-doc.m4 - configure macro to check for gtk-doc
+# Copyright (C) 2003 James Henstridge
+#               2007-2017  Stefan Sauer
+#
+# 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/>.
+#
+# As a special exception, the above copyright owner gives unlimited
+# permission to copy, distribute and modify the configure scripts that
+# are the output of Autoconf when processing the Macro. You need not
+# follow the terms of the GNU General Public License when using or
+# distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+
+# serial 2
+
+dnl Usage:
+dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+
+  ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
+  AC_MSG_CHECKING([for gtk-doc])
+  PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
+  AC_MSG_RESULT($have_gtk_doc)
+
+  if test "$have_gtk_doc" = "no"; then
+      AC_MSG_WARN([
+  You will not be able to create source packages with 'make dist'
+  because $gtk_doc_requires is not found.])
+  fi
+
+  dnl check for tools we added during development
+  dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
+  dnl may not be writable by the user. Currently, automake requires that the
+  dnl test name must end in '.test'.
+  dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
+  AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
+  AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
+  AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
+  AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
+
+  dnl for overriding the documentation installation directory
+  AC_ARG_WITH([html-dir],
+    AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+    [with_html_dir='${datadir}/gtk-doc/html'])
+  HTML_DIR="$with_html_dir"
+  AC_SUBST([HTML_DIR])
+
+  dnl enable/disable documentation building
+  AC_ARG_ENABLE([gtk-doc],
+    AS_HELP_STRING([--enable-gtk-doc],
+                   [use gtk-doc to build documentation [[default=no]]]),,
+    [enable_gtk_doc=no])
+
+  AC_MSG_CHECKING([whether to build gtk-doc documentation])
+  AC_MSG_RESULT($enable_gtk_doc)
+
+  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+    AC_MSG_ERROR([
+  You must have $gtk_doc_requires installed to build documentation for
+  $PACKAGE_NAME. Please install gtk-doc or disable building the
+  documentation by adding '--disable-gtk-doc' to '[$]0'.])
+  fi
+
+  dnl don't check for glib if we build glib
+  if test "x$PACKAGE_NAME" != "xglib"; then
+    dnl don't fail if someone does not have glib
+    PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,[:])
+  fi
+
+  dnl enable/disable output formats
+  AC_ARG_ENABLE([gtk-doc-html],
+    AS_HELP_STRING([--enable-gtk-doc-html],
+                   [build documentation in html format [[default=yes]]]),,
+    [enable_gtk_doc_html=yes])
+    AC_ARG_ENABLE([gtk-doc-pdf],
+      AS_HELP_STRING([--enable-gtk-doc-pdf],
+                     [build documentation in pdf format [[default=no]]]),,
+      [enable_gtk_doc_pdf=no])
+
+  if test -z "$GTKDOC_MKPDF"; then
+    enable_gtk_doc_pdf=no
+  fi
+
+  if test -z "$AM_DEFAULT_VERBOSITY"; then
+    AM_DEFAULT_VERBOSITY=1
+  fi
+  AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+  AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
+  AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
+  AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
+])
similarity index 64%
rename from m4/intlmacosx.m4
rename to lib/m4/intlmacosx.m4
index dd91025..aca924c 100644 (file)
@@ -1,47 +1,52 @@
-# intlmacosx.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
-dnl Checks for special options needed on MacOS X.
+dnl Checks for special options needed on Mac OS X.
 dnl Defines INTL_MACOSX_LIBS.
 AC_DEFUN([gt_INTL_MACOSX],
 [
-  dnl Check for API introduced in MacOS X 10.2.
+  dnl Check for API introduced in Mac OS X 10.2.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
     [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
-       [CFPreferencesCopyAppValue(NULL, NULL)],
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFPreferences.h>]],
+          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
        [gt_cv_func_CFPreferencesCopyAppValue=yes],
        [gt_cv_func_CFPreferencesCopyAppValue=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
     AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
-      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
   fi
-  dnl Check for API introduced in MacOS X 10.3.
+  dnl Check for API introduced in Mac OS X 10.3.
   AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyCurrent();]])],
        [gt_cv_func_CFLocaleCopyCurrent=yes],
        [gt_cv_func_CFLocaleCopyCurrent=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
     AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
-      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
   fi
   INTL_MACOSX_LIBS=
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
similarity index 72%
rename from m4/libtool.m4
rename to lib/m4/libtool.m4
index 828104c..c4c0294 100644 (file)
@@ -1,8 +1,6 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
 # modifications, as long as this notice is preserved.
 
 m4_define([_LT_COPYING], [dnl
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 2 of of the License, or
+# (at your option) any later version.
 #
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
 #
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ])
 
-# serial 57 LT_INIT
+# serial 58 LT_INIT
 
 
 # LT_PREREQ(VERSION)
@@ -67,7 +59,7 @@ esac
 # LT_INIT([OPTIONS])
 # ------------------
 AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
 AC_BEFORE([$0], [LT_LANG])dnl
 AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -91,7 +83,7 @@ dnl Parse OPTIONS
 _LT_SET_OPTIONS([$0], [$1])
 
 # This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
 
 # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -111,26 +103,43 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
 
 
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
 # _LT_CC_BASENAME(CC)
 # -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
 m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
 ])
 
 
 # _LT_FILEUTILS_DEFAULTS
 # ----------------------
 # It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
 m4_defun([_LT_FILEUTILS_DEFAULTS],
 [: ${CP="cp -f"}
 : ${MV="mv -f"}
@@ -177,15 +186,16 @@ m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
 m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
 
 _LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
 # commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 ])
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
@@ -198,7 +208,7 @@ aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
+  if test set != "${COLLECT_NAMES+set}"; then
     COLLECT_NAMES=
     export COLLECT_NAMES
   fi
@@ -209,14 +219,14 @@ esac
 ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
 
 # Set sane defaults for various variables
 test -z "$CC" && CC=cc
@@ -269,14 +279,14 @@ no_glob_subst='s/\*/\\\*/g'
 
 # _LT_PROG_LTMAIN
 # ---------------
-# Note that this code is called both from `configure', and `config.status'
+# Note that this code is called both from 'configure', and 'config.status'
 # now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
 # so we pass a copy along to make sure it has a sensible value anyway.
 m4_defun([_LT_PROG_LTMAIN],
 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
 ])# _LT_PROG_LTMAIN
 
 
@@ -286,7 +296,7 @@ ltmain="$ac_aux_dir/ltmain.sh"
 
 # So that we can recreate a full libtool script including additional
 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
+# in macros and then make a single call at the end using the 'libtool'
 # label.
 
 
@@ -421,8 +431,8 @@ m4_define([_lt_decl_all_varnames],
 
 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
 # ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'.  VARNAME
 # must have a single quote delimited value for this to work.
 m4_define([_LT_CONFIG_STATUS_DECLARE],
 [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
@@ -446,7 +456,7 @@ m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
 # Output comment and list of tags supported by the script
 m4_defun([_LT_LIBTOOL_TAGS],
 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
+available_tags='_LT_TAGS'dnl
 ])
 
 
@@ -474,7 +484,7 @@ m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
 # _LT_LIBTOOL_CONFIG_VARS
 # -----------------------
 # Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
 # script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
 # section) are produced by _LT_LIBTOOL_TAG_VARS.
 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
@@ -500,8 +510,8 @@ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
 # Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
 # variables for single and double quote escaping we saved from calls
 # to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'.  Finally, any additional code accumulated
 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
 m4_defun([_LT_CONFIG_COMMANDS],
 [AC_PROVIDE_IFELSE([LT_OUTPUT],
@@ -547,7 +557,7 @@ for var in lt_decl_all_varnames([[ \
 ]], lt_decl_quote_varnames); do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -560,7 +570,7 @@ for var in lt_decl_all_varnames([[ \
 ]], lt_decl_dquote_varnames); do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -576,7 +586,7 @@ _LT_OUTPUT_LIBTOOL_INIT
 # Generate a child script FILE with all initialization necessary to
 # reuse the environment learned by the parent script, and make the
 # file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
+# '#!' sequence but before initialization text begins.  After this
 # macro, additional text can be appended to FILE to form the body of
 # the child script.  The macro ends with non-zero status if the
 # file could not be fully written (such as if the disk is full).
@@ -598,7 +608,7 @@ AS_SHELL_SANITIZE
 _AS_PREPARE
 exec AS_MESSAGE_FD>&1
 _ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
 m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
 
 # LT_OUTPUT
@@ -621,7 +631,7 @@ exec AS_MESSAGE_LOG_FD>>config.log
 } >&AS_MESSAGE_LOG_FD
 
 lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
+'$as_me' creates a local libtool stub from the current configuration,
 for use in further configure time tests before the real libtool is
 generated.
 
@@ -643,7 +653,7 @@ Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
-while test $[#] != 0
+while test 0 != $[#]
 do
   case $[1] in
     --version | --v* | -V )
@@ -656,10 +666,10 @@ do
       lt_cl_silent=: ;;
 
     -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
 
     *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
   esac
   shift
 done
@@ -685,7 +695,7 @@ chmod +x "$CONFIG_LT"
 # open by configure.  Here we exec the FD to /dev/null, effectively closing
 # config.log, so it can be properly (re)opened and appended to by config.lt.
 lt_cl_success=:
-test "$silent" = yes &&
+test yes = "$silent" &&
   lt_config_lt_args="$lt_config_lt_args --quiet"
 exec AS_MESSAGE_LOG_FD>/dev/null
 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
@@ -705,27 +715,30 @@ m4_defun([_LT_CONFIG],
 _LT_CONFIG_SAVE_COMMANDS([
   m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
   m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options which allow our
+    # See if we are running on zsh, and set the options that allow our
     # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
+    if test -n "${ZSH_VERSION+set}"; then
       setopt NO_GLOB_SUBST
     fi
 
-    cfgfile="${ofile}T"
+    cfgfile=${ofile}T
     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     $RM "$cfgfile"
 
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# Generated automatically by $as_me ($PACKAGE) $VERSION
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
 _LT_COPYING
 _LT_LIBTOOL_TAGS
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 _LT_LIBTOOL_CONFIG_VARS
 _LT_LIBTOOL_TAG_VARS
@@ -733,13 +746,24 @@ _LT_LIBTOOL_TAG_VARS
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
 # vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
   COLLECT_NAMES=
   export COLLECT_NAMES
 fi
@@ -756,8 +780,6 @@ _LT_EOF
   sed '$q' "$ltmain" >> "$cfgfile" \
      || (rm -f "$cfgfile"; exit 1)
 
-  _LT_PROG_REPLACE_SHELLFNS
-
    mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
@@ -775,7 +797,6 @@ _LT_EOF
 [m4_if([$1], [], [
     PACKAGE='$PACKAGE'
     VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
     RM='$RM'
     ofile='$ofile'], [])
 ])dnl /_LT_CONFIG_SAVE_COMMANDS
@@ -974,7 +995,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 
     AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
       [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
+      if test -z "$LT_MULTI_MODULE"; then
        # By default we will add the -single_module flag. You can override
        # by either setting the environment variable LT_MULTI_MODULE
        # non-empty at configure time, or by adding -multi_module to the
@@ -992,7 +1013,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
          cat conftest.err >&AS_MESSAGE_LOG_FD
        # Otherwise, if the output was created with a 0 exit code from
        # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+       elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
          lt_cv_apple_cc_single_mod=yes
        else
          cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1010,7 +1031,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
       AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
        [lt_cv_ld_exported_symbols_list=yes],
        [lt_cv_ld_exported_symbols_list=no])
-       LDFLAGS="$save_LDFLAGS"
+       LDFLAGS=$save_LDFLAGS
     ])
 
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
@@ -1020,8 +1041,8 @@ int forced_loaded() { return 2;}
 _LT_EOF
       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
       cat > conftest.c << _LT_EOF
@@ -1032,7 +1053,7 @@ _LT_EOF
       _lt_result=$?
       if test -s conftest.err && $GREP force_load conftest.err; then
        cat conftest.err >&AS_MESSAGE_LOG_FD
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
        lt_cv_ld_force_load=yes
       else
        cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1042,32 +1063,32 @@ _LT_EOF
     ])
     case $host_os in
     rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     darwin*) # darwin 5.x on
       # if running on 10.5 or later, the deployment target defaults
       # to the OS version, if on x86, and 10.4, the deployment
       # target defaults to 10.4. Don't you love it?
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[[012]]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+       10.[[012]][[,.]]*)
+         _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+       10.*|11.*)
+         _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
       esac
     ;;
   esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
       _lt_dar_single_mod='$single_module'
     fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -1087,29 +1108,29 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_automatic, $1)=yes
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  if test yes = "$lt_cv_ld_force_load"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
     m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
                   [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
   _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
   case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
      *) _lt_dar_can_shared=$GCC ;;
   esac
-  if test "$_lt_dar_can_shared" = "yes"; then
+  if test yes = "$_lt_dar_can_shared"; then
     output_verbose_link_cmd=func_echo_all
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
     m4_if([$1], [CXX],
-[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+[   if test yes != "$lt_cv_apple_cc_single_mod"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
     fi
 ],[])
   else
@@ -1129,7 +1150,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
 # Allow to override them for all tags through lt_cv_aix_libpath.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
+if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
   AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
@@ -1147,7 +1168,7 @@ else
     _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
   fi],[])
   if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
   fi
   ])
   aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
@@ -1167,8 +1188,8 @@ m4_define([_LT_SHELL_INIT],
 # -----------------------
 # Find how we can fake an echo command that does not interpret backslash.
 # In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
 m4_defun([_LT_PROG_ECHO_BACKSLASH],
 [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
@@ -1196,10 +1217,10 @@ fi
 # Invoke $ECHO with all args, space-separated.
 func_echo_all ()
 {
-    $ECHO "$*" 
+    $ECHO "$*"
 }
 
-case "$ECHO" in
+case $ECHO in
   printf*) AC_MSG_RESULT([printf]) ;;
   print*) AC_MSG_RESULT([print -r]) ;;
   *) AC_MSG_RESULT([cat]) ;;
@@ -1225,16 +1246,17 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 AC_DEFUN([_LT_WITH_SYSROOT],
 [AC_MSG_CHECKING([for sysroot])
 AC_ARG_WITH([sysroot],
-[  --with-sysroot[=DIR] Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+  [Search for dependent libraries within DIR (or the compiler's sysroot
+   if not specified).])],
 [], [with_sysroot=no])
 
 dnl lt_sysroot will always be passed unquoted.  We quote it here
 dnl in case the user passed a directory name.
 lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
  yes)
-   if test "$GCC" = yes; then
+   if test yes = "$GCC"; then
      lt_sysroot=`$CC --print-sysroot 2>/dev/null`
    fi
    ;; #(
@@ -1244,14 +1266,14 @@ case ${with_sysroot} in #(
  no|'')
    ;; #(
  *)
-   AC_MSG_RESULT([${with_sysroot}])
+   AC_MSG_RESULT([$with_sysroot])
    AC_MSG_ERROR([The sysroot must be an absolute path.])
    ;;
 esac
 
  AC_MSG_RESULT([${lt_sysroot:-no}])
 _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
+[dependent libraries, and where our libraries should be installed.])])
 
 # _LT_ENABLE_LOCK
 # ---------------
@@ -1259,31 +1281,33 @@ m4_defun([_LT_ENABLE_LOCK],
 [AC_ARG_ENABLE([libtool-lock],
   [AS_HELP_STRING([--disable-libtool-lock],
     [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
 # libtool support.
 case $host in
 ia64-*-hpux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.$ac_objext` in
       *ELF-32*)
-       HPUX_IA64_MODE="32"
+       HPUX_IA64_MODE=32
        ;;
       *ELF-64*)
-       HPUX_IA64_MODE="64"
+       HPUX_IA64_MODE=64
        ;;
     esac
   fi
   rm -rf conftest*
   ;;
 *-*-irix6*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
       case `/usr/bin/file conftest.$ac_objext` in
        *32-bit*)
          LD="${LD-ld} -melf32bsmip"
@@ -1312,9 +1336,46 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+       emul="${emul}32"
+       ;;
+      *64-bit*)
+       emul="${emul}64"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+       emul="${emul}btsmip"
+       ;;
+      *LSB*)
+       emul="${emul}ltsmip"
+       ;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+       emul="${emul}n32"
+       ;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
@@ -1324,9 +1385,19 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
+           ;;
+         powerpc64le-*linux*)
+           LD="${LD-ld} -m elf32lppclinux"
            ;;
-         ppc64-*linux*|powerpc64-*linux*)
+         powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
            ;;
          s390x-*linux*)
@@ -1345,7 +1416,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_x86_64"
            ;;
-         ppc*-*linux*|powerpc*-*linux*)
+         powerpcle-*linux*)
+           LD="${LD-ld} -m elf64lppc"
+           ;;
+         powerpc-*linux*)
            LD="${LD-ld} -m elf64ppc"
            ;;
          s390*-*linux*|s390*-*tpf*)
@@ -1363,19 +1437,20 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 
 *-*-sco3.2v5*)
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
+  SAVE_CFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -belf"
   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
     [AC_LANG_PUSH(C)
      AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
      AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+  if test yes != "$lt_cv_cc_needs_belf"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
+    CFLAGS=$SAVE_CFLAGS
   fi
   ;;
 *-*solaris*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
@@ -1383,7 +1458,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
       case $lt_cv_prog_gnu_ld in
       yes*)
         case $host in
-        i?86-*-solaris*)
+        i?86-*-solaris*|x86_64-*-solaris*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
         sparc*-*-solaris*)
@@ -1392,7 +1467,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
         esac
         # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
         if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
+          LD=${LD-ld}_sol2
         fi
         ;;
       *)
@@ -1408,7 +1483,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   ;;
 esac
 
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
 ])# _LT_ENABLE_LOCK
 
 
@@ -1417,7 +1492,7 @@ need_locks="$enable_libtool_lock"
 m4_defun([_LT_PROG_AR],
 [AC_CHECK_TOOLS(AR, [ar], false)
 : ${AR=ar}
-: ${AR_FLAGS=cru}
+: ${AR_FLAGS=cr}
 _LT_DECL([], [AR], [1], [The archiver])
 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
 
@@ -1427,11 +1502,11 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
      [echo conftest.$ac_objext > conftest.lst
       lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
       AC_TRY_EVAL([lt_ar_try])
-      if test "$ac_status" -eq 0; then
+      if test 0 -eq "$ac_status"; then
        # Ensure the archiver fails upon bogus file names.
        rm -f conftest.$ac_objext libconftest.a
        AC_TRY_EVAL([lt_ar_try])
-       if test "$ac_status" -ne 0; then
+       if test 0 -ne "$ac_status"; then
           lt_cv_ar_at_file=@
         fi
       fi
@@ -1439,7 +1514,7 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
      ])
   ])
 
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
   archiver_list_spec=
 else
   archiver_list_spec=$lt_cv_ar_at_file
@@ -1470,7 +1545,7 @@ old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
   case $host_os in
-  openbsd*)
+  bitrig* | openbsd*)
     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
@@ -1506,7 +1581,7 @@ AC_CACHE_CHECK([$1], [$2],
   [$2=no
    m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
+   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -1533,7 +1608,7 @@ AC_CACHE_CHECK([$1], [$2],
    $RM conftest*
 ])
 
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
     m4_if([$5], , :, [$5])
 else
     m4_if([$6], , :, [$6])
@@ -1555,7 +1630,7 @@ AC_DEFUN([_LT_LINKER_OPTION],
 m4_require([_LT_DECL_SED])dnl
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS $3"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -1574,10 +1649,10 @@ AC_CACHE_CHECK([$1], [$2],
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 ])
 
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
     m4_if([$4], , :, [$4])
 else
     m4_if([$5], , :, [$5])
@@ -1598,7 +1673,7 @@ AC_DEFUN([LT_CMD_MAX_LEN],
 AC_MSG_CHECKING([the maximum length of command line arguments])
 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
   i=0
-  teststring="ABCD"
+  teststring=ABCD
 
   case $build_os in
   msdosdjgpp*)
@@ -1638,7 +1713,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     # This has been around since 386BSD, at least.  Likely further.
     if test -x /sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1688,22 +1763,23 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
       # Make teststring a little bigger before we do anything with it.
       # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
+      for i in 1 2 3 4 5 6 7 8; do
         teststring=$teststring$teststring
       done
       SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
+             test 17 != "$i" # 1/2 MB should be enough
       do
         i=`expr $i + 1`
         teststring=$teststring$teststring
@@ -1719,7 +1795,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   esac
 ])
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
   AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
 else
   AC_MSG_RESULT(none)
@@ -1747,7 +1823,7 @@ m4_defun([_LT_HEADER_DLFCN],
 # ----------------------------------------------------------------
 m4_defun([_LT_TRY_DLOPEN_SELF],
 [m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
+if test yes = "$cross_compiling"; then :
   [$4]
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -1794,9 +1870,9 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -1822,7 +1898,7 @@ int main ()
   return status;
 }]
 _LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -1843,7 +1919,7 @@ rm -fr conftest*
 # ------------------
 AC_DEFUN([LT_SYS_DLOPEN_SELF],
 [m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
+if test yes != "$enable_dlopen"; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
   enable_dlopen_self_static=unknown
@@ -1853,44 +1929,52 @@ else
 
   case $host_os in
   beos*)
-    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen=load_add_on
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ;;
 
   mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen=LoadLibrary
     lt_cv_dlopen_libs=
     ;;
 
   cygwin*)
-    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen=dlopen
     lt_cv_dlopen_libs=
     ;;
 
   darwin*)
-  # if libdl is installed we need to link against it
+    # if libdl is installed we need to link against it
     AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
+               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+    lt_cv_dlopen=dyld
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ])
     ;;
 
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
   *)
     AC_CHECK_FUNC([shl_load],
-         [lt_cv_dlopen="shl_load"],
+         [lt_cv_dlopen=shl_load],
       [AC_CHECK_LIB([dld], [shl_load],
-           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+           [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
        [AC_CHECK_FUNC([dlopen],
-             [lt_cv_dlopen="dlopen"],
+             [lt_cv_dlopen=dlopen],
          [AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+               [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
            [AC_CHECK_LIB([svld], [dlopen],
-                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+                 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
              [AC_CHECK_LIB([dld], [dld_link],
-                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+                   [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
              ])
            ])
          ])
@@ -1899,21 +1983,21 @@ else
     ;;
   esac
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
+  if test no = "$lt_cv_dlopen"; then
     enable_dlopen=no
+  else
+    enable_dlopen=yes
   fi
 
   case $lt_cv_dlopen in
   dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
-    save_LDFLAGS="$LDFLAGS"
+    save_LDFLAGS=$LDFLAGS
     wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
-    save_LIBS="$LIBS"
+    save_LIBS=$LIBS
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     AC_CACHE_CHECK([whether a program can dlopen itself],
@@ -1923,7 +2007,7 @@ else
            lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
     ])
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
+    if test yes = "$lt_cv_dlopen_self"; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
          lt_cv_dlopen_self_static, [dnl
@@ -1933,9 +2017,9 @@ else
       ])
     fi
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
     ;;
   esac
 
@@ -2027,8 +2111,8 @@ m4_defun([_LT_COMPILER_FILE_LOCKS],
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 _LT_COMPILER_C_O([$1])
 
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
   # do not overwrite the value of need_locks provided by the user
   AC_MSG_CHECKING([if we can lock with hard links])
   hard_links=yes
@@ -2038,8 +2122,8 @@ if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" !=
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+  if test no = "$hard_links"; then
+    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
     need_locks=warn
   fi
 else
@@ -2066,8 +2150,8 @@ objdir=$lt_cv_objdir
 _LT_DECL([], [objdir], [0],
          [The name of the directory that contains temporary libtool files])dnl
 m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+  [Define to the sub-directory where libtool stores uninstalled libraries.])
 ])# _LT_CHECK_OBJDIR
 
 
@@ -2079,15 +2163,15 @@ m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
 _LT_TAGVAR(hardcode_action, $1)=
 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
    test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
 
   # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
      # If the only mechanism to avoid hardcoding is shlibpath_var, we
      # have to relink, otherwise we might link with an installed library
      # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
     # Linking always hardcodes the temporary library directory.
     _LT_TAGVAR(hardcode_action, $1)=relink
   else
@@ -2101,12 +2185,12 @@ else
 fi
 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
 
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
   # Fast installation is not supported
   enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
   # Fast installation is not necessary
   enable_fast_install=needless
 fi
@@ -2130,7 +2214,7 @@ else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
   darwin*)
-    if test -n "$STRIP" ; then
+    if test -n "$STRIP"; then
       striplib="$STRIP -x"
       old_striplib="$STRIP -S"
       AC_MSG_RESULT([yes])
@@ -2148,6 +2232,47 @@ _LT_DECL([], [striplib], [1])
 ])# _LT_CMD_STRIPLIB
 
 
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
 # _LT_SYS_DYNAMIC_LINKER([TAG])
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
@@ -2158,17 +2283,18 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
        [], [
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
   esac
   case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
   case $lt_search_path_spec in
@@ -2184,28 +2310,35 @@ if test "$GCC" = yes; then
     ;;
   esac
   # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
+  # and add multilib dir if necessary...
   lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
   for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
       test -d "$lt_sys_path" && \
        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
   lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
   for (lt_i = NF; lt_i > 0; lt_i--) {
     if ($lt_i != "" && $lt_i != ".") {
       if ($lt_i == "..") {
         lt_count++;
       } else {
         if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
+          lt_foo = "/" $lt_i lt_foo;
         } else {
           lt_count--;
         }
@@ -2219,7 +2352,7 @@ BEGIN {RS=" "; FS="/|\n";} {
   # for these hosts.
   case $host_os in
     mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
   esac
   sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
@@ -2228,7 +2361,7 @@ fi])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -2245,14 +2378,17 @@ hardcode_into_libs=no
 # flags to be left without arguments
 need_version=unknown
 
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
+  soname_spec='$libname$release$shared_ext$major'
   ;;
 
 aix[[4-9]]*)
@@ -2260,41 +2396,91 @@ aix[[4-9]]*)
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     shlibpath_var=LD_LIBRARY_PATH
   else
     # With GCC up to 2.95.x, collect2 would create an import file
     # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
       aix4 | aix4.[[01]] | aix4.[[01]].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
           echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+          echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
        :
       else
        can_build_shared=no
       fi
       ;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # If using run time linking (on AIX 4.2 or later) use lib<name>.so
       # instead of lib<name>.a to let people know that these are not
       # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
       # We preserve .a as extension for shared libraries through AIX4.2
       # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -2304,18 +2490,18 @@ amigaos*)
   powerpc)
     # Since July 2007 AmigaOS4 officially supports .so libraries.
     # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     ;;
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
 
 beos*)
-  library_names_spec='${libname}${shared_ext}'
+  library_names_spec='$libname$shared_ext'
   dynamic_linker="$host_os ld.so"
   shlibpath_var=LIBRARY_PATH
   ;;
@@ -2323,8 +2509,8 @@ beos*)
 bsdi[[45]]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -2336,7 +2522,7 @@ bsdi[[45]]*)
 
 cygwin* | mingw* | pw32* | cegcc*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext_cmds=.dll
   need_version=no
   need_lib_prefix=no
 
@@ -2345,8 +2531,8 @@ cygwin* | mingw* | pw32* | cegcc*)
     # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
@@ -2362,17 +2548,17 @@ cygwin* | mingw* | pw32* | cegcc*)
     case $host_os in
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
 m4_if([$1], [],[
       sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
       ;;
     esac
     dynamic_linker='Win32 ld.exe'
@@ -2381,8 +2567,8 @@ m4_if([$1], [],[
   *,cl*)
     # Native MSVC
     libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
+    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
 
     case $build_os in
     mingw*)
@@ -2409,7 +2595,7 @@ m4_if([$1], [],[
       sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
       ;;
     *)
-      sys_lib_search_path_spec="$LIB"
+      sys_lib_search_path_spec=$LIB
       if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
         # It is most probably a Windows format PATH.
         sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -2422,8 +2608,8 @@ m4_if([$1], [],[
     esac
 
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname'
@@ -2436,7 +2622,7 @@ m4_if([$1], [],[
 
   *)
     # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
     dynamic_linker='Win32 ld.exe'
     ;;
   esac
@@ -2449,8 +2635,8 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -2463,8 +2649,8 @@ dgux*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -2482,12 +2668,13 @@ freebsd* | dragonfly*)
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
     freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
   esac
@@ -2512,26 +2699,15 @@ freebsd* | dragonfly*)
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
+  shlibpath_overrides_runpath=no
   sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
@@ -2549,14 +2725,15 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -2564,8 +2741,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
@@ -2574,8 +2751,8 @@ hpux9* | hpux10* | hpux11*)
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     ;;
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -2588,8 +2765,8 @@ interix[[3-9]]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -2600,7 +2777,7 @@ irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
     *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
+       if test yes = "$lt_cv_prog_gnu_ld"; then
                version_type=linux # correct to gnu/linux during the next big refactor
        else
                version_type=irix
@@ -2608,8 +2785,8 @@ irix5* | irix6* | nonstopux*)
   esac
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
   case $host_os in
   irix5* | nonstopux*)
     libsuff= shlibsuff=
@@ -2628,8 +2805,8 @@ irix5* | irix6* | nonstopux*)
   esac
   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
   shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
   hardcode_into_libs=yes
   ;;
 
@@ -2638,13 +2815,33 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  ;;
+
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -2669,7 +2866,12 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -2701,12 +2903,12 @@ netbsd*)
   need_lib_prefix=no
   need_version=no
   if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
   shlibpath_var=LD_LIBRARY_PATH
@@ -2716,7 +2918,7 @@ netbsd*)
 
 newsos6)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   ;;
@@ -2725,58 +2927,68 @@ newsos6)
   version_type=qnx
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   dynamic_linker='ldqnx.so'
   ;;
 
-openbsd*)
+openbsd* | bitrig*)
   version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
+  sys_lib_dlsearch_path_spec=/usr/lib
   need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
   else
-    shlibpath_overrides_runpath=yes
+    need_version=yes
   fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   ;;
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
   ;;
 
 osf3* | osf4* | osf5*)
   version_type=osf
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
   ;;
 
 rdos*)
@@ -2787,8 +2999,8 @@ solaris*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
@@ -2798,11 +3010,11 @@ solaris*)
 
 sunos4*)
   version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     need_lib_prefix=no
   fi
   need_version=yes
@@ -2810,8 +3022,8 @@ sunos4*)
 
 sysv4 | sysv4.3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   case $host_vendor in
     sni)
@@ -2832,24 +3044,24 @@ sysv4 | sysv4.3*)
   ;;
 
 sysv4*MP*)
-  if test -d /usr/nec ;then
+  if test -d /usr/necthen
     version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
     shlibpath_var=LD_LIBRARY_PATH
   fi
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -2867,7 +3079,7 @@ tpf*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
@@ -2875,8 +3087,8 @@ tpf*)
 
 uts4*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -2885,20 +3097,30 @@ uts4*)
   ;;
 esac
 AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
 _LT_DECL([], [variables_saved_for_relink], [1],
     [Variables whose values should be saved in libtool wrapper scripts and
     restored at link time])
@@ -2931,39 +3153,41 @@ _LT_DECL([], [hardcode_into_libs], [0],
     [Whether we should hardcode library paths into libraries])
 _LT_DECL([], [sys_lib_search_path_spec], [2],
     [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
 ])# _LT_SYS_DYNAMIC_LINKER
 
 
 # _LT_PATH_TOOL_PREFIX(TOOL)
 # --------------------------
-# find a file program which can recognize shared library
+# find a file program that can recognize shared library
 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
 [m4_require([_LT_DECL_EGREP])dnl
 AC_MSG_CHECKING([for $1])
 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
 [case $MAGIC_CMD in
 [[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
 dnl $ac_dummy forces splitting on constant user-supplied paths.
 dnl POSIX.2 word splitting is done only on the output of word expansions,
 dnl not every word.  This closes a longstanding sh security hole.
   ac_dummy="m4_if([$2], , $PATH, [$2])"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+    if test -f "$ac_dir/$1"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
       if test -n "$file_magic_test_file"; then
        case $deplibs_check_method in
        "file_magic "*)
          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         MAGIC_CMD=$lt_cv_path_MAGIC_CMD
          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
            $EGREP "$file_magic_regex" > /dev/null; then
            :
@@ -2986,11 +3210,11 @@ _LT_EOF
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
   AC_MSG_RESULT($MAGIC_CMD)
 else
@@ -3008,7 +3232,7 @@ dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
 
 # _LT_PATH_MAGIC
 # --------------
-# find a file program which can recognize a shared library
+# find a file program that can recognize a shared library
 m4_defun([_LT_PATH_MAGIC],
 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -3035,16 +3259,16 @@ m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],
        [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
+    [test no = "$withval" || with_gnu_ld=yes],
     [with_gnu_ld=no])dnl
 
 ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   # Check if gcc -print-prog-name=ld gives a path.
   AC_MSG_CHECKING([for ld used by $CC])
   case $host in
   *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
+    # gcc leaves a trailing carriage return, which upsets mingw
     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
   *)
     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3058,7 +3282,7 @@ if test "$GCC" = yes; then
       while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done
-      test -z "$LD" && LD="$ac_prog"
+      test -z "$LD" && LD=$ac_prog
       ;;
   "")
     # If it fails, then pretend we aren't using GCC.
@@ -3069,37 +3293,37 @@ if test "$GCC" = yes; then
     with_gnu_ld=unknown
     ;;
   esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
   AC_MSG_CHECKING([for GNU ld])
 else
   AC_MSG_CHECKING([for non-GNU ld])
 fi
 AC_CACHE_VAL(lt_cv_path_LD,
 [if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
+      lt_cv_path_LD=$ac_dir/$ac_prog
       # Check to see if the program is GNU ld.  I'd rather use --version,
       # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
+       test no != "$with_gnu_ld" && break
        ;;
       *)
-       test "$with_gnu_ld" != yes && break
+       test yes != "$with_gnu_ld" && break
        ;;
       esac
     fi
   done
-  IFS="$lt_save_ifs"
+  IFS=$lt_save_ifs
 else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
 fi])
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
 if test -n "$LD"; then
   AC_MSG_RESULT($LD)
 else
@@ -3153,13 +3377,13 @@ esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
   cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       reload_cmds=false
     fi
     ;;
   darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     else
       reload_cmds='$LD$reload_flag -o $output$reload_objs'
     fi
@@ -3170,6 +3394,43 @@ _LT_TAGDECL([], [reload_cmds], [2])dnl
 ])# _LT_CMD_RELOAD
 
 
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+  [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
 # _LT_CHECK_MAGIC_METHOD
 # ----------------------
 # how to check for library dependencies
@@ -3185,13 +3446,13 @@ lt_cv_deplibs_check_method='unknown'
 # Need to set the preceding variable on all platforms that support
 # interlibrary dependencies.
 # 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
 # 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
 
 case $host_os in
 aix[[4-9]]*)
@@ -3218,8 +3479,7 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+  if ( file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
@@ -3255,10 +3515,6 @@ freebsd* | dragonfly*)
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3297,7 +3553,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -3319,8 +3575,8 @@ newos6*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
   else
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -3373,6 +3629,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 ])
 
@@ -3413,33 +3672,38 @@ AC_DEFUN([LT_PATH_NM],
 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
 [if test -n "$NM"; then
   # Let the user override the test.
-  lt_cv_path_NM="$NM"
+  lt_cv_path_NM=$NM
 else
-  lt_nm_to_check="${ac_tool_prefix}nm"
+  lt_nm_to_check=${ac_tool_prefix}nm
   if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
        # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
        #   nm: unknown option "B" ignored
        # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
+       # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+       case $build_os in
+       mingw*) lt_bad_file=conftest.nm/nofile ;;
+       *) lt_bad_file=/dev/null ;;
+       esac
+       case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+       *$lt_bad_file* | *'Invalid file or object type'*)
          lt_cv_path_NM="$tmp_nm -B"
-         break
+         break 2
          ;;
        *)
          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
          */dev/null*)
            lt_cv_path_NM="$tmp_nm -p"
-           break
+           break 2
            ;;
          *)
            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -3450,21 +3714,21 @@ else
        esac
       fi
     done
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
   done
   : ${lt_cv_path_NM=no}
 fi])
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
   if test -n "$DUMPBIN"; then :
     # Let the user override the test.
   else
     AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
+      DUMPBIN="$DUMPBIN -symbols -headers"
       ;;
     *)
       DUMPBIN=:
@@ -3472,8 +3736,8 @@ else
     esac
   fi
   AC_SUBST([DUMPBIN])
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
   fi
 fi
 test -z "$NM" && NM=nm
@@ -3519,8 +3783,8 @@ lt_cv_sharedlib_from_linklib_cmd,
 
 case $host_os in
 cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
   case `$DLLTOOL --help 2>&1` in
   *--identify-strict*)
     lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -3532,7 +3796,7 @@ cygwin* | mingw* | pw32* | cegcc*)
   ;;
 *)
   # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
   ;;
 esac
 ])
@@ -3559,13 +3823,28 @@ AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool
     lt_cv_path_mainfest_tool=yes
   fi
   rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
   MANIFEST_TOOL=:
 fi
 _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
 ])# _LT_PATH_MANIFEST_TOOL
 
 
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+  test DEF = "`$SED -n dnl
+    -e '\''s/^[[        ]]*//'\'' dnl Strip leading whitespace
+    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
+    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[  ]].*\)*$/DEF/p'\'' dnl
+    -e q dnl                          Only consider the first "real" line
+    $1`" dnl
+])# _LT_DLL_DEF_P
+
+
 # LT_LIB_M
 # --------
 # check for math library
@@ -3577,11 +3856,11 @@ case $host in
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
   AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
   ;;
 *)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  AC_CHECK_LIB(m, cos, LIBM=-lm)
   ;;
 esac
 AC_SUBST([LIBM])
@@ -3600,7 +3879,7 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $cc_basename in
   nvcc*)
     _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
@@ -3652,7 +3931,7 @@ cygwin* | mingw* | pw32* | cegcc*)
   symcode='[[ABCDGISTW]]'
   ;;
 hpux*)
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     symcode='[[ABCDEGRST]]'
   fi
   ;;
@@ -3685,14 +3964,44 @@ case `$NM -V 2>&1` in
   symcode='[[ABCDGIRSTW]]' ;;
 esac
 
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
 # Transform an extracted symbol line into a proper C declaration.
 # Some systems (esp. on ia64) link data and code symbols differently,
 # so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -3710,21 +4019,24 @@ for ac_symprfx in "" "_"; do
 
   # Write the raw and C identifiers.
   if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
     # Also find C++ and __fastcall symbols from MSVC++,
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
 "     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
 "     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
 "     ' prfx=^$ac_symprfx]"
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[    ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -3751,7 +4063,8 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -3764,11 +4077,11 @@ _LT_EOF
        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
          cat <<_LT_EOF > conftest.$ac_ext
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT@&t@_DLSYM_CONST
 #else
@@ -3794,7 +4107,7 @@ lt__PROGRAM__LTX_preloaded_symbols[[]] =
 {
   { "@PROGRAM@", (void *) 0 },
 _LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
          cat <<\_LT_EOF >> conftest.$ac_ext
   {0, (void *) 0}
 };
@@ -3814,9 +4127,9 @@ _LT_EOF
          mv conftest.$ac_objext conftstm.$ac_objext
          lt_globsym_save_LIBS=$LIBS
          lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
+         LIBS=conftstm.$ac_objext
          CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-         if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+         if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
            pipe_works=yes
          fi
          LIBS=$lt_globsym_save_LIBS
@@ -3837,7 +4150,7 @@ _LT_EOF
   rm -rf conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
+  if test yes = "$pipe_works"; then
     break
   else
     lt_cv_sys_global_symbol_pipe=
@@ -3864,12 +4177,16 @@ _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
     [Take the output of nm and produce a listing of raw symbols and C names])
 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
     [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+    [Transform the output of nm into a list of symbols to manually relocate])
 _LT_DECL([global_symbol_to_c_name_address],
     [lt_cv_sys_global_symbol_to_c_name_address], [1],
     [Transform the output of nm in a C name address pair])
 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
     [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+    [The name lister interface])
 _LT_DECL([], [nm_file_list_spec], [1],
     [Specify filename containing input files for $NM])
 ]) # _LT_CMD_GLOBAL_SYMBOLS
@@ -3885,17 +4202,18 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)=
 
 m4_if([$1], [CXX], [
   # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
+  if test yes = "$GXX"; then
     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
 
     case $host_os in
     aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
 
     amigaos*)
@@ -3906,8 +4224,8 @@ m4_if([$1], [CXX], [
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -3923,6 +4241,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
@@ -3972,7 +4295,7 @@ m4_if([$1], [CXX], [
     case $host_os in
       aix[[4-9]]*)
        # All AIX code is PIC.
-       if test "$host_cpu" = ia64; then
+       if test ia64 = "$host_cpu"; then
          # AIX 5 now supports IA64 processor
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
        else
@@ -4013,14 +4336,14 @@ m4_if([$1], [CXX], [
        case $cc_basename in
          CC*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-           if test "$host_cpu" != ia64; then
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+           if test ia64 != "$host_cpu"; then
              _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
          aCC*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
            case $host_cpu in
            hppa*64*|ia64*)
              # +Z the default
@@ -4049,7 +4372,7 @@ m4_if([$1], [CXX], [
            ;;
        esac
        ;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
        case $cc_basename in
          KCC*)
            # KAI C++ Compiler
@@ -4057,7 +4380,7 @@ m4_if([$1], [CXX], [
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          ecpc* )
-           # old Intel C++ for x86_64 which still supported -KPIC.
+           # old Intel C++ for x86_64, which still supported -KPIC.
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
@@ -4202,17 +4525,18 @@ m4_if([$1], [CXX], [
   fi
 ],
 [
-  if test "$GCC" = yes; then
+  if test yes = "$GCC"; then
     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
 
     case $host_os in
       aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
 
     amigaos*)
@@ -4223,8 +4547,8 @@ m4_if([$1], [CXX], [
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -4241,6 +4565,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4311,7 +4640,7 @@ m4_if([$1], [CXX], [
     case $host_os in
     aix*)
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # AIX 5 now supports IA64 processor
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       else
@@ -4319,11 +4648,30 @@ m4_if([$1], [CXX], [
       fi
       ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      esac
+      ;;
+
     mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       m4_if([$1], [GCJ], [],
        [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+       ;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -4339,7 +4687,7 @@ m4_if([$1], [CXX], [
        ;;
       esac
       # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
       ;;
 
     irix5* | irix6* | nonstopux*)
@@ -4348,14 +4696,20 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
+      # old Intel for x86_64, which still supported -KPIC.
       ecc*)
        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      # flang / f18. f95 an alias for gfortran or flang on Debian
+      flang* | f18* | f95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
@@ -4375,6 +4729,12 @@ m4_if([$1], [CXX], [
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
        ;;
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+       ;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
@@ -4472,7 +4832,7 @@ m4_if([$1], [CXX], [
       ;;
 
     sysv4*MP*)
-      if test -d /usr/nec ;then
+      if test -d /usr/necthen
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       fi
@@ -4501,7 +4861,7 @@ m4_if([$1], [CXX], [
   fi
 ])
 case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
+  # For platforms that do not support PIC, -DPIC is meaningless:
   *djgpp*)
     _LT_TAGVAR(lt_prog_compiler_pic, $1)=
     ;;
@@ -4567,17 +4927,21 @@ m4_if([$1], [CXX], [
   case $host_os in
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    # Also, AIX nm treats weak defined symbols like other global defined
-    # symbols, whereas GNU nm marks them as "W".
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
     else
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
     ;;
   cygwin* | mingw* | cegcc*)
     case $cc_basename in
@@ -4626,9 +4990,9 @@ m4_if([$1], [CXX], [
   # included in the symbol list
   _LT_TAGVAR(include_expsyms, $1)=
   # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
   _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
@@ -4644,7 +5008,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       with_gnu_ld=no
     fi
     ;;
@@ -4652,7 +5016,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     # we just hope/assume this is gcc and not c89 (= MSVC++)
     with_gnu_ld=yes
     ;;
-  openbsd*)
+  openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
   linux* | k*bsd*-gnu | gnu*)
@@ -4665,7 +5029,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
   # On some targets, GNU ld is compatible enough with the native linker
   # that we're better off using the native interface for both.
   lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     case $host_os in
       aix*)
        # The AIX port of GNU ld has always aspired to compatibility
@@ -4687,24 +5051,24 @@ dnl Note also adjust exclude_expsyms for C++ above.
     esac
   fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
+  if test yes = "$lt_use_gnu_ld_interface"; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+    wlarc='$wl'
 
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
     runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
     # ancient GNU ld didn't support --whole-archive et. al.
     if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     else
       _LT_TAGVAR(whole_archive_flag_spec, $1)=
     fi
     supports_anon_versioning=no
-    case `$LD -v 2>&1` in
+    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
       *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -4717,7 +5081,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
     case $host_os in
     aix[[3-9]]*)
       # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
+      if test ia64 != "$host_cpu"; then
        _LT_TAGVAR(ld_shlibs, $1)=no
        cat <<_LT_EOF 1>&2
 
@@ -4736,7 +5100,7 @@ _LT_EOF
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             _LT_TAGVAR(archive_expsym_cmds, $1)=''
         ;;
       m68k)
@@ -4752,7 +5116,7 @@ _LT_EOF
        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
        # support --undefined.  This deserves some investigation.  FIXME
-       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4762,7 +5126,7 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4770,61 +5134,89 @@ _LT_EOF
       _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file, use it as
+       # is; otherwise, prepend EXPORTS...
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
     haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
       # Instead, shared libraries are loaded at an image base (0x10000000 by
       # default) and relocated if they conflict, which is a slow very memory
       # consuming and fragmenting process.  To avoid this, we pick a random,
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
+      if test linux-dietlibc = "$host_os"; then
        case $cc_basename in
          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
        esac
       fi
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
+        && test no = "$tmp_diet"
       then
        tmp_addflag=' $pic_flag'
        tmp_sharedflag='-shared'
        case $cc_basename,$host_cpu in
         pgcc*)                         # Portland Group C compiler
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
        pgf77* | pgf90* | pgf95* | pgfortran*)
                                        # Portland Group f77 and f90 compilers
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
@@ -4835,42 +5227,47 @@ _LT_EOF
        lf95*)                          # Lahey Fortran 8.1
          _LT_TAGVAR(whole_archive_flag_spec, $1)=
          tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
        xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
          tmp_sharedflag='-qmkshrobj'
          tmp_addflag= ;;
        nvcc*)  # Cuda Compiler Driver 2.2
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          _LT_TAGVAR(compiler_needs_object, $1)=yes
          ;;
        esac
        case `$CC -V 2>&1 | sed 5q` in
        *Sun\ C*)                       # Sun C 5.9
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
          _LT_TAGVAR(compiler_needs_object, $1)=yes
          tmp_sharedflag='-G' ;;
        *Sun\ F*)                       # Sun Fortran 8.3
          tmp_sharedflag='-G' ;;
        esac
-       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
+        if test yes = "$supports_anon_versioning"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
         fi
 
        case $cc_basename in
+       tcc*)
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+         ;;
        xlf* | bgf* | bgxlf* | mpixlf*)
          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
          _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
          _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
+         if test yes = "$supports_anon_versioning"; then
            _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
          fi
          ;;
        esac
@@ -4884,8 +5281,8 @@ _LT_EOF
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -4903,8 +5300,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4916,7 +5313,7 @@ _LT_EOF
        _LT_TAGVAR(ld_shlibs, $1)=no
        cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
 *** reliably create shared libraries on SCO systems.  Therefore, libtool
 *** is disabling shared libraries support.  We urge you to upgrade GNU
 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
@@ -4931,9 +5328,9 @@ _LT_EOF
          # DT_RUNPATH tag from executables and libraries.  But doing so
          # requires that you compile everything twice, which is a pain.
          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
          else
            _LT_TAGVAR(ld_shlibs, $1)=no
          fi
@@ -4950,15 +5347,15 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
     esac
 
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
       runpath_var=
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
       _LT_TAGVAR(export_dynamic_flag_spec, $1)=
@@ -4974,7 +5371,7 @@ _LT_EOF
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
        # Neither direct hardcoding nor static linking is supported with a
        # broken collect2.
        _LT_TAGVAR(hardcode_direct, $1)=unsupported
@@ -4982,34 +5379,57 @@ _LT_EOF
       ;;
 
     aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
        # On IA64, the linker does run time linking by default, so we don't
        # have to do anything special.
        aix_use_runtimelinking=no
        exp_sym_flag='-Bexport'
-       no_entry_flag=""
+       no_entry_flag=
       else
        # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
+       # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+       # Without the "-l" option, or with the "-B" option, AIX nm treats
+       # weak defined symbols like other global defined symbols, whereas
+       # GNU nm marks them as "W".
+       # While the 'weak' keyword is ignored in the Export File, we need
+       # it in the Import File for the 'aix-soname' feature, so we have
+       # to replace the "-B" option with "-P" for AIX nm.
        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
        else
-         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+         _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
        fi
        aix_use_runtimelinking=no
 
        # Test if we are trying to use run time linking or normal
        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
+       # have runtime linking enabled, and use it for executables.
+       # For shared libraries, we enable/disable runtime linking
+       # depending on the kind of the shared library created -
+       # when "with_aix_soname,aix_use_runtimelinking" is:
+       # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "aix,yes"  lib.so          shared, rtl:yes, for executables
+       #            lib.a           static archive
+       # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+       #            lib.a(lib.so.V) shared, rtl:no,  for executables
+       # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a(lib.so.V) shared, rtl:no
+       # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+       #            lib.a           static archive
        case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
          for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+         if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
            aix_use_runtimelinking=yes
            break
          fi
          done
+         if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+           # With aix-soname=svr4, we create the lib.so.V shared archives only,
+           # so we don't have lib.a shared libs to link our executables.
+           # We have to force runtime linking in this case.
+           aix_use_runtimelinking=yes
+           LDFLAGS="$LDFLAGS -Wl,-brtl"
+         fi
          ;;
        esac
 
@@ -5028,13 +5448,21 @@ _LT_EOF
       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+       # The Import File defines what to hardcode.
+       _LT_TAGVAR(hardcode_direct, $1)=no
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+       ;;
+      esac
 
-      if test "$GCC" = yes; then
+      if test yes = "$GCC"; then
        case $host_os in aix4.[[012]]|aix4.[[012]].*)
        # We only want to do this on AIX 4.2 and lower, the check
        # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
+         collect2name=`$CC -print-prog-name=collect2`
          if test -f "$collect2name" &&
           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
          then
@@ -5053,62 +5481,80 @@ _LT_EOF
          ;;
        esac
        shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
+       if test yes = "$aix_use_runtimelinking"; then
+         shared_flag="$shared_flag "'$wl-G'
        fi
-       _LT_TAGVAR(link_all_deplibs, $1)=no
+       # Need to ensure runtime linking is disabled for the traditional
+       # shared library, or the linker may eventually find shared libraries
+       # /with/ Import File - we do not want to mix them.
+       shared_flag_aix='-shared'
+       shared_flag_svr4='-shared $wl-G'
       else
        # not using gcc
-       if test "$host_cpu" = ia64; then
+       if test ia64 = "$host_cpu"; then
        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
        # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
        else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag='$wl-G'
          else
-           shared_flag='${wl}-bM:SRE'
+           shared_flag='$wl-bM:SRE'
          fi
+         shared_flag_aix='$wl-bM:SRE'
+         shared_flag_svr4='$wl-G'
        fi
       fi
 
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
        # Warning - without using the other runtime loading flags (-brtl),
        # -berok will link without error, but may produce a broken library.
        _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
       else
-       if test "$host_cpu" = ia64; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+       if test ia64 = "$host_cpu"; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
          _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
        else
         # Determine the default libpath from the value encoded in an
         # empty executable.
         _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
          # Warning - without using the other run time loading flags,
          # -berok will link without error, but may produce a broken library.
-         _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-         _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
+         _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+         _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+         if test yes = "$with_gnu_ld"; then
            # We only use this code for GNU lds that support --whole-archive.
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
          else
            # Exported symbols can be pulled into shared objects from archives
            _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
          fi
          _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+         # -brtl affects multiple linker settings, -berok does not and is overridden later
+         compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+         if test svr4 != "$with_aix_soname"; then
+           # This is similar to how AIX traditionally builds its shared libraries.
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+         fi
+         if test aix != "$with_aix_soname"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+         else
+           # used by -dlpreopen to get the symbols
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+         fi
+         _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
        fi
       fi
       ;;
@@ -5117,7 +5563,7 @@ _LT_EOF
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             _LT_TAGVAR(archive_expsym_cmds, $1)=''
         ;;
       m68k)
@@ -5147,16 +5593,17 @@ _LT_EOF
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
+       _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
        # The linker will not automatically build a static lib if we build a DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5165,18 +5612,18 @@ _LT_EOF
        # Don't use ranlib
        _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
        _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
        ;;
       *)
        # Assume MSVC wrapper
@@ -5185,7 +5632,7 @@ _LT_EOF
        # Tell ltmain to make .lib files, not .a files.
        libext=lib
        # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
+       shrext_cmds=.dll
        # FIXME: Setting linknames here is a bad hack.
        _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
        # The linker will automatically build a .lib file if we build a DLL.
@@ -5235,33 +5682,33 @@ _LT_EOF
       ;;
 
     hpux9*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(hardcode_direct, $1)=yes
 
       # hardcode_minus_L: Not really in the search PATH,
       # but as the default location of the library.
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
       ;;
 
     hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
        _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
-      if test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        # hardcode_minus_L: Not really in the search PATH,
        # but as the default location of the library.
        _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5269,25 +5716,25 @@ _LT_EOF
       ;;
 
     hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+      if test yes,no = "$GCC,$with_gnu_ld"; then
        case $host_cpu in
        hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        esac
       else
        case $host_cpu in
        hppa*64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
        m4_if($1, [], [
@@ -5295,14 +5742,14 @@ _LT_EOF
          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
          _LT_LINKER_OPTION([if $CC understands -b],
            _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-           [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+           [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
            [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-         [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+         [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
          ;;
        esac
       fi
-      if test "$with_gnu_ld" = no; then
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
        case $host_cpu in
@@ -5313,7 +5760,7 @@ _LT_EOF
        *)
          _LT_TAGVAR(hardcode_direct, $1)=yes
          _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
 
          # hardcode_minus_L: Not really in the search PATH,
          # but as the default location of the library.
@@ -5324,16 +5771,16 @@ _LT_EOF
       ;;
 
     irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
        # Try to use the -exported_symbol ld option, if it does not
        # work, assume that -exports_file does not work either and
        # implicitly export all symbols.
        # This should be the same for all languages, so no per-tag cache variable.
        AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
          [lt_cv_irix_exported_symbol],
-         [save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+         [save_LDFLAGS=$LDFLAGS
+          LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
           AC_LINK_IFELSE(
             [AC_LANG_SOURCE(
                [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
@@ -5346,21 +5793,32 @@ _LT_EOF
       end]])])],
              [lt_cv_irix_exported_symbol=yes],
              [lt_cv_irix_exported_symbol=no])
-           LDFLAGS="$save_LDFLAGS"])
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+           LDFLAGS=$save_LDFLAGS])
+       if test yes = "$lt_cv_irix_exported_symbol"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
+       _LT_TAGVAR(link_all_deplibs, $1)=no
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(inherit_rpath, $1)=yes
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+       # Fabrice Bellard et al's Tiny C Compiler
+       _LT_TAGVAR(ld_shlibs, $1)=yes
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+       ;;
+      esac
+      ;;
+
     netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
@@ -5375,7 +5833,7 @@ _LT_EOF
     newsos6)
       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
@@ -5383,27 +5841,19 @@ _LT_EOF
     *nto* | *qnx*)
       ;;
 
-    openbsd*)
+    openbsd* | bitrig*)
       if test -f /usr/libexec/ld.so; then
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        else
-         case $host_os in
-          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-            ;;
-          *)
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-            ;;
-         esac
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
        fi
       else
        _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5414,33 +5864,53 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+       $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+       $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+       $ECHO EXPORTS >> $output_objdir/$libname.def~
+       prefix_cmds="$SED"~
+       if test EXPORTS = "`$SED 1q $export_symbols`"; then
+         prefix_cmds="$prefix_cmds -e 1d";
+       fi~
+       prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+       cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+       $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+       emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     osf3*)
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
       else
        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
       ;;
 
     osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
       else
        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5451,24 +5921,24 @@ _LT_EOF
 
     solaris*)
       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       wlarc='$wl'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
        case `$CC -V 2>&1` in
        *"Compilers 5.0"*)
          wlarc=''
-         _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
          ;;
        *)
-         wlarc='${wl}'
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         wlarc='$wl'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
          ;;
        esac
       fi
@@ -5478,11 +5948,11 @@ _LT_EOF
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
       *)
        # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but understands '-z linker_flag'.  GCC discards it without '$wl',
        # but is careful enough not to reorder.
        # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       if test yes = "$GCC"; then
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
        else
          _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
        fi
@@ -5492,10 +5962,10 @@ _LT_EOF
       ;;
 
     sunos4*)
-      if test "x$host_vendor" = xsequent; then
+      if test sequent = "$host_vendor"; then
        # Use $CC to link under sequent, because it throws in some extra .o
        # files that make .init and .fini sections work.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
       else
        _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
       fi
@@ -5544,43 +6014,43 @@ _LT_EOF
       ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
     sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
+      # Note: We CANNOT use -z defs as we might desire, because we do not
       # link with -lc, and that would cause any symbols used from libc to
       # always be unresolved, which means just about no library would
       # ever link correctly.  If we're not using GNU ld we use -z text
       # though, which does catch some bad symbols but isn't as heavy-handed
       # as -z defs.
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
@@ -5595,17 +6065,17 @@ _LT_EOF
       ;;
     esac
 
-    if test x$host_vendor = xsni; then
+    if test sni = "$host_vendor"; then
       case $host in
       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
        ;;
       esac
     fi
   fi
 ])
 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
 
 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
 
@@ -5622,7 +6092,7 @@ x|xyes)
   # Assume -lc should be added
   _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
+  if test yes,yes = "$GCC,$enable_shared"; then
     case $_LT_TAGVAR(archive_cmds, $1) in
     *'~'*)
       # FIXME: we may have to deal with multi-command sequences.
@@ -5702,12 +6172,12 @@ _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
     DIR into the resulting binary])
 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
     DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    "absolute", i.e impossible to change by setting $shlibpath_var if the
     library is relocated])
 _LT_TAGDECL([], [hardcode_minus_L], [0],
     [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -5748,10 +6218,10 @@ dnl    [Compiler flag to generate thread safe objects])
 # ------------------------
 # Ensure that the configuration variables for a C compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_C_CONFIG],
 [m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
+lt_save_CC=$CC
 AC_LANG_PUSH(C)
 
 # Source file extension for C test sources.
@@ -5791,18 +6261,18 @@ if test -n "$compiler"; then
   LT_SYS_DLOPEN_SELF
   _LT_CMD_STRIPLIB
 
-  # Report which library types will actually be built
+  # Report what library types will actually be built
   AC_MSG_CHECKING([if libtool supports shared libraries])
   AC_MSG_RESULT([$can_build_shared])
 
   AC_MSG_CHECKING([whether to build shared libraries])
-  test "$can_build_shared" = "no" && enable_shared=no
+  test no = "$can_build_shared" && enable_shared=no
 
   # On AIX, shared libraries and static libraries use the same namespace, and
   # are all built from PIC.
   case $host_os in
   aix3*)
-    test "$enable_shared" = yes && enable_static=no
+    test yes = "$enable_shared" && enable_static=no
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
@@ -5810,8 +6280,12 @@ if test -n "$compiler"; then
     ;;
 
   aix[[4-9]]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;                  # shared object as lib.so file only
+      yes,svr4,*) ;;                   # shared object as lib.so archive member only
+      yes,*) enable_static=no ;;       # shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -5819,13 +6293,13 @@ if test -n "$compiler"; then
 
   AC_MSG_CHECKING([whether to build static libraries])
   # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
+  test yes = "$enable_shared" || enable_static=yes
   AC_MSG_RESULT([$enable_static])
 
   _LT_CONFIG($1)
 fi
 AC_LANG_POP
-CC="$lt_save_CC"
+CC=$lt_save_CC
 ])# _LT_LANG_C_CONFIG
 
 
@@ -5833,14 +6307,14 @@ CC="$lt_save_CC"
 # --------------------------
 # Ensure that the configuration variables for a C++ compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_CXX_CONFIG],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
+if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
   AC_PROG_CXXCPP
 else
   _lt_caught_CXX_error=yes
@@ -5882,7 +6356,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the CXX compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="int some_variable = 0;"
 
@@ -5924,35 +6398,35 @@ if test "$_lt_caught_CXX_error" != yes; then
   if test -n "$compiler"; then
     # We don't want -fno-exception when compiling C++ code, so set the
     # no_builtin_flag separately
-    if test "$GXX" = yes; then
+    if test yes = "$GXX"; then
       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
     else
       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
     fi
 
-    if test "$GXX" = yes; then
+    if test yes = "$GXX"; then
       # Set up default GNU C++ configuration
 
       LT_PATH_LD
 
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      if test yes = "$with_gnu_ld"; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
 
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
 
         # If archive_cmds runs LD, not CC, wlarc should be empty
         # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
         #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
+        wlarc='$wl'
 
         # ancient GNU ld didn't support --whole-archive et. al.
         if eval "`$CC -print-prog-name=ld` --help 2>&1" |
          $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
         else
           _LT_TAGVAR(whole_archive_flag_spec, $1)=
         fi
@@ -5971,7 +6445,7 @@ if test "$_lt_caught_CXX_error" != yes; then
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
     else
       GXX=no
@@ -5988,18 +6462,30 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=no
         ;;
       aix[[4-9]]*)
-        if test "$host_cpu" = ia64; then
+        if test ia64 = "$host_cpu"; then
           # On IA64, the linker does run time linking by default, so we don't
           # have to do anything special.
           aix_use_runtimelinking=no
           exp_sym_flag='-Bexport'
-          no_entry_flag=""
+          no_entry_flag=
         else
           aix_use_runtimelinking=no
 
           # Test if we are trying to use run time linking or normal
           # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
            for ld_flag in $LDFLAGS; do
              case $ld_flag in
@@ -6009,6 +6495,13 @@ if test "$_lt_caught_CXX_error" != yes; then
                ;;
              esac
            done
+           if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+             # With aix-soname=svr4, we create the lib.so.V shared archives only,
+             # so we don't have lib.a shared libs to link our executables.
+             # We have to force runtime linking in this case.
+             aix_use_runtimelinking=yes
+             LDFLAGS="$LDFLAGS -Wl,-brtl"
+           fi
            ;;
           esac
 
@@ -6027,13 +6520,21 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
         _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;      # no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
 
-        if test "$GXX" = yes; then
+        if test yes = "$GXX"; then
           case $host_os in aix4.[[012]]|aix4.[[012]].*)
           # We only want to do this on AIX 4.2 and lower, the check
           # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
+         collect2name=`$CC -print-prog-name=collect2`
          if test -f "$collect2name" &&
             strings "$collect2name" | $GREP resolve_lib_name >/dev/null
          then
@@ -6051,64 +6552,84 @@ if test "$_lt_caught_CXX_error" != yes; then
          fi
           esac
           shared_flag='-shared'
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag="$shared_flag "'${wl}-G'
+         if test yes = "$aix_use_runtimelinking"; then
+           shared_flag=$shared_flag' $wl-G'
          fi
+         # Need to ensure runtime linking is disabled for the traditional
+         # shared library, or the linker may eventually find shared libraries
+         # /with/ Import File - we do not want to mix them.
+         shared_flag_aix='-shared'
+         shared_flag_svr4='-shared $wl-G'
         else
           # not using gcc
-          if test "$host_cpu" = ia64; then
+          if test ia64 = "$host_cpu"; then
          # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
          # chokes on -Wl,-G. The following line is correct:
          shared_flag='-G'
           else
-           if test "$aix_use_runtimelinking" = yes; then
-             shared_flag='${wl}-G'
+           if test yes = "$aix_use_runtimelinking"; then
+             shared_flag='$wl-G'
            else
-             shared_flag='${wl}-bM:SRE'
+             shared_flag='$wl-bM:SRE'
            fi
+           shared_flag_aix='$wl-bM:SRE'
+           shared_flag_svr4='$wl-G'
           fi
         fi
 
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
         # It seems that -bexpall does not export symbols beginning with
         # underscore (_), so it is better to generate a list of symbols to
        # export.
         _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test "$aix_use_runtimelinking" = yes; then
+       if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
           # Warning - without using the other runtime loading flags (-brtl),
           # -berok will link without error, but may produce a broken library.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
           _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
 
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
         else
-          if test "$host_cpu" = ia64; then
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+          if test ia64 = "$host_cpu"; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
            _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
           else
            # Determine the default libpath from the value encoded in an
            # empty executable.
            _LT_SYS_MODULE_PATH_AIX([$1])
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
            # Warning - without using the other run time loading flags,
            # -berok will link without error, but may produce a broken library.
-           _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-           _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-           if test "$with_gnu_ld" = yes; then
+           _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+           _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+           if test yes = "$with_gnu_ld"; then
              # We only use this code for GNU lds that support --whole-archive.
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
            else
              # Exported symbols can be pulled into shared objects from archives
              _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
            fi
            _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-           # This is similar to how AIX traditionally builds its shared
-           # libraries.
-           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+           # -brtl affects multiple linker settings, -berok does not and is overridden later
+           compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+           if test svr4 != "$with_aix_soname"; then
+             # This is similar to how AIX traditionally builds its shared
+             # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+           fi
+           if test aix != "$with_aix_soname"; then
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+           else
+             # used by -dlpreopen to get the symbols
+             _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+           fi
+           _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
           fi
         fi
         ;;
@@ -6118,7 +6639,7 @@ if test "$_lt_caught_CXX_error" != yes; then
          _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
          # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
          # support --undefined.  This deserves some investigation.  FIXME
-         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
        else
          _LT_TAGVAR(ld_shlibs, $1)=no
        fi
@@ -6146,57 +6667,58 @@ if test "$_lt_caught_CXX_error" != yes; then
          # Tell ltmain to make .lib files, not .a files.
          libext=lib
          # Tell ltmain to make .dll files, not .so files.
-         shrext_cmds=".dll"
+         shrext_cmds=.dll
          # FIXME: Setting linknames here is a bad hack.
-         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-         _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-           else
-             $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-           fi~
-           $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-           linknames='
+         _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+         _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
          # The linker will not automatically build a static lib if we build a DLL.
          # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
          _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
          # Don't use ranlib
          _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
          _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-           lt_tool_outputfile="@TOOL_OUTPUT@"~
-           case $lt_outputfile in
-             *.exe|*.EXE) ;;
-             *)
-               lt_outputfile="$lt_outputfile.exe"
-               lt_tool_outputfile="$lt_tool_outputfile.exe"
-               ;;
-           esac~
-           func_to_tool_file "$lt_outputfile"~
-           if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-             $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-             $RM "$lt_outputfile.manifest";
-           fi'
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
          ;;
        *)
          # g++
          # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
          # as there is no search path for DLLs.
          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
          _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
          _LT_TAGVAR(always_export_symbols, $1)=no
          _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
 
          if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-           # If the export-symbols file already is a .def file (1st line
-           # is EXPORTS), use it as is; otherwise, prepend...
-           _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-             cp $export_symbols $output_objdir/$soname.def;
-           else
-             echo EXPORTS > $output_objdir/$soname.def;
-             cat $export_symbols >> $output_objdir/$soname.def;
-           fi~
-           $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+           # If the export-symbols file already is a .def file, use it as
+           # is; otherwise, prepend EXPORTS...
+           _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
          else
            _LT_TAGVAR(ld_shlibs, $1)=no
          fi
@@ -6207,6 +6729,34 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_DARWIN_LINKER_FEATURES($1)
        ;;
 
+      os2*)
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+       _LT_TAGVAR(hardcode_minus_L, $1)=yes
+       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+       shrext_cmds=.dll
+       _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+         $ECHO EXPORTS >> $output_objdir/$libname.def~
+         emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+         emximp -o $lib $output_objdir/$libname.def'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+         $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+         $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+         $ECHO EXPORTS >> $output_objdir/$libname.def~
+         prefix_cmds="$SED"~
+         if test EXPORTS = "`$SED 1q $export_symbols`"; then
+           prefix_cmds="$prefix_cmds -e 1d";
+         fi~
+         prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+         cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+         $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+         emximp -o $lib $output_objdir/$libname.def'
+       _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+       ;;
+
       dgux*)
         case $cc_basename in
           ec++*)
@@ -6241,18 +6791,15 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=yes
         ;;
 
-      gnu*)
-        ;;
-
       haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
         ;;
 
       hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
         _LT_TAGVAR(hardcode_direct, $1)=yes
         _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
                                             # but as the default
@@ -6264,7 +6811,7 @@ if test "$_lt_caught_CXX_error" != yes; then
             _LT_TAGVAR(ld_shlibs, $1)=no
             ;;
           aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
             # Commands to make compiler produce verbose output that lists
             # what "hidden" libraries, object files and flags are used when
             # linking a shared library.
@@ -6273,11 +6820,11 @@ if test "$_lt_caught_CXX_error" != yes; then
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
-            if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            if test yes = "$GXX"; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               _LT_TAGVAR(ld_shlibs, $1)=no
@@ -6287,15 +6834,15 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
       hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        if test no = "$with_gnu_ld"; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
          _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
           case $host_cpu in
             hppa*64*|ia64*)
               ;;
             *)
-             _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+             _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
               ;;
           esac
         fi
@@ -6321,13 +6868,13 @@ if test "$_lt_caught_CXX_error" != yes; then
           aCC*)
            case $host_cpu in
              hppa*64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
              ia64*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
              *)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                ;;
            esac
            # Commands to make compiler produce verbose output that lists
@@ -6338,20 +6885,20 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
            ;;
           *)
-           if test "$GXX" = yes; then
-             if test $with_gnu_ld = no; then
+           if test yes = "$GXX"; then
+             if test no = "$with_gnu_ld"; then
                case $host_cpu in
                  hppa*64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                  ia64*)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                  *)
-                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                    ;;
                esac
              fi
@@ -6366,22 +6913,22 @@ if test "$_lt_caught_CXX_error" != yes; then
       interix[[3-9]]*)
        _LT_TAGVAR(hardcode_direct, $1)=no
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
        # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
        # Instead, shared libraries are loaded at an image base (0x10000000 by
        # default) and relocated if they conflict, which is a slow very memory
        # consuming and fragmenting process.  To avoid this, we pick a random,
        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
        ;;
       irix5* | irix6*)
         case $cc_basename in
           CC*)
            # SGI C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 
            # Archives containing C++ object files must be created using
            # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -6390,22 +6937,22 @@ if test "$_lt_caught_CXX_error" != yes; then
            _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
            ;;
           *)
-           if test "$GXX" = yes; then
-             if test "$with_gnu_ld" = no; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+           if test yes = "$GXX"; then
+             if test no = "$with_gnu_ld"; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
              else
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
              fi
            fi
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            ;;
         esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
         case $cc_basename in
           KCC*)
            # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -6413,8 +6960,8 @@ if test "$_lt_caught_CXX_error" != yes; then
            # KCC will only create a shared library if the output file
            # ends with ".so" (or ".sl" for HP-UX), so rename the library
            # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
            # Commands to make compiler produce verbose output that lists
            # what "hidden" libraries, object files and flags are used when
            # linking a shared library.
@@ -6423,10 +6970,10 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
 
            # Archives containing C++ object files must be created using
            # "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -6440,59 +6987,59 @@ if test "$_lt_caught_CXX_error" != yes; then
            # earlier do not add the objects themselves.
            case `$CC -V 2>&1` in
              *"Version 7."*)
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
                ;;
              *)  # Version 8.0 or newer
                tmp_idyn=
                case $host_cpu in
                  ia64*) tmp_idyn=' -i_dynamic';;
                esac
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
                ;;
            esac
            _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
            ;;
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
            case `$CC -V` in
            *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
              _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
              _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-               $RANLIB $oldlib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
              _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
              _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
              ;;
            *) # Version 6 and above use weak symbols
-             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
              ;;
            esac
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
             ;;
          cxx*)
            # Compaq C++
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
 
            runpath_var=LD_RUN_PATH
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6506,18 +7053,18 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
            ;;
          xl* | mpixl* | bgxl*)
            # IBM XL 8.0 on PPC, with GNU ld
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           if test "x$supports_anon_versioning" = xyes; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+           if test yes = "$supports_anon_versioning"; then
              _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-               echo "local: *; };" >> $output_objdir/$libname.ver~
-               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
            fi
            ;;
          *)
@@ -6525,10 +7072,10 @@ if test "$_lt_caught_CXX_error" != yes; then
            *Sun\ C*)
              # Sun C++ 5.9
              _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-             _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
              _LT_TAGVAR(compiler_needs_object, $1)=yes
 
              # Not sure whether something based on
@@ -6586,22 +7133,17 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=yes
        ;;
 
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-       _LT_TAGVAR(ld_shlibs, $1)=no
-       ;;
-
-      openbsd*)
+      openbsd* | bitrig*)
        if test -f /usr/libexec/ld.so; then
          _LT_TAGVAR(hardcode_direct, $1)=yes
          _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
          _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-           _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
          fi
          output_verbose_link_cmd=func_echo_all
        else
@@ -6617,9 +7159,9 @@ if test "$_lt_caught_CXX_error" != yes; then
            # KCC will only create a shared library if the output file
            # ends with ".so" (or ".sl" for HP-UX), so rename the library
            # to its proper name (with version) after linking.
-           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
 
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
            # Archives containing C++ object files must be created using
@@ -6637,17 +7179,17 @@ if test "$_lt_caught_CXX_error" != yes; then
           cxx*)
            case $host in
              osf3*)
-               _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+               _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
                ;;
              *)
                _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                 echo "-hidden">> $lib.exp~
-                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
-                 $RM $lib.exp'
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
                _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
                ;;
            esac
@@ -6662,27 +7204,27 @@ if test "$_lt_caught_CXX_error" != yes; then
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
            ;;
          *)
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+           if test yes,no = "$GXX,$with_gnu_ld"; then
+             _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
              case $host in
                osf3*)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
                  ;;
                *)
-                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
                  ;;
              esac
 
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
              _LT_TAGVAR(hardcode_libdir_separator, $1)=:
 
              # Commands to make compiler produce verbose output that lists
              # what "hidden" libraries, object files and flags are used when
              # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
            else
              # FIXME: insert proper C++ library support
@@ -6722,9 +7264,9 @@ if test "$_lt_caught_CXX_error" != yes; then
            # Sun C++ 4.2, 5.x and Centerline C++
             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
            _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
            _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6732,7 +7274,7 @@ if test "$_lt_caught_CXX_error" != yes; then
              solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
              *)
                # The compiler driver will combine and reorder linker options,
-               # but understands `-z linker_flag'.
+               # but understands '-z linker_flag'.
                # Supported since Solaris 2.6 (maybe 2.5.1?)
                _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
                ;;
@@ -6749,42 +7291,42 @@ if test "$_lt_caught_CXX_error" != yes; then
            ;;
           gcx*)
            # Green Hills C++ Compiler
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
 
            # The C++ compiler must be used to create the archive.
            _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
            ;;
           *)
            # GNU C++ compiler with Solaris linker
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+           if test yes,no = "$GXX,$with_gnu_ld"; then
+             _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
              if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              else
-               # g++ 2.7 appears to require `-G' NOT `-shared' on this
+               # g++ 2.7 appears to require '-G' NOT '-shared' on this
                # platform.
-               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
                _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              fi
 
-             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
              case $host_os in
                solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
                *)
-                 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+                 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
                  ;;
              esac
            fi
@@ -6793,52 +7335,52 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
 
       case $cc_basename in
         CC*)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        *)
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
       esac
       ;;
 
       sysv5* | sco3.2v5* | sco5v6*)
-       # Note: We can NOT use -z defs as we might desire, because we do not
+       # Note: We CANNOT use -z defs as we might desire, because we do not
        # link with -lc, and that would cause any symbols used from libc to
        # always be unresolved, which means just about no library would
        # ever link correctly.  If we're not using GNU ld we use -z text
        # though, which does catch some bad symbols but isn't as heavy-handed
        # as -z defs.
-       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-       _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+       _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+       _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
        _LT_TAGVAR(link_all_deplibs, $1)=yes
-       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
        runpath_var='LD_RUN_PATH'
 
        case $cc_basename in
           CC*)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-             '"$_LT_TAGVAR(old_archive_cmds, $1)"
+              '"$_LT_TAGVAR(old_archive_cmds, $1)"
            _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-             '"$_LT_TAGVAR(reload_cmds, $1)"
+              '"$_LT_TAGVAR(reload_cmds, $1)"
            ;;
          *)
-           _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            ;;
        esac
       ;;
@@ -6869,10 +7411,10 @@ if test "$_lt_caught_CXX_error" != yes; then
     esac
 
     AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
 
-    _LT_TAGVAR(GCC, $1)="$GXX"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$GXX
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -6899,7 +7441,7 @@ if test "$_lt_caught_CXX_error" != yes; then
   lt_cv_path_LD=$lt_save_path_LD
   lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
   lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
 
 AC_LANG_POP
 ])# _LT_LANG_CXX_CONFIG
@@ -6921,13 +7463,14 @@ AC_REQUIRE([_LT_DECL_SED])
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
 func_stripname_cnf ()
 {
-  case ${2} in
-  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  case @S|@2 in
+  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
   esac
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7011,13 +7554,13 @@ if AC_TRY_EVAL(ac_compile); then
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case ${prev}${p} in
+    case $prev$p in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
        # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
         prev=$p
         continue
        fi
@@ -7033,16 +7576,16 @@ if AC_TRY_EVAL(ac_compile); then
        case $p in
        =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
        esac
-       if test "$pre_test_object_deps_done" = no; then
-        case ${prev} in
+       if test no = "$pre_test_object_deps_done"; then
+        case $prev in
         -L | -R)
           # Internal compiler library paths should come after those
           # provided the user.  The postdeps already come after the
           # user supplied libs so there is no need to process them.
           if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-            _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+            _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
           else
-            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
           fi
           ;;
         # The "-l" case would never come before the object being
@@ -7050,9 +7593,9 @@ if AC_TRY_EVAL(ac_compile); then
         esac
        else
         if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-          _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+          _LT_TAGVAR(postdeps, $1)=$prev$p
         else
-          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
         fi
        fi
        prev=
@@ -7067,15 +7610,15 @@ if AC_TRY_EVAL(ac_compile); then
         continue
        fi
 
-       if test "$pre_test_object_deps_done" = no; then
+       if test no = "$pre_test_object_deps_done"; then
         if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-          _LT_TAGVAR(predep_objects, $1)="$p"
+          _LT_TAGVAR(predep_objects, $1)=$p
         else
           _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
         fi
        else
         if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-          _LT_TAGVAR(postdep_objects, $1)="$p"
+          _LT_TAGVAR(postdep_objects, $1)=$p
         else
           _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
         fi
@@ -7106,51 +7649,6 @@ interix[[3-9]]*)
   _LT_TAGVAR(postdep_objects,$1)=
   _LT_TAGVAR(postdeps,$1)=
   ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
 esac
 ])
 
@@ -7159,7 +7657,7 @@ case " $_LT_TAGVAR(postdeps, $1) " in
 esac
  _LT_TAGVAR(compiler_lib_search_dirs, $1)=
 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
 fi
 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
     [The directories searched by this compiler when creating a shared library])
@@ -7179,10 +7677,10 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
 # --------------------------
 # Ensure that the configuration variables for a Fortran 77 compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_F77_CONFIG],
 [AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
+if test -z "$F77" || test no = "$F77"; then
   _lt_disable_F77=yes
 fi
 
@@ -7219,7 +7717,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the F77 compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
+if test yes != "$_lt_disable_F77"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="\
       subroutine t
@@ -7241,7 +7739,7 @@ if test "$_lt_disable_F77" != yes; then
   _LT_LINKER_BOILERPLATE
 
   # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
+  lt_save_CC=$CC
   lt_save_GCC=$GCC
   lt_save_CFLAGS=$CFLAGS
   CC=${F77-"f77"}
@@ -7255,21 +7753,25 @@ if test "$_lt_disable_F77" != yes; then
     AC_MSG_RESULT([$can_build_shared])
 
     AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
+    test no = "$can_build_shared" && enable_shared=no
 
     # On AIX, shared libraries and static libraries use the same namespace, and
     # are all built from PIC.
     case $host_os in
       aix3*)
-        test "$enable_shared" = yes && enable_static=no
+        test yes = "$enable_shared" && enable_static=no
         if test -n "$RANLIB"; then
           archive_cmds="$archive_cmds~\$RANLIB \$lib"
           postinstall_cmds='$RANLIB $lib'
         fi
         ;;
       aix[[4-9]]*)
-       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-         test "$enable_shared" = yes && enable_static=no
+       if test ia64 != "$host_cpu"; then
+         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+         yes,aix,yes) ;;               # shared object as lib.so file only
+         yes,svr4,*) ;;                # shared object as lib.so archive member only
+         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
+         esac
        fi
         ;;
     esac
@@ -7277,11 +7779,11 @@ if test "$_lt_disable_F77" != yes; then
 
     AC_MSG_CHECKING([whether to build static libraries])
     # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
+    test yes = "$enable_shared" || enable_static=yes
     AC_MSG_RESULT([$enable_static])
 
-    _LT_TAGVAR(GCC, $1)="$G77"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$G77
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -7298,9 +7800,9 @@ if test "$_lt_disable_F77" != yes; then
   fi # test -n "$compiler"
 
   GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-  CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
 
 AC_LANG_POP
 ])# _LT_LANG_F77_CONFIG
@@ -7310,11 +7812,11 @@ AC_LANG_POP
 # -------------------------
 # Ensure that the configuration variables for a Fortran compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_FC_CONFIG],
 [AC_LANG_PUSH(Fortran)
 
-if test -z "$FC" || test "X$FC" = "Xno"; then
+if test -z "$FC" || test no = "$FC"; then
   _lt_disable_FC=yes
 fi
 
@@ -7351,7 +7853,7 @@ _LT_TAGVAR(objext, $1)=$objext
 # the FC compiler isn't working.  Some variables (like enable_shared)
 # are currently assumed to apply to all compilers on this platform,
 # and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
+if test yes != "$_lt_disable_FC"; then
   # Code to be used in simple compile tests
   lt_simple_compile_test_code="\
       subroutine t
@@ -7373,7 +7875,7 @@ if test "$_lt_disable_FC" != yes; then
   _LT_LINKER_BOILERPLATE
 
   # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
+  lt_save_CC=$CC
   lt_save_GCC=$GCC
   lt_save_CFLAGS=$CFLAGS
   CC=${FC-"f95"}
@@ -7389,21 +7891,25 @@ if test "$_lt_disable_FC" != yes; then
     AC_MSG_RESULT([$can_build_shared])
 
     AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
+    test no = "$can_build_shared" && enable_shared=no
 
     # On AIX, shared libraries and static libraries use the same namespace, and
     # are all built from PIC.
     case $host_os in
       aix3*)
-        test "$enable_shared" = yes && enable_static=no
+        test yes = "$enable_shared" && enable_static=no
         if test -n "$RANLIB"; then
           archive_cmds="$archive_cmds~\$RANLIB \$lib"
           postinstall_cmds='$RANLIB $lib'
         fi
         ;;
       aix[[4-9]]*)
-       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-         test "$enable_shared" = yes && enable_static=no
+       if test ia64 != "$host_cpu"; then
+         case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+         yes,aix,yes) ;;               # shared object as lib.so file only
+         yes,svr4,*) ;;                # shared object as lib.so archive member only
+         yes,*) enable_static=no ;;    # shared object in lib.a archive as well
+         esac
        fi
         ;;
     esac
@@ -7411,11 +7917,11 @@ if test "$_lt_disable_FC" != yes; then
 
     AC_MSG_CHECKING([whether to build static libraries])
     # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
+    test yes = "$enable_shared" || enable_static=yes
     AC_MSG_RESULT([$enable_static])
 
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
+    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+    _LT_TAGVAR(LD, $1)=$LD
 
     ## CAVEAT EMPTOR:
     ## There is no encapsulation within the following macros, do not change
@@ -7435,7 +7941,7 @@ if test "$_lt_disable_FC" != yes; then
   GCC=$lt_save_GCC
   CC=$lt_save_CC
   CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
+fi # test yes != "$_lt_disable_FC"
 
 AC_LANG_POP
 ])# _LT_LANG_FC_CONFIG
@@ -7445,7 +7951,7 @@ AC_LANG_POP
 # --------------------------
 # Ensure that the configuration variables for the GNU Java Compiler compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_GCJ_CONFIG],
 [AC_REQUIRE([LT_PROG_GCJ])dnl
 AC_LANG_SAVE
@@ -7479,7 +7985,7 @@ CC=${GCJ-"gcj"}
 CFLAGS=$GCJFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
 _LT_CC_BASENAME([$compiler])
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
@@ -7516,7 +8022,7 @@ CFLAGS=$lt_save_CFLAGS
 # --------------------------
 # Ensure that the configuration variables for the GNU Go compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_GO_CONFIG],
 [AC_REQUIRE([LT_PROG_GO])dnl
 AC_LANG_SAVE
@@ -7550,7 +8056,7 @@ CC=${GOC-"gccgo"}
 CFLAGS=$GOFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
 _LT_CC_BASENAME([$compiler])
 
 # Go did not exist at the time GCC didn't implicitly link libc in.
@@ -7587,7 +8093,7 @@ CFLAGS=$lt_save_CFLAGS
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
 # are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
 m4_defun([_LT_LANG_RC_CONFIG],
 [AC_REQUIRE([LT_PROG_RC])dnl
 AC_LANG_SAVE
@@ -7603,7 +8109,7 @@ _LT_TAGVAR(objext, $1)=$objext
 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+lt_simple_link_test_code=$lt_simple_compile_test_code
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_TAG_COMPILER
@@ -7613,7 +8119,7 @@ _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
 lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=
@@ -7642,7 +8148,7 @@ AC_DEFUN([LT_PROG_GCJ],
 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
   [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
     [AC_CHECK_TOOL(GCJ, gcj,)
-      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
       AC_SUBST(GCJFLAGS)])])[]dnl
 ])
 
@@ -7753,7 +8259,7 @@ lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
 # along with /bin/sed that truncates output.
 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
+  test ! -f "$lt_ac_sed" && continue
   cat /dev/null > conftest.in
   lt_ac_count=0
   echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -7770,9 +8276,9 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
     $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
     cmp -s conftest.out conftest.nl || break
     # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
+    test 10 -lt "$lt_ac_count" && break
     lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
+    if test "$lt_ac_count" -gt "$lt_ac_max"; then
       lt_ac_max=$lt_ac_count
       lt_cv_path_SED=$lt_ac_sed
     fi
@@ -7796,27 +8302,7 @@ dnl AC_DEFUN([LT_AC_PROG_SED], [])
 # Find out whether the shell is Bourne or XSI compatible,
 # or has some other useful features.
 m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   lt_unset=unset
 else
   lt_unset=false
@@ -7840,102 +8326,9 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
 ])# _LT_CHECK_SHELL_FEATURES
 
 
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([    ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
-    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-    # positional parameters, so assign one to ordinary parameter first.
-    func_stripname_result=${3}
-    func_stripname_result=${func_stripname_result#"${1}"}
-    func_stripname_result=${func_stripname_result%"${2}"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
-    func_split_long_opt_name=${1%%=*}
-    func_split_long_opt_arg=${1#*=}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
-    func_split_short_opt_arg=${1#??}
-    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
-    case ${1} in
-      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-      *)    func_lo2o_result=${1} ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
-
-  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
-
-  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
-    func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
-    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
 # _LT_PATH_CONVERSION_FUNCTIONS
 # -----------------------------
-# Determine which file name conversion functions should be used by
+# Determine what file name conversion functions should be used by
 # func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
 # for certain cross-compile configurations and native mingw.
 m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
similarity index 73%
rename from m4/ltoptions.m4
rename to lib/m4/ltoptions.m4
index 5d9acd8..94b0829 100644 (file)
@@ -1,14 +1,14 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+#   Foundation, Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 7 ltoptions.m4
+# serial 8 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -29,7 +29,7 @@ m4_define([_LT_SET_OPTION],
 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
         _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
+    [m4_warning([Unknown $1 option '$2'])])[]dnl
 ])
 
 
@@ -75,13 +75,15 @@ m4_if([$1],[LT_INIT],[
   dnl
   dnl If no reference was made to various pairs of opposing options, then
   dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
   dnl archives by default:
   _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
   _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
   _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
   _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-                  [_LT_ENABLE_FAST_INSTALL])
+                  [_LT_ENABLE_FAST_INSTALL])
+  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+                  [_LT_WITH_AIX_SONAME([aix])])
   ])
 ])# _LT_SET_OPTIONS
 
@@ -112,7 +114,7 @@ AU_DEFUN([AC_LIBTOOL_DLOPEN],
 [_LT_SET_OPTION([LT_INIT], [dlopen])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
+put the 'dlopen' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -148,7 +150,7 @@ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
 _LT_SET_OPTION([LT_INIT], [win32-dll])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
+put the 'win32-dll' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -157,9 +159,9 @@ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
 
 # _LT_ENABLE_SHARED([DEFAULT])
 # ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_SHARED],
 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([shared],
@@ -172,14 +174,14 @@ AC_ARG_ENABLE([shared],
     *)
       enable_shared=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_shared=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
@@ -211,9 +213,9 @@ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
 
 # _LT_ENABLE_STATIC([DEFAULT])
 # ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_STATIC],
 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([static],
@@ -226,14 +228,14 @@ AC_ARG_ENABLE([static],
     *)
      enable_static=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_static=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
@@ -265,9 +267,9 @@ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
 
 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
 # ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
 m4_define([_LT_ENABLE_FAST_INSTALL],
 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
 AC_ARG_ENABLE([fast-install],
@@ -280,14 +282,14 @@ AC_ARG_ENABLE([fast-install],
     *)
       enable_fast_install=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$pkg" = "X$p"; then
          enable_fast_install=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
     [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
@@ -304,14 +306,14 @@ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
+the 'fast-install' option into LT_INIT's first parameter.])
 ])
 
 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
+the 'disable-fast-install' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
@@ -319,11 +321,64 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 
 
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
 # _LT_WITH_PIC([MODE])
 # --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
 # LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
     [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
@@ -334,19 +389,17 @@ m4_define([_LT_WITH_PIC],
     *)
       pic_mode=default
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
+       IFS=$lt_save_ifs
        if test "X$lt_pkg" = "X$lt_p"; then
          pic_mode=yes
        fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+    [pic_mode=m4_default([$1], [default])])
 
 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
 ])# _LT_WITH_PIC
@@ -359,7 +412,7 @@ AU_DEFUN([AC_LIBTOOL_PICMODE],
 [_LT_SET_OPTION([LT_INIT], [pic-only])
 AC_DIAGNOSE([obsolete],
 [$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
+put the 'pic-only' option into LT_INIT's first parameter.])
 ])
 
 dnl aclocal-1.4 backwards compatibility:
similarity index 95%
rename from m4/ltsugar.m4
rename to lib/m4/ltsugar.m4
index 9000a05..48bc934 100644 (file)
@@ -1,6 +1,7 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@ m4_define([_lt_join],
 # ------------
 # Manipulate m4 lists.
 # These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
 m4_define([lt_car], [[$1]])
 m4_define([lt_cdr],
 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@ m4_define([lt_unquote], $1)
 
 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
 # ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
 # Note that neither SEPARATOR nor STRING are expanded; they are appended
 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
similarity index 68%
rename from m4/ltversion.m4
rename to lib/m4/ltversion.m4
index 07a8602..fa04b52 100644 (file)
@@ -1,6 +1,6 @@
 # ltversion.m4 -- version numbers                      -*- Autoconf -*-
 #
-#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 3337 ltversion.m4
+# serial 4179 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
similarity index 98%
rename from m4/lt~obsolete.m4
rename to lib/m4/lt~obsolete.m4
index c573da9..c6b26f8 100644 (file)
@@ -1,6 +1,7 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
 # which have later been changed to m4_define as they aren't part of the
 # exported API, or moved to Autoconf or Automake where they belong.
 #
@@ -25,7 +26,7 @@
 # included after everything else.  This provides aclocal with the
 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
 # because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
 #
 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
 # Yes, that means every name once taken will need to remain here until
similarity index 81%
rename from m4/nls.m4
rename to lib/m4/nls.m4
index 003704c..afdb9ca 100644 (file)
--- a/m4/nls.m4
@@ -1,17 +1,17 @@
 # nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
similarity index 92%
rename from m4/po.m4
rename to lib/m4/po.m4
index 47f36a4..c5a2f6b 100644 (file)
--- a/m4/po.m4
@@ -1,35 +1,36 @@
-# po.m4 serial 17 (gettext-0.18)
-dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
+# po.m4 serial 24 (gettext-0.19)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
 
-AC_PREREQ([2.50])
+AC_PREREQ([2.60])
 
 dnl Checks for all prerequisites of the po subdirectory.
 AC_DEFUN([AM_PO_SUBDIRS],
 [
   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
   AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+  AC_REQUIRE([AC_PROG_SED])dnl
   AC_REQUIRE([AM_NLS])dnl
 
   dnl Release version of the gettext macros. This is used to ensure that
   dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
 
   dnl Perform the following tests also if --disable-nls has been given,
   dnl because they are needed for "make dist" to work.
@@ -102,7 +103,7 @@ changequote([,])dnl
       case "$ac_file" in */Makefile.in)
         # Adjust a relative srcdir.
         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
         # In autoconf-2.13 it is called $ac_given_srcdir.
         # In autoconf-2.50 it is called $srcdir.
@@ -118,7 +119,8 @@ changequote([,])dnl
         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
           rm -f "$ac_dir/POTFILES"
           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
           POMAKEFILEDEPS="POTFILES.in"
           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
           # on $ac_dir but don't depend on user-specified configuration
@@ -129,12 +131,12 @@ changequote([,])dnl
               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
             fi
             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
           fi
           # Compute POFILES
@@ -226,7 +228,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
 changequote(,)dnl
   # Adjust a relative srcdir.
   ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
   ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
   # In autoconf-2.13 it is called $ac_given_srcdir.
   # In autoconf-2.50 it is called $srcdir.
@@ -254,6 +256,7 @@ EOT
   fi
 
   # A sed script that extracts the value of VARIABLE from a Makefile.
+  tab=`printf '\t'`
   sed_x_variable='
 # Test if the hold space is empty.
 x
@@ -261,9 +264,9 @@ s/P/P/
 x
 ta
 # Yes it was empty. Look if we have the expected variable definition.
-/^[     ]*VARIABLE[     ]*=/{
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
   # Seen the first line of the variable definition.
-  s/^[  ]*VARIABLE[     ]*=//
+  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
   ba
 }
 bd
@@ -315,7 +318,7 @@ changequote([,])dnl
     sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
     ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
   fi
-  # Hide the ALL_LINGUAS assigment from automake < 1.5.
+  # Hide the ALL_LINGUAS assignment from automake < 1.5.
   eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
   # Compute POFILES
   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
@@ -405,14 +408,15 @@ changequote([,])dnl
   fi
 
   sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  tab=`printf '\t'`
   if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
     # Add dependencies that cannot be formulated as a simple suffix rule.
     for lang in $ALL_LINGUAS; do
       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
       cat >> "$ac_file.tmp" <<EOF
 $frobbedlang.msg: $lang.po
-       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
 EOF
     done
   fi
@@ -422,8 +426,8 @@ EOF
       frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
       cat >> "$ac_file.tmp" <<EOF
 $frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
 EOF
     done
   fi
similarity index 79%
rename from m4/progtest.m4
rename to lib/m4/progtest.m4
index 2d804ac..9ace7c3 100644 (file)
@@ -1,16 +1,16 @@
-# progtest.m4 serial 6 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc.
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
@@ -27,15 +27,14 @@ AC_DEFUN([AM_PATH_PROG_WITH_TEST],
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
index a52d74b..940b73d 100644 (file)
@@ -1,5 +1,5 @@
 /* nfkc.c --- Unicode normalization utilities.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+# include "config.h"
 #endif
 
 #include <stdlib.h>
@@ -40,7 +40,6 @@
 #define gboolean int
 #define gchar char
 #define guchar unsigned char
-#define glong long
 #define gint int
 #define guint unsigned int
 #define gushort unsigned short
  */
 
 #ifndef        FALSE
-#define        FALSE   (0)
+# define       FALSE   (0)
 #endif
 
 #ifndef        TRUE
-#define        TRUE    (!FALSE)
+# define       TRUE    (!FALSE)
 #endif
 
 #define G_N_ELEMENTS(arr)              (sizeof (arr) / sizeof ((arr)[0]))
@@ -223,7 +222,7 @@ static const gchar utf8_skip_data[256] = {
   5, 5, 5, 6, 6, 1, 1
 };
 
-const gchar *const g_utf8_skip = utf8_skip_data;
+static const gchar *const g_utf8_skip = utf8_skip_data;
 
 /*
  * g_utf8_strlen:
@@ -238,39 +237,17 @@ const gchar *const g_utf8_skip = utf8_skip_data;
  *
  * Return value: the length of the string in characters
  **/
-static glong
-g_utf8_strlen (const gchar * p, gssize max)
+static gsize
+g_utf8_strlen (const gchar *p)
 {
-  glong len = 0;
-  const gchar *start = p;
-  g_return_val_if_fail (p != NULL || max == 0, 0);
+  gsize len = 0;
 
-  if (max < 0)
-    {
-      while (*p)
-       {
-         p = g_utf8_next_char (p);
-         ++len;
-       }
-    }
-  else
-    {
-      if (max == 0 || !*p)
-       return 0;
+  g_return_val_if_fail (p != NULL, 0);
 
+  while (*p)
+    {
       p = g_utf8_next_char (p);
-
-      while (p - start < max && *p)
-       {
-         ++len;
-         p = g_utf8_next_char (p);
-       }
-
-      /* only do the last len increment if we got a complete
-       * char (don't count partial chars)
-       */
-      if (p - start <= max)
-       ++len;
+      ++len;
     }
 
   return len;
@@ -289,7 +266,7 @@ g_utf8_strlen (const gchar * p, gssize max)
  * Return value: the resulting character
  **/
 static gunichar
-g_utf8_get_char (const gchar * p)
+g_utf8_get_char (const gchar *p)
 {
   int i, mask = 0, len;
   gunichar result;
@@ -315,7 +292,7 @@ g_utf8_get_char (const gchar * p)
  * Return value: number of bytes written
  **/
 static int
-g_unichar_to_utf8 (gunichar c, gchar * outbuf)
+g_unichar_to_utf8 (gunichar c, gchar *outbuf)
 {
   /* If this gets modified, also update the copy in g_string_insert_unichar() */
   guint len = 0;
@@ -384,7 +361,7 @@ g_unichar_to_utf8 (gunichar c, gchar * outbuf)
  *               This value must be freed with g_free().
  **/
 static gunichar *
-g_utf8_to_ucs4_fast (const gchar * str, glong len, glong * items_written)
+g_utf8_to_ucs4_fast (const gchar *str, gssize len, gsize *items_written)
 {
   gunichar *result;
   gsize n_chars, i;
@@ -483,17 +460,16 @@ g_utf8_to_ucs4_fast (const gchar * str, glong len, glong * items_written)
  *               character.
  **/
 static gchar *
-g_ucs4_to_utf8 (const gunichar * str,
-               glong len,
-               glong * items_read, glong * items_written)
+g_ucs4_to_utf8 (const gunichar *str,
+               gsize len, gsize *items_read, gsize *items_written)
 {
   gint result_length;
   gchar *result = NULL;
   gchar *p;
-  gint i;
+  gsize i;
 
   result_length = 0;
-  for (i = 0; len < 0 || i < len; i++)
+  for (i = 0; i < len; i++)
     {
       if (!str[i])
        break;
@@ -590,7 +566,7 @@ err_out:
  * manual for more information.
  **/
 static void
-g_unicode_canonical_ordering (gunichar * string, gsize len)
+g_unicode_canonical_ordering (gunichar *string, gsize len)
 {
   gsize i;
   int swap = 1;
@@ -631,7 +607,7 @@ g_unicode_canonical_ordering (gunichar * string, gsize len)
  * only calculate the result_len; however, a buffer with space for three
  * characters will always be big enough. */
 static void
-decompose_hangul (gunichar s, gunichar * r, gsize * result_len)
+decompose_hangul (gunichar s, gunichar *r, gsize *result_len)
 {
   gint SIndex = s - SBase;
   gint TIndex = SIndex % TCount;
@@ -697,24 +673,28 @@ find_decomposition (gunichar ch, gboolean compat)
 
 /* L,V => LV and LV,T => LVT  */
 static gboolean
-combine_hangul (gunichar a, gunichar b, gunichar * result)
+combine_hangul (gunichar a, gunichar b, gunichar *result)
 {
-  gint LIndex = a - LBase;
-  gint SIndex = a - SBase;
-
-  gint VIndex = b - VBase;
-  gint TIndex = b - TBase;
-
-  if (0 <= LIndex && LIndex < LCount && 0 <= VIndex && VIndex < VCount)
+  if (a >= LBase && a < LCount + LBase && b >= VBase && b < VCount + VBase)
     {
+      gint LIndex = a - LBase;
+      gint VIndex = b - VBase;
+
       *result = SBase + (LIndex * VCount + VIndex) * TCount;
       return TRUE;
     }
-  else if (0 <= SIndex && SIndex < SCount && (SIndex % TCount) == 0
-          && 0 < TIndex && TIndex < TCount)
+
+  if (a >= SBase && a < SCount + SBase && b > TBase && b < TCount + TBase)
     {
-      *result = a + TIndex;
-      return TRUE;
+      gint SIndex = a - SBase;
+
+      if ((SIndex % TCount) == 0)
+       {
+         gint TIndex = b - TBase;
+
+         *result = a + TIndex;
+         return TRUE;
+       }
     }
 
   return FALSE;
@@ -729,7 +709,7 @@ combine_hangul (gunichar a, gunichar b, gunichar * result)
   (((Char >> 8) > (COMPOSE_TABLE_LAST)) ? 0 : CI((Char) >> 8, (Char) & 0xff))
 
 static gboolean
-combine (gunichar a, gunichar b, gunichar * result)
+combine (gunichar a, gunichar b, gunichar *result)
 {
   gushort index_a, index_b;
 
@@ -784,7 +764,7 @@ combine (gunichar a, gunichar b, gunichar * result)
 }
 
 static gunichar *
-_g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
+_g_utf8_normalize_wc (const gchar *str, gssize max_len, GNormalizeMode mode)
 {
   gsize n_wc;
   gunichar *wc_buffer;
@@ -811,7 +791,7 @@ _g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
          decomp = find_decomposition (wc, do_compat);
 
          if (decomp)
-           n_wc += g_utf8_strlen (decomp, -1);
+           n_wc += g_utf8_strlen (decomp);
          else
            n_wc++;
        }
@@ -872,7 +852,7 @@ _g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
     {
       g_unicode_canonical_ordering (wc_buffer + last_start,
                                    n_wc - last_start);
-      last_start = n_wc;
+      /* dead assignment: last_start = n_wc; */
     }
 
   wc_buffer[n_wc] = 0;
@@ -956,12 +936,14 @@ _g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
  *   valid UTF-8.
  **/
 static gchar *
-g_utf8_normalize (const gchar * str, gssize len, GNormalizeMode mode)
+g_utf8_normalize (const gchar *str, gssize len, GNormalizeMode mode)
 {
   gunichar *result_wc = _g_utf8_normalize_wc (str, len, mode);
-  gchar *result;
+  gchar *result = NULL;
+
+  if (result_wc)
+    result = g_ucs4_to_utf8 (result_wc, -1, NULL, NULL);
 
-  result = g_ucs4_to_utf8 (result_wc, -1, NULL, NULL);
   g_free (result_wc);
 
   return result;
@@ -1002,6 +984,8 @@ stringprep_unichar_to_utf8 (uint32_t c, char *outbuf)
   return g_unichar_to_utf8 (c, outbuf);
 }
 
+#include <unistr.h>
+
 /**
  * stringprep_utf8_to_ucs4:
  * @str: a UTF-8 encoded string
@@ -1010,17 +994,28 @@ stringprep_unichar_to_utf8 (uint32_t c, char *outbuf)
  * @items_written: location to store the number of characters in the
  *                 result, or %NULL.
  *
- * Convert a string from UTF-8 to a 32-bit fixed width
- * representation as UCS-4, assuming valid UTF-8 input.
- * This function does no error checking on the input.
+ * Convert a string from UTF-8 to a 32-bit fixed width representation
+ * as UCS-4.  The function now performs error checking to verify that
+ * the input is valid UTF-8 (before it was documented to not do error
+ * checking).
  *
  * Return value: a pointer to a newly allocated UCS-4 string.
  *               This value must be deallocated by the caller.
  **/
 uint32_t *
-stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t * items_written)
+stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t *items_written)
 {
-  return g_utf8_to_ucs4_fast (str, (glong) len, (glong *) items_written);
+  size_t n;
+
+  if (len < 0)
+    n = strlen (str);
+  else
+    n = len;
+
+  if (u8_check ((const uint8_t *) str, n))
+    return NULL;
+
+  return g_utf8_to_ucs4_fast (str, len, items_written);
 }
 
 /**
@@ -1041,11 +1036,10 @@ stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t * items_written)
  *               If an error occurs, %NULL will be returned.
  **/
 char *
-stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len,
-                        size_t * items_read, size_t * items_written)
+stringprep_ucs4_to_utf8 (const uint32_t *str, ssize_t len,
+                        size_t *items_read, size_t *items_written)
 {
-  return g_ucs4_to_utf8 (str, len, (glong *) items_read,
-                        (glong *) items_written);
+  return g_ucs4_to_utf8 (str, len, items_read, items_written);
 }
 
 /**
@@ -1073,9 +1067,20 @@ stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len,
 char *
 stringprep_utf8_nfkc_normalize (const char *str, ssize_t len)
 {
+  size_t n;
+
+  if (len < 0)
+    n = strlen (str);
+  else
+    n = len;
+
+  if (u8_check ((const uint8_t *) str, n))
+    return NULL;
+
   return g_utf8_normalize (str, len, G_NORMALIZE_NFKC);
 }
 
+#include <stdio.h>
 /**
  * stringprep_ucs4_nfkc_normalize:
  * @str: a Unicode string.
@@ -1088,12 +1093,15 @@ stringprep_utf8_nfkc_normalize (const char *str, ssize_t len)
  *   normalized form of @str.
  **/
 uint32_t *
-stringprep_ucs4_nfkc_normalize (const uint32_t * str, ssize_t len)
+stringprep_ucs4_nfkc_normalize (const uint32_t *str, ssize_t len)
 {
   char *p;
   uint32_t *result_wc;
 
   p = stringprep_ucs4_to_utf8 (str, len, 0, 0);
+  if (!p)
+    return NULL;
+
   result_wc = _g_utf8_normalize_wc (p, -1, G_NORMALIZE_NFKC);
   free (p);
 
index fcf798d..2a2d116 100644 (file)
@@ -1,5 +1,5 @@
 /* pr29.h --- Detect strings that are non-idempotent under NFKC in Unicode 3.2.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #include <config.h>
 
@@ -1244,7 +1244,7 @@ combinationclass (uint32_t c)
  *   implementations).
  **/
 int
-pr29_4 (const uint32_t * in, size_t len)
+pr29_4 (const uint32_t *in, size_t len)
 {
   size_t i, j, k, row;
 
@@ -1285,7 +1285,7 @@ pr29_4 (const uint32_t * in, size_t len)
  *   implementations).
  **/
 int
-pr29_4z (const uint32_t * in)
+pr29_4z (const uint32_t *in)
 {
   size_t len;
 
index bf1bba1..d855114 100644 (file)
@@ -1,5 +1,5 @@
 /* pr29.h --- Detect strings which are non-idempotent under NFKC.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef PR29_H
 # define PR29_H
 
+/**
+ * SECTION:pr29
+ * @title: pr29.h
+ * @short_description: PR29-related functions
+ *
+ * PR29-related functions.
+ */
+
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
index 912ee43..c0832b9 100644 (file)
@@ -1,5 +1,5 @@
 /* profiles.c --- Definitions of stringprep profiles.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #include <config.h>
 #include "stringprep.h"
+#include "rfc3454.h"
 
 const Stringprep_profiles stringprep_profiles[] = {
   {"Nameprep", stringprep_nameprep},
@@ -43,280 +44,221 @@ const Stringprep_profiles stringprep_profiles[] = {
   {NULL, NULL}
 };
 
+/* number of elements within an array */
+#define countof(a) (sizeof(a)/sizeof(*(a)))
+
+/* helper for profile definitions */
+#define TABLE(x) stringprep_rfc3454_##x, N_STRINGPREP_rfc3454_##x
+
 const Stringprep_profile stringprep_nameprep[] = {
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
-   stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_2)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, 0, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
 
 const Stringprep_profile stringprep_kerberos5[] = {
   /* XXX this is likely to be wrong as the specification is
      a rough draft. */
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_3},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
-   stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_3)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, 0, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
 
 const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[] = {
-  {0x000022},                  /* #x22 (") */
-  {0x000026},                  /* #x26 (&) */
-  {0x000027},                  /* #x27 (') */
-  {0x00002F},                  /* #x2F (/) */
-  {0x00003A},                  /* #x3A (:) */
-  {0x00003C},                  /* #x3C (<) */
-  {0x00003E},                  /* #x3E (>) */
-  {0x000040},                  /* #x40 (@) */
+  {0x000022, 0x000022},                /* #x22 (") */
+  {0x000026, 0x000026},                /* #x26 (&) */
+  {0x000027, 0x000027},                /* #x27 (') */
+  {0x00002F, 0x00002F},                /* #x2F (/) */
+  {0x00003A, 0x00003A},                /* #x3A (:) */
+  {0x00003C, 0x00003C},                /* #x3C (<) */
+  {0x00003E, 0x00003E},                /* #x3E (>) */
+  {0x000040, 0x000040},                /* #x40 (@) */
   {0}
 };
 
 const Stringprep_profile stringprep_xmpp_nodeprep[] = {
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_xmpp_nodeprep_prohibit},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_2)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_xmpp_nodeprep_prohibit,
+   countof (stringprep_xmpp_nodeprep_prohibit) - 1},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, 0, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
 
 const Stringprep_profile stringprep_xmpp_resourceprep[] = {
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
 
 const Stringprep_profile stringprep_plain[] = {
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_2)},
   {0}
 };
 
 const Stringprep_profile stringprep_trace[] = {
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_2)},
   {0}
 };
 
 const Stringprep_table_element stringprep_iscsi_prohibit[] = {
-  /* NB, since start == 0, we must have that end != 0 for the
-     end-of-table logic to work. */
-  {0x0000, 1},                 /* [ASCII CONTROL CHARACTERS and SPACE through ,] */
-  {0x0001},
-  {0x0002},
-  {0x0003},
-  {0x0004},
-  {0x0005},
-  {0x0006},
-  {0x0007},
-  {0x0008},
-  {0x0009},
-  {0x000A},
-  {0x000B},
-  {0x000C},
-  {0x000D},
-  {0x000E},
-  {0x000F},
-  {0x0010},
-  {0x0011},
-  {0x0012},
-  {0x0013},
-  {0x0014},
-  {0x0015},
-  {0x0016},
-  {0x0017},
-  {0x0018},
-  {0x0019},
-  {0x001A},
-  {0x001B},
-  {0x001C},
-  {0x001D},
-  {0x001E},
-  {0x001F},
-  {0x0020},
-  {0x0021},
-  {0x0022},
-  {0x0023},
-  {0x0024},
-  {0x0025},
-  {0x0026},
-  {0x0027},
-  {0x0028},
-  {0x0029},
-  {0x002A},
-  {0x002B},
-  {0x002C},
-  {0x002F},                    /* [ASCII /] */
-  {0x003B},                    /* [ASCII ; through @] */
-  {0x003C},
-  {0x003D},
-  {0x003E},
-  {0x003F},
-  {0x0040},
-  {0x005B},                    /* [ASCII [ through `] */
-  {0x005C},
-  {0x005D},
-  {0x005E},
-  {0x005F},
-  {0x0060},
-  {0x007B},                    /* [ASCII { through DEL] */
-  {0x007C},
-  {0x007D},
-  {0x007E},
-  {0x007F},
-  {0x3002},                    /* ideographic full stop */
+  {0x0000, 0x002C},            /* [ASCII CONTROL CHARACTERS and SPACE through ,] */
+  {0x002F, 0x002F},            /* [ASCII /] */
+  {0x003B, 0x0040},            /* [ASCII ; through @] */
+  {0x005B, 0x0060},            /* [ASCII [ through `] */
+  {0x007B, 0x007F},            /* [ASCII { through DEL] */
+  {0x3002, 0x3002},            /* ideographic full stop */
   {0}
 };
 
 const Stringprep_profile stringprep_iscsi[] = {
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_iscsi_prohibit},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_2)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_iscsi_prohibit,
+   countof (stringprep_iscsi_prohibit) - 1},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
 
 const Stringprep_table_element stringprep_saslprep_space_map[] = {
-  {0x0000A0, 0, {0x0020}},     /* 00A0; NO-BREAK SPACE */
-  {0x001680, 0, {0x0020}},     /* 1680; OGHAM SPACE MARK */
-  {0x002000, 0, {0x0020}},     /* 2000; EN QUAD */
-  {0x002001, 0, {0x0020}},     /* 2001; EM QUAD */
-  {0x002002, 0, {0x0020}},     /* 2002; EN SPACE */
-  {0x002003, 0, {0x0020}},     /* 2003; EM SPACE */
-  {0x002004, 0, {0x0020}},     /* 2004; THREE-PER-EM SPACE */
-  {0x002005, 0, {0x0020}},     /* 2005; FOUR-PER-EM SPACE */
-  {0x002006, 0, {0x0020}},     /* 2006; SIX-PER-EM SPACE */
-  {0x002007, 0, {0x0020}},     /* 2007; FIGURE SPACE */
-  {0x002008, 0, {0x0020}},     /* 2008; PUNCTUATION SPACE */
-  {0x002009, 0, {0x0020}},     /* 2009; THIN SPACE */
-  {0x00200A, 0, {0x0020}},     /* 200A; HAIR SPACE */
-  {0x00200B, 0, {0x0020}},     /* 200B; ZERO WIDTH SPACE */
-  {0x00202F, 0, {0x0020}},     /* 202F; NARROW NO-BREAK SPACE */
-  {0x00205F, 0, {0x0020}},     /* 205F; MEDIUM MATHEMATICAL SPACE */
-  {0x003000, 0, {0x0020}},     /* 3000; IDEOGRAPHIC SPACE */
+  {0x00A0, 0x00A0, {0x0020}},  /* 00A0; NO-BREAK SPACE */
+  {0x1680, 0x1680, {0x0020}},  /* 1680; OGHAM SPACE MARK */
+  {0x2000, 0x200B, {0x0020}},  /* 2000; EN QUAD */
+  /* 2001; EM QUAD */
+  /* 2002; EN SPACE */
+  /* 2003; EM SPACE */
+  /* 2004; THREE-PER-EM SPACE */
+  /* 2005; FOUR-PER-EM SPACE */
+  /* 2006; SIX-PER-EM SPACE */
+  /* 2007; FIGURE SPACE */
+  /* 2008; PUNCTUATION SPACE */
+  /* 2009; THIN SPACE */
+  /* 200A; HAIR SPACE */
+  /* 200B; ZERO WIDTH SPACE */
+  {0x202F, 0x202F, {0x0020}},  /* 202F; NARROW NO-BREAK SPACE */
+  {0x205F, 0x205F, {0x0020}},  /* 205F; MEDIUM MATHEMATICAL SPACE */
+  {0x3000, 0x3000, {0x0020}},  /* 3000; IDEOGRAPHIC SPACE */
   {0}
 };
 
 const Stringprep_profile stringprep_saslprep[] = {
-  {STRINGPREP_MAP_TABLE, 0, stringprep_saslprep_space_map},
-  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
-  {STRINGPREP_NFKC, 0, 0},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
-  {STRINGPREP_BIDI, 0, 0},
-  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
-  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
-  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
-  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
-   stringprep_rfc3454_A_1},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_saslprep_space_map,
+   countof (stringprep_saslprep_space_map) - 1},
+  {STRINGPREP_MAP_TABLE, 0, TABLE (B_1)},
+  {STRINGPREP_NFKC, 0, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_1_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_1)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_2_2)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_3)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_4)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_5)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_6)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_7)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_PROHIBIT_TABLE, 0, TABLE (C_9)},
+  {STRINGPREP_BIDI, 0, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, TABLE (C_8)},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_1)},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, TABLE (D_2)},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, TABLE (A_1)},
   {0}
 };
index 9037f51..75ef074 100644 (file)
@@ -1,5 +1,5 @@
 /* punycode.c --- Implementation of punycode used to ASCII encode IDN's.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 /*
- * This file is derived from RFC 3492bis written by Adam M. Costello.
+ * This file is derived from RFC 3492bis written by Adam M. Costello,
+ * downloaded from http://www.nicemice.net/idn/punycode-spec.gz on
+ * 2015-03-02 with SHA1 a966a8017f6be579d74a50a226accc7607c40133, a
+ * copy of which is stored in the GNU Libidn version controlled
+ * repository under doc/specification/punycode-spec.gz.
+ *
+ * The changes compared to Adam's file include: re-indentation, adding
+ * the license boilerplate and this comment, #include of config.h and
+ * punycode.h, adding GTK-DOC comments, changing the return code of
+ * punycode_encode and punycode_decode from enum to int, renaming the
+ * input_length_orig function input variable to input_length (and
+ * renaming the internal input_length variable to input_len) in
+ * punycode_encode.
+ *
+ * Adam's file contains the following:
+ *
+ * punycode-sample.c 2.0.0 (2004-Mar-21-Sun)
+ * http://www.nicemice.net/idn/
+ * Adam M. Costello
+ * http://www.nicemice.net/amc/
+ *
+ * This is ANSI C code (C89) implementing Punycode 1.0.x.
  *
  * Disclaimer and license: Regarding this entire document or any
  * portion of it (including the pseudocode and C code), the author
  * provided that redistributed derivative works do not contain
  * misleading author or version information.  Derivative works need
  * not be licensed under similar terms.
- *
- * Copyright (C) The Internet Society (2003).  All Rights Reserved.
- *
- * This document and translations of it may be copied and furnished to
- * others, and derivative works that comment on or otherwise explain it
- * or assist in its implementation may be prepared, copied, published
- * and distributed, in whole or in part, without restriction of any
- * kind, provided that the above copyright notice and this paragraph are
- * included on all such copies and derivative works.  However, this
- * document itself may not be modified in any way, such as by removing
- * the copyright notice or references to the Internet Society or other
- * Internet organizations, except as needed for the purpose of
- * developing Internet standards in which case the procedures for
- * copyrights defined in the Internet Standards process must be
- * followed, or as required to translate it into languages other than
- * English.
- *
- * The limited permissions granted above are perpetual and will not be
- * revoked by the Internet Society or its successors or assigns.
- *
- * This document and the information contained herein is provided on an
- * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  */
 
 #include <config.h>
+
+/**********************************************************/
+/* Implementation (would normally go in its own .c file): */
+
 #include <string.h>
 
 #include "punycode.h"
@@ -89,11 +88,11 @@ enum
 /* point (for use in representing integers) in the range 0 to */
 /* base-1, or base if cp does not represent a value.          */
 
-static punycode_uint
-decode_digit (punycode_uint cp)
+static unsigned
+decode_digit (int cp)
 {
-  return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
-    cp - 97 < 26 ? cp - 97 : base;
+  return (unsigned) (cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
+                    cp - 97 < 26 ? cp - 97 : base);
 }
 
 /* encode_digit(d,flag) returns the basic code point whose value      */
@@ -197,7 +196,7 @@ int
 punycode_encode (size_t input_length,
                 const punycode_uint input[],
                 const unsigned char case_flags[],
-                size_t * output_length, char output[])
+                size_t *output_length, char output[])
 {
   punycode_uint input_len, n, delta, h, b, bias, j, m, q, k, t;
   size_t out, max_out;
@@ -229,6 +228,9 @@ punycode_encode (size_t input_length,
          output[out++] = case_flags ?
            encode_basic (input[j], case_flags[j]) : (char) input[j];
        }
+      else if (input[j] > 0x10FFFF
+              || (input[j] >= 0xD800 && input[j] <= 0xDBFF))
+       return punycode_bad_input;
       /* else if (input[j] < n) return punycode_bad_input; */
       /* (not needed for Punycode with unsigned code points) */
     }
@@ -345,7 +347,7 @@ punycode_encode (size_t input_length,
 int
 punycode_decode (size_t input_length,
                 const char input[],
-                size_t * output_length,
+                size_t *output_length,
                 punycode_uint output[], unsigned char case_flags[])
 {
   punycode_uint n, out, i, max_out, bias, oldi, w, k, digit, t;
@@ -377,6 +379,9 @@ punycode_decode (size_t input_length,
        return punycode_bad_input;
       output[out++] = input[j];
     }
+  for (j = b + (b > 0); j < input_length; ++j)
+    if (!basic (input[j]))
+      return punycode_bad_input;
 
   /* Main decoding loop:  Start just after the last delimiter if any  */
   /* basic code points were copied; start at the beginning otherwise. */
@@ -419,12 +424,14 @@ punycode_decode (size_t input_length,
       if (i / (out + 1) > maxint - n)
        return punycode_overflow;
       n += i / (out + 1);
+      if (n > 0x10FFFF || (n >= 0xD800 && n <= 0xDBFF))
+       return punycode_bad_input;
       i %= (out + 1);
 
       /* Insert n at position i of the output: */
 
       /* not needed for Punycode: */
-      /* if (basic(n)) return punycode_invalid_input; */
+      /* if (basic(n)) return punycode_bad_input; */
       if (out >= max_out)
        return punycode_big_output;
 
index 0fea6c9..37c8fb7 100644 (file)
@@ -1,5 +1,5 @@
 /* punycode.h --- Declarations for punycode functions.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 /*
- * This file contains content derived from RFC 3492bis written by Adam
- * M. Costello.
+ * This file is derived from RFC 3492bis written by Adam M. Costello,
+ * downloaded from http://www.nicemice.net/idn/punycode-spec.gz on
+ * 2015-03-02 with SHA1 a966a8017f6be579d74a50a226accc7607c40133, a
+ * copy of which is stored in the GNU Libidn version controlled
+ * repository under doc/specification/punycode-spec.gz.
+ *
+ * The changes compared to Adam's file include: re-indentation, adding
+ * the license boilerplate and this comment, adding the #ifndef
+ * PUNYCODE_H and IDNAPI blocks, changing the return code of
+ * punycode_encode and punycode_decode from enum to int, simplifying
+ * the definition of punycode_uint by #include'ing idn-int.h and using
+ * uint32_t instead of limit.h-based code, adding Punycode_status and
+ * punycode_strerror, adding 'extern IDNAPI' declarations to function
+ * prototypes, and mentioning variable names in function prototypes.
+ *
+ * Adam's file contains the following:
+ *
+ * punycode-sample.c 2.0.0 (2004-Mar-21-Sun)
+ * http://www.nicemice.net/idn/
+ * Adam M. Costello
+ * http://www.nicemice.net/amc/
+ *
+ * This is ANSI C code (C89) implementing Punycode 1.0.x.
  *
  * Disclaimer and license: Regarding this entire document or any
  * portion of it (including the pseudocode and C code), the author
  * provided that redistributed derivative works do not contain
  * misleading author or version information.  Derivative works need
  * not be licensed under similar terms.
- *
- * Copyright (C) The Internet Society (2003).  All Rights Reserved.
- *
- * This document and translations of it may be copied and furnished to
- * others, and derivative works that comment on or otherwise explain it
- * or assist in its implementation may be prepared, copied, published
- * and distributed, in whole or in part, without restriction of any
- * kind, provided that the above copyright notice and this paragraph are
- * included on all such copies and derivative works.  However, this
- * document itself may not be modified in any way, such as by removing
- * the copyright notice or references to the Internet Society or other
- * Internet organizations, except as needed for the purpose of
- * developing Internet standards in which case the procedures for
- * copyrights defined in the Internet Standards process must be
- * followed, or as required to translate it into languages other than
- * English.
- *
- * The limited permissions granted above are perpetual and will not be
- * revoked by the Internet Society or its successors or assigns.
- *
- * This document and the information contained herein is provided on an
- * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  */
 
 #ifndef PUNYCODE_H
 # define PUNYCODE_H
 
+/**
+ * SECTION:punycode
+ * @title: punycode.h
+ * @short_description: Punycode-related functions
+ *
+ * Punycode-related functions.
+ */
+
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
 #  endif
 # endif
 
-#ifdef __cplusplus
+# ifdef __cplusplus
 extern "C"
 {
-#endif
+# endif
+
+/************************************************************/
+/* Public interface (would normally go in its own .h file): */
 
-#include <stddef.h>            /* size_t */
-#include <idn-int.h>           /* uint32_t */
+# include <stddef.h>           /* size_t */
+# include <idn-int.h>          /* uint32_t */
 
   enum punycode_status
   {
@@ -110,14 +116,16 @@ extern "C"
   extern IDNAPI const char *punycode_strerror (Punycode_status rc);
 
 /* punycode_uint needs to be unsigned and needs to be */
-/* at least 26 bits wide.                             */
+/* at least 26 bits wide.  The particular type can be */
+/* specified by defining PUNYCODE_UINT, otherwise a   */
+/* suitable type will be chosen automatically.        */
 
   typedef uint32_t punycode_uint;
 
   extern IDNAPI int punycode_encode (size_t input_length,
                                     const punycode_uint input[],
                                     const unsigned char case_flags[],
-                                    size_t * output_length, char output[]);
+                                    size_t *output_length, char output[]);
 
 /*
     punycode_encode() converts a sequence of code points (presumed to be
@@ -131,7 +139,7 @@ extern "C"
 
         input
             An array of code points.  They are presumed to be Unicode
-            code points, but that is not strictly REQUIRED.  The
+            code points, but that is not strictly necessary.  The
             array contains code points, not code units.  UTF-16 uses
             code units D800 through DFFF to refer to code points
             10000..10FFFF.  The code points D800..DFFF do not occur in
@@ -176,7 +184,7 @@ extern "C"
 
   extern IDNAPI int punycode_decode (size_t input_length,
                                     const char input[],
-                                    size_t * output_length,
+                                    size_t *output_length,
                                     punycode_uint output[],
                                     unsigned char case_flags[]);
 
@@ -233,7 +241,7 @@ extern "C"
         might contain garbage.
 */
 
-#ifdef __cplusplus
+# ifdef __cplusplus
 }
-#endif
+# endif
 #endif                         /* PUNYCODE_H */
index f4e411f..2147882 100644 (file)
@@ -11,7 +11,7 @@
  */
 
 const Stringprep_table_element stringprep_rfc3454_A_1[] = {
-  { 0x000221           },                                            /* 0221 */
+  { 0x000221, 0x000221 },                                            /* 0221 */
   { 0x000234, 0x00024F },                                       /* 0234-024F */
   { 0x0002AE, 0x0002AF },                                       /* 02AE-02AF */
   { 0x0002EF, 0x0002FF },                                       /* 02EF-02FF */
@@ -20,192 +20,192 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x000376, 0x000379 },                                       /* 0376-0379 */
   { 0x00037B, 0x00037D },                                       /* 037B-037D */
   { 0x00037F, 0x000383 },                                       /* 037F-0383 */
-  { 0x00038B           },                                            /* 038B */
-  { 0x00038D           },                                            /* 038D */
-  { 0x0003A2           },                                            /* 03A2 */
-  { 0x0003CF           },                                            /* 03CF */
+  { 0x00038B, 0x00038B },                                            /* 038B */
+  { 0x00038D, 0x00038D },                                            /* 038D */
+  { 0x0003A2, 0x0003A2 },                                            /* 03A2 */
+  { 0x0003CF, 0x0003CF },                                            /* 03CF */
   { 0x0003F7, 0x0003FF },                                       /* 03F7-03FF */
-  { 0x000487           },                                            /* 0487 */
-  { 0x0004CF           },                                            /* 04CF */
+  { 0x000487, 0x000487 },                                            /* 0487 */
+  { 0x0004CF, 0x0004CF },                                            /* 04CF */
   { 0x0004F6, 0x0004F7 },                                       /* 04F6-04F7 */
   { 0x0004FA, 0x0004FF },                                       /* 04FA-04FF */
   { 0x000510, 0x000530 },                                       /* 0510-0530 */
   { 0x000557, 0x000558 },                                       /* 0557-0558 */
-  { 0x000560           },                                            /* 0560 */
-  { 0x000588           },                                            /* 0588 */
+  { 0x000560, 0x000560 },                                            /* 0560 */
+  { 0x000588, 0x000588 },                                            /* 0588 */
   { 0x00058B, 0x000590 },                                       /* 058B-0590 */
-  { 0x0005A2           },                                            /* 05A2 */
-  { 0x0005BA           },                                            /* 05BA */
+  { 0x0005A2, 0x0005A2 },                                            /* 05A2 */
+  { 0x0005BA, 0x0005BA },                                            /* 05BA */
   { 0x0005C5, 0x0005CF },                                       /* 05C5-05CF */
   { 0x0005EB, 0x0005EF },                                       /* 05EB-05EF */
   { 0x0005F5, 0x00060B },                                       /* 05F5-060B */
   { 0x00060D, 0x00061A },                                       /* 060D-061A */
   { 0x00061C, 0x00061E },                                       /* 061C-061E */
-  { 0x000620           },                                            /* 0620 */
+  { 0x000620, 0x000620 },                                            /* 0620 */
   { 0x00063B, 0x00063F },                                       /* 063B-063F */
   { 0x000656, 0x00065F },                                       /* 0656-065F */
   { 0x0006EE, 0x0006EF },                                       /* 06EE-06EF */
-  { 0x0006FF           },                                            /* 06FF */
-  { 0x00070E           },                                            /* 070E */
+  { 0x0006FF, 0x0006FF },                                            /* 06FF */
+  { 0x00070E, 0x00070E },                                            /* 070E */
   { 0x00072D, 0x00072F },                                       /* 072D-072F */
   { 0x00074B, 0x00077F },                                       /* 074B-077F */
   { 0x0007B2, 0x000900 },                                       /* 07B2-0900 */
-  { 0x000904           },                                            /* 0904 */
+  { 0x000904, 0x000904 },                                            /* 0904 */
   { 0x00093A, 0x00093B },                                       /* 093A-093B */
   { 0x00094E, 0x00094F },                                       /* 094E-094F */
   { 0x000955, 0x000957 },                                       /* 0955-0957 */
   { 0x000971, 0x000980 },                                       /* 0971-0980 */
-  { 0x000984           },                                            /* 0984 */
+  { 0x000984, 0x000984 },                                            /* 0984 */
   { 0x00098D, 0x00098E },                                       /* 098D-098E */
   { 0x000991, 0x000992 },                                       /* 0991-0992 */
-  { 0x0009A9           },                                            /* 09A9 */
-  { 0x0009B1           },                                            /* 09B1 */
+  { 0x0009A9, 0x0009A9 },                                            /* 09A9 */
+  { 0x0009B1, 0x0009B1 },                                            /* 09B1 */
   { 0x0009B3, 0x0009B5 },                                       /* 09B3-09B5 */
   { 0x0009BA, 0x0009BB },                                       /* 09BA-09BB */
-  { 0x0009BD           },                                            /* 09BD */
+  { 0x0009BD, 0x0009BD },                                            /* 09BD */
   { 0x0009C5, 0x0009C6 },                                       /* 09C5-09C6 */
   { 0x0009C9, 0x0009CA },                                       /* 09C9-09CA */
   { 0x0009CE, 0x0009D6 },                                       /* 09CE-09D6 */
   { 0x0009D8, 0x0009DB },                                       /* 09D8-09DB */
-  { 0x0009DE           },                                            /* 09DE */
+  { 0x0009DE, 0x0009DE },                                            /* 09DE */
   { 0x0009E4, 0x0009E5 },                                       /* 09E4-09E5 */
   { 0x0009FB, 0x000A01 },                                       /* 09FB-0A01 */
   { 0x000A03, 0x000A04 },                                       /* 0A03-0A04 */
   { 0x000A0B, 0x000A0E },                                       /* 0A0B-0A0E */
   { 0x000A11, 0x000A12 },                                       /* 0A11-0A12 */
-  { 0x000A29           },                                            /* 0A29 */
-  { 0x000A31           },                                            /* 0A31 */
-  { 0x000A34           },                                            /* 0A34 */
-  { 0x000A37           },                                            /* 0A37 */
+  { 0x000A29, 0x000A29 },                                            /* 0A29 */
+  { 0x000A31, 0x000A31 },                                            /* 0A31 */
+  { 0x000A34, 0x000A34 },                                            /* 0A34 */
+  { 0x000A37, 0x000A37 },                                            /* 0A37 */
   { 0x000A3A, 0x000A3B },                                       /* 0A3A-0A3B */
-  { 0x000A3D           },                                            /* 0A3D */
+  { 0x000A3D, 0x000A3D },                                            /* 0A3D */
   { 0x000A43, 0x000A46 },                                       /* 0A43-0A46 */
   { 0x000A49, 0x000A4A },                                       /* 0A49-0A4A */
   { 0x000A4E, 0x000A58 },                                       /* 0A4E-0A58 */
-  { 0x000A5D           },                                            /* 0A5D */
+  { 0x000A5D, 0x000A5D },                                            /* 0A5D */
   { 0x000A5F, 0x000A65 },                                       /* 0A5F-0A65 */
   { 0x000A75, 0x000A80 },                                       /* 0A75-0A80 */
-  { 0x000A84           },                                            /* 0A84 */
-  { 0x000A8C           },                                            /* 0A8C */
-  { 0x000A8E           },                                            /* 0A8E */
-  { 0x000A92           },                                            /* 0A92 */
-  { 0x000AA9           },                                            /* 0AA9 */
-  { 0x000AB1           },                                            /* 0AB1 */
-  { 0x000AB4           },                                            /* 0AB4 */
+  { 0x000A84, 0x000A84 },                                            /* 0A84 */
+  { 0x000A8C, 0x000A8C },                                            /* 0A8C */
+  { 0x000A8E, 0x000A8E },                                            /* 0A8E */
+  { 0x000A92, 0x000A92 },                                            /* 0A92 */
+  { 0x000AA9, 0x000AA9 },                                            /* 0AA9 */
+  { 0x000AB1, 0x000AB1 },                                            /* 0AB1 */
+  { 0x000AB4, 0x000AB4 },                                            /* 0AB4 */
   { 0x000ABA, 0x000ABB },                                       /* 0ABA-0ABB */
-  { 0x000AC6           },                                            /* 0AC6 */
-  { 0x000ACA           },                                            /* 0ACA */
+  { 0x000AC6, 0x000AC6 },                                            /* 0AC6 */
+  { 0x000ACA, 0x000ACA },                                            /* 0ACA */
   { 0x000ACE, 0x000ACF },                                       /* 0ACE-0ACF */
   { 0x000AD1, 0x000ADF },                                       /* 0AD1-0ADF */
   { 0x000AE1, 0x000AE5 },                                       /* 0AE1-0AE5 */
   { 0x000AF0, 0x000B00 },                                       /* 0AF0-0B00 */
-  { 0x000B04           },                                            /* 0B04 */
+  { 0x000B04, 0x000B04 },                                            /* 0B04 */
   { 0x000B0D, 0x000B0E },                                       /* 0B0D-0B0E */
   { 0x000B11, 0x000B12 },                                       /* 0B11-0B12 */
-  { 0x000B29           },                                            /* 0B29 */
-  { 0x000B31           },                                            /* 0B31 */
+  { 0x000B29, 0x000B29 },                                            /* 0B29 */
+  { 0x000B31, 0x000B31 },                                            /* 0B31 */
   { 0x000B34, 0x000B35 },                                       /* 0B34-0B35 */
   { 0x000B3A, 0x000B3B },                                       /* 0B3A-0B3B */
   { 0x000B44, 0x000B46 },                                       /* 0B44-0B46 */
   { 0x000B49, 0x000B4A },                                       /* 0B49-0B4A */
   { 0x000B4E, 0x000B55 },                                       /* 0B4E-0B55 */
   { 0x000B58, 0x000B5B },                                       /* 0B58-0B5B */
-  { 0x000B5E           },                                            /* 0B5E */
+  { 0x000B5E, 0x000B5E },                                            /* 0B5E */
   { 0x000B62, 0x000B65 },                                       /* 0B62-0B65 */
   { 0x000B71, 0x000B81 },                                       /* 0B71-0B81 */
-  { 0x000B84           },                                            /* 0B84 */
+  { 0x000B84, 0x000B84 },                                            /* 0B84 */
   { 0x000B8B, 0x000B8D },                                       /* 0B8B-0B8D */
-  { 0x000B91           },                                            /* 0B91 */
+  { 0x000B91, 0x000B91 },                                            /* 0B91 */
   { 0x000B96, 0x000B98 },                                       /* 0B96-0B98 */
-  { 0x000B9B           },                                            /* 0B9B */
-  { 0x000B9D           },                                            /* 0B9D */
+  { 0x000B9B, 0x000B9B },                                            /* 0B9B */
+  { 0x000B9D, 0x000B9D },                                            /* 0B9D */
   { 0x000BA0, 0x000BA2 },                                       /* 0BA0-0BA2 */
   { 0x000BA5, 0x000BA7 },                                       /* 0BA5-0BA7 */
   { 0x000BAB, 0x000BAD },                                       /* 0BAB-0BAD */
-  { 0x000BB6           },                                            /* 0BB6 */
+  { 0x000BB6, 0x000BB6 },                                            /* 0BB6 */
   { 0x000BBA, 0x000BBD },                                       /* 0BBA-0BBD */
   { 0x000BC3, 0x000BC5 },                                       /* 0BC3-0BC5 */
-  { 0x000BC9           },                                            /* 0BC9 */
+  { 0x000BC9, 0x000BC9 },                                            /* 0BC9 */
   { 0x000BCE, 0x000BD6 },                                       /* 0BCE-0BD6 */
   { 0x000BD8, 0x000BE6 },                                       /* 0BD8-0BE6 */
   { 0x000BF3, 0x000C00 },                                       /* 0BF3-0C00 */
-  { 0x000C04           },                                            /* 0C04 */
-  { 0x000C0D           },                                            /* 0C0D */
-  { 0x000C11           },                                            /* 0C11 */
-  { 0x000C29           },                                            /* 0C29 */
-  { 0x000C34           },                                            /* 0C34 */
+  { 0x000C04, 0x000C04 },                                            /* 0C04 */
+  { 0x000C0D, 0x000C0D },                                            /* 0C0D */
+  { 0x000C11, 0x000C11 },                                            /* 0C11 */
+  { 0x000C29, 0x000C29 },                                            /* 0C29 */
+  { 0x000C34, 0x000C34 },                                            /* 0C34 */
   { 0x000C3A, 0x000C3D },                                       /* 0C3A-0C3D */
-  { 0x000C45           },                                            /* 0C45 */
-  { 0x000C49           },                                            /* 0C49 */
+  { 0x000C45, 0x000C45 },                                            /* 0C45 */
+  { 0x000C49, 0x000C49 },                                            /* 0C49 */
   { 0x000C4E, 0x000C54 },                                       /* 0C4E-0C54 */
   { 0x000C57, 0x000C5F },                                       /* 0C57-0C5F */
   { 0x000C62, 0x000C65 },                                       /* 0C62-0C65 */
   { 0x000C70, 0x000C81 },                                       /* 0C70-0C81 */
-  { 0x000C84           },                                            /* 0C84 */
-  { 0x000C8D           },                                            /* 0C8D */
-  { 0x000C91           },                                            /* 0C91 */
-  { 0x000CA9           },                                            /* 0CA9 */
-  { 0x000CB4           },                                            /* 0CB4 */
+  { 0x000C84, 0x000C84 },                                            /* 0C84 */
+  { 0x000C8D, 0x000C8D },                                            /* 0C8D */
+  { 0x000C91, 0x000C91 },                                            /* 0C91 */
+  { 0x000CA9, 0x000CA9 },                                            /* 0CA9 */
+  { 0x000CB4, 0x000CB4 },                                            /* 0CB4 */
   { 0x000CBA, 0x000CBD },                                       /* 0CBA-0CBD */
-  { 0x000CC5           },                                            /* 0CC5 */
-  { 0x000CC9           },                                            /* 0CC9 */
+  { 0x000CC5, 0x000CC5 },                                            /* 0CC5 */
+  { 0x000CC9, 0x000CC9 },                                            /* 0CC9 */
   { 0x000CCE, 0x000CD4 },                                       /* 0CCE-0CD4 */
   { 0x000CD7, 0x000CDD },                                       /* 0CD7-0CDD */
-  { 0x000CDF           },                                            /* 0CDF */
+  { 0x000CDF, 0x000CDF },                                            /* 0CDF */
   { 0x000CE2, 0x000CE5 },                                       /* 0CE2-0CE5 */
   { 0x000CF0, 0x000D01 },                                       /* 0CF0-0D01 */
-  { 0x000D04           },                                            /* 0D04 */
-  { 0x000D0D           },                                            /* 0D0D */
-  { 0x000D11           },                                            /* 0D11 */
-  { 0x000D29           },                                            /* 0D29 */
+  { 0x000D04, 0x000D04 },                                            /* 0D04 */
+  { 0x000D0D, 0x000D0D },                                            /* 0D0D */
+  { 0x000D11, 0x000D11 },                                            /* 0D11 */
+  { 0x000D29, 0x000D29 },                                            /* 0D29 */
   { 0x000D3A, 0x000D3D },                                       /* 0D3A-0D3D */
   { 0x000D44, 0x000D45 },                                       /* 0D44-0D45 */
-  { 0x000D49           },                                            /* 0D49 */
+  { 0x000D49, 0x000D49 },                                            /* 0D49 */
   { 0x000D4E, 0x000D56 },                                       /* 0D4E-0D56 */
   { 0x000D58, 0x000D5F },                                       /* 0D58-0D5F */
   { 0x000D62, 0x000D65 },                                       /* 0D62-0D65 */
   { 0x000D70, 0x000D81 },                                       /* 0D70-0D81 */
-  { 0x000D84           },                                            /* 0D84 */
+  { 0x000D84, 0x000D84 },                                            /* 0D84 */
   { 0x000D97, 0x000D99 },                                       /* 0D97-0D99 */
-  { 0x000DB2           },                                            /* 0DB2 */
-  { 0x000DBC           },                                            /* 0DBC */
+  { 0x000DB2, 0x000DB2 },                                            /* 0DB2 */
+  { 0x000DBC, 0x000DBC },                                            /* 0DBC */
   { 0x000DBE, 0x000DBF },                                       /* 0DBE-0DBF */
   { 0x000DC7, 0x000DC9 },                                       /* 0DC7-0DC9 */
   { 0x000DCB, 0x000DCE },                                       /* 0DCB-0DCE */
-  { 0x000DD5           },                                            /* 0DD5 */
-  { 0x000DD7           },                                            /* 0DD7 */
+  { 0x000DD5, 0x000DD5 },                                            /* 0DD5 */
+  { 0x000DD7, 0x000DD7 },                                            /* 0DD7 */
   { 0x000DE0, 0x000DF1 },                                       /* 0DE0-0DF1 */
   { 0x000DF5, 0x000E00 },                                       /* 0DF5-0E00 */
   { 0x000E3B, 0x000E3E },                                       /* 0E3B-0E3E */
   { 0x000E5C, 0x000E80 },                                       /* 0E5C-0E80 */
-  { 0x000E83           },                                            /* 0E83 */
+  { 0x000E83, 0x000E83 },                                            /* 0E83 */
   { 0x000E85, 0x000E86 },                                       /* 0E85-0E86 */
-  { 0x000E89           },                                            /* 0E89 */
+  { 0x000E89, 0x000E89 },                                            /* 0E89 */
   { 0x000E8B, 0x000E8C },                                       /* 0E8B-0E8C */
   { 0x000E8E, 0x000E93 },                                       /* 0E8E-0E93 */
-  { 0x000E98           },                                            /* 0E98 */
-  { 0x000EA0           },                                            /* 0EA0 */
-  { 0x000EA4           },                                            /* 0EA4 */
-  { 0x000EA6           },                                            /* 0EA6 */
+  { 0x000E98, 0x000E98 },                                            /* 0E98 */
+  { 0x000EA0, 0x000EA0 },                                            /* 0EA0 */
+  { 0x000EA4, 0x000EA4 },                                            /* 0EA4 */
+  { 0x000EA6, 0x000EA6 },                                            /* 0EA6 */
   { 0x000EA8, 0x000EA9 },                                       /* 0EA8-0EA9 */
-  { 0x000EAC           },                                            /* 0EAC */
-  { 0x000EBA           },                                            /* 0EBA */
+  { 0x000EAC, 0x000EAC },                                            /* 0EAC */
+  { 0x000EBA, 0x000EBA },                                            /* 0EBA */
   { 0x000EBE, 0x000EBF },                                       /* 0EBE-0EBF */
-  { 0x000EC5           },                                            /* 0EC5 */
-  { 0x000EC7           },                                            /* 0EC7 */
+  { 0x000EC5, 0x000EC5 },                                            /* 0EC5 */
+  { 0x000EC7, 0x000EC7 },                                            /* 0EC7 */
   { 0x000ECE, 0x000ECF },                                       /* 0ECE-0ECF */
   { 0x000EDA, 0x000EDB },                                       /* 0EDA-0EDB */
   { 0x000EDE, 0x000EFF },                                       /* 0EDE-0EFF */
-  { 0x000F48           },                                            /* 0F48 */
+  { 0x000F48, 0x000F48 },                                            /* 0F48 */
   { 0x000F6B, 0x000F70 },                                       /* 0F6B-0F70 */
   { 0x000F8C, 0x000F8F },                                       /* 0F8C-0F8F */
-  { 0x000F98           },                                            /* 0F98 */
-  { 0x000FBD           },                                            /* 0FBD */
+  { 0x000F98, 0x000F98 },                                            /* 0F98 */
+  { 0x000FBD, 0x000FBD },                                            /* 0FBD */
   { 0x000FCD, 0x000FCE },                                       /* 0FCD-0FCE */
   { 0x000FD0, 0x000FFF },                                       /* 0FD0-0FFF */
-  { 0x001022           },                                            /* 1022 */
-  { 0x001028           },                                            /* 1028 */
-  { 0x00102B           },                                            /* 102B */
+  { 0x001022, 0x001022 },                                            /* 1022 */
+  { 0x001028, 0x001028 },                                            /* 1028 */
+  { 0x00102B, 0x00102B },                                            /* 102B */
   { 0x001033, 0x001035 },                                       /* 1033-1035 */
   { 0x00103A, 0x00103F },                                       /* 103A-103F */
   { 0x00105A, 0x00109F },                                       /* 105A-109F */
@@ -215,46 +215,46 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x00115A, 0x00115E },                                       /* 115A-115E */
   { 0x0011A3, 0x0011A7 },                                       /* 11A3-11A7 */
   { 0x0011FA, 0x0011FF },                                       /* 11FA-11FF */
-  { 0x001207           },                                            /* 1207 */
-  { 0x001247           },                                            /* 1247 */
-  { 0x001249           },                                            /* 1249 */
+  { 0x001207, 0x001207 },                                            /* 1207 */
+  { 0x001247, 0x001247 },                                            /* 1247 */
+  { 0x001249, 0x001249 },                                            /* 1249 */
   { 0x00124E, 0x00124F },                                       /* 124E-124F */
-  { 0x001257           },                                            /* 1257 */
-  { 0x001259           },                                            /* 1259 */
+  { 0x001257, 0x001257 },                                            /* 1257 */
+  { 0x001259, 0x001259 },                                            /* 1259 */
   { 0x00125E, 0x00125F },                                       /* 125E-125F */
-  { 0x001287           },                                            /* 1287 */
-  { 0x001289           },                                            /* 1289 */
+  { 0x001287, 0x001287 },                                            /* 1287 */
+  { 0x001289, 0x001289 },                                            /* 1289 */
   { 0x00128E, 0x00128F },                                       /* 128E-128F */
-  { 0x0012AF           },                                            /* 12AF */
-  { 0x0012B1           },                                            /* 12B1 */
+  { 0x0012AF, 0x0012AF },                                            /* 12AF */
+  { 0x0012B1, 0x0012B1 },                                            /* 12B1 */
   { 0x0012B6, 0x0012B7 },                                       /* 12B6-12B7 */
-  { 0x0012BF           },                                            /* 12BF */
-  { 0x0012C1           },                                            /* 12C1 */
+  { 0x0012BF, 0x0012BF },                                            /* 12BF */
+  { 0x0012C1, 0x0012C1 },                                            /* 12C1 */
   { 0x0012C6, 0x0012C7 },                                       /* 12C6-12C7 */
-  { 0x0012CF           },                                            /* 12CF */
-  { 0x0012D7           },                                            /* 12D7 */
-  { 0x0012EF           },                                            /* 12EF */
-  { 0x00130F           },                                            /* 130F */
-  { 0x001311           },                                            /* 1311 */
+  { 0x0012CF, 0x0012CF },                                            /* 12CF */
+  { 0x0012D7, 0x0012D7 },                                            /* 12D7 */
+  { 0x0012EF, 0x0012EF },                                            /* 12EF */
+  { 0x00130F, 0x00130F },                                            /* 130F */
+  { 0x001311, 0x001311 },                                            /* 1311 */
   { 0x001316, 0x001317 },                                       /* 1316-1317 */
-  { 0x00131F           },                                            /* 131F */
-  { 0x001347           },                                            /* 1347 */
+  { 0x00131F, 0x00131F },                                            /* 131F */
+  { 0x001347, 0x001347 },                                            /* 1347 */
   { 0x00135B, 0x001360 },                                       /* 135B-1360 */
   { 0x00137D, 0x00139F },                                       /* 137D-139F */
   { 0x0013F5, 0x001400 },                                       /* 13F5-1400 */
   { 0x001677, 0x00167F },                                       /* 1677-167F */
   { 0x00169D, 0x00169F },                                       /* 169D-169F */
   { 0x0016F1, 0x0016FF },                                       /* 16F1-16FF */
-  { 0x00170D           },                                            /* 170D */
+  { 0x00170D, 0x00170D },                                            /* 170D */
   { 0x001715, 0x00171F },                                       /* 1715-171F */
   { 0x001737, 0x00173F },                                       /* 1737-173F */
   { 0x001754, 0x00175F },                                       /* 1754-175F */
-  { 0x00176D           },                                            /* 176D */
-  { 0x001771           },                                            /* 1771 */
+  { 0x00176D, 0x00176D },                                            /* 176D */
+  { 0x001771, 0x001771 },                                            /* 1771 */
   { 0x001774, 0x00177F },                                       /* 1774-177F */
   { 0x0017DD, 0x0017DF },                                       /* 17DD-17DF */
   { 0x0017EA, 0x0017FF },                                       /* 17EA-17FF */
-  { 0x00180F           },                                            /* 180F */
+  { 0x00180F, 0x00180F },                                            /* 180F */
   { 0x00181A, 0x00181F },                                       /* 181A-181F */
   { 0x001878, 0x00187F },                                       /* 1878-187F */
   { 0x0018AA, 0x001DFF },                                       /* 18AA-1DFF */
@@ -264,18 +264,18 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x001F1E, 0x001F1F },                                       /* 1F1E-1F1F */
   { 0x001F46, 0x001F47 },                                       /* 1F46-1F47 */
   { 0x001F4E, 0x001F4F },                                       /* 1F4E-1F4F */
-  { 0x001F58           },                                            /* 1F58 */
-  { 0x001F5A           },                                            /* 1F5A */
-  { 0x001F5C           },                                            /* 1F5C */
-  { 0x001F5E           },                                            /* 1F5E */
+  { 0x001F58, 0x001F58 },                                            /* 1F58 */
+  { 0x001F5A, 0x001F5A },                                            /* 1F5A */
+  { 0x001F5C, 0x001F5C },                                            /* 1F5C */
+  { 0x001F5E, 0x001F5E },                                            /* 1F5E */
   { 0x001F7E, 0x001F7F },                                       /* 1F7E-1F7F */
-  { 0x001FB5           },                                            /* 1FB5 */
-  { 0x001FC5           },                                            /* 1FC5 */
+  { 0x001FB5, 0x001FB5 },                                            /* 1FB5 */
+  { 0x001FC5, 0x001FC5 },                                            /* 1FC5 */
   { 0x001FD4, 0x001FD5 },                                       /* 1FD4-1FD5 */
-  { 0x001FDC           },                                            /* 1FDC */
+  { 0x001FDC, 0x001FDC },                                            /* 1FDC */
   { 0x001FF0, 0x001FF1 },                                       /* 1FF0-1FF1 */
-  { 0x001FF5           },                                            /* 1FF5 */
-  { 0x001FFF           },                                            /* 1FFF */
+  { 0x001FF5, 0x001FF5 },                                            /* 1FF5 */
+  { 0x001FFF, 0x001FFF },                                            /* 1FFF */
   { 0x002053, 0x002056 },                                       /* 2053-2056 */
   { 0x002058, 0x00205E },                                       /* 2058-205E */
   { 0x002064, 0x002069 },                                       /* 2064-2069 */
@@ -289,42 +289,42 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x0023CF, 0x0023FF },                                       /* 23CF-23FF */
   { 0x002427, 0x00243F },                                       /* 2427-243F */
   { 0x00244B, 0x00245F },                                       /* 244B-245F */
-  { 0x0024FF           },                                            /* 24FF */
+  { 0x0024FF, 0x0024FF },                                            /* 24FF */
   { 0x002614, 0x002615 },                                       /* 2614-2615 */
-  { 0x002618           },                                            /* 2618 */
+  { 0x002618, 0x002618 },                                            /* 2618 */
   { 0x00267E, 0x00267F },                                       /* 267E-267F */
   { 0x00268A, 0x002700 },                                       /* 268A-2700 */
-  { 0x002705           },                                            /* 2705 */
+  { 0x002705, 0x002705 },                                            /* 2705 */
   { 0x00270A, 0x00270B },                                       /* 270A-270B */
-  { 0x002728           },                                            /* 2728 */
-  { 0x00274C           },                                            /* 274C */
-  { 0x00274E           },                                            /* 274E */
+  { 0x002728, 0x002728 },                                            /* 2728 */
+  { 0x00274C, 0x00274C },                                            /* 274C */
+  { 0x00274E, 0x00274E },                                            /* 274E */
   { 0x002753, 0x002755 },                                       /* 2753-2755 */
-  { 0x002757           },                                            /* 2757 */
+  { 0x002757, 0x002757 },                                            /* 2757 */
   { 0x00275F, 0x002760 },                                       /* 275F-2760 */
   { 0x002795, 0x002797 },                                       /* 2795-2797 */
-  { 0x0027B0           },                                            /* 27B0 */
+  { 0x0027B0, 0x0027B0 },                                            /* 27B0 */
   { 0x0027BF, 0x0027CF },                                       /* 27BF-27CF */
   { 0x0027EC, 0x0027EF },                                       /* 27EC-27EF */
   { 0x002B00, 0x002E7F },                                       /* 2B00-2E7F */
-  { 0x002E9A           },                                            /* 2E9A */
+  { 0x002E9A, 0x002E9A },                                            /* 2E9A */
   { 0x002EF4, 0x002EFF },                                       /* 2EF4-2EFF */
   { 0x002FD6, 0x002FEF },                                       /* 2FD6-2FEF */
   { 0x002FFC, 0x002FFF },                                       /* 2FFC-2FFF */
-  { 0x003040           },                                            /* 3040 */
+  { 0x003040, 0x003040 },                                            /* 3040 */
   { 0x003097, 0x003098 },                                       /* 3097-3098 */
   { 0x003100, 0x003104 },                                       /* 3100-3104 */
   { 0x00312D, 0x003130 },                                       /* 312D-3130 */
-  { 0x00318F           },                                            /* 318F */
+  { 0x00318F, 0x00318F },                                            /* 318F */
   { 0x0031B8, 0x0031EF },                                       /* 31B8-31EF */
   { 0x00321D, 0x00321F },                                       /* 321D-321F */
   { 0x003244, 0x003250 },                                       /* 3244-3250 */
   { 0x00327C, 0x00327E },                                       /* 327C-327E */
   { 0x0032CC, 0x0032CF },                                       /* 32CC-32CF */
-  { 0x0032FF           },                                            /* 32FF */
+  { 0x0032FF, 0x0032FF },                                            /* 32FF */
   { 0x003377, 0x00337A },                                       /* 3377-337A */
   { 0x0033DE, 0x0033DF },                                       /* 33DE-33DF */
-  { 0x0033FF           },                                            /* 33FF */
+  { 0x0033FF, 0x0033FF },                                            /* 33FF */
   { 0x004DB6, 0x004DFF },                                       /* 4DB6-4DFF */
   { 0x009FA6, 0x009FFF },                                       /* 9FA6-9FFF */
   { 0x00A48D, 0x00A48F },                                       /* A48D-A48F */
@@ -334,11 +334,11 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x00FA6B, 0x00FAFF },                                       /* FA6B-FAFF */
   { 0x00FB07, 0x00FB12 },                                       /* FB07-FB12 */
   { 0x00FB18, 0x00FB1C },                                       /* FB18-FB1C */
-  { 0x00FB37           },                                            /* FB37 */
-  { 0x00FB3D           },                                            /* FB3D */
-  { 0x00FB3F           },                                            /* FB3F */
-  { 0x00FB42           },                                            /* FB42 */
-  { 0x00FB45           },                                            /* FB45 */
+  { 0x00FB37, 0x00FB37 },                                            /* FB37 */
+  { 0x00FB3D, 0x00FB3D },                                            /* FB3D */
+  { 0x00FB3F, 0x00FB3F },                                            /* FB3F */
+  { 0x00FB42, 0x00FB42 },                                            /* FB42 */
+  { 0x00FB45, 0x00FB45 },                                            /* FB45 */
   { 0x00FBB2, 0x00FBD2 },                                       /* FBB2-FBD2 */
   { 0x00FD40, 0x00FD4F },                                       /* FD40-FD4F */
   { 0x00FD90, 0x00FD91 },                                       /* FD90-FD91 */
@@ -347,21 +347,21 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x00FE10, 0x00FE1F },                                       /* FE10-FE1F */
   { 0x00FE24, 0x00FE2F },                                       /* FE24-FE2F */
   { 0x00FE47, 0x00FE48 },                                       /* FE47-FE48 */
-  { 0x00FE53           },                                            /* FE53 */
-  { 0x00FE67           },                                            /* FE67 */
+  { 0x00FE53, 0x00FE53 },                                            /* FE53 */
+  { 0x00FE67, 0x00FE67 },                                            /* FE67 */
   { 0x00FE6C, 0x00FE6F },                                       /* FE6C-FE6F */
-  { 0x00FE75           },                                            /* FE75 */
+  { 0x00FE75, 0x00FE75 },                                            /* FE75 */
   { 0x00FEFD, 0x00FEFE },                                       /* FEFD-FEFE */
-  { 0x00FF00           },                                            /* FF00 */
+  { 0x00FF00, 0x00FF00 },                                            /* FF00 */
   { 0x00FFBF, 0x00FFC1 },                                       /* FFBF-FFC1 */
   { 0x00FFC8, 0x00FFC9 },                                       /* FFC8-FFC9 */
   { 0x00FFD0, 0x00FFD1 },                                       /* FFD0-FFD1 */
   { 0x00FFD8, 0x00FFD9 },                                       /* FFD8-FFD9 */
   { 0x00FFDD, 0x00FFDF },                                       /* FFDD-FFDF */
-  { 0x00FFE7           },                                            /* FFE7 */
+  { 0x00FFE7, 0x00FFE7 },                                            /* FFE7 */
   { 0x00FFEF, 0x00FFF8 },                                       /* FFEF-FFF8 */
   { 0x010000, 0x0102FF },                                     /* 10000-102FF */
-  { 0x01031F           },                                           /* 1031F */
+  { 0x01031F, 0x01031F },                                           /* 1031F */
   { 0x010324, 0x01032F },                                     /* 10324-1032F */
   { 0x01034B, 0x0103FF },                                     /* 1034B-103FF */
   { 0x010426, 0x010427 },                                     /* 10426-10427 */
@@ -369,25 +369,25 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x01D0F6, 0x01D0FF },                                     /* 1D0F6-1D0FF */
   { 0x01D127, 0x01D129 },                                     /* 1D127-1D129 */
   { 0x01D1DE, 0x01D3FF },                                     /* 1D1DE-1D3FF */
-  { 0x01D455           },                                           /* 1D455 */
-  { 0x01D49D           },                                           /* 1D49D */
+  { 0x01D455, 0x01D455 },                                           /* 1D455 */
+  { 0x01D49D, 0x01D49D },                                           /* 1D49D */
   { 0x01D4A0, 0x01D4A1 },                                     /* 1D4A0-1D4A1 */
   { 0x01D4A3, 0x01D4A4 },                                     /* 1D4A3-1D4A4 */
   { 0x01D4A7, 0x01D4A8 },                                     /* 1D4A7-1D4A8 */
-  { 0x01D4AD           },                                           /* 1D4AD */
-  { 0x01D4BA           },                                           /* 1D4BA */
-  { 0x01D4BC           },                                           /* 1D4BC */
-  { 0x01D4C1           },                                           /* 1D4C1 */
-  { 0x01D4C4           },                                           /* 1D4C4 */
-  { 0x01D506           },                                           /* 1D506 */
+  { 0x01D4AD, 0x01D4AD },                                           /* 1D4AD */
+  { 0x01D4BA, 0x01D4BA },                                           /* 1D4BA */
+  { 0x01D4BC, 0x01D4BC },                                           /* 1D4BC */
+  { 0x01D4C1, 0x01D4C1 },                                           /* 1D4C1 */
+  { 0x01D4C4, 0x01D4C4 },                                           /* 1D4C4 */
+  { 0x01D506, 0x01D506 },                                           /* 1D506 */
   { 0x01D50B, 0x01D50C },                                     /* 1D50B-1D50C */
-  { 0x01D515           },                                           /* 1D515 */
-  { 0x01D51D           },                                           /* 1D51D */
-  { 0x01D53A           },                                           /* 1D53A */
-  { 0x01D53F           },                                           /* 1D53F */
-  { 0x01D545           },                                           /* 1D545 */
+  { 0x01D515, 0x01D515 },                                           /* 1D515 */
+  { 0x01D51D, 0x01D51D },                                           /* 1D51D */
+  { 0x01D53A, 0x01D53A },                                           /* 1D53A */
+  { 0x01D53F, 0x01D53F },                                           /* 1D53F */
+  { 0x01D545, 0x01D545 },                                           /* 1D545 */
   { 0x01D547, 0x01D549 },                                     /* 1D547-1D549 */
-  { 0x01D551           },                                           /* 1D551 */
+  { 0x01D551, 0x01D551 },                                           /* 1D551 */
   { 0x01D6A4, 0x01D6A7 },                                     /* 1D6A4-1D6A7 */
   { 0x01D7CA, 0x01D7CD },                                     /* 1D7CA-1D7CD */
   { 0x01D800, 0x01FFFD },                                     /* 1D800-1FFFD */
@@ -404,7 +404,7 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
   { 0x0B0000, 0x0BFFFD },                                     /* B0000-BFFFD */
   { 0x0C0000, 0x0CFFFD },                                     /* C0000-CFFFD */
   { 0x0D0000, 0x0DFFFD },                                     /* D0000-DFFFD */
-  { 0x0E0000           },                                           /* E0000 */
+  { 0x0E0000, 0x0E0000 },                                           /* E0000 */
   { 0x0E0002, 0x0E001F },                                     /* E0002-E001F */
   { 0x0E0080, 0x0EFFFD },                                     /* E0080-EFFFD */
   { 0 },
@@ -417,33 +417,33 @@ const Stringprep_table_element stringprep_rfc3454_A_1[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_B_1[] = {
-  { 0x0000AD           },                          /* 00AD; ; Map to nothing */
-  { 0x00034F           },                          /* 034F; ; Map to nothing */
-  { 0x001806           },                          /* 1806; ; Map to nothing */
-  { 0x00180B           },                          /* 180B; ; Map to nothing */
-  { 0x00180C           },                          /* 180C; ; Map to nothing */
-  { 0x00180D           },                          /* 180D; ; Map to nothing */
-  { 0x00200B           },                          /* 200B; ; Map to nothing */
-  { 0x00200C           },                          /* 200C; ; Map to nothing */
-  { 0x00200D           },                          /* 200D; ; Map to nothing */
-  { 0x002060           },                          /* 2060; ; Map to nothing */
-  { 0x00FE00           },                          /* FE00; ; Map to nothing */
-  { 0x00FE01           },                          /* FE01; ; Map to nothing */
-  { 0x00FE02           },                          /* FE02; ; Map to nothing */
-  { 0x00FE03           },                          /* FE03; ; Map to nothing */
-  { 0x00FE04           },                          /* FE04; ; Map to nothing */
-  { 0x00FE05           },                          /* FE05; ; Map to nothing */
-  { 0x00FE06           },                          /* FE06; ; Map to nothing */
-  { 0x00FE07           },                          /* FE07; ; Map to nothing */
-  { 0x00FE08           },                          /* FE08; ; Map to nothing */
-  { 0x00FE09           },                          /* FE09; ; Map to nothing */
-  { 0x00FE0A           },                          /* FE0A; ; Map to nothing */
-  { 0x00FE0B           },                          /* FE0B; ; Map to nothing */
-  { 0x00FE0C           },                          /* FE0C; ; Map to nothing */
-  { 0x00FE0D           },                          /* FE0D; ; Map to nothing */
-  { 0x00FE0E           },                          /* FE0E; ; Map to nothing */
-  { 0x00FE0F           },                          /* FE0F; ; Map to nothing */
-  { 0x00FEFF           },                          /* FEFF; ; Map to nothing */
+  { 0x0000AD, 0x0000AD },                          /* 00AD; ; Map to nothing */
+  { 0x00034F, 0x00034F },                          /* 034F; ; Map to nothing */
+  { 0x001806, 0x001806 },                          /* 1806; ; Map to nothing */
+  { 0x00180B, 0x00180B },                          /* 180B; ; Map to nothing */
+  { 0x00180C, 0x00180C },                          /* 180C; ; Map to nothing */
+  { 0x00180D, 0x00180D },                          /* 180D; ; Map to nothing */
+  { 0x00200B, 0x00200B },                          /* 200B; ; Map to nothing */
+  { 0x00200C, 0x00200C },                          /* 200C; ; Map to nothing */
+  { 0x00200D, 0x00200D },                          /* 200D; ; Map to nothing */
+  { 0x002060, 0x002060 },                          /* 2060; ; Map to nothing */
+  { 0x00FE00, 0x00FE00 },                          /* FE00; ; Map to nothing */
+  { 0x00FE01, 0x00FE01 },                          /* FE01; ; Map to nothing */
+  { 0x00FE02, 0x00FE02 },                          /* FE02; ; Map to nothing */
+  { 0x00FE03, 0x00FE03 },                          /* FE03; ; Map to nothing */
+  { 0x00FE04, 0x00FE04 },                          /* FE04; ; Map to nothing */
+  { 0x00FE05, 0x00FE05 },                          /* FE05; ; Map to nothing */
+  { 0x00FE06, 0x00FE06 },                          /* FE06; ; Map to nothing */
+  { 0x00FE07, 0x00FE07 },                          /* FE07; ; Map to nothing */
+  { 0x00FE08, 0x00FE08 },                          /* FE08; ; Map to nothing */
+  { 0x00FE09, 0x00FE09 },                          /* FE09; ; Map to nothing */
+  { 0x00FE0A, 0x00FE0A },                          /* FE0A; ; Map to nothing */
+  { 0x00FE0B, 0x00FE0B },                          /* FE0B; ; Map to nothing */
+  { 0x00FE0C, 0x00FE0C },                          /* FE0C; ; Map to nothing */
+  { 0x00FE0D, 0x00FE0D },                          /* FE0D; ; Map to nothing */
+  { 0x00FE0E, 0x00FE0E },                          /* FE0E; ; Map to nothing */
+  { 0x00FE0F, 0x00FE0F },                          /* FE0F; ; Map to nothing */
+  { 0x00FEFF, 0x00FEFF },                          /* FEFF; ; Map to nothing */
   { 0 },
 };
 
@@ -454,1538 +454,1538 @@ const Stringprep_table_element stringprep_rfc3454_B_1[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_B_2[] = {
-  { 0x000041, 0, { 0x000061 }},                      /* 0041; 0061; Case map */
-  { 0x000042, 0, { 0x000062 }},                      /* 0042; 0062; Case map */
-  { 0x000043, 0, { 0x000063 }},                      /* 0043; 0063; Case map */
-  { 0x000044, 0, { 0x000064 }},                      /* 0044; 0064; Case map */
-  { 0x000045, 0, { 0x000065 }},                      /* 0045; 0065; Case map */
-  { 0x000046, 0, { 0x000066 }},                      /* 0046; 0066; Case map */
-  { 0x000047, 0, { 0x000067 }},                      /* 0047; 0067; Case map */
-  { 0x000048, 0, { 0x000068 }},                      /* 0048; 0068; Case map */
-  { 0x000049, 0, { 0x000069 }},                      /* 0049; 0069; Case map */
-  { 0x00004A, 0, { 0x00006A }},                      /* 004A; 006A; Case map */
-  { 0x00004B, 0, { 0x00006B }},                      /* 004B; 006B; Case map */
-  { 0x00004C, 0, { 0x00006C }},                      /* 004C; 006C; Case map */
-  { 0x00004D, 0, { 0x00006D }},                      /* 004D; 006D; Case map */
-  { 0x00004E, 0, { 0x00006E }},                      /* 004E; 006E; Case map */
-  { 0x00004F, 0, { 0x00006F }},                      /* 004F; 006F; Case map */
-  { 0x000050, 0, { 0x000070 }},                      /* 0050; 0070; Case map */
-  { 0x000051, 0, { 0x000071 }},                      /* 0051; 0071; Case map */
-  { 0x000052, 0, { 0x000072 }},                      /* 0052; 0072; Case map */
-  { 0x000053, 0, { 0x000073 }},                      /* 0053; 0073; Case map */
-  { 0x000054, 0, { 0x000074 }},                      /* 0054; 0074; Case map */
-  { 0x000055, 0, { 0x000075 }},                      /* 0055; 0075; Case map */
-  { 0x000056, 0, { 0x000076 }},                      /* 0056; 0076; Case map */
-  { 0x000057, 0, { 0x000077 }},                      /* 0057; 0077; Case map */
-  { 0x000058, 0, { 0x000078 }},                      /* 0058; 0078; Case map */
-  { 0x000059, 0, { 0x000079 }},                      /* 0059; 0079; Case map */
-  { 0x00005A, 0, { 0x00007A }},                      /* 005A; 007A; Case map */
-  { 0x0000B5, 0, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
-  { 0x0000C0, 0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
-  { 0x0000C1, 0, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
-  { 0x0000C2, 0, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
-  { 0x0000C3, 0, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
-  { 0x0000C4, 0, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
-  { 0x0000C5, 0, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
-  { 0x0000C6, 0, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
-  { 0x0000C7, 0, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
-  { 0x0000C8, 0, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
-  { 0x0000C9, 0, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
-  { 0x0000CA, 0, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
-  { 0x0000CB, 0, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
-  { 0x0000CC, 0, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
-  { 0x0000CD, 0, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
-  { 0x0000CE, 0, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
-  { 0x0000CF, 0, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
-  { 0x0000D0, 0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
-  { 0x0000D1, 0, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
-  { 0x0000D2, 0, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
-  { 0x0000D3, 0, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
-  { 0x0000D4, 0, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
-  { 0x0000D5, 0, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
-  { 0x0000D6, 0, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
-  { 0x0000D8, 0, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
-  { 0x0000D9, 0, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
-  { 0x0000DA, 0, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
-  { 0x0000DB, 0, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
-  { 0x0000DC, 0, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
-  { 0x0000DD, 0, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
-  { 0x0000DE, 0, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
-  { 0x0000DF, 0, { 0x000073,                    /* 00DF; 0073 0073; Case map */
+  { 0x000041, 0x000041, { 0x000061 }},                      /* 0041; 0061; Case map */
+  { 0x000042, 0x000042, { 0x000062 }},                      /* 0042; 0062; Case map */
+  { 0x000043, 0x000043, { 0x000063 }},                      /* 0043; 0063; Case map */
+  { 0x000044, 0x000044, { 0x000064 }},                      /* 0044; 0064; Case map */
+  { 0x000045, 0x000045, { 0x000065 }},                      /* 0045; 0065; Case map */
+  { 0x000046, 0x000046, { 0x000066 }},                      /* 0046; 0066; Case map */
+  { 0x000047, 0x000047, { 0x000067 }},                      /* 0047; 0067; Case map */
+  { 0x000048, 0x000048, { 0x000068 }},                      /* 0048; 0068; Case map */
+  { 0x000049, 0x000049, { 0x000069 }},                      /* 0049; 0069; Case map */
+  { 0x00004A, 0x00004A, { 0x00006A }},                      /* 004A; 006A; Case map */
+  { 0x00004B, 0x00004B, { 0x00006B }},                      /* 004B; 006B; Case map */
+  { 0x00004C, 0x00004C, { 0x00006C }},                      /* 004C; 006C; Case map */
+  { 0x00004D, 0x00004D, { 0x00006D }},                      /* 004D; 006D; Case map */
+  { 0x00004E, 0x00004E, { 0x00006E }},                      /* 004E; 006E; Case map */
+  { 0x00004F, 0x00004F, { 0x00006F }},                      /* 004F; 006F; Case map */
+  { 0x000050, 0x000050, { 0x000070 }},                      /* 0050; 0070; Case map */
+  { 0x000051, 0x000051, { 0x000071 }},                      /* 0051; 0071; Case map */
+  { 0x000052, 0x000052, { 0x000072 }},                      /* 0052; 0072; Case map */
+  { 0x000053, 0x000053, { 0x000073 }},                      /* 0053; 0073; Case map */
+  { 0x000054, 0x000054, { 0x000074 }},                      /* 0054; 0074; Case map */
+  { 0x000055, 0x000055, { 0x000075 }},                      /* 0055; 0075; Case map */
+  { 0x000056, 0x000056, { 0x000076 }},                      /* 0056; 0076; Case map */
+  { 0x000057, 0x000057, { 0x000077 }},                      /* 0057; 0077; Case map */
+  { 0x000058, 0x000058, { 0x000078 }},                      /* 0058; 0078; Case map */
+  { 0x000059, 0x000059, { 0x000079 }},                      /* 0059; 0079; Case map */
+  { 0x00005A, 0x00005A, { 0x00007A }},                      /* 005A; 007A; Case map */
+  { 0x0000B5, 0x0000B5, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
+  { 0x0000C0, 0x0000C0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
+  { 0x0000C1, 0x0000C1, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
+  { 0x0000C2, 0x0000C2, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
+  { 0x0000C3, 0x0000C3, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
+  { 0x0000C4, 0x0000C4, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
+  { 0x0000C5, 0x0000C5, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
+  { 0x0000C6, 0x0000C6, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
+  { 0x0000C7, 0x0000C7, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
+  { 0x0000C8, 0x0000C8, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
+  { 0x0000C9, 0x0000C9, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
+  { 0x0000CA, 0x0000CA, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
+  { 0x0000CB, 0x0000CB, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
+  { 0x0000CC, 0x0000CC, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
+  { 0x0000CD, 0x0000CD, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
+  { 0x0000CE, 0x0000CE, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
+  { 0x0000CF, 0x0000CF, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
+  { 0x0000D0, 0x0000D0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
+  { 0x0000D1, 0x0000D1, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
+  { 0x0000D2, 0x0000D2, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
+  { 0x0000D3, 0x0000D3, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
+  { 0x0000D4, 0x0000D4, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
+  { 0x0000D5, 0x0000D5, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
+  { 0x0000D6, 0x0000D6, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
+  { 0x0000D8, 0x0000D8, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
+  { 0x0000D9, 0x0000D9, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
+  { 0x0000DA, 0x0000DA, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
+  { 0x0000DB, 0x0000DB, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
+  { 0x0000DC, 0x0000DC, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
+  { 0x0000DD, 0x0000DD, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
+  { 0x0000DE, 0x0000DE, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
+  { 0x0000DF, 0x0000DF, { 0x000073,                    /* 00DF; 0073 0073; Case map */
                    0x000073 }},
-  { 0x000100, 0, { 0x000101 }},                      /* 0100; 0101; Case map */
-  { 0x000102, 0, { 0x000103 }},                      /* 0102; 0103; Case map */
-  { 0x000104, 0, { 0x000105 }},                      /* 0104; 0105; Case map */
-  { 0x000106, 0, { 0x000107 }},                      /* 0106; 0107; Case map */
-  { 0x000108, 0, { 0x000109 }},                      /* 0108; 0109; Case map */
-  { 0x00010A, 0, { 0x00010B }},                      /* 010A; 010B; Case map */
-  { 0x00010C, 0, { 0x00010D }},                      /* 010C; 010D; Case map */
-  { 0x00010E, 0, { 0x00010F }},                      /* 010E; 010F; Case map */
-  { 0x000110, 0, { 0x000111 }},                      /* 0110; 0111; Case map */
-  { 0x000112, 0, { 0x000113 }},                      /* 0112; 0113; Case map */
-  { 0x000114, 0, { 0x000115 }},                      /* 0114; 0115; Case map */
-  { 0x000116, 0, { 0x000117 }},                      /* 0116; 0117; Case map */
-  { 0x000118, 0, { 0x000119 }},                      /* 0118; 0119; Case map */
-  { 0x00011A, 0, { 0x00011B }},                      /* 011A; 011B; Case map */
-  { 0x00011C, 0, { 0x00011D }},                      /* 011C; 011D; Case map */
-  { 0x00011E, 0, { 0x00011F }},                      /* 011E; 011F; Case map */
-  { 0x000120, 0, { 0x000121 }},                      /* 0120; 0121; Case map */
-  { 0x000122, 0, { 0x000123 }},                      /* 0122; 0123; Case map */
-  { 0x000124, 0, { 0x000125 }},                      /* 0124; 0125; Case map */
-  { 0x000126, 0, { 0x000127 }},                      /* 0126; 0127; Case map */
-  { 0x000128, 0, { 0x000129 }},                      /* 0128; 0129; Case map */
-  { 0x00012A, 0, { 0x00012B }},                      /* 012A; 012B; Case map */
-  { 0x00012C, 0, { 0x00012D }},                      /* 012C; 012D; Case map */
-  { 0x00012E, 0, { 0x00012F }},                      /* 012E; 012F; Case map */
-  { 0x000130, 0, { 0x000069,                    /* 0130; 0069 0307; Case map */
+  { 0x000100, 0x000100, { 0x000101 }},                      /* 0100; 0101; Case map */
+  { 0x000102, 0x000102, { 0x000103 }},                      /* 0102; 0103; Case map */
+  { 0x000104, 0x000104, { 0x000105 }},                      /* 0104; 0105; Case map */
+  { 0x000106, 0x000106, { 0x000107 }},                      /* 0106; 0107; Case map */
+  { 0x000108, 0x000108, { 0x000109 }},                      /* 0108; 0109; Case map */
+  { 0x00010A, 0x00010A, { 0x00010B }},                      /* 010A; 010B; Case map */
+  { 0x00010C, 0x00010C, { 0x00010D }},                      /* 010C; 010D; Case map */
+  { 0x00010E, 0x00010E, { 0x00010F }},                      /* 010E; 010F; Case map */
+  { 0x000110, 0x000110, { 0x000111 }},                      /* 0110; 0111; Case map */
+  { 0x000112, 0x000112, { 0x000113 }},                      /* 0112; 0113; Case map */
+  { 0x000114, 0x000114, { 0x000115 }},                      /* 0114; 0115; Case map */
+  { 0x000116, 0x000116, { 0x000117 }},                      /* 0116; 0117; Case map */
+  { 0x000118, 0x000118, { 0x000119 }},                      /* 0118; 0119; Case map */
+  { 0x00011A, 0x00011A, { 0x00011B }},                      /* 011A; 011B; Case map */
+  { 0x00011C, 0x00011C, { 0x00011D }},                      /* 011C; 011D; Case map */
+  { 0x00011E, 0x00011E, { 0x00011F }},                      /* 011E; 011F; Case map */
+  { 0x000120, 0x000120, { 0x000121 }},                      /* 0120; 0121; Case map */
+  { 0x000122, 0x000122, { 0x000123 }},                      /* 0122; 0123; Case map */
+  { 0x000124, 0x000124, { 0x000125 }},                      /* 0124; 0125; Case map */
+  { 0x000126, 0x000126, { 0x000127 }},                      /* 0126; 0127; Case map */
+  { 0x000128, 0x000128, { 0x000129 }},                      /* 0128; 0129; Case map */
+  { 0x00012A, 0x00012A, { 0x00012B }},                      /* 012A; 012B; Case map */
+  { 0x00012C, 0x00012C, { 0x00012D }},                      /* 012C; 012D; Case map */
+  { 0x00012E, 0x00012E, { 0x00012F }},                      /* 012E; 012F; Case map */
+  { 0x000130, 0x000130, { 0x000069,                    /* 0130; 0069 0307; Case map */
                    0x000307 }},
-  { 0x000132, 0, { 0x000133 }},                      /* 0132; 0133; Case map */
-  { 0x000134, 0, { 0x000135 }},                      /* 0134; 0135; Case map */
-  { 0x000136, 0, { 0x000137 }},                      /* 0136; 0137; Case map */
-  { 0x000139, 0, { 0x00013A }},                      /* 0139; 013A; Case map */
-  { 0x00013B, 0, { 0x00013C }},                      /* 013B; 013C; Case map */
-  { 0x00013D, 0, { 0x00013E }},                      /* 013D; 013E; Case map */
-  { 0x00013F, 0, { 0x000140 }},                      /* 013F; 0140; Case map */
-  { 0x000141, 0, { 0x000142 }},                      /* 0141; 0142; Case map */
-  { 0x000143, 0, { 0x000144 }},                      /* 0143; 0144; Case map */
-  { 0x000145, 0, { 0x000146 }},                      /* 0145; 0146; Case map */
-  { 0x000147, 0, { 0x000148 }},                      /* 0147; 0148; Case map */
-  { 0x000149, 0, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
+  { 0x000132, 0x000132, { 0x000133 }},                      /* 0132; 0133; Case map */
+  { 0x000134, 0x000134, { 0x000135 }},                      /* 0134; 0135; Case map */
+  { 0x000136, 0x000136, { 0x000137 }},                      /* 0136; 0137; Case map */
+  { 0x000139, 0x000139, { 0x00013A }},                      /* 0139; 013A; Case map */
+  { 0x00013B, 0x00013B, { 0x00013C }},                      /* 013B; 013C; Case map */
+  { 0x00013D, 0x00013D, { 0x00013E }},                      /* 013D; 013E; Case map */
+  { 0x00013F, 0x00013F, { 0x000140 }},                      /* 013F; 0140; Case map */
+  { 0x000141, 0x000141, { 0x000142 }},                      /* 0141; 0142; Case map */
+  { 0x000143, 0x000143, { 0x000144 }},                      /* 0143; 0144; Case map */
+  { 0x000145, 0x000145, { 0x000146 }},                      /* 0145; 0146; Case map */
+  { 0x000147, 0x000147, { 0x000148 }},                      /* 0147; 0148; Case map */
+  { 0x000149, 0x000149, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
                    0x00006E }},
-  { 0x00014A, 0, { 0x00014B }},                      /* 014A; 014B; Case map */
-  { 0x00014C, 0, { 0x00014D }},                      /* 014C; 014D; Case map */
-  { 0x00014E, 0, { 0x00014F }},                      /* 014E; 014F; Case map */
-  { 0x000150, 0, { 0x000151 }},                      /* 0150; 0151; Case map */
-  { 0x000152, 0, { 0x000153 }},                      /* 0152; 0153; Case map */
-  { 0x000154, 0, { 0x000155 }},                      /* 0154; 0155; Case map */
-  { 0x000156, 0, { 0x000157 }},                      /* 0156; 0157; Case map */
-  { 0x000158, 0, { 0x000159 }},                      /* 0158; 0159; Case map */
-  { 0x00015A, 0, { 0x00015B }},                      /* 015A; 015B; Case map */
-  { 0x00015C, 0, { 0x00015D }},                      /* 015C; 015D; Case map */
-  { 0x00015E, 0, { 0x00015F }},                      /* 015E; 015F; Case map */
-  { 0x000160, 0, { 0x000161 }},                      /* 0160; 0161; Case map */
-  { 0x000162, 0, { 0x000163 }},                      /* 0162; 0163; Case map */
-  { 0x000164, 0, { 0x000165 }},                      /* 0164; 0165; Case map */
-  { 0x000166, 0, { 0x000167 }},                      /* 0166; 0167; Case map */
-  { 0x000168, 0, { 0x000169 }},                      /* 0168; 0169; Case map */
-  { 0x00016A, 0, { 0x00016B }},                      /* 016A; 016B; Case map */
-  { 0x00016C, 0, { 0x00016D }},                      /* 016C; 016D; Case map */
-  { 0x00016E, 0, { 0x00016F }},                      /* 016E; 016F; Case map */
-  { 0x000170, 0, { 0x000171 }},                      /* 0170; 0171; Case map */
-  { 0x000172, 0, { 0x000173 }},                      /* 0172; 0173; Case map */
-  { 0x000174, 0, { 0x000175 }},                      /* 0174; 0175; Case map */
-  { 0x000176, 0, { 0x000177 }},                      /* 0176; 0177; Case map */
-  { 0x000178, 0, { 0x0000FF }},                      /* 0178; 00FF; Case map */
-  { 0x000179, 0, { 0x00017A }},                      /* 0179; 017A; Case map */
-  { 0x00017B, 0, { 0x00017C }},                      /* 017B; 017C; Case map */
-  { 0x00017D, 0, { 0x00017E }},                      /* 017D; 017E; Case map */
-  { 0x00017F, 0, { 0x000073 }},                      /* 017F; 0073; Case map */
-  { 0x000181, 0, { 0x000253 }},                      /* 0181; 0253; Case map */
-  { 0x000182, 0, { 0x000183 }},                      /* 0182; 0183; Case map */
-  { 0x000184, 0, { 0x000185 }},                      /* 0184; 0185; Case map */
-  { 0x000186, 0, { 0x000254 }},                      /* 0186; 0254; Case map */
-  { 0x000187, 0, { 0x000188 }},                      /* 0187; 0188; Case map */
-  { 0x000189, 0, { 0x000256 }},                      /* 0189; 0256; Case map */
-  { 0x00018A, 0, { 0x000257 }},                      /* 018A; 0257; Case map */
-  { 0x00018B, 0, { 0x00018C }},                      /* 018B; 018C; Case map */
-  { 0x00018E, 0, { 0x0001DD }},                      /* 018E; 01DD; Case map */
-  { 0x00018F, 0, { 0x000259 }},                      /* 018F; 0259; Case map */
-  { 0x000190, 0, { 0x00025B }},                      /* 0190; 025B; Case map */
-  { 0x000191, 0, { 0x000192 }},                      /* 0191; 0192; Case map */
-  { 0x000193, 0, { 0x000260 }},                      /* 0193; 0260; Case map */
-  { 0x000194, 0, { 0x000263 }},                      /* 0194; 0263; Case map */
-  { 0x000196, 0, { 0x000269 }},                      /* 0196; 0269; Case map */
-  { 0x000197, 0, { 0x000268 }},                      /* 0197; 0268; Case map */
-  { 0x000198, 0, { 0x000199 }},                      /* 0198; 0199; Case map */
-  { 0x00019C, 0, { 0x00026F }},                      /* 019C; 026F; Case map */
-  { 0x00019D, 0, { 0x000272 }},                      /* 019D; 0272; Case map */
-  { 0x00019F, 0, { 0x000275 }},                      /* 019F; 0275; Case map */
-  { 0x0001A0, 0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
-  { 0x0001A2, 0, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
-  { 0x0001A4, 0, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
-  { 0x0001A6, 0, { 0x000280 }},                      /* 01A6; 0280; Case map */
-  { 0x0001A7, 0, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
-  { 0x0001A9, 0, { 0x000283 }},                      /* 01A9; 0283; Case map */
-  { 0x0001AC, 0, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
-  { 0x0001AE, 0, { 0x000288 }},                      /* 01AE; 0288; Case map */
-  { 0x0001AF, 0, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
-  { 0x0001B1, 0, { 0x00028A }},                      /* 01B1; 028A; Case map */
-  { 0x0001B2, 0, { 0x00028B }},                      /* 01B2; 028B; Case map */
-  { 0x0001B3, 0, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
-  { 0x0001B5, 0, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
-  { 0x0001B7, 0, { 0x000292 }},                      /* 01B7; 0292; Case map */
-  { 0x0001B8, 0, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
-  { 0x0001BC, 0, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
-  { 0x0001C4, 0, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
-  { 0x0001C5, 0, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
-  { 0x0001C7, 0, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
-  { 0x0001C8, 0, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
-  { 0x0001CA, 0, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
-  { 0x0001CB, 0, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
-  { 0x0001CD, 0, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
-  { 0x0001CF, 0, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
-  { 0x0001D1, 0, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
-  { 0x0001D3, 0, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
-  { 0x0001D5, 0, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
-  { 0x0001D7, 0, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
-  { 0x0001D9, 0, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
-  { 0x0001DB, 0, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
-  { 0x0001DE, 0, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
-  { 0x0001E0, 0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
-  { 0x0001E2, 0, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
-  { 0x0001E4, 0, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
-  { 0x0001E6, 0, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
-  { 0x0001E8, 0, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
-  { 0x0001EA, 0, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
-  { 0x0001EC, 0, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
-  { 0x0001EE, 0, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
-  { 0x0001F0, 0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
+  { 0x00014A, 0x00014A, { 0x00014B }},                      /* 014A; 014B; Case map */
+  { 0x00014C, 0x00014C, { 0x00014D }},                      /* 014C; 014D; Case map */
+  { 0x00014E, 0x00014E, { 0x00014F }},                      /* 014E; 014F; Case map */
+  { 0x000150, 0x000150, { 0x000151 }},                      /* 0150; 0151; Case map */
+  { 0x000152, 0x000152, { 0x000153 }},                      /* 0152; 0153; Case map */
+  { 0x000154, 0x000154, { 0x000155 }},                      /* 0154; 0155; Case map */
+  { 0x000156, 0x000156, { 0x000157 }},                      /* 0156; 0157; Case map */
+  { 0x000158, 0x000158, { 0x000159 }},                      /* 0158; 0159; Case map */
+  { 0x00015A, 0x00015A, { 0x00015B }},                      /* 015A; 015B; Case map */
+  { 0x00015C, 0x00015C, { 0x00015D }},                      /* 015C; 015D; Case map */
+  { 0x00015E, 0x00015E, { 0x00015F }},                      /* 015E; 015F; Case map */
+  { 0x000160, 0x000160, { 0x000161 }},                      /* 0160; 0161; Case map */
+  { 0x000162, 0x000162, { 0x000163 }},                      /* 0162; 0163; Case map */
+  { 0x000164, 0x000164, { 0x000165 }},                      /* 0164; 0165; Case map */
+  { 0x000166, 0x000166, { 0x000167 }},                      /* 0166; 0167; Case map */
+  { 0x000168, 0x000168, { 0x000169 }},                      /* 0168; 0169; Case map */
+  { 0x00016A, 0x00016A, { 0x00016B }},                      /* 016A; 016B; Case map */
+  { 0x00016C, 0x00016C, { 0x00016D }},                      /* 016C; 016D; Case map */
+  { 0x00016E, 0x00016E, { 0x00016F }},                      /* 016E; 016F; Case map */
+  { 0x000170, 0x000170, { 0x000171 }},                      /* 0170; 0171; Case map */
+  { 0x000172, 0x000172, { 0x000173 }},                      /* 0172; 0173; Case map */
+  { 0x000174, 0x000174, { 0x000175 }},                      /* 0174; 0175; Case map */
+  { 0x000176, 0x000176, { 0x000177 }},                      /* 0176; 0177; Case map */
+  { 0x000178, 0x000178, { 0x0000FF }},                      /* 0178; 00FF; Case map */
+  { 0x000179, 0x000179, { 0x00017A }},                      /* 0179; 017A; Case map */
+  { 0x00017B, 0x00017B, { 0x00017C }},                      /* 017B; 017C; Case map */
+  { 0x00017D, 0x00017D, { 0x00017E }},                      /* 017D; 017E; Case map */
+  { 0x00017F, 0x00017F, { 0x000073 }},                      /* 017F; 0073; Case map */
+  { 0x000181, 0x000181, { 0x000253 }},                      /* 0181; 0253; Case map */
+  { 0x000182, 0x000182, { 0x000183 }},                      /* 0182; 0183; Case map */
+  { 0x000184, 0x000184, { 0x000185 }},                      /* 0184; 0185; Case map */
+  { 0x000186, 0x000186, { 0x000254 }},                      /* 0186; 0254; Case map */
+  { 0x000187, 0x000187, { 0x000188 }},                      /* 0187; 0188; Case map */
+  { 0x000189, 0x000189, { 0x000256 }},                      /* 0189; 0256; Case map */
+  { 0x00018A, 0x00018A, { 0x000257 }},                      /* 018A; 0257; Case map */
+  { 0x00018B, 0x00018B, { 0x00018C }},                      /* 018B; 018C; Case map */
+  { 0x00018E, 0x00018E, { 0x0001DD }},                      /* 018E; 01DD; Case map */
+  { 0x00018F, 0x00018F, { 0x000259 }},                      /* 018F; 0259; Case map */
+  { 0x000190, 0x000190, { 0x00025B }},                      /* 0190; 025B; Case map */
+  { 0x000191, 0x000191, { 0x000192 }},                      /* 0191; 0192; Case map */
+  { 0x000193, 0x000193, { 0x000260 }},                      /* 0193; 0260; Case map */
+  { 0x000194, 0x000194, { 0x000263 }},                      /* 0194; 0263; Case map */
+  { 0x000196, 0x000196, { 0x000269 }},                      /* 0196; 0269; Case map */
+  { 0x000197, 0x000197, { 0x000268 }},                      /* 0197; 0268; Case map */
+  { 0x000198, 0x000198, { 0x000199 }},                      /* 0198; 0199; Case map */
+  { 0x00019C, 0x00019C, { 0x00026F }},                      /* 019C; 026F; Case map */
+  { 0x00019D, 0x00019D, { 0x000272 }},                      /* 019D; 0272; Case map */
+  { 0x00019F, 0x00019F, { 0x000275 }},                      /* 019F; 0275; Case map */
+  { 0x0001A0, 0x0001A0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
+  { 0x0001A2, 0x0001A2, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
+  { 0x0001A4, 0x0001A4, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
+  { 0x0001A6, 0x0001A6, { 0x000280 }},                      /* 01A6; 0280; Case map */
+  { 0x0001A7, 0x0001A7, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
+  { 0x0001A9, 0x0001A9, { 0x000283 }},                      /* 01A9; 0283; Case map */
+  { 0x0001AC, 0x0001AC, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
+  { 0x0001AE, 0x0001AE, { 0x000288 }},                      /* 01AE; 0288; Case map */
+  { 0x0001AF, 0x0001AF, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
+  { 0x0001B1, 0x0001B1, { 0x00028A }},                      /* 01B1; 028A; Case map */
+  { 0x0001B2, 0x0001B2, { 0x00028B }},                      /* 01B2; 028B; Case map */
+  { 0x0001B3, 0x0001B3, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
+  { 0x0001B5, 0x0001B5, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
+  { 0x0001B7, 0x0001B7, { 0x000292 }},                      /* 01B7; 0292; Case map */
+  { 0x0001B8, 0x0001B8, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
+  { 0x0001BC, 0x0001BC, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
+  { 0x0001C4, 0x0001C4, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
+  { 0x0001C5, 0x0001C5, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
+  { 0x0001C7, 0x0001C7, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
+  { 0x0001C8, 0x0001C8, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
+  { 0x0001CA, 0x0001CA, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
+  { 0x0001CB, 0x0001CB, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
+  { 0x0001CD, 0x0001CD, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
+  { 0x0001CF, 0x0001CF, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
+  { 0x0001D1, 0x0001D1, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
+  { 0x0001D3, 0x0001D3, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
+  { 0x0001D5, 0x0001D5, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
+  { 0x0001D7, 0x0001D7, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
+  { 0x0001D9, 0x0001D9, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
+  { 0x0001DB, 0x0001DB, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
+  { 0x0001DE, 0x0001DE, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
+  { 0x0001E0, 0x0001E0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
+  { 0x0001E2, 0x0001E2, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
+  { 0x0001E4, 0x0001E4, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
+  { 0x0001E6, 0x0001E6, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
+  { 0x0001E8, 0x0001E8, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
+  { 0x0001EA, 0x0001EA, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
+  { 0x0001EC, 0x0001EC, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
+  { 0x0001EE, 0x0001EE, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
+  { 0x0001F0, 0x0001F0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
                    0x00030C }},
-  { 0x0001F1, 0, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
-  { 0x0001F2, 0, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
-  { 0x0001F4, 0, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
-  { 0x0001F6, 0, { 0x000195 }},                      /* 01F6; 0195; Case map */
-  { 0x0001F7, 0, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
-  { 0x0001F8, 0, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
-  { 0x0001FA, 0, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
-  { 0x0001FC, 0, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
-  { 0x0001FE, 0, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
-  { 0x000200, 0, { 0x000201 }},                      /* 0200; 0201; Case map */
-  { 0x000202, 0, { 0x000203 }},                      /* 0202; 0203; Case map */
-  { 0x000204, 0, { 0x000205 }},                      /* 0204; 0205; Case map */
-  { 0x000206, 0, { 0x000207 }},                      /* 0206; 0207; Case map */
-  { 0x000208, 0, { 0x000209 }},                      /* 0208; 0209; Case map */
-  { 0x00020A, 0, { 0x00020B }},                      /* 020A; 020B; Case map */
-  { 0x00020C, 0, { 0x00020D }},                      /* 020C; 020D; Case map */
-  { 0x00020E, 0, { 0x00020F }},                      /* 020E; 020F; Case map */
-  { 0x000210, 0, { 0x000211 }},                      /* 0210; 0211; Case map */
-  { 0x000212, 0, { 0x000213 }},                      /* 0212; 0213; Case map */
-  { 0x000214, 0, { 0x000215 }},                      /* 0214; 0215; Case map */
-  { 0x000216, 0, { 0x000217 }},                      /* 0216; 0217; Case map */
-  { 0x000218, 0, { 0x000219 }},                      /* 0218; 0219; Case map */
-  { 0x00021A, 0, { 0x00021B }},                      /* 021A; 021B; Case map */
-  { 0x00021C, 0, { 0x00021D }},                      /* 021C; 021D; Case map */
-  { 0x00021E, 0, { 0x00021F }},                      /* 021E; 021F; Case map */
-  { 0x000220, 0, { 0x00019E }},                      /* 0220; 019E; Case map */
-  { 0x000222, 0, { 0x000223 }},                      /* 0222; 0223; Case map */
-  { 0x000224, 0, { 0x000225 }},                      /* 0224; 0225; Case map */
-  { 0x000226, 0, { 0x000227 }},                      /* 0226; 0227; Case map */
-  { 0x000228, 0, { 0x000229 }},                      /* 0228; 0229; Case map */
-  { 0x00022A, 0, { 0x00022B }},                      /* 022A; 022B; Case map */
-  { 0x00022C, 0, { 0x00022D }},                      /* 022C; 022D; Case map */
-  { 0x00022E, 0, { 0x00022F }},                      /* 022E; 022F; Case map */
-  { 0x000230, 0, { 0x000231 }},                      /* 0230; 0231; Case map */
-  { 0x000232, 0, { 0x000233 }},                      /* 0232; 0233; Case map */
-  { 0x000345, 0, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
-  { 0x00037A, 0, { 0x000020,          /* 037A; 0020 03B9; Additional folding */
+  { 0x0001F1, 0x0001F1, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
+  { 0x0001F2, 0x0001F2, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
+  { 0x0001F4, 0x0001F4, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
+  { 0x0001F6, 0x0001F6, { 0x000195 }},                      /* 01F6; 0195; Case map */
+  { 0x0001F7, 0x0001F7, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
+  { 0x0001F8, 0x0001F8, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
+  { 0x0001FA, 0x0001FA, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
+  { 0x0001FC, 0x0001FC, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
+  { 0x0001FE, 0x0001FE, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
+  { 0x000200, 0x000200, { 0x000201 }},                      /* 0200; 0201; Case map */
+  { 0x000202, 0x000202, { 0x000203 }},                      /* 0202; 0203; Case map */
+  { 0x000204, 0x000204, { 0x000205 }},                      /* 0204; 0205; Case map */
+  { 0x000206, 0x000206, { 0x000207 }},                      /* 0206; 0207; Case map */
+  { 0x000208, 0x000208, { 0x000209 }},                      /* 0208; 0209; Case map */
+  { 0x00020A, 0x00020A, { 0x00020B }},                      /* 020A; 020B; Case map */
+  { 0x00020C, 0x00020C, { 0x00020D }},                      /* 020C; 020D; Case map */
+  { 0x00020E, 0x00020E, { 0x00020F }},                      /* 020E; 020F; Case map */
+  { 0x000210, 0x000210, { 0x000211 }},                      /* 0210; 0211; Case map */
+  { 0x000212, 0x000212, { 0x000213 }},                      /* 0212; 0213; Case map */
+  { 0x000214, 0x000214, { 0x000215 }},                      /* 0214; 0215; Case map */
+  { 0x000216, 0x000216, { 0x000217 }},                      /* 0216; 0217; Case map */
+  { 0x000218, 0x000218, { 0x000219 }},                      /* 0218; 0219; Case map */
+  { 0x00021A, 0x00021A, { 0x00021B }},                      /* 021A; 021B; Case map */
+  { 0x00021C, 0x00021C, { 0x00021D }},                      /* 021C; 021D; Case map */
+  { 0x00021E, 0x00021E, { 0x00021F }},                      /* 021E; 021F; Case map */
+  { 0x000220, 0x000220, { 0x00019E }},                      /* 0220; 019E; Case map */
+  { 0x000222, 0x000222, { 0x000223 }},                      /* 0222; 0223; Case map */
+  { 0x000224, 0x000224, { 0x000225 }},                      /* 0224; 0225; Case map */
+  { 0x000226, 0x000226, { 0x000227 }},                      /* 0226; 0227; Case map */
+  { 0x000228, 0x000228, { 0x000229 }},                      /* 0228; 0229; Case map */
+  { 0x00022A, 0x00022A, { 0x00022B }},                      /* 022A; 022B; Case map */
+  { 0x00022C, 0x00022C, { 0x00022D }},                      /* 022C; 022D; Case map */
+  { 0x00022E, 0x00022E, { 0x00022F }},                      /* 022E; 022F; Case map */
+  { 0x000230, 0x000230, { 0x000231 }},                      /* 0230; 0231; Case map */
+  { 0x000232, 0x000232, { 0x000233 }},                      /* 0232; 0233; Case map */
+  { 0x000345, 0x000345, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
+  { 0x00037A, 0x00037A, { 0x000020,          /* 037A; 0020 03B9; Additional folding */
                    0x0003B9 }},
-  { 0x000386, 0, { 0x0003AC }},                      /* 0386; 03AC; Case map */
-  { 0x000388, 0, { 0x0003AD }},                      /* 0388; 03AD; Case map */
-  { 0x000389, 0, { 0x0003AE }},                      /* 0389; 03AE; Case map */
-  { 0x00038A, 0, { 0x0003AF }},                      /* 038A; 03AF; Case map */
-  { 0x00038C, 0, { 0x0003CC }},                      /* 038C; 03CC; Case map */
-  { 0x00038E, 0, { 0x0003CD }},                      /* 038E; 03CD; Case map */
-  { 0x00038F, 0, { 0x0003CE }},                      /* 038F; 03CE; Case map */
-  { 0x000390, 0, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
+  { 0x000386, 0x000386, { 0x0003AC }},                      /* 0386; 03AC; Case map */
+  { 0x000388, 0x000388, { 0x0003AD }},                      /* 0388; 03AD; Case map */
+  { 0x000389, 0x000389, { 0x0003AE }},                      /* 0389; 03AE; Case map */
+  { 0x00038A, 0x00038A, { 0x0003AF }},                      /* 038A; 03AF; Case map */
+  { 0x00038C, 0x00038C, { 0x0003CC }},                      /* 038C; 03CC; Case map */
+  { 0x00038E, 0x00038E, { 0x0003CD }},                      /* 038E; 03CD; Case map */
+  { 0x00038F, 0x00038F, { 0x0003CE }},                      /* 038F; 03CE; Case map */
+  { 0x000390, 0x000390, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x000391, 0, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
-  { 0x000392, 0, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
-  { 0x000393, 0, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
-  { 0x000394, 0, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
-  { 0x000395, 0, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
-  { 0x000396, 0, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
-  { 0x000397, 0, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
-  { 0x000398, 0, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
-  { 0x000399, 0, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
-  { 0x00039A, 0, { 0x0003BA }},                      /* 039A; 03BA; Case map */
-  { 0x00039B, 0, { 0x0003BB }},                      /* 039B; 03BB; Case map */
-  { 0x00039C, 0, { 0x0003BC }},                      /* 039C; 03BC; Case map */
-  { 0x00039D, 0, { 0x0003BD }},                      /* 039D; 03BD; Case map */
-  { 0x00039E, 0, { 0x0003BE }},                      /* 039E; 03BE; Case map */
-  { 0x00039F, 0, { 0x0003BF }},                      /* 039F; 03BF; Case map */
-  { 0x0003A0, 0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
-  { 0x0003A1, 0, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
-  { 0x0003A3, 0, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
-  { 0x0003A4, 0, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
-  { 0x0003A5, 0, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
-  { 0x0003A6, 0, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
-  { 0x0003A7, 0, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
-  { 0x0003A8, 0, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
-  { 0x0003A9, 0, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
-  { 0x0003AA, 0, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
-  { 0x0003AB, 0, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
-  { 0x0003B0, 0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
+  { 0x000391, 0x000391, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
+  { 0x000392, 0x000392, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
+  { 0x000393, 0x000393, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
+  { 0x000394, 0x000394, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
+  { 0x000395, 0x000395, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
+  { 0x000396, 0x000396, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
+  { 0x000397, 0x000397, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
+  { 0x000398, 0x000398, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
+  { 0x000399, 0x000399, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
+  { 0x00039A, 0x00039A, { 0x0003BA }},                      /* 039A; 03BA; Case map */
+  { 0x00039B, 0x00039B, { 0x0003BB }},                      /* 039B; 03BB; Case map */
+  { 0x00039C, 0x00039C, { 0x0003BC }},                      /* 039C; 03BC; Case map */
+  { 0x00039D, 0x00039D, { 0x0003BD }},                      /* 039D; 03BD; Case map */
+  { 0x00039E, 0x00039E, { 0x0003BE }},                      /* 039E; 03BE; Case map */
+  { 0x00039F, 0x00039F, { 0x0003BF }},                      /* 039F; 03BF; Case map */
+  { 0x0003A0, 0x0003A0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
+  { 0x0003A1, 0x0003A1, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
+  { 0x0003A3, 0x0003A3, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
+  { 0x0003A4, 0x0003A4, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
+  { 0x0003A5, 0x0003A5, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
+  { 0x0003A6, 0x0003A6, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
+  { 0x0003A7, 0x0003A7, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
+  { 0x0003A8, 0x0003A8, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
+  { 0x0003A9, 0x0003A9, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
+  { 0x0003AA, 0x0003AA, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
+  { 0x0003AB, 0x0003AB, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
+  { 0x0003B0, 0x0003B0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x0003C2, 0, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
-  { 0x0003D0, 0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
-  { 0x0003D1, 0, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
-  { 0x0003D2, 0, { 0x0003C5 }},            /* 03D2; 03C5; Additional folding */
-  { 0x0003D3, 0, { 0x0003CD }},            /* 03D3; 03CD; Additional folding */
-  { 0x0003D4, 0, { 0x0003CB }},            /* 03D4; 03CB; Additional folding */
-  { 0x0003D5, 0, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
-  { 0x0003D6, 0, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
-  { 0x0003D8, 0, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
-  { 0x0003DA, 0, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
-  { 0x0003DC, 0, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
-  { 0x0003DE, 0, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
-  { 0x0003E0, 0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
-  { 0x0003E2, 0, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
-  { 0x0003E4, 0, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
-  { 0x0003E6, 0, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
-  { 0x0003E8, 0, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
-  { 0x0003EA, 0, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
-  { 0x0003EC, 0, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
-  { 0x0003EE, 0, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
-  { 0x0003F0, 0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
-  { 0x0003F1, 0, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
-  { 0x0003F2, 0, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
-  { 0x0003F4, 0, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
-  { 0x0003F5, 0, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
-  { 0x000400, 0, { 0x000450 }},                      /* 0400; 0450; Case map */
-  { 0x000401, 0, { 0x000451 }},                      /* 0401; 0451; Case map */
-  { 0x000402, 0, { 0x000452 }},                      /* 0402; 0452; Case map */
-  { 0x000403, 0, { 0x000453 }},                      /* 0403; 0453; Case map */
-  { 0x000404, 0, { 0x000454 }},                      /* 0404; 0454; Case map */
-  { 0x000405, 0, { 0x000455 }},                      /* 0405; 0455; Case map */
-  { 0x000406, 0, { 0x000456 }},                      /* 0406; 0456; Case map */
-  { 0x000407, 0, { 0x000457 }},                      /* 0407; 0457; Case map */
-  { 0x000408, 0, { 0x000458 }},                      /* 0408; 0458; Case map */
-  { 0x000409, 0, { 0x000459 }},                      /* 0409; 0459; Case map */
-  { 0x00040A, 0, { 0x00045A }},                      /* 040A; 045A; Case map */
-  { 0x00040B, 0, { 0x00045B }},                      /* 040B; 045B; Case map */
-  { 0x00040C, 0, { 0x00045C }},                      /* 040C; 045C; Case map */
-  { 0x00040D, 0, { 0x00045D }},                      /* 040D; 045D; Case map */
-  { 0x00040E, 0, { 0x00045E }},                      /* 040E; 045E; Case map */
-  { 0x00040F, 0, { 0x00045F }},                      /* 040F; 045F; Case map */
-  { 0x000410, 0, { 0x000430 }},                      /* 0410; 0430; Case map */
-  { 0x000411, 0, { 0x000431 }},                      /* 0411; 0431; Case map */
-  { 0x000412, 0, { 0x000432 }},                      /* 0412; 0432; Case map */
-  { 0x000413, 0, { 0x000433 }},                      /* 0413; 0433; Case map */
-  { 0x000414, 0, { 0x000434 }},                      /* 0414; 0434; Case map */
-  { 0x000415, 0, { 0x000435 }},                      /* 0415; 0435; Case map */
-  { 0x000416, 0, { 0x000436 }},                      /* 0416; 0436; Case map */
-  { 0x000417, 0, { 0x000437 }},                      /* 0417; 0437; Case map */
-  { 0x000418, 0, { 0x000438 }},                      /* 0418; 0438; Case map */
-  { 0x000419, 0, { 0x000439 }},                      /* 0419; 0439; Case map */
-  { 0x00041A, 0, { 0x00043A }},                      /* 041A; 043A; Case map */
-  { 0x00041B, 0, { 0x00043B }},                      /* 041B; 043B; Case map */
-  { 0x00041C, 0, { 0x00043C }},                      /* 041C; 043C; Case map */
-  { 0x00041D, 0, { 0x00043D }},                      /* 041D; 043D; Case map */
-  { 0x00041E, 0, { 0x00043E }},                      /* 041E; 043E; Case map */
-  { 0x00041F, 0, { 0x00043F }},                      /* 041F; 043F; Case map */
-  { 0x000420, 0, { 0x000440 }},                      /* 0420; 0440; Case map */
-  { 0x000421, 0, { 0x000441 }},                      /* 0421; 0441; Case map */
-  { 0x000422, 0, { 0x000442 }},                      /* 0422; 0442; Case map */
-  { 0x000423, 0, { 0x000443 }},                      /* 0423; 0443; Case map */
-  { 0x000424, 0, { 0x000444 }},                      /* 0424; 0444; Case map */
-  { 0x000425, 0, { 0x000445 }},                      /* 0425; 0445; Case map */
-  { 0x000426, 0, { 0x000446 }},                      /* 0426; 0446; Case map */
-  { 0x000427, 0, { 0x000447 }},                      /* 0427; 0447; Case map */
-  { 0x000428, 0, { 0x000448 }},                      /* 0428; 0448; Case map */
-  { 0x000429, 0, { 0x000449 }},                      /* 0429; 0449; Case map */
-  { 0x00042A, 0, { 0x00044A }},                      /* 042A; 044A; Case map */
-  { 0x00042B, 0, { 0x00044B }},                      /* 042B; 044B; Case map */
-  { 0x00042C, 0, { 0x00044C }},                      /* 042C; 044C; Case map */
-  { 0x00042D, 0, { 0x00044D }},                      /* 042D; 044D; Case map */
-  { 0x00042E, 0, { 0x00044E }},                      /* 042E; 044E; Case map */
-  { 0x00042F, 0, { 0x00044F }},                      /* 042F; 044F; Case map */
-  { 0x000460, 0, { 0x000461 }},                      /* 0460; 0461; Case map */
-  { 0x000462, 0, { 0x000463 }},                      /* 0462; 0463; Case map */
-  { 0x000464, 0, { 0x000465 }},                      /* 0464; 0465; Case map */
-  { 0x000466, 0, { 0x000467 }},                      /* 0466; 0467; Case map */
-  { 0x000468, 0, { 0x000469 }},                      /* 0468; 0469; Case map */
-  { 0x00046A, 0, { 0x00046B }},                      /* 046A; 046B; Case map */
-  { 0x00046C, 0, { 0x00046D }},                      /* 046C; 046D; Case map */
-  { 0x00046E, 0, { 0x00046F }},                      /* 046E; 046F; Case map */
-  { 0x000470, 0, { 0x000471 }},                      /* 0470; 0471; Case map */
-  { 0x000472, 0, { 0x000473 }},                      /* 0472; 0473; Case map */
-  { 0x000474, 0, { 0x000475 }},                      /* 0474; 0475; Case map */
-  { 0x000476, 0, { 0x000477 }},                      /* 0476; 0477; Case map */
-  { 0x000478, 0, { 0x000479 }},                      /* 0478; 0479; Case map */
-  { 0x00047A, 0, { 0x00047B }},                      /* 047A; 047B; Case map */
-  { 0x00047C, 0, { 0x00047D }},                      /* 047C; 047D; Case map */
-  { 0x00047E, 0, { 0x00047F }},                      /* 047E; 047F; Case map */
-  { 0x000480, 0, { 0x000481 }},                      /* 0480; 0481; Case map */
-  { 0x00048A, 0, { 0x00048B }},                      /* 048A; 048B; Case map */
-  { 0x00048C, 0, { 0x00048D }},                      /* 048C; 048D; Case map */
-  { 0x00048E, 0, { 0x00048F }},                      /* 048E; 048F; Case map */
-  { 0x000490, 0, { 0x000491 }},                      /* 0490; 0491; Case map */
-  { 0x000492, 0, { 0x000493 }},                      /* 0492; 0493; Case map */
-  { 0x000494, 0, { 0x000495 }},                      /* 0494; 0495; Case map */
-  { 0x000496, 0, { 0x000497 }},                      /* 0496; 0497; Case map */
-  { 0x000498, 0, { 0x000499 }},                      /* 0498; 0499; Case map */
-  { 0x00049A, 0, { 0x00049B }},                      /* 049A; 049B; Case map */
-  { 0x00049C, 0, { 0x00049D }},                      /* 049C; 049D; Case map */
-  { 0x00049E, 0, { 0x00049F }},                      /* 049E; 049F; Case map */
-  { 0x0004A0, 0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
-  { 0x0004A2, 0, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
-  { 0x0004A4, 0, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
-  { 0x0004A6, 0, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
-  { 0x0004A8, 0, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
-  { 0x0004AA, 0, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
-  { 0x0004AC, 0, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
-  { 0x0004AE, 0, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
-  { 0x0004B0, 0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
-  { 0x0004B2, 0, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
-  { 0x0004B4, 0, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
-  { 0x0004B6, 0, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
-  { 0x0004B8, 0, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
-  { 0x0004BA, 0, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
-  { 0x0004BC, 0, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
-  { 0x0004BE, 0, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
-  { 0x0004C1, 0, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
-  { 0x0004C3, 0, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
-  { 0x0004C5, 0, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
-  { 0x0004C7, 0, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
-  { 0x0004C9, 0, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
-  { 0x0004CB, 0, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
-  { 0x0004CD, 0, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
-  { 0x0004D0, 0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
-  { 0x0004D2, 0, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
-  { 0x0004D4, 0, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
-  { 0x0004D6, 0, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
-  { 0x0004D8, 0, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
-  { 0x0004DA, 0, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
-  { 0x0004DC, 0, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
-  { 0x0004DE, 0, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
-  { 0x0004E0, 0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
-  { 0x0004E2, 0, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
-  { 0x0004E4, 0, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
-  { 0x0004E6, 0, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
-  { 0x0004E8, 0, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
-  { 0x0004EA, 0, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
-  { 0x0004EC, 0, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
-  { 0x0004EE, 0, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
-  { 0x0004F0, 0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
-  { 0x0004F2, 0, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
-  { 0x0004F4, 0, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
-  { 0x0004F8, 0, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
-  { 0x000500, 0, { 0x000501 }},                      /* 0500; 0501; Case map */
-  { 0x000502, 0, { 0x000503 }},                      /* 0502; 0503; Case map */
-  { 0x000504, 0, { 0x000505 }},                      /* 0504; 0505; Case map */
-  { 0x000506, 0, { 0x000507 }},                      /* 0506; 0507; Case map */
-  { 0x000508, 0, { 0x000509 }},                      /* 0508; 0509; Case map */
-  { 0x00050A, 0, { 0x00050B }},                      /* 050A; 050B; Case map */
-  { 0x00050C, 0, { 0x00050D }},                      /* 050C; 050D; Case map */
-  { 0x00050E, 0, { 0x00050F }},                      /* 050E; 050F; Case map */
-  { 0x000531, 0, { 0x000561 }},                      /* 0531; 0561; Case map */
-  { 0x000532, 0, { 0x000562 }},                      /* 0532; 0562; Case map */
-  { 0x000533, 0, { 0x000563 }},                      /* 0533; 0563; Case map */
-  { 0x000534, 0, { 0x000564 }},                      /* 0534; 0564; Case map */
-  { 0x000535, 0, { 0x000565 }},                      /* 0535; 0565; Case map */
-  { 0x000536, 0, { 0x000566 }},                      /* 0536; 0566; Case map */
-  { 0x000537, 0, { 0x000567 }},                      /* 0537; 0567; Case map */
-  { 0x000538, 0, { 0x000568 }},                      /* 0538; 0568; Case map */
-  { 0x000539, 0, { 0x000569 }},                      /* 0539; 0569; Case map */
-  { 0x00053A, 0, { 0x00056A }},                      /* 053A; 056A; Case map */
-  { 0x00053B, 0, { 0x00056B }},                      /* 053B; 056B; Case map */
-  { 0x00053C, 0, { 0x00056C }},                      /* 053C; 056C; Case map */
-  { 0x00053D, 0, { 0x00056D }},                      /* 053D; 056D; Case map */
-  { 0x00053E, 0, { 0x00056E }},                      /* 053E; 056E; Case map */
-  { 0x00053F, 0, { 0x00056F }},                      /* 053F; 056F; Case map */
-  { 0x000540, 0, { 0x000570 }},                      /* 0540; 0570; Case map */
-  { 0x000541, 0, { 0x000571 }},                      /* 0541; 0571; Case map */
-  { 0x000542, 0, { 0x000572 }},                      /* 0542; 0572; Case map */
-  { 0x000543, 0, { 0x000573 }},                      /* 0543; 0573; Case map */
-  { 0x000544, 0, { 0x000574 }},                      /* 0544; 0574; Case map */
-  { 0x000545, 0, { 0x000575 }},                      /* 0545; 0575; Case map */
-  { 0x000546, 0, { 0x000576 }},                      /* 0546; 0576; Case map */
-  { 0x000547, 0, { 0x000577 }},                      /* 0547; 0577; Case map */
-  { 0x000548, 0, { 0x000578 }},                      /* 0548; 0578; Case map */
-  { 0x000549, 0, { 0x000579 }},                      /* 0549; 0579; Case map */
-  { 0x00054A, 0, { 0x00057A }},                      /* 054A; 057A; Case map */
-  { 0x00054B, 0, { 0x00057B }},                      /* 054B; 057B; Case map */
-  { 0x00054C, 0, { 0x00057C }},                      /* 054C; 057C; Case map */
-  { 0x00054D, 0, { 0x00057D }},                      /* 054D; 057D; Case map */
-  { 0x00054E, 0, { 0x00057E }},                      /* 054E; 057E; Case map */
-  { 0x00054F, 0, { 0x00057F }},                      /* 054F; 057F; Case map */
-  { 0x000550, 0, { 0x000580 }},                      /* 0550; 0580; Case map */
-  { 0x000551, 0, { 0x000581 }},                      /* 0551; 0581; Case map */
-  { 0x000552, 0, { 0x000582 }},                      /* 0552; 0582; Case map */
-  { 0x000553, 0, { 0x000583 }},                      /* 0553; 0583; Case map */
-  { 0x000554, 0, { 0x000584 }},                      /* 0554; 0584; Case map */
-  { 0x000555, 0, { 0x000585 }},                      /* 0555; 0585; Case map */
-  { 0x000556, 0, { 0x000586 }},                      /* 0556; 0586; Case map */
-  { 0x000587, 0, { 0x000565,                    /* 0587; 0565 0582; Case map */
+  { 0x0003C2, 0x0003C2, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
+  { 0x0003D0, 0x0003D0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
+  { 0x0003D1, 0x0003D1, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
+  { 0x0003D2, 0x0003D2, { 0x0003C5 }},            /* 03D2; 03C5; Additional folding */
+  { 0x0003D3, 0x0003D3, { 0x0003CD }},            /* 03D3; 03CD; Additional folding */
+  { 0x0003D4, 0x0003D4, { 0x0003CB }},            /* 03D4; 03CB; Additional folding */
+  { 0x0003D5, 0x0003D5, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
+  { 0x0003D6, 0x0003D6, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
+  { 0x0003D8, 0x0003D8, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
+  { 0x0003DA, 0x0003DA, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
+  { 0x0003DC, 0x0003DC, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
+  { 0x0003DE, 0x0003DE, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
+  { 0x0003E0, 0x0003E0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
+  { 0x0003E2, 0x0003E2, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
+  { 0x0003E4, 0x0003E4, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
+  { 0x0003E6, 0x0003E6, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
+  { 0x0003E8, 0x0003E8, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
+  { 0x0003EA, 0x0003EA, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
+  { 0x0003EC, 0x0003EC, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
+  { 0x0003EE, 0x0003EE, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
+  { 0x0003F0, 0x0003F0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
+  { 0x0003F1, 0x0003F1, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
+  { 0x0003F2, 0x0003F2, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
+  { 0x0003F4, 0x0003F4, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
+  { 0x0003F5, 0x0003F5, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
+  { 0x000400, 0x000400, { 0x000450 }},                      /* 0400; 0450; Case map */
+  { 0x000401, 0x000401, { 0x000451 }},                      /* 0401; 0451; Case map */
+  { 0x000402, 0x000402, { 0x000452 }},                      /* 0402; 0452; Case map */
+  { 0x000403, 0x000403, { 0x000453 }},                      /* 0403; 0453; Case map */
+  { 0x000404, 0x000404, { 0x000454 }},                      /* 0404; 0454; Case map */
+  { 0x000405, 0x000405, { 0x000455 }},                      /* 0405; 0455; Case map */
+  { 0x000406, 0x000406, { 0x000456 }},                      /* 0406; 0456; Case map */
+  { 0x000407, 0x000407, { 0x000457 }},                      /* 0407; 0457; Case map */
+  { 0x000408, 0x000408, { 0x000458 }},                      /* 0408; 0458; Case map */
+  { 0x000409, 0x000409, { 0x000459 }},                      /* 0409; 0459; Case map */
+  { 0x00040A, 0x00040A, { 0x00045A }},                      /* 040A; 045A; Case map */
+  { 0x00040B, 0x00040B, { 0x00045B }},                      /* 040B; 045B; Case map */
+  { 0x00040C, 0x00040C, { 0x00045C }},                      /* 040C; 045C; Case map */
+  { 0x00040D, 0x00040D, { 0x00045D }},                      /* 040D; 045D; Case map */
+  { 0x00040E, 0x00040E, { 0x00045E }},                      /* 040E; 045E; Case map */
+  { 0x00040F, 0x00040F, { 0x00045F }},                      /* 040F; 045F; Case map */
+  { 0x000410, 0x000410, { 0x000430 }},                      /* 0410; 0430; Case map */
+  { 0x000411, 0x000411, { 0x000431 }},                      /* 0411; 0431; Case map */
+  { 0x000412, 0x000412, { 0x000432 }},                      /* 0412; 0432; Case map */
+  { 0x000413, 0x000413, { 0x000433 }},                      /* 0413; 0433; Case map */
+  { 0x000414, 0x000414, { 0x000434 }},                      /* 0414; 0434; Case map */
+  { 0x000415, 0x000415, { 0x000435 }},                      /* 0415; 0435; Case map */
+  { 0x000416, 0x000416, { 0x000436 }},                      /* 0416; 0436; Case map */
+  { 0x000417, 0x000417, { 0x000437 }},                      /* 0417; 0437; Case map */
+  { 0x000418, 0x000418, { 0x000438 }},                      /* 0418; 0438; Case map */
+  { 0x000419, 0x000419, { 0x000439 }},                      /* 0419; 0439; Case map */
+  { 0x00041A, 0x00041A, { 0x00043A }},                      /* 041A; 043A; Case map */
+  { 0x00041B, 0x00041B, { 0x00043B }},                      /* 041B; 043B; Case map */
+  { 0x00041C, 0x00041C, { 0x00043C }},                      /* 041C; 043C; Case map */
+  { 0x00041D, 0x00041D, { 0x00043D }},                      /* 041D; 043D; Case map */
+  { 0x00041E, 0x00041E, { 0x00043E }},                      /* 041E; 043E; Case map */
+  { 0x00041F, 0x00041F, { 0x00043F }},                      /* 041F; 043F; Case map */
+  { 0x000420, 0x000420, { 0x000440 }},                      /* 0420; 0440; Case map */
+  { 0x000421, 0x000421, { 0x000441 }},                      /* 0421; 0441; Case map */
+  { 0x000422, 0x000422, { 0x000442 }},                      /* 0422; 0442; Case map */
+  { 0x000423, 0x000423, { 0x000443 }},                      /* 0423; 0443; Case map */
+  { 0x000424, 0x000424, { 0x000444 }},                      /* 0424; 0444; Case map */
+  { 0x000425, 0x000425, { 0x000445 }},                      /* 0425; 0445; Case map */
+  { 0x000426, 0x000426, { 0x000446 }},                      /* 0426; 0446; Case map */
+  { 0x000427, 0x000427, { 0x000447 }},                      /* 0427; 0447; Case map */
+  { 0x000428, 0x000428, { 0x000448 }},                      /* 0428; 0448; Case map */
+  { 0x000429, 0x000429, { 0x000449 }},                      /* 0429; 0449; Case map */
+  { 0x00042A, 0x00042A, { 0x00044A }},                      /* 042A; 044A; Case map */
+  { 0x00042B, 0x00042B, { 0x00044B }},                      /* 042B; 044B; Case map */
+  { 0x00042C, 0x00042C, { 0x00044C }},                      /* 042C; 044C; Case map */
+  { 0x00042D, 0x00042D, { 0x00044D }},                      /* 042D; 044D; Case map */
+  { 0x00042E, 0x00042E, { 0x00044E }},                      /* 042E; 044E; Case map */
+  { 0x00042F, 0x00042F, { 0x00044F }},                      /* 042F; 044F; Case map */
+  { 0x000460, 0x000460, { 0x000461 }},                      /* 0460; 0461; Case map */
+  { 0x000462, 0x000462, { 0x000463 }},                      /* 0462; 0463; Case map */
+  { 0x000464, 0x000464, { 0x000465 }},                      /* 0464; 0465; Case map */
+  { 0x000466, 0x000466, { 0x000467 }},                      /* 0466; 0467; Case map */
+  { 0x000468, 0x000468, { 0x000469 }},                      /* 0468; 0469; Case map */
+  { 0x00046A, 0x00046A, { 0x00046B }},                      /* 046A; 046B; Case map */
+  { 0x00046C, 0x00046C, { 0x00046D }},                      /* 046C; 046D; Case map */
+  { 0x00046E, 0x00046E, { 0x00046F }},                      /* 046E; 046F; Case map */
+  { 0x000470, 0x000470, { 0x000471 }},                      /* 0470; 0471; Case map */
+  { 0x000472, 0x000472, { 0x000473 }},                      /* 0472; 0473; Case map */
+  { 0x000474, 0x000474, { 0x000475 }},                      /* 0474; 0475; Case map */
+  { 0x000476, 0x000476, { 0x000477 }},                      /* 0476; 0477; Case map */
+  { 0x000478, 0x000478, { 0x000479 }},                      /* 0478; 0479; Case map */
+  { 0x00047A, 0x00047A, { 0x00047B }},                      /* 047A; 047B; Case map */
+  { 0x00047C, 0x00047C, { 0x00047D }},                      /* 047C; 047D; Case map */
+  { 0x00047E, 0x00047E, { 0x00047F }},                      /* 047E; 047F; Case map */
+  { 0x000480, 0x000480, { 0x000481 }},                      /* 0480; 0481; Case map */
+  { 0x00048A, 0x00048A, { 0x00048B }},                      /* 048A; 048B; Case map */
+  { 0x00048C, 0x00048C, { 0x00048D }},                      /* 048C; 048D; Case map */
+  { 0x00048E, 0x00048E, { 0x00048F }},                      /* 048E; 048F; Case map */
+  { 0x000490, 0x000490, { 0x000491 }},                      /* 0490; 0491; Case map */
+  { 0x000492, 0x000492, { 0x000493 }},                      /* 0492; 0493; Case map */
+  { 0x000494, 0x000494, { 0x000495 }},                      /* 0494; 0495; Case map */
+  { 0x000496, 0x000496, { 0x000497 }},                      /* 0496; 0497; Case map */
+  { 0x000498, 0x000498, { 0x000499 }},                      /* 0498; 0499; Case map */
+  { 0x00049A, 0x00049A, { 0x00049B }},                      /* 049A; 049B; Case map */
+  { 0x00049C, 0x00049C, { 0x00049D }},                      /* 049C; 049D; Case map */
+  { 0x00049E, 0x00049E, { 0x00049F }},                      /* 049E; 049F; Case map */
+  { 0x0004A0, 0x0004A0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
+  { 0x0004A2, 0x0004A2, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
+  { 0x0004A4, 0x0004A4, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
+  { 0x0004A6, 0x0004A6, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
+  { 0x0004A8, 0x0004A8, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
+  { 0x0004AA, 0x0004AA, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
+  { 0x0004AC, 0x0004AC, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
+  { 0x0004AE, 0x0004AE, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
+  { 0x0004B0, 0x0004B0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
+  { 0x0004B2, 0x0004B2, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
+  { 0x0004B4, 0x0004B4, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
+  { 0x0004B6, 0x0004B6, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
+  { 0x0004B8, 0x0004B8, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
+  { 0x0004BA, 0x0004BA, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
+  { 0x0004BC, 0x0004BC, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
+  { 0x0004BE, 0x0004BE, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
+  { 0x0004C1, 0x0004C1, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
+  { 0x0004C3, 0x0004C3, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
+  { 0x0004C5, 0x0004C5, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
+  { 0x0004C7, 0x0004C7, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
+  { 0x0004C9, 0x0004C9, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
+  { 0x0004CB, 0x0004CB, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
+  { 0x0004CD, 0x0004CD, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
+  { 0x0004D0, 0x0004D0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
+  { 0x0004D2, 0x0004D2, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
+  { 0x0004D4, 0x0004D4, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
+  { 0x0004D6, 0x0004D6, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
+  { 0x0004D8, 0x0004D8, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
+  { 0x0004DA, 0x0004DA, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
+  { 0x0004DC, 0x0004DC, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
+  { 0x0004DE, 0x0004DE, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
+  { 0x0004E0, 0x0004E0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
+  { 0x0004E2, 0x0004E2, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
+  { 0x0004E4, 0x0004E4, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
+  { 0x0004E6, 0x0004E6, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
+  { 0x0004E8, 0x0004E8, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
+  { 0x0004EA, 0x0004EA, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
+  { 0x0004EC, 0x0004EC, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
+  { 0x0004EE, 0x0004EE, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
+  { 0x0004F0, 0x0004F0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
+  { 0x0004F2, 0x0004F2, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
+  { 0x0004F4, 0x0004F4, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
+  { 0x0004F8, 0x0004F8, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
+  { 0x000500, 0x000500, { 0x000501 }},                      /* 0500; 0501; Case map */
+  { 0x000502, 0x000502, { 0x000503 }},                      /* 0502; 0503; Case map */
+  { 0x000504, 0x000504, { 0x000505 }},                      /* 0504; 0505; Case map */
+  { 0x000506, 0x000506, { 0x000507 }},                      /* 0506; 0507; Case map */
+  { 0x000508, 0x000508, { 0x000509 }},                      /* 0508; 0509; Case map */
+  { 0x00050A, 0x00050A, { 0x00050B }},                      /* 050A; 050B; Case map */
+  { 0x00050C, 0x00050C, { 0x00050D }},                      /* 050C; 050D; Case map */
+  { 0x00050E, 0x00050E, { 0x00050F }},                      /* 050E; 050F; Case map */
+  { 0x000531, 0x000531, { 0x000561 }},                      /* 0531; 0561; Case map */
+  { 0x000532, 0x000532, { 0x000562 }},                      /* 0532; 0562; Case map */
+  { 0x000533, 0x000533, { 0x000563 }},                      /* 0533; 0563; Case map */
+  { 0x000534, 0x000534, { 0x000564 }},                      /* 0534; 0564; Case map */
+  { 0x000535, 0x000535, { 0x000565 }},                      /* 0535; 0565; Case map */
+  { 0x000536, 0x000536, { 0x000566 }},                      /* 0536; 0566; Case map */
+  { 0x000537, 0x000537, { 0x000567 }},                      /* 0537; 0567; Case map */
+  { 0x000538, 0x000538, { 0x000568 }},                      /* 0538; 0568; Case map */
+  { 0x000539, 0x000539, { 0x000569 }},                      /* 0539; 0569; Case map */
+  { 0x00053A, 0x00053A, { 0x00056A }},                      /* 053A; 056A; Case map */
+  { 0x00053B, 0x00053B, { 0x00056B }},                      /* 053B; 056B; Case map */
+  { 0x00053C, 0x00053C, { 0x00056C }},                      /* 053C; 056C; Case map */
+  { 0x00053D, 0x00053D, { 0x00056D }},                      /* 053D; 056D; Case map */
+  { 0x00053E, 0x00053E, { 0x00056E }},                      /* 053E; 056E; Case map */
+  { 0x00053F, 0x00053F, { 0x00056F }},                      /* 053F; 056F; Case map */
+  { 0x000540, 0x000540, { 0x000570 }},                      /* 0540; 0570; Case map */
+  { 0x000541, 0x000541, { 0x000571 }},                      /* 0541; 0571; Case map */
+  { 0x000542, 0x000542, { 0x000572 }},                      /* 0542; 0572; Case map */
+  { 0x000543, 0x000543, { 0x000573 }},                      /* 0543; 0573; Case map */
+  { 0x000544, 0x000544, { 0x000574 }},                      /* 0544; 0574; Case map */
+  { 0x000545, 0x000545, { 0x000575 }},                      /* 0545; 0575; Case map */
+  { 0x000546, 0x000546, { 0x000576 }},                      /* 0546; 0576; Case map */
+  { 0x000547, 0x000547, { 0x000577 }},                      /* 0547; 0577; Case map */
+  { 0x000548, 0x000548, { 0x000578 }},                      /* 0548; 0578; Case map */
+  { 0x000549, 0x000549, { 0x000579 }},                      /* 0549; 0579; Case map */
+  { 0x00054A, 0x00054A, { 0x00057A }},                      /* 054A; 057A; Case map */
+  { 0x00054B, 0x00054B, { 0x00057B }},                      /* 054B; 057B; Case map */
+  { 0x00054C, 0x00054C, { 0x00057C }},                      /* 054C; 057C; Case map */
+  { 0x00054D, 0x00054D, { 0x00057D }},                      /* 054D; 057D; Case map */
+  { 0x00054E, 0x00054E, { 0x00057E }},                      /* 054E; 057E; Case map */
+  { 0x00054F, 0x00054F, { 0x00057F }},                      /* 054F; 057F; Case map */
+  { 0x000550, 0x000550, { 0x000580 }},                      /* 0550; 0580; Case map */
+  { 0x000551, 0x000551, { 0x000581 }},                      /* 0551; 0581; Case map */
+  { 0x000552, 0x000552, { 0x000582 }},                      /* 0552; 0582; Case map */
+  { 0x000553, 0x000553, { 0x000583 }},                      /* 0553; 0583; Case map */
+  { 0x000554, 0x000554, { 0x000584 }},                      /* 0554; 0584; Case map */
+  { 0x000555, 0x000555, { 0x000585 }},                      /* 0555; 0585; Case map */
+  { 0x000556, 0x000556, { 0x000586 }},                      /* 0556; 0586; Case map */
+  { 0x000587, 0x000587, { 0x000565,                    /* 0587; 0565 0582; Case map */
                    0x000582 }},
-  { 0x001E00, 0, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
-  { 0x001E02, 0, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
-  { 0x001E04, 0, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
-  { 0x001E06, 0, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
-  { 0x001E08, 0, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
-  { 0x001E0A, 0, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
-  { 0x001E0C, 0, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
-  { 0x001E0E, 0, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
-  { 0x001E10, 0, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
-  { 0x001E12, 0, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
-  { 0x001E14, 0, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
-  { 0x001E16, 0, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
-  { 0x001E18, 0, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
-  { 0x001E1A, 0, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
-  { 0x001E1C, 0, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
-  { 0x001E1E, 0, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
-  { 0x001E20, 0, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
-  { 0x001E22, 0, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
-  { 0x001E24, 0, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
-  { 0x001E26, 0, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
-  { 0x001E28, 0, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
-  { 0x001E2A, 0, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
-  { 0x001E2C, 0, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
-  { 0x001E2E, 0, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
-  { 0x001E30, 0, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
-  { 0x001E32, 0, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
-  { 0x001E34, 0, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
-  { 0x001E36, 0, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
-  { 0x001E38, 0, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
-  { 0x001E3A, 0, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
-  { 0x001E3C, 0, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
-  { 0x001E3E, 0, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
-  { 0x001E40, 0, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
-  { 0x001E42, 0, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
-  { 0x001E44, 0, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
-  { 0x001E46, 0, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
-  { 0x001E48, 0, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
-  { 0x001E4A, 0, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
-  { 0x001E4C, 0, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
-  { 0x001E4E, 0, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
-  { 0x001E50, 0, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
-  { 0x001E52, 0, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
-  { 0x001E54, 0, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
-  { 0x001E56, 0, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
-  { 0x001E58, 0, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
-  { 0x001E5A, 0, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
-  { 0x001E5C, 0, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
-  { 0x001E5E, 0, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
-  { 0x001E60, 0, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
-  { 0x001E62, 0, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
-  { 0x001E64, 0, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
-  { 0x001E66, 0, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
-  { 0x001E68, 0, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
-  { 0x001E6A, 0, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
-  { 0x001E6C, 0, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
-  { 0x001E6E, 0, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
-  { 0x001E70, 0, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
-  { 0x001E72, 0, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
-  { 0x001E74, 0, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
-  { 0x001E76, 0, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
-  { 0x001E78, 0, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
-  { 0x001E7A, 0, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
-  { 0x001E7C, 0, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
-  { 0x001E7E, 0, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
-  { 0x001E80, 0, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
-  { 0x001E82, 0, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
-  { 0x001E84, 0, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
-  { 0x001E86, 0, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
-  { 0x001E88, 0, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
-  { 0x001E8A, 0, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
-  { 0x001E8C, 0, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
-  { 0x001E8E, 0, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
-  { 0x001E90, 0, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
-  { 0x001E92, 0, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
-  { 0x001E94, 0, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
-  { 0x001E96, 0, { 0x000068,                    /* 1E96; 0068 0331; Case map */
+  { 0x001E00, 0x001E00, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
+  { 0x001E02, 0x001E02, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
+  { 0x001E04, 0x001E04, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
+  { 0x001E06, 0x001E06, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
+  { 0x001E08, 0x001E08, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
+  { 0x001E0A, 0x001E0A, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
+  { 0x001E0C, 0x001E0C, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
+  { 0x001E0E, 0x001E0E, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
+  { 0x001E10, 0x001E10, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
+  { 0x001E12, 0x001E12, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
+  { 0x001E14, 0x001E14, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
+  { 0x001E16, 0x001E16, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
+  { 0x001E18, 0x001E18, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
+  { 0x001E1A, 0x001E1A, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
+  { 0x001E1C, 0x001E1C, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
+  { 0x001E1E, 0x001E1E, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
+  { 0x001E20, 0x001E20, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
+  { 0x001E22, 0x001E22, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
+  { 0x001E24, 0x001E24, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
+  { 0x001E26, 0x001E26, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
+  { 0x001E28, 0x001E28, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
+  { 0x001E2A, 0x001E2A, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
+  { 0x001E2C, 0x001E2C, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
+  { 0x001E2E, 0x001E2E, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
+  { 0x001E30, 0x001E30, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
+  { 0x001E32, 0x001E32, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
+  { 0x001E34, 0x001E34, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
+  { 0x001E36, 0x001E36, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
+  { 0x001E38, 0x001E38, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
+  { 0x001E3A, 0x001E3A, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
+  { 0x001E3C, 0x001E3C, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
+  { 0x001E3E, 0x001E3E, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
+  { 0x001E40, 0x001E40, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
+  { 0x001E42, 0x001E42, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
+  { 0x001E44, 0x001E44, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
+  { 0x001E46, 0x001E46, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
+  { 0x001E48, 0x001E48, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
+  { 0x001E4A, 0x001E4A, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
+  { 0x001E4C, 0x001E4C, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
+  { 0x001E4E, 0x001E4E, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
+  { 0x001E50, 0x001E50, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
+  { 0x001E52, 0x001E52, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
+  { 0x001E54, 0x001E54, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
+  { 0x001E56, 0x001E56, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
+  { 0x001E58, 0x001E58, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
+  { 0x001E5A, 0x001E5A, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
+  { 0x001E5C, 0x001E5C, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
+  { 0x001E5E, 0x001E5E, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
+  { 0x001E60, 0x001E60, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
+  { 0x001E62, 0x001E62, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
+  { 0x001E64, 0x001E64, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
+  { 0x001E66, 0x001E66, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
+  { 0x001E68, 0x001E68, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
+  { 0x001E6A, 0x001E6A, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
+  { 0x001E6C, 0x001E6C, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
+  { 0x001E6E, 0x001E6E, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
+  { 0x001E70, 0x001E70, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
+  { 0x001E72, 0x001E72, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
+  { 0x001E74, 0x001E74, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
+  { 0x001E76, 0x001E76, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
+  { 0x001E78, 0x001E78, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
+  { 0x001E7A, 0x001E7A, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
+  { 0x001E7C, 0x001E7C, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
+  { 0x001E7E, 0x001E7E, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
+  { 0x001E80, 0x001E80, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
+  { 0x001E82, 0x001E82, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
+  { 0x001E84, 0x001E84, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
+  { 0x001E86, 0x001E86, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
+  { 0x001E88, 0x001E88, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
+  { 0x001E8A, 0x001E8A, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
+  { 0x001E8C, 0x001E8C, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
+  { 0x001E8E, 0x001E8E, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
+  { 0x001E90, 0x001E90, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
+  { 0x001E92, 0x001E92, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
+  { 0x001E94, 0x001E94, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
+  { 0x001E96, 0x001E96, { 0x000068,                    /* 1E96; 0068 0331; Case map */
                    0x000331 }},
-  { 0x001E97, 0, { 0x000074,                    /* 1E97; 0074 0308; Case map */
+  { 0x001E97, 0x001E97, { 0x000074,                    /* 1E97; 0074 0308; Case map */
                    0x000308 }},
-  { 0x001E98, 0, { 0x000077,                    /* 1E98; 0077 030A; Case map */
+  { 0x001E98, 0x001E98, { 0x000077,                    /* 1E98; 0077 030A; Case map */
                    0x00030A }},
-  { 0x001E99, 0, { 0x000079,                    /* 1E99; 0079 030A; Case map */
+  { 0x001E99, 0x001E99, { 0x000079,                    /* 1E99; 0079 030A; Case map */
                    0x00030A }},
-  { 0x001E9A, 0, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
+  { 0x001E9A, 0x001E9A, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
                    0x0002BE }},
-  { 0x001E9B, 0, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
-  { 0x001EA0, 0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
-  { 0x001EA2, 0, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
-  { 0x001EA4, 0, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
-  { 0x001EA6, 0, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
-  { 0x001EA8, 0, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
-  { 0x001EAA, 0, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
-  { 0x001EAC, 0, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
-  { 0x001EAE, 0, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
-  { 0x001EB0, 0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
-  { 0x001EB2, 0, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
-  { 0x001EB4, 0, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
-  { 0x001EB6, 0, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
-  { 0x001EB8, 0, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
-  { 0x001EBA, 0, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
-  { 0x001EBC, 0, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
-  { 0x001EBE, 0, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
-  { 0x001EC0, 0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
-  { 0x001EC2, 0, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
-  { 0x001EC4, 0, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
-  { 0x001EC6, 0, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
-  { 0x001EC8, 0, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
-  { 0x001ECA, 0, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
-  { 0x001ECC, 0, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
-  { 0x001ECE, 0, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
-  { 0x001ED0, 0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
-  { 0x001ED2, 0, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
-  { 0x001ED4, 0, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
-  { 0x001ED6, 0, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
-  { 0x001ED8, 0, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
-  { 0x001EDA, 0, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
-  { 0x001EDC, 0, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
-  { 0x001EDE, 0, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
-  { 0x001EE0, 0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
-  { 0x001EE2, 0, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
-  { 0x001EE4, 0, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
-  { 0x001EE6, 0, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
-  { 0x001EE8, 0, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
-  { 0x001EEA, 0, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
-  { 0x001EEC, 0, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
-  { 0x001EEE, 0, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
-  { 0x001EF0, 0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
-  { 0x001EF2, 0, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
-  { 0x001EF4, 0, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
-  { 0x001EF6, 0, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
-  { 0x001EF8, 0, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
-  { 0x001F08, 0, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
-  { 0x001F09, 0, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
-  { 0x001F0A, 0, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
-  { 0x001F0B, 0, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
-  { 0x001F0C, 0, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
-  { 0x001F0D, 0, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
-  { 0x001F0E, 0, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
-  { 0x001F0F, 0, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
-  { 0x001F18, 0, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
-  { 0x001F19, 0, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
-  { 0x001F1A, 0, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
-  { 0x001F1B, 0, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
-  { 0x001F1C, 0, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
-  { 0x001F1D, 0, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
-  { 0x001F28, 0, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
-  { 0x001F29, 0, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
-  { 0x001F2A, 0, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
-  { 0x001F2B, 0, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
-  { 0x001F2C, 0, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
-  { 0x001F2D, 0, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
-  { 0x001F2E, 0, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
-  { 0x001F2F, 0, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
-  { 0x001F38, 0, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
-  { 0x001F39, 0, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
-  { 0x001F3A, 0, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
-  { 0x001F3B, 0, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
-  { 0x001F3C, 0, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
-  { 0x001F3D, 0, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
-  { 0x001F3E, 0, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
-  { 0x001F3F, 0, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
-  { 0x001F48, 0, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
-  { 0x001F49, 0, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
-  { 0x001F4A, 0, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
-  { 0x001F4B, 0, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
-  { 0x001F4C, 0, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
-  { 0x001F4D, 0, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
-  { 0x001F50, 0, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
+  { 0x001E9B, 0x001E9B, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
+  { 0x001EA0, 0x001EA0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
+  { 0x001EA2, 0x001EA2, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
+  { 0x001EA4, 0x001EA4, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
+  { 0x001EA6, 0x001EA6, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
+  { 0x001EA8, 0x001EA8, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
+  { 0x001EAA, 0x001EAA, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
+  { 0x001EAC, 0x001EAC, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
+  { 0x001EAE, 0x001EAE, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
+  { 0x001EB0, 0x001EB0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
+  { 0x001EB2, 0x001EB2, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
+  { 0x001EB4, 0x001EB4, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
+  { 0x001EB6, 0x001EB6, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
+  { 0x001EB8, 0x001EB8, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
+  { 0x001EBA, 0x001EBA, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
+  { 0x001EBC, 0x001EBC, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
+  { 0x001EBE, 0x001EBE, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
+  { 0x001EC0, 0x001EC0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
+  { 0x001EC2, 0x001EC2, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
+  { 0x001EC4, 0x001EC4, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
+  { 0x001EC6, 0x001EC6, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
+  { 0x001EC8, 0x001EC8, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
+  { 0x001ECA, 0x001ECA, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
+  { 0x001ECC, 0x001ECC, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
+  { 0x001ECE, 0x001ECE, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
+  { 0x001ED0, 0x001ED0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
+  { 0x001ED2, 0x001ED2, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
+  { 0x001ED4, 0x001ED4, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
+  { 0x001ED6, 0x001ED6, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
+  { 0x001ED8, 0x001ED8, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
+  { 0x001EDA, 0x001EDA, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
+  { 0x001EDC, 0x001EDC, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
+  { 0x001EDE, 0x001EDE, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
+  { 0x001EE0, 0x001EE0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
+  { 0x001EE2, 0x001EE2, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
+  { 0x001EE4, 0x001EE4, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
+  { 0x001EE6, 0x001EE6, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
+  { 0x001EE8, 0x001EE8, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
+  { 0x001EEA, 0x001EEA, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
+  { 0x001EEC, 0x001EEC, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
+  { 0x001EEE, 0x001EEE, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
+  { 0x001EF0, 0x001EF0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
+  { 0x001EF2, 0x001EF2, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
+  { 0x001EF4, 0x001EF4, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
+  { 0x001EF6, 0x001EF6, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
+  { 0x001EF8, 0x001EF8, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
+  { 0x001F08, 0x001F08, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
+  { 0x001F09, 0x001F09, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
+  { 0x001F0A, 0x001F0A, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
+  { 0x001F0B, 0x001F0B, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
+  { 0x001F0C, 0x001F0C, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
+  { 0x001F0D, 0x001F0D, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
+  { 0x001F0E, 0x001F0E, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
+  { 0x001F0F, 0x001F0F, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
+  { 0x001F18, 0x001F18, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
+  { 0x001F19, 0x001F19, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
+  { 0x001F1A, 0x001F1A, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
+  { 0x001F1B, 0x001F1B, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
+  { 0x001F1C, 0x001F1C, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
+  { 0x001F1D, 0x001F1D, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
+  { 0x001F28, 0x001F28, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
+  { 0x001F29, 0x001F29, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
+  { 0x001F2A, 0x001F2A, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
+  { 0x001F2B, 0x001F2B, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
+  { 0x001F2C, 0x001F2C, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
+  { 0x001F2D, 0x001F2D, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
+  { 0x001F2E, 0x001F2E, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
+  { 0x001F2F, 0x001F2F, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
+  { 0x001F38, 0x001F38, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
+  { 0x001F39, 0x001F39, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
+  { 0x001F3A, 0x001F3A, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
+  { 0x001F3B, 0x001F3B, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
+  { 0x001F3C, 0x001F3C, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
+  { 0x001F3D, 0x001F3D, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
+  { 0x001F3E, 0x001F3E, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
+  { 0x001F3F, 0x001F3F, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
+  { 0x001F48, 0x001F48, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
+  { 0x001F49, 0x001F49, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
+  { 0x001F4A, 0x001F4A, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
+  { 0x001F4B, 0x001F4B, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
+  { 0x001F4C, 0x001F4C, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
+  { 0x001F4D, 0x001F4D, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
+  { 0x001F50, 0x001F50, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
                    0x000313 }},
-  { 0x001F52, 0, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
+  { 0x001F52, 0x001F52, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
                    0x000313, 0x000300 }},
-  { 0x001F54, 0, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
+  { 0x001F54, 0x001F54, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
                    0x000313, 0x000301 }},
-  { 0x001F56, 0, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
+  { 0x001F56, 0x001F56, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
                    0x000313, 0x000342 }},
-  { 0x001F59, 0, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
-  { 0x001F5B, 0, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
-  { 0x001F5D, 0, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
-  { 0x001F5F, 0, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
-  { 0x001F68, 0, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
-  { 0x001F69, 0, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
-  { 0x001F6A, 0, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
-  { 0x001F6B, 0, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
-  { 0x001F6C, 0, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
-  { 0x001F6D, 0, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
-  { 0x001F6E, 0, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
-  { 0x001F6F, 0, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
-  { 0x001F80, 0, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
+  { 0x001F59, 0x001F59, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
+  { 0x001F5B, 0x001F5B, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
+  { 0x001F5D, 0x001F5D, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
+  { 0x001F5F, 0x001F5F, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
+  { 0x001F68, 0x001F68, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
+  { 0x001F69, 0x001F69, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
+  { 0x001F6A, 0x001F6A, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
+  { 0x001F6B, 0x001F6B, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
+  { 0x001F6C, 0x001F6C, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
+  { 0x001F6D, 0x001F6D, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
+  { 0x001F6E, 0x001F6E, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
+  { 0x001F6F, 0x001F6F, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
+  { 0x001F80, 0x001F80, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F81, 0, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
+  { 0x001F81, 0x001F81, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F82, 0, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
+  { 0x001F82, 0x001F82, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F83, 0, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
+  { 0x001F83, 0x001F83, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F84, 0, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
+  { 0x001F84, 0x001F84, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F85, 0, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
+  { 0x001F85, 0x001F85, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F86, 0, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
+  { 0x001F86, 0x001F86, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F87, 0, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
+  { 0x001F87, 0x001F87, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F88, 0, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
+  { 0x001F88, 0x001F88, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F89, 0, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
+  { 0x001F89, 0x001F89, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8A, 0, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
+  { 0x001F8A, 0x001F8A, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8B, 0, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
+  { 0x001F8B, 0x001F8B, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8C, 0, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
+  { 0x001F8C, 0x001F8C, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8D, 0, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
+  { 0x001F8D, 0x001F8D, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8E, 0, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
+  { 0x001F8E, 0x001F8E, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8F, 0, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
+  { 0x001F8F, 0x001F8F, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F90, 0, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
+  { 0x001F90, 0x001F90, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F91, 0, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
+  { 0x001F91, 0x001F91, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F92, 0, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
+  { 0x001F92, 0x001F92, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F93, 0, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
+  { 0x001F93, 0x001F93, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F94, 0, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
+  { 0x001F94, 0x001F94, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F95, 0, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
+  { 0x001F95, 0x001F95, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F96, 0, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
+  { 0x001F96, 0x001F96, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F97, 0, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
+  { 0x001F97, 0x001F97, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F98, 0, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
+  { 0x001F98, 0x001F98, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F99, 0, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
+  { 0x001F99, 0x001F99, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9A, 0, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
+  { 0x001F9A, 0x001F9A, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9B, 0, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
+  { 0x001F9B, 0x001F9B, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9C, 0, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
+  { 0x001F9C, 0x001F9C, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9D, 0, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
+  { 0x001F9D, 0x001F9D, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9E, 0, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
+  { 0x001F9E, 0x001F9E, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9F, 0, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
+  { 0x001F9F, 0x001F9F, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA0, 0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
+  { 0x001FA0, 0x001FA0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA1, 0, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
+  { 0x001FA1, 0x001FA1, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA2, 0, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
+  { 0x001FA2, 0x001FA2, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA3, 0, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
+  { 0x001FA3, 0x001FA3, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA4, 0, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
+  { 0x001FA4, 0x001FA4, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA5, 0, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
+  { 0x001FA5, 0x001FA5, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA6, 0, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
+  { 0x001FA6, 0x001FA6, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA7, 0, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
+  { 0x001FA7, 0x001FA7, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA8, 0, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
+  { 0x001FA8, 0x001FA8, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA9, 0, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
+  { 0x001FA9, 0x001FA9, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAA, 0, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
+  { 0x001FAA, 0x001FAA, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAB, 0, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
+  { 0x001FAB, 0x001FAB, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAC, 0, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
+  { 0x001FAC, 0x001FAC, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAD, 0, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
+  { 0x001FAD, 0x001FAD, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAE, 0, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
+  { 0x001FAE, 0x001FAE, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAF, 0, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
+  { 0x001FAF, 0x001FAF, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB2, 0, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
+  { 0x001FB2, 0x001FB2, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB3, 0, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
+  { 0x001FB3, 0x001FB3, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB4, 0, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
+  { 0x001FB4, 0x001FB4, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB6, 0, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
+  { 0x001FB6, 0x001FB6, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
                    0x000342 }},
-  { 0x001FB7, 0, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
+  { 0x001FB7, 0x001FB7, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FB8, 0, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
-  { 0x001FB9, 0, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
-  { 0x001FBA, 0, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
-  { 0x001FBB, 0, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
-  { 0x001FBC, 0, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
+  { 0x001FB8, 0x001FB8, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
+  { 0x001FB9, 0x001FB9, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
+  { 0x001FBA, 0x001FBA, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
+  { 0x001FBB, 0x001FBB, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
+  { 0x001FBC, 0x001FBC, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FBE, 0, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
-  { 0x001FC2, 0, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
+  { 0x001FBE, 0x001FBE, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
+  { 0x001FC2, 0x001FC2, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC3, 0, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
+  { 0x001FC3, 0x001FC3, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC4, 0, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
+  { 0x001FC4, 0x001FC4, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC6, 0, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
+  { 0x001FC6, 0x001FC6, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
                    0x000342 }},
-  { 0x001FC7, 0, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
+  { 0x001FC7, 0x001FC7, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FC8, 0, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
-  { 0x001FC9, 0, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
-  { 0x001FCA, 0, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
-  { 0x001FCB, 0, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
-  { 0x001FCC, 0, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
+  { 0x001FC8, 0x001FC8, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
+  { 0x001FC9, 0x001FC9, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
+  { 0x001FCA, 0x001FCA, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
+  { 0x001FCB, 0x001FCB, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
+  { 0x001FCC, 0x001FCC, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FD2, 0, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
+  { 0x001FD2, 0x001FD2, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
                    0x000308, 0x000300 }},
-  { 0x001FD3, 0, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
+  { 0x001FD3, 0x001FD3, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x001FD6, 0, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
+  { 0x001FD6, 0x001FD6, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
                    0x000342 }},
-  { 0x001FD7, 0, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
+  { 0x001FD7, 0x001FD7, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
                    0x000308, 0x000342 }},
-  { 0x001FD8, 0, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
-  { 0x001FD9, 0, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
-  { 0x001FDA, 0, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
-  { 0x001FDB, 0, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
-  { 0x001FE2, 0, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
+  { 0x001FD8, 0x001FD8, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
+  { 0x001FD9, 0x001FD9, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
+  { 0x001FDA, 0x001FDA, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
+  { 0x001FDB, 0x001FDB, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
+  { 0x001FE2, 0x001FE2, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
                    0x000308, 0x000300 }},
-  { 0x001FE3, 0, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
+  { 0x001FE3, 0x001FE3, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x001FE4, 0, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
+  { 0x001FE4, 0x001FE4, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
                    0x000313 }},
-  { 0x001FE6, 0, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
+  { 0x001FE6, 0x001FE6, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
                    0x000342 }},
-  { 0x001FE7, 0, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
+  { 0x001FE7, 0x001FE7, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
                    0x000308, 0x000342 }},
-  { 0x001FE8, 0, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
-  { 0x001FE9, 0, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
-  { 0x001FEA, 0, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
-  { 0x001FEB, 0, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
-  { 0x001FEC, 0, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
-  { 0x001FF2, 0, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
+  { 0x001FE8, 0x001FE8, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
+  { 0x001FE9, 0x001FE9, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
+  { 0x001FEA, 0x001FEA, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
+  { 0x001FEB, 0x001FEB, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
+  { 0x001FEC, 0x001FEC, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
+  { 0x001FF2, 0x001FF2, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF3, 0, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
+  { 0x001FF3, 0x001FF3, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF4, 0, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
+  { 0x001FF4, 0x001FF4, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF6, 0, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
+  { 0x001FF6, 0x001FF6, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
                    0x000342 }},
-  { 0x001FF7, 0, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
+  { 0x001FF7, 0x001FF7, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FF8, 0, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
-  { 0x001FF9, 0, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
-  { 0x001FFA, 0, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
-  { 0x001FFB, 0, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
-  { 0x001FFC, 0, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
+  { 0x001FF8, 0x001FF8, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
+  { 0x001FF9, 0x001FF9, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
+  { 0x001FFA, 0x001FFA, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
+  { 0x001FFB, 0x001FFB, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
+  { 0x001FFC, 0x001FFC, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
                    0x0003B9 }},
-  { 0x0020A8, 0, { 0x000072,          /* 20A8; 0072 0073; Additional folding */
+  { 0x0020A8, 0x0020A8, { 0x000072,          /* 20A8; 0072 0073; Additional folding */
                    0x000073 }},
-  { 0x002102, 0, { 0x000063 }},            /* 2102; 0063; Additional folding */
-  { 0x002103, 0, { 0x0000B0,          /* 2103; 00B0 0063; Additional folding */
+  { 0x002102, 0x002102, { 0x000063 }},            /* 2102; 0063; Additional folding */
+  { 0x002103, 0x002103, { 0x0000B0,          /* 2103; 00B0 0063; Additional folding */
                    0x000063 }},
-  { 0x002107, 0, { 0x00025B }},            /* 2107; 025B; Additional folding */
-  { 0x002109, 0, { 0x0000B0,          /* 2109; 00B0 0066; Additional folding */
+  { 0x002107, 0x002107, { 0x00025B }},            /* 2107; 025B; Additional folding */
+  { 0x002109, 0x002109, { 0x0000B0,          /* 2109; 00B0 0066; Additional folding */
                    0x000066 }},
-  { 0x00210B, 0, { 0x000068 }},            /* 210B; 0068; Additional folding */
-  { 0x00210C, 0, { 0x000068 }},            /* 210C; 0068; Additional folding */
-  { 0x00210D, 0, { 0x000068 }},            /* 210D; 0068; Additional folding */
-  { 0x002110, 0, { 0x000069 }},            /* 2110; 0069; Additional folding */
-  { 0x002111, 0, { 0x000069 }},            /* 2111; 0069; Additional folding */
-  { 0x002112, 0, { 0x00006C }},            /* 2112; 006C; Additional folding */
-  { 0x002115, 0, { 0x00006E }},            /* 2115; 006E; Additional folding */
-  { 0x002116, 0, { 0x00006E,          /* 2116; 006E 006F; Additional folding */
+  { 0x00210B, 0x00210B, { 0x000068 }},            /* 210B; 0068; Additional folding */
+  { 0x00210C, 0x00210C, { 0x000068 }},            /* 210C; 0068; Additional folding */
+  { 0x00210D, 0x00210D, { 0x000068 }},            /* 210D; 0068; Additional folding */
+  { 0x002110, 0x002110, { 0x000069 }},            /* 2110; 0069; Additional folding */
+  { 0x002111, 0x002111, { 0x000069 }},            /* 2111; 0069; Additional folding */
+  { 0x002112, 0x002112, { 0x00006C }},            /* 2112; 006C; Additional folding */
+  { 0x002115, 0x002115, { 0x00006E }},            /* 2115; 006E; Additional folding */
+  { 0x002116, 0x002116, { 0x00006E,          /* 2116; 006E 006F; Additional folding */
                    0x00006F }},
-  { 0x002119, 0, { 0x000070 }},            /* 2119; 0070; Additional folding */
-  { 0x00211A, 0, { 0x000071 }},            /* 211A; 0071; Additional folding */
-  { 0x00211B, 0, { 0x000072 }},            /* 211B; 0072; Additional folding */
-  { 0x00211C, 0, { 0x000072 }},            /* 211C; 0072; Additional folding */
-  { 0x00211D, 0, { 0x000072 }},            /* 211D; 0072; Additional folding */
-  { 0x002120, 0, { 0x000073,          /* 2120; 0073 006D; Additional folding */
+  { 0x002119, 0x002119, { 0x000070 }},            /* 2119; 0070; Additional folding */
+  { 0x00211A, 0x00211A, { 0x000071 }},            /* 211A; 0071; Additional folding */
+  { 0x00211B, 0x00211B, { 0x000072 }},            /* 211B; 0072; Additional folding */
+  { 0x00211C, 0x00211C, { 0x000072 }},            /* 211C; 0072; Additional folding */
+  { 0x00211D, 0x00211D, { 0x000072 }},            /* 211D; 0072; Additional folding */
+  { 0x002120, 0x002120, { 0x000073,          /* 2120; 0073 006D; Additional folding */
                    0x00006D }},
-  { 0x002121, 0, { 0x000074,     /* 2121; 0074 0065 006C; Additional folding */
+  { 0x002121, 0x002121, { 0x000074,     /* 2121; 0074 0065 006C; Additional folding */
                    0x000065, 0x00006C }},
-  { 0x002122, 0, { 0x000074,          /* 2122; 0074 006D; Additional folding */
+  { 0x002122, 0x002122, { 0x000074,          /* 2122; 0074 006D; Additional folding */
                    0x00006D }},
-  { 0x002124, 0, { 0x00007A }},            /* 2124; 007A; Additional folding */
-  { 0x002126, 0, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
-  { 0x002128, 0, { 0x00007A }},            /* 2128; 007A; Additional folding */
-  { 0x00212A, 0, { 0x00006B }},                      /* 212A; 006B; Case map */
-  { 0x00212B, 0, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
-  { 0x00212C, 0, { 0x000062 }},            /* 212C; 0062; Additional folding */
-  { 0x00212D, 0, { 0x000063 }},            /* 212D; 0063; Additional folding */
-  { 0x002130, 0, { 0x000065 }},            /* 2130; 0065; Additional folding */
-  { 0x002131, 0, { 0x000066 }},            /* 2131; 0066; Additional folding */
-  { 0x002133, 0, { 0x00006D }},            /* 2133; 006D; Additional folding */
-  { 0x00213E, 0, { 0x0003B3 }},            /* 213E; 03B3; Additional folding */
-  { 0x00213F, 0, { 0x0003C0 }},            /* 213F; 03C0; Additional folding */
-  { 0x002145, 0, { 0x000064 }},            /* 2145; 0064; Additional folding */
-  { 0x002160, 0, { 0x002170 }},                      /* 2160; 2170; Case map */
-  { 0x002161, 0, { 0x002171 }},                      /* 2161; 2171; Case map */
-  { 0x002162, 0, { 0x002172 }},                      /* 2162; 2172; Case map */
-  { 0x002163, 0, { 0x002173 }},                      /* 2163; 2173; Case map */
-  { 0x002164, 0, { 0x002174 }},                      /* 2164; 2174; Case map */
-  { 0x002165, 0, { 0x002175 }},                      /* 2165; 2175; Case map */
-  { 0x002166, 0, { 0x002176 }},                      /* 2166; 2176; Case map */
-  { 0x002167, 0, { 0x002177 }},                      /* 2167; 2177; Case map */
-  { 0x002168, 0, { 0x002178 }},                      /* 2168; 2178; Case map */
-  { 0x002169, 0, { 0x002179 }},                      /* 2169; 2179; Case map */
-  { 0x00216A, 0, { 0x00217A }},                      /* 216A; 217A; Case map */
-  { 0x00216B, 0, { 0x00217B }},                      /* 216B; 217B; Case map */
-  { 0x00216C, 0, { 0x00217C }},                      /* 216C; 217C; Case map */
-  { 0x00216D, 0, { 0x00217D }},                      /* 216D; 217D; Case map */
-  { 0x00216E, 0, { 0x00217E }},                      /* 216E; 217E; Case map */
-  { 0x00216F, 0, { 0x00217F }},                      /* 216F; 217F; Case map */
-  { 0x0024B6, 0, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
-  { 0x0024B7, 0, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
-  { 0x0024B8, 0, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
-  { 0x0024B9, 0, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
-  { 0x0024BA, 0, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
-  { 0x0024BB, 0, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
-  { 0x0024BC, 0, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
-  { 0x0024BD, 0, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
-  { 0x0024BE, 0, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
-  { 0x0024BF, 0, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
-  { 0x0024C0, 0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
-  { 0x0024C1, 0, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
-  { 0x0024C2, 0, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
-  { 0x0024C3, 0, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
-  { 0x0024C4, 0, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
-  { 0x0024C5, 0, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
-  { 0x0024C6, 0, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
-  { 0x0024C7, 0, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
-  { 0x0024C8, 0, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
-  { 0x0024C9, 0, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
-  { 0x0024CA, 0, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
-  { 0x0024CB, 0, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
-  { 0x0024CC, 0, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
-  { 0x0024CD, 0, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
-  { 0x0024CE, 0, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
-  { 0x0024CF, 0, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
-  { 0x003371, 0, { 0x000068,     /* 3371; 0068 0070 0061; Additional folding */
+  { 0x002124, 0x002124, { 0x00007A }},            /* 2124; 007A; Additional folding */
+  { 0x002126, 0x002126, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
+  { 0x002128, 0x002128, { 0x00007A }},            /* 2128; 007A; Additional folding */
+  { 0x00212A, 0x00212A, { 0x00006B }},                      /* 212A; 006B; Case map */
+  { 0x00212B, 0x00212B, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
+  { 0x00212C, 0x00212C, { 0x000062 }},            /* 212C; 0062; Additional folding */
+  { 0x00212D, 0x00212D, { 0x000063 }},            /* 212D; 0063; Additional folding */
+  { 0x002130, 0x002130, { 0x000065 }},            /* 2130; 0065; Additional folding */
+  { 0x002131, 0x002131, { 0x000066 }},            /* 2131; 0066; Additional folding */
+  { 0x002133, 0x002133, { 0x00006D }},            /* 2133; 006D; Additional folding */
+  { 0x00213E, 0x00213E, { 0x0003B3 }},            /* 213E; 03B3; Additional folding */
+  { 0x00213F, 0x00213F, { 0x0003C0 }},            /* 213F; 03C0; Additional folding */
+  { 0x002145, 0x002145, { 0x000064 }},            /* 2145; 0064; Additional folding */
+  { 0x002160, 0x002160, { 0x002170 }},                      /* 2160; 2170; Case map */
+  { 0x002161, 0x002161, { 0x002171 }},                      /* 2161; 2171; Case map */
+  { 0x002162, 0x002162, { 0x002172 }},                      /* 2162; 2172; Case map */
+  { 0x002163, 0x002163, { 0x002173 }},                      /* 2163; 2173; Case map */
+  { 0x002164, 0x002164, { 0x002174 }},                      /* 2164; 2174; Case map */
+  { 0x002165, 0x002165, { 0x002175 }},                      /* 2165; 2175; Case map */
+  { 0x002166, 0x002166, { 0x002176 }},                      /* 2166; 2176; Case map */
+  { 0x002167, 0x002167, { 0x002177 }},                      /* 2167; 2177; Case map */
+  { 0x002168, 0x002168, { 0x002178 }},                      /* 2168; 2178; Case map */
+  { 0x002169, 0x002169, { 0x002179 }},                      /* 2169; 2179; Case map */
+  { 0x00216A, 0x00216A, { 0x00217A }},                      /* 216A; 217A; Case map */
+  { 0x00216B, 0x00216B, { 0x00217B }},                      /* 216B; 217B; Case map */
+  { 0x00216C, 0x00216C, { 0x00217C }},                      /* 216C; 217C; Case map */
+  { 0x00216D, 0x00216D, { 0x00217D }},                      /* 216D; 217D; Case map */
+  { 0x00216E, 0x00216E, { 0x00217E }},                      /* 216E; 217E; Case map */
+  { 0x00216F, 0x00216F, { 0x00217F }},                      /* 216F; 217F; Case map */
+  { 0x0024B6, 0x0024B6, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
+  { 0x0024B7, 0x0024B7, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
+  { 0x0024B8, 0x0024B8, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
+  { 0x0024B9, 0x0024B9, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
+  { 0x0024BA, 0x0024BA, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
+  { 0x0024BB, 0x0024BB, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
+  { 0x0024BC, 0x0024BC, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
+  { 0x0024BD, 0x0024BD, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
+  { 0x0024BE, 0x0024BE, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
+  { 0x0024BF, 0x0024BF, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
+  { 0x0024C0, 0x0024C0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
+  { 0x0024C1, 0x0024C1, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
+  { 0x0024C2, 0x0024C2, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
+  { 0x0024C3, 0x0024C3, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
+  { 0x0024C4, 0x0024C4, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
+  { 0x0024C5, 0x0024C5, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
+  { 0x0024C6, 0x0024C6, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
+  { 0x0024C7, 0x0024C7, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
+  { 0x0024C8, 0x0024C8, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
+  { 0x0024C9, 0x0024C9, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
+  { 0x0024CA, 0x0024CA, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
+  { 0x0024CB, 0x0024CB, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
+  { 0x0024CC, 0x0024CC, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
+  { 0x0024CD, 0x0024CD, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
+  { 0x0024CE, 0x0024CE, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
+  { 0x0024CF, 0x0024CF, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
+  { 0x003371, 0x003371, { 0x000068,     /* 3371; 0068 0070 0061; Additional folding */
                    0x000070, 0x000061 }},
-  { 0x003373, 0, { 0x000061,          /* 3373; 0061 0075; Additional folding */
+  { 0x003373, 0x003373, { 0x000061,          /* 3373; 0061 0075; Additional folding */
                    0x000075 }},
-  { 0x003375, 0, { 0x00006F,          /* 3375; 006F 0076; Additional folding */
+  { 0x003375, 0x003375, { 0x00006F,          /* 3375; 006F 0076; Additional folding */
                    0x000076 }},
-  { 0x003380, 0, { 0x000070,          /* 3380; 0070 0061; Additional folding */
+  { 0x003380, 0x003380, { 0x000070,          /* 3380; 0070 0061; Additional folding */
                    0x000061 }},
-  { 0x003381, 0, { 0x00006E,          /* 3381; 006E 0061; Additional folding */
+  { 0x003381, 0x003381, { 0x00006E,          /* 3381; 006E 0061; Additional folding */
                    0x000061 }},
-  { 0x003382, 0, { 0x0003BC,          /* 3382; 03BC 0061; Additional folding */
+  { 0x003382, 0x003382, { 0x0003BC,          /* 3382; 03BC 0061; Additional folding */
                    0x000061 }},
-  { 0x003383, 0, { 0x00006D,          /* 3383; 006D 0061; Additional folding */
+  { 0x003383, 0x003383, { 0x00006D,          /* 3383; 006D 0061; Additional folding */
                    0x000061 }},
-  { 0x003384, 0, { 0x00006B,          /* 3384; 006B 0061; Additional folding */
+  { 0x003384, 0x003384, { 0x00006B,          /* 3384; 006B 0061; Additional folding */
                    0x000061 }},
-  { 0x003385, 0, { 0x00006B,          /* 3385; 006B 0062; Additional folding */
+  { 0x003385, 0x003385, { 0x00006B,          /* 3385; 006B 0062; Additional folding */
                    0x000062 }},
-  { 0x003386, 0, { 0x00006D,          /* 3386; 006D 0062; Additional folding */
+  { 0x003386, 0x003386, { 0x00006D,          /* 3386; 006D 0062; Additional folding */
                    0x000062 }},
-  { 0x003387, 0, { 0x000067,          /* 3387; 0067 0062; Additional folding */
+  { 0x003387, 0x003387, { 0x000067,          /* 3387; 0067 0062; Additional folding */
                    0x000062 }},
-  { 0x00338A, 0, { 0x000070,          /* 338A; 0070 0066; Additional folding */
+  { 0x00338A, 0x00338A, { 0x000070,          /* 338A; 0070 0066; Additional folding */
                    0x000066 }},
-  { 0x00338B, 0, { 0x00006E,          /* 338B; 006E 0066; Additional folding */
+  { 0x00338B, 0x00338B, { 0x00006E,          /* 338B; 006E 0066; Additional folding */
                    0x000066 }},
-  { 0x00338C, 0, { 0x0003BC,          /* 338C; 03BC 0066; Additional folding */
+  { 0x00338C, 0x00338C, { 0x0003BC,          /* 338C; 03BC 0066; Additional folding */
                    0x000066 }},
-  { 0x003390, 0, { 0x000068,          /* 3390; 0068 007A; Additional folding */
+  { 0x003390, 0x003390, { 0x000068,          /* 3390; 0068 007A; Additional folding */
                    0x00007A }},
-  { 0x003391, 0, { 0x00006B,     /* 3391; 006B 0068 007A; Additional folding */
+  { 0x003391, 0x003391, { 0x00006B,     /* 3391; 006B 0068 007A; Additional folding */
                    0x000068, 0x00007A }},
-  { 0x003392, 0, { 0x00006D,     /* 3392; 006D 0068 007A; Additional folding */
+  { 0x003392, 0x003392, { 0x00006D,     /* 3392; 006D 0068 007A; Additional folding */
                    0x000068, 0x00007A }},
-  { 0x003393, 0, { 0x000067,     /* 3393; 0067 0068 007A; Additional folding */
+  { 0x003393, 0x003393, { 0x000067,     /* 3393; 0067 0068 007A; Additional folding */
                    0x000068, 0x00007A }},
-  { 0x003394, 0, { 0x000074,     /* 3394; 0074 0068 007A; Additional folding */
+  { 0x003394, 0x003394, { 0x000074,     /* 3394; 0074 0068 007A; Additional folding */
                    0x000068, 0x00007A }},
-  { 0x0033A9, 0, { 0x000070,          /* 33A9; 0070 0061; Additional folding */
+  { 0x0033A9, 0x0033A9, { 0x000070,          /* 33A9; 0070 0061; Additional folding */
                    0x000061 }},
-  { 0x0033AA, 0, { 0x00006B,     /* 33AA; 006B 0070 0061; Additional folding */
+  { 0x0033AA, 0x0033AA, { 0x00006B,     /* 33AA; 006B 0070 0061; Additional folding */
                    0x000070, 0x000061 }},
-  { 0x0033AB, 0, { 0x00006D,     /* 33AB; 006D 0070 0061; Additional folding */
+  { 0x0033AB, 0x0033AB, { 0x00006D,     /* 33AB; 006D 0070 0061; Additional folding */
                    0x000070, 0x000061 }},
-  { 0x0033AC, 0, { 0x000067,     /* 33AC; 0067 0070 0061; Additional folding */
+  { 0x0033AC, 0x0033AC, { 0x000067,     /* 33AC; 0067 0070 0061; Additional folding */
                    0x000070, 0x000061 }},
-  { 0x0033B4, 0, { 0x000070,          /* 33B4; 0070 0076; Additional folding */
+  { 0x0033B4, 0x0033B4, { 0x000070,          /* 33B4; 0070 0076; Additional folding */
                    0x000076 }},
-  { 0x0033B5, 0, { 0x00006E,          /* 33B5; 006E 0076; Additional folding */
+  { 0x0033B5, 0x0033B5, { 0x00006E,          /* 33B5; 006E 0076; Additional folding */
                    0x000076 }},
-  { 0x0033B6, 0, { 0x0003BC,          /* 33B6; 03BC 0076; Additional folding */
+  { 0x0033B6, 0x0033B6, { 0x0003BC,          /* 33B6; 03BC 0076; Additional folding */
                    0x000076 }},
-  { 0x0033B7, 0, { 0x00006D,          /* 33B7; 006D 0076; Additional folding */
+  { 0x0033B7, 0x0033B7, { 0x00006D,          /* 33B7; 006D 0076; Additional folding */
                    0x000076 }},
-  { 0x0033B8, 0, { 0x00006B,          /* 33B8; 006B 0076; Additional folding */
+  { 0x0033B8, 0x0033B8, { 0x00006B,          /* 33B8; 006B 0076; Additional folding */
                    0x000076 }},
-  { 0x0033B9, 0, { 0x00006D,          /* 33B9; 006D 0076; Additional folding */
+  { 0x0033B9, 0x0033B9, { 0x00006D,          /* 33B9; 006D 0076; Additional folding */
                    0x000076 }},
-  { 0x0033BA, 0, { 0x000070,          /* 33BA; 0070 0077; Additional folding */
+  { 0x0033BA, 0x0033BA, { 0x000070,          /* 33BA; 0070 0077; Additional folding */
                    0x000077 }},
-  { 0x0033BB, 0, { 0x00006E,          /* 33BB; 006E 0077; Additional folding */
+  { 0x0033BB, 0x0033BB, { 0x00006E,          /* 33BB; 006E 0077; Additional folding */
                    0x000077 }},
-  { 0x0033BC, 0, { 0x0003BC,          /* 33BC; 03BC 0077; Additional folding */
+  { 0x0033BC, 0x0033BC, { 0x0003BC,          /* 33BC; 03BC 0077; Additional folding */
                    0x000077 }},
-  { 0x0033BD, 0, { 0x00006D,          /* 33BD; 006D 0077; Additional folding */
+  { 0x0033BD, 0x0033BD, { 0x00006D,          /* 33BD; 006D 0077; Additional folding */
                    0x000077 }},
-  { 0x0033BE, 0, { 0x00006B,          /* 33BE; 006B 0077; Additional folding */
+  { 0x0033BE, 0x0033BE, { 0x00006B,          /* 33BE; 006B 0077; Additional folding */
                    0x000077 }},
-  { 0x0033BF, 0, { 0x00006D,          /* 33BF; 006D 0077; Additional folding */
+  { 0x0033BF, 0x0033BF, { 0x00006D,          /* 33BF; 006D 0077; Additional folding */
                    0x000077 }},
-  { 0x0033C0, 0, { 0x00006B,          /* 33C0; 006B 03C9; Additional folding */
+  { 0x0033C0, 0x0033C0, { 0x00006B,          /* 33C0; 006B 03C9; Additional folding */
                    0x0003C9 }},
-  { 0x0033C1, 0, { 0x00006D,          /* 33C1; 006D 03C9; Additional folding */
+  { 0x0033C1, 0x0033C1, { 0x00006D,          /* 33C1; 006D 03C9; Additional folding */
                    0x0003C9 }},
-  { 0x0033C3, 0, { 0x000062,          /* 33C3; 0062 0071; Additional folding */
+  { 0x0033C3, 0x0033C3, { 0x000062,          /* 33C3; 0062 0071; Additional folding */
                    0x000071 }},
-  { 0x0033C6, 0, { 0x000063, /* 33C6; 0063 2215 006B 0067; Additional folding */
+  { 0x0033C6, 0x0033C6, { 0x000063, /* 33C6; 0063 2215 006B 0067; Additional folding */
                    0x002215, 0x00006B, 0x000067 }},
-  { 0x0033C7, 0, { 0x000063,     /* 33C7; 0063 006F 002E; Additional folding */
+  { 0x0033C7, 0x0033C7, { 0x000063,     /* 33C7; 0063 006F 002E; Additional folding */
                    0x00006F, 0x00002E }},
-  { 0x0033C8, 0, { 0x000064,          /* 33C8; 0064 0062; Additional folding */
+  { 0x0033C8, 0x0033C8, { 0x000064,          /* 33C8; 0064 0062; Additional folding */
                    0x000062 }},
-  { 0x0033C9, 0, { 0x000067,          /* 33C9; 0067 0079; Additional folding */
+  { 0x0033C9, 0x0033C9, { 0x000067,          /* 33C9; 0067 0079; Additional folding */
                    0x000079 }},
-  { 0x0033CB, 0, { 0x000068,          /* 33CB; 0068 0070; Additional folding */
+  { 0x0033CB, 0x0033CB, { 0x000068,          /* 33CB; 0068 0070; Additional folding */
                    0x000070 }},
-  { 0x0033CD, 0, { 0x00006B,          /* 33CD; 006B 006B; Additional folding */
+  { 0x0033CD, 0x0033CD, { 0x00006B,          /* 33CD; 006B 006B; Additional folding */
                    0x00006B }},
-  { 0x0033CE, 0, { 0x00006B,          /* 33CE; 006B 006D; Additional folding */
+  { 0x0033CE, 0x0033CE, { 0x00006B,          /* 33CE; 006B 006D; Additional folding */
                    0x00006D }},
-  { 0x0033D7, 0, { 0x000070,          /* 33D7; 0070 0068; Additional folding */
+  { 0x0033D7, 0x0033D7, { 0x000070,          /* 33D7; 0070 0068; Additional folding */
                    0x000068 }},
-  { 0x0033D9, 0, { 0x000070,     /* 33D9; 0070 0070 006D; Additional folding */
+  { 0x0033D9, 0x0033D9, { 0x000070,     /* 33D9; 0070 0070 006D; Additional folding */
                    0x000070, 0x00006D }},
-  { 0x0033DA, 0, { 0x000070,          /* 33DA; 0070 0072; Additional folding */
+  { 0x0033DA, 0x0033DA, { 0x000070,          /* 33DA; 0070 0072; Additional folding */
                    0x000072 }},
-  { 0x0033DC, 0, { 0x000073,          /* 33DC; 0073 0076; Additional folding */
+  { 0x0033DC, 0x0033DC, { 0x000073,          /* 33DC; 0073 0076; Additional folding */
                    0x000076 }},
-  { 0x0033DD, 0, { 0x000077,          /* 33DD; 0077 0062; Additional folding */
+  { 0x0033DD, 0x0033DD, { 0x000077,          /* 33DD; 0077 0062; Additional folding */
                    0x000062 }},
-  { 0x00FB00, 0, { 0x000066,                    /* FB00; 0066 0066; Case map */
+  { 0x00FB00, 0x00FB00, { 0x000066,                    /* FB00; 0066 0066; Case map */
                    0x000066 }},
-  { 0x00FB01, 0, { 0x000066,                    /* FB01; 0066 0069; Case map */
+  { 0x00FB01, 0x00FB01, { 0x000066,                    /* FB01; 0066 0069; Case map */
                    0x000069 }},
-  { 0x00FB02, 0, { 0x000066,                    /* FB02; 0066 006C; Case map */
+  { 0x00FB02, 0x00FB02, { 0x000066,                    /* FB02; 0066 006C; Case map */
                    0x00006C }},
-  { 0x00FB03, 0, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
+  { 0x00FB03, 0x00FB03, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
                    0x000066, 0x000069 }},
-  { 0x00FB04, 0, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
+  { 0x00FB04, 0x00FB04, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
                    0x000066, 0x00006C }},
-  { 0x00FB05, 0, { 0x000073,                    /* FB05; 0073 0074; Case map */
+  { 0x00FB05, 0x00FB05, { 0x000073,                    /* FB05; 0073 0074; Case map */
                    0x000074 }},
-  { 0x00FB06, 0, { 0x000073,                    /* FB06; 0073 0074; Case map */
+  { 0x00FB06, 0x00FB06, { 0x000073,                    /* FB06; 0073 0074; Case map */
                    0x000074 }},
-  { 0x00FB13, 0, { 0x000574,                    /* FB13; 0574 0576; Case map */
+  { 0x00FB13, 0x00FB13, { 0x000574,                    /* FB13; 0574 0576; Case map */
                    0x000576 }},
-  { 0x00FB14, 0, { 0x000574,                    /* FB14; 0574 0565; Case map */
+  { 0x00FB14, 0x00FB14, { 0x000574,                    /* FB14; 0574 0565; Case map */
                    0x000565 }},
-  { 0x00FB15, 0, { 0x000574,                    /* FB15; 0574 056B; Case map */
+  { 0x00FB15, 0x00FB15, { 0x000574,                    /* FB15; 0574 056B; Case map */
                    0x00056B }},
-  { 0x00FB16, 0, { 0x00057E,                    /* FB16; 057E 0576; Case map */
+  { 0x00FB16, 0x00FB16, { 0x00057E,                    /* FB16; 057E 0576; Case map */
                    0x000576 }},
-  { 0x00FB17, 0, { 0x000574,                    /* FB17; 0574 056D; Case map */
+  { 0x00FB17, 0x00FB17, { 0x000574,                    /* FB17; 0574 056D; Case map */
                    0x00056D }},
-  { 0x00FF21, 0, { 0x00FF41 }},                      /* FF21; FF41; Case map */
-  { 0x00FF22, 0, { 0x00FF42 }},                      /* FF22; FF42; Case map */
-  { 0x00FF23, 0, { 0x00FF43 }},                      /* FF23; FF43; Case map */
-  { 0x00FF24, 0, { 0x00FF44 }},                      /* FF24; FF44; Case map */
-  { 0x00FF25, 0, { 0x00FF45 }},                      /* FF25; FF45; Case map */
-  { 0x00FF26, 0, { 0x00FF46 }},                      /* FF26; FF46; Case map */
-  { 0x00FF27, 0, { 0x00FF47 }},                      /* FF27; FF47; Case map */
-  { 0x00FF28, 0, { 0x00FF48 }},                      /* FF28; FF48; Case map */
-  { 0x00FF29, 0, { 0x00FF49 }},                      /* FF29; FF49; Case map */
-  { 0x00FF2A, 0, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
-  { 0x00FF2B, 0, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
-  { 0x00FF2C, 0, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
-  { 0x00FF2D, 0, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
-  { 0x00FF2E, 0, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
-  { 0x00FF2F, 0, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
-  { 0x00FF30, 0, { 0x00FF50 }},                      /* FF30; FF50; Case map */
-  { 0x00FF31, 0, { 0x00FF51 }},                      /* FF31; FF51; Case map */
-  { 0x00FF32, 0, { 0x00FF52 }},                      /* FF32; FF52; Case map */
-  { 0x00FF33, 0, { 0x00FF53 }},                      /* FF33; FF53; Case map */
-  { 0x00FF34, 0, { 0x00FF54 }},                      /* FF34; FF54; Case map */
-  { 0x00FF35, 0, { 0x00FF55 }},                      /* FF35; FF55; Case map */
-  { 0x00FF36, 0, { 0x00FF56 }},                      /* FF36; FF56; Case map */
-  { 0x00FF37, 0, { 0x00FF57 }},                      /* FF37; FF57; Case map */
-  { 0x00FF38, 0, { 0x00FF58 }},                      /* FF38; FF58; Case map */
-  { 0x00FF39, 0, { 0x00FF59 }},                      /* FF39; FF59; Case map */
-  { 0x00FF3A, 0, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
-  { 0x010400, 0, { 0x010428 }},                    /* 10400; 10428; Case map */
-  { 0x010401, 0, { 0x010429 }},                    /* 10401; 10429; Case map */
-  { 0x010402, 0, { 0x01042A }},                    /* 10402; 1042A; Case map */
-  { 0x010403, 0, { 0x01042B }},                    /* 10403; 1042B; Case map */
-  { 0x010404, 0, { 0x01042C }},                    /* 10404; 1042C; Case map */
-  { 0x010405, 0, { 0x01042D }},                    /* 10405; 1042D; Case map */
-  { 0x010406, 0, { 0x01042E }},                    /* 10406; 1042E; Case map */
-  { 0x010407, 0, { 0x01042F }},                    /* 10407; 1042F; Case map */
-  { 0x010408, 0, { 0x010430 }},                    /* 10408; 10430; Case map */
-  { 0x010409, 0, { 0x010431 }},                    /* 10409; 10431; Case map */
-  { 0x01040A, 0, { 0x010432 }},                    /* 1040A; 10432; Case map */
-  { 0x01040B, 0, { 0x010433 }},                    /* 1040B; 10433; Case map */
-  { 0x01040C, 0, { 0x010434 }},                    /* 1040C; 10434; Case map */
-  { 0x01040D, 0, { 0x010435 }},                    /* 1040D; 10435; Case map */
-  { 0x01040E, 0, { 0x010436 }},                    /* 1040E; 10436; Case map */
-  { 0x01040F, 0, { 0x010437 }},                    /* 1040F; 10437; Case map */
-  { 0x010410, 0, { 0x010438 }},                    /* 10410; 10438; Case map */
-  { 0x010411, 0, { 0x010439 }},                    /* 10411; 10439; Case map */
-  { 0x010412, 0, { 0x01043A }},                    /* 10412; 1043A; Case map */
-  { 0x010413, 0, { 0x01043B }},                    /* 10413; 1043B; Case map */
-  { 0x010414, 0, { 0x01043C }},                    /* 10414; 1043C; Case map */
-  { 0x010415, 0, { 0x01043D }},                    /* 10415; 1043D; Case map */
-  { 0x010416, 0, { 0x01043E }},                    /* 10416; 1043E; Case map */
-  { 0x010417, 0, { 0x01043F }},                    /* 10417; 1043F; Case map */
-  { 0x010418, 0, { 0x010440 }},                    /* 10418; 10440; Case map */
-  { 0x010419, 0, { 0x010441 }},                    /* 10419; 10441; Case map */
-  { 0x01041A, 0, { 0x010442 }},                    /* 1041A; 10442; Case map */
-  { 0x01041B, 0, { 0x010443 }},                    /* 1041B; 10443; Case map */
-  { 0x01041C, 0, { 0x010444 }},                    /* 1041C; 10444; Case map */
-  { 0x01041D, 0, { 0x010445 }},                    /* 1041D; 10445; Case map */
-  { 0x01041E, 0, { 0x010446 }},                    /* 1041E; 10446; Case map */
-  { 0x01041F, 0, { 0x010447 }},                    /* 1041F; 10447; Case map */
-  { 0x010420, 0, { 0x010448 }},                    /* 10420; 10448; Case map */
-  { 0x010421, 0, { 0x010449 }},                    /* 10421; 10449; Case map */
-  { 0x010422, 0, { 0x01044A }},                    /* 10422; 1044A; Case map */
-  { 0x010423, 0, { 0x01044B }},                    /* 10423; 1044B; Case map */
-  { 0x010424, 0, { 0x01044C }},                    /* 10424; 1044C; Case map */
-  { 0x010425, 0, { 0x01044D }},                    /* 10425; 1044D; Case map */
-  { 0x01D400, 0, { 0x000061 }},           /* 1D400; 0061; Additional folding */
-  { 0x01D401, 0, { 0x000062 }},           /* 1D401; 0062; Additional folding */
-  { 0x01D402, 0, { 0x000063 }},           /* 1D402; 0063; Additional folding */
-  { 0x01D403, 0, { 0x000064 }},           /* 1D403; 0064; Additional folding */
-  { 0x01D404, 0, { 0x000065 }},           /* 1D404; 0065; Additional folding */
-  { 0x01D405, 0, { 0x000066 }},           /* 1D405; 0066; Additional folding */
-  { 0x01D406, 0, { 0x000067 }},           /* 1D406; 0067; Additional folding */
-  { 0x01D407, 0, { 0x000068 }},           /* 1D407; 0068; Additional folding */
-  { 0x01D408, 0, { 0x000069 }},           /* 1D408; 0069; Additional folding */
-  { 0x01D409, 0, { 0x00006A }},           /* 1D409; 006A; Additional folding */
-  { 0x01D40A, 0, { 0x00006B }},           /* 1D40A; 006B; Additional folding */
-  { 0x01D40B, 0, { 0x00006C }},           /* 1D40B; 006C; Additional folding */
-  { 0x01D40C, 0, { 0x00006D }},           /* 1D40C; 006D; Additional folding */
-  { 0x01D40D, 0, { 0x00006E }},           /* 1D40D; 006E; Additional folding */
-  { 0x01D40E, 0, { 0x00006F }},           /* 1D40E; 006F; Additional folding */
-  { 0x01D40F, 0, { 0x000070 }},           /* 1D40F; 0070; Additional folding */
-  { 0x01D410, 0, { 0x000071 }},           /* 1D410; 0071; Additional folding */
-  { 0x01D411, 0, { 0x000072 }},           /* 1D411; 0072; Additional folding */
-  { 0x01D412, 0, { 0x000073 }},           /* 1D412; 0073; Additional folding */
-  { 0x01D413, 0, { 0x000074 }},           /* 1D413; 0074; Additional folding */
-  { 0x01D414, 0, { 0x000075 }},           /* 1D414; 0075; Additional folding */
-  { 0x01D415, 0, { 0x000076 }},           /* 1D415; 0076; Additional folding */
-  { 0x01D416, 0, { 0x000077 }},           /* 1D416; 0077; Additional folding */
-  { 0x01D417, 0, { 0x000078 }},           /* 1D417; 0078; Additional folding */
-  { 0x01D418, 0, { 0x000079 }},           /* 1D418; 0079; Additional folding */
-  { 0x01D419, 0, { 0x00007A }},           /* 1D419; 007A; Additional folding */
-  { 0x01D434, 0, { 0x000061 }},           /* 1D434; 0061; Additional folding */
-  { 0x01D435, 0, { 0x000062 }},           /* 1D435; 0062; Additional folding */
-  { 0x01D436, 0, { 0x000063 }},           /* 1D436; 0063; Additional folding */
-  { 0x01D437, 0, { 0x000064 }},           /* 1D437; 0064; Additional folding */
-  { 0x01D438, 0, { 0x000065 }},           /* 1D438; 0065; Additional folding */
-  { 0x01D439, 0, { 0x000066 }},           /* 1D439; 0066; Additional folding */
-  { 0x01D43A, 0, { 0x000067 }},           /* 1D43A; 0067; Additional folding */
-  { 0x01D43B, 0, { 0x000068 }},           /* 1D43B; 0068; Additional folding */
-  { 0x01D43C, 0, { 0x000069 }},           /* 1D43C; 0069; Additional folding */
-  { 0x01D43D, 0, { 0x00006A }},           /* 1D43D; 006A; Additional folding */
-  { 0x01D43E, 0, { 0x00006B }},           /* 1D43E; 006B; Additional folding */
-  { 0x01D43F, 0, { 0x00006C }},           /* 1D43F; 006C; Additional folding */
-  { 0x01D440, 0, { 0x00006D }},           /* 1D440; 006D; Additional folding */
-  { 0x01D441, 0, { 0x00006E }},           /* 1D441; 006E; Additional folding */
-  { 0x01D442, 0, { 0x00006F }},           /* 1D442; 006F; Additional folding */
-  { 0x01D443, 0, { 0x000070 }},           /* 1D443; 0070; Additional folding */
-  { 0x01D444, 0, { 0x000071 }},           /* 1D444; 0071; Additional folding */
-  { 0x01D445, 0, { 0x000072 }},           /* 1D445; 0072; Additional folding */
-  { 0x01D446, 0, { 0x000073 }},           /* 1D446; 0073; Additional folding */
-  { 0x01D447, 0, { 0x000074 }},           /* 1D447; 0074; Additional folding */
-  { 0x01D448, 0, { 0x000075 }},           /* 1D448; 0075; Additional folding */
-  { 0x01D449, 0, { 0x000076 }},           /* 1D449; 0076; Additional folding */
-  { 0x01D44A, 0, { 0x000077 }},           /* 1D44A; 0077; Additional folding */
-  { 0x01D44B, 0, { 0x000078 }},           /* 1D44B; 0078; Additional folding */
-  { 0x01D44C, 0, { 0x000079 }},           /* 1D44C; 0079; Additional folding */
-  { 0x01D44D, 0, { 0x00007A }},           /* 1D44D; 007A; Additional folding */
-  { 0x01D468, 0, { 0x000061 }},           /* 1D468; 0061; Additional folding */
-  { 0x01D469, 0, { 0x000062 }},           /* 1D469; 0062; Additional folding */
-  { 0x01D46A, 0, { 0x000063 }},           /* 1D46A; 0063; Additional folding */
-  { 0x01D46B, 0, { 0x000064 }},           /* 1D46B; 0064; Additional folding */
-  { 0x01D46C, 0, { 0x000065 }},           /* 1D46C; 0065; Additional folding */
-  { 0x01D46D, 0, { 0x000066 }},           /* 1D46D; 0066; Additional folding */
-  { 0x01D46E, 0, { 0x000067 }},           /* 1D46E; 0067; Additional folding */
-  { 0x01D46F, 0, { 0x000068 }},           /* 1D46F; 0068; Additional folding */
-  { 0x01D470, 0, { 0x000069 }},           /* 1D470; 0069; Additional folding */
-  { 0x01D471, 0, { 0x00006A }},           /* 1D471; 006A; Additional folding */
-  { 0x01D472, 0, { 0x00006B }},           /* 1D472; 006B; Additional folding */
-  { 0x01D473, 0, { 0x00006C }},           /* 1D473; 006C; Additional folding */
-  { 0x01D474, 0, { 0x00006D }},           /* 1D474; 006D; Additional folding */
-  { 0x01D475, 0, { 0x00006E }},           /* 1D475; 006E; Additional folding */
-  { 0x01D476, 0, { 0x00006F }},           /* 1D476; 006F; Additional folding */
-  { 0x01D477, 0, { 0x000070 }},           /* 1D477; 0070; Additional folding */
-  { 0x01D478, 0, { 0x000071 }},           /* 1D478; 0071; Additional folding */
-  { 0x01D479, 0, { 0x000072 }},           /* 1D479; 0072; Additional folding */
-  { 0x01D47A, 0, { 0x000073 }},           /* 1D47A; 0073; Additional folding */
-  { 0x01D47B, 0, { 0x000074 }},           /* 1D47B; 0074; Additional folding */
-  { 0x01D47C, 0, { 0x000075 }},           /* 1D47C; 0075; Additional folding */
-  { 0x01D47D, 0, { 0x000076 }},           /* 1D47D; 0076; Additional folding */
-  { 0x01D47E, 0, { 0x000077 }},           /* 1D47E; 0077; Additional folding */
-  { 0x01D47F, 0, { 0x000078 }},           /* 1D47F; 0078; Additional folding */
-  { 0x01D480, 0, { 0x000079 }},           /* 1D480; 0079; Additional folding */
-  { 0x01D481, 0, { 0x00007A }},           /* 1D481; 007A; Additional folding */
-  { 0x01D49C, 0, { 0x000061 }},           /* 1D49C; 0061; Additional folding */
-  { 0x01D49E, 0, { 0x000063 }},           /* 1D49E; 0063; Additional folding */
-  { 0x01D49F, 0, { 0x000064 }},           /* 1D49F; 0064; Additional folding */
-  { 0x01D4A2, 0, { 0x000067 }},           /* 1D4A2; 0067; Additional folding */
-  { 0x01D4A5, 0, { 0x00006A }},           /* 1D4A5; 006A; Additional folding */
-  { 0x01D4A6, 0, { 0x00006B }},           /* 1D4A6; 006B; Additional folding */
-  { 0x01D4A9, 0, { 0x00006E }},           /* 1D4A9; 006E; Additional folding */
-  { 0x01D4AA, 0, { 0x00006F }},           /* 1D4AA; 006F; Additional folding */
-  { 0x01D4AB, 0, { 0x000070 }},           /* 1D4AB; 0070; Additional folding */
-  { 0x01D4AC, 0, { 0x000071 }},           /* 1D4AC; 0071; Additional folding */
-  { 0x01D4AE, 0, { 0x000073 }},           /* 1D4AE; 0073; Additional folding */
-  { 0x01D4AF, 0, { 0x000074 }},           /* 1D4AF; 0074; Additional folding */
-  { 0x01D4B0, 0, { 0x000075 }},           /* 1D4B0; 0075; Additional folding */
-  { 0x01D4B1, 0, { 0x000076 }},           /* 1D4B1; 0076; Additional folding */
-  { 0x01D4B2, 0, { 0x000077 }},           /* 1D4B2; 0077; Additional folding */
-  { 0x01D4B3, 0, { 0x000078 }},           /* 1D4B3; 0078; Additional folding */
-  { 0x01D4B4, 0, { 0x000079 }},           /* 1D4B4; 0079; Additional folding */
-  { 0x01D4B5, 0, { 0x00007A }},           /* 1D4B5; 007A; Additional folding */
-  { 0x01D4D0, 0, { 0x000061 }},           /* 1D4D0; 0061; Additional folding */
-  { 0x01D4D1, 0, { 0x000062 }},           /* 1D4D1; 0062; Additional folding */
-  { 0x01D4D2, 0, { 0x000063 }},           /* 1D4D2; 0063; Additional folding */
-  { 0x01D4D3, 0, { 0x000064 }},           /* 1D4D3; 0064; Additional folding */
-  { 0x01D4D4, 0, { 0x000065 }},           /* 1D4D4; 0065; Additional folding */
-  { 0x01D4D5, 0, { 0x000066 }},           /* 1D4D5; 0066; Additional folding */
-  { 0x01D4D6, 0, { 0x000067 }},           /* 1D4D6; 0067; Additional folding */
-  { 0x01D4D7, 0, { 0x000068 }},           /* 1D4D7; 0068; Additional folding */
-  { 0x01D4D8, 0, { 0x000069 }},           /* 1D4D8; 0069; Additional folding */
-  { 0x01D4D9, 0, { 0x00006A }},           /* 1D4D9; 006A; Additional folding */
-  { 0x01D4DA, 0, { 0x00006B }},           /* 1D4DA; 006B; Additional folding */
-  { 0x01D4DB, 0, { 0x00006C }},           /* 1D4DB; 006C; Additional folding */
-  { 0x01D4DC, 0, { 0x00006D }},           /* 1D4DC; 006D; Additional folding */
-  { 0x01D4DD, 0, { 0x00006E }},           /* 1D4DD; 006E; Additional folding */
-  { 0x01D4DE, 0, { 0x00006F }},           /* 1D4DE; 006F; Additional folding */
-  { 0x01D4DF, 0, { 0x000070 }},           /* 1D4DF; 0070; Additional folding */
-  { 0x01D4E0, 0, { 0x000071 }},           /* 1D4E0; 0071; Additional folding */
-  { 0x01D4E1, 0, { 0x000072 }},           /* 1D4E1; 0072; Additional folding */
-  { 0x01D4E2, 0, { 0x000073 }},           /* 1D4E2; 0073; Additional folding */
-  { 0x01D4E3, 0, { 0x000074 }},           /* 1D4E3; 0074; Additional folding */
-  { 0x01D4E4, 0, { 0x000075 }},           /* 1D4E4; 0075; Additional folding */
-  { 0x01D4E5, 0, { 0x000076 }},           /* 1D4E5; 0076; Additional folding */
-  { 0x01D4E6, 0, { 0x000077 }},           /* 1D4E6; 0077; Additional folding */
-  { 0x01D4E7, 0, { 0x000078 }},           /* 1D4E7; 0078; Additional folding */
-  { 0x01D4E8, 0, { 0x000079 }},           /* 1D4E8; 0079; Additional folding */
-  { 0x01D4E9, 0, { 0x00007A }},           /* 1D4E9; 007A; Additional folding */
-  { 0x01D504, 0, { 0x000061 }},           /* 1D504; 0061; Additional folding */
-  { 0x01D505, 0, { 0x000062 }},           /* 1D505; 0062; Additional folding */
-  { 0x01D507, 0, { 0x000064 }},           /* 1D507; 0064; Additional folding */
-  { 0x01D508, 0, { 0x000065 }},           /* 1D508; 0065; Additional folding */
-  { 0x01D509, 0, { 0x000066 }},           /* 1D509; 0066; Additional folding */
-  { 0x01D50A, 0, { 0x000067 }},           /* 1D50A; 0067; Additional folding */
-  { 0x01D50D, 0, { 0x00006A }},           /* 1D50D; 006A; Additional folding */
-  { 0x01D50E, 0, { 0x00006B }},           /* 1D50E; 006B; Additional folding */
-  { 0x01D50F, 0, { 0x00006C }},           /* 1D50F; 006C; Additional folding */
-  { 0x01D510, 0, { 0x00006D }},           /* 1D510; 006D; Additional folding */
-  { 0x01D511, 0, { 0x00006E }},           /* 1D511; 006E; Additional folding */
-  { 0x01D512, 0, { 0x00006F }},           /* 1D512; 006F; Additional folding */
-  { 0x01D513, 0, { 0x000070 }},           /* 1D513; 0070; Additional folding */
-  { 0x01D514, 0, { 0x000071 }},           /* 1D514; 0071; Additional folding */
-  { 0x01D516, 0, { 0x000073 }},           /* 1D516; 0073; Additional folding */
-  { 0x01D517, 0, { 0x000074 }},           /* 1D517; 0074; Additional folding */
-  { 0x01D518, 0, { 0x000075 }},           /* 1D518; 0075; Additional folding */
-  { 0x01D519, 0, { 0x000076 }},           /* 1D519; 0076; Additional folding */
-  { 0x01D51A, 0, { 0x000077 }},           /* 1D51A; 0077; Additional folding */
-  { 0x01D51B, 0, { 0x000078 }},           /* 1D51B; 0078; Additional folding */
-  { 0x01D51C, 0, { 0x000079 }},           /* 1D51C; 0079; Additional folding */
-  { 0x01D538, 0, { 0x000061 }},           /* 1D538; 0061; Additional folding */
-  { 0x01D539, 0, { 0x000062 }},           /* 1D539; 0062; Additional folding */
-  { 0x01D53B, 0, { 0x000064 }},           /* 1D53B; 0064; Additional folding */
-  { 0x01D53C, 0, { 0x000065 }},           /* 1D53C; 0065; Additional folding */
-  { 0x01D53D, 0, { 0x000066 }},           /* 1D53D; 0066; Additional folding */
-  { 0x01D53E, 0, { 0x000067 }},           /* 1D53E; 0067; Additional folding */
-  { 0x01D540, 0, { 0x000069 }},           /* 1D540; 0069; Additional folding */
-  { 0x01D541, 0, { 0x00006A }},           /* 1D541; 006A; Additional folding */
-  { 0x01D542, 0, { 0x00006B }},           /* 1D542; 006B; Additional folding */
-  { 0x01D543, 0, { 0x00006C }},           /* 1D543; 006C; Additional folding */
-  { 0x01D544, 0, { 0x00006D }},           /* 1D544; 006D; Additional folding */
-  { 0x01D546, 0, { 0x00006F }},           /* 1D546; 006F; Additional folding */
-  { 0x01D54A, 0, { 0x000073 }},           /* 1D54A; 0073; Additional folding */
-  { 0x01D54B, 0, { 0x000074 }},           /* 1D54B; 0074; Additional folding */
-  { 0x01D54C, 0, { 0x000075 }},           /* 1D54C; 0075; Additional folding */
-  { 0x01D54D, 0, { 0x000076 }},           /* 1D54D; 0076; Additional folding */
-  { 0x01D54E, 0, { 0x000077 }},           /* 1D54E; 0077; Additional folding */
-  { 0x01D54F, 0, { 0x000078 }},           /* 1D54F; 0078; Additional folding */
-  { 0x01D550, 0, { 0x000079 }},           /* 1D550; 0079; Additional folding */
-  { 0x01D56C, 0, { 0x000061 }},           /* 1D56C; 0061; Additional folding */
-  { 0x01D56D, 0, { 0x000062 }},           /* 1D56D; 0062; Additional folding */
-  { 0x01D56E, 0, { 0x000063 }},           /* 1D56E; 0063; Additional folding */
-  { 0x01D56F, 0, { 0x000064 }},           /* 1D56F; 0064; Additional folding */
-  { 0x01D570, 0, { 0x000065 }},           /* 1D570; 0065; Additional folding */
-  { 0x01D571, 0, { 0x000066 }},           /* 1D571; 0066; Additional folding */
-  { 0x01D572, 0, { 0x000067 }},           /* 1D572; 0067; Additional folding */
-  { 0x01D573, 0, { 0x000068 }},           /* 1D573; 0068; Additional folding */
-  { 0x01D574, 0, { 0x000069 }},           /* 1D574; 0069; Additional folding */
-  { 0x01D575, 0, { 0x00006A }},           /* 1D575; 006A; Additional folding */
-  { 0x01D576, 0, { 0x00006B }},           /* 1D576; 006B; Additional folding */
-  { 0x01D577, 0, { 0x00006C }},           /* 1D577; 006C; Additional folding */
-  { 0x01D578, 0, { 0x00006D }},           /* 1D578; 006D; Additional folding */
-  { 0x01D579, 0, { 0x00006E }},           /* 1D579; 006E; Additional folding */
-  { 0x01D57A, 0, { 0x00006F }},           /* 1D57A; 006F; Additional folding */
-  { 0x01D57B, 0, { 0x000070 }},           /* 1D57B; 0070; Additional folding */
-  { 0x01D57C, 0, { 0x000071 }},           /* 1D57C; 0071; Additional folding */
-  { 0x01D57D, 0, { 0x000072 }},           /* 1D57D; 0072; Additional folding */
-  { 0x01D57E, 0, { 0x000073 }},           /* 1D57E; 0073; Additional folding */
-  { 0x01D57F, 0, { 0x000074 }},           /* 1D57F; 0074; Additional folding */
-  { 0x01D580, 0, { 0x000075 }},           /* 1D580; 0075; Additional folding */
-  { 0x01D581, 0, { 0x000076 }},           /* 1D581; 0076; Additional folding */
-  { 0x01D582, 0, { 0x000077 }},           /* 1D582; 0077; Additional folding */
-  { 0x01D583, 0, { 0x000078 }},           /* 1D583; 0078; Additional folding */
-  { 0x01D584, 0, { 0x000079 }},           /* 1D584; 0079; Additional folding */
-  { 0x01D585, 0, { 0x00007A }},           /* 1D585; 007A; Additional folding */
-  { 0x01D5A0, 0, { 0x000061 }},           /* 1D5A0; 0061; Additional folding */
-  { 0x01D5A1, 0, { 0x000062 }},           /* 1D5A1; 0062; Additional folding */
-  { 0x01D5A2, 0, { 0x000063 }},           /* 1D5A2; 0063; Additional folding */
-  { 0x01D5A3, 0, { 0x000064 }},           /* 1D5A3; 0064; Additional folding */
-  { 0x01D5A4, 0, { 0x000065 }},           /* 1D5A4; 0065; Additional folding */
-  { 0x01D5A5, 0, { 0x000066 }},           /* 1D5A5; 0066; Additional folding */
-  { 0x01D5A6, 0, { 0x000067 }},           /* 1D5A6; 0067; Additional folding */
-  { 0x01D5A7, 0, { 0x000068 }},           /* 1D5A7; 0068; Additional folding */
-  { 0x01D5A8, 0, { 0x000069 }},           /* 1D5A8; 0069; Additional folding */
-  { 0x01D5A9, 0, { 0x00006A }},           /* 1D5A9; 006A; Additional folding */
-  { 0x01D5AA, 0, { 0x00006B }},           /* 1D5AA; 006B; Additional folding */
-  { 0x01D5AB, 0, { 0x00006C }},           /* 1D5AB; 006C; Additional folding */
-  { 0x01D5AC, 0, { 0x00006D }},           /* 1D5AC; 006D; Additional folding */
-  { 0x01D5AD, 0, { 0x00006E }},           /* 1D5AD; 006E; Additional folding */
-  { 0x01D5AE, 0, { 0x00006F }},           /* 1D5AE; 006F; Additional folding */
-  { 0x01D5AF, 0, { 0x000070 }},           /* 1D5AF; 0070; Additional folding */
-  { 0x01D5B0, 0, { 0x000071 }},           /* 1D5B0; 0071; Additional folding */
-  { 0x01D5B1, 0, { 0x000072 }},           /* 1D5B1; 0072; Additional folding */
-  { 0x01D5B2, 0, { 0x000073 }},           /* 1D5B2; 0073; Additional folding */
-  { 0x01D5B3, 0, { 0x000074 }},           /* 1D5B3; 0074; Additional folding */
-  { 0x01D5B4, 0, { 0x000075 }},           /* 1D5B4; 0075; Additional folding */
-  { 0x01D5B5, 0, { 0x000076 }},           /* 1D5B5; 0076; Additional folding */
-  { 0x01D5B6, 0, { 0x000077 }},           /* 1D5B6; 0077; Additional folding */
-  { 0x01D5B7, 0, { 0x000078 }},           /* 1D5B7; 0078; Additional folding */
-  { 0x01D5B8, 0, { 0x000079 }},           /* 1D5B8; 0079; Additional folding */
-  { 0x01D5B9, 0, { 0x00007A }},           /* 1D5B9; 007A; Additional folding */
-  { 0x01D5D4, 0, { 0x000061 }},           /* 1D5D4; 0061; Additional folding */
-  { 0x01D5D5, 0, { 0x000062 }},           /* 1D5D5; 0062; Additional folding */
-  { 0x01D5D6, 0, { 0x000063 }},           /* 1D5D6; 0063; Additional folding */
-  { 0x01D5D7, 0, { 0x000064 }},           /* 1D5D7; 0064; Additional folding */
-  { 0x01D5D8, 0, { 0x000065 }},           /* 1D5D8; 0065; Additional folding */
-  { 0x01D5D9, 0, { 0x000066 }},           /* 1D5D9; 0066; Additional folding */
-  { 0x01D5DA, 0, { 0x000067 }},           /* 1D5DA; 0067; Additional folding */
-  { 0x01D5DB, 0, { 0x000068 }},           /* 1D5DB; 0068; Additional folding */
-  { 0x01D5DC, 0, { 0x000069 }},           /* 1D5DC; 0069; Additional folding */
-  { 0x01D5DD, 0, { 0x00006A }},           /* 1D5DD; 006A; Additional folding */
-  { 0x01D5DE, 0, { 0x00006B }},           /* 1D5DE; 006B; Additional folding */
-  { 0x01D5DF, 0, { 0x00006C }},           /* 1D5DF; 006C; Additional folding */
-  { 0x01D5E0, 0, { 0x00006D }},           /* 1D5E0; 006D; Additional folding */
-  { 0x01D5E1, 0, { 0x00006E }},           /* 1D5E1; 006E; Additional folding */
-  { 0x01D5E2, 0, { 0x00006F }},           /* 1D5E2; 006F; Additional folding */
-  { 0x01D5E3, 0, { 0x000070 }},           /* 1D5E3; 0070; Additional folding */
-  { 0x01D5E4, 0, { 0x000071 }},           /* 1D5E4; 0071; Additional folding */
-  { 0x01D5E5, 0, { 0x000072 }},           /* 1D5E5; 0072; Additional folding */
-  { 0x01D5E6, 0, { 0x000073 }},           /* 1D5E6; 0073; Additional folding */
-  { 0x01D5E7, 0, { 0x000074 }},           /* 1D5E7; 0074; Additional folding */
-  { 0x01D5E8, 0, { 0x000075 }},           /* 1D5E8; 0075; Additional folding */
-  { 0x01D5E9, 0, { 0x000076 }},           /* 1D5E9; 0076; Additional folding */
-  { 0x01D5EA, 0, { 0x000077 }},           /* 1D5EA; 0077; Additional folding */
-  { 0x01D5EB, 0, { 0x000078 }},           /* 1D5EB; 0078; Additional folding */
-  { 0x01D5EC, 0, { 0x000079 }},           /* 1D5EC; 0079; Additional folding */
-  { 0x01D5ED, 0, { 0x00007A }},           /* 1D5ED; 007A; Additional folding */
-  { 0x01D608, 0, { 0x000061 }},           /* 1D608; 0061; Additional folding */
-  { 0x01D609, 0, { 0x000062 }},           /* 1D609; 0062; Additional folding */
-  { 0x01D60A, 0, { 0x000063 }},           /* 1D60A; 0063; Additional folding */
-  { 0x01D60B, 0, { 0x000064 }},           /* 1D60B; 0064; Additional folding */
-  { 0x01D60C, 0, { 0x000065 }},           /* 1D60C; 0065; Additional folding */
-  { 0x01D60D, 0, { 0x000066 }},           /* 1D60D; 0066; Additional folding */
-  { 0x01D60E, 0, { 0x000067 }},           /* 1D60E; 0067; Additional folding */
-  { 0x01D60F, 0, { 0x000068 }},           /* 1D60F; 0068; Additional folding */
-  { 0x01D610, 0, { 0x000069 }},           /* 1D610; 0069; Additional folding */
-  { 0x01D611, 0, { 0x00006A }},           /* 1D611; 006A; Additional folding */
-  { 0x01D612, 0, { 0x00006B }},           /* 1D612; 006B; Additional folding */
-  { 0x01D613, 0, { 0x00006C }},           /* 1D613; 006C; Additional folding */
-  { 0x01D614, 0, { 0x00006D }},           /* 1D614; 006D; Additional folding */
-  { 0x01D615, 0, { 0x00006E }},           /* 1D615; 006E; Additional folding */
-  { 0x01D616, 0, { 0x00006F }},           /* 1D616; 006F; Additional folding */
-  { 0x01D617, 0, { 0x000070 }},           /* 1D617; 0070; Additional folding */
-  { 0x01D618, 0, { 0x000071 }},           /* 1D618; 0071; Additional folding */
-  { 0x01D619, 0, { 0x000072 }},           /* 1D619; 0072; Additional folding */
-  { 0x01D61A, 0, { 0x000073 }},           /* 1D61A; 0073; Additional folding */
-  { 0x01D61B, 0, { 0x000074 }},           /* 1D61B; 0074; Additional folding */
-  { 0x01D61C, 0, { 0x000075 }},           /* 1D61C; 0075; Additional folding */
-  { 0x01D61D, 0, { 0x000076 }},           /* 1D61D; 0076; Additional folding */
-  { 0x01D61E, 0, { 0x000077 }},           /* 1D61E; 0077; Additional folding */
-  { 0x01D61F, 0, { 0x000078 }},           /* 1D61F; 0078; Additional folding */
-  { 0x01D620, 0, { 0x000079 }},           /* 1D620; 0079; Additional folding */
-  { 0x01D621, 0, { 0x00007A }},           /* 1D621; 007A; Additional folding */
-  { 0x01D63C, 0, { 0x000061 }},           /* 1D63C; 0061; Additional folding */
-  { 0x01D63D, 0, { 0x000062 }},           /* 1D63D; 0062; Additional folding */
-  { 0x01D63E, 0, { 0x000063 }},           /* 1D63E; 0063; Additional folding */
-  { 0x01D63F, 0, { 0x000064 }},           /* 1D63F; 0064; Additional folding */
-  { 0x01D640, 0, { 0x000065 }},           /* 1D640; 0065; Additional folding */
-  { 0x01D641, 0, { 0x000066 }},           /* 1D641; 0066; Additional folding */
-  { 0x01D642, 0, { 0x000067 }},           /* 1D642; 0067; Additional folding */
-  { 0x01D643, 0, { 0x000068 }},           /* 1D643; 0068; Additional folding */
-  { 0x01D644, 0, { 0x000069 }},           /* 1D644; 0069; Additional folding */
-  { 0x01D645, 0, { 0x00006A }},           /* 1D645; 006A; Additional folding */
-  { 0x01D646, 0, { 0x00006B }},           /* 1D646; 006B; Additional folding */
-  { 0x01D647, 0, { 0x00006C }},           /* 1D647; 006C; Additional folding */
-  { 0x01D648, 0, { 0x00006D }},           /* 1D648; 006D; Additional folding */
-  { 0x01D649, 0, { 0x00006E }},           /* 1D649; 006E; Additional folding */
-  { 0x01D64A, 0, { 0x00006F }},           /* 1D64A; 006F; Additional folding */
-  { 0x01D64B, 0, { 0x000070 }},           /* 1D64B; 0070; Additional folding */
-  { 0x01D64C, 0, { 0x000071 }},           /* 1D64C; 0071; Additional folding */
-  { 0x01D64D, 0, { 0x000072 }},           /* 1D64D; 0072; Additional folding */
-  { 0x01D64E, 0, { 0x000073 }},           /* 1D64E; 0073; Additional folding */
-  { 0x01D64F, 0, { 0x000074 }},           /* 1D64F; 0074; Additional folding */
-  { 0x01D650, 0, { 0x000075 }},           /* 1D650; 0075; Additional folding */
-  { 0x01D651, 0, { 0x000076 }},           /* 1D651; 0076; Additional folding */
-  { 0x01D652, 0, { 0x000077 }},           /* 1D652; 0077; Additional folding */
-  { 0x01D653, 0, { 0x000078 }},           /* 1D653; 0078; Additional folding */
-  { 0x01D654, 0, { 0x000079 }},           /* 1D654; 0079; Additional folding */
-  { 0x01D655, 0, { 0x00007A }},           /* 1D655; 007A; Additional folding */
-  { 0x01D670, 0, { 0x000061 }},           /* 1D670; 0061; Additional folding */
-  { 0x01D671, 0, { 0x000062 }},           /* 1D671; 0062; Additional folding */
-  { 0x01D672, 0, { 0x000063 }},           /* 1D672; 0063; Additional folding */
-  { 0x01D673, 0, { 0x000064 }},           /* 1D673; 0064; Additional folding */
-  { 0x01D674, 0, { 0x000065 }},           /* 1D674; 0065; Additional folding */
-  { 0x01D675, 0, { 0x000066 }},           /* 1D675; 0066; Additional folding */
-  { 0x01D676, 0, { 0x000067 }},           /* 1D676; 0067; Additional folding */
-  { 0x01D677, 0, { 0x000068 }},           /* 1D677; 0068; Additional folding */
-  { 0x01D678, 0, { 0x000069 }},           /* 1D678; 0069; Additional folding */
-  { 0x01D679, 0, { 0x00006A }},           /* 1D679; 006A; Additional folding */
-  { 0x01D67A, 0, { 0x00006B }},           /* 1D67A; 006B; Additional folding */
-  { 0x01D67B, 0, { 0x00006C }},           /* 1D67B; 006C; Additional folding */
-  { 0x01D67C, 0, { 0x00006D }},           /* 1D67C; 006D; Additional folding */
-  { 0x01D67D, 0, { 0x00006E }},           /* 1D67D; 006E; Additional folding */
-  { 0x01D67E, 0, { 0x00006F }},           /* 1D67E; 006F; Additional folding */
-  { 0x01D67F, 0, { 0x000070 }},           /* 1D67F; 0070; Additional folding */
-  { 0x01D680, 0, { 0x000071 }},           /* 1D680; 0071; Additional folding */
-  { 0x01D681, 0, { 0x000072 }},           /* 1D681; 0072; Additional folding */
-  { 0x01D682, 0, { 0x000073 }},           /* 1D682; 0073; Additional folding */
-  { 0x01D683, 0, { 0x000074 }},           /* 1D683; 0074; Additional folding */
-  { 0x01D684, 0, { 0x000075 }},           /* 1D684; 0075; Additional folding */
-  { 0x01D685, 0, { 0x000076 }},           /* 1D685; 0076; Additional folding */
-  { 0x01D686, 0, { 0x000077 }},           /* 1D686; 0077; Additional folding */
-  { 0x01D687, 0, { 0x000078 }},           /* 1D687; 0078; Additional folding */
-  { 0x01D688, 0, { 0x000079 }},           /* 1D688; 0079; Additional folding */
-  { 0x01D689, 0, { 0x00007A }},           /* 1D689; 007A; Additional folding */
-  { 0x01D6A8, 0, { 0x0003B1 }},           /* 1D6A8; 03B1; Additional folding */
-  { 0x01D6A9, 0, { 0x0003B2 }},           /* 1D6A9; 03B2; Additional folding */
-  { 0x01D6AA, 0, { 0x0003B3 }},           /* 1D6AA; 03B3; Additional folding */
-  { 0x01D6AB, 0, { 0x0003B4 }},           /* 1D6AB; 03B4; Additional folding */
-  { 0x01D6AC, 0, { 0x0003B5 }},           /* 1D6AC; 03B5; Additional folding */
-  { 0x01D6AD, 0, { 0x0003B6 }},           /* 1D6AD; 03B6; Additional folding */
-  { 0x01D6AE, 0, { 0x0003B7 }},           /* 1D6AE; 03B7; Additional folding */
-  { 0x01D6AF, 0, { 0x0003B8 }},           /* 1D6AF; 03B8; Additional folding */
-  { 0x01D6B0, 0, { 0x0003B9 }},           /* 1D6B0; 03B9; Additional folding */
-  { 0x01D6B1, 0, { 0x0003BA }},           /* 1D6B1; 03BA; Additional folding */
-  { 0x01D6B2, 0, { 0x0003BB }},           /* 1D6B2; 03BB; Additional folding */
-  { 0x01D6B3, 0, { 0x0003BC }},           /* 1D6B3; 03BC; Additional folding */
-  { 0x01D6B4, 0, { 0x0003BD }},           /* 1D6B4; 03BD; Additional folding */
-  { 0x01D6B5, 0, { 0x0003BE }},           /* 1D6B5; 03BE; Additional folding */
-  { 0x01D6B6, 0, { 0x0003BF }},           /* 1D6B6; 03BF; Additional folding */
-  { 0x01D6B7, 0, { 0x0003C0 }},           /* 1D6B7; 03C0; Additional folding */
-  { 0x01D6B8, 0, { 0x0003C1 }},           /* 1D6B8; 03C1; Additional folding */
-  { 0x01D6B9, 0, { 0x0003B8 }},           /* 1D6B9; 03B8; Additional folding */
-  { 0x01D6BA, 0, { 0x0003C3 }},           /* 1D6BA; 03C3; Additional folding */
-  { 0x01D6BB, 0, { 0x0003C4 }},           /* 1D6BB; 03C4; Additional folding */
-  { 0x01D6BC, 0, { 0x0003C5 }},           /* 1D6BC; 03C5; Additional folding */
-  { 0x01D6BD, 0, { 0x0003C6 }},           /* 1D6BD; 03C6; Additional folding */
-  { 0x01D6BE, 0, { 0x0003C7 }},           /* 1D6BE; 03C7; Additional folding */
-  { 0x01D6BF, 0, { 0x0003C8 }},           /* 1D6BF; 03C8; Additional folding */
-  { 0x01D6C0, 0, { 0x0003C9 }},           /* 1D6C0; 03C9; Additional folding */
-  { 0x01D6D3, 0, { 0x0003C3 }},           /* 1D6D3; 03C3; Additional folding */
-  { 0x01D6E2, 0, { 0x0003B1 }},           /* 1D6E2; 03B1; Additional folding */
-  { 0x01D6E3, 0, { 0x0003B2 }},           /* 1D6E3; 03B2; Additional folding */
-  { 0x01D6E4, 0, { 0x0003B3 }},           /* 1D6E4; 03B3; Additional folding */
-  { 0x01D6E5, 0, { 0x0003B4 }},           /* 1D6E5; 03B4; Additional folding */
-  { 0x01D6E6, 0, { 0x0003B5 }},           /* 1D6E6; 03B5; Additional folding */
-  { 0x01D6E7, 0, { 0x0003B6 }},           /* 1D6E7; 03B6; Additional folding */
-  { 0x01D6E8, 0, { 0x0003B7 }},           /* 1D6E8; 03B7; Additional folding */
-  { 0x01D6E9, 0, { 0x0003B8 }},           /* 1D6E9; 03B8; Additional folding */
-  { 0x01D6EA, 0, { 0x0003B9 }},           /* 1D6EA; 03B9; Additional folding */
-  { 0x01D6EB, 0, { 0x0003BA }},           /* 1D6EB; 03BA; Additional folding */
-  { 0x01D6EC, 0, { 0x0003BB }},           /* 1D6EC; 03BB; Additional folding */
-  { 0x01D6ED, 0, { 0x0003BC }},           /* 1D6ED; 03BC; Additional folding */
-  { 0x01D6EE, 0, { 0x0003BD }},           /* 1D6EE; 03BD; Additional folding */
-  { 0x01D6EF, 0, { 0x0003BE }},           /* 1D6EF; 03BE; Additional folding */
-  { 0x01D6F0, 0, { 0x0003BF }},           /* 1D6F0; 03BF; Additional folding */
-  { 0x01D6F1, 0, { 0x0003C0 }},           /* 1D6F1; 03C0; Additional folding */
-  { 0x01D6F2, 0, { 0x0003C1 }},           /* 1D6F2; 03C1; Additional folding */
-  { 0x01D6F3, 0, { 0x0003B8 }},           /* 1D6F3; 03B8; Additional folding */
-  { 0x01D6F4, 0, { 0x0003C3 }},           /* 1D6F4; 03C3; Additional folding */
-  { 0x01D6F5, 0, { 0x0003C4 }},           /* 1D6F5; 03C4; Additional folding */
-  { 0x01D6F6, 0, { 0x0003C5 }},           /* 1D6F6; 03C5; Additional folding */
-  { 0x01D6F7, 0, { 0x0003C6 }},           /* 1D6F7; 03C6; Additional folding */
-  { 0x01D6F8, 0, { 0x0003C7 }},           /* 1D6F8; 03C7; Additional folding */
-  { 0x01D6F9, 0, { 0x0003C8 }},           /* 1D6F9; 03C8; Additional folding */
-  { 0x01D6FA, 0, { 0x0003C9 }},           /* 1D6FA; 03C9; Additional folding */
-  { 0x01D70D, 0, { 0x0003C3 }},           /* 1D70D; 03C3; Additional folding */
-  { 0x01D71C, 0, { 0x0003B1 }},           /* 1D71C; 03B1; Additional folding */
-  { 0x01D71D, 0, { 0x0003B2 }},           /* 1D71D; 03B2; Additional folding */
-  { 0x01D71E, 0, { 0x0003B3 }},           /* 1D71E; 03B3; Additional folding */
-  { 0x01D71F, 0, { 0x0003B4 }},           /* 1D71F; 03B4; Additional folding */
-  { 0x01D720, 0, { 0x0003B5 }},           /* 1D720; 03B5; Additional folding */
-  { 0x01D721, 0, { 0x0003B6 }},           /* 1D721; 03B6; Additional folding */
-  { 0x01D722, 0, { 0x0003B7 }},           /* 1D722; 03B7; Additional folding */
-  { 0x01D723, 0, { 0x0003B8 }},           /* 1D723; 03B8; Additional folding */
-  { 0x01D724, 0, { 0x0003B9 }},           /* 1D724; 03B9; Additional folding */
-  { 0x01D725, 0, { 0x0003BA }},           /* 1D725; 03BA; Additional folding */
-  { 0x01D726, 0, { 0x0003BB }},           /* 1D726; 03BB; Additional folding */
-  { 0x01D727, 0, { 0x0003BC }},           /* 1D727; 03BC; Additional folding */
-  { 0x01D728, 0, { 0x0003BD }},           /* 1D728; 03BD; Additional folding */
-  { 0x01D729, 0, { 0x0003BE }},           /* 1D729; 03BE; Additional folding */
-  { 0x01D72A, 0, { 0x0003BF }},           /* 1D72A; 03BF; Additional folding */
-  { 0x01D72B, 0, { 0x0003C0 }},           /* 1D72B; 03C0; Additional folding */
-  { 0x01D72C, 0, { 0x0003C1 }},           /* 1D72C; 03C1; Additional folding */
-  { 0x01D72D, 0, { 0x0003B8 }},           /* 1D72D; 03B8; Additional folding */
-  { 0x01D72E, 0, { 0x0003C3 }},           /* 1D72E; 03C3; Additional folding */
-  { 0x01D72F, 0, { 0x0003C4 }},           /* 1D72F; 03C4; Additional folding */
-  { 0x01D730, 0, { 0x0003C5 }},           /* 1D730; 03C5; Additional folding */
-  { 0x01D731, 0, { 0x0003C6 }},           /* 1D731; 03C6; Additional folding */
-  { 0x01D732, 0, { 0x0003C7 }},           /* 1D732; 03C7; Additional folding */
-  { 0x01D733, 0, { 0x0003C8 }},           /* 1D733; 03C8; Additional folding */
-  { 0x01D734, 0, { 0x0003C9 }},           /* 1D734; 03C9; Additional folding */
-  { 0x01D747, 0, { 0x0003C3 }},           /* 1D747; 03C3; Additional folding */
-  { 0x01D756, 0, { 0x0003B1 }},           /* 1D756; 03B1; Additional folding */
-  { 0x01D757, 0, { 0x0003B2 }},           /* 1D757; 03B2; Additional folding */
-  { 0x01D758, 0, { 0x0003B3 }},           /* 1D758; 03B3; Additional folding */
-  { 0x01D759, 0, { 0x0003B4 }},           /* 1D759; 03B4; Additional folding */
-  { 0x01D75A, 0, { 0x0003B5 }},           /* 1D75A; 03B5; Additional folding */
-  { 0x01D75B, 0, { 0x0003B6 }},           /* 1D75B; 03B6; Additional folding */
-  { 0x01D75C, 0, { 0x0003B7 }},           /* 1D75C; 03B7; Additional folding */
-  { 0x01D75D, 0, { 0x0003B8 }},           /* 1D75D; 03B8; Additional folding */
-  { 0x01D75E, 0, { 0x0003B9 }},           /* 1D75E; 03B9; Additional folding */
-  { 0x01D75F, 0, { 0x0003BA }},           /* 1D75F; 03BA; Additional folding */
-  { 0x01D760, 0, { 0x0003BB }},           /* 1D760; 03BB; Additional folding */
-  { 0x01D761, 0, { 0x0003BC }},           /* 1D761; 03BC; Additional folding */
-  { 0x01D762, 0, { 0x0003BD }},           /* 1D762; 03BD; Additional folding */
-  { 0x01D763, 0, { 0x0003BE }},           /* 1D763; 03BE; Additional folding */
-  { 0x01D764, 0, { 0x0003BF }},           /* 1D764; 03BF; Additional folding */
-  { 0x01D765, 0, { 0x0003C0 }},           /* 1D765; 03C0; Additional folding */
-  { 0x01D766, 0, { 0x0003C1 }},           /* 1D766; 03C1; Additional folding */
-  { 0x01D767, 0, { 0x0003B8 }},           /* 1D767; 03B8; Additional folding */
-  { 0x01D768, 0, { 0x0003C3 }},           /* 1D768; 03C3; Additional folding */
-  { 0x01D769, 0, { 0x0003C4 }},           /* 1D769; 03C4; Additional folding */
-  { 0x01D76A, 0, { 0x0003C5 }},           /* 1D76A; 03C5; Additional folding */
-  { 0x01D76B, 0, { 0x0003C6 }},           /* 1D76B; 03C6; Additional folding */
-  { 0x01D76C, 0, { 0x0003C7 }},           /* 1D76C; 03C7; Additional folding */
-  { 0x01D76D, 0, { 0x0003C8 }},           /* 1D76D; 03C8; Additional folding */
-  { 0x01D76E, 0, { 0x0003C9 }},           /* 1D76E; 03C9; Additional folding */
-  { 0x01D781, 0, { 0x0003C3 }},           /* 1D781; 03C3; Additional folding */
-  { 0x01D790, 0, { 0x0003B1 }},           /* 1D790; 03B1; Additional folding */
-  { 0x01D791, 0, { 0x0003B2 }},           /* 1D791; 03B2; Additional folding */
-  { 0x01D792, 0, { 0x0003B3 }},           /* 1D792; 03B3; Additional folding */
-  { 0x01D793, 0, { 0x0003B4 }},           /* 1D793; 03B4; Additional folding */
-  { 0x01D794, 0, { 0x0003B5 }},           /* 1D794; 03B5; Additional folding */
-  { 0x01D795, 0, { 0x0003B6 }},           /* 1D795; 03B6; Additional folding */
-  { 0x01D796, 0, { 0x0003B7 }},           /* 1D796; 03B7; Additional folding */
-  { 0x01D797, 0, { 0x0003B8 }},           /* 1D797; 03B8; Additional folding */
-  { 0x01D798, 0, { 0x0003B9 }},           /* 1D798; 03B9; Additional folding */
-  { 0x01D799, 0, { 0x0003BA }},           /* 1D799; 03BA; Additional folding */
-  { 0x01D79A, 0, { 0x0003BB }},           /* 1D79A; 03BB; Additional folding */
-  { 0x01D79B, 0, { 0x0003BC }},           /* 1D79B; 03BC; Additional folding */
-  { 0x01D79C, 0, { 0x0003BD }},           /* 1D79C; 03BD; Additional folding */
-  { 0x01D79D, 0, { 0x0003BE }},           /* 1D79D; 03BE; Additional folding */
-  { 0x01D79E, 0, { 0x0003BF }},           /* 1D79E; 03BF; Additional folding */
-  { 0x01D79F, 0, { 0x0003C0 }},           /* 1D79F; 03C0; Additional folding */
-  { 0x01D7A0, 0, { 0x0003C1 }},           /* 1D7A0; 03C1; Additional folding */
-  { 0x01D7A1, 0, { 0x0003B8 }},           /* 1D7A1; 03B8; Additional folding */
-  { 0x01D7A2, 0, { 0x0003C3 }},           /* 1D7A2; 03C3; Additional folding */
-  { 0x01D7A3, 0, { 0x0003C4 }},           /* 1D7A3; 03C4; Additional folding */
-  { 0x01D7A4, 0, { 0x0003C5 }},           /* 1D7A4; 03C5; Additional folding */
-  { 0x01D7A5, 0, { 0x0003C6 }},           /* 1D7A5; 03C6; Additional folding */
-  { 0x01D7A6, 0, { 0x0003C7 }},           /* 1D7A6; 03C7; Additional folding */
-  { 0x01D7A7, 0, { 0x0003C8 }},           /* 1D7A7; 03C8; Additional folding */
-  { 0x01D7A8, 0, { 0x0003C9 }},           /* 1D7A8; 03C9; Additional folding */
-  { 0x01D7BB, 0, { 0x0003C3 }},           /* 1D7BB; 03C3; Additional folding */
+  { 0x00FF21, 0x00FF21, { 0x00FF41 }},                      /* FF21; FF41; Case map */
+  { 0x00FF22, 0x00FF22, { 0x00FF42 }},                      /* FF22; FF42; Case map */
+  { 0x00FF23, 0x00FF23, { 0x00FF43 }},                      /* FF23; FF43; Case map */
+  { 0x00FF24, 0x00FF24, { 0x00FF44 }},                      /* FF24; FF44; Case map */
+  { 0x00FF25, 0x00FF25, { 0x00FF45 }},                      /* FF25; FF45; Case map */
+  { 0x00FF26, 0x00FF26, { 0x00FF46 }},                      /* FF26; FF46; Case map */
+  { 0x00FF27, 0x00FF27, { 0x00FF47 }},                      /* FF27; FF47; Case map */
+  { 0x00FF28, 0x00FF28, { 0x00FF48 }},                      /* FF28; FF48; Case map */
+  { 0x00FF29, 0x00FF29, { 0x00FF49 }},                      /* FF29; FF49; Case map */
+  { 0x00FF2A, 0x00FF2A, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
+  { 0x00FF2B, 0x00FF2B, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
+  { 0x00FF2C, 0x00FF2C, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
+  { 0x00FF2D, 0x00FF2D, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
+  { 0x00FF2E, 0x00FF2E, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
+  { 0x00FF2F, 0x00FF2F, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
+  { 0x00FF30, 0x00FF30, { 0x00FF50 }},                      /* FF30; FF50; Case map */
+  { 0x00FF31, 0x00FF31, { 0x00FF51 }},                      /* FF31; FF51; Case map */
+  { 0x00FF32, 0x00FF32, { 0x00FF52 }},                      /* FF32; FF52; Case map */
+  { 0x00FF33, 0x00FF33, { 0x00FF53 }},                      /* FF33; FF53; Case map */
+  { 0x00FF34, 0x00FF34, { 0x00FF54 }},                      /* FF34; FF54; Case map */
+  { 0x00FF35, 0x00FF35, { 0x00FF55 }},                      /* FF35; FF55; Case map */
+  { 0x00FF36, 0x00FF36, { 0x00FF56 }},                      /* FF36; FF56; Case map */
+  { 0x00FF37, 0x00FF37, { 0x00FF57 }},                      /* FF37; FF57; Case map */
+  { 0x00FF38, 0x00FF38, { 0x00FF58 }},                      /* FF38; FF58; Case map */
+  { 0x00FF39, 0x00FF39, { 0x00FF59 }},                      /* FF39; FF59; Case map */
+  { 0x00FF3A, 0x00FF3A, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
+  { 0x010400, 0x010400, { 0x010428 }},                    /* 10400; 10428; Case map */
+  { 0x010401, 0x010401, { 0x010429 }},                    /* 10401; 10429; Case map */
+  { 0x010402, 0x010402, { 0x01042A }},                    /* 10402; 1042A; Case map */
+  { 0x010403, 0x010403, { 0x01042B }},                    /* 10403; 1042B; Case map */
+  { 0x010404, 0x010404, { 0x01042C }},                    /* 10404; 1042C; Case map */
+  { 0x010405, 0x010405, { 0x01042D }},                    /* 10405; 1042D; Case map */
+  { 0x010406, 0x010406, { 0x01042E }},                    /* 10406; 1042E; Case map */
+  { 0x010407, 0x010407, { 0x01042F }},                    /* 10407; 1042F; Case map */
+  { 0x010408, 0x010408, { 0x010430 }},                    /* 10408; 10430; Case map */
+  { 0x010409, 0x010409, { 0x010431 }},                    /* 10409; 10431; Case map */
+  { 0x01040A, 0x01040A, { 0x010432 }},                    /* 1040A; 10432; Case map */
+  { 0x01040B, 0x01040B, { 0x010433 }},                    /* 1040B; 10433; Case map */
+  { 0x01040C, 0x01040C, { 0x010434 }},                    /* 1040C; 10434; Case map */
+  { 0x01040D, 0x01040D, { 0x010435 }},                    /* 1040D; 10435; Case map */
+  { 0x01040E, 0x01040E, { 0x010436 }},                    /* 1040E; 10436; Case map */
+  { 0x01040F, 0x01040F, { 0x010437 }},                    /* 1040F; 10437; Case map */
+  { 0x010410, 0x010410, { 0x010438 }},                    /* 10410; 10438; Case map */
+  { 0x010411, 0x010411, { 0x010439 }},                    /* 10411; 10439; Case map */
+  { 0x010412, 0x010412, { 0x01043A }},                    /* 10412; 1043A; Case map */
+  { 0x010413, 0x010413, { 0x01043B }},                    /* 10413; 1043B; Case map */
+  { 0x010414, 0x010414, { 0x01043C }},                    /* 10414; 1043C; Case map */
+  { 0x010415, 0x010415, { 0x01043D }},                    /* 10415; 1043D; Case map */
+  { 0x010416, 0x010416, { 0x01043E }},                    /* 10416; 1043E; Case map */
+  { 0x010417, 0x010417, { 0x01043F }},                    /* 10417; 1043F; Case map */
+  { 0x010418, 0x010418, { 0x010440 }},                    /* 10418; 10440; Case map */
+  { 0x010419, 0x010419, { 0x010441 }},                    /* 10419; 10441; Case map */
+  { 0x01041A, 0x01041A, { 0x010442 }},                    /* 1041A; 10442; Case map */
+  { 0x01041B, 0x01041B, { 0x010443 }},                    /* 1041B; 10443; Case map */
+  { 0x01041C, 0x01041C, { 0x010444 }},                    /* 1041C; 10444; Case map */
+  { 0x01041D, 0x01041D, { 0x010445 }},                    /* 1041D; 10445; Case map */
+  { 0x01041E, 0x01041E, { 0x010446 }},                    /* 1041E; 10446; Case map */
+  { 0x01041F, 0x01041F, { 0x010447 }},                    /* 1041F; 10447; Case map */
+  { 0x010420, 0x010420, { 0x010448 }},                    /* 10420; 10448; Case map */
+  { 0x010421, 0x010421, { 0x010449 }},                    /* 10421; 10449; Case map */
+  { 0x010422, 0x010422, { 0x01044A }},                    /* 10422; 1044A; Case map */
+  { 0x010423, 0x010423, { 0x01044B }},                    /* 10423; 1044B; Case map */
+  { 0x010424, 0x010424, { 0x01044C }},                    /* 10424; 1044C; Case map */
+  { 0x010425, 0x010425, { 0x01044D }},                    /* 10425; 1044D; Case map */
+  { 0x01D400, 0x01D400, { 0x000061 }},           /* 1D400; 0061; Additional folding */
+  { 0x01D401, 0x01D401, { 0x000062 }},           /* 1D401; 0062; Additional folding */
+  { 0x01D402, 0x01D402, { 0x000063 }},           /* 1D402; 0063; Additional folding */
+  { 0x01D403, 0x01D403, { 0x000064 }},           /* 1D403; 0064; Additional folding */
+  { 0x01D404, 0x01D404, { 0x000065 }},           /* 1D404; 0065; Additional folding */
+  { 0x01D405, 0x01D405, { 0x000066 }},           /* 1D405; 0066; Additional folding */
+  { 0x01D406, 0x01D406, { 0x000067 }},           /* 1D406; 0067; Additional folding */
+  { 0x01D407, 0x01D407, { 0x000068 }},           /* 1D407; 0068; Additional folding */
+  { 0x01D408, 0x01D408, { 0x000069 }},           /* 1D408; 0069; Additional folding */
+  { 0x01D409, 0x01D409, { 0x00006A }},           /* 1D409; 006A; Additional folding */
+  { 0x01D40A, 0x01D40A, { 0x00006B }},           /* 1D40A; 006B; Additional folding */
+  { 0x01D40B, 0x01D40B, { 0x00006C }},           /* 1D40B; 006C; Additional folding */
+  { 0x01D40C, 0x01D40C, { 0x00006D }},           /* 1D40C; 006D; Additional folding */
+  { 0x01D40D, 0x01D40D, { 0x00006E }},           /* 1D40D; 006E; Additional folding */
+  { 0x01D40E, 0x01D40E, { 0x00006F }},           /* 1D40E; 006F; Additional folding */
+  { 0x01D40F, 0x01D40F, { 0x000070 }},           /* 1D40F; 0070; Additional folding */
+  { 0x01D410, 0x01D410, { 0x000071 }},           /* 1D410; 0071; Additional folding */
+  { 0x01D411, 0x01D411, { 0x000072 }},           /* 1D411; 0072; Additional folding */
+  { 0x01D412, 0x01D412, { 0x000073 }},           /* 1D412; 0073; Additional folding */
+  { 0x01D413, 0x01D413, { 0x000074 }},           /* 1D413; 0074; Additional folding */
+  { 0x01D414, 0x01D414, { 0x000075 }},           /* 1D414; 0075; Additional folding */
+  { 0x01D415, 0x01D415, { 0x000076 }},           /* 1D415; 0076; Additional folding */
+  { 0x01D416, 0x01D416, { 0x000077 }},           /* 1D416; 0077; Additional folding */
+  { 0x01D417, 0x01D417, { 0x000078 }},           /* 1D417; 0078; Additional folding */
+  { 0x01D418, 0x01D418, { 0x000079 }},           /* 1D418; 0079; Additional folding */
+  { 0x01D419, 0x01D419, { 0x00007A }},           /* 1D419; 007A; Additional folding */
+  { 0x01D434, 0x01D434, { 0x000061 }},           /* 1D434; 0061; Additional folding */
+  { 0x01D435, 0x01D435, { 0x000062 }},           /* 1D435; 0062; Additional folding */
+  { 0x01D436, 0x01D436, { 0x000063 }},           /* 1D436; 0063; Additional folding */
+  { 0x01D437, 0x01D437, { 0x000064 }},           /* 1D437; 0064; Additional folding */
+  { 0x01D438, 0x01D438, { 0x000065 }},           /* 1D438; 0065; Additional folding */
+  { 0x01D439, 0x01D439, { 0x000066 }},           /* 1D439; 0066; Additional folding */
+  { 0x01D43A, 0x01D43A, { 0x000067 }},           /* 1D43A; 0067; Additional folding */
+  { 0x01D43B, 0x01D43B, { 0x000068 }},           /* 1D43B; 0068; Additional folding */
+  { 0x01D43C, 0x01D43C, { 0x000069 }},           /* 1D43C; 0069; Additional folding */
+  { 0x01D43D, 0x01D43D, { 0x00006A }},           /* 1D43D; 006A; Additional folding */
+  { 0x01D43E, 0x01D43E, { 0x00006B }},           /* 1D43E; 006B; Additional folding */
+  { 0x01D43F, 0x01D43F, { 0x00006C }},           /* 1D43F; 006C; Additional folding */
+  { 0x01D440, 0x01D440, { 0x00006D }},           /* 1D440; 006D; Additional folding */
+  { 0x01D441, 0x01D441, { 0x00006E }},           /* 1D441; 006E; Additional folding */
+  { 0x01D442, 0x01D442, { 0x00006F }},           /* 1D442; 006F; Additional folding */
+  { 0x01D443, 0x01D443, { 0x000070 }},           /* 1D443; 0070; Additional folding */
+  { 0x01D444, 0x01D444, { 0x000071 }},           /* 1D444; 0071; Additional folding */
+  { 0x01D445, 0x01D445, { 0x000072 }},           /* 1D445; 0072; Additional folding */
+  { 0x01D446, 0x01D446, { 0x000073 }},           /* 1D446; 0073; Additional folding */
+  { 0x01D447, 0x01D447, { 0x000074 }},           /* 1D447; 0074; Additional folding */
+  { 0x01D448, 0x01D448, { 0x000075 }},           /* 1D448; 0075; Additional folding */
+  { 0x01D449, 0x01D449, { 0x000076 }},           /* 1D449; 0076; Additional folding */
+  { 0x01D44A, 0x01D44A, { 0x000077 }},           /* 1D44A; 0077; Additional folding */
+  { 0x01D44B, 0x01D44B, { 0x000078 }},           /* 1D44B; 0078; Additional folding */
+  { 0x01D44C, 0x01D44C, { 0x000079 }},           /* 1D44C; 0079; Additional folding */
+  { 0x01D44D, 0x01D44D, { 0x00007A }},           /* 1D44D; 007A; Additional folding */
+  { 0x01D468, 0x01D468, { 0x000061 }},           /* 1D468; 0061; Additional folding */
+  { 0x01D469, 0x01D469, { 0x000062 }},           /* 1D469; 0062; Additional folding */
+  { 0x01D46A, 0x01D46A, { 0x000063 }},           /* 1D46A; 0063; Additional folding */
+  { 0x01D46B, 0x01D46B, { 0x000064 }},           /* 1D46B; 0064; Additional folding */
+  { 0x01D46C, 0x01D46C, { 0x000065 }},           /* 1D46C; 0065; Additional folding */
+  { 0x01D46D, 0x01D46D, { 0x000066 }},           /* 1D46D; 0066; Additional folding */
+  { 0x01D46E, 0x01D46E, { 0x000067 }},           /* 1D46E; 0067; Additional folding */
+  { 0x01D46F, 0x01D46F, { 0x000068 }},           /* 1D46F; 0068; Additional folding */
+  { 0x01D470, 0x01D470, { 0x000069 }},           /* 1D470; 0069; Additional folding */
+  { 0x01D471, 0x01D471, { 0x00006A }},           /* 1D471; 006A; Additional folding */
+  { 0x01D472, 0x01D472, { 0x00006B }},           /* 1D472; 006B; Additional folding */
+  { 0x01D473, 0x01D473, { 0x00006C }},           /* 1D473; 006C; Additional folding */
+  { 0x01D474, 0x01D474, { 0x00006D }},           /* 1D474; 006D; Additional folding */
+  { 0x01D475, 0x01D475, { 0x00006E }},           /* 1D475; 006E; Additional folding */
+  { 0x01D476, 0x01D476, { 0x00006F }},           /* 1D476; 006F; Additional folding */
+  { 0x01D477, 0x01D477, { 0x000070 }},           /* 1D477; 0070; Additional folding */
+  { 0x01D478, 0x01D478, { 0x000071 }},           /* 1D478; 0071; Additional folding */
+  { 0x01D479, 0x01D479, { 0x000072 }},           /* 1D479; 0072; Additional folding */
+  { 0x01D47A, 0x01D47A, { 0x000073 }},           /* 1D47A; 0073; Additional folding */
+  { 0x01D47B, 0x01D47B, { 0x000074 }},           /* 1D47B; 0074; Additional folding */
+  { 0x01D47C, 0x01D47C, { 0x000075 }},           /* 1D47C; 0075; Additional folding */
+  { 0x01D47D, 0x01D47D, { 0x000076 }},           /* 1D47D; 0076; Additional folding */
+  { 0x01D47E, 0x01D47E, { 0x000077 }},           /* 1D47E; 0077; Additional folding */
+  { 0x01D47F, 0x01D47F, { 0x000078 }},           /* 1D47F; 0078; Additional folding */
+  { 0x01D480, 0x01D480, { 0x000079 }},           /* 1D480; 0079; Additional folding */
+  { 0x01D481, 0x01D481, { 0x00007A }},           /* 1D481; 007A; Additional folding */
+  { 0x01D49C, 0x01D49C, { 0x000061 }},           /* 1D49C; 0061; Additional folding */
+  { 0x01D49E, 0x01D49E, { 0x000063 }},           /* 1D49E; 0063; Additional folding */
+  { 0x01D49F, 0x01D49F, { 0x000064 }},           /* 1D49F; 0064; Additional folding */
+  { 0x01D4A2, 0x01D4A2, { 0x000067 }},           /* 1D4A2; 0067; Additional folding */
+  { 0x01D4A5, 0x01D4A5, { 0x00006A }},           /* 1D4A5; 006A; Additional folding */
+  { 0x01D4A6, 0x01D4A6, { 0x00006B }},           /* 1D4A6; 006B; Additional folding */
+  { 0x01D4A9, 0x01D4A9, { 0x00006E }},           /* 1D4A9; 006E; Additional folding */
+  { 0x01D4AA, 0x01D4AA, { 0x00006F }},           /* 1D4AA; 006F; Additional folding */
+  { 0x01D4AB, 0x01D4AB, { 0x000070 }},           /* 1D4AB; 0070; Additional folding */
+  { 0x01D4AC, 0x01D4AC, { 0x000071 }},           /* 1D4AC; 0071; Additional folding */
+  { 0x01D4AE, 0x01D4AE, { 0x000073 }},           /* 1D4AE; 0073; Additional folding */
+  { 0x01D4AF, 0x01D4AF, { 0x000074 }},           /* 1D4AF; 0074; Additional folding */
+  { 0x01D4B0, 0x01D4B0, { 0x000075 }},           /* 1D4B0; 0075; Additional folding */
+  { 0x01D4B1, 0x01D4B1, { 0x000076 }},           /* 1D4B1; 0076; Additional folding */
+  { 0x01D4B2, 0x01D4B2, { 0x000077 }},           /* 1D4B2; 0077; Additional folding */
+  { 0x01D4B3, 0x01D4B3, { 0x000078 }},           /* 1D4B3; 0078; Additional folding */
+  { 0x01D4B4, 0x01D4B4, { 0x000079 }},           /* 1D4B4; 0079; Additional folding */
+  { 0x01D4B5, 0x01D4B5, { 0x00007A }},           /* 1D4B5; 007A; Additional folding */
+  { 0x01D4D0, 0x01D4D0, { 0x000061 }},           /* 1D4D0; 0061; Additional folding */
+  { 0x01D4D1, 0x01D4D1, { 0x000062 }},           /* 1D4D1; 0062; Additional folding */
+  { 0x01D4D2, 0x01D4D2, { 0x000063 }},           /* 1D4D2; 0063; Additional folding */
+  { 0x01D4D3, 0x01D4D3, { 0x000064 }},           /* 1D4D3; 0064; Additional folding */
+  { 0x01D4D4, 0x01D4D4, { 0x000065 }},           /* 1D4D4; 0065; Additional folding */
+  { 0x01D4D5, 0x01D4D5, { 0x000066 }},           /* 1D4D5; 0066; Additional folding */
+  { 0x01D4D6, 0x01D4D6, { 0x000067 }},           /* 1D4D6; 0067; Additional folding */
+  { 0x01D4D7, 0x01D4D7, { 0x000068 }},           /* 1D4D7; 0068; Additional folding */
+  { 0x01D4D8, 0x01D4D8, { 0x000069 }},           /* 1D4D8; 0069; Additional folding */
+  { 0x01D4D9, 0x01D4D9, { 0x00006A }},           /* 1D4D9; 006A; Additional folding */
+  { 0x01D4DA, 0x01D4DA, { 0x00006B }},           /* 1D4DA; 006B; Additional folding */
+  { 0x01D4DB, 0x01D4DB, { 0x00006C }},           /* 1D4DB; 006C; Additional folding */
+  { 0x01D4DC, 0x01D4DC, { 0x00006D }},           /* 1D4DC; 006D; Additional folding */
+  { 0x01D4DD, 0x01D4DD, { 0x00006E }},           /* 1D4DD; 006E; Additional folding */
+  { 0x01D4DE, 0x01D4DE, { 0x00006F }},           /* 1D4DE; 006F; Additional folding */
+  { 0x01D4DF, 0x01D4DF, { 0x000070 }},           /* 1D4DF; 0070; Additional folding */
+  { 0x01D4E0, 0x01D4E0, { 0x000071 }},           /* 1D4E0; 0071; Additional folding */
+  { 0x01D4E1, 0x01D4E1, { 0x000072 }},           /* 1D4E1; 0072; Additional folding */
+  { 0x01D4E2, 0x01D4E2, { 0x000073 }},           /* 1D4E2; 0073; Additional folding */
+  { 0x01D4E3, 0x01D4E3, { 0x000074 }},           /* 1D4E3; 0074; Additional folding */
+  { 0x01D4E4, 0x01D4E4, { 0x000075 }},           /* 1D4E4; 0075; Additional folding */
+  { 0x01D4E5, 0x01D4E5, { 0x000076 }},           /* 1D4E5; 0076; Additional folding */
+  { 0x01D4E6, 0x01D4E6, { 0x000077 }},           /* 1D4E6; 0077; Additional folding */
+  { 0x01D4E7, 0x01D4E7, { 0x000078 }},           /* 1D4E7; 0078; Additional folding */
+  { 0x01D4E8, 0x01D4E8, { 0x000079 }},           /* 1D4E8; 0079; Additional folding */
+  { 0x01D4E9, 0x01D4E9, { 0x00007A }},           /* 1D4E9; 007A; Additional folding */
+  { 0x01D504, 0x01D504, { 0x000061 }},           /* 1D504; 0061; Additional folding */
+  { 0x01D505, 0x01D505, { 0x000062 }},           /* 1D505; 0062; Additional folding */
+  { 0x01D507, 0x01D507, { 0x000064 }},           /* 1D507; 0064; Additional folding */
+  { 0x01D508, 0x01D508, { 0x000065 }},           /* 1D508; 0065; Additional folding */
+  { 0x01D509, 0x01D509, { 0x000066 }},           /* 1D509; 0066; Additional folding */
+  { 0x01D50A, 0x01D50A, { 0x000067 }},           /* 1D50A; 0067; Additional folding */
+  { 0x01D50D, 0x01D50D, { 0x00006A }},           /* 1D50D; 006A; Additional folding */
+  { 0x01D50E, 0x01D50E, { 0x00006B }},           /* 1D50E; 006B; Additional folding */
+  { 0x01D50F, 0x01D50F, { 0x00006C }},           /* 1D50F; 006C; Additional folding */
+  { 0x01D510, 0x01D510, { 0x00006D }},           /* 1D510; 006D; Additional folding */
+  { 0x01D511, 0x01D511, { 0x00006E }},           /* 1D511; 006E; Additional folding */
+  { 0x01D512, 0x01D512, { 0x00006F }},           /* 1D512; 006F; Additional folding */
+  { 0x01D513, 0x01D513, { 0x000070 }},           /* 1D513; 0070; Additional folding */
+  { 0x01D514, 0x01D514, { 0x000071 }},           /* 1D514; 0071; Additional folding */
+  { 0x01D516, 0x01D516, { 0x000073 }},           /* 1D516; 0073; Additional folding */
+  { 0x01D517, 0x01D517, { 0x000074 }},           /* 1D517; 0074; Additional folding */
+  { 0x01D518, 0x01D518, { 0x000075 }},           /* 1D518; 0075; Additional folding */
+  { 0x01D519, 0x01D519, { 0x000076 }},           /* 1D519; 0076; Additional folding */
+  { 0x01D51A, 0x01D51A, { 0x000077 }},           /* 1D51A; 0077; Additional folding */
+  { 0x01D51B, 0x01D51B, { 0x000078 }},           /* 1D51B; 0078; Additional folding */
+  { 0x01D51C, 0x01D51C, { 0x000079 }},           /* 1D51C; 0079; Additional folding */
+  { 0x01D538, 0x01D538, { 0x000061 }},           /* 1D538; 0061; Additional folding */
+  { 0x01D539, 0x01D539, { 0x000062 }},           /* 1D539; 0062; Additional folding */
+  { 0x01D53B, 0x01D53B, { 0x000064 }},           /* 1D53B; 0064; Additional folding */
+  { 0x01D53C, 0x01D53C, { 0x000065 }},           /* 1D53C; 0065; Additional folding */
+  { 0x01D53D, 0x01D53D, { 0x000066 }},           /* 1D53D; 0066; Additional folding */
+  { 0x01D53E, 0x01D53E, { 0x000067 }},           /* 1D53E; 0067; Additional folding */
+  { 0x01D540, 0x01D540, { 0x000069 }},           /* 1D540; 0069; Additional folding */
+  { 0x01D541, 0x01D541, { 0x00006A }},           /* 1D541; 006A; Additional folding */
+  { 0x01D542, 0x01D542, { 0x00006B }},           /* 1D542; 006B; Additional folding */
+  { 0x01D543, 0x01D543, { 0x00006C }},           /* 1D543; 006C; Additional folding */
+  { 0x01D544, 0x01D544, { 0x00006D }},           /* 1D544; 006D; Additional folding */
+  { 0x01D546, 0x01D546, { 0x00006F }},           /* 1D546; 006F; Additional folding */
+  { 0x01D54A, 0x01D54A, { 0x000073 }},           /* 1D54A; 0073; Additional folding */
+  { 0x01D54B, 0x01D54B, { 0x000074 }},           /* 1D54B; 0074; Additional folding */
+  { 0x01D54C, 0x01D54C, { 0x000075 }},           /* 1D54C; 0075; Additional folding */
+  { 0x01D54D, 0x01D54D, { 0x000076 }},           /* 1D54D; 0076; Additional folding */
+  { 0x01D54E, 0x01D54E, { 0x000077 }},           /* 1D54E; 0077; Additional folding */
+  { 0x01D54F, 0x01D54F, { 0x000078 }},           /* 1D54F; 0078; Additional folding */
+  { 0x01D550, 0x01D550, { 0x000079 }},           /* 1D550; 0079; Additional folding */
+  { 0x01D56C, 0x01D56C, { 0x000061 }},           /* 1D56C; 0061; Additional folding */
+  { 0x01D56D, 0x01D56D, { 0x000062 }},           /* 1D56D; 0062; Additional folding */
+  { 0x01D56E, 0x01D56E, { 0x000063 }},           /* 1D56E; 0063; Additional folding */
+  { 0x01D56F, 0x01D56F, { 0x000064 }},           /* 1D56F; 0064; Additional folding */
+  { 0x01D570, 0x01D570, { 0x000065 }},           /* 1D570; 0065; Additional folding */
+  { 0x01D571, 0x01D571, { 0x000066 }},           /* 1D571; 0066; Additional folding */
+  { 0x01D572, 0x01D572, { 0x000067 }},           /* 1D572; 0067; Additional folding */
+  { 0x01D573, 0x01D573, { 0x000068 }},           /* 1D573; 0068; Additional folding */
+  { 0x01D574, 0x01D574, { 0x000069 }},           /* 1D574; 0069; Additional folding */
+  { 0x01D575, 0x01D575, { 0x00006A }},           /* 1D575; 006A; Additional folding */
+  { 0x01D576, 0x01D576, { 0x00006B }},           /* 1D576; 006B; Additional folding */
+  { 0x01D577, 0x01D577, { 0x00006C }},           /* 1D577; 006C; Additional folding */
+  { 0x01D578, 0x01D578, { 0x00006D }},           /* 1D578; 006D; Additional folding */
+  { 0x01D579, 0x01D579, { 0x00006E }},           /* 1D579; 006E; Additional folding */
+  { 0x01D57A, 0x01D57A, { 0x00006F }},           /* 1D57A; 006F; Additional folding */
+  { 0x01D57B, 0x01D57B, { 0x000070 }},           /* 1D57B; 0070; Additional folding */
+  { 0x01D57C, 0x01D57C, { 0x000071 }},           /* 1D57C; 0071; Additional folding */
+  { 0x01D57D, 0x01D57D, { 0x000072 }},           /* 1D57D; 0072; Additional folding */
+  { 0x01D57E, 0x01D57E, { 0x000073 }},           /* 1D57E; 0073; Additional folding */
+  { 0x01D57F, 0x01D57F, { 0x000074 }},           /* 1D57F; 0074; Additional folding */
+  { 0x01D580, 0x01D580, { 0x000075 }},           /* 1D580; 0075; Additional folding */
+  { 0x01D581, 0x01D581, { 0x000076 }},           /* 1D581; 0076; Additional folding */
+  { 0x01D582, 0x01D582, { 0x000077 }},           /* 1D582; 0077; Additional folding */
+  { 0x01D583, 0x01D583, { 0x000078 }},           /* 1D583; 0078; Additional folding */
+  { 0x01D584, 0x01D584, { 0x000079 }},           /* 1D584; 0079; Additional folding */
+  { 0x01D585, 0x01D585, { 0x00007A }},           /* 1D585; 007A; Additional folding */
+  { 0x01D5A0, 0x01D5A0, { 0x000061 }},           /* 1D5A0; 0061; Additional folding */
+  { 0x01D5A1, 0x01D5A1, { 0x000062 }},           /* 1D5A1; 0062; Additional folding */
+  { 0x01D5A2, 0x01D5A2, { 0x000063 }},           /* 1D5A2; 0063; Additional folding */
+  { 0x01D5A3, 0x01D5A3, { 0x000064 }},           /* 1D5A3; 0064; Additional folding */
+  { 0x01D5A4, 0x01D5A4, { 0x000065 }},           /* 1D5A4; 0065; Additional folding */
+  { 0x01D5A5, 0x01D5A5, { 0x000066 }},           /* 1D5A5; 0066; Additional folding */
+  { 0x01D5A6, 0x01D5A6, { 0x000067 }},           /* 1D5A6; 0067; Additional folding */
+  { 0x01D5A7, 0x01D5A7, { 0x000068 }},           /* 1D5A7; 0068; Additional folding */
+  { 0x01D5A8, 0x01D5A8, { 0x000069 }},           /* 1D5A8; 0069; Additional folding */
+  { 0x01D5A9, 0x01D5A9, { 0x00006A }},           /* 1D5A9; 006A; Additional folding */
+  { 0x01D5AA, 0x01D5AA, { 0x00006B }},           /* 1D5AA; 006B; Additional folding */
+  { 0x01D5AB, 0x01D5AB, { 0x00006C }},           /* 1D5AB; 006C; Additional folding */
+  { 0x01D5AC, 0x01D5AC, { 0x00006D }},           /* 1D5AC; 006D; Additional folding */
+  { 0x01D5AD, 0x01D5AD, { 0x00006E }},           /* 1D5AD; 006E; Additional folding */
+  { 0x01D5AE, 0x01D5AE, { 0x00006F }},           /* 1D5AE; 006F; Additional folding */
+  { 0x01D5AF, 0x01D5AF, { 0x000070 }},           /* 1D5AF; 0070; Additional folding */
+  { 0x01D5B0, 0x01D5B0, { 0x000071 }},           /* 1D5B0; 0071; Additional folding */
+  { 0x01D5B1, 0x01D5B1, { 0x000072 }},           /* 1D5B1; 0072; Additional folding */
+  { 0x01D5B2, 0x01D5B2, { 0x000073 }},           /* 1D5B2; 0073; Additional folding */
+  { 0x01D5B3, 0x01D5B3, { 0x000074 }},           /* 1D5B3; 0074; Additional folding */
+  { 0x01D5B4, 0x01D5B4, { 0x000075 }},           /* 1D5B4; 0075; Additional folding */
+  { 0x01D5B5, 0x01D5B5, { 0x000076 }},           /* 1D5B5; 0076; Additional folding */
+  { 0x01D5B6, 0x01D5B6, { 0x000077 }},           /* 1D5B6; 0077; Additional folding */
+  { 0x01D5B7, 0x01D5B7, { 0x000078 }},           /* 1D5B7; 0078; Additional folding */
+  { 0x01D5B8, 0x01D5B8, { 0x000079 }},           /* 1D5B8; 0079; Additional folding */
+  { 0x01D5B9, 0x01D5B9, { 0x00007A }},           /* 1D5B9; 007A; Additional folding */
+  { 0x01D5D4, 0x01D5D4, { 0x000061 }},           /* 1D5D4; 0061; Additional folding */
+  { 0x01D5D5, 0x01D5D5, { 0x000062 }},           /* 1D5D5; 0062; Additional folding */
+  { 0x01D5D6, 0x01D5D6, { 0x000063 }},           /* 1D5D6; 0063; Additional folding */
+  { 0x01D5D7, 0x01D5D7, { 0x000064 }},           /* 1D5D7; 0064; Additional folding */
+  { 0x01D5D8, 0x01D5D8, { 0x000065 }},           /* 1D5D8; 0065; Additional folding */
+  { 0x01D5D9, 0x01D5D9, { 0x000066 }},           /* 1D5D9; 0066; Additional folding */
+  { 0x01D5DA, 0x01D5DA, { 0x000067 }},           /* 1D5DA; 0067; Additional folding */
+  { 0x01D5DB, 0x01D5DB, { 0x000068 }},           /* 1D5DB; 0068; Additional folding */
+  { 0x01D5DC, 0x01D5DC, { 0x000069 }},           /* 1D5DC; 0069; Additional folding */
+  { 0x01D5DD, 0x01D5DD, { 0x00006A }},           /* 1D5DD; 006A; Additional folding */
+  { 0x01D5DE, 0x01D5DE, { 0x00006B }},           /* 1D5DE; 006B; Additional folding */
+  { 0x01D5DF, 0x01D5DF, { 0x00006C }},           /* 1D5DF; 006C; Additional folding */
+  { 0x01D5E0, 0x01D5E0, { 0x00006D }},           /* 1D5E0; 006D; Additional folding */
+  { 0x01D5E1, 0x01D5E1, { 0x00006E }},           /* 1D5E1; 006E; Additional folding */
+  { 0x01D5E2, 0x01D5E2, { 0x00006F }},           /* 1D5E2; 006F; Additional folding */
+  { 0x01D5E3, 0x01D5E3, { 0x000070 }},           /* 1D5E3; 0070; Additional folding */
+  { 0x01D5E4, 0x01D5E4, { 0x000071 }},           /* 1D5E4; 0071; Additional folding */
+  { 0x01D5E5, 0x01D5E5, { 0x000072 }},           /* 1D5E5; 0072; Additional folding */
+  { 0x01D5E6, 0x01D5E6, { 0x000073 }},           /* 1D5E6; 0073; Additional folding */
+  { 0x01D5E7, 0x01D5E7, { 0x000074 }},           /* 1D5E7; 0074; Additional folding */
+  { 0x01D5E8, 0x01D5E8, { 0x000075 }},           /* 1D5E8; 0075; Additional folding */
+  { 0x01D5E9, 0x01D5E9, { 0x000076 }},           /* 1D5E9; 0076; Additional folding */
+  { 0x01D5EA, 0x01D5EA, { 0x000077 }},           /* 1D5EA; 0077; Additional folding */
+  { 0x01D5EB, 0x01D5EB, { 0x000078 }},           /* 1D5EB; 0078; Additional folding */
+  { 0x01D5EC, 0x01D5EC, { 0x000079 }},           /* 1D5EC; 0079; Additional folding */
+  { 0x01D5ED, 0x01D5ED, { 0x00007A }},           /* 1D5ED; 007A; Additional folding */
+  { 0x01D608, 0x01D608, { 0x000061 }},           /* 1D608; 0061; Additional folding */
+  { 0x01D609, 0x01D609, { 0x000062 }},           /* 1D609; 0062; Additional folding */
+  { 0x01D60A, 0x01D60A, { 0x000063 }},           /* 1D60A; 0063; Additional folding */
+  { 0x01D60B, 0x01D60B, { 0x000064 }},           /* 1D60B; 0064; Additional folding */
+  { 0x01D60C, 0x01D60C, { 0x000065 }},           /* 1D60C; 0065; Additional folding */
+  { 0x01D60D, 0x01D60D, { 0x000066 }},           /* 1D60D; 0066; Additional folding */
+  { 0x01D60E, 0x01D60E, { 0x000067 }},           /* 1D60E; 0067; Additional folding */
+  { 0x01D60F, 0x01D60F, { 0x000068 }},           /* 1D60F; 0068; Additional folding */
+  { 0x01D610, 0x01D610, { 0x000069 }},           /* 1D610; 0069; Additional folding */
+  { 0x01D611, 0x01D611, { 0x00006A }},           /* 1D611; 006A; Additional folding */
+  { 0x01D612, 0x01D612, { 0x00006B }},           /* 1D612; 006B; Additional folding */
+  { 0x01D613, 0x01D613, { 0x00006C }},           /* 1D613; 006C; Additional folding */
+  { 0x01D614, 0x01D614, { 0x00006D }},           /* 1D614; 006D; Additional folding */
+  { 0x01D615, 0x01D615, { 0x00006E }},           /* 1D615; 006E; Additional folding */
+  { 0x01D616, 0x01D616, { 0x00006F }},           /* 1D616; 006F; Additional folding */
+  { 0x01D617, 0x01D617, { 0x000070 }},           /* 1D617; 0070; Additional folding */
+  { 0x01D618, 0x01D618, { 0x000071 }},           /* 1D618; 0071; Additional folding */
+  { 0x01D619, 0x01D619, { 0x000072 }},           /* 1D619; 0072; Additional folding */
+  { 0x01D61A, 0x01D61A, { 0x000073 }},           /* 1D61A; 0073; Additional folding */
+  { 0x01D61B, 0x01D61B, { 0x000074 }},           /* 1D61B; 0074; Additional folding */
+  { 0x01D61C, 0x01D61C, { 0x000075 }},           /* 1D61C; 0075; Additional folding */
+  { 0x01D61D, 0x01D61D, { 0x000076 }},           /* 1D61D; 0076; Additional folding */
+  { 0x01D61E, 0x01D61E, { 0x000077 }},           /* 1D61E; 0077; Additional folding */
+  { 0x01D61F, 0x01D61F, { 0x000078 }},           /* 1D61F; 0078; Additional folding */
+  { 0x01D620, 0x01D620, { 0x000079 }},           /* 1D620; 0079; Additional folding */
+  { 0x01D621, 0x01D621, { 0x00007A }},           /* 1D621; 007A; Additional folding */
+  { 0x01D63C, 0x01D63C, { 0x000061 }},           /* 1D63C; 0061; Additional folding */
+  { 0x01D63D, 0x01D63D, { 0x000062 }},           /* 1D63D; 0062; Additional folding */
+  { 0x01D63E, 0x01D63E, { 0x000063 }},           /* 1D63E; 0063; Additional folding */
+  { 0x01D63F, 0x01D63F, { 0x000064 }},           /* 1D63F; 0064; Additional folding */
+  { 0x01D640, 0x01D640, { 0x000065 }},           /* 1D640; 0065; Additional folding */
+  { 0x01D641, 0x01D641, { 0x000066 }},           /* 1D641; 0066; Additional folding */
+  { 0x01D642, 0x01D642, { 0x000067 }},           /* 1D642; 0067; Additional folding */
+  { 0x01D643, 0x01D643, { 0x000068 }},           /* 1D643; 0068; Additional folding */
+  { 0x01D644, 0x01D644, { 0x000069 }},           /* 1D644; 0069; Additional folding */
+  { 0x01D645, 0x01D645, { 0x00006A }},           /* 1D645; 006A; Additional folding */
+  { 0x01D646, 0x01D646, { 0x00006B }},           /* 1D646; 006B; Additional folding */
+  { 0x01D647, 0x01D647, { 0x00006C }},           /* 1D647; 006C; Additional folding */
+  { 0x01D648, 0x01D648, { 0x00006D }},           /* 1D648; 006D; Additional folding */
+  { 0x01D649, 0x01D649, { 0x00006E }},           /* 1D649; 006E; Additional folding */
+  { 0x01D64A, 0x01D64A, { 0x00006F }},           /* 1D64A; 006F; Additional folding */
+  { 0x01D64B, 0x01D64B, { 0x000070 }},           /* 1D64B; 0070; Additional folding */
+  { 0x01D64C, 0x01D64C, { 0x000071 }},           /* 1D64C; 0071; Additional folding */
+  { 0x01D64D, 0x01D64D, { 0x000072 }},           /* 1D64D; 0072; Additional folding */
+  { 0x01D64E, 0x01D64E, { 0x000073 }},           /* 1D64E; 0073; Additional folding */
+  { 0x01D64F, 0x01D64F, { 0x000074 }},           /* 1D64F; 0074; Additional folding */
+  { 0x01D650, 0x01D650, { 0x000075 }},           /* 1D650; 0075; Additional folding */
+  { 0x01D651, 0x01D651, { 0x000076 }},           /* 1D651; 0076; Additional folding */
+  { 0x01D652, 0x01D652, { 0x000077 }},           /* 1D652; 0077; Additional folding */
+  { 0x01D653, 0x01D653, { 0x000078 }},           /* 1D653; 0078; Additional folding */
+  { 0x01D654, 0x01D654, { 0x000079 }},           /* 1D654; 0079; Additional folding */
+  { 0x01D655, 0x01D655, { 0x00007A }},           /* 1D655; 007A; Additional folding */
+  { 0x01D670, 0x01D670, { 0x000061 }},           /* 1D670; 0061; Additional folding */
+  { 0x01D671, 0x01D671, { 0x000062 }},           /* 1D671; 0062; Additional folding */
+  { 0x01D672, 0x01D672, { 0x000063 }},           /* 1D672; 0063; Additional folding */
+  { 0x01D673, 0x01D673, { 0x000064 }},           /* 1D673; 0064; Additional folding */
+  { 0x01D674, 0x01D674, { 0x000065 }},           /* 1D674; 0065; Additional folding */
+  { 0x01D675, 0x01D675, { 0x000066 }},           /* 1D675; 0066; Additional folding */
+  { 0x01D676, 0x01D676, { 0x000067 }},           /* 1D676; 0067; Additional folding */
+  { 0x01D677, 0x01D677, { 0x000068 }},           /* 1D677; 0068; Additional folding */
+  { 0x01D678, 0x01D678, { 0x000069 }},           /* 1D678; 0069; Additional folding */
+  { 0x01D679, 0x01D679, { 0x00006A }},           /* 1D679; 006A; Additional folding */
+  { 0x01D67A, 0x01D67A, { 0x00006B }},           /* 1D67A; 006B; Additional folding */
+  { 0x01D67B, 0x01D67B, { 0x00006C }},           /* 1D67B; 006C; Additional folding */
+  { 0x01D67C, 0x01D67C, { 0x00006D }},           /* 1D67C; 006D; Additional folding */
+  { 0x01D67D, 0x01D67D, { 0x00006E }},           /* 1D67D; 006E; Additional folding */
+  { 0x01D67E, 0x01D67E, { 0x00006F }},           /* 1D67E; 006F; Additional folding */
+  { 0x01D67F, 0x01D67F, { 0x000070 }},           /* 1D67F; 0070; Additional folding */
+  { 0x01D680, 0x01D680, { 0x000071 }},           /* 1D680; 0071; Additional folding */
+  { 0x01D681, 0x01D681, { 0x000072 }},           /* 1D681; 0072; Additional folding */
+  { 0x01D682, 0x01D682, { 0x000073 }},           /* 1D682; 0073; Additional folding */
+  { 0x01D683, 0x01D683, { 0x000074 }},           /* 1D683; 0074; Additional folding */
+  { 0x01D684, 0x01D684, { 0x000075 }},           /* 1D684; 0075; Additional folding */
+  { 0x01D685, 0x01D685, { 0x000076 }},           /* 1D685; 0076; Additional folding */
+  { 0x01D686, 0x01D686, { 0x000077 }},           /* 1D686; 0077; Additional folding */
+  { 0x01D687, 0x01D687, { 0x000078 }},           /* 1D687; 0078; Additional folding */
+  { 0x01D688, 0x01D688, { 0x000079 }},           /* 1D688; 0079; Additional folding */
+  { 0x01D689, 0x01D689, { 0x00007A }},           /* 1D689; 007A; Additional folding */
+  { 0x01D6A8, 0x01D6A8, { 0x0003B1 }},           /* 1D6A8; 03B1; Additional folding */
+  { 0x01D6A9, 0x01D6A9, { 0x0003B2 }},           /* 1D6A9; 03B2; Additional folding */
+  { 0x01D6AA, 0x01D6AA, { 0x0003B3 }},           /* 1D6AA; 03B3; Additional folding */
+  { 0x01D6AB, 0x01D6AB, { 0x0003B4 }},           /* 1D6AB; 03B4; Additional folding */
+  { 0x01D6AC, 0x01D6AC, { 0x0003B5 }},           /* 1D6AC; 03B5; Additional folding */
+  { 0x01D6AD, 0x01D6AD, { 0x0003B6 }},           /* 1D6AD; 03B6; Additional folding */
+  { 0x01D6AE, 0x01D6AE, { 0x0003B7 }},           /* 1D6AE; 03B7; Additional folding */
+  { 0x01D6AF, 0x01D6AF, { 0x0003B8 }},           /* 1D6AF; 03B8; Additional folding */
+  { 0x01D6B0, 0x01D6B0, { 0x0003B9 }},           /* 1D6B0; 03B9; Additional folding */
+  { 0x01D6B1, 0x01D6B1, { 0x0003BA }},           /* 1D6B1; 03BA; Additional folding */
+  { 0x01D6B2, 0x01D6B2, { 0x0003BB }},           /* 1D6B2; 03BB; Additional folding */
+  { 0x01D6B3, 0x01D6B3, { 0x0003BC }},           /* 1D6B3; 03BC; Additional folding */
+  { 0x01D6B4, 0x01D6B4, { 0x0003BD }},           /* 1D6B4; 03BD; Additional folding */
+  { 0x01D6B5, 0x01D6B5, { 0x0003BE }},           /* 1D6B5; 03BE; Additional folding */
+  { 0x01D6B6, 0x01D6B6, { 0x0003BF }},           /* 1D6B6; 03BF; Additional folding */
+  { 0x01D6B7, 0x01D6B7, { 0x0003C0 }},           /* 1D6B7; 03C0; Additional folding */
+  { 0x01D6B8, 0x01D6B8, { 0x0003C1 }},           /* 1D6B8; 03C1; Additional folding */
+  { 0x01D6B9, 0x01D6B9, { 0x0003B8 }},           /* 1D6B9; 03B8; Additional folding */
+  { 0x01D6BA, 0x01D6BA, { 0x0003C3 }},           /* 1D6BA; 03C3; Additional folding */
+  { 0x01D6BB, 0x01D6BB, { 0x0003C4 }},           /* 1D6BB; 03C4; Additional folding */
+  { 0x01D6BC, 0x01D6BC, { 0x0003C5 }},           /* 1D6BC; 03C5; Additional folding */
+  { 0x01D6BD, 0x01D6BD, { 0x0003C6 }},           /* 1D6BD; 03C6; Additional folding */
+  { 0x01D6BE, 0x01D6BE, { 0x0003C7 }},           /* 1D6BE; 03C7; Additional folding */
+  { 0x01D6BF, 0x01D6BF, { 0x0003C8 }},           /* 1D6BF; 03C8; Additional folding */
+  { 0x01D6C0, 0x01D6C0, { 0x0003C9 }},           /* 1D6C0; 03C9; Additional folding */
+  { 0x01D6D3, 0x01D6D3, { 0x0003C3 }},           /* 1D6D3; 03C3; Additional folding */
+  { 0x01D6E2, 0x01D6E2, { 0x0003B1 }},           /* 1D6E2; 03B1; Additional folding */
+  { 0x01D6E3, 0x01D6E3, { 0x0003B2 }},           /* 1D6E3; 03B2; Additional folding */
+  { 0x01D6E4, 0x01D6E4, { 0x0003B3 }},           /* 1D6E4; 03B3; Additional folding */
+  { 0x01D6E5, 0x01D6E5, { 0x0003B4 }},           /* 1D6E5; 03B4; Additional folding */
+  { 0x01D6E6, 0x01D6E6, { 0x0003B5 }},           /* 1D6E6; 03B5; Additional folding */
+  { 0x01D6E7, 0x01D6E7, { 0x0003B6 }},           /* 1D6E7; 03B6; Additional folding */
+  { 0x01D6E8, 0x01D6E8, { 0x0003B7 }},           /* 1D6E8; 03B7; Additional folding */
+  { 0x01D6E9, 0x01D6E9, { 0x0003B8 }},           /* 1D6E9; 03B8; Additional folding */
+  { 0x01D6EA, 0x01D6EA, { 0x0003B9 }},           /* 1D6EA; 03B9; Additional folding */
+  { 0x01D6EB, 0x01D6EB, { 0x0003BA }},           /* 1D6EB; 03BA; Additional folding */
+  { 0x01D6EC, 0x01D6EC, { 0x0003BB }},           /* 1D6EC; 03BB; Additional folding */
+  { 0x01D6ED, 0x01D6ED, { 0x0003BC }},           /* 1D6ED; 03BC; Additional folding */
+  { 0x01D6EE, 0x01D6EE, { 0x0003BD }},           /* 1D6EE; 03BD; Additional folding */
+  { 0x01D6EF, 0x01D6EF, { 0x0003BE }},           /* 1D6EF; 03BE; Additional folding */
+  { 0x01D6F0, 0x01D6F0, { 0x0003BF }},           /* 1D6F0; 03BF; Additional folding */
+  { 0x01D6F1, 0x01D6F1, { 0x0003C0 }},           /* 1D6F1; 03C0; Additional folding */
+  { 0x01D6F2, 0x01D6F2, { 0x0003C1 }},           /* 1D6F2; 03C1; Additional folding */
+  { 0x01D6F3, 0x01D6F3, { 0x0003B8 }},           /* 1D6F3; 03B8; Additional folding */
+  { 0x01D6F4, 0x01D6F4, { 0x0003C3 }},           /* 1D6F4; 03C3; Additional folding */
+  { 0x01D6F5, 0x01D6F5, { 0x0003C4 }},           /* 1D6F5; 03C4; Additional folding */
+  { 0x01D6F6, 0x01D6F6, { 0x0003C5 }},           /* 1D6F6; 03C5; Additional folding */
+  { 0x01D6F7, 0x01D6F7, { 0x0003C6 }},           /* 1D6F7; 03C6; Additional folding */
+  { 0x01D6F8, 0x01D6F8, { 0x0003C7 }},           /* 1D6F8; 03C7; Additional folding */
+  { 0x01D6F9, 0x01D6F9, { 0x0003C8 }},           /* 1D6F9; 03C8; Additional folding */
+  { 0x01D6FA, 0x01D6FA, { 0x0003C9 }},           /* 1D6FA; 03C9; Additional folding */
+  { 0x01D70D, 0x01D70D, { 0x0003C3 }},           /* 1D70D; 03C3; Additional folding */
+  { 0x01D71C, 0x01D71C, { 0x0003B1 }},           /* 1D71C; 03B1; Additional folding */
+  { 0x01D71D, 0x01D71D, { 0x0003B2 }},           /* 1D71D; 03B2; Additional folding */
+  { 0x01D71E, 0x01D71E, { 0x0003B3 }},           /* 1D71E; 03B3; Additional folding */
+  { 0x01D71F, 0x01D71F, { 0x0003B4 }},           /* 1D71F; 03B4; Additional folding */
+  { 0x01D720, 0x01D720, { 0x0003B5 }},           /* 1D720; 03B5; Additional folding */
+  { 0x01D721, 0x01D721, { 0x0003B6 }},           /* 1D721; 03B6; Additional folding */
+  { 0x01D722, 0x01D722, { 0x0003B7 }},           /* 1D722; 03B7; Additional folding */
+  { 0x01D723, 0x01D723, { 0x0003B8 }},           /* 1D723; 03B8; Additional folding */
+  { 0x01D724, 0x01D724, { 0x0003B9 }},           /* 1D724; 03B9; Additional folding */
+  { 0x01D725, 0x01D725, { 0x0003BA }},           /* 1D725; 03BA; Additional folding */
+  { 0x01D726, 0x01D726, { 0x0003BB }},           /* 1D726; 03BB; Additional folding */
+  { 0x01D727, 0x01D727, { 0x0003BC }},           /* 1D727; 03BC; Additional folding */
+  { 0x01D728, 0x01D728, { 0x0003BD }},           /* 1D728; 03BD; Additional folding */
+  { 0x01D729, 0x01D729, { 0x0003BE }},           /* 1D729; 03BE; Additional folding */
+  { 0x01D72A, 0x01D72A, { 0x0003BF }},           /* 1D72A; 03BF; Additional folding */
+  { 0x01D72B, 0x01D72B, { 0x0003C0 }},           /* 1D72B; 03C0; Additional folding */
+  { 0x01D72C, 0x01D72C, { 0x0003C1 }},           /* 1D72C; 03C1; Additional folding */
+  { 0x01D72D, 0x01D72D, { 0x0003B8 }},           /* 1D72D; 03B8; Additional folding */
+  { 0x01D72E, 0x01D72E, { 0x0003C3 }},           /* 1D72E; 03C3; Additional folding */
+  { 0x01D72F, 0x01D72F, { 0x0003C4 }},           /* 1D72F; 03C4; Additional folding */
+  { 0x01D730, 0x01D730, { 0x0003C5 }},           /* 1D730; 03C5; Additional folding */
+  { 0x01D731, 0x01D731, { 0x0003C6 }},           /* 1D731; 03C6; Additional folding */
+  { 0x01D732, 0x01D732, { 0x0003C7 }},           /* 1D732; 03C7; Additional folding */
+  { 0x01D733, 0x01D733, { 0x0003C8 }},           /* 1D733; 03C8; Additional folding */
+  { 0x01D734, 0x01D734, { 0x0003C9 }},           /* 1D734; 03C9; Additional folding */
+  { 0x01D747, 0x01D747, { 0x0003C3 }},           /* 1D747; 03C3; Additional folding */
+  { 0x01D756, 0x01D756, { 0x0003B1 }},           /* 1D756; 03B1; Additional folding */
+  { 0x01D757, 0x01D757, { 0x0003B2 }},           /* 1D757; 03B2; Additional folding */
+  { 0x01D758, 0x01D758, { 0x0003B3 }},           /* 1D758; 03B3; Additional folding */
+  { 0x01D759, 0x01D759, { 0x0003B4 }},           /* 1D759; 03B4; Additional folding */
+  { 0x01D75A, 0x01D75A, { 0x0003B5 }},           /* 1D75A; 03B5; Additional folding */
+  { 0x01D75B, 0x01D75B, { 0x0003B6 }},           /* 1D75B; 03B6; Additional folding */
+  { 0x01D75C, 0x01D75C, { 0x0003B7 }},           /* 1D75C; 03B7; Additional folding */
+  { 0x01D75D, 0x01D75D, { 0x0003B8 }},           /* 1D75D; 03B8; Additional folding */
+  { 0x01D75E, 0x01D75E, { 0x0003B9 }},           /* 1D75E; 03B9; Additional folding */
+  { 0x01D75F, 0x01D75F, { 0x0003BA }},           /* 1D75F; 03BA; Additional folding */
+  { 0x01D760, 0x01D760, { 0x0003BB }},           /* 1D760; 03BB; Additional folding */
+  { 0x01D761, 0x01D761, { 0x0003BC }},           /* 1D761; 03BC; Additional folding */
+  { 0x01D762, 0x01D762, { 0x0003BD }},           /* 1D762; 03BD; Additional folding */
+  { 0x01D763, 0x01D763, { 0x0003BE }},           /* 1D763; 03BE; Additional folding */
+  { 0x01D764, 0x01D764, { 0x0003BF }},           /* 1D764; 03BF; Additional folding */
+  { 0x01D765, 0x01D765, { 0x0003C0 }},           /* 1D765; 03C0; Additional folding */
+  { 0x01D766, 0x01D766, { 0x0003C1 }},           /* 1D766; 03C1; Additional folding */
+  { 0x01D767, 0x01D767, { 0x0003B8 }},           /* 1D767; 03B8; Additional folding */
+  { 0x01D768, 0x01D768, { 0x0003C3 }},           /* 1D768; 03C3; Additional folding */
+  { 0x01D769, 0x01D769, { 0x0003C4 }},           /* 1D769; 03C4; Additional folding */
+  { 0x01D76A, 0x01D76A, { 0x0003C5 }},           /* 1D76A; 03C5; Additional folding */
+  { 0x01D76B, 0x01D76B, { 0x0003C6 }},           /* 1D76B; 03C6; Additional folding */
+  { 0x01D76C, 0x01D76C, { 0x0003C7 }},           /* 1D76C; 03C7; Additional folding */
+  { 0x01D76D, 0x01D76D, { 0x0003C8 }},           /* 1D76D; 03C8; Additional folding */
+  { 0x01D76E, 0x01D76E, { 0x0003C9 }},           /* 1D76E; 03C9; Additional folding */
+  { 0x01D781, 0x01D781, { 0x0003C3 }},           /* 1D781; 03C3; Additional folding */
+  { 0x01D790, 0x01D790, { 0x0003B1 }},           /* 1D790; 03B1; Additional folding */
+  { 0x01D791, 0x01D791, { 0x0003B2 }},           /* 1D791; 03B2; Additional folding */
+  { 0x01D792, 0x01D792, { 0x0003B3 }},           /* 1D792; 03B3; Additional folding */
+  { 0x01D793, 0x01D793, { 0x0003B4 }},           /* 1D793; 03B4; Additional folding */
+  { 0x01D794, 0x01D794, { 0x0003B5 }},           /* 1D794; 03B5; Additional folding */
+  { 0x01D795, 0x01D795, { 0x0003B6 }},           /* 1D795; 03B6; Additional folding */
+  { 0x01D796, 0x01D796, { 0x0003B7 }},           /* 1D796; 03B7; Additional folding */
+  { 0x01D797, 0x01D797, { 0x0003B8 }},           /* 1D797; 03B8; Additional folding */
+  { 0x01D798, 0x01D798, { 0x0003B9 }},           /* 1D798; 03B9; Additional folding */
+  { 0x01D799, 0x01D799, { 0x0003BA }},           /* 1D799; 03BA; Additional folding */
+  { 0x01D79A, 0x01D79A, { 0x0003BB }},           /* 1D79A; 03BB; Additional folding */
+  { 0x01D79B, 0x01D79B, { 0x0003BC }},           /* 1D79B; 03BC; Additional folding */
+  { 0x01D79C, 0x01D79C, { 0x0003BD }},           /* 1D79C; 03BD; Additional folding */
+  { 0x01D79D, 0x01D79D, { 0x0003BE }},           /* 1D79D; 03BE; Additional folding */
+  { 0x01D79E, 0x01D79E, { 0x0003BF }},           /* 1D79E; 03BF; Additional folding */
+  { 0x01D79F, 0x01D79F, { 0x0003C0 }},           /* 1D79F; 03C0; Additional folding */
+  { 0x01D7A0, 0x01D7A0, { 0x0003C1 }},           /* 1D7A0; 03C1; Additional folding */
+  { 0x01D7A1, 0x01D7A1, { 0x0003B8 }},           /* 1D7A1; 03B8; Additional folding */
+  { 0x01D7A2, 0x01D7A2, { 0x0003C3 }},           /* 1D7A2; 03C3; Additional folding */
+  { 0x01D7A3, 0x01D7A3, { 0x0003C4 }},           /* 1D7A3; 03C4; Additional folding */
+  { 0x01D7A4, 0x01D7A4, { 0x0003C5 }},           /* 1D7A4; 03C5; Additional folding */
+  { 0x01D7A5, 0x01D7A5, { 0x0003C6 }},           /* 1D7A5; 03C6; Additional folding */
+  { 0x01D7A6, 0x01D7A6, { 0x0003C7 }},           /* 1D7A6; 03C7; Additional folding */
+  { 0x01D7A7, 0x01D7A7, { 0x0003C8 }},           /* 1D7A7; 03C8; Additional folding */
+  { 0x01D7A8, 0x01D7A8, { 0x0003C9 }},           /* 1D7A8; 03C9; Additional folding */
+  { 0x01D7BB, 0x01D7BB, { 0x0003C3 }},           /* 1D7BB; 03C3; Additional folding */
   { 0 },
 };
 
@@ -2482,947 +2482,947 @@ const Stringprep_table_element stringprep_rfc3454_B_2[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_B_3[] = {
-  { 0x000041, 0, { 0x000061 }},                      /* 0041; 0061; Case map */
-  { 0x000042, 0, { 0x000062 }},                      /* 0042; 0062; Case map */
-  { 0x000043, 0, { 0x000063 }},                      /* 0043; 0063; Case map */
-  { 0x000044, 0, { 0x000064 }},                      /* 0044; 0064; Case map */
-  { 0x000045, 0, { 0x000065 }},                      /* 0045; 0065; Case map */
-  { 0x000046, 0, { 0x000066 }},                      /* 0046; 0066; Case map */
-  { 0x000047, 0, { 0x000067 }},                      /* 0047; 0067; Case map */
-  { 0x000048, 0, { 0x000068 }},                      /* 0048; 0068; Case map */
-  { 0x000049, 0, { 0x000069 }},                      /* 0049; 0069; Case map */
-  { 0x00004A, 0, { 0x00006A }},                      /* 004A; 006A; Case map */
-  { 0x00004B, 0, { 0x00006B }},                      /* 004B; 006B; Case map */
-  { 0x00004C, 0, { 0x00006C }},                      /* 004C; 006C; Case map */
-  { 0x00004D, 0, { 0x00006D }},                      /* 004D; 006D; Case map */
-  { 0x00004E, 0, { 0x00006E }},                      /* 004E; 006E; Case map */
-  { 0x00004F, 0, { 0x00006F }},                      /* 004F; 006F; Case map */
-  { 0x000050, 0, { 0x000070 }},                      /* 0050; 0070; Case map */
-  { 0x000051, 0, { 0x000071 }},                      /* 0051; 0071; Case map */
-  { 0x000052, 0, { 0x000072 }},                      /* 0052; 0072; Case map */
-  { 0x000053, 0, { 0x000073 }},                      /* 0053; 0073; Case map */
-  { 0x000054, 0, { 0x000074 }},                      /* 0054; 0074; Case map */
-  { 0x000055, 0, { 0x000075 }},                      /* 0055; 0075; Case map */
-  { 0x000056, 0, { 0x000076 }},                      /* 0056; 0076; Case map */
-  { 0x000057, 0, { 0x000077 }},                      /* 0057; 0077; Case map */
-  { 0x000058, 0, { 0x000078 }},                      /* 0058; 0078; Case map */
-  { 0x000059, 0, { 0x000079 }},                      /* 0059; 0079; Case map */
-  { 0x00005A, 0, { 0x00007A }},                      /* 005A; 007A; Case map */
-  { 0x0000B5, 0, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
-  { 0x0000C0, 0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
-  { 0x0000C1, 0, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
-  { 0x0000C2, 0, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
-  { 0x0000C3, 0, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
-  { 0x0000C4, 0, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
-  { 0x0000C5, 0, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
-  { 0x0000C6, 0, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
-  { 0x0000C7, 0, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
-  { 0x0000C8, 0, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
-  { 0x0000C9, 0, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
-  { 0x0000CA, 0, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
-  { 0x0000CB, 0, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
-  { 0x0000CC, 0, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
-  { 0x0000CD, 0, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
-  { 0x0000CE, 0, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
-  { 0x0000CF, 0, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
-  { 0x0000D0, 0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
-  { 0x0000D1, 0, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
-  { 0x0000D2, 0, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
-  { 0x0000D3, 0, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
-  { 0x0000D4, 0, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
-  { 0x0000D5, 0, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
-  { 0x0000D6, 0, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
-  { 0x0000D8, 0, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
-  { 0x0000D9, 0, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
-  { 0x0000DA, 0, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
-  { 0x0000DB, 0, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
-  { 0x0000DC, 0, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
-  { 0x0000DD, 0, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
-  { 0x0000DE, 0, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
-  { 0x0000DF, 0, { 0x000073,                    /* 00DF; 0073 0073; Case map */
+  { 0x000041, 0x000041, { 0x000061 }},                      /* 0041; 0061; Case map */
+  { 0x000042, 0x000042, { 0x000062 }},                      /* 0042; 0062; Case map */
+  { 0x000043, 0x000043, { 0x000063 }},                      /* 0043; 0063; Case map */
+  { 0x000044, 0x000044, { 0x000064 }},                      /* 0044; 0064; Case map */
+  { 0x000045, 0x000045, { 0x000065 }},                      /* 0045; 0065; Case map */
+  { 0x000046, 0x000046, { 0x000066 }},                      /* 0046; 0066; Case map */
+  { 0x000047, 0x000047, { 0x000067 }},                      /* 0047; 0067; Case map */
+  { 0x000048, 0x000048, { 0x000068 }},                      /* 0048; 0068; Case map */
+  { 0x000049, 0x000049, { 0x000069 }},                      /* 0049; 0069; Case map */
+  { 0x00004A, 0x00004A, { 0x00006A }},                      /* 004A; 006A; Case map */
+  { 0x00004B, 0x00004B, { 0x00006B }},                      /* 004B; 006B; Case map */
+  { 0x00004C, 0x00004C, { 0x00006C }},                      /* 004C; 006C; Case map */
+  { 0x00004D, 0x00004D, { 0x00006D }},                      /* 004D; 006D; Case map */
+  { 0x00004E, 0x00004E, { 0x00006E }},                      /* 004E; 006E; Case map */
+  { 0x00004F, 0x00004F, { 0x00006F }},                      /* 004F; 006F; Case map */
+  { 0x000050, 0x000050, { 0x000070 }},                      /* 0050; 0070; Case map */
+  { 0x000051, 0x000051, { 0x000071 }},                      /* 0051; 0071; Case map */
+  { 0x000052, 0x000052, { 0x000072 }},                      /* 0052; 0072; Case map */
+  { 0x000053, 0x000053, { 0x000073 }},                      /* 0053; 0073; Case map */
+  { 0x000054, 0x000054, { 0x000074 }},                      /* 0054; 0074; Case map */
+  { 0x000055, 0x000055, { 0x000075 }},                      /* 0055; 0075; Case map */
+  { 0x000056, 0x000056, { 0x000076 }},                      /* 0056; 0076; Case map */
+  { 0x000057, 0x000057, { 0x000077 }},                      /* 0057; 0077; Case map */
+  { 0x000058, 0x000058, { 0x000078 }},                      /* 0058; 0078; Case map */
+  { 0x000059, 0x000059, { 0x000079 }},                      /* 0059; 0079; Case map */
+  { 0x00005A, 0x00005A, { 0x00007A }},                      /* 005A; 007A; Case map */
+  { 0x0000B5, 0x0000B5, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
+  { 0x0000C0, 0x0000C0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
+  { 0x0000C1, 0x0000C1, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
+  { 0x0000C2, 0x0000C2, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
+  { 0x0000C3, 0x0000C3, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
+  { 0x0000C4, 0x0000C4, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
+  { 0x0000C5, 0x0000C5, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
+  { 0x0000C6, 0x0000C6, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
+  { 0x0000C7, 0x0000C7, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
+  { 0x0000C8, 0x0000C8, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
+  { 0x0000C9, 0x0000C9, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
+  { 0x0000CA, 0x0000CA, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
+  { 0x0000CB, 0x0000CB, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
+  { 0x0000CC, 0x0000CC, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
+  { 0x0000CD, 0x0000CD, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
+  { 0x0000CE, 0x0000CE, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
+  { 0x0000CF, 0x0000CF, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
+  { 0x0000D0, 0x0000D0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
+  { 0x0000D1, 0x0000D1, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
+  { 0x0000D2, 0x0000D2, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
+  { 0x0000D3, 0x0000D3, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
+  { 0x0000D4, 0x0000D4, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
+  { 0x0000D5, 0x0000D5, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
+  { 0x0000D6, 0x0000D6, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
+  { 0x0000D8, 0x0000D8, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
+  { 0x0000D9, 0x0000D9, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
+  { 0x0000DA, 0x0000DA, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
+  { 0x0000DB, 0x0000DB, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
+  { 0x0000DC, 0x0000DC, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
+  { 0x0000DD, 0x0000DD, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
+  { 0x0000DE, 0x0000DE, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
+  { 0x0000DF, 0x0000DF, { 0x000073,                    /* 00DF; 0073 0073; Case map */
                    0x000073 }},
-  { 0x000100, 0, { 0x000101 }},                      /* 0100; 0101; Case map */
-  { 0x000102, 0, { 0x000103 }},                      /* 0102; 0103; Case map */
-  { 0x000104, 0, { 0x000105 }},                      /* 0104; 0105; Case map */
-  { 0x000106, 0, { 0x000107 }},                      /* 0106; 0107; Case map */
-  { 0x000108, 0, { 0x000109 }},                      /* 0108; 0109; Case map */
-  { 0x00010A, 0, { 0x00010B }},                      /* 010A; 010B; Case map */
-  { 0x00010C, 0, { 0x00010D }},                      /* 010C; 010D; Case map */
-  { 0x00010E, 0, { 0x00010F }},                      /* 010E; 010F; Case map */
-  { 0x000110, 0, { 0x000111 }},                      /* 0110; 0111; Case map */
-  { 0x000112, 0, { 0x000113 }},                      /* 0112; 0113; Case map */
-  { 0x000114, 0, { 0x000115 }},                      /* 0114; 0115; Case map */
-  { 0x000116, 0, { 0x000117 }},                      /* 0116; 0117; Case map */
-  { 0x000118, 0, { 0x000119 }},                      /* 0118; 0119; Case map */
-  { 0x00011A, 0, { 0x00011B }},                      /* 011A; 011B; Case map */
-  { 0x00011C, 0, { 0x00011D }},                      /* 011C; 011D; Case map */
-  { 0x00011E, 0, { 0x00011F }},                      /* 011E; 011F; Case map */
-  { 0x000120, 0, { 0x000121 }},                      /* 0120; 0121; Case map */
-  { 0x000122, 0, { 0x000123 }},                      /* 0122; 0123; Case map */
-  { 0x000124, 0, { 0x000125 }},                      /* 0124; 0125; Case map */
-  { 0x000126, 0, { 0x000127 }},                      /* 0126; 0127; Case map */
-  { 0x000128, 0, { 0x000129 }},                      /* 0128; 0129; Case map */
-  { 0x00012A, 0, { 0x00012B }},                      /* 012A; 012B; Case map */
-  { 0x00012C, 0, { 0x00012D }},                      /* 012C; 012D; Case map */
-  { 0x00012E, 0, { 0x00012F }},                      /* 012E; 012F; Case map */
-  { 0x000130, 0, { 0x000069,                    /* 0130; 0069 0307; Case map */
+  { 0x000100, 0x000100, { 0x000101 }},                      /* 0100; 0101; Case map */
+  { 0x000102, 0x000102, { 0x000103 }},                      /* 0102; 0103; Case map */
+  { 0x000104, 0x000104, { 0x000105 }},                      /* 0104; 0105; Case map */
+  { 0x000106, 0x000106, { 0x000107 }},                      /* 0106; 0107; Case map */
+  { 0x000108, 0x000108, { 0x000109 }},                      /* 0108; 0109; Case map */
+  { 0x00010A, 0x00010A, { 0x00010B }},                      /* 010A; 010B; Case map */
+  { 0x00010C, 0x00010C, { 0x00010D }},                      /* 010C; 010D; Case map */
+  { 0x00010E, 0x00010E, { 0x00010F }},                      /* 010E; 010F; Case map */
+  { 0x000110, 0x000110, { 0x000111 }},                      /* 0110; 0111; Case map */
+  { 0x000112, 0x000112, { 0x000113 }},                      /* 0112; 0113; Case map */
+  { 0x000114, 0x000114, { 0x000115 }},                      /* 0114; 0115; Case map */
+  { 0x000116, 0x000116, { 0x000117 }},                      /* 0116; 0117; Case map */
+  { 0x000118, 0x000118, { 0x000119 }},                      /* 0118; 0119; Case map */
+  { 0x00011A, 0x00011A, { 0x00011B }},                      /* 011A; 011B; Case map */
+  { 0x00011C, 0x00011C, { 0x00011D }},                      /* 011C; 011D; Case map */
+  { 0x00011E, 0x00011E, { 0x00011F }},                      /* 011E; 011F; Case map */
+  { 0x000120, 0x000120, { 0x000121 }},                      /* 0120; 0121; Case map */
+  { 0x000122, 0x000122, { 0x000123 }},                      /* 0122; 0123; Case map */
+  { 0x000124, 0x000124, { 0x000125 }},                      /* 0124; 0125; Case map */
+  { 0x000126, 0x000126, { 0x000127 }},                      /* 0126; 0127; Case map */
+  { 0x000128, 0x000128, { 0x000129 }},                      /* 0128; 0129; Case map */
+  { 0x00012A, 0x00012A, { 0x00012B }},                      /* 012A; 012B; Case map */
+  { 0x00012C, 0x00012C, { 0x00012D }},                      /* 012C; 012D; Case map */
+  { 0x00012E, 0x00012E, { 0x00012F }},                      /* 012E; 012F; Case map */
+  { 0x000130, 0x000130, { 0x000069,                    /* 0130; 0069 0307; Case map */
                    0x000307 }},
-  { 0x000132, 0, { 0x000133 }},                      /* 0132; 0133; Case map */
-  { 0x000134, 0, { 0x000135 }},                      /* 0134; 0135; Case map */
-  { 0x000136, 0, { 0x000137 }},                      /* 0136; 0137; Case map */
-  { 0x000139, 0, { 0x00013A }},                      /* 0139; 013A; Case map */
-  { 0x00013B, 0, { 0x00013C }},                      /* 013B; 013C; Case map */
-  { 0x00013D, 0, { 0x00013E }},                      /* 013D; 013E; Case map */
-  { 0x00013F, 0, { 0x000140 }},                      /* 013F; 0140; Case map */
-  { 0x000141, 0, { 0x000142 }},                      /* 0141; 0142; Case map */
-  { 0x000143, 0, { 0x000144 }},                      /* 0143; 0144; Case map */
-  { 0x000145, 0, { 0x000146 }},                      /* 0145; 0146; Case map */
-  { 0x000147, 0, { 0x000148 }},                      /* 0147; 0148; Case map */
-  { 0x000149, 0, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
+  { 0x000132, 0x000132, { 0x000133 }},                      /* 0132; 0133; Case map */
+  { 0x000134, 0x000134, { 0x000135 }},                      /* 0134; 0135; Case map */
+  { 0x000136, 0x000136, { 0x000137 }},                      /* 0136; 0137; Case map */
+  { 0x000139, 0x000139, { 0x00013A }},                      /* 0139; 013A; Case map */
+  { 0x00013B, 0x00013B, { 0x00013C }},                      /* 013B; 013C; Case map */
+  { 0x00013D, 0x00013D, { 0x00013E }},                      /* 013D; 013E; Case map */
+  { 0x00013F, 0x00013F, { 0x000140 }},                      /* 013F; 0140; Case map */
+  { 0x000141, 0x000141, { 0x000142 }},                      /* 0141; 0142; Case map */
+  { 0x000143, 0x000143, { 0x000144 }},                      /* 0143; 0144; Case map */
+  { 0x000145, 0x000145, { 0x000146 }},                      /* 0145; 0146; Case map */
+  { 0x000147, 0x000147, { 0x000148 }},                      /* 0147; 0148; Case map */
+  { 0x000149, 0x000149, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
                    0x00006E }},
-  { 0x00014A, 0, { 0x00014B }},                      /* 014A; 014B; Case map */
-  { 0x00014C, 0, { 0x00014D }},                      /* 014C; 014D; Case map */
-  { 0x00014E, 0, { 0x00014F }},                      /* 014E; 014F; Case map */
-  { 0x000150, 0, { 0x000151 }},                      /* 0150; 0151; Case map */
-  { 0x000152, 0, { 0x000153 }},                      /* 0152; 0153; Case map */
-  { 0x000154, 0, { 0x000155 }},                      /* 0154; 0155; Case map */
-  { 0x000156, 0, { 0x000157 }},                      /* 0156; 0157; Case map */
-  { 0x000158, 0, { 0x000159 }},                      /* 0158; 0159; Case map */
-  { 0x00015A, 0, { 0x00015B }},                      /* 015A; 015B; Case map */
-  { 0x00015C, 0, { 0x00015D }},                      /* 015C; 015D; Case map */
-  { 0x00015E, 0, { 0x00015F }},                      /* 015E; 015F; Case map */
-  { 0x000160, 0, { 0x000161 }},                      /* 0160; 0161; Case map */
-  { 0x000162, 0, { 0x000163 }},                      /* 0162; 0163; Case map */
-  { 0x000164, 0, { 0x000165 }},                      /* 0164; 0165; Case map */
-  { 0x000166, 0, { 0x000167 }},                      /* 0166; 0167; Case map */
-  { 0x000168, 0, { 0x000169 }},                      /* 0168; 0169; Case map */
-  { 0x00016A, 0, { 0x00016B }},                      /* 016A; 016B; Case map */
-  { 0x00016C, 0, { 0x00016D }},                      /* 016C; 016D; Case map */
-  { 0x00016E, 0, { 0x00016F }},                      /* 016E; 016F; Case map */
-  { 0x000170, 0, { 0x000171 }},                      /* 0170; 0171; Case map */
-  { 0x000172, 0, { 0x000173 }},                      /* 0172; 0173; Case map */
-  { 0x000174, 0, { 0x000175 }},                      /* 0174; 0175; Case map */
-  { 0x000176, 0, { 0x000177 }},                      /* 0176; 0177; Case map */
-  { 0x000178, 0, { 0x0000FF }},                      /* 0178; 00FF; Case map */
-  { 0x000179, 0, { 0x00017A }},                      /* 0179; 017A; Case map */
-  { 0x00017B, 0, { 0x00017C }},                      /* 017B; 017C; Case map */
-  { 0x00017D, 0, { 0x00017E }},                      /* 017D; 017E; Case map */
-  { 0x00017F, 0, { 0x000073 }},                      /* 017F; 0073; Case map */
-  { 0x000181, 0, { 0x000253 }},                      /* 0181; 0253; Case map */
-  { 0x000182, 0, { 0x000183 }},                      /* 0182; 0183; Case map */
-  { 0x000184, 0, { 0x000185 }},                      /* 0184; 0185; Case map */
-  { 0x000186, 0, { 0x000254 }},                      /* 0186; 0254; Case map */
-  { 0x000187, 0, { 0x000188 }},                      /* 0187; 0188; Case map */
-  { 0x000189, 0, { 0x000256 }},                      /* 0189; 0256; Case map */
-  { 0x00018A, 0, { 0x000257 }},                      /* 018A; 0257; Case map */
-  { 0x00018B, 0, { 0x00018C }},                      /* 018B; 018C; Case map */
-  { 0x00018E, 0, { 0x0001DD }},                      /* 018E; 01DD; Case map */
-  { 0x00018F, 0, { 0x000259 }},                      /* 018F; 0259; Case map */
-  { 0x000190, 0, { 0x00025B }},                      /* 0190; 025B; Case map */
-  { 0x000191, 0, { 0x000192 }},                      /* 0191; 0192; Case map */
-  { 0x000193, 0, { 0x000260 }},                      /* 0193; 0260; Case map */
-  { 0x000194, 0, { 0x000263 }},                      /* 0194; 0263; Case map */
-  { 0x000196, 0, { 0x000269 }},                      /* 0196; 0269; Case map */
-  { 0x000197, 0, { 0x000268 }},                      /* 0197; 0268; Case map */
-  { 0x000198, 0, { 0x000199 }},                      /* 0198; 0199; Case map */
-  { 0x00019C, 0, { 0x00026F }},                      /* 019C; 026F; Case map */
-  { 0x00019D, 0, { 0x000272 }},                      /* 019D; 0272; Case map */
-  { 0x00019F, 0, { 0x000275 }},                      /* 019F; 0275; Case map */
-  { 0x0001A0, 0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
-  { 0x0001A2, 0, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
-  { 0x0001A4, 0, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
-  { 0x0001A6, 0, { 0x000280 }},                      /* 01A6; 0280; Case map */
-  { 0x0001A7, 0, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
-  { 0x0001A9, 0, { 0x000283 }},                      /* 01A9; 0283; Case map */
-  { 0x0001AC, 0, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
-  { 0x0001AE, 0, { 0x000288 }},                      /* 01AE; 0288; Case map */
-  { 0x0001AF, 0, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
-  { 0x0001B1, 0, { 0x00028A }},                      /* 01B1; 028A; Case map */
-  { 0x0001B2, 0, { 0x00028B }},                      /* 01B2; 028B; Case map */
-  { 0x0001B3, 0, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
-  { 0x0001B5, 0, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
-  { 0x0001B7, 0, { 0x000292 }},                      /* 01B7; 0292; Case map */
-  { 0x0001B8, 0, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
-  { 0x0001BC, 0, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
-  { 0x0001C4, 0, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
-  { 0x0001C5, 0, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
-  { 0x0001C7, 0, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
-  { 0x0001C8, 0, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
-  { 0x0001CA, 0, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
-  { 0x0001CB, 0, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
-  { 0x0001CD, 0, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
-  { 0x0001CF, 0, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
-  { 0x0001D1, 0, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
-  { 0x0001D3, 0, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
-  { 0x0001D5, 0, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
-  { 0x0001D7, 0, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
-  { 0x0001D9, 0, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
-  { 0x0001DB, 0, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
-  { 0x0001DE, 0, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
-  { 0x0001E0, 0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
-  { 0x0001E2, 0, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
-  { 0x0001E4, 0, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
-  { 0x0001E6, 0, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
-  { 0x0001E8, 0, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
-  { 0x0001EA, 0, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
-  { 0x0001EC, 0, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
-  { 0x0001EE, 0, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
-  { 0x0001F0, 0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
+  { 0x00014A, 0x00014A, { 0x00014B }},                      /* 014A; 014B; Case map */
+  { 0x00014C, 0x00014C, { 0x00014D }},                      /* 014C; 014D; Case map */
+  { 0x00014E, 0x00014E, { 0x00014F }},                      /* 014E; 014F; Case map */
+  { 0x000150, 0x000150, { 0x000151 }},                      /* 0150; 0151; Case map */
+  { 0x000152, 0x000152, { 0x000153 }},                      /* 0152; 0153; Case map */
+  { 0x000154, 0x000154, { 0x000155 }},                      /* 0154; 0155; Case map */
+  { 0x000156, 0x000156, { 0x000157 }},                      /* 0156; 0157; Case map */
+  { 0x000158, 0x000158, { 0x000159 }},                      /* 0158; 0159; Case map */
+  { 0x00015A, 0x00015A, { 0x00015B }},                      /* 015A; 015B; Case map */
+  { 0x00015C, 0x00015C, { 0x00015D }},                      /* 015C; 015D; Case map */
+  { 0x00015E, 0x00015E, { 0x00015F }},                      /* 015E; 015F; Case map */
+  { 0x000160, 0x000160, { 0x000161 }},                      /* 0160; 0161; Case map */
+  { 0x000162, 0x000162, { 0x000163 }},                      /* 0162; 0163; Case map */
+  { 0x000164, 0x000164, { 0x000165 }},                      /* 0164; 0165; Case map */
+  { 0x000166, 0x000166, { 0x000167 }},                      /* 0166; 0167; Case map */
+  { 0x000168, 0x000168, { 0x000169 }},                      /* 0168; 0169; Case map */
+  { 0x00016A, 0x00016A, { 0x00016B }},                      /* 016A; 016B; Case map */
+  { 0x00016C, 0x00016C, { 0x00016D }},                      /* 016C; 016D; Case map */
+  { 0x00016E, 0x00016E, { 0x00016F }},                      /* 016E; 016F; Case map */
+  { 0x000170, 0x000170, { 0x000171 }},                      /* 0170; 0171; Case map */
+  { 0x000172, 0x000172, { 0x000173 }},                      /* 0172; 0173; Case map */
+  { 0x000174, 0x000174, { 0x000175 }},                      /* 0174; 0175; Case map */
+  { 0x000176, 0x000176, { 0x000177 }},                      /* 0176; 0177; Case map */
+  { 0x000178, 0x000178, { 0x0000FF }},                      /* 0178; 00FF; Case map */
+  { 0x000179, 0x000179, { 0x00017A }},                      /* 0179; 017A; Case map */
+  { 0x00017B, 0x00017B, { 0x00017C }},                      /* 017B; 017C; Case map */
+  { 0x00017D, 0x00017D, { 0x00017E }},                      /* 017D; 017E; Case map */
+  { 0x00017F, 0x00017F, { 0x000073 }},                      /* 017F; 0073; Case map */
+  { 0x000181, 0x000181, { 0x000253 }},                      /* 0181; 0253; Case map */
+  { 0x000182, 0x000182, { 0x000183 }},                      /* 0182; 0183; Case map */
+  { 0x000184, 0x000184, { 0x000185 }},                      /* 0184; 0185; Case map */
+  { 0x000186, 0x000186, { 0x000254 }},                      /* 0186; 0254; Case map */
+  { 0x000187, 0x000187, { 0x000188 }},                      /* 0187; 0188; Case map */
+  { 0x000189, 0x000189, { 0x000256 }},                      /* 0189; 0256; Case map */
+  { 0x00018A, 0x00018A, { 0x000257 }},                      /* 018A; 0257; Case map */
+  { 0x00018B, 0x00018B, { 0x00018C }},                      /* 018B; 018C; Case map */
+  { 0x00018E, 0x00018E, { 0x0001DD }},                      /* 018E; 01DD; Case map */
+  { 0x00018F, 0x00018F, { 0x000259 }},                      /* 018F; 0259; Case map */
+  { 0x000190, 0x000190, { 0x00025B }},                      /* 0190; 025B; Case map */
+  { 0x000191, 0x000191, { 0x000192 }},                      /* 0191; 0192; Case map */
+  { 0x000193, 0x000193, { 0x000260 }},                      /* 0193; 0260; Case map */
+  { 0x000194, 0x000194, { 0x000263 }},                      /* 0194; 0263; Case map */
+  { 0x000196, 0x000196, { 0x000269 }},                      /* 0196; 0269; Case map */
+  { 0x000197, 0x000197, { 0x000268 }},                      /* 0197; 0268; Case map */
+  { 0x000198, 0x000198, { 0x000199 }},                      /* 0198; 0199; Case map */
+  { 0x00019C, 0x00019C, { 0x00026F }},                      /* 019C; 026F; Case map */
+  { 0x00019D, 0x00019D, { 0x000272 }},                      /* 019D; 0272; Case map */
+  { 0x00019F, 0x00019F, { 0x000275 }},                      /* 019F; 0275; Case map */
+  { 0x0001A0, 0x0001A0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
+  { 0x0001A2, 0x0001A2, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
+  { 0x0001A4, 0x0001A4, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
+  { 0x0001A6, 0x0001A6, { 0x000280 }},                      /* 01A6; 0280; Case map */
+  { 0x0001A7, 0x0001A7, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
+  { 0x0001A9, 0x0001A9, { 0x000283 }},                      /* 01A9; 0283; Case map */
+  { 0x0001AC, 0x0001AC, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
+  { 0x0001AE, 0x0001AE, { 0x000288 }},                      /* 01AE; 0288; Case map */
+  { 0x0001AF, 0x0001AF, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
+  { 0x0001B1, 0x0001B1, { 0x00028A }},                      /* 01B1; 028A; Case map */
+  { 0x0001B2, 0x0001B2, { 0x00028B }},                      /* 01B2; 028B; Case map */
+  { 0x0001B3, 0x0001B3, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
+  { 0x0001B5, 0x0001B5, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
+  { 0x0001B7, 0x0001B7, { 0x000292 }},                      /* 01B7; 0292; Case map */
+  { 0x0001B8, 0x0001B8, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
+  { 0x0001BC, 0x0001BC, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
+  { 0x0001C4, 0x0001C4, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
+  { 0x0001C5, 0x0001C5, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
+  { 0x0001C7, 0x0001C7, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
+  { 0x0001C8, 0x0001C8, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
+  { 0x0001CA, 0x0001CA, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
+  { 0x0001CB, 0x0001CB, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
+  { 0x0001CD, 0x0001CD, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
+  { 0x0001CF, 0x0001CF, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
+  { 0x0001D1, 0x0001D1, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
+  { 0x0001D3, 0x0001D3, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
+  { 0x0001D5, 0x0001D5, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
+  { 0x0001D7, 0x0001D7, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
+  { 0x0001D9, 0x0001D9, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
+  { 0x0001DB, 0x0001DB, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
+  { 0x0001DE, 0x0001DE, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
+  { 0x0001E0, 0x0001E0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
+  { 0x0001E2, 0x0001E2, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
+  { 0x0001E4, 0x0001E4, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
+  { 0x0001E6, 0x0001E6, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
+  { 0x0001E8, 0x0001E8, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
+  { 0x0001EA, 0x0001EA, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
+  { 0x0001EC, 0x0001EC, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
+  { 0x0001EE, 0x0001EE, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
+  { 0x0001F0, 0x0001F0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
                    0x00030C }},
-  { 0x0001F1, 0, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
-  { 0x0001F2, 0, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
-  { 0x0001F4, 0, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
-  { 0x0001F6, 0, { 0x000195 }},                      /* 01F6; 0195; Case map */
-  { 0x0001F7, 0, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
-  { 0x0001F8, 0, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
-  { 0x0001FA, 0, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
-  { 0x0001FC, 0, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
-  { 0x0001FE, 0, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
-  { 0x000200, 0, { 0x000201 }},                      /* 0200; 0201; Case map */
-  { 0x000202, 0, { 0x000203 }},                      /* 0202; 0203; Case map */
-  { 0x000204, 0, { 0x000205 }},                      /* 0204; 0205; Case map */
-  { 0x000206, 0, { 0x000207 }},                      /* 0206; 0207; Case map */
-  { 0x000208, 0, { 0x000209 }},                      /* 0208; 0209; Case map */
-  { 0x00020A, 0, { 0x00020B }},                      /* 020A; 020B; Case map */
-  { 0x00020C, 0, { 0x00020D }},                      /* 020C; 020D; Case map */
-  { 0x00020E, 0, { 0x00020F }},                      /* 020E; 020F; Case map */
-  { 0x000210, 0, { 0x000211 }},                      /* 0210; 0211; Case map */
-  { 0x000212, 0, { 0x000213 }},                      /* 0212; 0213; Case map */
-  { 0x000214, 0, { 0x000215 }},                      /* 0214; 0215; Case map */
-  { 0x000216, 0, { 0x000217 }},                      /* 0216; 0217; Case map */
-  { 0x000218, 0, { 0x000219 }},                      /* 0218; 0219; Case map */
-  { 0x00021A, 0, { 0x00021B }},                      /* 021A; 021B; Case map */
-  { 0x00021C, 0, { 0x00021D }},                      /* 021C; 021D; Case map */
-  { 0x00021E, 0, { 0x00021F }},                      /* 021E; 021F; Case map */
-  { 0x000220, 0, { 0x00019E }},                      /* 0220; 019E; Case map */
-  { 0x000222, 0, { 0x000223 }},                      /* 0222; 0223; Case map */
-  { 0x000224, 0, { 0x000225 }},                      /* 0224; 0225; Case map */
-  { 0x000226, 0, { 0x000227 }},                      /* 0226; 0227; Case map */
-  { 0x000228, 0, { 0x000229 }},                      /* 0228; 0229; Case map */
-  { 0x00022A, 0, { 0x00022B }},                      /* 022A; 022B; Case map */
-  { 0x00022C, 0, { 0x00022D }},                      /* 022C; 022D; Case map */
-  { 0x00022E, 0, { 0x00022F }},                      /* 022E; 022F; Case map */
-  { 0x000230, 0, { 0x000231 }},                      /* 0230; 0231; Case map */
-  { 0x000232, 0, { 0x000233 }},                      /* 0232; 0233; Case map */
-  { 0x000345, 0, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
-  { 0x000386, 0, { 0x0003AC }},                      /* 0386; 03AC; Case map */
-  { 0x000388, 0, { 0x0003AD }},                      /* 0388; 03AD; Case map */
-  { 0x000389, 0, { 0x0003AE }},                      /* 0389; 03AE; Case map */
-  { 0x00038A, 0, { 0x0003AF }},                      /* 038A; 03AF; Case map */
-  { 0x00038C, 0, { 0x0003CC }},                      /* 038C; 03CC; Case map */
-  { 0x00038E, 0, { 0x0003CD }},                      /* 038E; 03CD; Case map */
-  { 0x00038F, 0, { 0x0003CE }},                      /* 038F; 03CE; Case map */
-  { 0x000390, 0, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
+  { 0x0001F1, 0x0001F1, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
+  { 0x0001F2, 0x0001F2, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
+  { 0x0001F4, 0x0001F4, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
+  { 0x0001F6, 0x0001F6, { 0x000195 }},                      /* 01F6; 0195; Case map */
+  { 0x0001F7, 0x0001F7, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
+  { 0x0001F8, 0x0001F8, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
+  { 0x0001FA, 0x0001FA, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
+  { 0x0001FC, 0x0001FC, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
+  { 0x0001FE, 0x0001FE, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
+  { 0x000200, 0x000200, { 0x000201 }},                      /* 0200; 0201; Case map */
+  { 0x000202, 0x000202, { 0x000203 }},                      /* 0202; 0203; Case map */
+  { 0x000204, 0x000204, { 0x000205 }},                      /* 0204; 0205; Case map */
+  { 0x000206, 0x000206, { 0x000207 }},                      /* 0206; 0207; Case map */
+  { 0x000208, 0x000208, { 0x000209 }},                      /* 0208; 0209; Case map */
+  { 0x00020A, 0x00020A, { 0x00020B }},                      /* 020A; 020B; Case map */
+  { 0x00020C, 0x00020C, { 0x00020D }},                      /* 020C; 020D; Case map */
+  { 0x00020E, 0x00020E, { 0x00020F }},                      /* 020E; 020F; Case map */
+  { 0x000210, 0x000210, { 0x000211 }},                      /* 0210; 0211; Case map */
+  { 0x000212, 0x000212, { 0x000213 }},                      /* 0212; 0213; Case map */
+  { 0x000214, 0x000214, { 0x000215 }},                      /* 0214; 0215; Case map */
+  { 0x000216, 0x000216, { 0x000217 }},                      /* 0216; 0217; Case map */
+  { 0x000218, 0x000218, { 0x000219 }},                      /* 0218; 0219; Case map */
+  { 0x00021A, 0x00021A, { 0x00021B }},                      /* 021A; 021B; Case map */
+  { 0x00021C, 0x00021C, { 0x00021D }},                      /* 021C; 021D; Case map */
+  { 0x00021E, 0x00021E, { 0x00021F }},                      /* 021E; 021F; Case map */
+  { 0x000220, 0x000220, { 0x00019E }},                      /* 0220; 019E; Case map */
+  { 0x000222, 0x000222, { 0x000223 }},                      /* 0222; 0223; Case map */
+  { 0x000224, 0x000224, { 0x000225 }},                      /* 0224; 0225; Case map */
+  { 0x000226, 0x000226, { 0x000227 }},                      /* 0226; 0227; Case map */
+  { 0x000228, 0x000228, { 0x000229 }},                      /* 0228; 0229; Case map */
+  { 0x00022A, 0x00022A, { 0x00022B }},                      /* 022A; 022B; Case map */
+  { 0x00022C, 0x00022C, { 0x00022D }},                      /* 022C; 022D; Case map */
+  { 0x00022E, 0x00022E, { 0x00022F }},                      /* 022E; 022F; Case map */
+  { 0x000230, 0x000230, { 0x000231 }},                      /* 0230; 0231; Case map */
+  { 0x000232, 0x000232, { 0x000233 }},                      /* 0232; 0233; Case map */
+  { 0x000345, 0x000345, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
+  { 0x000386, 0x000386, { 0x0003AC }},                      /* 0386; 03AC; Case map */
+  { 0x000388, 0x000388, { 0x0003AD }},                      /* 0388; 03AD; Case map */
+  { 0x000389, 0x000389, { 0x0003AE }},                      /* 0389; 03AE; Case map */
+  { 0x00038A, 0x00038A, { 0x0003AF }},                      /* 038A; 03AF; Case map */
+  { 0x00038C, 0x00038C, { 0x0003CC }},                      /* 038C; 03CC; Case map */
+  { 0x00038E, 0x00038E, { 0x0003CD }},                      /* 038E; 03CD; Case map */
+  { 0x00038F, 0x00038F, { 0x0003CE }},                      /* 038F; 03CE; Case map */
+  { 0x000390, 0x000390, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x000391, 0, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
-  { 0x000392, 0, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
-  { 0x000393, 0, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
-  { 0x000394, 0, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
-  { 0x000395, 0, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
-  { 0x000396, 0, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
-  { 0x000397, 0, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
-  { 0x000398, 0, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
-  { 0x000399, 0, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
-  { 0x00039A, 0, { 0x0003BA }},                      /* 039A; 03BA; Case map */
-  { 0x00039B, 0, { 0x0003BB }},                      /* 039B; 03BB; Case map */
-  { 0x00039C, 0, { 0x0003BC }},                      /* 039C; 03BC; Case map */
-  { 0x00039D, 0, { 0x0003BD }},                      /* 039D; 03BD; Case map */
-  { 0x00039E, 0, { 0x0003BE }},                      /* 039E; 03BE; Case map */
-  { 0x00039F, 0, { 0x0003BF }},                      /* 039F; 03BF; Case map */
-  { 0x0003A0, 0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
-  { 0x0003A1, 0, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
-  { 0x0003A3, 0, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
-  { 0x0003A4, 0, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
-  { 0x0003A5, 0, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
-  { 0x0003A6, 0, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
-  { 0x0003A7, 0, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
-  { 0x0003A8, 0, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
-  { 0x0003A9, 0, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
-  { 0x0003AA, 0, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
-  { 0x0003AB, 0, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
-  { 0x0003B0, 0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
+  { 0x000391, 0x000391, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
+  { 0x000392, 0x000392, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
+  { 0x000393, 0x000393, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
+  { 0x000394, 0x000394, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
+  { 0x000395, 0x000395, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
+  { 0x000396, 0x000396, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
+  { 0x000397, 0x000397, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
+  { 0x000398, 0x000398, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
+  { 0x000399, 0x000399, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
+  { 0x00039A, 0x00039A, { 0x0003BA }},                      /* 039A; 03BA; Case map */
+  { 0x00039B, 0x00039B, { 0x0003BB }},                      /* 039B; 03BB; Case map */
+  { 0x00039C, 0x00039C, { 0x0003BC }},                      /* 039C; 03BC; Case map */
+  { 0x00039D, 0x00039D, { 0x0003BD }},                      /* 039D; 03BD; Case map */
+  { 0x00039E, 0x00039E, { 0x0003BE }},                      /* 039E; 03BE; Case map */
+  { 0x00039F, 0x00039F, { 0x0003BF }},                      /* 039F; 03BF; Case map */
+  { 0x0003A0, 0x0003A0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
+  { 0x0003A1, 0x0003A1, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
+  { 0x0003A3, 0x0003A3, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
+  { 0x0003A4, 0x0003A4, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
+  { 0x0003A5, 0x0003A5, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
+  { 0x0003A6, 0x0003A6, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
+  { 0x0003A7, 0x0003A7, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
+  { 0x0003A8, 0x0003A8, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
+  { 0x0003A9, 0x0003A9, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
+  { 0x0003AA, 0x0003AA, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
+  { 0x0003AB, 0x0003AB, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
+  { 0x0003B0, 0x0003B0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x0003C2, 0, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
-  { 0x0003D0, 0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
-  { 0x0003D1, 0, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
-  { 0x0003D5, 0, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
-  { 0x0003D6, 0, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
-  { 0x0003D8, 0, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
-  { 0x0003DA, 0, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
-  { 0x0003DC, 0, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
-  { 0x0003DE, 0, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
-  { 0x0003E0, 0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
-  { 0x0003E2, 0, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
-  { 0x0003E4, 0, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
-  { 0x0003E6, 0, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
-  { 0x0003E8, 0, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
-  { 0x0003EA, 0, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
-  { 0x0003EC, 0, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
-  { 0x0003EE, 0, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
-  { 0x0003F0, 0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
-  { 0x0003F1, 0, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
-  { 0x0003F2, 0, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
-  { 0x0003F4, 0, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
-  { 0x0003F5, 0, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
-  { 0x000400, 0, { 0x000450 }},                      /* 0400; 0450; Case map */
-  { 0x000401, 0, { 0x000451 }},                      /* 0401; 0451; Case map */
-  { 0x000402, 0, { 0x000452 }},                      /* 0402; 0452; Case map */
-  { 0x000403, 0, { 0x000453 }},                      /* 0403; 0453; Case map */
-  { 0x000404, 0, { 0x000454 }},                      /* 0404; 0454; Case map */
-  { 0x000405, 0, { 0x000455 }},                      /* 0405; 0455; Case map */
-  { 0x000406, 0, { 0x000456 }},                      /* 0406; 0456; Case map */
-  { 0x000407, 0, { 0x000457 }},                      /* 0407; 0457; Case map */
-  { 0x000408, 0, { 0x000458 }},                      /* 0408; 0458; Case map */
-  { 0x000409, 0, { 0x000459 }},                      /* 0409; 0459; Case map */
-  { 0x00040A, 0, { 0x00045A }},                      /* 040A; 045A; Case map */
-  { 0x00040B, 0, { 0x00045B }},                      /* 040B; 045B; Case map */
-  { 0x00040C, 0, { 0x00045C }},                      /* 040C; 045C; Case map */
-  { 0x00040D, 0, { 0x00045D }},                      /* 040D; 045D; Case map */
-  { 0x00040E, 0, { 0x00045E }},                      /* 040E; 045E; Case map */
-  { 0x00040F, 0, { 0x00045F }},                      /* 040F; 045F; Case map */
-  { 0x000410, 0, { 0x000430 }},                      /* 0410; 0430; Case map */
-  { 0x000411, 0, { 0x000431 }},                      /* 0411; 0431; Case map */
-  { 0x000412, 0, { 0x000432 }},                      /* 0412; 0432; Case map */
-  { 0x000413, 0, { 0x000433 }},                      /* 0413; 0433; Case map */
-  { 0x000414, 0, { 0x000434 }},                      /* 0414; 0434; Case map */
-  { 0x000415, 0, { 0x000435 }},                      /* 0415; 0435; Case map */
-  { 0x000416, 0, { 0x000436 }},                      /* 0416; 0436; Case map */
-  { 0x000417, 0, { 0x000437 }},                      /* 0417; 0437; Case map */
-  { 0x000418, 0, { 0x000438 }},                      /* 0418; 0438; Case map */
-  { 0x000419, 0, { 0x000439 }},                      /* 0419; 0439; Case map */
-  { 0x00041A, 0, { 0x00043A }},                      /* 041A; 043A; Case map */
-  { 0x00041B, 0, { 0x00043B }},                      /* 041B; 043B; Case map */
-  { 0x00041C, 0, { 0x00043C }},                      /* 041C; 043C; Case map */
-  { 0x00041D, 0, { 0x00043D }},                      /* 041D; 043D; Case map */
-  { 0x00041E, 0, { 0x00043E }},                      /* 041E; 043E; Case map */
-  { 0x00041F, 0, { 0x00043F }},                      /* 041F; 043F; Case map */
-  { 0x000420, 0, { 0x000440 }},                      /* 0420; 0440; Case map */
-  { 0x000421, 0, { 0x000441 }},                      /* 0421; 0441; Case map */
-  { 0x000422, 0, { 0x000442 }},                      /* 0422; 0442; Case map */
-  { 0x000423, 0, { 0x000443 }},                      /* 0423; 0443; Case map */
-  { 0x000424, 0, { 0x000444 }},                      /* 0424; 0444; Case map */
-  { 0x000425, 0, { 0x000445 }},                      /* 0425; 0445; Case map */
-  { 0x000426, 0, { 0x000446 }},                      /* 0426; 0446; Case map */
-  { 0x000427, 0, { 0x000447 }},                      /* 0427; 0447; Case map */
-  { 0x000428, 0, { 0x000448 }},                      /* 0428; 0448; Case map */
-  { 0x000429, 0, { 0x000449 }},                      /* 0429; 0449; Case map */
-  { 0x00042A, 0, { 0x00044A }},                      /* 042A; 044A; Case map */
-  { 0x00042B, 0, { 0x00044B }},                      /* 042B; 044B; Case map */
-  { 0x00042C, 0, { 0x00044C }},                      /* 042C; 044C; Case map */
-  { 0x00042D, 0, { 0x00044D }},                      /* 042D; 044D; Case map */
-  { 0x00042E, 0, { 0x00044E }},                      /* 042E; 044E; Case map */
-  { 0x00042F, 0, { 0x00044F }},                      /* 042F; 044F; Case map */
-  { 0x000460, 0, { 0x000461 }},                      /* 0460; 0461; Case map */
-  { 0x000462, 0, { 0x000463 }},                      /* 0462; 0463; Case map */
-  { 0x000464, 0, { 0x000465 }},                      /* 0464; 0465; Case map */
-  { 0x000466, 0, { 0x000467 }},                      /* 0466; 0467; Case map */
-  { 0x000468, 0, { 0x000469 }},                      /* 0468; 0469; Case map */
-  { 0x00046A, 0, { 0x00046B }},                      /* 046A; 046B; Case map */
-  { 0x00046C, 0, { 0x00046D }},                      /* 046C; 046D; Case map */
-  { 0x00046E, 0, { 0x00046F }},                      /* 046E; 046F; Case map */
-  { 0x000470, 0, { 0x000471 }},                      /* 0470; 0471; Case map */
-  { 0x000472, 0, { 0x000473 }},                      /* 0472; 0473; Case map */
-  { 0x000474, 0, { 0x000475 }},                      /* 0474; 0475; Case map */
-  { 0x000476, 0, { 0x000477 }},                      /* 0476; 0477; Case map */
-  { 0x000478, 0, { 0x000479 }},                      /* 0478; 0479; Case map */
-  { 0x00047A, 0, { 0x00047B }},                      /* 047A; 047B; Case map */
-  { 0x00047C, 0, { 0x00047D }},                      /* 047C; 047D; Case map */
-  { 0x00047E, 0, { 0x00047F }},                      /* 047E; 047F; Case map */
-  { 0x000480, 0, { 0x000481 }},                      /* 0480; 0481; Case map */
-  { 0x00048A, 0, { 0x00048B }},                      /* 048A; 048B; Case map */
-  { 0x00048C, 0, { 0x00048D }},                      /* 048C; 048D; Case map */
-  { 0x00048E, 0, { 0x00048F }},                      /* 048E; 048F; Case map */
-  { 0x000490, 0, { 0x000491 }},                      /* 0490; 0491; Case map */
-  { 0x000492, 0, { 0x000493 }},                      /* 0492; 0493; Case map */
-  { 0x000494, 0, { 0x000495 }},                      /* 0494; 0495; Case map */
-  { 0x000496, 0, { 0x000497 }},                      /* 0496; 0497; Case map */
-  { 0x000498, 0, { 0x000499 }},                      /* 0498; 0499; Case map */
-  { 0x00049A, 0, { 0x00049B }},                      /* 049A; 049B; Case map */
-  { 0x00049C, 0, { 0x00049D }},                      /* 049C; 049D; Case map */
-  { 0x00049E, 0, { 0x00049F }},                      /* 049E; 049F; Case map */
-  { 0x0004A0, 0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
-  { 0x0004A2, 0, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
-  { 0x0004A4, 0, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
-  { 0x0004A6, 0, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
-  { 0x0004A8, 0, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
-  { 0x0004AA, 0, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
-  { 0x0004AC, 0, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
-  { 0x0004AE, 0, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
-  { 0x0004B0, 0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
-  { 0x0004B2, 0, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
-  { 0x0004B4, 0, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
-  { 0x0004B6, 0, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
-  { 0x0004B8, 0, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
-  { 0x0004BA, 0, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
-  { 0x0004BC, 0, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
-  { 0x0004BE, 0, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
-  { 0x0004C1, 0, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
-  { 0x0004C3, 0, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
-  { 0x0004C5, 0, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
-  { 0x0004C7, 0, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
-  { 0x0004C9, 0, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
-  { 0x0004CB, 0, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
-  { 0x0004CD, 0, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
-  { 0x0004D0, 0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
-  { 0x0004D2, 0, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
-  { 0x0004D4, 0, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
-  { 0x0004D6, 0, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
-  { 0x0004D8, 0, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
-  { 0x0004DA, 0, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
-  { 0x0004DC, 0, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
-  { 0x0004DE, 0, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
-  { 0x0004E0, 0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
-  { 0x0004E2, 0, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
-  { 0x0004E4, 0, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
-  { 0x0004E6, 0, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
-  { 0x0004E8, 0, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
-  { 0x0004EA, 0, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
-  { 0x0004EC, 0, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
-  { 0x0004EE, 0, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
-  { 0x0004F0, 0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
-  { 0x0004F2, 0, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
-  { 0x0004F4, 0, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
-  { 0x0004F8, 0, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
-  { 0x000500, 0, { 0x000501 }},                      /* 0500; 0501; Case map */
-  { 0x000502, 0, { 0x000503 }},                      /* 0502; 0503; Case map */
-  { 0x000504, 0, { 0x000505 }},                      /* 0504; 0505; Case map */
-  { 0x000506, 0, { 0x000507 }},                      /* 0506; 0507; Case map */
-  { 0x000508, 0, { 0x000509 }},                      /* 0508; 0509; Case map */
-  { 0x00050A, 0, { 0x00050B }},                      /* 050A; 050B; Case map */
-  { 0x00050C, 0, { 0x00050D }},                      /* 050C; 050D; Case map */
-  { 0x00050E, 0, { 0x00050F }},                      /* 050E; 050F; Case map */
-  { 0x000531, 0, { 0x000561 }},                      /* 0531; 0561; Case map */
-  { 0x000532, 0, { 0x000562 }},                      /* 0532; 0562; Case map */
-  { 0x000533, 0, { 0x000563 }},                      /* 0533; 0563; Case map */
-  { 0x000534, 0, { 0x000564 }},                      /* 0534; 0564; Case map */
-  { 0x000535, 0, { 0x000565 }},                      /* 0535; 0565; Case map */
-  { 0x000536, 0, { 0x000566 }},                      /* 0536; 0566; Case map */
-  { 0x000537, 0, { 0x000567 }},                      /* 0537; 0567; Case map */
-  { 0x000538, 0, { 0x000568 }},                      /* 0538; 0568; Case map */
-  { 0x000539, 0, { 0x000569 }},                      /* 0539; 0569; Case map */
-  { 0x00053A, 0, { 0x00056A }},                      /* 053A; 056A; Case map */
-  { 0x00053B, 0, { 0x00056B }},                      /* 053B; 056B; Case map */
-  { 0x00053C, 0, { 0x00056C }},                      /* 053C; 056C; Case map */
-  { 0x00053D, 0, { 0x00056D }},                      /* 053D; 056D; Case map */
-  { 0x00053E, 0, { 0x00056E }},                      /* 053E; 056E; Case map */
-  { 0x00053F, 0, { 0x00056F }},                      /* 053F; 056F; Case map */
-  { 0x000540, 0, { 0x000570 }},                      /* 0540; 0570; Case map */
-  { 0x000541, 0, { 0x000571 }},                      /* 0541; 0571; Case map */
-  { 0x000542, 0, { 0x000572 }},                      /* 0542; 0572; Case map */
-  { 0x000543, 0, { 0x000573 }},                      /* 0543; 0573; Case map */
-  { 0x000544, 0, { 0x000574 }},                      /* 0544; 0574; Case map */
-  { 0x000545, 0, { 0x000575 }},                      /* 0545; 0575; Case map */
-  { 0x000546, 0, { 0x000576 }},                      /* 0546; 0576; Case map */
-  { 0x000547, 0, { 0x000577 }},                      /* 0547; 0577; Case map */
-  { 0x000548, 0, { 0x000578 }},                      /* 0548; 0578; Case map */
-  { 0x000549, 0, { 0x000579 }},                      /* 0549; 0579; Case map */
-  { 0x00054A, 0, { 0x00057A }},                      /* 054A; 057A; Case map */
-  { 0x00054B, 0, { 0x00057B }},                      /* 054B; 057B; Case map */
-  { 0x00054C, 0, { 0x00057C }},                      /* 054C; 057C; Case map */
-  { 0x00054D, 0, { 0x00057D }},                      /* 054D; 057D; Case map */
-  { 0x00054E, 0, { 0x00057E }},                      /* 054E; 057E; Case map */
-  { 0x00054F, 0, { 0x00057F }},                      /* 054F; 057F; Case map */
-  { 0x000550, 0, { 0x000580 }},                      /* 0550; 0580; Case map */
-  { 0x000551, 0, { 0x000581 }},                      /* 0551; 0581; Case map */
-  { 0x000552, 0, { 0x000582 }},                      /* 0552; 0582; Case map */
-  { 0x000553, 0, { 0x000583 }},                      /* 0553; 0583; Case map */
-  { 0x000554, 0, { 0x000584 }},                      /* 0554; 0584; Case map */
-  { 0x000555, 0, { 0x000585 }},                      /* 0555; 0585; Case map */
-  { 0x000556, 0, { 0x000586 }},                      /* 0556; 0586; Case map */
-  { 0x000587, 0, { 0x000565,                    /* 0587; 0565 0582; Case map */
+  { 0x0003C2, 0x0003C2, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
+  { 0x0003D0, 0x0003D0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
+  { 0x0003D1, 0x0003D1, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
+  { 0x0003D5, 0x0003D5, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
+  { 0x0003D6, 0x0003D6, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
+  { 0x0003D8, 0x0003D8, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
+  { 0x0003DA, 0x0003DA, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
+  { 0x0003DC, 0x0003DC, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
+  { 0x0003DE, 0x0003DE, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
+  { 0x0003E0, 0x0003E0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
+  { 0x0003E2, 0x0003E2, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
+  { 0x0003E4, 0x0003E4, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
+  { 0x0003E6, 0x0003E6, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
+  { 0x0003E8, 0x0003E8, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
+  { 0x0003EA, 0x0003EA, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
+  { 0x0003EC, 0x0003EC, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
+  { 0x0003EE, 0x0003EE, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
+  { 0x0003F0, 0x0003F0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
+  { 0x0003F1, 0x0003F1, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
+  { 0x0003F2, 0x0003F2, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
+  { 0x0003F4, 0x0003F4, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
+  { 0x0003F5, 0x0003F5, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
+  { 0x000400, 0x000400, { 0x000450 }},                      /* 0400; 0450; Case map */
+  { 0x000401, 0x000401, { 0x000451 }},                      /* 0401; 0451; Case map */
+  { 0x000402, 0x000402, { 0x000452 }},                      /* 0402; 0452; Case map */
+  { 0x000403, 0x000403, { 0x000453 }},                      /* 0403; 0453; Case map */
+  { 0x000404, 0x000404, { 0x000454 }},                      /* 0404; 0454; Case map */
+  { 0x000405, 0x000405, { 0x000455 }},                      /* 0405; 0455; Case map */
+  { 0x000406, 0x000406, { 0x000456 }},                      /* 0406; 0456; Case map */
+  { 0x000407, 0x000407, { 0x000457 }},                      /* 0407; 0457; Case map */
+  { 0x000408, 0x000408, { 0x000458 }},                      /* 0408; 0458; Case map */
+  { 0x000409, 0x000409, { 0x000459 }},                      /* 0409; 0459; Case map */
+  { 0x00040A, 0x00040A, { 0x00045A }},                      /* 040A; 045A; Case map */
+  { 0x00040B, 0x00040B, { 0x00045B }},                      /* 040B; 045B; Case map */
+  { 0x00040C, 0x00040C, { 0x00045C }},                      /* 040C; 045C; Case map */
+  { 0x00040D, 0x00040D, { 0x00045D }},                      /* 040D; 045D; Case map */
+  { 0x00040E, 0x00040E, { 0x00045E }},                      /* 040E; 045E; Case map */
+  { 0x00040F, 0x00040F, { 0x00045F }},                      /* 040F; 045F; Case map */
+  { 0x000410, 0x000410, { 0x000430 }},                      /* 0410; 0430; Case map */
+  { 0x000411, 0x000411, { 0x000431 }},                      /* 0411; 0431; Case map */
+  { 0x000412, 0x000412, { 0x000432 }},                      /* 0412; 0432; Case map */
+  { 0x000413, 0x000413, { 0x000433 }},                      /* 0413; 0433; Case map */
+  { 0x000414, 0x000414, { 0x000434 }},                      /* 0414; 0434; Case map */
+  { 0x000415, 0x000415, { 0x000435 }},                      /* 0415; 0435; Case map */
+  { 0x000416, 0x000416, { 0x000436 }},                      /* 0416; 0436; Case map */
+  { 0x000417, 0x000417, { 0x000437 }},                      /* 0417; 0437; Case map */
+  { 0x000418, 0x000418, { 0x000438 }},                      /* 0418; 0438; Case map */
+  { 0x000419, 0x000419, { 0x000439 }},                      /* 0419; 0439; Case map */
+  { 0x00041A, 0x00041A, { 0x00043A }},                      /* 041A; 043A; Case map */
+  { 0x00041B, 0x00041B, { 0x00043B }},                      /* 041B; 043B; Case map */
+  { 0x00041C, 0x00041C, { 0x00043C }},                      /* 041C; 043C; Case map */
+  { 0x00041D, 0x00041D, { 0x00043D }},                      /* 041D; 043D; Case map */
+  { 0x00041E, 0x00041E, { 0x00043E }},                      /* 041E; 043E; Case map */
+  { 0x00041F, 0x00041F, { 0x00043F }},                      /* 041F; 043F; Case map */
+  { 0x000420, 0x000420, { 0x000440 }},                      /* 0420; 0440; Case map */
+  { 0x000421, 0x000421, { 0x000441 }},                      /* 0421; 0441; Case map */
+  { 0x000422, 0x000422, { 0x000442 }},                      /* 0422; 0442; Case map */
+  { 0x000423, 0x000423, { 0x000443 }},                      /* 0423; 0443; Case map */
+  { 0x000424, 0x000424, { 0x000444 }},                      /* 0424; 0444; Case map */
+  { 0x000425, 0x000425, { 0x000445 }},                      /* 0425; 0445; Case map */
+  { 0x000426, 0x000426, { 0x000446 }},                      /* 0426; 0446; Case map */
+  { 0x000427, 0x000427, { 0x000447 }},                      /* 0427; 0447; Case map */
+  { 0x000428, 0x000428, { 0x000448 }},                      /* 0428; 0448; Case map */
+  { 0x000429, 0x000429, { 0x000449 }},                      /* 0429; 0449; Case map */
+  { 0x00042A, 0x00042A, { 0x00044A }},                      /* 042A; 044A; Case map */
+  { 0x00042B, 0x00042B, { 0x00044B }},                      /* 042B; 044B; Case map */
+  { 0x00042C, 0x00042C, { 0x00044C }},                      /* 042C; 044C; Case map */
+  { 0x00042D, 0x00042D, { 0x00044D }},                      /* 042D; 044D; Case map */
+  { 0x00042E, 0x00042E, { 0x00044E }},                      /* 042E; 044E; Case map */
+  { 0x00042F, 0x00042F, { 0x00044F }},                      /* 042F; 044F; Case map */
+  { 0x000460, 0x000460, { 0x000461 }},                      /* 0460; 0461; Case map */
+  { 0x000462, 0x000462, { 0x000463 }},                      /* 0462; 0463; Case map */
+  { 0x000464, 0x000464, { 0x000465 }},                      /* 0464; 0465; Case map */
+  { 0x000466, 0x000466, { 0x000467 }},                      /* 0466; 0467; Case map */
+  { 0x000468, 0x000468, { 0x000469 }},                      /* 0468; 0469; Case map */
+  { 0x00046A, 0x00046A, { 0x00046B }},                      /* 046A; 046B; Case map */
+  { 0x00046C, 0x00046C, { 0x00046D }},                      /* 046C; 046D; Case map */
+  { 0x00046E, 0x00046E, { 0x00046F }},                      /* 046E; 046F; Case map */
+  { 0x000470, 0x000470, { 0x000471 }},                      /* 0470; 0471; Case map */
+  { 0x000472, 0x000472, { 0x000473 }},                      /* 0472; 0473; Case map */
+  { 0x000474, 0x000474, { 0x000475 }},                      /* 0474; 0475; Case map */
+  { 0x000476, 0x000476, { 0x000477 }},                      /* 0476; 0477; Case map */
+  { 0x000478, 0x000478, { 0x000479 }},                      /* 0478; 0479; Case map */
+  { 0x00047A, 0x00047A, { 0x00047B }},                      /* 047A; 047B; Case map */
+  { 0x00047C, 0x00047C, { 0x00047D }},                      /* 047C; 047D; Case map */
+  { 0x00047E, 0x00047E, { 0x00047F }},                      /* 047E; 047F; Case map */
+  { 0x000480, 0x000480, { 0x000481 }},                      /* 0480; 0481; Case map */
+  { 0x00048A, 0x00048A, { 0x00048B }},                      /* 048A; 048B; Case map */
+  { 0x00048C, 0x00048C, { 0x00048D }},                      /* 048C; 048D; Case map */
+  { 0x00048E, 0x00048E, { 0x00048F }},                      /* 048E; 048F; Case map */
+  { 0x000490, 0x000490, { 0x000491 }},                      /* 0490; 0491; Case map */
+  { 0x000492, 0x000492, { 0x000493 }},                      /* 0492; 0493; Case map */
+  { 0x000494, 0x000494, { 0x000495 }},                      /* 0494; 0495; Case map */
+  { 0x000496, 0x000496, { 0x000497 }},                      /* 0496; 0497; Case map */
+  { 0x000498, 0x000498, { 0x000499 }},                      /* 0498; 0499; Case map */
+  { 0x00049A, 0x00049A, { 0x00049B }},                      /* 049A; 049B; Case map */
+  { 0x00049C, 0x00049C, { 0x00049D }},                      /* 049C; 049D; Case map */
+  { 0x00049E, 0x00049E, { 0x00049F }},                      /* 049E; 049F; Case map */
+  { 0x0004A0, 0x0004A0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
+  { 0x0004A2, 0x0004A2, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
+  { 0x0004A4, 0x0004A4, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
+  { 0x0004A6, 0x0004A6, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
+  { 0x0004A8, 0x0004A8, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
+  { 0x0004AA, 0x0004AA, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
+  { 0x0004AC, 0x0004AC, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
+  { 0x0004AE, 0x0004AE, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
+  { 0x0004B0, 0x0004B0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
+  { 0x0004B2, 0x0004B2, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
+  { 0x0004B4, 0x0004B4, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
+  { 0x0004B6, 0x0004B6, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
+  { 0x0004B8, 0x0004B8, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
+  { 0x0004BA, 0x0004BA, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
+  { 0x0004BC, 0x0004BC, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
+  { 0x0004BE, 0x0004BE, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
+  { 0x0004C1, 0x0004C1, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
+  { 0x0004C3, 0x0004C3, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
+  { 0x0004C5, 0x0004C5, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
+  { 0x0004C7, 0x0004C7, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
+  { 0x0004C9, 0x0004C9, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
+  { 0x0004CB, 0x0004CB, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
+  { 0x0004CD, 0x0004CD, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
+  { 0x0004D0, 0x0004D0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
+  { 0x0004D2, 0x0004D2, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
+  { 0x0004D4, 0x0004D4, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
+  { 0x0004D6, 0x0004D6, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
+  { 0x0004D8, 0x0004D8, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
+  { 0x0004DA, 0x0004DA, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
+  { 0x0004DC, 0x0004DC, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
+  { 0x0004DE, 0x0004DE, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
+  { 0x0004E0, 0x0004E0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
+  { 0x0004E2, 0x0004E2, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
+  { 0x0004E4, 0x0004E4, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
+  { 0x0004E6, 0x0004E6, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
+  { 0x0004E8, 0x0004E8, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
+  { 0x0004EA, 0x0004EA, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
+  { 0x0004EC, 0x0004EC, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
+  { 0x0004EE, 0x0004EE, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
+  { 0x0004F0, 0x0004F0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
+  { 0x0004F2, 0x0004F2, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
+  { 0x0004F4, 0x0004F4, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
+  { 0x0004F8, 0x0004F8, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
+  { 0x000500, 0x000500, { 0x000501 }},                      /* 0500; 0501; Case map */
+  { 0x000502, 0x000502, { 0x000503 }},                      /* 0502; 0503; Case map */
+  { 0x000504, 0x000504, { 0x000505 }},                      /* 0504; 0505; Case map */
+  { 0x000506, 0x000506, { 0x000507 }},                      /* 0506; 0507; Case map */
+  { 0x000508, 0x000508, { 0x000509 }},                      /* 0508; 0509; Case map */
+  { 0x00050A, 0x00050A, { 0x00050B }},                      /* 050A; 050B; Case map */
+  { 0x00050C, 0x00050C, { 0x00050D }},                      /* 050C; 050D; Case map */
+  { 0x00050E, 0x00050E, { 0x00050F }},                      /* 050E; 050F; Case map */
+  { 0x000531, 0x000531, { 0x000561 }},                      /* 0531; 0561; Case map */
+  { 0x000532, 0x000532, { 0x000562 }},                      /* 0532; 0562; Case map */
+  { 0x000533, 0x000533, { 0x000563 }},                      /* 0533; 0563; Case map */
+  { 0x000534, 0x000534, { 0x000564 }},                      /* 0534; 0564; Case map */
+  { 0x000535, 0x000535, { 0x000565 }},                      /* 0535; 0565; Case map */
+  { 0x000536, 0x000536, { 0x000566 }},                      /* 0536; 0566; Case map */
+  { 0x000537, 0x000537, { 0x000567 }},                      /* 0537; 0567; Case map */
+  { 0x000538, 0x000538, { 0x000568 }},                      /* 0538; 0568; Case map */
+  { 0x000539, 0x000539, { 0x000569 }},                      /* 0539; 0569; Case map */
+  { 0x00053A, 0x00053A, { 0x00056A }},                      /* 053A; 056A; Case map */
+  { 0x00053B, 0x00053B, { 0x00056B }},                      /* 053B; 056B; Case map */
+  { 0x00053C, 0x00053C, { 0x00056C }},                      /* 053C; 056C; Case map */
+  { 0x00053D, 0x00053D, { 0x00056D }},                      /* 053D; 056D; Case map */
+  { 0x00053E, 0x00053E, { 0x00056E }},                      /* 053E; 056E; Case map */
+  { 0x00053F, 0x00053F, { 0x00056F }},                      /* 053F; 056F; Case map */
+  { 0x000540, 0x000540, { 0x000570 }},                      /* 0540; 0570; Case map */
+  { 0x000541, 0x000541, { 0x000571 }},                      /* 0541; 0571; Case map */
+  { 0x000542, 0x000542, { 0x000572 }},                      /* 0542; 0572; Case map */
+  { 0x000543, 0x000543, { 0x000573 }},                      /* 0543; 0573; Case map */
+  { 0x000544, 0x000544, { 0x000574 }},                      /* 0544; 0574; Case map */
+  { 0x000545, 0x000545, { 0x000575 }},                      /* 0545; 0575; Case map */
+  { 0x000546, 0x000546, { 0x000576 }},                      /* 0546; 0576; Case map */
+  { 0x000547, 0x000547, { 0x000577 }},                      /* 0547; 0577; Case map */
+  { 0x000548, 0x000548, { 0x000578 }},                      /* 0548; 0578; Case map */
+  { 0x000549, 0x000549, { 0x000579 }},                      /* 0549; 0579; Case map */
+  { 0x00054A, 0x00054A, { 0x00057A }},                      /* 054A; 057A; Case map */
+  { 0x00054B, 0x00054B, { 0x00057B }},                      /* 054B; 057B; Case map */
+  { 0x00054C, 0x00054C, { 0x00057C }},                      /* 054C; 057C; Case map */
+  { 0x00054D, 0x00054D, { 0x00057D }},                      /* 054D; 057D; Case map */
+  { 0x00054E, 0x00054E, { 0x00057E }},                      /* 054E; 057E; Case map */
+  { 0x00054F, 0x00054F, { 0x00057F }},                      /* 054F; 057F; Case map */
+  { 0x000550, 0x000550, { 0x000580 }},                      /* 0550; 0580; Case map */
+  { 0x000551, 0x000551, { 0x000581 }},                      /* 0551; 0581; Case map */
+  { 0x000552, 0x000552, { 0x000582 }},                      /* 0552; 0582; Case map */
+  { 0x000553, 0x000553, { 0x000583 }},                      /* 0553; 0583; Case map */
+  { 0x000554, 0x000554, { 0x000584 }},                      /* 0554; 0584; Case map */
+  { 0x000555, 0x000555, { 0x000585 }},                      /* 0555; 0585; Case map */
+  { 0x000556, 0x000556, { 0x000586 }},                      /* 0556; 0586; Case map */
+  { 0x000587, 0x000587, { 0x000565,                    /* 0587; 0565 0582; Case map */
                    0x000582 }},
-  { 0x001E00, 0, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
-  { 0x001E02, 0, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
-  { 0x001E04, 0, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
-  { 0x001E06, 0, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
-  { 0x001E08, 0, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
-  { 0x001E0A, 0, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
-  { 0x001E0C, 0, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
-  { 0x001E0E, 0, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
-  { 0x001E10, 0, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
-  { 0x001E12, 0, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
-  { 0x001E14, 0, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
-  { 0x001E16, 0, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
-  { 0x001E18, 0, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
-  { 0x001E1A, 0, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
-  { 0x001E1C, 0, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
-  { 0x001E1E, 0, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
-  { 0x001E20, 0, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
-  { 0x001E22, 0, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
-  { 0x001E24, 0, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
-  { 0x001E26, 0, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
-  { 0x001E28, 0, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
-  { 0x001E2A, 0, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
-  { 0x001E2C, 0, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
-  { 0x001E2E, 0, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
-  { 0x001E30, 0, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
-  { 0x001E32, 0, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
-  { 0x001E34, 0, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
-  { 0x001E36, 0, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
-  { 0x001E38, 0, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
-  { 0x001E3A, 0, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
-  { 0x001E3C, 0, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
-  { 0x001E3E, 0, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
-  { 0x001E40, 0, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
-  { 0x001E42, 0, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
-  { 0x001E44, 0, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
-  { 0x001E46, 0, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
-  { 0x001E48, 0, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
-  { 0x001E4A, 0, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
-  { 0x001E4C, 0, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
-  { 0x001E4E, 0, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
-  { 0x001E50, 0, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
-  { 0x001E52, 0, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
-  { 0x001E54, 0, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
-  { 0x001E56, 0, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
-  { 0x001E58, 0, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
-  { 0x001E5A, 0, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
-  { 0x001E5C, 0, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
-  { 0x001E5E, 0, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
-  { 0x001E60, 0, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
-  { 0x001E62, 0, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
-  { 0x001E64, 0, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
-  { 0x001E66, 0, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
-  { 0x001E68, 0, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
-  { 0x001E6A, 0, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
-  { 0x001E6C, 0, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
-  { 0x001E6E, 0, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
-  { 0x001E70, 0, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
-  { 0x001E72, 0, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
-  { 0x001E74, 0, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
-  { 0x001E76, 0, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
-  { 0x001E78, 0, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
-  { 0x001E7A, 0, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
-  { 0x001E7C, 0, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
-  { 0x001E7E, 0, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
-  { 0x001E80, 0, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
-  { 0x001E82, 0, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
-  { 0x001E84, 0, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
-  { 0x001E86, 0, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
-  { 0x001E88, 0, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
-  { 0x001E8A, 0, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
-  { 0x001E8C, 0, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
-  { 0x001E8E, 0, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
-  { 0x001E90, 0, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
-  { 0x001E92, 0, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
-  { 0x001E94, 0, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
-  { 0x001E96, 0, { 0x000068,                    /* 1E96; 0068 0331; Case map */
+  { 0x001E00, 0x001E00, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
+  { 0x001E02, 0x001E02, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
+  { 0x001E04, 0x001E04, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
+  { 0x001E06, 0x001E06, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
+  { 0x001E08, 0x001E08, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
+  { 0x001E0A, 0x001E0A, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
+  { 0x001E0C, 0x001E0C, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
+  { 0x001E0E, 0x001E0E, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
+  { 0x001E10, 0x001E10, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
+  { 0x001E12, 0x001E12, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
+  { 0x001E14, 0x001E14, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
+  { 0x001E16, 0x001E16, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
+  { 0x001E18, 0x001E18, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
+  { 0x001E1A, 0x001E1A, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
+  { 0x001E1C, 0x001E1C, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
+  { 0x001E1E, 0x001E1E, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
+  { 0x001E20, 0x001E20, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
+  { 0x001E22, 0x001E22, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
+  { 0x001E24, 0x001E24, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
+  { 0x001E26, 0x001E26, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
+  { 0x001E28, 0x001E28, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
+  { 0x001E2A, 0x001E2A, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
+  { 0x001E2C, 0x001E2C, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
+  { 0x001E2E, 0x001E2E, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
+  { 0x001E30, 0x001E30, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
+  { 0x001E32, 0x001E32, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
+  { 0x001E34, 0x001E34, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
+  { 0x001E36, 0x001E36, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
+  { 0x001E38, 0x001E38, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
+  { 0x001E3A, 0x001E3A, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
+  { 0x001E3C, 0x001E3C, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
+  { 0x001E3E, 0x001E3E, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
+  { 0x001E40, 0x001E40, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
+  { 0x001E42, 0x001E42, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
+  { 0x001E44, 0x001E44, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
+  { 0x001E46, 0x001E46, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
+  { 0x001E48, 0x001E48, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
+  { 0x001E4A, 0x001E4A, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
+  { 0x001E4C, 0x001E4C, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
+  { 0x001E4E, 0x001E4E, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
+  { 0x001E50, 0x001E50, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
+  { 0x001E52, 0x001E52, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
+  { 0x001E54, 0x001E54, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
+  { 0x001E56, 0x001E56, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
+  { 0x001E58, 0x001E58, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
+  { 0x001E5A, 0x001E5A, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
+  { 0x001E5C, 0x001E5C, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
+  { 0x001E5E, 0x001E5E, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
+  { 0x001E60, 0x001E60, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
+  { 0x001E62, 0x001E62, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
+  { 0x001E64, 0x001E64, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
+  { 0x001E66, 0x001E66, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
+  { 0x001E68, 0x001E68, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
+  { 0x001E6A, 0x001E6A, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
+  { 0x001E6C, 0x001E6C, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
+  { 0x001E6E, 0x001E6E, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
+  { 0x001E70, 0x001E70, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
+  { 0x001E72, 0x001E72, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
+  { 0x001E74, 0x001E74, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
+  { 0x001E76, 0x001E76, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
+  { 0x001E78, 0x001E78, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
+  { 0x001E7A, 0x001E7A, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
+  { 0x001E7C, 0x001E7C, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
+  { 0x001E7E, 0x001E7E, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
+  { 0x001E80, 0x001E80, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
+  { 0x001E82, 0x001E82, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
+  { 0x001E84, 0x001E84, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
+  { 0x001E86, 0x001E86, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
+  { 0x001E88, 0x001E88, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
+  { 0x001E8A, 0x001E8A, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
+  { 0x001E8C, 0x001E8C, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
+  { 0x001E8E, 0x001E8E, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
+  { 0x001E90, 0x001E90, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
+  { 0x001E92, 0x001E92, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
+  { 0x001E94, 0x001E94, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
+  { 0x001E96, 0x001E96, { 0x000068,                    /* 1E96; 0068 0331; Case map */
                    0x000331 }},
-  { 0x001E97, 0, { 0x000074,                    /* 1E97; 0074 0308; Case map */
+  { 0x001E97, 0x001E97, { 0x000074,                    /* 1E97; 0074 0308; Case map */
                    0x000308 }},
-  { 0x001E98, 0, { 0x000077,                    /* 1E98; 0077 030A; Case map */
+  { 0x001E98, 0x001E98, { 0x000077,                    /* 1E98; 0077 030A; Case map */
                    0x00030A }},
-  { 0x001E99, 0, { 0x000079,                    /* 1E99; 0079 030A; Case map */
+  { 0x001E99, 0x001E99, { 0x000079,                    /* 1E99; 0079 030A; Case map */
                    0x00030A }},
-  { 0x001E9A, 0, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
+  { 0x001E9A, 0x001E9A, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
                    0x0002BE }},
-  { 0x001E9B, 0, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
-  { 0x001EA0, 0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
-  { 0x001EA2, 0, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
-  { 0x001EA4, 0, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
-  { 0x001EA6, 0, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
-  { 0x001EA8, 0, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
-  { 0x001EAA, 0, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
-  { 0x001EAC, 0, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
-  { 0x001EAE, 0, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
-  { 0x001EB0, 0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
-  { 0x001EB2, 0, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
-  { 0x001EB4, 0, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
-  { 0x001EB6, 0, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
-  { 0x001EB8, 0, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
-  { 0x001EBA, 0, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
-  { 0x001EBC, 0, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
-  { 0x001EBE, 0, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
-  { 0x001EC0, 0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
-  { 0x001EC2, 0, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
-  { 0x001EC4, 0, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
-  { 0x001EC6, 0, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
-  { 0x001EC8, 0, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
-  { 0x001ECA, 0, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
-  { 0x001ECC, 0, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
-  { 0x001ECE, 0, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
-  { 0x001ED0, 0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
-  { 0x001ED2, 0, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
-  { 0x001ED4, 0, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
-  { 0x001ED6, 0, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
-  { 0x001ED8, 0, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
-  { 0x001EDA, 0, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
-  { 0x001EDC, 0, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
-  { 0x001EDE, 0, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
-  { 0x001EE0, 0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
-  { 0x001EE2, 0, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
-  { 0x001EE4, 0, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
-  { 0x001EE6, 0, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
-  { 0x001EE8, 0, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
-  { 0x001EEA, 0, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
-  { 0x001EEC, 0, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
-  { 0x001EEE, 0, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
-  { 0x001EF0, 0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
-  { 0x001EF2, 0, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
-  { 0x001EF4, 0, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
-  { 0x001EF6, 0, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
-  { 0x001EF8, 0, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
-  { 0x001F08, 0, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
-  { 0x001F09, 0, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
-  { 0x001F0A, 0, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
-  { 0x001F0B, 0, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
-  { 0x001F0C, 0, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
-  { 0x001F0D, 0, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
-  { 0x001F0E, 0, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
-  { 0x001F0F, 0, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
-  { 0x001F18, 0, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
-  { 0x001F19, 0, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
-  { 0x001F1A, 0, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
-  { 0x001F1B, 0, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
-  { 0x001F1C, 0, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
-  { 0x001F1D, 0, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
-  { 0x001F28, 0, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
-  { 0x001F29, 0, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
-  { 0x001F2A, 0, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
-  { 0x001F2B, 0, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
-  { 0x001F2C, 0, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
-  { 0x001F2D, 0, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
-  { 0x001F2E, 0, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
-  { 0x001F2F, 0, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
-  { 0x001F38, 0, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
-  { 0x001F39, 0, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
-  { 0x001F3A, 0, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
-  { 0x001F3B, 0, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
-  { 0x001F3C, 0, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
-  { 0x001F3D, 0, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
-  { 0x001F3E, 0, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
-  { 0x001F3F, 0, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
-  { 0x001F48, 0, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
-  { 0x001F49, 0, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
-  { 0x001F4A, 0, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
-  { 0x001F4B, 0, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
-  { 0x001F4C, 0, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
-  { 0x001F4D, 0, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
-  { 0x001F50, 0, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
+  { 0x001E9B, 0x001E9B, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
+  { 0x001EA0, 0x001EA0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
+  { 0x001EA2, 0x001EA2, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
+  { 0x001EA4, 0x001EA4, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
+  { 0x001EA6, 0x001EA6, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
+  { 0x001EA8, 0x001EA8, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
+  { 0x001EAA, 0x001EAA, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
+  { 0x001EAC, 0x001EAC, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
+  { 0x001EAE, 0x001EAE, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
+  { 0x001EB0, 0x001EB0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
+  { 0x001EB2, 0x001EB2, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
+  { 0x001EB4, 0x001EB4, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
+  { 0x001EB6, 0x001EB6, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
+  { 0x001EB8, 0x001EB8, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
+  { 0x001EBA, 0x001EBA, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
+  { 0x001EBC, 0x001EBC, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
+  { 0x001EBE, 0x001EBE, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
+  { 0x001EC0, 0x001EC0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
+  { 0x001EC2, 0x001EC2, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
+  { 0x001EC4, 0x001EC4, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
+  { 0x001EC6, 0x001EC6, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
+  { 0x001EC8, 0x001EC8, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
+  { 0x001ECA, 0x001ECA, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
+  { 0x001ECC, 0x001ECC, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
+  { 0x001ECE, 0x001ECE, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
+  { 0x001ED0, 0x001ED0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
+  { 0x001ED2, 0x001ED2, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
+  { 0x001ED4, 0x001ED4, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
+  { 0x001ED6, 0x001ED6, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
+  { 0x001ED8, 0x001ED8, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
+  { 0x001EDA, 0x001EDA, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
+  { 0x001EDC, 0x001EDC, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
+  { 0x001EDE, 0x001EDE, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
+  { 0x001EE0, 0x001EE0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
+  { 0x001EE2, 0x001EE2, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
+  { 0x001EE4, 0x001EE4, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
+  { 0x001EE6, 0x001EE6, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
+  { 0x001EE8, 0x001EE8, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
+  { 0x001EEA, 0x001EEA, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
+  { 0x001EEC, 0x001EEC, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
+  { 0x001EEE, 0x001EEE, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
+  { 0x001EF0, 0x001EF0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
+  { 0x001EF2, 0x001EF2, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
+  { 0x001EF4, 0x001EF4, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
+  { 0x001EF6, 0x001EF6, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
+  { 0x001EF8, 0x001EF8, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
+  { 0x001F08, 0x001F08, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
+  { 0x001F09, 0x001F09, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
+  { 0x001F0A, 0x001F0A, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
+  { 0x001F0B, 0x001F0B, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
+  { 0x001F0C, 0x001F0C, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
+  { 0x001F0D, 0x001F0D, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
+  { 0x001F0E, 0x001F0E, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
+  { 0x001F0F, 0x001F0F, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
+  { 0x001F18, 0x001F18, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
+  { 0x001F19, 0x001F19, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
+  { 0x001F1A, 0x001F1A, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
+  { 0x001F1B, 0x001F1B, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
+  { 0x001F1C, 0x001F1C, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
+  { 0x001F1D, 0x001F1D, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
+  { 0x001F28, 0x001F28, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
+  { 0x001F29, 0x001F29, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
+  { 0x001F2A, 0x001F2A, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
+  { 0x001F2B, 0x001F2B, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
+  { 0x001F2C, 0x001F2C, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
+  { 0x001F2D, 0x001F2D, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
+  { 0x001F2E, 0x001F2E, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
+  { 0x001F2F, 0x001F2F, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
+  { 0x001F38, 0x001F38, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
+  { 0x001F39, 0x001F39, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
+  { 0x001F3A, 0x001F3A, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
+  { 0x001F3B, 0x001F3B, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
+  { 0x001F3C, 0x001F3C, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
+  { 0x001F3D, 0x001F3D, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
+  { 0x001F3E, 0x001F3E, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
+  { 0x001F3F, 0x001F3F, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
+  { 0x001F48, 0x001F48, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
+  { 0x001F49, 0x001F49, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
+  { 0x001F4A, 0x001F4A, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
+  { 0x001F4B, 0x001F4B, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
+  { 0x001F4C, 0x001F4C, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
+  { 0x001F4D, 0x001F4D, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
+  { 0x001F50, 0x001F50, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
                    0x000313 }},
-  { 0x001F52, 0, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
+  { 0x001F52, 0x001F52, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
                    0x000313, 0x000300 }},
-  { 0x001F54, 0, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
+  { 0x001F54, 0x001F54, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
                    0x000313, 0x000301 }},
-  { 0x001F56, 0, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
+  { 0x001F56, 0x001F56, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
                    0x000313, 0x000342 }},
-  { 0x001F59, 0, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
-  { 0x001F5B, 0, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
-  { 0x001F5D, 0, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
-  { 0x001F5F, 0, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
-  { 0x001F68, 0, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
-  { 0x001F69, 0, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
-  { 0x001F6A, 0, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
-  { 0x001F6B, 0, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
-  { 0x001F6C, 0, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
-  { 0x001F6D, 0, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
-  { 0x001F6E, 0, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
-  { 0x001F6F, 0, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
-  { 0x001F80, 0, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
+  { 0x001F59, 0x001F59, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
+  { 0x001F5B, 0x001F5B, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
+  { 0x001F5D, 0x001F5D, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
+  { 0x001F5F, 0x001F5F, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
+  { 0x001F68, 0x001F68, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
+  { 0x001F69, 0x001F69, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
+  { 0x001F6A, 0x001F6A, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
+  { 0x001F6B, 0x001F6B, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
+  { 0x001F6C, 0x001F6C, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
+  { 0x001F6D, 0x001F6D, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
+  { 0x001F6E, 0x001F6E, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
+  { 0x001F6F, 0x001F6F, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
+  { 0x001F80, 0x001F80, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F81, 0, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
+  { 0x001F81, 0x001F81, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F82, 0, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
+  { 0x001F82, 0x001F82, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F83, 0, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
+  { 0x001F83, 0x001F83, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F84, 0, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
+  { 0x001F84, 0x001F84, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F85, 0, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
+  { 0x001F85, 0x001F85, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F86, 0, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
+  { 0x001F86, 0x001F86, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F87, 0, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
+  { 0x001F87, 0x001F87, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F88, 0, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
+  { 0x001F88, 0x001F88, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F89, 0, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
+  { 0x001F89, 0x001F89, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8A, 0, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
+  { 0x001F8A, 0x001F8A, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8B, 0, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
+  { 0x001F8B, 0x001F8B, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8C, 0, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
+  { 0x001F8C, 0x001F8C, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8D, 0, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
+  { 0x001F8D, 0x001F8D, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8E, 0, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
+  { 0x001F8E, 0x001F8E, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F8F, 0, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
+  { 0x001F8F, 0x001F8F, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F90, 0, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
+  { 0x001F90, 0x001F90, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F91, 0, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
+  { 0x001F91, 0x001F91, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F92, 0, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
+  { 0x001F92, 0x001F92, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F93, 0, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
+  { 0x001F93, 0x001F93, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F94, 0, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
+  { 0x001F94, 0x001F94, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F95, 0, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
+  { 0x001F95, 0x001F95, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F96, 0, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
+  { 0x001F96, 0x001F96, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F97, 0, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
+  { 0x001F97, 0x001F97, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F98, 0, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
+  { 0x001F98, 0x001F98, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F99, 0, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
+  { 0x001F99, 0x001F99, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9A, 0, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
+  { 0x001F9A, 0x001F9A, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9B, 0, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
+  { 0x001F9B, 0x001F9B, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9C, 0, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
+  { 0x001F9C, 0x001F9C, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9D, 0, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
+  { 0x001F9D, 0x001F9D, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9E, 0, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
+  { 0x001F9E, 0x001F9E, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
                    0x0003B9 }},
-  { 0x001F9F, 0, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
+  { 0x001F9F, 0x001F9F, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA0, 0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
+  { 0x001FA0, 0x001FA0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA1, 0, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
+  { 0x001FA1, 0x001FA1, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA2, 0, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
+  { 0x001FA2, 0x001FA2, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA3, 0, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
+  { 0x001FA3, 0x001FA3, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA4, 0, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
+  { 0x001FA4, 0x001FA4, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA5, 0, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
+  { 0x001FA5, 0x001FA5, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA6, 0, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
+  { 0x001FA6, 0x001FA6, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA7, 0, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
+  { 0x001FA7, 0x001FA7, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA8, 0, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
+  { 0x001FA8, 0x001FA8, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FA9, 0, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
+  { 0x001FA9, 0x001FA9, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAA, 0, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
+  { 0x001FAA, 0x001FAA, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAB, 0, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
+  { 0x001FAB, 0x001FAB, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAC, 0, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
+  { 0x001FAC, 0x001FAC, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAD, 0, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
+  { 0x001FAD, 0x001FAD, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAE, 0, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
+  { 0x001FAE, 0x001FAE, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FAF, 0, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
+  { 0x001FAF, 0x001FAF, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB2, 0, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
+  { 0x001FB2, 0x001FB2, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB3, 0, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
+  { 0x001FB3, 0x001FB3, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB4, 0, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
+  { 0x001FB4, 0x001FB4, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FB6, 0, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
+  { 0x001FB6, 0x001FB6, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
                    0x000342 }},
-  { 0x001FB7, 0, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
+  { 0x001FB7, 0x001FB7, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FB8, 0, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
-  { 0x001FB9, 0, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
-  { 0x001FBA, 0, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
-  { 0x001FBB, 0, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
-  { 0x001FBC, 0, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
+  { 0x001FB8, 0x001FB8, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
+  { 0x001FB9, 0x001FB9, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
+  { 0x001FBA, 0x001FBA, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
+  { 0x001FBB, 0x001FBB, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
+  { 0x001FBC, 0x001FBC, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FBE, 0, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
-  { 0x001FC2, 0, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
+  { 0x001FBE, 0x001FBE, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
+  { 0x001FC2, 0x001FC2, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC3, 0, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
+  { 0x001FC3, 0x001FC3, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC4, 0, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
+  { 0x001FC4, 0x001FC4, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FC6, 0, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
+  { 0x001FC6, 0x001FC6, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
                    0x000342 }},
-  { 0x001FC7, 0, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
+  { 0x001FC7, 0x001FC7, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FC8, 0, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
-  { 0x001FC9, 0, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
-  { 0x001FCA, 0, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
-  { 0x001FCB, 0, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
-  { 0x001FCC, 0, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
+  { 0x001FC8, 0x001FC8, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
+  { 0x001FC9, 0x001FC9, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
+  { 0x001FCA, 0x001FCA, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
+  { 0x001FCB, 0x001FCB, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
+  { 0x001FCC, 0x001FCC, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FD2, 0, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
+  { 0x001FD2, 0x001FD2, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
                    0x000308, 0x000300 }},
-  { 0x001FD3, 0, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
+  { 0x001FD3, 0x001FD3, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x001FD6, 0, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
+  { 0x001FD6, 0x001FD6, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
                    0x000342 }},
-  { 0x001FD7, 0, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
+  { 0x001FD7, 0x001FD7, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
                    0x000308, 0x000342 }},
-  { 0x001FD8, 0, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
-  { 0x001FD9, 0, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
-  { 0x001FDA, 0, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
-  { 0x001FDB, 0, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
-  { 0x001FE2, 0, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
+  { 0x001FD8, 0x001FD8, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
+  { 0x001FD9, 0x001FD9, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
+  { 0x001FDA, 0x001FDA, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
+  { 0x001FDB, 0x001FDB, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
+  { 0x001FE2, 0x001FE2, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
                    0x000308, 0x000300 }},
-  { 0x001FE3, 0, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
+  { 0x001FE3, 0x001FE3, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
                    0x000308, 0x000301 }},
-  { 0x001FE4, 0, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
+  { 0x001FE4, 0x001FE4, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
                    0x000313 }},
-  { 0x001FE6, 0, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
+  { 0x001FE6, 0x001FE6, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
                    0x000342 }},
-  { 0x001FE7, 0, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
+  { 0x001FE7, 0x001FE7, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
                    0x000308, 0x000342 }},
-  { 0x001FE8, 0, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
-  { 0x001FE9, 0, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
-  { 0x001FEA, 0, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
-  { 0x001FEB, 0, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
-  { 0x001FEC, 0, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
-  { 0x001FF2, 0, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
+  { 0x001FE8, 0x001FE8, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
+  { 0x001FE9, 0x001FE9, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
+  { 0x001FEA, 0x001FEA, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
+  { 0x001FEB, 0x001FEB, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
+  { 0x001FEC, 0x001FEC, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
+  { 0x001FF2, 0x001FF2, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF3, 0, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
+  { 0x001FF3, 0x001FF3, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF4, 0, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
+  { 0x001FF4, 0x001FF4, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
                    0x0003B9 }},
-  { 0x001FF6, 0, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
+  { 0x001FF6, 0x001FF6, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
                    0x000342 }},
-  { 0x001FF7, 0, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
+  { 0x001FF7, 0x001FF7, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
                    0x000342, 0x0003B9 }},
-  { 0x001FF8, 0, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
-  { 0x001FF9, 0, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
-  { 0x001FFA, 0, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
-  { 0x001FFB, 0, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
-  { 0x001FFC, 0, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
+  { 0x001FF8, 0x001FF8, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
+  { 0x001FF9, 0x001FF9, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
+  { 0x001FFA, 0x001FFA, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
+  { 0x001FFB, 0x001FFB, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
+  { 0x001FFC, 0x001FFC, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
                    0x0003B9 }},
-  { 0x002126, 0, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
-  { 0x00212A, 0, { 0x00006B }},                      /* 212A; 006B; Case map */
-  { 0x00212B, 0, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
-  { 0x002160, 0, { 0x002170 }},                      /* 2160; 2170; Case map */
-  { 0x002161, 0, { 0x002171 }},                      /* 2161; 2171; Case map */
-  { 0x002162, 0, { 0x002172 }},                      /* 2162; 2172; Case map */
-  { 0x002163, 0, { 0x002173 }},                      /* 2163; 2173; Case map */
-  { 0x002164, 0, { 0x002174 }},                      /* 2164; 2174; Case map */
-  { 0x002165, 0, { 0x002175 }},                      /* 2165; 2175; Case map */
-  { 0x002166, 0, { 0x002176 }},                      /* 2166; 2176; Case map */
-  { 0x002167, 0, { 0x002177 }},                      /* 2167; 2177; Case map */
-  { 0x002168, 0, { 0x002178 }},                      /* 2168; 2178; Case map */
-  { 0x002169, 0, { 0x002179 }},                      /* 2169; 2179; Case map */
-  { 0x00216A, 0, { 0x00217A }},                      /* 216A; 217A; Case map */
-  { 0x00216B, 0, { 0x00217B }},                      /* 216B; 217B; Case map */
-  { 0x00216C, 0, { 0x00217C }},                      /* 216C; 217C; Case map */
-  { 0x00216D, 0, { 0x00217D }},                      /* 216D; 217D; Case map */
-  { 0x00216E, 0, { 0x00217E }},                      /* 216E; 217E; Case map */
-  { 0x00216F, 0, { 0x00217F }},                      /* 216F; 217F; Case map */
-  { 0x0024B6, 0, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
-  { 0x0024B7, 0, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
-  { 0x0024B8, 0, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
-  { 0x0024B9, 0, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
-  { 0x0024BA, 0, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
-  { 0x0024BB, 0, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
-  { 0x0024BC, 0, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
-  { 0x0024BD, 0, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
-  { 0x0024BE, 0, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
-  { 0x0024BF, 0, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
-  { 0x0024C0, 0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
-  { 0x0024C1, 0, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
-  { 0x0024C2, 0, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
-  { 0x0024C3, 0, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
-  { 0x0024C4, 0, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
-  { 0x0024C5, 0, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
-  { 0x0024C6, 0, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
-  { 0x0024C7, 0, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
-  { 0x0024C8, 0, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
-  { 0x0024C9, 0, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
-  { 0x0024CA, 0, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
-  { 0x0024CB, 0, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
-  { 0x0024CC, 0, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
-  { 0x0024CD, 0, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
-  { 0x0024CE, 0, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
-  { 0x0024CF, 0, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
-  { 0x00FB00, 0, { 0x000066,                    /* FB00; 0066 0066; Case map */
+  { 0x002126, 0x002126, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
+  { 0x00212A, 0x00212A, { 0x00006B }},                      /* 212A; 006B; Case map */
+  { 0x00212B, 0x00212B, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
+  { 0x002160, 0x002160, { 0x002170 }},                      /* 2160; 2170; Case map */
+  { 0x002161, 0x002161, { 0x002171 }},                      /* 2161; 2171; Case map */
+  { 0x002162, 0x002162, { 0x002172 }},                      /* 2162; 2172; Case map */
+  { 0x002163, 0x002163, { 0x002173 }},                      /* 2163; 2173; Case map */
+  { 0x002164, 0x002164, { 0x002174 }},                      /* 2164; 2174; Case map */
+  { 0x002165, 0x002165, { 0x002175 }},                      /* 2165; 2175; Case map */
+  { 0x002166, 0x002166, { 0x002176 }},                      /* 2166; 2176; Case map */
+  { 0x002167, 0x002167, { 0x002177 }},                      /* 2167; 2177; Case map */
+  { 0x002168, 0x002168, { 0x002178 }},                      /* 2168; 2178; Case map */
+  { 0x002169, 0x002169, { 0x002179 }},                      /* 2169; 2179; Case map */
+  { 0x00216A, 0x00216A, { 0x00217A }},                      /* 216A; 217A; Case map */
+  { 0x00216B, 0x00216B, { 0x00217B }},                      /* 216B; 217B; Case map */
+  { 0x00216C, 0x00216C, { 0x00217C }},                      /* 216C; 217C; Case map */
+  { 0x00216D, 0x00216D, { 0x00217D }},                      /* 216D; 217D; Case map */
+  { 0x00216E, 0x00216E, { 0x00217E }},                      /* 216E; 217E; Case map */
+  { 0x00216F, 0x00216F, { 0x00217F }},                      /* 216F; 217F; Case map */
+  { 0x0024B6, 0x0024B6, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
+  { 0x0024B7, 0x0024B7, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
+  { 0x0024B8, 0x0024B8, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
+  { 0x0024B9, 0x0024B9, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
+  { 0x0024BA, 0x0024BA, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
+  { 0x0024BB, 0x0024BB, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
+  { 0x0024BC, 0x0024BC, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
+  { 0x0024BD, 0x0024BD, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
+  { 0x0024BE, 0x0024BE, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
+  { 0x0024BF, 0x0024BF, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
+  { 0x0024C0, 0x0024C0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
+  { 0x0024C1, 0x0024C1, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
+  { 0x0024C2, 0x0024C2, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
+  { 0x0024C3, 0x0024C3, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
+  { 0x0024C4, 0x0024C4, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
+  { 0x0024C5, 0x0024C5, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
+  { 0x0024C6, 0x0024C6, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
+  { 0x0024C7, 0x0024C7, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
+  { 0x0024C8, 0x0024C8, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
+  { 0x0024C9, 0x0024C9, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
+  { 0x0024CA, 0x0024CA, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
+  { 0x0024CB, 0x0024CB, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
+  { 0x0024CC, 0x0024CC, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
+  { 0x0024CD, 0x0024CD, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
+  { 0x0024CE, 0x0024CE, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
+  { 0x0024CF, 0x0024CF, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
+  { 0x00FB00, 0x00FB00, { 0x000066,                    /* FB00; 0066 0066; Case map */
                    0x000066 }},
-  { 0x00FB01, 0, { 0x000066,                    /* FB01; 0066 0069; Case map */
+  { 0x00FB01, 0x00FB01, { 0x000066,                    /* FB01; 0066 0069; Case map */
                    0x000069 }},
-  { 0x00FB02, 0, { 0x000066,                    /* FB02; 0066 006C; Case map */
+  { 0x00FB02, 0x00FB02, { 0x000066,                    /* FB02; 0066 006C; Case map */
                    0x00006C }},
-  { 0x00FB03, 0, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
+  { 0x00FB03, 0x00FB03, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
                    0x000066, 0x000069 }},
-  { 0x00FB04, 0, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
+  { 0x00FB04, 0x00FB04, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
                    0x000066, 0x00006C }},
-  { 0x00FB05, 0, { 0x000073,                    /* FB05; 0073 0074; Case map */
+  { 0x00FB05, 0x00FB05, { 0x000073,                    /* FB05; 0073 0074; Case map */
                    0x000074 }},
-  { 0x00FB06, 0, { 0x000073,                    /* FB06; 0073 0074; Case map */
+  { 0x00FB06, 0x00FB06, { 0x000073,                    /* FB06; 0073 0074; Case map */
                    0x000074 }},
-  { 0x00FB13, 0, { 0x000574,                    /* FB13; 0574 0576; Case map */
+  { 0x00FB13, 0x00FB13, { 0x000574,                    /* FB13; 0574 0576; Case map */
                    0x000576 }},
-  { 0x00FB14, 0, { 0x000574,                    /* FB14; 0574 0565; Case map */
+  { 0x00FB14, 0x00FB14, { 0x000574,                    /* FB14; 0574 0565; Case map */
                    0x000565 }},
-  { 0x00FB15, 0, { 0x000574,                    /* FB15; 0574 056B; Case map */
+  { 0x00FB15, 0x00FB15, { 0x000574,                    /* FB15; 0574 056B; Case map */
                    0x00056B }},
-  { 0x00FB16, 0, { 0x00057E,                    /* FB16; 057E 0576; Case map */
+  { 0x00FB16, 0x00FB16, { 0x00057E,                    /* FB16; 057E 0576; Case map */
                    0x000576 }},
-  { 0x00FB17, 0, { 0x000574,                    /* FB17; 0574 056D; Case map */
+  { 0x00FB17, 0x00FB17, { 0x000574,                    /* FB17; 0574 056D; Case map */
                    0x00056D }},
-  { 0x00FF21, 0, { 0x00FF41 }},                      /* FF21; FF41; Case map */
-  { 0x00FF22, 0, { 0x00FF42 }},                      /* FF22; FF42; Case map */
-  { 0x00FF23, 0, { 0x00FF43 }},                      /* FF23; FF43; Case map */
-  { 0x00FF24, 0, { 0x00FF44 }},                      /* FF24; FF44; Case map */
-  { 0x00FF25, 0, { 0x00FF45 }},                      /* FF25; FF45; Case map */
-  { 0x00FF26, 0, { 0x00FF46 }},                      /* FF26; FF46; Case map */
-  { 0x00FF27, 0, { 0x00FF47 }},                      /* FF27; FF47; Case map */
-  { 0x00FF28, 0, { 0x00FF48 }},                      /* FF28; FF48; Case map */
-  { 0x00FF29, 0, { 0x00FF49 }},                      /* FF29; FF49; Case map */
-  { 0x00FF2A, 0, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
-  { 0x00FF2B, 0, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
-  { 0x00FF2C, 0, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
-  { 0x00FF2D, 0, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
-  { 0x00FF2E, 0, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
-  { 0x00FF2F, 0, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
-  { 0x00FF30, 0, { 0x00FF50 }},                      /* FF30; FF50; Case map */
-  { 0x00FF31, 0, { 0x00FF51 }},                      /* FF31; FF51; Case map */
-  { 0x00FF32, 0, { 0x00FF52 }},                      /* FF32; FF52; Case map */
-  { 0x00FF33, 0, { 0x00FF53 }},                      /* FF33; FF53; Case map */
-  { 0x00FF34, 0, { 0x00FF54 }},                      /* FF34; FF54; Case map */
-  { 0x00FF35, 0, { 0x00FF55 }},                      /* FF35; FF55; Case map */
-  { 0x00FF36, 0, { 0x00FF56 }},                      /* FF36; FF56; Case map */
-  { 0x00FF37, 0, { 0x00FF57 }},                      /* FF37; FF57; Case map */
-  { 0x00FF38, 0, { 0x00FF58 }},                      /* FF38; FF58; Case map */
-  { 0x00FF39, 0, { 0x00FF59 }},                      /* FF39; FF59; Case map */
-  { 0x00FF3A, 0, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
-  { 0x010400, 0, { 0x010428 }},                    /* 10400; 10428; Case map */
-  { 0x010401, 0, { 0x010429 }},                    /* 10401; 10429; Case map */
-  { 0x010402, 0, { 0x01042A }},                    /* 10402; 1042A; Case map */
-  { 0x010403, 0, { 0x01042B }},                    /* 10403; 1042B; Case map */
-  { 0x010404, 0, { 0x01042C }},                    /* 10404; 1042C; Case map */
-  { 0x010405, 0, { 0x01042D }},                    /* 10405; 1042D; Case map */
-  { 0x010406, 0, { 0x01042E }},                    /* 10406; 1042E; Case map */
-  { 0x010407, 0, { 0x01042F }},                    /* 10407; 1042F; Case map */
-  { 0x010408, 0, { 0x010430 }},                    /* 10408; 10430; Case map */
-  { 0x010409, 0, { 0x010431 }},                    /* 10409; 10431; Case map */
-  { 0x01040A, 0, { 0x010432 }},                    /* 1040A; 10432; Case map */
-  { 0x01040B, 0, { 0x010433 }},                    /* 1040B; 10433; Case map */
-  { 0x01040C, 0, { 0x010434 }},                    /* 1040C; 10434; Case map */
-  { 0x01040D, 0, { 0x010435 }},                    /* 1040D; 10435; Case map */
-  { 0x01040E, 0, { 0x010436 }},                    /* 1040E; 10436; Case map */
-  { 0x01040F, 0, { 0x010437 }},                    /* 1040F; 10437; Case map */
-  { 0x010410, 0, { 0x010438 }},                    /* 10410; 10438; Case map */
-  { 0x010411, 0, { 0x010439 }},                    /* 10411; 10439; Case map */
-  { 0x010412, 0, { 0x01043A }},                    /* 10412; 1043A; Case map */
-  { 0x010413, 0, { 0x01043B }},                    /* 10413; 1043B; Case map */
-  { 0x010414, 0, { 0x01043C }},                    /* 10414; 1043C; Case map */
-  { 0x010415, 0, { 0x01043D }},                    /* 10415; 1043D; Case map */
-  { 0x010416, 0, { 0x01043E }},                    /* 10416; 1043E; Case map */
-  { 0x010417, 0, { 0x01043F }},                    /* 10417; 1043F; Case map */
-  { 0x010418, 0, { 0x010440 }},                    /* 10418; 10440; Case map */
-  { 0x010419, 0, { 0x010441 }},                    /* 10419; 10441; Case map */
-  { 0x01041A, 0, { 0x010442 }},                    /* 1041A; 10442; Case map */
-  { 0x01041B, 0, { 0x010443 }},                    /* 1041B; 10443; Case map */
-  { 0x01041C, 0, { 0x010444 }},                    /* 1041C; 10444; Case map */
-  { 0x01041D, 0, { 0x010445 }},                    /* 1041D; 10445; Case map */
-  { 0x01041E, 0, { 0x010446 }},                    /* 1041E; 10446; Case map */
-  { 0x01041F, 0, { 0x010447 }},                    /* 1041F; 10447; Case map */
-  { 0x010420, 0, { 0x010448 }},                    /* 10420; 10448; Case map */
-  { 0x010421, 0, { 0x010449 }},                    /* 10421; 10449; Case map */
-  { 0x010422, 0, { 0x01044A }},                    /* 10422; 1044A; Case map */
-  { 0x010423, 0, { 0x01044B }},                    /* 10423; 1044B; Case map */
-  { 0x010424, 0, { 0x01044C }},                    /* 10424; 1044C; Case map */
-  { 0x010425, 0, { 0x01044D }},                    /* 10425; 1044D; Case map */
+  { 0x00FF21, 0x00FF21, { 0x00FF41 }},                      /* FF21; FF41; Case map */
+  { 0x00FF22, 0x00FF22, { 0x00FF42 }},                      /* FF22; FF42; Case map */
+  { 0x00FF23, 0x00FF23, { 0x00FF43 }},                      /* FF23; FF43; Case map */
+  { 0x00FF24, 0x00FF24, { 0x00FF44 }},                      /* FF24; FF44; Case map */
+  { 0x00FF25, 0x00FF25, { 0x00FF45 }},                      /* FF25; FF45; Case map */
+  { 0x00FF26, 0x00FF26, { 0x00FF46 }},                      /* FF26; FF46; Case map */
+  { 0x00FF27, 0x00FF27, { 0x00FF47 }},                      /* FF27; FF47; Case map */
+  { 0x00FF28, 0x00FF28, { 0x00FF48 }},                      /* FF28; FF48; Case map */
+  { 0x00FF29, 0x00FF29, { 0x00FF49 }},                      /* FF29; FF49; Case map */
+  { 0x00FF2A, 0x00FF2A, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
+  { 0x00FF2B, 0x00FF2B, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
+  { 0x00FF2C, 0x00FF2C, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
+  { 0x00FF2D, 0x00FF2D, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
+  { 0x00FF2E, 0x00FF2E, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
+  { 0x00FF2F, 0x00FF2F, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
+  { 0x00FF30, 0x00FF30, { 0x00FF50 }},                      /* FF30; FF50; Case map */
+  { 0x00FF31, 0x00FF31, { 0x00FF51 }},                      /* FF31; FF51; Case map */
+  { 0x00FF32, 0x00FF32, { 0x00FF52 }},                      /* FF32; FF52; Case map */
+  { 0x00FF33, 0x00FF33, { 0x00FF53 }},                      /* FF33; FF53; Case map */
+  { 0x00FF34, 0x00FF34, { 0x00FF54 }},                      /* FF34; FF54; Case map */
+  { 0x00FF35, 0x00FF35, { 0x00FF55 }},                      /* FF35; FF55; Case map */
+  { 0x00FF36, 0x00FF36, { 0x00FF56 }},                      /* FF36; FF56; Case map */
+  { 0x00FF37, 0x00FF37, { 0x00FF57 }},                      /* FF37; FF57; Case map */
+  { 0x00FF38, 0x00FF38, { 0x00FF58 }},                      /* FF38; FF58; Case map */
+  { 0x00FF39, 0x00FF39, { 0x00FF59 }},                      /* FF39; FF59; Case map */
+  { 0x00FF3A, 0x00FF3A, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
+  { 0x010400, 0x010400, { 0x010428 }},                    /* 10400; 10428; Case map */
+  { 0x010401, 0x010401, { 0x010429 }},                    /* 10401; 10429; Case map */
+  { 0x010402, 0x010402, { 0x01042A }},                    /* 10402; 1042A; Case map */
+  { 0x010403, 0x010403, { 0x01042B }},                    /* 10403; 1042B; Case map */
+  { 0x010404, 0x010404, { 0x01042C }},                    /* 10404; 1042C; Case map */
+  { 0x010405, 0x010405, { 0x01042D }},                    /* 10405; 1042D; Case map */
+  { 0x010406, 0x010406, { 0x01042E }},                    /* 10406; 1042E; Case map */
+  { 0x010407, 0x010407, { 0x01042F }},                    /* 10407; 1042F; Case map */
+  { 0x010408, 0x010408, { 0x010430 }},                    /* 10408; 10430; Case map */
+  { 0x010409, 0x010409, { 0x010431 }},                    /* 10409; 10431; Case map */
+  { 0x01040A, 0x01040A, { 0x010432 }},                    /* 1040A; 10432; Case map */
+  { 0x01040B, 0x01040B, { 0x010433 }},                    /* 1040B; 10433; Case map */
+  { 0x01040C, 0x01040C, { 0x010434 }},                    /* 1040C; 10434; Case map */
+  { 0x01040D, 0x01040D, { 0x010435 }},                    /* 1040D; 10435; Case map */
+  { 0x01040E, 0x01040E, { 0x010436 }},                    /* 1040E; 10436; Case map */
+  { 0x01040F, 0x01040F, { 0x010437 }},                    /* 1040F; 10437; Case map */
+  { 0x010410, 0x010410, { 0x010438 }},                    /* 10410; 10438; Case map */
+  { 0x010411, 0x010411, { 0x010439 }},                    /* 10411; 10439; Case map */
+  { 0x010412, 0x010412, { 0x01043A }},                    /* 10412; 1043A; Case map */
+  { 0x010413, 0x010413, { 0x01043B }},                    /* 10413; 1043B; Case map */
+  { 0x010414, 0x010414, { 0x01043C }},                    /* 10414; 1043C; Case map */
+  { 0x010415, 0x010415, { 0x01043D }},                    /* 10415; 1043D; Case map */
+  { 0x010416, 0x010416, { 0x01043E }},                    /* 10416; 1043E; Case map */
+  { 0x010417, 0x010417, { 0x01043F }},                    /* 10417; 1043F; Case map */
+  { 0x010418, 0x010418, { 0x010440 }},                    /* 10418; 10440; Case map */
+  { 0x010419, 0x010419, { 0x010441 }},                    /* 10419; 10441; Case map */
+  { 0x01041A, 0x01041A, { 0x010442 }},                    /* 1041A; 10442; Case map */
+  { 0x01041B, 0x01041B, { 0x010443 }},                    /* 1041B; 10443; Case map */
+  { 0x01041C, 0x01041C, { 0x010444 }},                    /* 1041C; 10444; Case map */
+  { 0x01041D, 0x01041D, { 0x010445 }},                    /* 1041D; 10445; Case map */
+  { 0x01041E, 0x01041E, { 0x010446 }},                    /* 1041E; 10446; Case map */
+  { 0x01041F, 0x01041F, { 0x010447 }},                    /* 1041F; 10447; Case map */
+  { 0x010420, 0x010420, { 0x010448 }},                    /* 10420; 10448; Case map */
+  { 0x010421, 0x010421, { 0x010449 }},                    /* 10421; 10449; Case map */
+  { 0x010422, 0x010422, { 0x01044A }},                    /* 10422; 1044A; Case map */
+  { 0x010423, 0x010423, { 0x01044B }},                    /* 10423; 1044B; Case map */
+  { 0x010424, 0x010424, { 0x01044C }},                    /* 10424; 1044C; Case map */
+  { 0x010425, 0x010425, { 0x01044D }},                    /* 10425; 1044D; Case map */
   { 0 },
 };
 
@@ -3471,7 +3471,7 @@ const Stringprep_table_element stringprep_rfc3454_B_3[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_C_1_1[] = {
-  { 0x000020           },                                     /* 0020; SPACE */
+  { 0x000020, 0x000020 },                                     /* 0020; SPACE */
   { 0 },
 };
 
@@ -3522,23 +3522,23 @@ const Stringprep_table_element stringprep_rfc3454_C_1_1[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_C_1_2[] = {
-  { 0x0000A0           },                            /* 00A0; NO-BREAK SPACE */
-  { 0x001680           },                          /* 1680; OGHAM SPACE MARK */
-  { 0x002000           },                                   /* 2000; EN QUAD */
-  { 0x002001           },                                   /* 2001; EM QUAD */
-  { 0x002002           },                                  /* 2002; EN SPACE */
-  { 0x002003           },                                  /* 2003; EM SPACE */
-  { 0x002004           },                        /* 2004; THREE-PER-EM SPACE */
-  { 0x002005           },                         /* 2005; FOUR-PER-EM SPACE */
-  { 0x002006           },                          /* 2006; SIX-PER-EM SPACE */
-  { 0x002007           },                              /* 2007; FIGURE SPACE */
-  { 0x002008           },                         /* 2008; PUNCTUATION SPACE */
-  { 0x002009           },                                /* 2009; THIN SPACE */
-  { 0x00200A           },                                /* 200A; HAIR SPACE */
-  { 0x00200B           },                          /* 200B; ZERO WIDTH SPACE */
-  { 0x00202F           },                     /* 202F; NARROW NO-BREAK SPACE */
-  { 0x00205F           },                 /* 205F; MEDIUM MATHEMATICAL SPACE */
-  { 0x003000           },                         /* 3000; IDEOGRAPHIC SPACE */
+  { 0x0000A0, 0x0000A0 },                            /* 00A0; NO-BREAK SPACE */
+  { 0x001680, 0x001680 },                          /* 1680; OGHAM SPACE MARK */
+  { 0x002000, 0x002000 },                                   /* 2000; EN QUAD */
+  { 0x002001, 0x002001 },                                   /* 2001; EM QUAD */
+  { 0x002002, 0x002002 },                                  /* 2002; EN SPACE */
+  { 0x002003, 0x002003 },                                  /* 2003; EM SPACE */
+  { 0x002004, 0x002004 },                        /* 2004; THREE-PER-EM SPACE */
+  { 0x002005, 0x002005 },                         /* 2005; FOUR-PER-EM SPACE */
+  { 0x002006, 0x002006 },                          /* 2006; SIX-PER-EM SPACE */
+  { 0x002007, 0x002007 },                              /* 2007; FIGURE SPACE */
+  { 0x002008, 0x002008 },                         /* 2008; PUNCTUATION SPACE */
+  { 0x002009, 0x002009 },                                /* 2009; THIN SPACE */
+  { 0x00200A, 0x00200A },                                /* 200A; HAIR SPACE */
+  { 0x00200B, 0x00200B },                          /* 200B; ZERO WIDTH SPACE */
+  { 0x00202F, 0x00202F },                     /* 202F; NARROW NO-BREAK SPACE */
+  { 0x00205F, 0x00205F },                 /* 205F; MEDIUM MATHEMATICAL SPACE */
+  { 0x003000, 0x003000 },                         /* 3000; IDEOGRAPHIC SPACE */
   { 0 },
 };
 
@@ -3608,7 +3608,7 @@ const Stringprep_table_element stringprep_rfc3454_C_1_2[] = {
 
 const Stringprep_table_element stringprep_rfc3454_C_2_1[] = {
   { 0x000000, 0x00001F },                 /* 0000-001F; [CONTROL CHARACTERS] */
-  { 0x00007F           },                                    /* 007F; DELETE */
+  { 0x00007F, 0x00007F },                                    /* 007F; DELETE */
   { 0 },
 };
 
@@ -3681,19 +3681,19 @@ const Stringprep_table_element stringprep_rfc3454_C_2_1[] = {
 
 const Stringprep_table_element stringprep_rfc3454_C_2_2[] = {
   { 0x000080, 0x00009F },                 /* 0080-009F; [CONTROL CHARACTERS] */
-  { 0x0006DD           },                        /* 06DD; ARABIC END OF AYAH */
-  { 0x00070F           },                  /* 070F; SYRIAC ABBREVIATION MARK */
-  { 0x00180E           },                 /* 180E; MONGOLIAN VOWEL SEPARATOR */
-  { 0x00200C           },                     /* 200C; ZERO WIDTH NON-JOINER */
-  { 0x00200D           },                         /* 200D; ZERO WIDTH JOINER */
-  { 0x002028           },                            /* 2028; LINE SEPARATOR */
-  { 0x002029           },                       /* 2029; PARAGRAPH SEPARATOR */
-  { 0x002060           },                               /* 2060; WORD JOINER */
-  { 0x002061           },                      /* 2061; FUNCTION APPLICATION */
-  { 0x002062           },                           /* 2062; INVISIBLE TIMES */
-  { 0x002063           },                       /* 2063; INVISIBLE SEPARATOR */
+  { 0x0006DD, 0x0006DD },                        /* 06DD; ARABIC END OF AYAH */
+  { 0x00070F, 0x00070F },                  /* 070F; SYRIAC ABBREVIATION MARK */
+  { 0x00180E, 0x00180E },                 /* 180E; MONGOLIAN VOWEL SEPARATOR */
+  { 0x00200C, 0x00200C },                     /* 200C; ZERO WIDTH NON-JOINER */
+  { 0x00200D, 0x00200D },                         /* 200D; ZERO WIDTH JOINER */
+  { 0x002028, 0x002028 },                            /* 2028; LINE SEPARATOR */
+  { 0x002029, 0x002029 },                       /* 2029; PARAGRAPH SEPARATOR */
+  { 0x002060, 0x002060 },                               /* 2060; WORD JOINER */
+  { 0x002061, 0x002061 },                      /* 2061; FUNCTION APPLICATION */
+  { 0x002062, 0x002062 },                           /* 2062; INVISIBLE TIMES */
+  { 0x002063, 0x002063 },                       /* 2063; INVISIBLE SEPARATOR */
   { 0x00206A, 0x00206F },                 /* 206A-206F; [CONTROL CHARACTERS] */
-  { 0x00FEFF           },                 /* FEFF; ZERO WIDTH NO-BREAK SPACE */
+  { 0x00FEFF, 0x00FEFF },                 /* FEFF; ZERO WIDTH NO-BREAK SPACE */
   { 0x00FFF9, 0x00FFFC },                 /* FFF9-FFFC; [CONTROL CHARACTERS] */
   { 0x01D173, 0x01D17A },       /* 1D173-1D17A; [MUSICAL CONTROL CHARACTERS] */
   { 0 },
@@ -3761,11 +3761,11 @@ const Stringprep_table_element stringprep_rfc3454_C_5[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_C_6[] = {
-  { 0x00FFF9           },             /* FFF9; INTERLINEAR ANNOTATION ANCHOR */
-  { 0x00FFFA           },          /* FFFA; INTERLINEAR ANNOTATION SEPARATOR */
-  { 0x00FFFB           },         /* FFFB; INTERLINEAR ANNOTATION TERMINATOR */
-  { 0x00FFFC           },              /* FFFC; OBJECT REPLACEMENT CHARACTER */
-  { 0x00FFFD           },                     /* FFFD; REPLACEMENT CHARACTER */
+  { 0x00FFF9, 0x00FFF9 },             /* FFF9; INTERLINEAR ANNOTATION ANCHOR */
+  { 0x00FFFA, 0x00FFFA },          /* FFFA; INTERLINEAR ANNOTATION SEPARATOR */
+  { 0x00FFFB, 0x00FFFB },         /* FFFB; INTERLINEAR ANNOTATION TERMINATOR */
+  { 0x00FFFC, 0x00FFFC },              /* FFFC; OBJECT REPLACEMENT CHARACTER */
+  { 0x00FFFD, 0x00FFFD },                     /* FFFD; REPLACEMENT CHARACTER */
   { 0 },
 };
 
@@ -3789,21 +3789,21 @@ const Stringprep_table_element stringprep_rfc3454_C_7[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_C_8[] = {
-  { 0x000340           },                 /* 0340; COMBINING GRAVE TONE MARK */
-  { 0x000341           },                 /* 0341; COMBINING ACUTE TONE MARK */
-  { 0x00200E           },                        /* 200E; LEFT-TO-RIGHT MARK */
-  { 0x00200F           },                        /* 200F; RIGHT-TO-LEFT MARK */
-  { 0x00202A           },                   /* 202A; LEFT-TO-RIGHT EMBEDDING */
-  { 0x00202B           },                   /* 202B; RIGHT-TO-LEFT EMBEDDING */
-  { 0x00202C           },                /* 202C; POP DIRECTIONAL FORMATTING */
-  { 0x00202D           },                    /* 202D; LEFT-TO-RIGHT OVERRIDE */
-  { 0x00202E           },                    /* 202E; RIGHT-TO-LEFT OVERRIDE */
-  { 0x00206A           },                /* 206A; INHIBIT SYMMETRIC SWAPPING */
-  { 0x00206B           },               /* 206B; ACTIVATE SYMMETRIC SWAPPING */
-  { 0x00206C           },               /* 206C; INHIBIT ARABIC FORM SHAPING */
-  { 0x00206D           },              /* 206D; ACTIVATE ARABIC FORM SHAPING */
-  { 0x00206E           },                     /* 206E; NATIONAL DIGIT SHAPES */
-  { 0x00206F           },                      /* 206F; NOMINAL DIGIT SHAPES */
+  { 0x000340, 0x000340 },                 /* 0340; COMBINING GRAVE TONE MARK */
+  { 0x000341, 0x000341 },                 /* 0341; COMBINING ACUTE TONE MARK */
+  { 0x00200E, 0x00200E },                        /* 200E; LEFT-TO-RIGHT MARK */
+  { 0x00200F, 0x00200F },                        /* 200F; RIGHT-TO-LEFT MARK */
+  { 0x00202A, 0x00202A },                   /* 202A; LEFT-TO-RIGHT EMBEDDING */
+  { 0x00202B, 0x00202B },                   /* 202B; RIGHT-TO-LEFT EMBEDDING */
+  { 0x00202C, 0x00202C },                /* 202C; POP DIRECTIONAL FORMATTING */
+  { 0x00202D, 0x00202D },                    /* 202D; LEFT-TO-RIGHT OVERRIDE */
+  { 0x00202E, 0x00202E },                    /* 202E; RIGHT-TO-LEFT OVERRIDE */
+  { 0x00206A, 0x00206A },                /* 206A; INHIBIT SYMMETRIC SWAPPING */
+  { 0x00206B, 0x00206B },               /* 206B; ACTIVATE SYMMETRIC SWAPPING */
+  { 0x00206C, 0x00206C },               /* 206C; INHIBIT ARABIC FORM SHAPING */
+  { 0x00206D, 0x00206D },              /* 206D; ACTIVATE ARABIC FORM SHAPING */
+  { 0x00206E, 0x00206E },                     /* 206E; NATIONAL DIGIT SHAPES */
+  { 0x00206F, 0x00206F },                      /* 206F; NOMINAL DIGIT SHAPES */
   { 0 },
 };
 
@@ -3832,7 +3832,7 @@ const Stringprep_table_element stringprep_rfc3454_C_8[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_C_9[] = {
-  { 0x0E0001           },                             /* E0001; LANGUAGE TAG */
+  { 0x0E0001, 0x0E0001 },                             /* E0001; LANGUAGE TAG */
   { 0x0E0020, 0x0E007F },               /* E0020-E007F; [TAGGING CHARACTERS] */
   { 0 },
 };
@@ -3844,31 +3844,31 @@ const Stringprep_table_element stringprep_rfc3454_C_9[] = {
  */
 
 const Stringprep_table_element stringprep_rfc3454_D_1[] = {
-  { 0x0005BE           },                                            /* 05BE */
-  { 0x0005C0           },                                            /* 05C0 */
-  { 0x0005C3           },                                            /* 05C3 */
+  { 0x0005BE, 0x0005BE },                                            /* 05BE */
+  { 0x0005C0, 0x0005C0 },                                            /* 05C0 */
+  { 0x0005C3, 0x0005C3 },                                            /* 05C3 */
   { 0x0005D0, 0x0005EA },                                       /* 05D0-05EA */
   { 0x0005F0, 0x0005F4 },                                       /* 05F0-05F4 */
-  { 0x00061B           },                                            /* 061B */
-  { 0x00061F           },                                            /* 061F */
+  { 0x00061B, 0x00061B },                                            /* 061B */
+  { 0x00061F, 0x00061F },                                            /* 061F */
   { 0x000621, 0x00063A },                                       /* 0621-063A */
   { 0x000640, 0x00064A },                                       /* 0640-064A */
   { 0x00066D, 0x00066F },                                       /* 066D-066F */
   { 0x000671, 0x0006D5 },                                       /* 0671-06D5 */
-  { 0x0006DD           },                                            /* 06DD */
+  { 0x0006DD, 0x0006DD },                                            /* 06DD */
   { 0x0006E5, 0x0006E6 },                                       /* 06E5-06E6 */
   { 0x0006FA, 0x0006FE },                                       /* 06FA-06FE */
   { 0x000700, 0x00070D },                                       /* 0700-070D */
-  { 0x000710           },                                            /* 0710 */
+  { 0x000710, 0x000710 },                                            /* 0710 */
   { 0x000712, 0x00072C },                                       /* 0712-072C */
   { 0x000780, 0x0007A5 },                                       /* 0780-07A5 */
-  { 0x0007B1           },                                            /* 07B1 */
-  { 0x00200F           },                                            /* 200F */
-  { 0x00FB1D           },                                            /* FB1D */
+  { 0x0007B1, 0x0007B1 },                                            /* 07B1 */
+  { 0x00200F, 0x00200F },                                            /* 200F */
+  { 0x00FB1D, 0x00FB1D },                                            /* FB1D */
   { 0x00FB1F, 0x00FB28 },                                       /* FB1F-FB28 */
   { 0x00FB2A, 0x00FB36 },                                       /* FB2A-FB36 */
   { 0x00FB38, 0x00FB3C },                                       /* FB38-FB3C */
-  { 0x00FB3E           },                                            /* FB3E */
+  { 0x00FB3E, 0x00FB3E },                                            /* FB3E */
   { 0x00FB40, 0x00FB41 },                                       /* FB40-FB41 */
   { 0x00FB43, 0x00FB44 },                                       /* FB43-FB44 */
   { 0x00FB46, 0x00FBB1 },                                       /* FB46-FBB1 */
@@ -3890,9 +3890,9 @@ const Stringprep_table_element stringprep_rfc3454_D_1[] = {
 const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000041, 0x00005A },                                       /* 0041-005A */
   { 0x000061, 0x00007A },                                       /* 0061-007A */
-  { 0x0000AA           },                                            /* 00AA */
-  { 0x0000B5           },                                            /* 00B5 */
-  { 0x0000BA           },                                            /* 00BA */
+  { 0x0000AA, 0x0000AA },                                            /* 00AA */
+  { 0x0000B5, 0x0000B5 },                                            /* 00B5 */
+  { 0x0000BA, 0x0000BA },                                            /* 00BA */
   { 0x0000C0, 0x0000D6 },                                       /* 00C0-00D6 */
   { 0x0000D8, 0x0000F6 },                                       /* 00D8-00F6 */
   { 0x0000F8, 0x000220 },                                       /* 00F8-0220 */
@@ -3902,11 +3902,11 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x0002BB, 0x0002C1 },                                       /* 02BB-02C1 */
   { 0x0002D0, 0x0002D1 },                                       /* 02D0-02D1 */
   { 0x0002E0, 0x0002E4 },                                       /* 02E0-02E4 */
-  { 0x0002EE           },                                            /* 02EE */
-  { 0x00037A           },                                            /* 037A */
-  { 0x000386           },                                            /* 0386 */
+  { 0x0002EE, 0x0002EE },                                            /* 02EE */
+  { 0x00037A, 0x00037A },                                            /* 037A */
+  { 0x000386, 0x000386 },                                            /* 0386 */
   { 0x000388, 0x00038A },                                       /* 0388-038A */
-  { 0x00038C           },                                            /* 038C */
+  { 0x00038C, 0x00038C },                                            /* 038C */
   { 0x00038E, 0x0003A1 },                                       /* 038E-03A1 */
   { 0x0003A3, 0x0003CE },                                       /* 03A3-03CE */
   { 0x0003D0, 0x0003F5 },                                       /* 03D0-03F5 */
@@ -3918,12 +3918,12 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000531, 0x000556 },                                       /* 0531-0556 */
   { 0x000559, 0x00055F },                                       /* 0559-055F */
   { 0x000561, 0x000587 },                                       /* 0561-0587 */
-  { 0x000589           },                                            /* 0589 */
-  { 0x000903           },                                            /* 0903 */
+  { 0x000589, 0x000589 },                                            /* 0589 */
+  { 0x000903, 0x000903 },                                            /* 0903 */
   { 0x000905, 0x000939 },                                       /* 0905-0939 */
   { 0x00093D, 0x000940 },                                       /* 093D-0940 */
   { 0x000949, 0x00094C },                                       /* 0949-094C */
-  { 0x000950           },                                            /* 0950 */
+  { 0x000950, 0x000950 },                                            /* 0950 */
   { 0x000958, 0x000961 },                                       /* 0958-0961 */
   { 0x000964, 0x000970 },                                       /* 0964-0970 */
   { 0x000982, 0x000983 },                                       /* 0982-0983 */
@@ -3931,12 +3931,12 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x00098F, 0x000990 },                                       /* 098F-0990 */
   { 0x000993, 0x0009A8 },                                       /* 0993-09A8 */
   { 0x0009AA, 0x0009B0 },                                       /* 09AA-09B0 */
-  { 0x0009B2           },                                            /* 09B2 */
+  { 0x0009B2, 0x0009B2 },                                            /* 09B2 */
   { 0x0009B6, 0x0009B9 },                                       /* 09B6-09B9 */
   { 0x0009BE, 0x0009C0 },                                       /* 09BE-09C0 */
   { 0x0009C7, 0x0009C8 },                                       /* 09C7-09C8 */
   { 0x0009CB, 0x0009CC },                                       /* 09CB-09CC */
-  { 0x0009D7           },                                            /* 09D7 */
+  { 0x0009D7, 0x0009D7 },                                            /* 09D7 */
   { 0x0009DC, 0x0009DD },                                       /* 09DC-09DD */
   { 0x0009DF, 0x0009E1 },                                       /* 09DF-09E1 */
   { 0x0009E6, 0x0009F1 },                                       /* 09E6-09F1 */
@@ -3950,22 +3950,22 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000A38, 0x000A39 },                                       /* 0A38-0A39 */
   { 0x000A3E, 0x000A40 },                                       /* 0A3E-0A40 */
   { 0x000A59, 0x000A5C },                                       /* 0A59-0A5C */
-  { 0x000A5E           },                                            /* 0A5E */
+  { 0x000A5E, 0x000A5E },                                            /* 0A5E */
   { 0x000A66, 0x000A6F },                                       /* 0A66-0A6F */
   { 0x000A72, 0x000A74 },                                       /* 0A72-0A74 */
-  { 0x000A83           },                                            /* 0A83 */
+  { 0x000A83, 0x000A83 },                                            /* 0A83 */
   { 0x000A85, 0x000A8B },                                       /* 0A85-0A8B */
-  { 0x000A8D           },                                            /* 0A8D */
+  { 0x000A8D, 0x000A8D },                                            /* 0A8D */
   { 0x000A8F, 0x000A91 },                                       /* 0A8F-0A91 */
   { 0x000A93, 0x000AA8 },                                       /* 0A93-0AA8 */
   { 0x000AAA, 0x000AB0 },                                       /* 0AAA-0AB0 */
   { 0x000AB2, 0x000AB3 },                                       /* 0AB2-0AB3 */
   { 0x000AB5, 0x000AB9 },                                       /* 0AB5-0AB9 */
   { 0x000ABD, 0x000AC0 },                                       /* 0ABD-0AC0 */
-  { 0x000AC9           },                                            /* 0AC9 */
+  { 0x000AC9, 0x000AC9 },                                            /* 0AC9 */
   { 0x000ACB, 0x000ACC },                                       /* 0ACB-0ACC */
-  { 0x000AD0           },                                            /* 0AD0 */
-  { 0x000AE0           },                                            /* 0AE0 */
+  { 0x000AD0, 0x000AD0 },                                            /* 0AD0 */
+  { 0x000AE0, 0x000AE0 },                                            /* 0AE0 */
   { 0x000AE6, 0x000AEF },                                       /* 0AE6-0AEF */
   { 0x000B02, 0x000B03 },                                       /* 0B02-0B03 */
   { 0x000B05, 0x000B0C },                                       /* 0B05-0B0C */
@@ -3975,19 +3975,19 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000B32, 0x000B33 },                                       /* 0B32-0B33 */
   { 0x000B36, 0x000B39 },                                       /* 0B36-0B39 */
   { 0x000B3D, 0x000B3E },                                       /* 0B3D-0B3E */
-  { 0x000B40           },                                            /* 0B40 */
+  { 0x000B40, 0x000B40 },                                            /* 0B40 */
   { 0x000B47, 0x000B48 },                                       /* 0B47-0B48 */
   { 0x000B4B, 0x000B4C },                                       /* 0B4B-0B4C */
-  { 0x000B57           },                                            /* 0B57 */
+  { 0x000B57, 0x000B57 },                                            /* 0B57 */
   { 0x000B5C, 0x000B5D },                                       /* 0B5C-0B5D */
   { 0x000B5F, 0x000B61 },                                       /* 0B5F-0B61 */
   { 0x000B66, 0x000B70 },                                       /* 0B66-0B70 */
-  { 0x000B83           },                                            /* 0B83 */
+  { 0x000B83, 0x000B83 },                                            /* 0B83 */
   { 0x000B85, 0x000B8A },                                       /* 0B85-0B8A */
   { 0x000B8E, 0x000B90 },                                       /* 0B8E-0B90 */
   { 0x000B92, 0x000B95 },                                       /* 0B92-0B95 */
   { 0x000B99, 0x000B9A },                                       /* 0B99-0B9A */
-  { 0x000B9C           },                                            /* 0B9C */
+  { 0x000B9C, 0x000B9C },                                            /* 0B9C */
   { 0x000B9E, 0x000B9F },                                       /* 0B9E-0B9F */
   { 0x000BA3, 0x000BA4 },                                       /* 0BA3-0BA4 */
   { 0x000BA8, 0x000BAA },                                       /* 0BA8-0BAA */
@@ -3997,7 +3997,7 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000BC1, 0x000BC2 },                                       /* 0BC1-0BC2 */
   { 0x000BC6, 0x000BC8 },                                       /* 0BC6-0BC8 */
   { 0x000BCA, 0x000BCC },                                       /* 0BCA-0BCC */
-  { 0x000BD7           },                                            /* 0BD7 */
+  { 0x000BD7, 0x000BD7 },                                            /* 0BD7 */
   { 0x000BE7, 0x000BF2 },                                       /* 0BE7-0BF2 */
   { 0x000C01, 0x000C03 },                                       /* 0C01-0C03 */
   { 0x000C05, 0x000C0C },                                       /* 0C05-0C0C */
@@ -4014,12 +4014,12 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000C92, 0x000CA8 },                                       /* 0C92-0CA8 */
   { 0x000CAA, 0x000CB3 },                                       /* 0CAA-0CB3 */
   { 0x000CB5, 0x000CB9 },                                       /* 0CB5-0CB9 */
-  { 0x000CBE           },                                            /* 0CBE */
+  { 0x000CBE, 0x000CBE },                                            /* 0CBE */
   { 0x000CC0, 0x000CC4 },                                       /* 0CC0-0CC4 */
   { 0x000CC7, 0x000CC8 },                                       /* 0CC7-0CC8 */
   { 0x000CCA, 0x000CCB },                                       /* 0CCA-0CCB */
   { 0x000CD5, 0x000CD6 },                                       /* 0CD5-0CD6 */
-  { 0x000CDE           },                                            /* 0CDE */
+  { 0x000CDE, 0x000CDE },                                            /* 0CDE */
   { 0x000CE0, 0x000CE1 },                                       /* 0CE0-0CE1 */
   { 0x000CE6, 0x000CEF },                                       /* 0CE6-0CEF */
   { 0x000D02, 0x000D03 },                                       /* 0D02-0D03 */
@@ -4030,14 +4030,14 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000D3E, 0x000D40 },                                       /* 0D3E-0D40 */
   { 0x000D46, 0x000D48 },                                       /* 0D46-0D48 */
   { 0x000D4A, 0x000D4C },                                       /* 0D4A-0D4C */
-  { 0x000D57           },                                            /* 0D57 */
+  { 0x000D57, 0x000D57 },                                            /* 0D57 */
   { 0x000D60, 0x000D61 },                                       /* 0D60-0D61 */
   { 0x000D66, 0x000D6F },                                       /* 0D66-0D6F */
   { 0x000D82, 0x000D83 },                                       /* 0D82-0D83 */
   { 0x000D85, 0x000D96 },                                       /* 0D85-0D96 */
   { 0x000D9A, 0x000DB1 },                                       /* 0D9A-0DB1 */
   { 0x000DB3, 0x000DBB },                                       /* 0DB3-0DBB */
-  { 0x000DBD           },                                            /* 0DBD */
+  { 0x000DBD, 0x000DBD },                                            /* 0DBD */
   { 0x000DC0, 0x000DC6 },                                       /* 0DC0-0DC6 */
   { 0x000DCF, 0x000DD1 },                                       /* 0DCF-0DD1 */
   { 0x000DD8, 0x000DDF },                                       /* 0DD8-0DDF */
@@ -4047,69 +4047,69 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x000E40, 0x000E46 },                                       /* 0E40-0E46 */
   { 0x000E4F, 0x000E5B },                                       /* 0E4F-0E5B */
   { 0x000E81, 0x000E82 },                                       /* 0E81-0E82 */
-  { 0x000E84           },                                            /* 0E84 */
+  { 0x000E84, 0x000E84 },                                            /* 0E84 */
   { 0x000E87, 0x000E88 },                                       /* 0E87-0E88 */
-  { 0x000E8A           },                                            /* 0E8A */
-  { 0x000E8D           },                                            /* 0E8D */
+  { 0x000E8A, 0x000E8A },                                            /* 0E8A */
+  { 0x000E8D, 0x000E8D },                                            /* 0E8D */
   { 0x000E94, 0x000E97 },                                       /* 0E94-0E97 */
   { 0x000E99, 0x000E9F },                                       /* 0E99-0E9F */
   { 0x000EA1, 0x000EA3 },                                       /* 0EA1-0EA3 */
-  { 0x000EA5           },                                            /* 0EA5 */
-  { 0x000EA7           },                                            /* 0EA7 */
+  { 0x000EA5, 0x000EA5 },                                            /* 0EA5 */
+  { 0x000EA7, 0x000EA7 },                                            /* 0EA7 */
   { 0x000EAA, 0x000EAB },                                       /* 0EAA-0EAB */
   { 0x000EAD, 0x000EB0 },                                       /* 0EAD-0EB0 */
   { 0x000EB2, 0x000EB3 },                                       /* 0EB2-0EB3 */
-  { 0x000EBD           },                                            /* 0EBD */
+  { 0x000EBD, 0x000EBD },                                            /* 0EBD */
   { 0x000EC0, 0x000EC4 },                                       /* 0EC0-0EC4 */
-  { 0x000EC6           },                                            /* 0EC6 */
+  { 0x000EC6, 0x000EC6 },                                            /* 0EC6 */
   { 0x000ED0, 0x000ED9 },                                       /* 0ED0-0ED9 */
   { 0x000EDC, 0x000EDD },                                       /* 0EDC-0EDD */
   { 0x000F00, 0x000F17 },                                       /* 0F00-0F17 */
   { 0x000F1A, 0x000F34 },                                       /* 0F1A-0F34 */
-  { 0x000F36           },                                            /* 0F36 */
-  { 0x000F38           },                                            /* 0F38 */
+  { 0x000F36, 0x000F36 },                                            /* 0F36 */
+  { 0x000F38, 0x000F38 },                                            /* 0F38 */
   { 0x000F3E, 0x000F47 },                                       /* 0F3E-0F47 */
   { 0x000F49, 0x000F6A },                                       /* 0F49-0F6A */
-  { 0x000F7F           },                                            /* 0F7F */
-  { 0x000F85           },                                            /* 0F85 */
+  { 0x000F7F, 0x000F7F },                                            /* 0F7F */
+  { 0x000F85, 0x000F85 },                                            /* 0F85 */
   { 0x000F88, 0x000F8B },                                       /* 0F88-0F8B */
   { 0x000FBE, 0x000FC5 },                                       /* 0FBE-0FC5 */
   { 0x000FC7, 0x000FCC },                                       /* 0FC7-0FCC */
-  { 0x000FCF           },                                            /* 0FCF */
+  { 0x000FCF, 0x000FCF },                                            /* 0FCF */
   { 0x001000, 0x001021 },                                       /* 1000-1021 */
   { 0x001023, 0x001027 },                                       /* 1023-1027 */
   { 0x001029, 0x00102A },                                       /* 1029-102A */
-  { 0x00102C           },                                            /* 102C */
-  { 0x001031           },                                            /* 1031 */
-  { 0x001038           },                                            /* 1038 */
+  { 0x00102C, 0x00102C },                                            /* 102C */
+  { 0x001031, 0x001031 },                                            /* 1031 */
+  { 0x001038, 0x001038 },                                            /* 1038 */
   { 0x001040, 0x001057 },                                       /* 1040-1057 */
   { 0x0010A0, 0x0010C5 },                                       /* 10A0-10C5 */
   { 0x0010D0, 0x0010F8 },                                       /* 10D0-10F8 */
-  { 0x0010FB           },                                            /* 10FB */
+  { 0x0010FB, 0x0010FB },                                            /* 10FB */
   { 0x001100, 0x001159 },                                       /* 1100-1159 */
   { 0x00115F, 0x0011A2 },                                       /* 115F-11A2 */
   { 0x0011A8, 0x0011F9 },                                       /* 11A8-11F9 */
   { 0x001200, 0x001206 },                                       /* 1200-1206 */
   { 0x001208, 0x001246 },                                       /* 1208-1246 */
-  { 0x001248           },                                            /* 1248 */
+  { 0x001248, 0x001248 },                                            /* 1248 */
   { 0x00124A, 0x00124D },                                       /* 124A-124D */
   { 0x001250, 0x001256 },                                       /* 1250-1256 */
-  { 0x001258           },                                            /* 1258 */
+  { 0x001258, 0x001258 },                                            /* 1258 */
   { 0x00125A, 0x00125D },                                       /* 125A-125D */
   { 0x001260, 0x001286 },                                       /* 1260-1286 */
-  { 0x001288           },                                            /* 1288 */
+  { 0x001288, 0x001288 },                                            /* 1288 */
   { 0x00128A, 0x00128D },                                       /* 128A-128D */
   { 0x001290, 0x0012AE },                                       /* 1290-12AE */
-  { 0x0012B0           },                                            /* 12B0 */
+  { 0x0012B0, 0x0012B0 },                                            /* 12B0 */
   { 0x0012B2, 0x0012B5 },                                       /* 12B2-12B5 */
   { 0x0012B8, 0x0012BE },                                       /* 12B8-12BE */
-  { 0x0012C0           },                                            /* 12C0 */
+  { 0x0012C0, 0x0012C0 },                                            /* 12C0 */
   { 0x0012C2, 0x0012C5 },                                       /* 12C2-12C5 */
   { 0x0012C8, 0x0012CE },                                       /* 12C8-12CE */
   { 0x0012D0, 0x0012D6 },                                       /* 12D0-12D6 */
   { 0x0012D8, 0x0012EE },                                       /* 12D8-12EE */
   { 0x0012F0, 0x00130E },                                       /* 12F0-130E */
-  { 0x001310           },                                            /* 1310 */
+  { 0x001310, 0x001310 },                                            /* 1310 */
   { 0x001312, 0x001315 },                                       /* 1312-1315 */
   { 0x001318, 0x00131E },                                       /* 1318-131E */
   { 0x001320, 0x001346 },                                       /* 1320-1346 */
@@ -4130,7 +4130,7 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x0017BE, 0x0017C5 },                                       /* 17BE-17C5 */
   { 0x0017C7, 0x0017C8 },                                       /* 17C7-17C8 */
   { 0x0017D4, 0x0017DA },                                       /* 17D4-17DA */
-  { 0x0017DC           },                                            /* 17DC */
+  { 0x0017DC, 0x0017DC },                                            /* 17DC */
   { 0x0017E0, 0x0017E9 },                                       /* 17E0-17E9 */
   { 0x001810, 0x001819 },                                       /* 1810-1819 */
   { 0x001820, 0x001877 },                                       /* 1820-1877 */
@@ -4142,13 +4142,13 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x001F20, 0x001F45 },                                       /* 1F20-1F45 */
   { 0x001F48, 0x001F4D },                                       /* 1F48-1F4D */
   { 0x001F50, 0x001F57 },                                       /* 1F50-1F57 */
-  { 0x001F59           },                                            /* 1F59 */
-  { 0x001F5B           },                                            /* 1F5B */
-  { 0x001F5D           },                                            /* 1F5D */
+  { 0x001F59, 0x001F59 },                                            /* 1F59 */
+  { 0x001F5B, 0x001F5B },                                            /* 1F5B */
+  { 0x001F5D, 0x001F5D },                                            /* 1F5D */
   { 0x001F5F, 0x001F7D },                                       /* 1F5F-1F7D */
   { 0x001F80, 0x001FB4 },                                       /* 1F80-1FB4 */
   { 0x001FB6, 0x001FBC },                                       /* 1FB6-1FBC */
-  { 0x001FBE           },                                            /* 1FBE */
+  { 0x001FBE, 0x001FBE },                                            /* 1FBE */
   { 0x001FC2, 0x001FC4 },                                       /* 1FC2-1FC4 */
   { 0x001FC6, 0x001FCC },                                       /* 1FC6-1FCC */
   { 0x001FD0, 0x001FD3 },                                       /* 1FD0-1FD3 */
@@ -4156,17 +4156,17 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x001FE0, 0x001FEC },                                       /* 1FE0-1FEC */
   { 0x001FF2, 0x001FF4 },                                       /* 1FF2-1FF4 */
   { 0x001FF6, 0x001FFC },                                       /* 1FF6-1FFC */
-  { 0x00200E           },                                            /* 200E */
-  { 0x002071           },                                            /* 2071 */
-  { 0x00207F           },                                            /* 207F */
-  { 0x002102           },                                            /* 2102 */
-  { 0x002107           },                                            /* 2107 */
+  { 0x00200E, 0x00200E },                                            /* 200E */
+  { 0x002071, 0x002071 },                                            /* 2071 */
+  { 0x00207F, 0x00207F },                                            /* 207F */
+  { 0x002102, 0x002102 },                                            /* 2102 */
+  { 0x002107, 0x002107 },                                            /* 2107 */
   { 0x00210A, 0x002113 },                                       /* 210A-2113 */
-  { 0x002115           },                                            /* 2115 */
+  { 0x002115, 0x002115 },                                            /* 2115 */
   { 0x002119, 0x00211D },                                       /* 2119-211D */
-  { 0x002124           },                                            /* 2124 */
-  { 0x002126           },                                            /* 2126 */
-  { 0x002128           },                                            /* 2128 */
+  { 0x002124, 0x002124 },                                            /* 2124 */
+  { 0x002126, 0x002126 },                                            /* 2126 */
+  { 0x002128, 0x002128 },                                            /* 2128 */
   { 0x00212A, 0x00212D },                                       /* 212A-212D */
   { 0x00212F, 0x002131 },                                       /* 212F-2131 */
   { 0x002133, 0x002139 },                                       /* 2133-2139 */
@@ -4174,7 +4174,7 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x002145, 0x002149 },                                       /* 2145-2149 */
   { 0x002160, 0x002183 },                                       /* 2160-2183 */
   { 0x002336, 0x00237A },                                       /* 2336-237A */
-  { 0x002395           },                                            /* 2395 */
+  { 0x002395, 0x002395 },                                            /* 2395 */
   { 0x00249C, 0x0024E9 },                                       /* 249C-24E9 */
   { 0x003005, 0x003007 },                                       /* 3005-3007 */
   { 0x003021, 0x003029 },                                       /* 3021-3029 */
@@ -4226,11 +4226,11 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x01D400, 0x01D454 },                                     /* 1D400-1D454 */
   { 0x01D456, 0x01D49C },                                     /* 1D456-1D49C */
   { 0x01D49E, 0x01D49F },                                     /* 1D49E-1D49F */
-  { 0x01D4A2           },                                           /* 1D4A2 */
+  { 0x01D4A2, 0x01D4A2 },                                           /* 1D4A2 */
   { 0x01D4A5, 0x01D4A6 },                                     /* 1D4A5-1D4A6 */
   { 0x01D4A9, 0x01D4AC },                                     /* 1D4A9-1D4AC */
   { 0x01D4AE, 0x01D4B9 },                                     /* 1D4AE-1D4B9 */
-  { 0x01D4BB           },                                           /* 1D4BB */
+  { 0x01D4BB, 0x01D4BB },                                           /* 1D4BB */
   { 0x01D4BD, 0x01D4C0 },                                     /* 1D4BD-1D4C0 */
   { 0x01D4C2, 0x01D4C3 },                                     /* 1D4C2-1D4C3 */
   { 0x01D4C5, 0x01D505 },                                     /* 1D4C5-1D505 */
@@ -4240,7 +4240,7 @@ const Stringprep_table_element stringprep_rfc3454_D_2[] = {
   { 0x01D51E, 0x01D539 },                                     /* 1D51E-1D539 */
   { 0x01D53B, 0x01D53E },                                     /* 1D53B-1D53E */
   { 0x01D540, 0x01D544 },                                     /* 1D540-1D544 */
-  { 0x01D546           },                                           /* 1D546 */
+  { 0x01D546, 0x01D546 },                                           /* 1D546 */
   { 0x01D54A, 0x01D550 },                                     /* 1D54A-1D550 */
   { 0x01D552, 0x01D6A3 },                                     /* 1D552-1D6A3 */
   { 0x01D6A8, 0x01D7C9 },                                     /* 1D6A8-1D7C9 */
diff --git a/lib/rfc3454.h b/lib/rfc3454.h
new file mode 100644 (file)
index 0000000..eead996
--- /dev/null
@@ -0,0 +1,20 @@
+/* This file is automatically generated.  DO NOT EDIT!
+   Instead, edit gen-stringprep-tables.pl and re-run.  */
+
+#define N_STRINGPREP_rfc3454_A_1 396
+#define N_STRINGPREP_rfc3454_B_1 27
+#define N_STRINGPREP_rfc3454_B_2 1371
+#define N_STRINGPREP_rfc3454_B_3 838
+#define N_STRINGPREP_rfc3454_C_1_1 1
+#define N_STRINGPREP_rfc3454_C_1_2 17
+#define N_STRINGPREP_rfc3454_C_2_1 2
+#define N_STRINGPREP_rfc3454_C_2_2 16
+#define N_STRINGPREP_rfc3454_C_3 3
+#define N_STRINGPREP_rfc3454_C_4 18
+#define N_STRINGPREP_rfc3454_C_5 1
+#define N_STRINGPREP_rfc3454_C_6 5
+#define N_STRINGPREP_rfc3454_C_7 1
+#define N_STRINGPREP_rfc3454_C_8 15
+#define N_STRINGPREP_rfc3454_C_9 2
+#define N_STRINGPREP_rfc3454_D_1 34
+#define N_STRINGPREP_rfc3454_D_2 360
index 2ef181d..ae61ade 100644 (file)
@@ -1,5 +1,5 @@
 /* strerror-idna.c --- Convert IDNA errors into text.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -60,7 +60,7 @@
  *   string does not equal the input.
  * IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
  *   ToASCII).
- * IDNA_ICONV_ERROR: Could not convert string in locale encoding.
+ * IDNA_ICONV_ERROR: Character encoding conversion error.
  * IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
  *   fatal error).
  * IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
@@ -95,7 +95,7 @@ idna_strerror (Idna_rc rc)
       break;
 
     case IDNA_CONTAINS_MINUS:
-      p = _("Forbidden leading or trailing minus sign (`-')");
+      p = _("Forbidden leading or trailing minus sign ('-')");
       break;
 
     case IDNA_INVALID_LENGTH:
@@ -103,7 +103,7 @@ idna_strerror (Idna_rc rc)
       break;
 
     case IDNA_NO_ACE_PREFIX:
-      p = _("Input does not start with ACE prefix (`xn--')");
+      p = _("Input does not start with ACE prefix ('xn--')");
       break;
 
     case IDNA_ROUNDTRIP_VERIFY_ERROR:
@@ -111,11 +111,11 @@ idna_strerror (Idna_rc rc)
       break;
 
     case IDNA_CONTAINS_ACE_PREFIX:
-      p = _("Input already contain ACE prefix (`xn--')");
+      p = _("Input already contain ACE prefix ('xn--')");
       break;
 
     case IDNA_ICONV_ERROR:
-      p = _("System iconv failed");
+      p = _("Character encoding conversion error");
       break;
 
     case IDNA_MALLOC_ERROR:
index 003ed59..2192d4c 100644 (file)
@@ -1,5 +1,5 @@
 /* strerror-pr29.c --- Convert PR29 errors into text.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
index 856b808..4d7a562 100644 (file)
@@ -1,5 +1,5 @@
 /* strerror-punycode.c --- Convert punycode errors into text.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
index cb6f636..f95aca8 100644 (file)
@@ -1,5 +1,5 @@
 /* strerror-stringprep.c --- Convert stringprep errors into text.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -65,6 +65,7 @@
  *   This usually indicate a problem in the calling application.
  * STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
  *   known to the library.
+ * STRINGPREP_ICONV_ERROR: Character encoding conversion error.
  * STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed.  This
  *   usually indicate an internal error in the library.
  * STRINGPREP_MALLOC_ERROR: The malloc() was out of memory.  This is
@@ -122,6 +123,10 @@ stringprep_strerror (Stringprep_rc rc)
       p = _("Unknown profile");
       break;
 
+    case STRINGPREP_ICONV_ERROR:
+      p = _("Character encoding conversion error");
+      break;
+
     case STRINGPREP_NFKC_FAILED:
       p = _("Unicode normalization failed (internal error)");
       break;
index 7c87fb7..fff0116 100644 (file)
@@ -1,5 +1,5 @@
 /* strerror-tld.c --- Convert TLD errors into text.
-   Copyright (C) 2004-2012 Simon Josefsson
+   Copyright (C) 2004-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -49,7 +49,7 @@
  * TLD_INVALID: Invalid character found.
  * TLD_NODATA: No input data was provided.
  * TLD_MALLOC_ERROR: Error during memory allocation.
- * TLD_ICONV_ERROR: Error during iconv string conversion.
+ * TLD_ICONV_ERROR: Character encoding conversion error.
  * TLD_NO_TLD: No top-level domain found in domain string.
  *
  * Return value: Returns a pointer to a statically allocated string
@@ -81,7 +81,7 @@ tld_strerror (Tld_rc rc)
       break;
 
     case TLD_ICONV_ERROR:
-      p = _("System iconv failed");
+      p = _("Character encoding conversion error");
       break;
 
     case TLD_NO_TLD:
index 4c85970..585e563 100644 (file)
@@ -1,5 +1,5 @@
 /* stringprep.c --- Core stringprep implementation.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 
 #include "stringprep.h"
 
+static int
+_compare_table_element (const uint32_t *c, const Stringprep_table_element *e)
+{
+  if (*c < e->start)
+    return -1;
+  if (*c > e->end)
+    return 1;
+  return 0;
+}
+
 static ssize_t
 stringprep_find_character_in_table (uint32_t ucs4,
-                                   const Stringprep_table_element * table)
+                                   const Stringprep_table_element *table,
+                                   size_t table_size)
 {
-  ssize_t i;
-
   /* This is where typical uses of Libidn spends very close to all CPU
      time and causes most cache misses.  One could easily do a binary
      search instead.  Before rewriting this, I want hard evidence this
      slowness is at all relevant in typical applications.  (I don't
      dispute optimization may improve matters significantly, I'm
      mostly interested in having someone give real-world benchmark on
-     the impact of libidn.) */
-
-  for (i = 0; table[i].start || table[i].end; i++)
-    if (ucs4 >= table[i].start &&
-       ucs4 <= (table[i].end ? table[i].end : table[i].start))
-      return i;
-
-  return -1;
+     the impact of libidn.)
+     *
+     * Answer (Tim Rühsen rockdaboot@gmx.de):
+     * Testing the fuzz corpora just once via make check takes ~54 billion CPU cycles.
+     * That is almost 20s on my Intel i3 3.1GHz !!!
+     * That even makes fuzzing almost useless, eating up CPU cycles for nothing.
+     *
+     * The bsearch() approach takes ~3 billion CPU cycles.
+     * Almost a factor of 20 faster (but still pretty slow).
+     * There are still ~2 million calls to bsearch() which make ~30% of CPU time used.
+     * Most time is spent in _g_utf8_normalize_wc().
+
+     ssize_t i;
+
+     for (i = 0; table[i].start || table[i].end; i++)
+     if (ucs4 >= table[i].start &&
+     ucs4 <= (table[i].end ? table[i].end : table[i].start))
+     return i;
+   */
+
+  const Stringprep_table_element *p =
+    bsearch (&ucs4, table, table_size, sizeof (Stringprep_table_element),
+            (int (*)(const void *, const void *)) _compare_table_element);
+
+  return p ? (p - table) : -1;
 }
 
 static ssize_t
-stringprep_find_string_in_table (uint32_t * ucs4,
+stringprep_find_string_in_table (uint32_t *ucs4,
                                 size_t ucs4len,
-                                size_t * tablepos,
-                                const Stringprep_table_element * table)
+                                size_t *tablepos,
+                                const Stringprep_table_element *table,
+                                size_t table_size)
 {
   size_t j;
   ssize_t pos;
 
   for (j = 0; j < ucs4len; j++)
-    if ((pos = stringprep_find_character_in_table (ucs4[j], table)) != -1)
+    if ((pos =
+        stringprep_find_character_in_table (ucs4[j], table,
+                                            table_size)) != -1)
       {
        if (tablepos)
          *tablepos = pos;
@@ -79,16 +108,20 @@ stringprep_find_string_in_table (uint32_t * ucs4,
 }
 
 static int
-stringprep_apply_table_to_string (uint32_t * ucs4,
-                                 size_t * ucs4len,
+stringprep_apply_table_to_string (uint32_t *ucs4,
+                                 size_t *ucs4len,
                                  size_t maxucs4len,
-                                 const Stringprep_table_element * table)
+                                 const Stringprep_table_element *table,
+                                 size_t table_size)
 {
   ssize_t pos;
   size_t i, maplen;
+  uint32_t *src = ucs4;                /* points to unprocessed data */
+  size_t srclen = *ucs4len;    /* length of unprocessed data */
 
-  while ((pos = stringprep_find_string_in_table (ucs4, *ucs4len,
-                                                &i, table)) != -1)
+  while ((pos = stringprep_find_string_in_table (src, srclen,
+                                                &i, table,
+                                                table_size)) != -1)
     {
       for (maplen = STRINGPREP_MAX_MAP_CHARS;
           maplen > 0 && table[i].map[maplen - 1] == 0; maplen--)
@@ -97,10 +130,12 @@ stringprep_apply_table_to_string (uint32_t * ucs4,
       if (*ucs4len - 1 + maplen >= maxucs4len)
        return STRINGPREP_TOO_SMALL_BUFFER;
 
-      memmove (&ucs4[pos + maplen], &ucs4[pos + 1],
-              sizeof (uint32_t) * (*ucs4len - pos - 1));
-      memcpy (&ucs4[pos], table[i].map, sizeof (uint32_t) * maplen);
+      memmove (src + pos + maplen, src + pos + 1,
+              sizeof (uint32_t) * (srclen - pos - 1));
+      memcpy (src + pos, table[i].map, sizeof (uint32_t) * maplen);
       *ucs4len = *ucs4len - 1 + maplen;
+      src += pos + maplen;
+      srclen -= pos + 1;
     }
 
   return STRINGPREP_OK;
@@ -143,9 +178,9 @@ stringprep_apply_table_to_string (uint32_t * ucs4,
  *   #Stringprep_rc error code.
  **/
 int
-stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
+stringprep_4i (uint32_t *ucs4, size_t *len, size_t maxucs4len,
               Stringprep_profile_flags flags,
-              const Stringprep_profile * profile)
+              const Stringprep_profile *profile)
 {
   size_t i, j;
   ssize_t k;
@@ -188,7 +223,8 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
 
        case STRINGPREP_PROHIBIT_TABLE:
          k = stringprep_find_string_in_table (ucs4, ucs4len,
-                                              NULL, profile[i].table);
+                                              NULL, profile[i].table,
+                                              profile[i].table_size);
          if (k != -1)
            return STRINGPREP_CONTAINS_PROHIBITED;
          break;
@@ -199,7 +235,8 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
          if (flags & STRINGPREP_NO_UNASSIGNED)
            {
              k = stringprep_find_string_in_table
-               (ucs4, ucs4len, NULL, profile[i].table);
+               (ucs4, ucs4len, NULL, profile[i].table,
+                profile[i].table_size);
              if (k != -1)
                return STRINGPREP_CONTAINS_UNASSIGNED;
            }
@@ -209,7 +246,8 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
          if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
            break;
          rc = stringprep_apply_table_to_string
-           (ucs4, &ucs4len, maxucs4len, profile[i].table);
+           (ucs4, &ucs4len, maxucs4len, profile[i].table,
+            profile[i].table_size);
          if (rc != STRINGPREP_OK)
            return rc;
          break;
@@ -233,7 +271,8 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
                  done_prohibited = 1;
                  k = stringprep_find_string_in_table (ucs4, ucs4len,
                                                       NULL,
-                                                      profile[j].table);
+                                                      profile[j].table,
+                                                      profile[j].table_size);
                  if (k != -1)
                    return STRINGPREP_BIDI_CONTAINS_PROHIBITED;
                }
@@ -241,14 +280,16 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
                {
                  done_ral = 1;
                  if (stringprep_find_string_in_table
-                     (ucs4, ucs4len, NULL, profile[j].table) != -1)
+                     (ucs4, ucs4len, NULL, profile[j].table,
+                      profile[j].table_size) != -1)
                    contains_ral = j;
                }
              else if (profile[j].operation == STRINGPREP_BIDI_L_TABLE)
                {
                  done_l = 1;
                  if (stringprep_find_string_in_table
-                     (ucs4, ucs4len, NULL, profile[j].table) != -1)
+                     (ucs4, ucs4len, NULL, profile[j].table,
+                      profile[j].table_size) != -1)
                    contains_l = j;
                }
 
@@ -261,9 +302,15 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
            if (contains_ral != SIZE_MAX)
              {
                if (!(stringprep_find_character_in_table
-                     (ucs4[0], profile[contains_ral].table) != -1 &&
-                     stringprep_find_character_in_table
-                     (ucs4[ucs4len - 1], profile[contains_ral].table) != -1))
+                     (ucs4[0], profile[contains_ral].table,
+                      profile[contains_ral].table_size) != -1
+                     &&
+                     stringprep_find_character_in_table (ucs4[ucs4len - 1],
+                                                         profile
+                                                         [contains_ral].table,
+                                                         profile
+                                                         [contains_ral].table_size)
+                     != -1))
                  return STRINGPREP_BIDI_LEADTRAIL_NOT_RAL;
              }
          }
@@ -281,9 +328,9 @@ stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
 }
 
 static int
-stringprep_4zi_1 (uint32_t * ucs4, size_t ucs4len, size_t maxucs4len,
+stringprep_4zi_1 (uint32_t *ucs4, size_t ucs4len, size_t maxucs4len,
                  Stringprep_profile_flags flags,
-                 const Stringprep_profile * profile)
+                 const Stringprep_profile *profile)
 {
   int rc;
 
@@ -324,9 +371,9 @@ stringprep_4zi_1 (uint32_t * ucs4, size_t ucs4len, size_t maxucs4len,
  *   #Stringprep_rc error code.
  **/
 int
-stringprep_4zi (uint32_t * ucs4, size_t maxucs4len,
+stringprep_4zi (uint32_t *ucs4, size_t maxucs4len,
                Stringprep_profile_flags flags,
-               const Stringprep_profile * profile)
+               const Stringprep_profile *profile)
 {
   size_t ucs4len;
 
@@ -338,7 +385,7 @@ stringprep_4zi (uint32_t * ucs4, size_t maxucs4len,
 
 /**
  * stringprep:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  * @flags: a #Stringprep_profile_flags value, or 0.
  * @profile: pointer to #Stringprep_profile to use.
@@ -366,13 +413,12 @@ stringprep_4zi (uint32_t * ucs4, size_t maxucs4len,
 int
 stringprep (char *in,
            size_t maxlen,
-           Stringprep_profile_flags flags,
-           const Stringprep_profile * profile)
+           Stringprep_profile_flags flags, const Stringprep_profile *profile)
 {
   int rc;
   char *utf8 = NULL;
   uint32_t *ucs4 = NULL;
-  size_t ucs4len, maxucs4len, adducs4len = 50;
+  size_t ucs4len, maxucs4len, adducs4len = strlen (in) / 10 + 1;
 
   do
     {
@@ -380,6 +426,8 @@ stringprep (char *in,
 
       free (ucs4);
       ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
+      if (ucs4 == NULL)
+       return STRINGPREP_ICONV_ERROR;
       maxucs4len = ucs4len + adducs4len;
       newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
       if (!newp)
@@ -390,7 +438,7 @@ stringprep (char *in,
       ucs4 = newp;
 
       rc = stringprep_4i (ucs4, &ucs4len, maxucs4len, flags, profile);
-      adducs4len += 50;
+      adducs4len *= 2;
     }
   while (rc == STRINGPREP_TOO_SMALL_BUFFER);
   if (rc != STRINGPREP_OK)
@@ -402,7 +450,7 @@ stringprep (char *in,
   utf8 = stringprep_ucs4_to_utf8 (ucs4, ucs4len, 0, 0);
   free (ucs4);
   if (!utf8)
-    return STRINGPREP_MALLOC_ERROR;
+    return STRINGPREP_ICONV_ERROR;
 
   if (strlen (utf8) >= maxlen)
     {
@@ -448,7 +496,7 @@ stringprep_profile (const char *in,
 {
   const Stringprep_profiles *p;
   char *str = NULL;
-  size_t len = strlen (in) + 1;
+  size_t len = strlen (in) + 1, addlen = len / 10 + 1;
   int rc;
 
   for (p = &stringprep_profiles[0]; p->name; p++)
@@ -468,7 +516,8 @@ stringprep_profile (const char *in,
       strcpy (str, in);
 
       rc = stringprep (str, len, flags, p->tables);
-      len += 50;
+      len += addlen;
+      addlen *= 2;
     }
   while (rc == STRINGPREP_TOO_SMALL_BUFFER);
 
@@ -522,7 +571,7 @@ stringprep_profile (const char *in,
  * C++, Emacs Lisp, Python and Java.
  *
  * The project web page:\n
- * http://www.gnu.org/software/libidn/
+ * https://www.gnu.org/software/libidn/
  *
  * The software archive:\n
  * ftp://alpha.gnu.org/pub/gnu/libidn/
@@ -590,6 +639,7 @@ stringprep_profile (const char *in,
  *   This usually indicate a problem in the calling application.
  * @STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
  *   known to the library.
+ * @STRINGPREP_ICONV_ERROR: Character encoding conversion error.
  * @STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed.  This
  *   usually indicate an internal error in the library.
  * @STRINGPREP_MALLOC_ERROR: The malloc() was out of memory.  This is
@@ -633,7 +683,7 @@ stringprep_profile (const char *in,
 
 /**
  * stringprep_nameprep:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the nameprep profile.
@@ -644,7 +694,7 @@ stringprep_profile (const char *in,
 
 /**
  * stringprep_nameprep_no_unassigned:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the nameprep profile.
@@ -654,7 +704,7 @@ stringprep_profile (const char *in,
 
 /**
  * stringprep_iscsi:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the draft iSCSI
@@ -663,7 +713,7 @@ stringprep_profile (const char *in,
 
 /**
  * stringprep_plain:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the draft SASL
@@ -671,8 +721,18 @@ stringprep_profile (const char *in,
  **/
 
 /**
+ * stringprep_kerberos5:
+ * @in: input/output array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the draft Kerberos 5
+ * node identifier profile.  Returns 0 iff successful, or an error
+ * code.
+ **/
+
+/**
  * stringprep_xmpp_nodeprep:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the draft XMPP node
@@ -681,7 +741,7 @@ stringprep_profile (const char *in,
 
 /**
  * stringprep_xmpp_resourceprep:
- * @in: input/ouput array with string to prepare.
+ * @in: input/output array with string to prepare.
  * @maxlen: maximum length of input/output array.
  *
  * Prepare the input UTF-8 string according to the draft XMPP resource
index 1ff4db0..add9a15 100644 (file)
@@ -1,5 +1,5 @@
 /* stringprep.h --- Header file for stringprep functions.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef STRINGPREP_H
 # define STRINGPREP_H
 
+/**
+ * SECTION:stringprep
+ * @title: stringprep.h
+ * @short_description: Stringprep-related functions
+ *
+ * Stringprep-related functions.
+ */
+
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
@@ -51,7 +59,7 @@ extern "C"
 {
 # endif
 
-# define STRINGPREP_VERSION "1.25"
+# define STRINGPREP_VERSION "1.42"
 
 /* Error codes. */
   typedef enum
@@ -68,6 +76,7 @@ extern "C"
     STRINGPREP_PROFILE_ERROR = 101,
     STRINGPREP_FLAG_ERROR = 102,
     STRINGPREP_UNKNOWN_PROFILE = 103,
+    STRINGPREP_ICONV_ERROR = 104,
     /* Internal errors. */
     STRINGPREP_NFKC_FAILED = 200,
     STRINGPREP_MALLOC_ERROR = 201
@@ -96,28 +105,74 @@ extern "C"
 
 # define STRINGPREP_MAX_MAP_CHARS 4
 
+  /* *INDENT-OFF* */
+
+  /* Why INDENT-OFF?  GTK-DOC has a bug
+   * <https://gitlab.gnome.org/GNOME/gtk-doc/-/issues/37> which causes
+   * parsing of structs to fail unless the terminating } is at the
+   * beginning of the line.  We hard-code the header file to be like
+   * that, and add the INDENT-OFF markers so that indent won't restore
+   * them.  When that bug is fixed, remove the INDENT-* marker, run
+   * 'make indent', and make sure that
+   * doc/reference/libidn-decl-list.txt stay the same.
+   *
+   * Of course, exposing these struct's in the public header file in
+   * the first place was a mistake.
+   */
+
+  /**
+   * Stringprep_table_element:
+   * @start: starting codepoint.
+   * @end: ending codepoint, 0 if only one character.
+   * @map: codepoints to map @start into, NULL if end is not 0.
+   *
+   * Stringprep profile table element.
+   */
   struct Stringprep_table_element
   {
     uint32_t start;
-    uint32_t end;              /* 0 if only one character */
-    uint32_t map[STRINGPREP_MAX_MAP_CHARS];    /* NULL if end is not 0 */
-  };
+    uint32_t end;
+    uint32_t map[STRINGPREP_MAX_MAP_CHARS];
+};
   typedef struct Stringprep_table_element Stringprep_table_element;
 
+  /**
+   * Stringprep_table:
+   * @operation: a #Stringprep_profile_steps value
+   * @flags: a #Stringprep_profile_flags value
+   * @table: zero-terminated array of %Stringprep_table_element elements.
+   * @table_size: size of @table, to speed up searching.
+   *
+   * Stringprep profile table.
+   */
   struct Stringprep_table
   {
     Stringprep_profile_steps operation;
     Stringprep_profile_flags flags;
     const Stringprep_table_element *table;
-  };
+    size_t table_size;
+};
+  /**
+   * Stringprep_profile:
+   *
+   * Stringprep profile table.
+   */
   typedef struct Stringprep_table Stringprep_profile;
 
+  /**
+   * Stringprep_profiles:
+   * @name: name of stringprep profile.
+   * @tables: zero-terminated array of %Stringprep_profile elements.
+   *
+   * Element structure
+   */
   struct Stringprep_profiles
   {
     const char *name;
     const Stringprep_profile *tables;
-  };
+};
   typedef struct Stringprep_profiles Stringprep_profiles;
+  /* *INDENT-ON* */
 
   extern IDNAPI const Stringprep_profiles stringprep_profiles[];
 
@@ -153,7 +208,8 @@ extern "C"
   /* SASL */
 
   extern IDNAPI const Stringprep_profile stringprep_saslprep[];
-  extern IDNAPI const Stringprep_table_element stringprep_saslprep_space_map[];
+  extern IDNAPI const Stringprep_table_element
+    stringprep_saslprep_space_map[];
   extern IDNAPI const Stringprep_profile stringprep_plain[];
   extern IDNAPI const Stringprep_profile stringprep_trace[];
 
@@ -171,7 +227,8 @@ extern "C"
 
   extern IDNAPI const Stringprep_profile stringprep_xmpp_nodeprep[];
   extern IDNAPI const Stringprep_profile stringprep_xmpp_resourceprep[];
-  extern IDNAPI const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[];
+  extern IDNAPI const Stringprep_table_element
+    stringprep_xmpp_nodeprep_prohibit[];
 
 # define stringprep_xmpp_nodeprep(in, maxlen)          \
   stringprep(in, maxlen, 0, stringprep_xmpp_nodeprep)
@@ -188,7 +245,7 @@ extern "C"
 
   /* API */
 
-  extern IDNAPI int stringprep_4i (uint32_t * ucs4, size_t * len,
+  extern IDNAPI int stringprep_4i (uint32_t * ucs4, size_t *len,
                                   size_t maxucs4len,
                                   Stringprep_profile_flags flags,
                                   const Stringprep_profile * profile);
@@ -216,16 +273,16 @@ extern "C"
 
   extern IDNAPI uint32_t *stringprep_utf8_to_ucs4 (const char *str,
                                                   ssize_t len,
-                                                  size_t * items_written);
+                                                  size_t *items_written);
   extern IDNAPI char *stringprep_ucs4_to_utf8 (const uint32_t * str,
                                               ssize_t len,
-                                              size_t * items_read,
-                                              size_t * items_written);
+                                              size_t *items_read,
+                                              size_t *items_written);
 
   extern IDNAPI char *stringprep_utf8_nfkc_normalize (const char *str,
                                                      ssize_t len);
-  extern IDNAPI uint32_t *stringprep_ucs4_nfkc_normalize (const uint32_t * str,
-                                                         ssize_t len);
+  extern IDNAPI uint32_t *stringprep_ucs4_nfkc_normalize (const uint32_t *
+                                                         str, ssize_t len);
 
   extern IDNAPI const char *stringprep_locale_charset (void);
   extern IDNAPI char *stringprep_convert (const char *str,
index 17a1ed9..767f4c1 100644 (file)
--- a/lib/tld.c
+++ b/lib/tld.c
@@ -1,6 +1,6 @@
 /* tld.c --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2012 Simon Josefsson.
-   Copyright (C) 2003-2012 Free Software Foundation, Inc.
+   Copyright (C) 2004-2024 Simon Josefsson.
+   Copyright (C) 2003-2024 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
@@ -28,7 +28,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #include <config.h>
 
@@ -57,7 +57,7 @@ extern const Tld_table *_tld_tables[];
  *   thru @tables, or return %NULL if no such structure is found.
  */
 const Tld_table *
-tld_get_table (const char *tld, const Tld_table ** tables)
+tld_get_table (const char *tld, const Tld_table **tables)
 {
   const Tld_table **tldtable = NULL;
 
@@ -75,18 +75,18 @@ tld_get_table (const char *tld, const Tld_table ** tables)
  * tld_default_table:
  * @tld: TLD name (e.g. "com") as zero terminated ASCII byte string.
  * @overrides: Additional zero terminated array of #Tld_table
- *   info-structures for TLDs, or %NULL to only use library deault
+ *   info-structures for TLDs, or %NULL to only use library default
  *   tables.
  *
  * Get the TLD table for a named TLD, using the internal defaults,
- * possibly overrided by the (optional) supplied tables.
+ * possibly overridden by the (optional) supplied tables.
  *
  * Return value: Return structure corresponding to TLD @tld_str, first
  *   looking through @overrides then thru built-in list, or %NULL if
  *   no such structure found.
  */
 const Tld_table *
-tld_default_table (const char *tld, const Tld_table ** overrides)
+tld_default_table (const char *tld, const Tld_table **overrides)
 {
   const Tld_table *tldtable = NULL;
 
@@ -119,7 +119,7 @@ tld_default_table (const char *tld, const Tld_table ** overrides)
  *   #Tld_rc error code otherwise.
  */
 int
-tld_get_4 (const uint32_t * in, size_t inlen, char **out)
+tld_get_4 (const uint32_t *in, size_t inlen, char **out)
 {
   const uint32_t *ipos;
   size_t olen;
@@ -135,8 +135,9 @@ tld_get_4 (const uint32_t * in, size_t inlen, char **out)
                        (*ipos >= 0x61 && *ipos <= 0x7A)))
     ipos--, olen++;
 
-  if (olen > 0 && DOTP (*ipos))        /* Found something that appears a TLD. */
+  if (olen > 0 && ipos >= in && DOTP (*ipos))
     {
+      /* Found something that appears a TLD. */
       char *out_s = malloc (sizeof (char) * (olen + 1));
       char *opos = out_s;
 
@@ -167,7 +168,7 @@ tld_get_4 (const uint32_t * in, size_t inlen, char **out)
  *   #Tld_rc error code otherwise.
  */
 int
-tld_get_4z (const uint32_t * in, char **out)
+tld_get_4z (const uint32_t *in, char **out)
 {
   const uint32_t *ipos = in;
 
@@ -228,7 +229,7 @@ tld_get_z (const char *in, char **out)
  *   %TLD_INVALID if @ch is invalid as defined by @tld.
  */
 static int
-_tld_checkchar (uint32_t ch, const Tld_table * tld)
+_tld_checkchar (uint32_t ch, const Tld_table *tld)
 {
   const Tld_table_element *s, *e, *m;
 
@@ -276,8 +277,8 @@ _tld_checkchar (uint32_t ch, const Tld_table * tld)
  *   failure conditions.
  */
 int
-tld_check_4t (const uint32_t * in, size_t inlen, size_t * errpos,
-             const Tld_table * tld)
+tld_check_4t (const uint32_t *in, size_t inlen, size_t *errpos,
+             const Tld_table *tld)
 {
   const uint32_t *ipos;
   int rc;
@@ -318,7 +319,7 @@ tld_check_4t (const uint32_t * in, size_t inlen, size_t * errpos,
  *   failure conditions.
  */
 int
-tld_check_4tz (const uint32_t * in, size_t * errpos, const Tld_table * tld)
+tld_check_4tz (const uint32_t *in, size_t *errpos, const Tld_table *tld)
 {
   const uint32_t *ipos = in;
 
@@ -355,8 +356,8 @@ tld_check_4tz (const uint32_t * in, size_t * errpos, const Tld_table * tld)
  *   failure conditions.
  */
 int
-tld_check_4 (const uint32_t * in, size_t inlen, size_t * errpos,
-            const Tld_table ** overrides)
+tld_check_4 (const uint32_t *in, size_t inlen, size_t *errpos,
+            const Tld_table **overrides)
 {
   const Tld_table *tld;
   char *domain;
@@ -405,8 +406,7 @@ tld_check_4 (const uint32_t * in, size_t inlen, size_t * errpos,
  *   failure conditions.
  */
 int
-tld_check_4z (const uint32_t * in, size_t * errpos,
-             const Tld_table ** overrides)
+tld_check_4z (const uint32_t *in, size_t *errpos, const Tld_table **overrides)
 {
   const uint32_t *ipos = in;
 
@@ -443,7 +443,7 @@ tld_check_4z (const uint32_t * in, size_t * errpos,
  *   failure conditions.
  */
 int
-tld_check_8z (const char *in, size_t * errpos, const Tld_table ** overrides)
+tld_check_8z (const char *in, size_t *errpos, const Tld_table **overrides)
 {
   uint32_t *iucs;
   size_t ilen;
@@ -488,7 +488,7 @@ tld_check_8z (const char *in, size_t * errpos, const Tld_table ** overrides)
  *   failure conditions.
  */
 int
-tld_check_lz (const char *in, size_t * errpos, const Tld_table ** overrides)
+tld_check_lz (const char *in, size_t *errpos, const Tld_table **overrides)
 {
   char *utf8;
   int rc;
@@ -516,7 +516,7 @@ tld_check_lz (const char *in, size_t * errpos, const Tld_table ** overrides)
  * @TLD_INVALID: Invalid character found.
  * @TLD_NODATA: No input data was provided.
  * @TLD_MALLOC_ERROR: Error during memory allocation.
- * @TLD_ICONV_ERROR: Error during iconv string conversion.
+ * @TLD_ICONV_ERROR: Character encoding conversion error.
  * @TLD_NO_TLD: No top-level domain found in domain string.
  * @TLD_NOTLD: Same as @TLD_NO_TLD, for compatibility
  *   with typo in earlier versions.
index 4d23e6c..4381195 100644 (file)
--- a/lib/tld.h
+++ b/lib/tld.h
@@ -1,6 +1,6 @@
 /* tld.h --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2012 Simon Josefsson.
-   Copyright (C) 2003-2012 Free Software Foundation, Inc.
+   Copyright (C) 2004-2024 Simon Josefsson.
+   Copyright (C) 2003-2024 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef TLD_H
 # define TLD_H
 
+/**
+ * SECTION:tld
+ * @title: tld.h
+ * @short_description: TLD-related functions
+ *
+ * TLD-related functions.
+ */
+
 # ifndef IDNAPI
 #  if defined LIBIDN_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
 #   define IDNAPI __attribute__((__visibility__("default")))
@@ -56,23 +64,42 @@ extern "C"
   /* Get uint32_t. */
 # include <idn-int.h>
 
-  /* Interval of valid code points in the TLD. */
+  /* *INDENT-OFF* */
+
+  /* Why INDENT-OFF?  See stringprep.h */
+
+  /**
+   * Tld_table_element:
+   * @start: Start of range.
+   * @end: End of range, end == start if single.
+   *
+   * Interval of valid code points in the TLD.
+   */
   struct Tld_table_element
   {
-    uint32_t start;            /* Start of range. */
-    uint32_t end;              /* End of range, end == start if single. */
-  };
+    uint32_t start;
+    uint32_t end;
+};
   typedef struct Tld_table_element Tld_table_element;
 
-  /* List valid code points in a TLD. */
+  /**
+   * Tld_table:
+   * @name: TLD name, e.g., "no".
+   * @version: Version string from TLD file.
+   * @nvalid: Number of entries in data.
+   * @valid: Sorted array (of size @nvalid) of valid code points.
+   *
+   * List valid code points in a TLD.
+   */
   struct Tld_table
   {
-    const char *name;          /* TLD name, e.g., "no". */
-    const char *version;       /* Version string from TLD file. */
-    size_t nvalid;             /* Number of entries in data. */
-    const Tld_table_element *valid;    /* Sorted array of valid code points. */
-  };
+    const char *name;
+    const char *version;
+    size_t nvalid;
+    const Tld_table_element *valid;
+};
   typedef struct Tld_table Tld_table;
+  /* *INDENT-ON* */
 
   /* Error codes. */
   typedef enum
@@ -90,8 +117,7 @@ extern "C"
   extern IDNAPI const char *tld_strerror (Tld_rc rc);
 
   /* Extract TLD, as ASCII string, of UCS4 domain name into "out". */
-  extern IDNAPI int tld_get_4 (const uint32_t * in, size_t inlen,
-                              char **out);
+  extern IDNAPI int tld_get_4 (const uint32_t * in, size_t inlen, char **out);
   extern IDNAPI int tld_get_4z (const uint32_t * in, char **out);
   extern IDNAPI int tld_get_z (const char *in, char **out);
 
@@ -104,32 +130,33 @@ extern "C"
   /* Return structure corresponding to the named TLD, first looking
    * thru overrides then thru built-in list, or return NULL if no
    * matching TLD can be found. */
-  extern IDNAPI const Tld_table * tld_default_table (const char *tld,
-                                                const Tld_table ** overrides);
+  extern IDNAPI const Tld_table *tld_default_table (const char *tld,
+                                                   const Tld_table **
+                                                   overrides);
 
   /* Check NAMEPREPPED domain name for valid characters as defined by
    * the relevant registering body (plus [a-z0-9.-]).  If error is
    * TLD_INVALID, set errpos to position of offending character. */
   extern IDNAPI int tld_check_4t (const uint32_t * in, size_t inlen,
-                                 size_t * errpos, const Tld_table * tld);
-  extern IDNAPI int tld_check_4tz (const uint32_t * in, size_t * errpos,
+                                 size_t *errpos, const Tld_table * tld);
+  extern IDNAPI int tld_check_4tz (const uint32_t * in, size_t *errpos,
                                   const Tld_table * tld);
 
   /* Utility interfaces that uses tld_get_4* to find TLD of string,
      then tld_default_table (with overrides) to find proper TLD table
      for the string, and then hands over to tld_check_4t*. */
   extern IDNAPI int tld_check_4 (const uint32_t * in, size_t inlen,
-                                size_t * errpos,
+                                size_t *errpos,
                                 const Tld_table ** overrides);
-  extern IDNAPI int tld_check_4z (const uint32_t * in, size_t * errpos,
+  extern IDNAPI int tld_check_4z (const uint32_t * in, size_t *errpos,
                                  const Tld_table ** overrides);
-  extern IDNAPI int tld_check_8z (const char *in, size_t * errpos,
+  extern IDNAPI int tld_check_8z (const char *in, size_t *errpos,
                                  const Tld_table ** overrides);
-  extern IDNAPI int tld_check_lz (const char *in, size_t * errpos,
+  extern IDNAPI int tld_check_lz (const char *in, size_t *errpos,
                                  const Tld_table ** overrides);
 
 # ifdef __cplusplus
 }
 # endif
 
-#endif /* TLD_H */
+#endif                         /* TLD_H */
index 14263a4..7be88c8 100644 (file)
@@ -1,6 +1,7 @@
 /* This file is automatically generated.  DO NOT EDIT!
    Instead, edit gen-tld-tables.pl and re-run.  */
 
+#include <config.h>
 #include "tld.h"
 
 /* TLD fr */
@@ -33,6 +34,7 @@ static const Tld_table_element _tld_no_valid[] =
 {
   { 0xe0,  0xe1 },
   { 0xe4,  0xea },
+  { 0xef,  0xef },
   { 0xf1,  0xf4 },
   { 0xf6,  0xf6 },
   { 0xf8,  0xf8 },
@@ -49,8 +51,8 @@ static const Tld_table_element _tld_no_valid[] =
 static const Tld_table _tld_no =
 {
   "no",
-  "1.0",
-  13,
+  "2.0",
+  14,
   &_tld_no_valid[0]
 };
 
index c31a826..02dbb6d 100644 (file)
@@ -1,5 +1,5 @@
 /* toutf8.c --- Convert strings from system locale into UTF-8.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -70,7 +70,7 @@
  * nl_langinfo isn't supported or return anything.
  *
  * Note that this function return the application's locale's preferred
- * charset (or thread's locale's preffered charset, if your system
+ * charset (or thread's locale's preferred charset, if your system
  * support thread-specific locales).  It does not return what the
  * system may be using.  Thus, if you receive data from external
  * sources you cannot in general use this function to guess what
@@ -120,6 +120,8 @@ stringprep_convert (const char *str,
   return str_iconv (str, from_codeset, to_codeset);
 #else
   char *p;
+  (void) to_codeset;
+  (void) from_codeset;
   fprintf (stderr, "libidn: warning: libiconv not installed, cannot "
           "convert data to UTF-8\n");
   p = malloc (strlen (str) + 1);
index 843f4b2..993a9d1 100644 (file)
@@ -1,5 +1,5 @@
 /* version.c --- Version handling.
-   Copyright (C) 2002-2012 Simon Josefsson
+   Copyright (C) 2002-2024 Simon Josefsson
 
    This file is part of GNU Libidn.
 
@@ -25,7 +25,7 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -33,7 +33,7 @@
 
 #include "stringprep.h"
 
-#include <string.h> /* for strverscmp */
+#include <string.h>            /* for strverscmp */
 
 /**
  * stringprep_check_version:
index 725bd10..3e596da 100644 (file)
@@ -1,5 +1,5 @@
 Libidn libc/README -- Instructions for building as a GNU Libc add-on.
-Copyright (C) 2003-2012 Simon Josefsson
+Copyright (C) 2003-2024 Simon Josefsson
 See the end for copying conditions.
 
 GNU Libidn is now part of GNU Libc, so the stand-alone patch and
@@ -17,7 +17,7 @@ this directory, perhaps as follows:
 $ gcc -o example example.c -L/usr/local/glibc/lib -Wl,-rpath,/usr/local/glibc/lib -nostdinc -I/usr/local/glibc/include -I/usr/include -I/usr/lib/gcc-lib/i386-linux/2.95.4/include
 $ CHARSET=iso-8859-1 ./example
 locale charset `iso-8859-1'
-gettaddrinfo(räksmörgås.josefsson.org):
+gettaddrinfo(räksmörgås.josefsson.org):
 address `217.13.230.178'
 canonical name `178.230.13.217.in-addr.dgcsystems.net'
 $
index 062efd2..7fdf65a 100644 (file)
@@ -1,5 +1,5 @@
 /* example.c --- Example code showing how to use IDN enabled getaddrinfo().
- * Copyright (C) 2003-2012 Simon Josefsson
+ * Copyright (C) 2003-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -33,7 +33,7 @@
  * $ gcc -o example example.c -L/usr/local/glibc/lib -Wl,-rpath,/usr/local/glibc/lib -nostdinc -I/usr/local/glibc/include -I/usr/include -I/usr/lib/gcc-lib/i486-linux/3.3.3/include
  * $ CHARSET=iso-8859-1 ./example
  * locale charset `iso-8859-1'
- * gettaddrinfo(räksmörgås.josefsson.org):
+ * gettaddrinfo(räksmörgås.josefsson.org):
  * address `217.13.230.178'
  * canonical name `178.230.13.217.in-addr.dgcsystems.net'
  * $
@@ -43,9 +43,9 @@
  */
 
 int
-main(int argc, char *argv[])
+main (int argc, char *argv[])
 {
-  char *in = argc > 1 ? argv[1] : "räksmörgås.josefsson.org";
+  char *in = argc > 1 ? argv[1] : "räksmörgås.josefsson.org";
   struct addrinfo hints;
   struct addrinfo *res = NULL;
   int rc;
@@ -54,21 +54,21 @@ main(int argc, char *argv[])
 
   //printf("locale charset `%s'\n", stringprep_locale_charset());
 
-  memset(&hints, 0, sizeof(hints));
-  hints.ai_flags = AI_CANONNAME|AI_IDN;
+  memset (&hints, 0, sizeof (hints));
+  hints.ai_flags = AI_CANONNAME | AI_IDN;
 
-  printf("gettaddrinfo(%s):\n", in);
-  rc = getaddrinfo(in, NULL, &hints, &res);
+  printf ("gettaddrinfo(%s):\n", in);
+  rc = getaddrinfo (in, NULL, &hints, &res);
   if (rc)
-    printf("gai err %d: %s\n", rc, gai_strerror(rc));
+    printf ("gai err %d: %s\n", rc, gai_strerror (rc));
   else if (res)
-    printf("address `%s'\ncanonical name `%s'\n",
-          res->ai_addr ?
-          /* FIXME: Use inet_ntop, so it works for IPv6 too. */
-          inet_ntoa(((struct sockaddr_in*)res->ai_addr)->sin_addr) : "ERROR",
-          res->ai_canonname ? res->ai_canonname : "ERROR");
+    printf ("address `%s'\ncanonical name `%s'\n", res->ai_addr ?
+           /* FIXME: Use inet_ntop, so it works for IPv6 too. */
+           inet_ntoa (((struct sockaddr_in *) res->
+                       ai_addr)->sin_addr) : "ERROR",
+           res->ai_canonname ? res->ai_canonname : "ERROR");
   else
-    printf("Bad magic\n");
+    printf ("Bad magic\n");
 
   return 0;
 }
index 60f2fc1..fe8286f 100644 (file)
@@ -1,5 +1,5 @@
 Libidn getaddrinfo-idn.txt -- Proposal for IDN support in POSIX getaddrinfo.
-Copyright (C) 2003-2012 Simon Josefsson
+Copyright (C) 2003-2024 Simon Josefsson
 See the end for copying conditions.
 
 Background
@@ -110,8 +110,6 @@ This document is a work-in-progress and the details may change.
 Contact me at simon@josefsson.org to discuss changes.
 
 ----------------------------------------------------------------------
-Permission is granted to anyone to make or distribute verbatim copies
-of this document, in any medium, provided that the copyright notice
-and permission notice are preserved, and that the distributor grants
-the recipient permission for further redistribution as permitted by
-this notice.  Modified versions may not be made.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/m4/ac_prog_jar.m4 b/m4/ac_prog_jar.m4
deleted file mode 100644 (file)
index 7d5df71..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-dnl Available from the GNU Autoconf Macro Archive at:
-dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_jar.html
-dnl
-AC_DEFUN([AC_PROG_JAR],[
-AC_REQUIRE([AC_EXEEXT])dnl
-if test "x$JAVAPREFIX" = x; then
-        test "x$JAR" = x && AC_CHECK_PROGS(JAR, jar$EXEEXT)
-else
-        test "x$JAR" = x && AC_CHECK_PROGS(JAR, jar, $JAVAPREFIX)
-fi
-test "x$JAR" = x && AC_MSG_ERROR([no acceptable jar program found in \$PATH])
-AC_PROVIDE([$0])dnl
-])
diff --git a/m4/ax_java_options.m4 b/m4/ax_java_options.m4
new file mode 100644 (file)
index 0000000..722d788
--- /dev/null
@@ -0,0 +1,48 @@
+# ===========================================================================
+#     https://www.gnu.org/software/autoconf-archive/ax_java_options.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_JAVA_OPTIONS
+#
+# DESCRIPTION
+#
+#   AX_JAVA_OPTIONS adds configure command line options used for Java m4
+#   macros. This Macro is optional.
+#
+#   Note: This is part of the set of autoconf M4 macros for Java programs.
+#   It is VERY IMPORTANT that you download the whole set, some macros depend
+#   on other. Unfortunately, the autoconf archive does not support the
+#   concept of set of macros, so I had to break it for submission. The
+#   general documentation, as well as the sample configure.in, is included
+#   in the AX_PROG_JAVA macro.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Devin Weaver <ktohg@tritarget.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 7
+
+AU_ALIAS([AC_JAVA_OPTIONS], [AX_JAVA_OPTIONS])
+AC_DEFUN([AX_JAVA_OPTIONS],[
+AC_ARG_WITH(java-prefix,
+                        [  --with-java-prefix=PFX  prefix where Java runtime is installed (optional)])
+AC_ARG_WITH(javac-flags,
+                        [  --with-javac-flags=FLAGS flags to pass to the Java compiler (optional)])
+AC_ARG_WITH(java-flags,
+                        [  --with-java-flags=FLAGS flags to pass to the Java VM (optional)])
+JAVAPREFIX=$with_java_prefix
+JAVACFLAGS=$with_javac_flags
+JAVAFLAGS=$with_java_flags
+AC_SUBST(JAVAPREFIX)dnl
+AC_SUBST(JAVACFLAGS)dnl
+AC_SUBST(JAVAFLAGS)dnl
+AC_SUBST(JAVA)dnl
+AC_SUBST(JAVAC)dnl
+])
diff --git a/m4/ax_prog_jar.m4 b/m4/ax_prog_jar.m4
new file mode 100644 (file)
index 0000000..d474912
--- /dev/null
@@ -0,0 +1,49 @@
+# ===========================================================================
+#       https://www.gnu.org/software/autoconf-archive/ax_prog_jar.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PROG_JAR
+#
+# DESCRIPTION
+#
+#   AX_PROG_JAR tests for an existing jar program. It uses the environment
+#   variable JAR then tests in sequence various common jar programs.
+#
+#   If you want to force a specific compiler:
+#
+#   - at the configure.in level, set JAR=yourcompiler before calling
+#   AX_PROG_JAR
+#
+#   - at the configure level, setenv JAR
+#
+#   You can use the JAR variable in your Makefile.in, with @JAR@.
+#
+#   Note: This macro depends on the autoconf M4 macros for Java programs. It
+#   is VERY IMPORTANT that you download that whole set, some macros depend
+#   on other. Unfortunately, the autoconf archive does not support the
+#   concept of set of macros, so I had to break it for submission.
+#
+#   The general documentation of those macros, as well as the sample
+#   configure.in, is included in the AX_PROG_JAVA macro.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Egon Willighagen <e.willighagen@science.ru.nl>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 8
+
+AU_ALIAS([AC_PROG_JAR], [AX_PROG_JAR])
+AC_DEFUN([AX_PROG_JAR],[
+AS_IF([test "x$JAVAPREFIX" = x],
+      [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar])],
+      [test "x$JAR" = x && AC_CHECK_PROGS([JAR], [jar], [], [$JAVAPREFIX/bin])])
+test "x$JAR" = x && AC_MSG_ERROR([no acceptable jar program found in \$PATH])
+AC_PROVIDE([$0])dnl
+])
diff --git a/m4/ax_prog_javac.m4 b/m4/ax_prog_javac.m4
new file mode 100644 (file)
index 0000000..8abb733
--- /dev/null
@@ -0,0 +1,79 @@
+# ===========================================================================
+#      https://www.gnu.org/software/autoconf-archive/ax_prog_javac.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PROG_JAVAC
+#
+# DESCRIPTION
+#
+#   AX_PROG_JAVAC tests an existing Java compiler. It uses the environment
+#   variable JAVAC then tests in sequence various common Java compilers. For
+#   political reasons, it starts with the free ones.
+#
+#   If you want to force a specific compiler:
+#
+#   - at the configure.in level, set JAVAC=yourcompiler before calling
+#   AX_PROG_JAVAC
+#
+#   - at the configure level, setenv JAVAC
+#
+#   You can use the JAVAC variable in your Makefile.in, with @JAVAC@.
+#
+#   *Warning*: its success or failure can depend on a proper setting of the
+#   CLASSPATH env. variable.
+#
+#   TODO: allow to exclude compilers (rationale: most Java programs cannot
+#   compile with some compilers like guavac).
+#
+#   Note: This is part of the set of autoconf M4 macros for Java programs.
+#   It is VERY IMPORTANT that you download the whole set, some macros depend
+#   on other. Unfortunately, the autoconf archive does not support the
+#   concept of set of macros, so I had to break it for submission. The
+#   general documentation, as well as the sample configure.in, is included
+#   in the AX_PROG_JAVA macro.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Stephane Bortzmeyer <bortzmeyer@pasteur.fr>
+#
+#   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 2 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 <https://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 8
+
+AU_ALIAS([AC_PROG_JAVAC], [AX_PROG_JAVAC])
+AC_DEFUN([AX_PROG_JAVAC],[
+m4_define([m4_ax_prog_javac_list],["gcj -C" guavac jikes javac])dnl
+AS_IF([test "x$JAVAPREFIX" = x],
+      [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list])],
+      [test "x$JAVAC" = x && AC_CHECK_PROGS([JAVAC], [m4_ax_prog_javac_list], [], [$JAVAPREFIX/bin])])
+m4_undefine([m4_ax_prog_javac_list])dnl
+test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH])
+AX_PROG_JAVAC_WORKS
+AC_PROVIDE([$0])dnl
+])
diff --git a/m4/ax_prog_javac_works.m4 b/m4/ax_prog_javac_works.m4
new file mode 100644 (file)
index 0000000..9b48149
--- /dev/null
@@ -0,0 +1,72 @@
+# ===========================================================================
+#   https://www.gnu.org/software/autoconf-archive/ax_prog_javac_works.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PROG_JAVAC_WORKS
+#
+# DESCRIPTION
+#
+#   Internal use ONLY.
+#
+#   Note: This is part of the set of autoconf M4 macros for Java programs.
+#   It is VERY IMPORTANT that you download the whole set, some macros depend
+#   on other. Unfortunately, the autoconf archive does not support the
+#   concept of set of macros, so I had to break it for submission. The
+#   general documentation, as well as the sample configure.in, is included
+#   in the AX_PROG_JAVA macro.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Stephane Bortzmeyer <bortzmeyer@pasteur.fr>
+#
+#   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 2 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 <https://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AU_ALIAS([AC_PROG_JAVAC_WORKS], [AX_PROG_JAVAC_WORKS])
+AC_DEFUN([AX_PROG_JAVAC_WORKS],[
+AC_CACHE_CHECK([if $JAVAC works], ac_cv_prog_javac_works, [
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+cat << \EOF > $JAVA_TEST
+/* [#]line __oline__ "configure" */
+public class Test {
+}
+EOF
+if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) >/dev/null 2>&1; then
+  ac_cv_prog_javac_works=yes
+else
+  AC_MSG_ERROR([The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)])
+  echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+  cat $JAVA_TEST >&AS_MESSAGE_LOG_FD
+fi
+rm -f $JAVA_TEST $CLASS_TEST
+])
+AC_PROVIDE([$0])dnl
+])
diff --git a/m4/ax_prog_javadoc.m4 b/m4/ax_prog_javadoc.m4
new file mode 100644 (file)
index 0000000..b9fcea4
--- /dev/null
@@ -0,0 +1,50 @@
+# ===========================================================================
+#     https://www.gnu.org/software/autoconf-archive/ax_prog_javadoc.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PROG_JAVADOC
+#
+# DESCRIPTION
+#
+#   AX_PROG_JAVADOC tests for an existing javadoc generator. It uses the
+#   environment variable JAVADOC then tests in sequence various common
+#   javadoc generator.
+#
+#   If you want to force a specific compiler:
+#
+#   - at the configure.in level, set JAVADOC=yourgenerator before calling
+#   AX_PROG_JAVADOC
+#
+#   - at the configure level, setenv JAVADOC
+#
+#   You can use the JAVADOC variable in your Makefile.in, with @JAVADOC@.
+#
+#   Note: This macro depends on the autoconf M4 macros for Java programs. It
+#   is VERY IMPORTANT that you download that whole set, some macros depend
+#   on other. Unfortunately, the autoconf archive does not support the
+#   concept of set of macros, so I had to break it for submission.
+#
+#   The general documentation of those macros, as well as the sample
+#   configure.in, is included in the AX_PROG_JAVA macro.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Egon Willighagen <e.willighagen@science.ru.nl>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 9
+
+AU_ALIAS([AC_PROG_JAVADOC], [AX_PROG_JAVADOC])
+AC_DEFUN([AX_PROG_JAVADOC],[
+AS_IF([test "x$JAVAPREFIX" = x],
+      [test "x$JAVADOC" = x && AC_CHECK_PROGS([JAVADOC], [javadoc])],
+      [test "x$JAVADOC" = x && AC_CHECK_PROGS([JAVADOC], [javadoc], [], [$JAVAPREFIX/bin])])
+test "x$JAVADOC" = x && AC_MSG_ERROR([no acceptable javadoc generator found in \$PATH])
+AC_PROVIDE([$0])dnl
+])
diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4
deleted file mode 100644 (file)
index d416a61..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-# fcntl-o.m4 serial 1
-dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Paul Eggert.
-
-# Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
-# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
-# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
-AC_DEFUN([gl_FCNTL_O_FLAGS],
-[
-  dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
-  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-  AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
-    [AC_RUN_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <sys/types.h>
-           #include <sys/stat.h>
-           #include <unistd.h>
-           #include <fcntl.h>
-           #ifndef O_NOATIME
-            #define O_NOATIME 0
-           #endif
-           #ifndef O_NOFOLLOW
-            #define O_NOFOLLOW 0
-           #endif
-           static int const constants[] =
-            {
-              O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
-              O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
-            };
-          ]],
-          [[
-            int status = !constants;
-            {
-              static char const sym[] = "conftest.sym";
-              if (symlink (".", sym) != 0
-                  || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
-                status |= 32;
-              unlink (sym);
-            }
-            {
-              static char const file[] = "confdefs.h";
-              int fd = open (file, O_RDONLY | O_NOATIME);
-              char c;
-              struct stat st0, st1;
-              if (fd < 0
-                  || fstat (fd, &st0) != 0
-                  || sleep (1) != 0
-                  || read (fd, &c, 1) != 1
-                  || close (fd) != 0
-                  || stat (file, &st1) != 0
-                  || st0.st_atime != st1.st_atime)
-                status |= 64;
-            }
-            return status;]])],
-       [gl_cv_header_working_fcntl_h=yes],
-       [case $? in #(
-        32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
-        64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
-        96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
-         *) gl_cv_header_working_fcntl_h='no';;
-        esac],
-       [gl_cv_header_working_fcntl_h=cross-compiling])])
-
-  case $gl_cv_header_working_fcntl_h in #(
-  *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
-  *) ac_val=1;;
-  esac
-  AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val],
-    [Define to 1 if O_NOATIME works.])
-
-  case $gl_cv_header_working_fcntl_h in #(
-  *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
-  *) ac_val=1;;
-  esac
-  AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val],
-    [Define to 1 if O_NOFOLLOW works.])
-])
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
deleted file mode 100644 (file)
index e337492..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-dnl -*- mode: autoconf -*-
-
-# serial 1
-
-dnl Usage:
-dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
-AC_DEFUN([GTK_DOC_CHECK],
-[
-  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
-  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
-
-  dnl check for tools we added during development
-  AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
-  AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
-  AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
-
-  dnl for overriding the documentation installation directory
-  AC_ARG_WITH([html-dir],
-    AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
-    [with_html_dir='${datadir}/gtk-doc/html'])
-  HTML_DIR="$with_html_dir"
-  AC_SUBST([HTML_DIR])
-
-  dnl enable/disable documentation building
-  AC_ARG_ENABLE([gtk-doc],
-    AS_HELP_STRING([--enable-gtk-doc],
-                   [use gtk-doc to build documentation [[default=no]]]),,
-    [enable_gtk_doc=no])
-
-  if test x$enable_gtk_doc = xyes; then
-    ifelse([$1],[],
-      [PKG_CHECK_EXISTS([gtk-doc],,
-                        AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
-      [PKG_CHECK_EXISTS([gtk-doc >= $1],,
-                        AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
-  fi
-
-  AC_MSG_CHECKING([whether to build gtk-doc documentation])
-  AC_MSG_RESULT($enable_gtk_doc)
-
-  dnl enable/disable output formats
-  AC_ARG_ENABLE([gtk-doc-html],
-    AS_HELP_STRING([--enable-gtk-doc-html],
-                   [build documentation in html format [[default=yes]]]),,
-    [enable_gtk_doc_html=yes])
-    AC_ARG_ENABLE([gtk-doc-pdf],
-      AS_HELP_STRING([--enable-gtk-doc-pdf],
-                     [build documentation in pdf format [[default=no]]]),,
-      [enable_gtk_doc_pdf=no])
-
-  if test -z "$GTKDOC_MKPDF"; then
-    enable_gtk_doc_pdf=no
-  fi
-
-
-  AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
-  AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
-  AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
-  AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
-  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
-])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
deleted file mode 100644 (file)
index e2041b9..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-# iconv.m4 serial 11 (gettext-0.18.1)
-dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      [am_cv_func_iconv=yes])
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        [am_cv_lib_iconv=yes]
-        [am_cv_func_iconv=yes])
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
-      dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10.
-      am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      AC_TRY_RUN([
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          return 1;
-      }
-  }
-  /* Test against Solaris 10 bug: Failures are not distinguishable from
-     successful returns.  */
-  {
-    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
-    if (cd_ascii_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\263";
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          return 1;
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          return 1;
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
-  return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
-        [case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac])
-      LIBS="$am_save_LIBS"
-    ])
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
-  else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
-    AC_DEFINE([HAVE_ICONV], [1],
-      [Define if you have the iconv() function and it works.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST([LIBICONV])
-  AC_SUBST([LTLIBICONV])
-])
-
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl   warnings.
-m4_define([gl_iconv_AC_DEFUN],
-  m4_version_prereq([2.64],
-    [[AC_DEFUN_ONCE(
-        [$1], [$2])]],
-    [[AC_DEFUN(
-        [$1], [$2])]]))
-gl_iconv_AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL([am_cv_proto_iconv], [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([
-         $am_cv_proto_iconv])
-    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
-      [Define as const if the declaration of iconv() needs const.])
-  fi
-])
diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4
deleted file mode 100644 (file)
index 718a4f4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# inttypes-pri.m4 serial 6 (gettext-0.18)
-dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.52])
-
-# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
-# macros to non-string values.  This is the case on AIX 4.3.3.
-
-AC_DEFUN([gt_INTTYPES_PRI],
-[
-  AC_CHECK_HEADERS([inttypes.h])
-  if test $ac_cv_header_inttypes_h = yes; then
-    AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
-      [gt_cv_inttypes_pri_broken],
-      [
-        AC_TRY_COMPILE([#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes])
-      ])
-  fi
-  if test "$gt_cv_inttypes_pri_broken" = yes; then
-    AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
-      [Define if <inttypes.h> exists and defines unusable PRI* macros.])
-    PRI_MACROS_BROKEN=1
-  else
-    PRI_MACROS_BROKEN=0
-  fi
-  AC_SUBST([PRI_MACROS_BROKEN])
-])
diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4
deleted file mode 100644 (file)
index 1a70543..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# lcmessage.m4 serial 6 (gettext-0.18)
-dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-
-AC_DEFUN([gt_LC_MESSAGES],
-[
-  AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES],
-    [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-       [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])])
-  if test $gt_cv_val_LC_MESSAGES = yes; then
-    AC_DEFINE([HAVE_LC_MESSAGES], [1],
-      [Define if your <locale.h> file defines LC_MESSAGES.])
-  fi
-])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
deleted file mode 100644 (file)
index ebb3052..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-# lib-ld.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break ;;
-      *)
-        test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT([$LD])
-else
-  AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
deleted file mode 100644 (file)
index 1601cea..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl   "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl   "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
-  dnl There is no formal standard regarding lib and lib64.
-  dnl On glibc systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
-  dnl the compiler's default mode by looking at the compiler's library search
-  dnl path. If at least one of its elements ends in /lib64 or points to a
-  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
-  dnl Otherwise we use the default, namely "lib".
-  dnl On Solaris systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
-  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
-      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
-      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
-      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
-      dnl symlink is missing, so we set acl_libdirstem2 too.
-      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-        [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
-           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
-        ])
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-        esac
-      fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS=   }"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
diff --git a/m4/lock.m4 b/m4/lock.m4
deleted file mode 100644 (file)
index 9da8465..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# lock.m4 serial 10 (gettext-0.18)
-dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([gl_LOCK],
-[
-  AC_REQUIRE([gl_THREADLIB])
-  if test "$gl_threads_api" = posix; then
-    # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
-    # pthread_rwlock_* functions.
-    AC_CHECK_TYPE([pthread_rwlock_t],
-      [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
-         [Define if the POSIX multithreading library has read/write locks.])],
-      [],
-      [#include <pthread.h>])
-    # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
-    AC_TRY_COMPILE([#include <pthread.h>],
-      [#if __FreeBSD__ == 4
-error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
-#else
-int x = (int)PTHREAD_MUTEX_RECURSIVE;
-return !x;
-#endif],
-      [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1],
-         [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
-  fi
-  gl_PREREQ_LOCK
-])
-
-# Prerequisites of lib/lock.c.
-AC_DEFUN([gl_PREREQ_LOCK], [
-  AC_REQUIRE([AC_C_INLINE])
-])
diff --git a/m4/longlong.m4 b/m4/longlong.m4
deleted file mode 100644 (file)
index cca3c1a..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-# longlong.m4 serial 14
-dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'long long int' exists but is only 32 bits large
-# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
-# defined. In this case you can treat 'long long int' like 'long int'.
-
-AC_DEFUN([AC_TYPE_LONG_LONG_INT],
-[
-  AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
-        dnl If cross compiling, assume the bug isn't important, since
-        dnl nobody cross compiles for this platform as far as we know.
-        AC_RUN_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[@%:@include <limits.h>
-               @%:@ifndef LLONG_MAX
-               @%:@ define HALF \
-                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-               @%:@ define LLONG_MAX (HALF - 1 + HALF)
-               @%:@endif]],
-             [[long long int n = 1;
-               int i;
-               for (i = 0; ; i++)
-                 {
-                   long long int m = n << i;
-                   if (m >> i != n)
-                     return 1;
-                   if (LLONG_MAX / 2 < m)
-                     break;
-                 }
-               return 0;]])],
-          [ac_cv_type_long_long_int=yes],
-          [ac_cv_type_long_long_int=no],
-          [ac_cv_type_long_long_int=yes])],
-       [ac_cv_type_long_long_int=no])])
-  if test $ac_cv_type_long_long_int = yes; then
-    AC_DEFINE([HAVE_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `long long int'.])
-  fi
-])
-
-# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'unsigned long long int' exists but is only 32 bits
-# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
-# will not be defined. In this case you can treat 'unsigned long long int'
-# like 'unsigned long int'.
-
-AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
-[
-  AC_CACHE_CHECK([for unsigned long long int],
-    [ac_cv_type_unsigned_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [ac_cv_type_unsigned_long_long_int=yes],
-       [ac_cv_type_unsigned_long_long_int=no])])
-  if test $ac_cv_type_unsigned_long_long_int = yes; then
-    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `unsigned long long int'.])
-  fi
-])
-
-# Expands to a C program that can be used to test for simultaneous support
-# of 'long long' and 'unsigned long long'. We don't want to say that
-# 'long long' is available if 'unsigned long long' is not, or vice versa,
-# because too many programs rely on the symmetry between signed and unsigned
-# integer types (excluding 'bool').
-AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
-[
-  AC_LANG_PROGRAM(
-    [[/* For now, do not test the preprocessor; as of 2007 there are too many
-         implementations with broken preprocessors.  Perhaps this can
-         be revisited in 2012.  In the meantime, code should not expect
-         #if to work with literals wider than 32 bits.  */
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                     ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                     ? 1 : -1)];
-      int i = 63;]],
-    [[/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-              | (llmax / ll) | (llmax % ll)
-              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-              | (ullmax / ull) | (ullmax % ull));]])
-])
diff --git a/m4/threadlib.m4 b/m4/threadlib.m4
deleted file mode 100644 (file)
index 05cc4ff..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-# threadlib.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl gl_THREADLIB
-dnl ------------
-dnl Tests for a multithreading library to be used.
-dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
-dnl USE_PTH_THREADS, USE_WIN32_THREADS
-dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
-dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
-dnl libtool).
-dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
-dnl programs that really need multithread functionality. The difference
-dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
-dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
-dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
-dnl multithread-safe programs.
-
-AC_DEFUN([gl_THREADLIB_EARLY],
-[
-  AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
-])
-
-dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once.
-
-AC_DEFUN([gl_THREADLIB_EARLY_BODY],
-[
-  dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
-  dnl influences the result of the autoconf tests that test for *_unlocked
-  dnl declarations, on AIX 5 at least. Therefore it must come early.
-  AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
-  AC_BEFORE([$0], [gl_ARGP])dnl
-
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
-  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
-  dnl AC_GNU_SOURCE.
-  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
-    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
-    [AC_REQUIRE([AC_GNU_SOURCE])])
-  dnl Check for multithreading.
-  m4_divert_text([DEFAULTS], [gl_use_threads_default=])
-  AC_ARG_ENABLE([threads],
-AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
-AC_HELP_STRING([--disable-threads], [build without multithread safety]),
-    [gl_use_threads=$enableval],
-    [if test -n "$gl_use_threads_default"; then
-       gl_use_threads="$gl_use_threads_default"
-     else
-changequote(,)dnl
-       case "$host_os" in
-         dnl Disable multithreading by default on OSF/1, because it interferes
-         dnl with fork()/exec(): When msgexec is linked with -lpthread, its
-         dnl child process gets an endless segmentation fault inside execvp().
-         dnl Disable multithreading by default on Cygwin 1.5.x, because it has
-         dnl bugs that lead to endless loops or crashes. See
-         dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
-         osf*) gl_use_threads=no ;;
-         cygwin*)
-               case `uname -r` in
-                 1.[0-5].*) gl_use_threads=no ;;
-                 *)         gl_use_threads=yes ;;
-               esac
-               ;;
-         *)    gl_use_threads=yes ;;
-       esac
-changequote([,])dnl
-     fi
-    ])
-  if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
-    # For using <pthread.h>:
-    case "$host_os" in
-      osf*)
-        # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
-        # groks <pthread.h>. cc also understands the flag -pthread, but
-        # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
-        # 2. putting a flag into CPPFLAGS that has an effect on the linker
-        # causes the AC_TRY_LINK test below to succeed unexpectedly,
-        # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
-        CPPFLAGS="$CPPFLAGS -D_REENTRANT"
-        ;;
-    esac
-    # Some systems optimize for single-threaded programs by default, and
-    # need special flags to disable these optimizations. For example, the
-    # definition of 'errno' in <errno.h>.
-    case "$host_os" in
-      aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
-      solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
-    esac
-  fi
-])
-
-dnl The guts of gl_THREADLIB. Needs to be expanded only once.
-
-AC_DEFUN([gl_THREADLIB_BODY],
-[
-  AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
-  gl_threads_api=none
-  LIBTHREAD=
-  LTLIBTHREAD=
-  LIBMULTITHREAD=
-  LTLIBMULTITHREAD=
-  if test "$gl_use_threads" != no; then
-    dnl Check whether the compiler and linker support weak declarations.
-    AC_CACHE_CHECK([whether imported symbols can be declared weak],
-      [gl_cv_have_weak],
-      [gl_cv_have_weak=no
-       dnl First, test whether the compiler accepts it syntactically.
-       AC_TRY_LINK([extern void xyzzy ();
-#pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe])
-       if test $gl_cv_have_weak = maybe; then
-         dnl Second, test whether it actually works. On Cygwin 1.7.2, with
-         dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
-         AC_TRY_RUN([
-#include <stdio.h>
-#pragma weak fputs
-int main ()
-{
-  return (fputs == NULL);
-}], [gl_cv_have_weak=yes], [gl_cv_have_weak=no],
-           [dnl When cross-compiling, assume that only ELF platforms support
-            dnl weak symbols.
-            AC_EGREP_CPP([Extensible Linking Format],
-              [#ifdef __ELF__
-               Extensible Linking Format
-               #endif
-              ],
-              [gl_cv_have_weak="guessing yes"],
-              [gl_cv_have_weak="guessing no"])
-           ])
-       fi
-      ])
-    if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
-      # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
-      # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
-      AC_CHECK_HEADER([pthread.h],
-        [gl_have_pthread_h=yes], [gl_have_pthread_h=no])
-      if test "$gl_have_pthread_h" = yes; then
-        # Other possible tests:
-        #   -lpthreads (FSU threads, PCthreads)
-        #   -lgthreads
-        gl_have_pthread=
-        # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
-        # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
-        # the second one only in libpthread, and lock.c needs it.
-        AC_TRY_LINK([#include <pthread.h>],
-          [pthread_mutex_lock((pthread_mutex_t*)0);
-           pthread_mutexattr_init((pthread_mutexattr_t*)0);],
-          [gl_have_pthread=yes])
-        # Test for libpthread by looking for pthread_kill. (Not pthread_self,
-        # since it is defined as a macro on OSF/1.)
-        if test -n "$gl_have_pthread"; then
-          # The program links fine without libpthread. But it may actually
-          # need to link with libpthread in order to create multiple threads.
-          AC_CHECK_LIB([pthread], [pthread_kill],
-            [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
-             # On Solaris and HP-UX, most pthread functions exist also in libc.
-             # Therefore pthread_in_use() needs to actually try to create a
-             # thread: pthread_create from libc will fail, whereas
-             # pthread_create will actually create a thread.
-             case "$host_os" in
-               solaris* | hpux*)
-                 AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
-                   [Define if the pthread_in_use() detection is hard.])
-             esac
-            ])
-        else
-          # Some library is needed. Try libpthread and libc_r.
-          AC_CHECK_LIB([pthread], [pthread_kill],
-            [gl_have_pthread=yes
-             LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
-             LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
-          if test -z "$gl_have_pthread"; then
-            # For FreeBSD 4.
-            AC_CHECK_LIB([c_r], [pthread_kill],
-              [gl_have_pthread=yes
-               LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
-               LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
-          fi
-        fi
-        if test -n "$gl_have_pthread"; then
-          gl_threads_api=posix
-          AC_DEFINE([USE_POSIX_THREADS], [1],
-            [Define if the POSIX multithreading library can be used.])
-          if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
-            if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
-              AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
-                [Define if references to the POSIX multithreading library should be made weak.])
-              LIBTHREAD=
-              LTLIBTHREAD=
-            fi
-          fi
-        fi
-      fi
-    fi
-    if test -z "$gl_have_pthread"; then
-      if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
-        gl_have_solaristhread=
-        gl_save_LIBS="$LIBS"
-        LIBS="$LIBS -lthread"
-        AC_TRY_LINK([#include <thread.h>
-#include <synch.h>],
-          [thr_self();],
-          [gl_have_solaristhread=yes])
-        LIBS="$gl_save_LIBS"
-        if test -n "$gl_have_solaristhread"; then
-          gl_threads_api=solaris
-          LIBTHREAD=-lthread
-          LTLIBTHREAD=-lthread
-          LIBMULTITHREAD="$LIBTHREAD"
-          LTLIBMULTITHREAD="$LTLIBTHREAD"
-          AC_DEFINE([USE_SOLARIS_THREADS], [1],
-            [Define if the old Solaris multithreading library can be used.])
-          if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
-            AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
-              [Define if references to the old Solaris multithreading library should be made weak.])
-            LIBTHREAD=
-            LTLIBTHREAD=
-          fi
-        fi
-      fi
-    fi
-    if test "$gl_use_threads" = pth; then
-      gl_save_CPPFLAGS="$CPPFLAGS"
-      AC_LIB_LINKFLAGS([pth])
-      gl_have_pth=
-      gl_save_LIBS="$LIBS"
-      LIBS="$LIBS -lpth"
-      AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes])
-      LIBS="$gl_save_LIBS"
-      if test -n "$gl_have_pth"; then
-        gl_threads_api=pth
-        LIBTHREAD="$LIBPTH"
-        LTLIBTHREAD="$LTLIBPTH"
-        LIBMULTITHREAD="$LIBTHREAD"
-        LTLIBMULTITHREAD="$LTLIBTHREAD"
-        AC_DEFINE([USE_PTH_THREADS], [1],
-          [Define if the GNU Pth multithreading library can be used.])
-        if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
-          if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
-            AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
-              [Define if references to the GNU Pth multithreading library should be made weak.])
-            LIBTHREAD=
-            LTLIBTHREAD=
-          fi
-        fi
-      else
-        CPPFLAGS="$gl_save_CPPFLAGS"
-      fi
-    fi
-    if test -z "$gl_have_pthread"; then
-      if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
-        if { case "$host_os" in
-               mingw*) true;;
-               *) false;;
-             esac
-           }; then
-          gl_threads_api=win32
-          AC_DEFINE([USE_WIN32_THREADS], [1],
-            [Define if the Win32 multithreading API can be used.])
-        fi
-      fi
-    fi
-  fi
-  AC_MSG_CHECKING([for multithread API to use])
-  AC_MSG_RESULT([$gl_threads_api])
-  AC_SUBST([LIBTHREAD])
-  AC_SUBST([LTLIBTHREAD])
-  AC_SUBST([LIBMULTITHREAD])
-  AC_SUBST([LTLIBMULTITHREAD])
-])
-
-AC_DEFUN([gl_THREADLIB],
-[
-  AC_REQUIRE([gl_THREADLIB_EARLY])
-  AC_REQUIRE([gl_THREADLIB_BODY])
-])
-
-
-dnl gl_DISABLE_THREADS
-dnl ------------------
-dnl Sets the gl_THREADLIB default so that threads are not used by default.
-dnl The user can still override it at installation time, by using the
-dnl configure option '--enable-threads'.
-
-AC_DEFUN([gl_DISABLE_THREADS], [
-  m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
-])
-
-
-dnl Survey of platforms:
-dnl
-dnl Platform          Available   Compiler    Supports   test-lock
-dnl                   flavours    option      weak       result
-dnl ---------------   ---------   ---------   --------   ---------
-dnl Linux 2.4/glibc   posix       -lpthread       Y      OK
-dnl
-dnl GNU Hurd/glibc    posix
-dnl
-dnl FreeBSD 5.3       posix       -lc_r           Y
-dnl                   posix       -lkse ?         Y
-dnl                   posix       -lpthread ?     Y
-dnl                   posix       -lthr           Y
-dnl
-dnl FreeBSD 5.2       posix       -lc_r           Y
-dnl                   posix       -lkse           Y
-dnl                   posix       -lthr           Y
-dnl
-dnl FreeBSD 4.0,4.10  posix       -lc_r           Y      OK
-dnl
-dnl NetBSD 1.6        --
-dnl
-dnl OpenBSD 3.4       posix       -lpthread       Y      OK
-dnl
-dnl MacOS X 10.[123]  posix       -lpthread       Y      OK
-dnl
-dnl Solaris 7,8,9     posix       -lpthread       Y      Sol 7,8: 0.0; Sol 9: OK
-dnl                   solaris     -lthread        Y      Sol 7,8: 0.0; Sol 9: OK
-dnl
-dnl HP-UX 11          posix       -lpthread       N (cc) OK
-dnl                                               Y (gcc)
-dnl
-dnl IRIX 6.5          posix       -lpthread       Y      0.5
-dnl
-dnl AIX 4.3,5.1       posix       -lpthread       N      AIX 4: 0.5; AIX 5: OK
-dnl
-dnl OSF/1 4.0,5.1     posix       -pthread (cc)   N      OK
-dnl                               -lpthread (gcc) Y
-dnl
-dnl Cygwin            posix       -lpthread       Y      OK
-dnl
-dnl Any of the above  pth         -lpth                  0.0
-dnl
-dnl Mingw             win32                       N      OK
-dnl
-dnl BeOS 5            --
-dnl
-dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
-dnl turned off:
-dnl   OK if all three tests terminate OK,
-dnl   0.5 if the first test terminates OK but the second one loops endlessly,
-dnl   0.0 if the first test already loops endlessly.
diff --git a/m4/update-header-version.m4 b/m4/update-header-version.m4
deleted file mode 100644 (file)
index 27f9d03..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# update-header-version.m4 serial 1
-dnl Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Simon Josefsson
-
-# sj_UPDATE_HEADER_VERSION(HEADER-FILE)
-# -------------
-# Update version number in HEADER-FILE.  It searches for '_VERSION ".*"'
-# and replaces the .* part with the $PACKAGE_VERSION.
-AC_DEFUN([sj_UPDATE_HEADER_VERSION],
-[
-  # Update version number in lib/libtasn1.h.
-  if ! sed 's/_VERSION ".*"/_VERSION "'$PACKAGE_VERSION'"/' $1 > fixhdr.tmp; then
-    AC_MSG_ERROR([[*** Failed to update version number in $1...]])
-  fi
-  if cmp -s $1 fixhdr.tmp 2>/dev/null; then
-    rm -f fixhdr.tmp
-  elif ! mv fixhdr.tmp $1; then
-    AC_MSG_ERROR([[*** Failed to move fixhdr.tmp to $1...]])
-  fi
-])
diff --git a/m4/visibility.m4 b/m4/visibility.m4
deleted file mode 100644 (file)
index 077c476..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# visibility.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Tests whether the compiler supports the command-line option
-dnl -fvisibility=hidden and the function and variable attributes
-dnl __attribute__((__visibility__("hidden"))) and
-dnl __attribute__((__visibility__("default"))).
-dnl Does *not* test for __visibility__("protected") - which has tricky
-dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
-dnl MacOS X.
-dnl Does *not* test for __visibility__("internal") - which has processor
-dnl dependent semantics.
-dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
-dnl "really only recommended for legacy code".
-dnl Set the variable CFLAG_VISIBILITY.
-dnl Defines and sets the variable HAVE_VISIBILITY.
-
-AC_DEFUN([gl_VISIBILITY],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  CFLAG_VISIBILITY=
-  HAVE_VISIBILITY=0
-  if test -n "$GCC"; then
-    dnl First, check whether -Werror can be added to the command line, or
-    dnl whether it leads to an error because of some other option that the
-    dnl user has put into $CC $CFLAGS $CPPFLAGS.
-    AC_MSG_CHECKING([whether the -Werror option is usable])
-    AC_CACHE_VAL([gl_cv_cc_vis_werror], [
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -Werror"
-      AC_TRY_COMPILE([], [],
-        [gl_cv_cc_vis_werror=yes],
-        [gl_cv_cc_vis_werror=no])
-      CFLAGS="$gl_save_CFLAGS"])
-    AC_MSG_RESULT([$gl_cv_cc_vis_werror])
-    dnl Now check whether visibility declarations are supported.
-    AC_MSG_CHECKING([for simple visibility declarations])
-    AC_CACHE_VAL([gl_cv_cc_visibility], [
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -fvisibility=hidden"
-      dnl We use the option -Werror and a function dummyfunc, because on some
-      dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
-      dnl "visibility attribute not supported in this configuration; ignored"
-      dnl at the first function definition in every compilation unit, and we
-      dnl don't want to use the option in this case.
-      if test $gl_cv_cc_vis_werror = yes; then
-        CFLAGS="$CFLAGS -Werror"
-      fi
-      AC_TRY_COMPILE(
-        [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
-         extern __attribute__((__visibility__("default"))) int exportedvar;
-         extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
-         extern __attribute__((__visibility__("default"))) int exportedfunc (void);
-         void dummyfunc (void) {}],
-        [],
-        [gl_cv_cc_visibility=yes],
-        [gl_cv_cc_visibility=no])
-      CFLAGS="$gl_save_CFLAGS"])
-    AC_MSG_RESULT([$gl_cv_cc_visibility])
-    if test $gl_cv_cc_visibility = yes; then
-      CFLAG_VISIBILITY="-fvisibility=hidden"
-      HAVE_VISIBILITY=1
-    fi
-  fi
-  AC_SUBST([CFLAG_VISIBILITY])
-  AC_SUBST([HAVE_VISIBILITY])
-  AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
-    [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
-])
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
deleted file mode 100644 (file)
index a6c7d15..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# wint_t.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-dnl Test whether <wchar.h> has the 'wint_t' type.
-dnl Prerequisite: AC_PROG_CC
-
-AC_DEFUN([gt_TYPE_WINT_T],
-[
-  AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
-    [AC_TRY_COMPILE([
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
-   before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-       wint_t foo = (wchar_t)'\0';], ,
-       [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])])
-  if test $gt_cv_c_wint_t = yes; then
-    AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
-  fi
-])
index 1c7af03..1b4a2de 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2012 Free Software Foundation, Inc.
+## Copyright (C) 2001-2024 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
 ## 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/>.
+## along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This is reported not to work with make-3.79.1
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Diagnostic for continued use of deprecated variable.
-# Remove in 2013
-ifneq ($(build_aux),)
- $(error "$(ME): \
-set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
-endif
+# These variables ought to be defined through the configure.ac section
+# of the module description. But some packages import this file directly,
+# ignoring the module description.
+AWK ?= awk
+GREP ?= grep
+SED ?= sed
+
+# Helper variables.
+_empty =
+_sp = $(_empty) $(_empty)
+
+# _equal,S1,S2
+# ------------
+# If S1 == S2, return S1, otherwise the empty string.
+_equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1)))
+
+# member-check,VARIABLE,VALID-VALUES
+# ----------------------------------
+# Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and
+# return it.  Die otherwise.
+member-check =                                                         \
+  $(strip                                                              \
+    $(if $($(1)),                                                      \
+      $(if $(findstring $(_sp),$($(1))),                               \
+          $(error invalid $(1): '$($(1))', expected $(2)),             \
+          $(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)),     \
+            $(error invalid $(1): '$($(1))', expected $(2)))),         \
+      $(error $(1) undefined)))
 
 # Do not save the original name or timestamp in the .tar.gz file.
 # Use --rsyncable if available.
 gzip_rsyncable := \
-  $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \
+  $(shell gzip --help 2>/dev/null|$(GREP) rsyncable >/dev/null \
     && printf %s --rsyncable)
 GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 
@@ -40,6 +62,14 @@ VC = $(GIT)
 
 VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
 
+# You can override this variable in cfg.mk if your gnulib submodule lives
+# in a different location.
+gnulib_dir ?= $(shell if test -n "$(GNULIB_SRCDIR)" && test -f "$(GNULIB_SRCDIR)/gnulib-tool"; then \
+                       echo "$(GNULIB_SRCDIR)"; \
+               else \
+                       echo $(srcdir)/gnulib; \
+               fi)
+
 # You can override this variable in cfg.mk to set your own regexp
 # matching files to ignore.
 VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$
@@ -52,21 +82,21 @@ _dot_escaped_srcdir = $(subst .,\.,$(srcdir))
 # Post-process $(VC_LIST) output, prepending $(srcdir)/, but only
 # when $(srcdir) is not ".".
 ifeq ($(srcdir),.)
-_prepend_srcdir_prefix =
+  _prepend_srcdir_prefix =
 else
-_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
+  _prepend_srcdir_prefix = | $(SED) 's|^|$(srcdir)/|'
 endif
 
 # In order to be able to consistently filter "."-relative names,
 # (i.e., with no $(srcdir) prefix), this definition is careful to
 # remove any $(srcdir) prefix, and to restore what it removes.
 _sc_excl = \
-  $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$)
+  $(or $(exclude_file_name_regexp--$@),^$$)
 VC_LIST_EXCEPT = \
-  $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
-       | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
-         else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
-       | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
+  $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \
+       | if test -f $(srcdir)/.x-$@; then $(GREP) -vEf $(srcdir)/.x-$@; \
+         else $(GREP) -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
+       | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
        $(_prepend_srcdir_prefix)
 
 ifeq ($(origin prev_version_file), undefined)
@@ -78,32 +108,41 @@ VERSION_REGEXP = $(subst .,\.,$(VERSION))
 PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION))
 
 ifeq ($(VC),$(GIT))
-this-vc-tag = v$(VERSION)
-this-vc-tag-regexp = v$(VERSION_REGEXP)
+  this-vc-tag = v$(VERSION)
+  this-vc-tag-regexp = v$(VERSION_REGEXP)
 else
-tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
-tag-this-version = $(subst .,_,$(VERSION))
-this-vc-tag = $(tag-package)-$(tag-this-version)
-this-vc-tag-regexp = $(this-vc-tag)
+  tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
+  tag-this-version = $(subst .,_,$(VERSION))
+  this-vc-tag = $(tag-package)-$(tag-this-version)
+  this-vc-tag-regexp = $(this-vc-tag)
 endif
 my_distdir = $(PACKAGE)-$(VERSION)
 
 # Old releases are stored here.
 release_archive_dir ?= ../release
 
+# If RELEASE_TYPE is undefined, but RELEASE is, use its second word.
+# But overwrite VERSION.
+ifdef RELEASE
+  VERSION := $(word 1, $(RELEASE))
+  RELEASE_TYPE ?= $(word 2, $(RELEASE))
+endif
+
+# Validate and return $(RELEASE_TYPE), or die.
+RELEASE_TYPES = alpha beta stable
+release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES))
+
 # Override gnu_rel_host and url_dir_list in cfg.mk if these are not right.
 # Use alpha.gnu.org for alpha and beta releases.
 # Use ftp.gnu.org for stable releases.
 gnu_ftp_host-alpha = alpha.gnu.org
 gnu_ftp_host-beta = alpha.gnu.org
 gnu_ftp_host-stable = ftp.gnu.org
-gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE))
+gnu_rel_host ?= $(gnu_ftp_host-$(release-type))
 
-ifeq ($(gnu_rel_host),ftp.gnu.org)
-url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE)
-else
-url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE)
-endif
+url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org),       \
+                     https://ftpmirror.gnu.org/$(PACKAGE),             \
+                     https://$(gnu_rel_host)/gnu/$(PACKAGE))
 
 # Override this in cfg.mk if you are using a different format in your
 # NEWS file.
@@ -124,23 +163,24 @@ export LC_ALL = C
 ## Sanity checks.  ##
 ## --------------- ##
 
-_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk')
+ifneq ($(_gl-Makefile),)
+_cfg_mk := $(wildcard $(srcdir)/cfg.mk)
 
 # Collect the names of rules starting with 'sc_'.
-syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
-                       $(srcdir)/$(ME) $(_cfg_mk)))
+syntax-check-rules := $(sort $(shell env LC_ALL=C $(SED) -n \
+   's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk)))
 .PHONY: $(syntax-check-rules)
 
 ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
-local-checks-available += $(syntax-check-rules)
+  local-checks-available += $(syntax-check-rules)
 else
-local-checks-available += no-vc-detected
+  local-checks-available += no-vc-detected
 no-vc-detected:
        @echo "No version control files detected; skipping syntax check"
 endif
 .PHONY: $(local-checks-available)
 
-# Arrange to print the name of each syntax-checking rule just before running it.
+# Arrange to prine the name of each syntax-checking rule just before running it.
 $(syntax-check-rules): %: %.m
 sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules))
 .PHONY: $(sc_m_rules_)
@@ -155,7 +195,7 @@ $(sc_z_rules_): %.z: %
        @end=$$(date +%s.%N);                                           \
        start=$$(cat .sc-start-$*);                                     \
        rm -f .sc-start-$*;                                             \
-       awk -v s=$$start -v e=$$end                                     \
+       $(AWK) -v s=$$start -v e=$$end                                  \
          'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null
 
 # The patsubst here is to replace each sc_% rule with its sc_%.z wrapper
@@ -165,6 +205,7 @@ local-check :=                                                              \
     $(filter-out $(local-checks-to-skip), $(local-checks-available)))
 
 syntax-check: $(local-check)
+endif
 
 # _sc_search_regexp
 #
@@ -187,9 +228,11 @@ syntax-check: $(local-check)
 #
 #  in_vc_files | in_files
 #
-#     grep-E-style regexp denoting the files to check.  If no files
-#     are specified the default are all the files that are under
-#     version control.
+#     grep-E-style regexp selecting the files to check.  For in_vc_files,
+#     the regexp is used to select matching files from the list of all
+#     version-controlled files; for in_files, it's from the names printed
+#     by "find $(srcdir)".  When neither is specified, use all files that
+#     are under version control.
 #
 #  containing | non_containing
 #
@@ -260,42 +303,56 @@ define _sc_search_regexp
                                                                        \
    : Filter by file name;                                              \
    if test -n "$$in_files"; then                                       \
-     files=$$(find $(srcdir) | grep -E "$$in_files"                    \
-              | grep -Ev '$(exclude_file_name_regexp--$@)');           \
+     files=$$(find $(srcdir) | $(GREP) -E "$$in_files"                 \
+              | $(GREP) -Ev '$(_sc_excl)');                            \
    else                                                                        \
      files=$$($(VC_LIST_EXCEPT));                                      \
      if test -n "$$in_vc_files"; then                                  \
-       files=$$(echo "$$files" | grep -E "$$in_vc_files");             \
+       files=$$(echo "$$files" | $(GREP) -E "$$in_vc_files");          \
      fi;                                                               \
    fi;                                                                 \
                                                                        \
    : Filter by content;                                                        \
-   test -n "$$files" && test -n "$$containing"                         \
-     && { files=$$(grep -l "$$containing" $$files); } || :;            \
-   test -n "$$files" && test -n "$$non_containing"                     \
-     && { files=$$(grep -vl "$$non_containing" $$files); } || :;       \
+   test -n "$$files"                                                   \
+     && test -n "$$containing"                                         \
+     && { files=$$(echo "$$files" | xargs $(GREP) -l "$$containing"); }        \
+     || :;                                                             \
+   test -n "$$files"                                                   \
+     && test -n "$$non_containing"                                     \
+     && { files=$$(echo "$$files" | xargs $(GREP) -vl "$$non_containing"); } \
+     || :;                                                             \
                                                                        \
    : Check for the construct;                                          \
    if test -n "$$files"; then                                          \
      if test -n "$$prohibit"; then                                     \
-       grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
-         | grep -vE "$${exclude:-^$$}"                                 \
-         && { msg="$$halt" $(_sc_say_and_exit) } || :;                 \
+       echo "$$files"                                                  \
+         | xargs $(GREP) $$with_grep_options $(_ignore_case) -nE       \
+               "$$prohibit" /dev/null                                  \
+         | $(GREP) -vE "$${exclude:-^$$}"                              \
+         && { msg="$$halt" $(_sc_say_and_exit) }                       \
+         || :;                                                         \
      else                                                              \
-       grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
-           | grep .                                                    \
-         && { msg="$$halt" $(_sc_say_and_exit) } || :;                 \
+       echo "$$files"                                                  \
+         | xargs                                                       \
+             $(GREP) $$with_grep_options $(_ignore_case) -LE "$$require" \
+         | $(GREP) .                                                   \
+         && { msg="$$halt" $(_sc_say_and_exit) }                       \
+         || :;                                                         \
      fi                                                                        \
    else :;                                                             \
    fi || :;
 endef
 
 sc_avoid_if_before_free:
-       @$(srcdir)/$(_build-aux)/useless-if-before-free                 \
-               $(useless_free_options)                                 \
-           $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) &&   \
-         { echo '$(ME): found useless "if" before "free" above' 1>&2;  \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | $(GREP) -v useless-if-before-free                           \
+         | xargs                                                       \
+             $(srcdir)/$(_build-aux)/useless-if-before-free            \
+             $(useless_free_options)                                   \
+         && { printf '$(ME): found useless "if"'                       \
+                     ' before "free" above\n' 1>&2;                    \
+              exit 1; }                                                \
+         || :
 
 sc_cast_of_argument_to_free:
        @prohibit='\<free *\( *\(' halt="don't cast free argument"      \
@@ -328,8 +385,16 @@ sc_prohibit_atoi_atof:
 sp_ = strcmp *\(.+\)
 sc_prohibit_strcmp:
        @prohibit='! *strcmp *\(|\<$(sp_) *[!=]=|[!=]= *$(sp_)'         \
-       exclude=':# *define STRN?EQ\('                                  \
-       halt='$(ME): replace strcmp calls above with STREQ/STRNEQ'      \
+       exclude='# *define STRN?EQ\('                                   \
+       halt='replace strcmp calls above with STREQ/STRNEQ'             \
+         $(_sc_search_regexp)
+
+# Really.  You don't want to use this function.
+# It may fail to NUL-terminate the destination,
+# and always NUL-pads out to the specified length.
+sc_prohibit_strncpy:
+       @prohibit='\<strncpy *\('                                       \
+       halt='do not use strncpy, period'                               \
          $(_sc_search_regexp)
 
 # Pass EXIT_*, not number, to usage, exit, and error (when exiting)
@@ -343,10 +408,48 @@ sc_prohibit_strcmp:
 #  | xargs --no-run-if-empty \
 #      perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/'
 sc_prohibit_magic_number_exit:
-       @prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,'     \
-       halt='use EXIT_* values rather than magic number'                       \
+       @prohibit='(^|[^.])\<(usage|exit|error) ?\(-?[0-9]+[,)]'        \
+       exclude='exit \(77\)|error ?\(((0|77),|[^,]*)'                  \
+       halt='use EXIT_* values rather than magic number'               \
          $(_sc_search_regexp)
 
+# Check that we don't use $< in non-implicit Makefile rules.
+#
+# To find the Makefiles, trace AC_CONFIG_FILES.  Using VC_LIST would
+# miss the Makefiles that are not under VC control (e.g., symlinks
+# installed for gettext).  "Parsing" (recursive) uses of SUBDIRS seems
+# too delicate.
+#
+# Use GNU Make's --print-data-base to normalize the rules into some
+# easy to parse format: they are separated by two \n.  Look for the
+# "section" about non-pattern rules (marked with "# Files") inside
+# which there are still the POSIX Make like implicit rules (".c.o").
+sc_prohibit_gnu_make_extensions_awk_ =                                 \
+  BEGIN {                                                              \
+      RS = "\n\n";                                                     \
+      in_rules = 0;                                                    \
+  }                                                                    \
+  /^\# Files/ {                                                                \
+      in_rules = 1;                                                    \
+  }                                                                    \
+  /\$$</ && in_rules && $$0 !~ /^(.*\n)*\.\w+(\.\w+)?:/ {              \
+      print "Error: " file ": $$< in a non implicit rule\n" $$0;       \
+      status = 1;                                                      \
+  }                                                                    \
+  END {                                                                        \
+     exit status;                                                      \
+  }
+sc_prohibit_gnu_make_extensions:
+       @if $(AWK) --version | grep GNU >/dev/null 2>&1; then           \
+         (cd $(srcdir) && autoconf --trace AC_CONFIG_FILES:'$$1') |    \
+           tr ' ' '\n' |                                               \
+           $(SED) -ne '/Makefile/{s/\.in$$//;p;}' |                    \
+           while read m; do                                            \
+             $(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null |            \
+               $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1;           \
+           done;                                                       \
+       fi
+
 # Using EXIT_SUCCESS as the first argument to error is misleading,
 # since when that parameter is 0, error does not exit.  Use '0' instead.
 sc_error_exit_success:
@@ -358,28 +461,35 @@ sc_error_exit_success:
 # "FATAL:" should be fully upper-cased in error messages
 # "WARNING:" should be fully upper-cased, or fully lower-cased
 sc_error_message_warn_fatal:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '"Warning|"Fatal|"fatal' &&                       \
-         { echo '$(ME): use FATAL, WARNING or warning' 1>&2;           \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '"Warning|"Fatal|"fatal'                         \
+         && { echo '$(ME): use FATAL, WARNING or warning' 1>&2;        \
+              exit 1; }                                                \
+         || :
 
 # Error messages should not start with a capital letter
 sc_error_message_uppercase:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '"[A-Z]'                                          \
-           | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' &&           \
-         { echo '$(ME): found capitalized error message' 1>&2;         \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '"[A-Z]'                                         \
+         | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|"PRI'                \
+         && { echo '$(ME): found capitalized error message' 1>&2;      \
+              exit 1; }                                                \
+         || :
 
 # Error messages should not end with a period
 sc_error_message_period:
-       @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
-           | grep -E '[^."]\."' &&                                     \
-         { echo '$(ME): found error message ending in period' 1>&2;    \
-           exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null              \
+         | $(GREP) -E '[^."]\."'                                       \
+         && { echo '$(ME): found error message ending in period' 1>&2; \
+              exit 1; }                                                \
+         || :
 
 sc_file_system:
        @prohibit=file''system                                          \
+       exclude='/proc/filesystems'                                     \
        ignore_case=1                                                   \
        halt='found use of "file''system"; spell it "file system"'      \
          $(_sc_search_regexp)
@@ -400,17 +510,26 @@ sc_require_config_h:
        halt='the above files do not include <config.h>'                \
          $(_sc_search_regexp)
 
+# Print each file name for which the first #include does not match
+# $(config_h_header).  Like grep -m 1, this only looks at the first match.
+perl_config_h_first_ =                                                 \
+  -e 'BEGIN {$$ret = 0}'                                               \
+  -e 'if (/^\# *include\b/) {'                                         \
+  -e '  if (not m{^\# *include $(config_h_header)}) {'                 \
+  -e '    print "$$ARGV\n";'                                           \
+  -e '    $$ret = 1;'                                                  \
+  -e '  }'                                                             \
+  -e '  \# Move on to next file after first include'                   \
+  -e '  close ARGV;'                                                   \
+  -e '}'                                                               \
+  -e 'END {exit $$ret}'
+
 # You must include <config.h> before including any other header file.
 # This can possibly be via a package-specific header, if given by cfg.mk.
 sc_require_config_h_first:
-       @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then       \
-         fail=0;                                                       \
-         for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do             \
-           grep '^# *include\>' $$i | sed 1q                           \
-               | grep -E '^# *include $(config_h_header)' > /dev/null  \
-             || { echo $$i; fail=1; };                                 \
-         done;                                                         \
-         test $$fail = 1 &&                                            \
+       @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then       \
+         files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') &&              \
+         perl -n $(perl_config_h_first_) $$files ||                    \
            { echo '$(ME): the above files include some other header'   \
                'before <config.h>' 1>&2; exit 1; } || :;               \
        else :;                                                         \
@@ -426,11 +545,11 @@ sc_prohibit_HAVE_MBRTOWC:
 # re: a regular expression that matches IFF something provided by $h is used.
 define _sc_header_without_use
   dummy=; : so we do not need a semicolon before each use;             \
-  h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`;                   \
-  if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then             \
-    files=$$(grep -l '^# *include '"$$h_esc"                           \
-            $$($(VC_LIST_EXCEPT) | grep '\.c$$')) &&                   \
-    grep -LE "$$re" $$files | grep . &&                                        \
+  h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`;                        \
+  if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then             \
+    files=$$($(GREP) -l '^# *include '"$$h_esc"                                \
+            $$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$')) &&                \
+    $(GREP) -LE "$$re" $$files | $(GREP) . &&                          \
       { echo "$(ME): the above files include $$h but don't use it"     \
        1>&2; exit 1; } || :;                                           \
   else :;                                                              \
@@ -460,7 +579,7 @@ sc_prohibit_quote_without_use:
 
 # Don't include this header unless you use one of its functions.
 sc_prohibit_long_options_without_use:
-       @h='long-options.h' re='\<parse_long_options *\(' \
+       @h='long-options.h' re='\<parse_(long_options|gnu_standard_options_only) *\(' \
          $(_sc_header_without_use)
 
 # Don't include this header unless you use one of its functions.
@@ -479,23 +598,14 @@ sc_prohibit_error_without_use:
        re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\
          $(_sc_header_without_use)
 
-# Don't include xalloc.h unless you use one of its functions.
+# Don't include xalloc.h unless you use one of its symbols.
 # Consider these symbols:
 # perl -lne '/^# *define (\w+)\(/ and print $1' lib/xalloc.h|grep -v '^__';
-# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/xalloc.h
+# perl -lne 'm{^(?:_Noreturn )?(?:void|char) \*?(\w+) *\(} and print $1' lib/xalloc.h
 # Divide into two sets on case, and filter each through this:
 # | sort | perl -MRegexp::Assemble -le \
 #  'print Regexp::Assemble->new(file => "/dev/stdin")->as_string'|sed 's/\?://g'
-# Note this was produced by the above:
-# _xa1 = \
-#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup)
-# But we can do better, in at least two ways:
-# 1) take advantage of two "dup"-suffixed strings:
-# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup)
-# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable
-# "char|[cmz]"
-# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup)
-_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup)
+_xa1 = x(i(m(emdup0?|alloc)|realloc(array)?|([cz]|nm)alloc)|([pz]|c(har)?|2n?re|nm)alloc|realloc(array)?|m(alloc|emdup)|alloc_die|strdup)
 _xa2 = X([CZ]|N?M)ALLOC
 sc_prohibit_xalloc_without_use:
        @h='xalloc.h' \
@@ -503,9 +613,9 @@ sc_prohibit_xalloc_without_use:
          $(_sc_header_without_use)
 
 # Extract function names:
-# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h
+# perl -lne '/^(?:extern )?(?:void|char|Hash_table) \*?(\w+) *\(/ and print $1' lib/hash.h
 _hash_re = \
-clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning
+hash_(re(set_tuning|move)|xin(itialize|sert)|in(itialize|sert)|get_(firs|nex)t|print_statistics|(delet|fre)e|lookup|clear)
 _hash_fn = \<($(_hash_re)) *\(
 _hash_struct = (struct )?\<[Hh]ash_(table|tuning)\>
 sc_prohibit_hash_without_use:
@@ -521,7 +631,7 @@ sc_prohibit_posixver_without_use:
        @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use)
 
 sc_prohibit_same_without_use:
-       @h='same.h' re='\<same_name *\(' $(_sc_header_without_use)
+       @h='same.h' re='\<same_name(at)? *\(' $(_sc_header_without_use)
 
 sc_prohibit_hash_pjw_without_use:
        @h='hash-pjw.h' \
@@ -534,7 +644,7 @@ sc_prohibit_safe_read_without_use:
 
 sc_prohibit_argmatch_without_use:
        @h='argmatch.h' \
-       re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \
+       re='(\<(ARGMATCH_DEFINE_GROUP|ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \
          $(_sc_header_without_use)
 
 sc_prohibit_canonicalize_without_use:
@@ -549,7 +659,7 @@ sc_prohibit_root_dev_ino_without_use:
 
 sc_prohibit_openat_without_use:
        @h='openat.h' \
-       re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>' \
+       re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat|(FCHMOD|FCHOWN|STAT)AT_INLINE)\>' \
          $(_sc_header_without_use)
 
 # Prohibit the inclusion of c-ctype.h without an actual use.
@@ -559,8 +669,6 @@ sc_prohibit_c_ctype_without_use:
        @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \
          $(_sc_header_without_use)
 
-_empty =
-_sp = $(_empty) $(_empty)
 # The following list was generated by running:
 # man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \
 #   | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt
@@ -613,18 +721,14 @@ sc_prohibit_strings_without_use:
        re='\<(strn?casecmp|ffs(ll)?)\>'                                \
          $(_sc_header_without_use)
 
-# Get the list of symbol names with this:
-# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt
-_intprops_names =                                                      \
-  TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT            \
-  TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM          \
-  INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND             \
-  INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW                   \
-  INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW                        \
-  INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW               \
-  INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \
-  INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW                \
-  INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW
+# Extract the raw list of symbol names with this:
+gl_extract_define_simple = \
+  /^\# *define ([A-Z]\w+)\(/ and print $$1
+# Filter out duplicates and convert to a space-separated list:
+_intprops_names = \
+  $(shell f=$(gnulib_dir)/lib/intprops.h;                              \
+    perl -lne '$(gl_extract_define_simple)' $$f | sort -u | tr '\n' ' ')
+# Remove trailing space and convert to a regular expression:
 _intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names)))
 # Prohibit the inclusion of intprops.h without an actual use.
 sc_prohibit_intprops_without_use:
@@ -632,7 +736,8 @@ sc_prohibit_intprops_without_use:
        re='\<($(_intprops_syms_re)) *\('                               \
          $(_sc_header_without_use)
 
-_stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t
+_stddef_syms_re = \
+  NULL|max_align_t|nullptr_t|offsetof|ptrdiff_t|size_t|unreachable|wchar_t
 # Prohibit the inclusion of stddef.h without an actual use.
 sc_prohibit_stddef_without_use:
        @h='stddef.h'                                                   \
@@ -652,7 +757,7 @@ sc_prohibit_dirent_without_use:
 # Prohibit the inclusion of verify.h without an actual use.
 sc_prohibit_verify_without_use:
        @h='verify.h'                                                   \
-       re='\<(verify(true|expr)?|static_assert) *\('                   \
+       re='\<(verify(_expr)?|assume) *\('                              \
          $(_sc_header_without_use)
 
 # Don't include xfreopen.h unless you use one of its functions.
@@ -674,15 +779,6 @@ sc_changelog:
          $(_sc_search_regexp)
 
 # Ensure that each .c file containing a "main" function also
-# calls set_program_name.
-sc_program_name:
-       @require='set_program_name *\(m?argv\[0\]\);'                   \
-       in_vc_files='\.c$$'                                             \
-       containing='\<main *('                                          \
-       halt='the above files do not call set_program_name'             \
-         $(_sc_search_regexp)
-
-# Ensure that each .c file containing a "main" function also
 # calls bindtextdomain.
 sc_bindtextdomain:
        @require='bindtextdomain *\('                                   \
@@ -699,9 +795,9 @@ Exit_base := $(notdir $(Exit_witness_file))
 sc_require_test_exit_idiom:
        @if test -f $(srcdir)/$(Exit_witness_file); then                \
          die=0;                                                        \
-         for i in $$(grep -l -F 'srcdir/$(Exit_base)'                  \
+         for i in $$($(GREP) -l -F 'srcdir/$(Exit_base)'               \
                $$($(VC_LIST) tests)); do                               \
-           tail -n1 $$i | grep '^Exit .' > /dev/null                   \
+           tail -n1 $$i | $(GREP) '^Exit .' > /dev/null                \
              && : || { die=1; echo $$i; }                              \
          done;                                                         \
          test $$die = 1 &&                                             \
@@ -713,12 +809,13 @@ sc_require_test_exit_idiom:
 sc_trailing_blank:
        @prohibit='[     ]$$'                                           \
        halt='found trailing blank(s)'                                  \
+       exclude='^Binary file .* matches$$'                             \
          $(_sc_search_regexp)
 
 # Match lines like the following, but where there is only one space
 # between the options and the description:
 #   -D, --all-repeated[=delimit-method]  print all duplicate lines\n
-longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)?
+longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*]?)?
 sc_two_space_separator_in_usage:
        @prohibit='^   *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$'         \
        halt='help2man requires at least two spaces between an option and its description'\
@@ -733,7 +830,7 @@ _gl_translatable_diag_func_re ?= error
 sc_unmarked_diagnostics:
        @prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \
        exclude='(_|ngettext ?)\('                                      \
-       halt='$(ME): found unmarked diagnostic(s)'                      \
+       halt='found unmarked diagnostic(s)'                             \
          $(_sc_search_regexp)
 
 # Avoid useless parentheses like those in this example:
@@ -748,7 +845,7 @@ sc_useless_cpp_parens:
 # #if HAVE_HEADER_H that you remove, be sure that your project explicitly
 # requires the gnulib module that guarantees the usability of that header.
 gl_assured_headers_ = \
-  cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g'
+  cd $(gnulib_dir)/lib && echo *.in.h|$(SED) 's/\.in\.h//g'
 
 # Convert the list of names to upper case, and replace each space with "|".
 az_ = abcdefghijklmnopqrstuvwxyz
@@ -767,6 +864,11 @@ sc_prohibit_always_true_header_tests:
        '  with the corresponding gnulib module, they are always true') \
          $(_sc_search_regexp)
 
+sc_prohibit_defined_have_decl_tests:
+       @prohibit='(#[   ]*ifn?def|\<defined)\>[         (]+HAVE_DECL_' \
+       halt='HAVE_DECL macros are always defined'                      \
+         $(_sc_search_regexp)
+
 # ==================================================================
 gl_other_headers_ ?= \
   intprops.h   \
@@ -794,24 +896,29 @@ define def_sym_regex
              && perl -lne '$(gl_extract_significant_defines_)' $$f;    \
          done;                                                         \
        ) | sort -u                                                     \
-         | sed 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
+         | $(SED) 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
 endef
 
 # Don't define macros that we already get from gnulib header files.
 sc_prohibit_always-defined_macros:
        @if test -d $(gnulib_dir); then                                 \
-         case $$(echo all: | grep -l -f - Makefile) in Makefile);; *)  \
+         case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \
            echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \
          esac;                                                         \
-         $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT))         \
-           && { echo '$(ME): define the above via some gnulib .h file' \
-                 1>&2;  exit 1; } || :;                                \
+         regex=$$($(def_sym_regex)); export regex;                     \
+         $(VC_LIST_EXCEPT)                                             \
+           | xargs sh -c 'echo $$regex | $(GREP) -E -f - "$$@"'        \
+               dummy /dev/null                                         \
+           && { printf '$(ME): define the above'                       \
+                       ' via some gnulib .h file\n' 1>&2;              \
+                exit 1; }                                              \
+           || :;                                                       \
        fi
 # ==================================================================
 
 # Prohibit checked in backup files.
 sc_prohibit_backup_files:
-       @$(VC_LIST) | grep '~$$' &&                             \
+       @$(VC_LIST) | $(GREP) '~$$' &&                                  \
          { echo '$(ME): found version controlled backup file' 1>&2;    \
            exit 1; } || :
 
@@ -830,7 +937,7 @@ sc_GFDL_version:
          $(_sc_search_regexp)
 
 # Don't use Texinfo's @acronym{}.
-# http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html
+# https://lists.gnu.org/r/bug-gnulib/2010-03/msg00321.html
 texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$
 sc_texinfo_acronym:
        @prohibit='@acronym\{'                                          \
@@ -885,16 +992,18 @@ require_exactly_one_NL_at_EOF_ =                                  \
     }                                                                  \
   END { exit defined $$fail }
 sc_prohibit_empty_lines_at_EOF:
-       @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \
-         || { echo '$(ME): empty line(s) or no newline at EOF'         \
-               1>&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -le '$(require_exactly_one_NL_at_EOF_)'          \
+         || { echo '$(ME): empty line(s) or no newline at EOF' 1>&2;   \
+              exit 1; }                                                \
+         || :
 
-# Make sure we don't use st_blocks.  Use ST_NBLOCKS instead.
+# Make sure we don't use st_blocks.  Use ST_NBLOCKS or STP_NBLOCKS instead.
 # This is a bit of a kludge, since it prevents use of the string
 # even in comments, but for now it does the job with no false positives.
 sc_prohibit_stat_st_blocks:
        @prohibit='[.>]st_blocks'                                       \
-       halt='do not use st_blocks; use ST_NBLOCKS'                     \
+       halt='do not use st_blocks; use ST_NBLOCKS or STP_NBLOCKS'      \
          $(_sc_search_regexp)
 
 # Make sure we don't define any S_IS* macros in src/*.c files.
@@ -913,8 +1022,13 @@ perl_filename_lineno_text_ =                                              \
     -e '    print "$$ARGV:$$n:$$v\n";'                                 \
     -e '  }'
 
+prohibit_doubled_words_ = \
+    the then in an on if is it but for or at and do to can
+# expand the regex before running the check to avoid using expensive captures
+prohibit_doubled_word_expanded_ = \
+    $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_)))
 prohibit_doubled_word_RE_ ?= \
-  /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims
+    /\b(?:$(subst $(_sp),|,$(prohibit_doubled_word_expanded_)))\b/gims
 prohibit_doubled_word_ =                                               \
     -e 'while ($(prohibit_doubled_word_RE_))'                          \
     $(perl_filename_lineno_text_)
@@ -925,9 +1039,12 @@ prohibit_doubled_word_ =                                          \
 ignore_doubled_word_match_RE_ ?= ^$$
 
 sc_prohibit_doubled_word:
-       @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT))  \
-         | grep -vE '$(ignore_doubled_word_match_RE_)'                 \
-         | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -n -0777 $(prohibit_doubled_word_)               \
+         | $(GREP) -vE '$(ignore_doubled_word_match_RE_)'              \
+         | $(GREP) .                                                   \
+         && { echo '$(ME): doubled words' 1>&2; exit 1; }              \
+         || :
 
 # A regular expression matching undesirable combinations of words like
 # "can not"; this matches them even when the two words appear on different
@@ -937,10 +1054,11 @@ sc_prohibit_doubled_word:
 # Also prohibit a prefix matching "\w+ +".
 # @pxref gets the same see/also treatment and should be parenthesized;
 # presume it must *not* start a sentence.
+# POSIX spells it "timestamp" rather than "time\s+stamp", so we do, too.
 bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{
 bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{
 prohibit_undesirable_word_seq_RE_ ?=                                   \
-  /(?:\bcan\s+not\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims
+  /(?:\bcan\s+not\b|\btime\s+stamps?\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims
 prohibit_undesirable_word_seq_ =                                       \
     -e 'while ($(prohibit_undesirable_word_seq_RE_))'                  \
     $(perl_filename_lineno_text_)
@@ -950,10 +1068,20 @@ prohibit_undesirable_word_seq_ =                                 \
 ignore_undesirable_word_sequence_RE_ ?= ^$$
 
 sc_prohibit_undesirable_word_seq:
-       @perl -n -0777 $(prohibit_undesirable_word_seq_)                \
-            $$($(VC_LIST_EXCEPT))                                      \
-         | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
-         && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
+       @$(VC_LIST_EXCEPT)                                              \
+         | xargs perl -n -0777 $(prohibit_undesirable_word_seq_)       \
+         | $(GREP) -vE '$(ignore_undesirable_word_sequence_RE_)'       \
+         | $(GREP) .                                                   \
+         && { echo '$(ME): undesirable word sequence' >&2; exit 1; }   \
+         || :
+
+# Except for shell files and for loops, double semicolon is probably a mistake
+sc_prohibit_double_semicolon:
+       @prohibit='; *;[        {} \]*(/[/*]|$$)'                       \
+       in_vc_files='\.[chly]$$'                                        \
+       exclude='\bfor *\(.*\)'                                         \
+       halt="Double semicolon detected"                                \
+         $(_sc_search_regexp)
 
 _ptm1 = use "test C1 && test C2", not "test C1 -''a C2"
 _ptm2 = use "test C1 || test C2", not "test C1 -''o C2"
@@ -977,7 +1105,8 @@ sc_prohibit_test_double_equal:
 # definition of LDADD from the appropriate Makefile.am and exits 0
 # when it contains "ICONV".
 sc_proper_name_utf8_requires_ICONV:
-       @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\
+       @progs=$$($(VC_LIST_EXCEPT)                                     \
+                   | xargs $(GREP) -l 'proper_name_utf8 ''("');        \
        if test "x$$progs" != x; then                                   \
          fail=0;                                                       \
          for p in $$progs; do                                          \
@@ -986,7 +1115,7 @@ sc_proper_name_utf8_requires_ICONV:
              -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)'  \
              $$dir/Makefile.am && continue;                            \
            base=$$(basename "$$p" .c);                                 \
-           grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \
+           $(GREP) "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null      \
              || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \
          done;                                                         \
          test $$fail = 1 &&                                            \
@@ -1004,16 +1133,16 @@ sc_redundant_const:
 sc_const_long_option:
        @prohibit='^ *static.*struct option '                           \
        exclude='const struct option|struct option const'               \
-       halt='$(ME): add "const" to the above declarations'             \
+       halt='add "const" to the above declarations'                    \
          $(_sc_search_regexp)
 
 NEWS_hash =                                                            \
-  $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'             \
+  $$($(SED) -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'          \
        $(srcdir)/NEWS                                                  \
      | perl -0777 -pe                                                  \
        's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms'       \
      | md5sum -                                                                \
-     | sed 's/ .*//')
+     | $(SED) 's/ .*//')
 
 # Ensure that we don't accidentally insert an entry into an old NEWS block.
 sc_immutable_NEWS:
@@ -1047,12 +1176,12 @@ sc_makefile_at_at_check:
           -e ' && !/(\w+)\s+=.*\@\1\@$$/'                              \
           -e ''$(_makefile_at_at_check_exceptions)                     \
          -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}'    \
-           $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
+           $$($(VC_LIST_EXCEPT) | $(GREP) -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
          && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-check: NEWS
-       if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS              \
-           | grep -E $(news-check-regexp) >/dev/null; then             \
+       $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $<            \
+           | $(GREP) -E $(news-check-regexp) >/dev/null; then          \
          :;                                                            \
        else                                                            \
          echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2;      \
@@ -1075,30 +1204,35 @@ fix_po_file_diag = \
 'you have changed the set of files with translatable diagnostics;\n\
 apply the above patch\n'
 
-# Verify that all source files using _() are listed in po/POTFILES.in.
+# Generate a list of files in which to search for translatable strings.
+perl_translatable_files_list_ =                                                \
+  -e 'foreach $$file (@ARGV) {'                                                \
+  -e ' \# Consider only file extensions with one or two letters'       \
+  -e ' $$file =~ /\...?$$/ or next;'                                   \
+  -e ' \# Ignore m4 and mk files'                                      \
+  -e ' $$file =~ /\.m[4k]$$/ and next;'                                \
+  -e ' \# Ignore a .c or .h file with a corresponding .l or .y file'   \
+  -e ' $$file =~ /(.+)\.[ch]$$/ && (-e "$${1}.l" || -e "$${1}.y")'     \
+  -e '   and next;'                                                    \
+  -e ' \# Skip unreadable files'                                       \
+  -e ' -r $$file or next;'                                             \
+  -e ' print "$$file ";'                                               \
+  -e '}'
+
+# Verify that all source files using _() (more specifically, files that
+# match $(_gl_translatable_string_re)) are listed in po/POTFILES.in.
 po_file ?= $(srcdir)/po/POTFILES.in
 generated_files ?= $(srcdir)/lib/*.[ch]
+_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$)
 sc_po_check:
        @if test -f $(po_file); then                                    \
-         grep -E -v '^(#|$$)' $(po_file)                               \
-           | grep -v '^src/false\.c$$' | sort > $@-1;                  \
-         files=;                                                       \
-         for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do      \
-           test -r $$file || continue;                                 \
-           case $$file in                                              \
-             *.m4|*.mk) continue ;;                                    \
-             *.?|*.??) ;;                                              \
-             *) continue;;                                             \
-           esac;                                                       \
-           case $$file in                                              \
-           *.[ch])                                                     \
-             base=`expr " $$file" : ' \(.*\)\..'`;                     \
-             { test -f $$base.l || test -f $$base.y; } && continue;;   \
-           esac;                                                       \
-           files="$$files $$file";                                     \
-         done;                                                         \
-         grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files          \
-           | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2;      \
+         $(GREP) -E -v '^(#|$$)' $(po_file)                            \
+           | $(GREP) -v '^src/false\.c$$' | sort > $@-1;               \
+         { $(VC_LIST_EXCEPT); echo $(generated_files); }               \
+           | xargs perl $(perl_translatable_files_list_)               \
+           | xargs $(GREP) -E -l '$(_gl_translatable_string_re)'       \
+           | $(SED) 's|^$(_dot_escaped_srcdir)/||'                     \
+           | sort -u > $@-2;                                           \
          diff -u -L $(po_file) -L $(po_file) $@-1 $@-2                 \
            || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };   \
          rm -f $@-1 $@-2;                                              \
@@ -1107,18 +1241,24 @@ sc_po_check:
 # Sometimes it is useful to change the PATH environment variable
 # in Makefiles.  When doing so, it's better not to use the Unix-centric
 # path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'.
-msg = '$(ME): Do not use ":" above; use $$(PATH_SEPARATOR) instead'
+msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead'
 sc_makefile_path_separator_check:
        @prohibit='PATH[=].*:'                                          \
        in_vc_files='akefile|\.mk$$'                                    \
        halt=$(msg)                                                     \
          $(_sc_search_regexp)
 
+sc_makefile_DISTCHECK_CONFIGURE_FLAGS:
+       @prohibit='^DISTCHECK_CONFIGURE_FLAGS'                          \
+       in_vc_files='akefile|\.mk$$'                                    \
+       halt="use AM_DISTCHECK_CONFIGURE_FLAGS"                         \
+         $(_sc_search_regexp)
+
 # Check that 'make alpha' will not fail at the end of the process,
 # i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
 # and is read-only.
 writable-files:
-       if test -d $(release_archive_dir); then                         \
+       $(AM_V_GEN)if test -d $(release_archive_dir); then              \
          for file in $(DIST_ARCHIVES); do                              \
            for p in ./ $(release_archive_dir)/; do                     \
              test -e $$p$$file || continue;                            \
@@ -1144,7 +1284,7 @@ sc_copyright_check:
        in_vc_files=$(sample-test)                                      \
        halt='out of date copyright in $(sample-test); update it'       \
          $(_sc_search_regexp)
-       @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free'       \
+       @require='Copyright @copyright\{} .*'$$(date +%Y)               \
        in_vc_files=$(texi)                                             \
        halt='out of date copyright in $(texi); update it'              \
          $(_sc_search_regexp)
@@ -1162,18 +1302,21 @@ _hv_regex_weak ?= ^ *\. .*/init\.sh"
 _hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh"
 sc_cross_check_PATH_usage_in_tests:
        @if test -f $(_hv_file); then                                   \
-         grep -l 'VERSION mismatch' $(_hv_file) >/dev/null             \
+         $(GREP) -l 'VERSION mismatch' $(_hv_file) >/dev/null          \
            || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2;    \
                 exit 0; };                                             \
-         grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null         \
+         $(GREP) -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null      \
            || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \
                 exit 1; };                                             \
-         good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file));           \
-         grep -LFx "$$good"                                            \
-               $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT)))  \
-             | grep . &&                                               \
-           { echo "$(ME): the above files use path_prepend_ inconsistently" \
-               1>&2; exit 1; } || :;                                   \
+         good=$$($(GREP) -E '$(_hv_regex_strong)' $(_hv_file));        \
+         $(VC_LIST_EXCEPT)                                             \
+           | xargs $(GREP) -lE '$(_hv_regex_weak)'                     \
+           | xargs $(GREP) -LFx "$$good"                               \
+           | $(GREP) .                                                 \
+           && { printf "$(ME): the above files use"                    \
+                       " path_prepend_ inconsistently\n" 1>&2;         \
+                exit 1; }                                              \
+           || :;                                                       \
        fi
 
 # BRE regex of file contents to identify a test script.
@@ -1200,22 +1343,51 @@ sc_Wundef_boolean:
 # not be constant, or might overflow a stack.  In general, use PATH_MAX as
 # a limit, not an array or alloca size.
 sc_prohibit_path_max_allocation:
-       @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX'                 \
+       @prohibit='(\balloca *\([^)]*|\[[^]]*)\bPATH_MAX'               \
        halt='Avoid stack allocations of size PATH_MAX'                 \
          $(_sc_search_regexp)
 
 sc_vulnerable_makefile_CVE-2009-4029:
        @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \
-       in_files=$$(find $(srcdir) -name Makefile.in)                   \
+       in_files='(^|/)Makefile\.in$$'                                  \
        halt=$$(printf '%s\n'                                           \
          'the above files are vulnerable; beware of running'           \
          '  "make dist*" rules, and upgrade to fixed automake'         \
-         '  see http://bugzilla.redhat.com/542609 for details')        \
+         '  see https://bugzilla.redhat.com/show_bug.cgi?id=542609 for details') \
+         $(_sc_search_regexp)
+
+sc_vulnerable_makefile_CVE-2012-3386:
+       @prohibit='chmod a\+w \$$\(distdir\)'                           \
+       in_files='(^|/)Makefile\.in$$'                                  \
+       halt=$$(printf '%s\n'                                           \
+         'the above files are vulnerable; beware of running'           \
+         '  "make distcheck", and upgrade to fixed automake'           \
+         '  see https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-3386 for details') \
+         $(_sc_search_regexp)
+
+sc_unportable_grep_q:
+       @prohibit='grep -q' halt="unportable 'grep -q', use >/dev/null instead" \
+         $(_sc_search_regexp)
+
+# The GNU Coding standards say that README should refer to both
+# INSTALL and the file that contains the copying conditions.  This
+# shall be COPYING for GPL and COPYING.LESSER for LGPL.
+
+sc_readme_link_install:
+       @require='INSTALL'                                      \
+       in_vc_files='^README$$'                                 \
+       halt='The README file should refer to INSTALL'          \
+         $(_sc_search_regexp)
+
+sc_readme_link_copying:
+       @require='COPYING'                                      \
+       in_vc_files='^README$$'                                 \
+       halt='The README file should refer to COPYING[.LESSER]' \
          $(_sc_search_regexp)
 
 vc-diff-check:
-       (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
-       if test -s vc-diffs; then                               \
+       $(AM_V_GEN)(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
+       $(AM_V_at)if test -s vc-diffs; then                     \
          cat vc-diffs;                                         \
          echo "Some files are locally modified:" 1>&2;         \
          exit 1;                                               \
@@ -1225,66 +1397,94 @@ vc-diff-check:
 
 rel-files = $(DIST_ARCHIVES)
 
-gnulib_dir ?= $(srcdir)/gnulib
-gnulib-version = $$(cd $(gnulib_dir) && git describe)
+gnulib-version = $$(cd $(gnulib_dir)                           \
+                    && { git describe || git rev-parse --short=10 HEAD; } )
 bootstrap-tools ?= autoconf,automake,gnulib
 
+gpgv = $$(gpgv2 --version >/dev/null && echo gpgv2 || echo gpgv)
 # If it's not already specified, derive the GPG key ID from
 # the signed tag we've just applied to mark this release.
-gpg_key_ID ?= \
-  $$(git cat-file tag v$(VERSION) \
-     | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \
-     | sed -n '/^\[GNUPG:\] ERRSIG /{s///;s/ .*//p;q}')
+gpg_key_ID ?=                                                          \
+  $$(cd $(srcdir)                                                      \
+     && git cat-file tag v$(VERSION)                                   \
+        | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null    \
+        | $(AWK) '/^\[GNUPG:] ERRSIG / {print $$3; exit}')
+gpg_key_email ?=                                                       \
+  $$(gpg --list-key --with-colons $(gpg_key_ID) 2>/dev/null            \
+       | $(AWK) -F: '/^uid/ {print $$10; exit}'                        \
+       | $(SED) -n 's/.*<\(.*\)>/\1/p')
+gpg_keyring_url ?= https://savannah.gnu.org/project/release-gpgkeys.php?group=$(PACKAGE)&download=1
 
 translation_project_ ?= coordinator@translationproject.org
 
 # Make info-gnu the default only for a stable release.
-ifeq ($(RELEASE_TYPE),stable)
-  announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT)
-  announcement_mail_headers_ ?=                                                \
-    To: info-gnu@gnu.org                                               \
-    Cc: $(announcement_Cc_)                                            \
-    Mail-Followup-To: $(PACKAGE_BUGREPORT)
-else
-  announcement_Cc_ ?= $(translation_project_)
-  announcement_mail_headers_ ?=                                                \
-    To: $(PACKAGE_BUGREPORT)                                           \
-    Cc: $(announcement_Cc_)
-endif
-
+announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT)
+announcement_mail_headers_stable =             \
+  To: info-gnu@gnu.org                         \
+  Cc: $(announcement_Cc_)                      \
+  Mail-Followup-To: $(PACKAGE_BUGREPORT)
+
+announcement_Cc_alpha = $(translation_project_)
+announcement_mail_headers_alpha =              \
+  To: $(PACKAGE_BUGREPORT)                     \
+  Cc: $(announcement_Cc_)
+
+announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha)
+announcement_mail_headers_beta = $(announcement_mail_headers_alpha)
+
+announcement_Cc_ ?= $(announcement_Cc_$(release-type))
+announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type))
 announcement: NEWS ChangeLog $(rel-files)
-       @$(srcdir)/$(_build-aux)/announce-gen                           \
+# Not $(AM_V_GEN) since the output of this command serves as
+# announcement message: it would start with " GEN announcement".
+       $(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen                  \
            --mail-headers='$(announcement_mail_headers_)'              \
-           --release-type=$(RELEASE_TYPE)                              \
+           --release-type=$(release-type)                              \
            --package=$(PACKAGE)                                        \
            --prev=$(PREV_VERSION)                                      \
            --curr=$(VERSION)                                           \
            --gpg-key-id=$(gpg_key_ID)                                  \
+           $$(test -n "$(gpg_key_email)" &&                            \
+              echo --gpg-key-email="$(gpg_key_email)")                 \
+           $$(test -n "$(gpg_keyring_url)" &&                          \
+              echo --gpg-keyring-url="$(gpg_keyring_url)")             \
+           --srcdir=$(srcdir)                                          \
            --news=$(srcdir)/NEWS                                       \
            --bootstrap-tools=$(bootstrap-tools)                        \
            $$(case ,$(bootstrap-tools), in (*,gnulib,*)                \
               echo --gnulib-version=$(gnulib-version);; esac)          \
-           --no-print-checksums                                        \
            $(addprefix --url-dir=, $(url_dir_list))
 
+.PHONY: release-commit
+release-commit:
+       $(AM_V_GEN)cd $(srcdir)                         \
+         && $(_build-aux)/do-release-commit-and-tag    \
+              -C $(abs_builddir) $(RELEASE)
+
 ## ---------------- ##
 ## Updating files.  ##
 ## ---------------- ##
 
-ftp-gnu = ftp://ftp.gnu.org/gnu
-www-gnu = http://www.gnu.org
+ftp-gnu = https://ftp.gnu.org/gnu
+www-gnu = https://www.gnu.org
 
 upload_dest_dir_ ?= $(PACKAGE)
+upload_command =                                               \
+  $(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS)            \
+  --to $(gnu_rel_host):$(upload_dest_dir_)                     \
+  $(rel-files)
 emit_upload_commands:
        @echo =====================================
        @echo =====================================
-       @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\"
-       @echo "    --to $(gnu_rel_host):$(upload_dest_dir_) \\"
-       @echo "  $(rel-files)"
+       @echo '$(upload_command)'
        @echo '# send the ~/announce-$(my_distdir) e-mail'
        @echo =====================================
        @echo =====================================
 
+.PHONY: upload
+upload:
+       $(AM_V_GEN)$(upload_command)
+
 define emit-commit-log
   printf '%s\n' 'maint: post-release administrivia' ''                 \
     '* NEWS: Add header line for next release.'                                \
@@ -1294,7 +1494,8 @@ endef
 
 .PHONY: no-submodule-changes
 no-submodule-changes:
-       if test -d $(srcdir)/.git; then                                 \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >/dev/null 2>&1; then                  \
          diff=$$(cd $(srcdir) && git submodule -q foreach              \
                  git diff-index --name-only HEAD)                      \
            || exit 1;                                                  \
@@ -1312,10 +1513,12 @@ submodule-checks ?= no-submodule-changes public-submodule-commit
 # cannot be built from a fresh clone.
 .PHONY: public-submodule-commit
 public-submodule-commit:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >/dev/null 2>&1; then                  \
          cd $(srcdir) &&                                               \
-         git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \
-             = '$$(git merge-base origin $$sha1)'                      \
+         git submodule --quiet foreach                                 \
+             'test "$$(git rev-parse "$$sha1")"                        \
+                 = "$$(git merge-base origin "$$sha1")"'               \
            || { echo '$(ME): found non-public submodule commit' >&2;   \
                 exit 1; };                                             \
        else                                                            \
@@ -1330,19 +1533,23 @@ public-submodule-commit:
 gl_public_submodule_commit ?= public-submodule-commit
 check: $(gl_public_submodule_commit)
 
-.PHONY: alpha beta stable
+.PHONY: alpha beta stable release
 ALL_RECURSIVE_TARGETS += alpha beta stable
 alpha beta stable: $(local-check) writable-files $(submodule-checks)
-       test $@ = stable                                                \
-         && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$'         \
+       $(AM_V_GEN)test $@ = stable                                     \
+         && { echo $(VERSION) | $(GREP) -E '^[0-9]+(\.[0-9]+)+$$'      \
               || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
          || :
-       $(MAKE) vc-diff-check
-       $(MAKE) news-check
-       $(MAKE) distcheck
-       $(MAKE) dist
-       $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
-       $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+       $(AM_V_at)$(MAKE) vc-diff-check
+       $(AM_V_at)$(MAKE) news-check
+       $(AM_V_at)$(MAKE) distcheck
+       $(AM_V_at)$(MAKE) dist
+       $(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
+       $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+
+release:
+       $(AM_V_GEN)$(MAKE) _version
+       $(AM_V_at)$(MAKE) $(release-type)
 
 # Override this in cfg.mk if you follow different procedures.
 release-prep-hook ?= release-prep
@@ -1350,19 +1557,19 @@ release-prep-hook ?= release-prep
 gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?]
 .PHONY: release-prep
 release-prep:
-       case $$RELEASE_TYPE in alpha|beta|stable) ;; \
-         *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac
-       $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir)
-       if test -d $(release_archive_dir); then                 \
+       $(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \
+         > ~/announce-$(my_distdir)
+       $(AM_V_at)if test -d $(release_archive_dir); then       \
          ln $(rel-files) $(release_archive_dir);               \
          chmod a-w $(rel-files);                               \
        fi
-       echo $(VERSION) > $(prev_version_file)
-       $(MAKE) update-NEWS-hash
-       perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS
-       $(emit-commit-log) > .ci-msg
-       $(VC) commit -F .ci-msg -a
-       rm .ci-msg
+       $(AM_V_at)echo $(VERSION) > $(prev_version_file)
+       $(AM_V_at)$(MAKE) update-NEWS-hash
+       $(AM_V_at)perl -pi                                              \
+         -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"'        \
+         $(srcdir)/NEWS
+       $(AM_V_at)msg=$$($(emit-commit-log)) || exit 1;         \
+       cd $(srcdir) && $(VC) commit -m "$$msg" -a
 
 # Override this with e.g., -s $(srcdir)/some_other_name.texi
 # if the default $(PACKAGE)-derived name doesn't apply.
@@ -1370,14 +1577,20 @@ gendocs_options_ ?=
 
 .PHONY: web-manual
 web-manual:
-       @test -z "$(manual_title)" \
+       $(AM_V_GEN)test -z "$(manual_title)" \
          && { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
-       @cd '$(srcdir)/doc'; \
+       $(AM_V_at)cd '$(srcdir)/doc'; \
          $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
             -o '$(abs_builddir)/doc/manual' \
             --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
            "$(PACKAGE_NAME) - $(manual_title)"
-       @echo " *** Upload the doc/manual directory to web-cvs."
+       $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs."
+
+.PHONY: web-manual-update
+web-manual-update:
+       $(AM_V_GEN)cd $(srcdir) \
+         && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir)
+
 
 # Code Coverage
 
@@ -1401,12 +1614,40 @@ gen-coverage:
                --highlight --frames --legend \
                --title "$(PACKAGE_NAME)"
 
-coverage: init-coverage build-coverage gen-coverage
+coverage:
+       $(MAKE) init-coverage
+       $(MAKE) build-coverage
+       $(MAKE) gen-coverage
+
+# Some projects carry local adjustments for gnulib modules via patches in
+# a gnulib patch directory whose default name is gl/ (defined in bootstrap
+# via local_gl_dir=gl).  Those patches become stale as the originals evolve
+# in gnulib.  Use this rule to refresh any stale patches.  It applies each
+# patch to the original in $(gnulib_dir) and uses the temporary result to
+# generate a fuzz-free .diff file.  If you customize the name of your local
+# gnulib patch directory via bootstrap.conf, this rule detects that name.
+# Run this from a non-VPATH (i.e., srcdir) build directory.
+.PHONY: refresh-gnulib-patches
+refresh-gnulib-patches:
+       gl=gl;                                                          \
+       if test -f bootstrap.conf; then                                 \
+         t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;'        \
+              -e 'END{defined $$d and print $$d}' bootstrap.conf);     \
+         test -n "$$t" && gl=$$t;                                      \
+       fi;                                                             \
+       for diff in $$(cd $$gl; git ls-files | $(GREP) '\.diff$$'); do  \
+         b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//');               \
+         VERSION_CONTROL=none                                          \
+           patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
+         ( cd $(gnulib_dir) || exit 1;                                 \
+           git diff "$$b" > "../$$gl/$$diff";                          \
+           git checkout $$b ) || exit 1;                               \
+       done
 
 # Update gettext files.
 PACKAGE ?= $(shell basename $(PWD))
 PO_DOMAIN ?= $(PACKAGE)
-POURL = http://translationproject.org/latest/$(PO_DOMAIN)/
+POURL = https://translationproject.org/latest/$(PO_DOMAIN)/
 PODIR ?= po
 refresh-po:
        rm -f $(PODIR)/*.po && \
@@ -1414,14 +1655,35 @@ refresh-po:
        wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \
        echo 'en@boldquot' > $(PODIR)/LINGUAS && \
        echo 'en@quot' >> $(PODIR)/LINGUAS && \
-       ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS
+       ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \
+         sort >> $(PODIR)/LINGUAS
+
+# Indentation
 
- # Running indent once is not idempotent, but running it twice is.
+indent_args ?= -ppi 1
+C_SOURCES ?= $$($(VC_LIST_EXCEPT) | grep '\.[ch]\(.in\)\?$$')
 INDENT_SOURCES ?= $(C_SOURCES)
+exclude_file_name_regexp--indent ?= $(exclude_file_name_regexp--sc_indent)
+
 .PHONY: indent
-indent:
-       indent $(INDENT_SOURCES)
-       indent $(INDENT_SOURCES)
+indent: # Running indent once is not idempotent, but running it twice is.
+       $(AM_V_GEN)indent $(indent_args) $(INDENT_SOURCES) && \
+       indent $(indent_args) $(INDENT_SOURCES)
+
+sc_indent:
+       @if ! indent --version 2> /dev/null | grep 'GNU indent' > /dev/null; then \
+           echo 1>&2 '$(ME): sc_indent: GNU indent is missing';        \
+       else                                                            \
+         fail=0; files="$(INDENT_SOURCES)";                            \
+         for f in $$files; do                                          \
+           indent $(indent_args) -st $$f                               \
+               | indent $(indent_args) -st -                           \
+               | diff -u $$f - || fail=1;                              \
+         done;                                                         \
+         test $$fail = 1 &&                                            \
+           { echo 1>&2 '$(ME): code format error, try "make indent"';  \
+             exit 1; } || :;                                           \
+       fi
 
 # If you want to set UPDATE_COPYRIGHT_* environment variables,
 # put the assignments in this variable.
@@ -1436,7 +1698,7 @@ update-copyright-env ?=
 # in the file .x-update-copyright.
 .PHONY: update-copyright
 update-copyright:
-       grep -l -w Copyright                                             \
+       $(AM_V_GEN)$(GREP) -l -w Copyright                               \
          $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
          | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
 
@@ -1450,9 +1712,9 @@ _gl_TS_dir ?= src
 ALL_RECURSIVE_TARGETS += sc_tight_scope
 sc_tight_scope: tight-scope.mk
        @fail=0;                                                        \
-       if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk        \
+       if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk     \
                > /dev/null                                             \
-          && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
+          && ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
                > /dev/null 2>&1; then                                  \
            echo '$(ME): skipping $@';                                  \
        else                                                            \
@@ -1467,9 +1729,8 @@ sc_tight_scope: tight-scope.mk
        exit $$fail
 
 tight-scope.mk: $(ME)
-       @rm -f $@ $@-t
        @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t
-       @chmod a=r $@-t && mv $@-t $@
+       @mv $@-t $@
 
 ifeq (a,b)
 # TS-start
@@ -1480,7 +1741,7 @@ ifeq (a,b)
 # do not need to be marked.  Symbols matching '__.*' are
 # reserved by the compiler, so are automatically excluded below.
 _gl_TS_unmarked_extern_functions ?= main usage
-_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
+_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\w+) *\(/
 
 # If your project uses a macro like "XTERN", then put
 # the following in cfg.mk to override this default:
@@ -1500,8 +1761,8 @@ _gl_TS_unmarked_extern_vars ?=
 # a macro like this: GLOBAL(type, var_name, initializer), then you
 # can override this definition to automatically extract those names:
 # export _gl_TS_var_match = \
-#   /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/
-_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/
+#   /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/
+_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?])?;/
 
 # The names of object files in (or relative to) $(_gl_TS_dir).
 _gl_TS_obj_files ?= *.$(OBJEXT)
@@ -1509,9 +1770,11 @@ _gl_TS_obj_files ?= *.$(OBJEXT)
 # Files in which to search for the one-line style extern declarations.
 # $(_gl_TS_dir)-relative.
 _gl_TS_headers ?= $(noinst_HEADERS)
+_gl_TS_other_headers ?= *.h
 
 .PHONY: _gl_tight_scope
 _gl_tight_scope: $(bin_PROGRAMS)
+       sed_wrap='s/^/^_?/;s/$$/$$/';                                   \
        t=exceptions-$$$$;                                              \
        trap 's=$$?; rm -f $$t; exit $$s' 0;                            \
        for sig in 1 2 3 13 15; do                                      \
@@ -1521,20 +1784,21 @@ _gl_tight_scope: $(bin_PROGRAMS)
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
        hdr=`for f in $(_gl_TS_headers); do                             \
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
-       ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions);  \
-         grep -h -A1 '^extern .*[^;]$$' $$src                          \
-           | grep -vE '^(extern |--)' | sed 's/ .*//';                 \
+       ( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions);     \
+         $(GREP) -h -A1 '^extern .*[^;]$$' $$src                       \
+           | $(GREP) -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \
          perl -lne                                                     \
-            '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr;      \
-       ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \
+            '$(_gl_TS_function_match) and print $$1' $$hdr;            \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
+       nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|$(GREP) -Ev -f $$t \
          && { echo the above functions should have static scope >&2;   \
               exit 1; } || : ;                                         \
-       ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars);       \
-         perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \
-       ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p'          \
-            | sort -u | grep -Ev -f $$t                                        \
+       ( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars);     \
+         perl -lne '$(_gl_TS_var_match) and print $$1'                 \
+               $$hdr $(_gl_TS_other_headers)                           \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
+       nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
+            | sort -u | $(GREP) -Ev -f $$t                             \
          && { echo the above variables should have static scope >&2;   \
               exit 1; } || :
 # TS-end
index 848cf08..388aa7f 100644 (file)
@@ -1,14 +1,16 @@
 Name:           libidn
-Version:        1.25
+Version:        1.42
 Release:        0
-License:        (GPL-2.0+ or LGPL-3.0+) and GPL-3.0+
+License:        (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later AND Apache-2.0
 Summary:        Support for Internationalized Domain Names (IDN)
 Url:            http://www.gnu.org/software/libidn/
-Group:          System/Libraries
+Group:          Development/Libraries/C and C++
 Source0:        http://ftp.gnu.org/gnu/libidn/libidn-%{version}.tar.gz
 Source1:        baselibs.conf
 Source1001:    libidn.manifest
 BuildRequires:  pkgconfig
+BuildRequires:  help2man
+BuildRequires:  makeinfo
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -49,21 +51,22 @@ IDNA is supported.
 cp %{SOURCE1001} .
 
 %build
-%configure --with-pic --disable-static --disable-gtk-doc
+%configure --disable-silent-rules --disable-static --disable-gtk-doc
 make %{?_smp_mflags}
 
 %check
 %if ! 0%{?qemu_user_space_build}
-make check
+make check %{?_smp_mflags}
 %endif
 
 %install
 %make_install
-rm -f %{buildroot}/%{_infodir}/dir
-rm -f %{buildroot}%{_libdir}/libidn.la
+find %{buildroot} -type f -name "*.la" -delete -print
+
 %find_lang %{name}
 
 
+
 %post -p /sbin/ldconfig
 
 %postun
index 27686a9..fb12064 100644 (file)
@@ -1,18 +1,23 @@
-en@boldquot
-en@quot
 cs
 da
 de
 eo
+es
 fi
 fr
+hr
+hu
 id
 it
 ja
+ka
+ko
 nl
 pl
+pt_BR
 ro
 sr
+sv
 uk
 vi
 zh_CN
index 83d8838..38c293d 100644 (file)
@@ -1,20 +1,19 @@
 # Makefile for PO directory in any package using GNU gettext.
 # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
 #
-# Origin: gettext-0.18
-GETTEXT_MACRO_VERSION = 0.18
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
+SED = @SED@
 SHELL = /bin/sh
 @SET_MAKE@
 
@@ -44,6 +43,11 @@ install_sh = $(SHELL) @install_sh@
 MKDIR_P = @MKDIR_P@
 mkdir_p = @mkdir_p@
 
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs.  However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
 GMSGFMT_ = @GMSGFMT@
 GMSGFMT_no = @GMSGFMT@
 GMSGFMT_yes = @GMSGFMT_015@
@@ -76,6 +80,16 @@ POTFILES = \
 
 CATALOGS = @CATALOGS@
 
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
 # Makevars gets inserted here. (Don't remove this line!)
 
 .SUFFIXES:
@@ -96,14 +110,14 @@ CATALOGS = @CATALOGS@
        mv t-$@ $@
 
 
-all: check-macro-version all-@USE_NLS@
+all: all-@USE_NLS@
 
 all-yes: stamp-po
 all-no:
 
 # Ensure that the gettext macros and this Makefile.in.in are in sync.
-check-macro-version:
-       @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
          || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
               exit 1; \
             }
@@ -123,6 +137,7 @@ check-macro-version:
 # $(POFILES) has been designed to not touch files that don't need to be
 # changed.
 stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
        test ! -f $(srcdir)/$(DOMAIN).pot || \
          test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
        @test ! -f $(srcdir)/$(DOMAIN).pot || { \
@@ -137,11 +152,29 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
 
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-       if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
-         package_gnu='GNU '; \
+       package_gnu="$(PACKAGE_GNU)"; \
+       test -n "$$package_gnu" || { \
+         if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+                LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+                              -size -10000000c -exec grep 'GNU @PACKAGE@' \
+                              /dev/null '{}' ';' 2>/dev/null; \
+              else \
+                LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+              fi; \
+            } | grep -v 'libtool:' >/dev/null; then \
+            package_gnu=yes; \
+          else \
+            package_gnu=no; \
+          fi; \
+       }; \
+       if test "$$package_gnu" = "yes"; then \
+         package_prefix='GNU '; \
        else \
-         package_gnu=''; \
+         package_prefix=''; \
        fi; \
        if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
          msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
@@ -161,12 +194,17 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
              --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
              --files-from=$(srcdir)/POTFILES.in \
              --copyright-holder='$(COPYRIGHT_HOLDER)' \
-             --package-name="$${package_gnu}@PACKAGE@" \
+             --package-name="$${package_prefix}@PACKAGE@" \
              --package-version='@VERSION@' \
              --msgid-bugs-address="$$msgid_bugs_address" \
            ;; \
        esac
        test ! -f $(DOMAIN).po || { \
+         if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+           sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+           cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+           rm -f $(DOMAIN).1po; \
+         fi; \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
            sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
            sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
@@ -189,13 +227,14 @@ $(srcdir)/$(DOMAIN).pot:
 
 # This target rebuilds a PO file if $(DOMAIN).pot has changed.
 # Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
+$(POFILES): $(POFILESDEPS)
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
        if test -f "$(srcdir)/$${lang}.po"; then \
+         test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
          echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
          cd $(srcdir) \
-           && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+           && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
                   '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
                     $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
                   *) \
@@ -352,7 +391,7 @@ maintainer-clean: distclean
 
 distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
 dist distdir:
-       $(MAKE) update-po
+       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
        @$(MAKE) dist2
 # This is a separate target because 'update-po' must be executed before.
 dist2: stamp-po $(DISTFILES)
@@ -396,7 +435,7 @@ update-po: Makefile
 
 .nop.po-update:
        @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
-       if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
index 7bd29b2..0003e29 100644 (file)
@@ -8,7 +8,12 @@ subdir = po
 top_builddir = ..
 
 # These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \
+            \
+ --flag=_:1:pass-c-format\
+ --flag=N_:1:pass-c-format\
+ --flag=error:3:c-format --flag=error_at_line:5:c-format\
+ $${end_of_xgettext_options+}
 
 # This is the copyright holder that gets inserted into the header of the
 # $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
@@ -18,7 +23,14 @@ XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
 # or entity, or to disclaim their copyright.  The empty string stands for
 # the public domain; in this case the translators are expected to disclaim
 # their copyright.
-COPYRIGHT_HOLDER = Simon Josefsson
+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU =
 
 # This is the email address or URL to which the translators shall report
 # bugs in the untranslated strings:
@@ -38,4 +50,34 @@ MSGID_BUGS_ADDRESS = bug-libidn@gnu.org
 
 # This is the list of locale categories, beyond LC_MESSAGES, for which the
 # message catalogs shall be used.  It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
+EXTRA_LOCALE_CATEGORIES = 
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
index af52487..baf6528 100644 (file)
@@ -1,3 +1,4 @@
+# This file, Rules-quot, can be copied and used freely without restrictions.
 # Special Makefile rules for English message catalogs with quotation marks.
 
 DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
@@ -14,13 +15,23 @@ en@boldquot.po-update: en@boldquot.po-update-en
 
 .insert-header.po-update-en:
        @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
-       if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        ll=`echo $$lang | sed -e 's/@.*//'`; \
        LC_ALL=C; export LC_ALL; \
        cd $(srcdir); \
-       if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+       if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+          | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+          { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+            '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+              $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+              ;; \
+            *) \
+              $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+              ;; \
+            esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+            ; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
            rm -f $$tmpdir/$$lang.new.po; \
          else \
index 5b9f38c..756a46b 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index a40a6d2..1fcbea5 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,23 +1,24 @@
 # Czech translation for libidn.
 # Copyright (C) 2007 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
-# Petr Pisar <petr.pisar@atlas.cz>, 2007, 2008, 2011.
+# Petr Pisar <petr.pisar@atlas.cz>, 2007, 2008, 2011, 2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.21\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-04-28 20:24+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-23 20:30+02:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Úspěch"
 
@@ -34,7 +35,7 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Znak jiný než číslice/písmeno/spojovník na vstupu"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Zakázaný úvodní nebo závěrečný spojovník („-“)"
 
 #: lib/strerror-idna.c:102
@@ -42,7 +43,7 @@ msgid "Output would be too large or too small"
 msgstr "Výstup by byl příliš dlouhý nebo příliš krátký"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Vstup nezačíná předponou ACE („xn--“)"
 
 #: lib/strerror-idna.c:110
@@ -50,14 +51,14 @@ msgid "String not idempotent under ToASCII"
 msgstr "Řetězec není po ToASCII idempotentní"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Vstup již obsahuje předponu ACE („xn--“)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Selhal systémový iconv"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Chyba při překladu kódování znaků"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Nelze vyhradit paměť"
 
@@ -66,7 +67,7 @@ msgid "System dlopen failed"
 msgstr "Selhalo volání systému dlopen"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Neznámá chyba"
 
@@ -78,7 +79,7 @@ msgstr "Řetězec není po unicodové NFKC normalizaci idempotentní"
 msgid "Invalid input"
 msgstr "Neplatný vstup"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Výstup by se nevešel do poskytnuté vyrovnávací paměti"
 
@@ -86,39 +87,39 @@ msgstr "Výstup by se nevešel do poskytnuté vyrovnávací paměti"
 msgid "String size limit exceeded"
 msgstr "Omezení délky řetězce bylo překonáno"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Na vstupu zakázaná nepřiřazená ordinární čísla"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Na vstupu zakázaná ordinární čísla"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Na vstupu rozporné příkazy pro směr textu"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Chybně utvořený obousměrný řetězec"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Na vstupu zakázaná ordinární čísla pro obousměrný text"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Chyba v definici profilu pro stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Příznak neslučitelný s profilem"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Neznámý profil"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Unicodová normalizace selhala (vnitřní chyba)"
 
@@ -136,7 +137,7 @@ msgstr "Ve vstupu chybí vrcholová doména"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "Další informace získáte příkazem „%s --help“.\n"
 
 #: src/idn.c:69
@@ -158,11 +159,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -170,7 +171,7 @@ msgstr ""
 "jmen pro prostředí příkazového řádku.\n"
 "\n"
 "Všechny řetězce jsou očekávány ve znakové sadě upřednostňované vaším\n"
-"národním prostředím. Která sada to je, zjistíte přepínačem „--debug“. Jinou\n"
+"národním prostředím. Která sada to je, zjistíte přepínačem --debug. Jinou\n"
 "znakovou sadu můžete vnutit nastavením proměnné prostředí CHARSET.\n"
 "\n"
 "Je-li třeba pracovat s řetězcem začínající znakem „-“ (např. „-foo“), "
@@ -230,16 +231,14 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=ŘETĚZEC    Použije zadaný stringprep profil.\n"
-"                           Platné stringprep profily jsou: „Nameprep“,\n"
-"                           „iSCSI“, „Nodeprep“, „Resourceprep“, „trace“ a \n"
-"                           „SASLprep“\n"
+"                           Platné stringprep profily jsou: Nameprep\n"
+"                           iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -247,17 +246,17 @@ msgstr ""
 "      --debug              Vypíše ladicí informace\n"
 "      --quiet              Pracuje potichu\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "Pouze jeden přepínač z -s, -e, -d, -a, -u nebo -n smí být zadán."
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Znaková sada „%s“.\n"
+msgid "Charset: %s\n"
+msgstr "Znaková sada: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -266,81 +265,90 @@ msgstr ""
 "Pište po jednom vstupním řetězci na jednom řádku zakončeným znakem nového "
 "řádku.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "chyba na vstupu"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "nelze převést z %s do UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "nelze převést z UTF-8 do UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile (profil pro přípravu řetězce): %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "nelze převést z UTF-8 do %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode (zakódování do Punycodu): %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode (dekódování Punycodu): %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "nelze převést z UCS-4 do UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (pozice %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "nebylo možné znormalizovat do NFKC"
 
+#~ msgid "System iconv failed"
+#~ msgstr "Selhal systémový iconv"
+
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <%s>.\n"
index aefd003..47c27f0 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 9f923be..11e73ec 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1,24 +1,27 @@
 # Danish translation of the libidn gettext message catalogue
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
-# Morten Bo Johansen <mbj@spamcop.net>, 2004-2011
+# Morten Bo Johansen <mbj@spamcop.net>, 2004-2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2015.
+# Korrekturlæsning 2015: Aputsiak Niels Janussen.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn 1.29\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-01-03 17:38+0100\n"
-"Last-Translator: Morten Bo Johansen <mbj@spamcop.net>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2015-08-16 17:38+0100\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Generator: Jed w/po-mode (http://jedsoft.org)\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Lykkedes"
 
@@ -35,7 +38,8 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Ikke-ciffer/bogstav/bindestreg i inddata"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Må ikke begynde eller slutte med minustegn (\"-\")"
 
 #: lib/strerror-idna.c:102
@@ -43,7 +47,8 @@ msgid "Output would be too large or too small"
 msgstr "Mængden af uddata ville blive for stor eller lille"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Inddata begynder ikke med et ACE-præfiks (\"xn--\")"
 
 #: lib/strerror-idna.c:110
@@ -51,14 +56,15 @@ msgid "String not idempotent under ToASCII"
 msgstr "Tekststreng er ikke idempotent under ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Inddata indeholder allerede et ACE-præfiks (\"xn--\")"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Systemkald til iconv mislykkedes"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Kan ikke tildele hukommelse"
 
@@ -67,7 +73,7 @@ msgid "System dlopen failed"
 msgstr "Systemkald til dlopen mislykkedes"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Ukendt fejl"
 
@@ -79,7 +85,7 @@ msgstr "Tekststreng er ikke idempotent under Unicode NFKC-normalisering"
 msgid "Invalid input"
 msgstr "Ugyldige inddata"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Størrelse på uddata ville overstige tildelt plads i buffer"
 
@@ -87,45 +93,45 @@ msgstr "Størrelse på uddata ville overstige tildelt plads i buffer"
 msgid "String size limit exceeded"
 msgstr "Grænse for størrelse på tekststreng overskredet"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Der er forbudte, ikke-tildelte kodepunkter i inddata"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Der er forbudte kodepunkter i inddata"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Konflikter mellem tovejsegenskaber i inddata"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Misdannet tovejstekststreng"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Forbudte tovejskodepunkter i inddata"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Fejl i definition af stringprep-profil"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Konflikt mellem flag og profil"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Ukendt profil"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Normalisering af unicode mislykkedes (intern fejl)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr "Kodepunkter ikke tilladt af top-domæne"
+msgstr "Kodepunkter tillades ikke af domæne på øverste niveau"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
@@ -136,8 +142,8 @@ msgid "No top-level domain found in input"
 msgstr "Fandt ikke et top-domæne i inddata"
 
 #: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
 msgstr "Prøv \"%s --help\" for yderligere information.\n"
 
 #: src/idn.c:69
@@ -154,15 +160,16 @@ msgstr ""
 "\n"
 
 #: src/idn.c:76
+#, fuzzy
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -205,21 +212,21 @@ msgstr ""
 "  -u, --idna-to-unicode    Omdan fra ACE ifølge IDNA\n"
 
 #: src/idn.c:99
-#, fuzzy
 msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   Slå IDNA AllowUnassigned til/fra\n"
-"      --usestd3asciirules  Slå IDNA UseSTD3ASCIIRules til/fra\n"
+"      --allow-unassigned   Slå IDNA AllowUnassigned til/fra (standard fra)\n"
+"      --usestd3asciirules  Slå IDNA UseSTD3ASCIIRules til/fra (standard "
+"fra)\n"
 
 #: src/idn.c:103
-#, fuzzy
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"  -t, --tld                Kontrollér tekststring for TLD-specifikke regler\n"
+"      --no-tld             Kontroller ikke tekststring for TLD-specifikke "
+"regler\n"
 "                             Gælder kun --idna-to-ascii og --idna-to-"
 "unicode\n"
 
@@ -230,18 +237,18 @@ msgstr ""
 "  -n, --nfkc               Normalisér tekststreng i.h.t. Unicode v3.2 NFKC\n"
 
 #: src/idn.c:110
+#, fuzzy
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=STRENG     Brug angivet stringprep-profil i stedet\n"
 "                             Gyldige stringprep-profiler: \"Nameprep\",\n"
 "                             \"iSCSI\", \"Nodeprep\", \"Resourceprep\", \n"
 "                             \"trace\", \"SASLprep\"\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -249,17 +256,17 @@ msgstr ""
 "      --debug              Udskriv fejlsøgnings-information\n"
 "      --quiet              Ingen uddata under udførelse\n"
 
-#: src/idn.c:172
-#, fuzzy, c-format
+#: src/idn.c:173
+#, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Kun ét af argumenterne -s, -e, -d, -a, -u eller -n kan angives."
+msgstr "Kun ét af argumenterne -s, -e, -d, -a, -u eller -n kan angives"
 
 #: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
+#, fuzzy, c-format
+msgid "Charset: %s\n"
 msgstr "Tegnsæt \"%s\".\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -267,84 +274,86 @@ msgid ""
 msgstr ""
 "Indtast hver streng på en særskilt linje, afsluttet med et nylinje-tegn.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
-#, fuzzy, c-format
+#, c-format
 msgid "input error"
-msgstr "Fejl i inddata"
+msgstr "fejl i inddata"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, fuzzy, c-format
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "Kunne ikke omdanne fra %s til UTF-8."
+msgstr "kunne ikke omdanne fra %s til UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, fuzzy, c-format
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Kunne ikke omdanne fra UTF-8 til UCS-4."
+msgstr "kunne ikke omdanne fra UTF-8 til UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, fuzzy, c-format
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "Kunne ikke omdanne fra UTF-8 til %s."
+msgstr "kunne ikke omdanne fra UTF-8 til %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
-msgstr ""
+msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, fuzzy, c-format
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Kunne ikke omdanne fra UCS-4 til UTF-8."
+msgstr "kunne ikke omdanne fra UCS-4 til UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (position %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
-#, fuzzy, c-format
+#: src/idn.c:542
+#, c-format
 msgid "could not do NFKC normalization"
-msgstr "Kunne ikke udføre NFKC-normalisering."
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Send fejlrapporter til <%s>.\n"
+msgstr "kunne ikke udføre NFKC-normalisering"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Systemkald til iconv mislykkedes"
index c598541..a39ef47 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index c2bce52..b938693 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,25 +1,25 @@
 # German translation of libidn.
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
-# Roland Illig <roland.illig@gmx.de>, 2004.
-# Roland Illig <roland.illig@gmx.de>, 2009.
-# Roland Illig <roland.illig@gmx.de>, 2011.
+# Roland Illig <roland.illig@gmx.de>, 2004, 2009, 2011, 2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.21\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-05-02 18:51+0100\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-23 19:49+0200\n"
 "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.3.1\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Erfolg"
 
@@ -33,33 +33,34 @@ msgstr "Punycode fehlgeschlagen"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr "Unerlaubtes Zeichen in der Eingabe"
+msgstr "Nur Ziffern, Buchstaben und Bindestriche sind in der Eingabe erlaubt"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Verbotenes Minuszeichen am Anfang oder am Ende"
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Verbotenes Minuszeichen (»-«) am Anfang oder am Ende"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
-msgstr "Ergebnis wäre zu groß oder zu klein"
+msgstr "Ausgabe wäre zu groß oder zu klein"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Eingabe beginnt nicht mit dem ACE-Präfix (»xn--«)"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
-msgstr "String verändert sich durch ToASCII"
+msgstr "String darf sich durch ToASCII nicht verändern"
 
+# typo in the English text: "contain" should be "contains"
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Eingabe enthält bereits das ACE-Präfix (»xn--«)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "System-iconv fehlgeschlagen"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Fehler beim Umwandeln zwischen Zeichencodierungen"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Nicht genug Speicher"
 
@@ -68,7 +69,7 @@ msgid "System dlopen failed"
 msgstr "System-dlopen fehlgeschlagen"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Unbekannter Fehler"
 
@@ -80,7 +81,7 @@ msgstr "String verändert sich durch Unicode-NFKC-Normalisierung"
 msgid "Invalid input"
 msgstr "Ungültige Eingabe"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Ausgabe würde den vorhandenen Pufferspeicher überfluten"
 
@@ -88,41 +89,41 @@ msgstr "Ausgabe würde den vorhandenen Pufferspeicher überfluten"
 msgid "String size limit exceeded"
 msgstr "String-Größenbegrenzung überschritten"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
-msgstr "Verbotene unzugeordnete Codepunkte in der Eingabe"
+msgstr "Verbotene nicht zugeordnete Codepunkte in der Eingabe"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Verbotene Codepunkte in der Eingabe"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Widersprüchliche bidirektional-Eigenschaften in der Eingabe"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Ungültiger Bidirektional-String"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Verbotene bidirektionale Codepunkte in der Eingabe"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Fehler in der Stringprep-Profildefinition"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Flag-Konflikt mit dem Profil"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Unbekanntes Profil"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
-msgstr "Unicode-Normalisierung fehlgeschlagen (Interner Fehler)"
+msgstr "Interner Fehler bei Unicode-Normalisierung"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
@@ -138,13 +139,13 @@ msgstr "Keine Top-Level-Domain in der Eingabe gefunden"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Versuchen Sie »%s --help« für mehr Informationen.\n"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Rufen Sie »%s --help« für weitere Informationen auf.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Aufruf: %s [OPTION]... [STRINGS]...\n"
+msgstr "Aufruf: %s [OPTION]… [STRINGS]…\n"
 
 #: src/idn.c:72
 msgid ""
@@ -160,11 +161,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -233,35 +234,35 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=STRING     Angegebenes stringprep-Profil benutzen\n"
-"                             Gültige stringprep-Profile: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"  -p, --profile=STRING     Angegebenes stringprep-Profil benutzen.\n"
+"                             Gültige stringprep-Profile: »Nameprep«,\n"
+"                             »iSCSI«, »Nodeprep«, »Resourceprep«, \n"
+"                             »trace«, »SASLprep«\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 "      --debug              Debugging-Informationen ausgeben\n"
-"      --quiet              Ruhig arbeiten\n"
+"      --quiet              Still arbeiten\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr ""
-"Nur eins von »-s«, »-e«, »-d«, »-a«, »-u« oder »-n« kann angegeben werden."
+"Nur eine der Optionen »-s«, »-e«, »-d«, »-a«, »-u« oder »-n« kann angegeben "
+"werden."
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Zeichensatz »%s«.\n"
+msgid "Charset: %s\n"
+msgstr "Zeichensatz: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -270,80 +271,89 @@ msgstr ""
 "Geben Sie jede Eingabezeichenkette in einer eigenen Zeile ein, durch einen "
 "Zeilenumbruch abgeschlossen.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "Eingabefehler"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "Konnte nicht von %s nach UTF-8 konvertieren."
+msgstr "Fehler beim Konvertieren von %s nach UTF-8."
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Konnte nicht von UTF-8 nach UCS-4 konvertieren."
+msgstr "Fehler beim Konvertieren von UTF-8 nach UCS-4."
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "Konnte nicht von UTF-8 nach %s konvertieren."
+msgstr "Fehler beim Konvertieren von UTF-8 nach %s."
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Konnte nicht von UCS-4 nach UTF-8 konvertieren."
+msgstr "Fehler beim Konvertieren von UCS-4 nach UTF-8."
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (Position %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
-msgstr "Konnte die NFKC-Normalisierung nicht ausführen."
+msgstr "Fehler bei NFKC-Normalisierung."
+
+#~ msgid "System iconv failed"
+#~ msgstr "System-iconv fehlgeschlagen"
 
 #~ msgid ""
 #~ "\n"
diff --git a/po/en@boldquot.gmo b/po/en@boldquot.gmo
deleted file mode 100644 (file)
index c9ff83c..0000000
Binary files a/po/en@boldquot.gmo and /dev/null differ
diff --git a/po/en@boldquot.po b/po/en@boldquot.po
deleted file mode 100644 (file)
index f9e3bc3..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-# English translations for libidn package.
-# Copyright (C) 2012 Simon Josefsson
-# This file is distributed under the same license as the libidn package.
-# Automatically generated, 2012.
-#
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: libidn 1.25\n"
-"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-05-23 10:37+0200\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: en@boldquot\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
-msgid "Success"
-msgstr "Success"
-
-#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
-msgid "String preparation failed"
-msgstr "String preparation failed"
-
-#: lib/strerror-idna.c:90
-msgid "Punycode failed"
-msgstr "Punycode failed"
-
-#: lib/strerror-idna.c:94
-msgid "Non-digit/letter/hyphen in input"
-msgstr "Non-digit/letter/hyphen in input"
-
-#: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Forbidden leading or trailing minus sign (‘\e[1m-\e[0m’)"
-
-#: lib/strerror-idna.c:102
-msgid "Output would be too large or too small"
-msgstr "Output would be too large or too small"
-
-#: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Input does not start with ACE prefix (‘\e[1mxn--\e[0m’)"
-
-#: lib/strerror-idna.c:110
-msgid "String not idempotent under ToASCII"
-msgstr "String not idempotent under ToASCII"
-
-#: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Input already contain ACE prefix (‘\e[1mxn--\e[0m’)"
-
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "System iconv failed"
-
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
-msgid "Cannot allocate memory"
-msgstr "Cannot allocate memory"
-
-#: lib/strerror-idna.c:126
-msgid "System dlopen failed"
-msgstr "System dlopen failed"
-
-#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
-msgid "Unknown error"
-msgstr "Unknown error"
-
-#: lib/strerror-pr29.c:70
-msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "String not idempotent under Unicode NFKC normalization"
-
-#: lib/strerror-punycode.c:70
-msgid "Invalid input"
-msgstr "Invalid input"
-
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
-msgid "Output would exceed the buffer space provided"
-msgstr "Output would exceed the buffer space provided"
-
-#: lib/strerror-punycode.c:78
-msgid "String size limit exceeded"
-msgstr "String size limit exceeded"
-
-#: lib/strerror-stringprep.c:90
-msgid "Forbidden unassigned code points in input"
-msgstr "Forbidden unassigned code points in input"
-
-#: lib/strerror-stringprep.c:94
-msgid "Prohibited code points in input"
-msgstr "Prohibited code points in input"
-
-#: lib/strerror-stringprep.c:98
-msgid "Conflicting bidirectional properties in input"
-msgstr "Conflicting bidirectional properties in input"
-
-#: lib/strerror-stringprep.c:102
-msgid "Malformed bidirectional string"
-msgstr "Malformed bidirectional string"
-
-#: lib/strerror-stringprep.c:106
-msgid "Prohibited bidirectional code points in input"
-msgstr "Prohibited bidirectional code points in input"
-
-#: lib/strerror-stringprep.c:114
-msgid "Error in stringprep profile definition"
-msgstr "Error in stringprep profile definition"
-
-#: lib/strerror-stringprep.c:118
-msgid "Flag conflict with profile"
-msgstr "Flag conflict with profile"
-
-#: lib/strerror-stringprep.c:122
-msgid "Unknown profile"
-msgstr "Unknown profile"
-
-#: lib/strerror-stringprep.c:126
-msgid "Unicode normalization failed (internal error)"
-msgstr "Unicode normalization failed (internal error)"
-
-#: lib/strerror-tld.c:72
-msgid "Code points prohibited by top-level domain"
-msgstr "Code points prohibited by top-level domain"
-
-#: lib/strerror-tld.c:76
-msgid "Missing input"
-msgstr "Missing input"
-
-#: lib/strerror-tld.c:88
-msgid "No top-level domain found in input"
-msgstr "No top-level domain found in input"
-
-#: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Try ‘\e[1m%s --help\e[0m’ for more information.\n"
-
-#: src/idn.c:69
-#, c-format
-msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Usage: %s [OPTION]... [STRINGS]...\n"
-
-#: src/idn.c:72
-msgid ""
-"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
-"\n"
-msgstr ""
-"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
-"\n"
-
-#: src/idn.c:76
-msgid ""
-"Command line interface to the internationalized domain name library.\n"
-"\n"
-"All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
-"can override the charset used by setting environment variable CHARSET.\n"
-"\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Command line interface to the internationalized domain name library.\n"
-"\n"
-"All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use ‘\e[1m--debug\e[0m’ to find out what this charset is.  You\n"
-"can override the charset used by setting environment variable CHARSET.\n"
-"\n"
-"To process a string that starts with ‘\e[1m-\e[0m’, for example ‘\e[1m-foo\e[0m’, "
-"use ‘\e[1m--\e[0m’\n"
-"to signal the end of parameters, as in ‘\e[1midn --quiet -a -- -foo\e[0m’.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-
-#: src/idn.c:88
-msgid ""
-"  -h, --help               Print help and exit\n"
-"  -V, --version            Print version and exit\n"
-msgstr ""
-"  -h, --help               Print help and exit\n"
-"  -V, --version            Print version and exit\n"
-
-#: src/idn.c:92
-msgid ""
-"  -s, --stringprep         Prepare string according to nameprep profile\n"
-"  -d, --punycode-decode    Decode Punycode\n"
-"  -e, --punycode-encode    Encode Punycode\n"
-"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
-"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
-msgstr ""
-"  -s, --stringprep         Prepare string according to nameprep profile\n"
-"  -d, --punycode-decode    Decode Punycode\n"
-"  -e, --punycode-encode    Encode Punycode\n"
-"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
-"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
-
-#: src/idn.c:99
-msgid ""
-"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
-"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-msgstr ""
-"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
-"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-
-#: src/idn.c:103
-msgid ""
-"      --no-tld             Don't check string for TLD specific rules\n"
-"                             Only for --idna-to-ascii and --idna-to-unicode\n"
-msgstr ""
-"      --no-tld             Don't check string for TLD specific rules\n"
-"                             Only for --idna-to-ascii and --idna-to-unicode\n"
-
-#: src/idn.c:107
-msgid ""
-"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
-msgstr ""
-"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
-
-#: src/idn.c:110
-msgid ""
-"  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
-msgstr ""
-"  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: ‘\e[1mNameprep\e[0m’,\n"
-"                             ‘\e[1miSCSI\e[0m’, ‘\e[1mNodeprep\e[0m’, "
-"‘\e[1mResourceprep\e[0m’, \n"
-"                             ‘\e[1mtrace\e[0m’, ‘\e[1mSASLprep\e[0m’\n"
-
-#: src/idn.c:116
-msgid ""
-"      --debug              Print debugging information\n"
-"      --quiet              Silent operation\n"
-msgstr ""
-"      --debug              Print debugging information\n"
-"      --quiet              Silent operation\n"
-
-#: src/idn.c:172
-#, c-format
-msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "only one of -s, -e, -d, -a, -u or -n can be specified"
-
-#: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
-msgstr "Charset ‘\e[1m%s\e[0m’.\n"
-
-#: src/idn.c:187
-#, c-format
-msgid ""
-"Type each input string on a line by itself, terminated by a newline "
-"character.\n"
-msgstr ""
-"Type each input string on a line by itself, terminated by a newline "
-"character.\n"
-
-#: src/idn.c:202
-#, c-format
-msgid "input error"
-msgstr "input error"
-
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, c-format
-msgid "could not convert from %s to UTF-8"
-msgstr "could not convert from %s to UTF-8"
-
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, c-format
-msgid "could not convert from UTF-8 to UCS-4"
-msgstr "could not convert from UTF-8 to UCS-4"
-
-#: src/idn.c:237
-#, c-format
-msgid "stringprep_profile: %s"
-msgstr "stringprep_profile: %s"
-
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, c-format
-msgid "could not convert from UTF-8 to %s"
-msgstr "could not convert from UTF-8 to %s"
-
-#: src/idn.c:295
-#, c-format
-msgid "punycode_encode: %s"
-msgstr "punycode_encode: %s"
-
-#: src/idn.c:317
-msgid "malloc"
-msgstr "malloc"
-
-#: src/idn.c:323
-#, c-format
-msgid "punycode_decode: %s"
-msgstr "punycode_decode: %s"
-
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, c-format
-msgid "could not convert from UCS-4 to UTF-8"
-msgstr "could not convert from UCS-4 to UTF-8"
-
-#: src/idn.c:381
-#, c-format
-msgid "idna_to_ascii_4z: %s"
-msgstr "idna_to_ascii_4z: %s"
-
-#: src/idn.c:395
-#, c-format
-msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "idna_to_unicode_8z4z (TLD): %s"
-
-#: src/idn.c:409 src/idn.c:482
-#, c-format
-msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (position %lu): %s"
-
-#: src/idn.c:412 src/idn.c:488
-#, c-format
-msgid "tld_check_4z: %s"
-msgstr "tld_check_4z: %s"
-
-#: src/idn.c:461
-#, c-format
-msgid "idna_to_unicode_8z4z: %s"
-msgstr "idna_to_unicode_8z4z: %s"
-
-#: src/idn.c:540
-#, c-format
-msgid "could not do NFKC normalization"
-msgstr "could not do NFKC normalization"
diff --git a/po/en@quot.gmo b/po/en@quot.gmo
deleted file mode 100644 (file)
index d5ec5d9..0000000
Binary files a/po/en@quot.gmo and /dev/null differ
diff --git a/po/en@quot.po b/po/en@quot.po
deleted file mode 100644 (file)
index 8ea82fd..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-# English translations for libidn package.
-# Copyright (C) 2012 Simon Josefsson
-# This file is distributed under the same license as the libidn package.
-# Automatically generated, 2012.
-#
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: libidn 1.25\n"
-"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-05-23 10:37+0200\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: en@quot\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
-msgid "Success"
-msgstr "Success"
-
-#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
-msgid "String preparation failed"
-msgstr "String preparation failed"
-
-#: lib/strerror-idna.c:90
-msgid "Punycode failed"
-msgstr "Punycode failed"
-
-#: lib/strerror-idna.c:94
-msgid "Non-digit/letter/hyphen in input"
-msgstr "Non-digit/letter/hyphen in input"
-
-#: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Forbidden leading or trailing minus sign (‘-’)"
-
-#: lib/strerror-idna.c:102
-msgid "Output would be too large or too small"
-msgstr "Output would be too large or too small"
-
-#: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Input does not start with ACE prefix (‘xn--’)"
-
-#: lib/strerror-idna.c:110
-msgid "String not idempotent under ToASCII"
-msgstr "String not idempotent under ToASCII"
-
-#: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Input already contain ACE prefix (‘xn--’)"
-
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "System iconv failed"
-
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
-msgid "Cannot allocate memory"
-msgstr "Cannot allocate memory"
-
-#: lib/strerror-idna.c:126
-msgid "System dlopen failed"
-msgstr "System dlopen failed"
-
-#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
-msgid "Unknown error"
-msgstr "Unknown error"
-
-#: lib/strerror-pr29.c:70
-msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "String not idempotent under Unicode NFKC normalization"
-
-#: lib/strerror-punycode.c:70
-msgid "Invalid input"
-msgstr "Invalid input"
-
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
-msgid "Output would exceed the buffer space provided"
-msgstr "Output would exceed the buffer space provided"
-
-#: lib/strerror-punycode.c:78
-msgid "String size limit exceeded"
-msgstr "String size limit exceeded"
-
-#: lib/strerror-stringprep.c:90
-msgid "Forbidden unassigned code points in input"
-msgstr "Forbidden unassigned code points in input"
-
-#: lib/strerror-stringprep.c:94
-msgid "Prohibited code points in input"
-msgstr "Prohibited code points in input"
-
-#: lib/strerror-stringprep.c:98
-msgid "Conflicting bidirectional properties in input"
-msgstr "Conflicting bidirectional properties in input"
-
-#: lib/strerror-stringprep.c:102
-msgid "Malformed bidirectional string"
-msgstr "Malformed bidirectional string"
-
-#: lib/strerror-stringprep.c:106
-msgid "Prohibited bidirectional code points in input"
-msgstr "Prohibited bidirectional code points in input"
-
-#: lib/strerror-stringprep.c:114
-msgid "Error in stringprep profile definition"
-msgstr "Error in stringprep profile definition"
-
-#: lib/strerror-stringprep.c:118
-msgid "Flag conflict with profile"
-msgstr "Flag conflict with profile"
-
-#: lib/strerror-stringprep.c:122
-msgid "Unknown profile"
-msgstr "Unknown profile"
-
-#: lib/strerror-stringprep.c:126
-msgid "Unicode normalization failed (internal error)"
-msgstr "Unicode normalization failed (internal error)"
-
-#: lib/strerror-tld.c:72
-msgid "Code points prohibited by top-level domain"
-msgstr "Code points prohibited by top-level domain"
-
-#: lib/strerror-tld.c:76
-msgid "Missing input"
-msgstr "Missing input"
-
-#: lib/strerror-tld.c:88
-msgid "No top-level domain found in input"
-msgstr "No top-level domain found in input"
-
-#: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Try ‘%s --help’ for more information.\n"
-
-#: src/idn.c:69
-#, c-format
-msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Usage: %s [OPTION]... [STRINGS]...\n"
-
-#: src/idn.c:72
-msgid ""
-"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
-"\n"
-msgstr ""
-"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
-"\n"
-
-#: src/idn.c:76
-msgid ""
-"Command line interface to the internationalized domain name library.\n"
-"\n"
-"All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
-"can override the charset used by setting environment variable CHARSET.\n"
-"\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Command line interface to the internationalized domain name library.\n"
-"\n"
-"All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use ‘--debug’ to find out what this charset is.  You\n"
-"can override the charset used by setting environment variable CHARSET.\n"
-"\n"
-"To process a string that starts with ‘-’, for example ‘-foo’, use ‘--’\n"
-"to signal the end of parameters, as in ‘idn --quiet -a -- -foo’.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-
-#: src/idn.c:88
-msgid ""
-"  -h, --help               Print help and exit\n"
-"  -V, --version            Print version and exit\n"
-msgstr ""
-"  -h, --help               Print help and exit\n"
-"  -V, --version            Print version and exit\n"
-
-#: src/idn.c:92
-msgid ""
-"  -s, --stringprep         Prepare string according to nameprep profile\n"
-"  -d, --punycode-decode    Decode Punycode\n"
-"  -e, --punycode-encode    Encode Punycode\n"
-"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
-"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
-msgstr ""
-"  -s, --stringprep         Prepare string according to nameprep profile\n"
-"  -d, --punycode-decode    Decode Punycode\n"
-"  -e, --punycode-encode    Encode Punycode\n"
-"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
-"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
-
-#: src/idn.c:99
-msgid ""
-"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
-"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-msgstr ""
-"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
-"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-
-#: src/idn.c:103
-msgid ""
-"      --no-tld             Don't check string for TLD specific rules\n"
-"                             Only for --idna-to-ascii and --idna-to-unicode\n"
-msgstr ""
-"      --no-tld             Don't check string for TLD specific rules\n"
-"                             Only for --idna-to-ascii and --idna-to-unicode\n"
-
-#: src/idn.c:107
-msgid ""
-"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
-msgstr ""
-"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
-
-#: src/idn.c:110
-msgid ""
-"  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
-msgstr ""
-"  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: ‘Nameprep’,\n"
-"                             ‘iSCSI’, ‘Nodeprep’, ‘Resourceprep’, \n"
-"                             ‘trace’, ‘SASLprep’\n"
-
-#: src/idn.c:116
-msgid ""
-"      --debug              Print debugging information\n"
-"      --quiet              Silent operation\n"
-msgstr ""
-"      --debug              Print debugging information\n"
-"      --quiet              Silent operation\n"
-
-#: src/idn.c:172
-#, c-format
-msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "only one of -s, -e, -d, -a, -u or -n can be specified"
-
-#: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
-msgstr "Charset ‘%s’.\n"
-
-#: src/idn.c:187
-#, c-format
-msgid ""
-"Type each input string on a line by itself, terminated by a newline "
-"character.\n"
-msgstr ""
-"Type each input string on a line by itself, terminated by a newline "
-"character.\n"
-
-#: src/idn.c:202
-#, c-format
-msgid "input error"
-msgstr "input error"
-
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, c-format
-msgid "could not convert from %s to UTF-8"
-msgstr "could not convert from %s to UTF-8"
-
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, c-format
-msgid "could not convert from UTF-8 to UCS-4"
-msgstr "could not convert from UTF-8 to UCS-4"
-
-#: src/idn.c:237
-#, c-format
-msgid "stringprep_profile: %s"
-msgstr "stringprep_profile: %s"
-
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, c-format
-msgid "could not convert from UTF-8 to %s"
-msgstr "could not convert from UTF-8 to %s"
-
-#: src/idn.c:295
-#, c-format
-msgid "punycode_encode: %s"
-msgstr "punycode_encode: %s"
-
-#: src/idn.c:317
-msgid "malloc"
-msgstr "malloc"
-
-#: src/idn.c:323
-#, c-format
-msgid "punycode_decode: %s"
-msgstr "punycode_decode: %s"
-
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, c-format
-msgid "could not convert from UCS-4 to UTF-8"
-msgstr "could not convert from UCS-4 to UTF-8"
-
-#: src/idn.c:381
-#, c-format
-msgid "idna_to_ascii_4z: %s"
-msgstr "idna_to_ascii_4z: %s"
-
-#: src/idn.c:395
-#, c-format
-msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "idna_to_unicode_8z4z (TLD): %s"
-
-#: src/idn.c:409 src/idn.c:482
-#, c-format
-msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (position %lu): %s"
-
-#: src/idn.c:412 src/idn.c:488
-#, c-format
-msgid "tld_check_4z: %s"
-msgstr "tld_check_4z: %s"
-
-#: src/idn.c:461
-#, c-format
-msgid "idna_to_unicode_8z4z: %s"
-msgstr "idna_to_unicode_8z4z: %s"
-
-#: src/idn.c:540
-#, c-format
-msgid "could not do NFKC normalization"
-msgstr "could not do NFKC normalization"
index 0566924..2249a8f 100644 (file)
Binary files a/po/eo.gmo and b/po/eo.gmo differ
index d6edebc..5b32875 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,41 +1,48 @@
-# Translation of 'libidn' messages to Esperanto.
-# Esperantaj mesaĝoj por libidn.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Esperanto translations for GNU libidn.
+# Copyright (C) 2012 - 2020 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
-# Edmund GRIMLEY EVANS <edmundo@rano.org>, 2004-2005, 2007-2008.
 #
+# Tradukoj kiuj komencas per "##" estas mesaĝoj por erarspurado;
+# iliaj "msgid" devus malesti en ĉi tiu dosiero.
+#
+# Edmund GRIMLEY EVANS <edmundo@rano.org>, 2004, 2005, 2007, 2008.
+# Benno Schulenberg <benno@vertaalt.nl>, 2012.
+# Felipe Castro <fefcas@gmail.com>, 2020.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2008-09-01 09:40+0100\n"
-"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-08-16 11:31-0300\n"
+"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
 "Language: eo\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.3.1\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Sukceso"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr "Pretigo de signoĉeno malsukcesis"
+msgstr "Malsukcesis pretigo de signoĉeno"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
-msgstr "Punycode malsukcesis"
+msgstr "Malsukcesis 'Punycode'"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr "Signo ne-cifero/litero/dividstreko en enigo"
+msgstr "Litero/necifero/streketo en enigo"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Malpermesita minuso ('-') ĉe komenco aŭ fino"
 
 #: lib/strerror-idna.c:102
@@ -43,89 +50,89 @@ msgid "Output would be too large or too small"
 msgstr "Eligo estus tro granda aŭ tro malgranda"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Enigo ne komenciĝas per ACE-prefikso ('xn--')"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
-msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de ToASCII"
+msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de 'ToASCII'"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Enigo jam havas ACE-prefikson ('xn--')"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Sistema iconv malsukcesis"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Eraro pri signa enkodiga konverto"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr "Ne povas akiri memoron"
+msgstr "Mankas sufiĉa memoro"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
-msgstr "Sistema dlopen malsukcesis"
+msgstr "Malsukcesis sistemfunkcio 'dlopen()'"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Nekonata eraro"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de unikoda NFKC-normigo"
+msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de Unikoda NFKC-normigo"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
 msgstr "Nevalida enigo"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Eligo estus tro granda por donita bufro"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
-msgstr "Signoĉena grandolimo superita"
+msgstr "Limo de signoĉena grando transpasiĝis"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Malpermesita neatribuita kodero en enigo"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Malpermesita kodero en enigo"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Malkongruaj dudirektaj trajtoj en enigo"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Misformita dudirekta ĉeno"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Malpermesita dudirekta kodero en enigo"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
-msgstr "Eraro en difino de stringprep-profilo"
+msgstr "Eraro en difino de ĉenopretig-profilo"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Flaga malkongruo kun profilo"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Nekonata profilo"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
-msgstr "Unikoda normigo malsukcesis (interna eraro)"
+msgstr "Malsukcesis Unikoda normigo (**interna programeraro**)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr "Koderoj malpermesitaj de supera retregiono"
+msgstr "Koderoj kiuj malpermesiĝas de supera retregiono"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
@@ -133,24 +140,25 @@ msgstr "Mankanta enigo"
 
 #: lib/strerror-tld.c:88
 msgid "No top-level domain found in input"
-msgstr "Nenia supera retregiono trovita en enigo"
+msgstr "Neniu supera retregiono troviĝis en enigo"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Provu '%s --help' por pliaj informoj.\n"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Tajpu '%s --help' por pli da informoj.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Uzado: %s [OPCIO]... [ĈENOJ]...\n"
+msgstr "Uzmaniero:  %s [OPCIO...] [ĈENO...]\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
-"Internaciigitaj retnomoj (IDN) konverti ĈENOJn, aŭ la normalan enigon.\n"
+"Konvertas ĈENO(j)n (aŭ ĉefenigujon) laŭ la internaciigitaj retnomaj "
+"reguloj.\n"
 "\n"
 
 #: src/idn.c:76
@@ -158,32 +166,32 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 "Komandlinia interfaco al la biblioteko por internaciigitaj retnomoj.\n"
 "\n"
-"Ĉiuj ĉenoj estu koditaj per la preferata signaro de via\n"
-"lokaĵaro. Uzu '--debug' por eltrovi, kiu ĝi estas. Vi\n"
-"povas specifi alian signaron per la media variablo CHARSET.\n"
+"Ĉiuj ĉenoj estu koditaj per la preferata signaro de via lokaĵaro.\n"
+"Uzu --debug por eltrovi kiu ĝi estas.  Vi povas indiki alian\n"
+"signaron per la medi-variablo CHARSET.\n"
+"\n"
+"Por trakti ĉenon kiu komenciĝas per '-' (ekzemple '-foo'), uzu '--' por\n"
+"indiki la finon de la parametroj, kiel en: idn --quiet -a -- -foo\n"
 "\n"
-"Por trakti ĉenon, kiu komenciĝas per '-', ekzemple '-foo', uzu '--'\n"
-"por indiki la finon de la parametroj, kiel en 'idn --quiet -a -- -foo'.\n"
-"Devigaj argumentoj por longaj opcioj estas devigaj ankaŭ por mallongaj\n"
-"opcioj.\n"
+"Nepraj argumentoj por longaj opcioj ankaŭ nepras por la mallongaj.\n"
 
 #: src/idn.c:88
 msgid ""
 "  -h, --help               Print help and exit\n"
 "  -V, --version            Print version and exit\n"
 msgstr ""
-"  -h, --help               Montri helpon kaj eliri\n"
-"  -V, --version            Montri version kaj eliri\n"
+"  -h, --help               montri ĉi tiun helpon kaj eliri\n"
+"  -V, --version            montri programversion kaj eliri\n"
 
 #: src/idn.c:92
 msgid ""
@@ -193,163 +201,165 @@ msgid ""
 "  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
 "  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
 msgstr ""
-"  -s, --stringprep         Pretigi ĉenon laŭ la profilo nameprop\n"
-"  -d, --punycode-decode    Malkodi Punycode\n"
-"  -e, --punycode-encode    Kodi Punycode\n"
-"  -a, --idna-to-ascii      Konverti al ACE laŭ IDNA (implicita reĝimo)\n"
-"  -u, --idna-to-unicode    Konverti de ACE laŭ IDNA\n"
+"  -s, --stringprep         pretigi ĉenon laŭ la profilo 'Nameprep'\n"
+"  -d, --punycode-decode    malkodi 'Punycode'\n"
+"  -e, --punycode-encode    kodi 'Punycode'\n"
+"  -a, --idna-to-ascii      konverti al ACE laŭ IDNA (la implicita reĝimo)\n"
+"  -u, --idna-to-unicode    konverti de ACE laŭ IDNA\n"
 
 #: src/idn.c:99
-#, fuzzy
 msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   Ŝanĝi la flagon IDNA AllowUnassigned\n"
-"      --usestd3asciirules  Ŝanĝi la flagon IDNA UseSTD3ASCIIRules\n"
+"      --allow-unassigned   enŝalti la IDNA-flagon 'AllowUnassigned'\n"
+"      --usestd3asciirules  enŝalti la IDNA-flagon 'UseSTD3ASCIIRules'\n"
 
 #: src/idn.c:103
-#, fuzzy
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"  -t, --tld                Kontroli ĉeno pri TLD-specifaj reguloj\n"
-"                             Nur por --idna-to-ascii kaj --idna-to-unicode\n"
+"      --no-tld             ne kontroli ĉenon pri TLD-specifaj reguloj;\n"
+"                             nur por '--idna-to-ascii' kaj '--idna-to-"
+"unicode'\n"
 
 #: src/idn.c:107
 msgid ""
 "  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
-msgstr "  -n, --nfkc               Normigi signoĉenon laŭ Unikodo v3.2 NFKC\n"
+msgstr "  -n, --nfkc               normigi signoĉenon laŭ Unikodo v3.2 NFKC\n"
 
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=ĈENO       Uzi specifitan stringprep-profilon anstataŭe\n"
-"                             Validaj stringprep-profiloj: 'Nameprep',\n"
-"                             'iSCSI', 'Nodeprep', 'Resourceprep',\n"
-"                             'trace', 'SASLprep'\n"
+"  -p, --profile=NOMO       Uzi indikitan profilon 'stringprep' anstataŭe\n"
+"                             Validaj profiloj 'stringprep': Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
-"      --debug              Montri informojn por erarspurado\n"
-"      --quiet              Silenta funkciado\n"
+"      --debug              montri informojn por helpi al erarspurado\n"
+"      --quiet              funkcii silente\n"
 
-#: src/idn.c:172
-#, fuzzy, c-format
+#: src/idn.c:173
+#, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Nur unu el -s, -e, -d, -a, -u aŭ -n povas esti donita."
+msgstr ""
+"nur unu el la opcioj '-s', '-e', '-d', '-a', '-u' aŭ '-n' povas esti indikata"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Signaro '%s'.\n"
+msgid "Charset: %s\n"
+msgstr "Signaro: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr ""
-"Tajpu ĉiun enigan ĉenon en propra linio, kun linifina signo ĉe la\n"
-"fino.\n"
+"Tajpu ĉiun enigan ĉenon en propra linio, kun linifina signo ĉe la fino.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
 
 #: src/idn.c:202
-#, fuzzy, c-format
+#, c-format
 msgid "input error"
-msgstr "Enig-eraro"
+msgstr "enig-eraro"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, fuzzy, c-format
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "Ne povis konverti de %s al UTF-8."
+msgstr "malsukcesis konverti de %s al UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, fuzzy, c-format
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Ne povis konverti de UTF-8 al UCS-4."
+msgstr "malsukcesis konverti de UTF-8 al UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
-msgstr "stringprep_profile: %s"
+msgstr "## stringprep_profile(): %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, fuzzy, c-format
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "Ne povis konverti de UTF-8 al %s."
+msgstr "malsukcesis konverti de UTF-8 al %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
-msgstr "punycode_encode: %s"
+msgstr "## punycode_encode(): %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
-msgstr "malloc"
+msgstr "mankas sufiĉa memoro"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
-msgstr "punycode_decode: %s"
+msgstr "## punycode_decode(): %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, fuzzy, c-format
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Ne povis konverti de UCS-4 al UTF-8."
+msgstr "malsukcesis konverti de UCS-4 al UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
-msgstr "idna_to_ascii_4z: %s"
+msgstr "## idna_to_ascii_4z(): %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "idna_to_unicode_8z4z (TLD): %s"
+msgstr "## idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (loko %lu): %s"
+msgstr "## tld_check_4z (pozicio %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
-msgstr "tld_check_4z: %s"
+msgstr "## tld_check_4z(): %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
-msgstr "idna_to_unicode_8z4z: %s"
+msgstr "## idna_to_unicode_8z4z(): %s"
 
-#: src/idn.c:540
-#, fuzzy, c-format
+#: src/idn.c:542
+#, c-format
 msgid "could not do NFKC normalization"
-msgstr "Ne povis fari NFKC-normigon."
+msgstr "malsukcesis fari NFKC-normigon"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Malsukcesis sistemfunkcio 'iconv()'"
 
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <%s>.\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Raportu cimojn al <%s>.\n"
-#~ "Raportu erarojn en la traduko al <translation-team-eo@lists.sourceforge."
-#~ "net>.\n"
+#~ "Raportu programmisojn al <%s>.\n"
+#~ "Raportu tradukerarojn al <translation-team-eo@lists.sourceforge.net>.\n"
 
 #~ msgid "input[%lu] = U+%04x\n"
 #~ msgstr "enigo[%lu] = U+%04x\n"
 
 #~ msgid "output[%lu] = U+%04x\n"
 #~ msgstr "eligo[%lu] = U+%04x\n"
-
-#~ msgid "tld[%lu] = U+%04x\n"
-#~ msgstr "tld[%lu] = U+%04x\n"
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644 (file)
index 0000000..39ff055
Binary files /dev/null and b/po/es.gmo differ
diff --git a/po/es.po b/po/es.po
new file mode 100644 (file)
index 0000000..234a38b
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,356 @@
+# Spanish translation for libidn 1.36a
+# Copyright (C) 2018, 2019, 2020 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.36a\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2022-03-10 09:21-0600\n"
+"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "Éxito"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "Falló la preparación de cadena"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Falló código puny"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "No hay un dígito/letra/guión en la entrada"
+
+#: lib/strerror-idna.c:98
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Se prohibe un signo menos al inicio o al final ('-')"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "La salida sería muy grande o muy pequeña"
+
+#: lib/strerror-idna.c:106
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "La entrada no inicia con el prefijo ACE ('xn--')"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "La cadena no es idempotente bajo ToASCII"
+
+#: lib/strerror-idna.c:114
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "La entrada ya contiene el prefijo ACE ('xn--')"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Error en la conversión de codificación de caracteres"
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "No se puede asignar memoria"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "Falló el dlopen del sistema"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "Error desconocido"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "La cadena no es idempotente bajo la normalización NFKC de Unicode"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "Entrada inválida"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "La salida excedería el espacio de almacenamiento previsto"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "Se excede el límite de tamaño de la cadena"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "Puntos de código sin asignar prohibidos en la entrada"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "Puntos de código prohibidos en la entrada"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "Propiedades bidireccionales en conflicto en la entrada"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "Cadena bidireccional malformada"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "Puntos de código bidireccionales prohibidos en la entrada"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "Error en la definición de perfil de stringprep"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "Conflicto opción con perfil"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "Perfil desconocido"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "Falló la normalización Unicode (error interno)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "Puntos de código prohibidos por el dominio de nivel principal"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "Falta la entrada"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "No se encontró un dominio de nivel principal en la entrada"
+
+#: src/idn.c:65
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Pruebe '%s --help' para más información.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Uso: %s [OPCIÓN]... [CADENAS]...\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Nombres de Dominio Internacionalizados (IDN) convierte CADENAS, o la entrada "
+"estándard.\n"
+"\n"
+
+#: src/idn.c:76
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Interfaz de línea de órdenes para la biblioteca de nombres de dominio "
+"internacionalizados.\n"
+"\n"
+"Se espera que todas las cadenas estén codificadas en el conjunto de\n"
+"caracteres usado por su local.  Use --debug para encontrar cuál es\n"
+"ese conjunto de caracteres. Puede sobreescribir el conjunto de caracteres\n"
+"utilizado definiendo la variable de ambiente CHARSET.\n"
+"\n"
+"Para procesar una cadena que inicia con '-', por ejemplo '-foo', use '--'\n"
+"para indicar el final de los parámetros, como: idn --quiet -a -- -foo\n"
+"\n"
+"Los argumentos obligatorios para las opciones largas son también "
+"obligatorias\n"
+"para las opciones cortas.\n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               Muestra la ayuda y termina\n"
+"  -V, --version            Muestra la versión y termina\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         Prepara la cadena de acuerdo al perfil nameprep\n"
+"  -d, --punycode-decode    Decodifica código puny\n"
+"  -e, --punycode-encode    Codifica código puny\n"
+"  -a, --idna-to-ascii      Convierte a ACE de acuerdo a IDNA (modo por "
+"defecto)\n"
+"  -u, --idna-to-unicode    Convierde de ACE de acuerdo a IDNA\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   Activa/desactiva la opción IDNA AllowUnassigned "
+"(desctivado por defecto)\n"
+"      --usestd3asciirules  Activa/desactiva la opción IDNA UseSTD3ASCIIRules "
+"(desactivado por defecto)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             No verifica la cadena por reglas específicas para "
+"el TLD\n"
+"                             Solamente para --idna-to-ascii y --idna-to-"
+"unicode\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               Normaliza la cadena de acuerdo a NFKC de Unicode "
+"v3.2\n"
+
+#: src/idn.c:110
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=CADENA     Usa el perfil stringprep especificado\n"
+"                             Perfiles stringprep válidos: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              Muestra información de depuración\n"
+"      --quiet              Operación silenciosa\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "solamente se puede especificar uno de -s, -e, -d, -a, -u o -n"
+
+#: src/idn.c:182
+#, c-format
+msgid "Charset: %s\n"
+msgstr "Conjunto de caracteres: %s\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Escriba cada cadena de entrada en una línea para cada uno, terminando con "
+"carácter de línea nueva.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "error de entrada"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "no se puede de %s a UTF-8"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "no se puede convertir de UTF-8 a UCS-4"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "no se puede convertir de UTF-8 a %s"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "no se puede convertir de UCS-4 a UTF-8"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (posición %lu): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "no se puede hacer la normalización NFKC"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Falló el iconv del sistema"
index a90ddc8..6b50ea6 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 5f60256..6c2cb92 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libidn 1.21\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
 "PO-Revision-Date: 2011-04-30 15:25+0200\n"
 "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -17,11 +17,12 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: KBabel 1.11.4\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Onnistui"
 
@@ -39,7 +40,8 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Syötteessä on merkki, joka ei ole numero/kirjain/tavuviiva"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Ei saa alkaa tai loppua miinusmerkillä (”-”)"
 
 #: lib/strerror-idna.c:102
@@ -47,7 +49,8 @@ msgid "Output would be too large or too small"
 msgstr "Tuloste olisi liian suuri tai liian pieni"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Syöte ei ala ACE-prefiksillä (”xn--”)"
 
 #  Yksinkertaisesti selitettynä idempotentti on matemaattinen termi, joka tarkoittaa, että jonkun toiminnon tulos on aina sama kun toiminto toistetaan kahdesti (tai useammin).
@@ -56,14 +59,15 @@ msgid "String not idempotent under ToASCII"
 msgstr "Merkkijono ei ole idempotentti ToASCII-toiminnon aikana"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Syöte jo sisältää ACE-prefiksin (”xn--”)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Järjestelmän iconv-käsky ei onnistunut"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Ei voida varata muistia"
 
@@ -72,7 +76,7 @@ msgid "System dlopen failed"
 msgstr "Järjestelmän dlopen-käsky ei onnistunut"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Tuntematon virhe"
 
@@ -84,7 +88,7 @@ msgstr "Merkkijono ei ole idempotentti Unicode NFKC-normeerauksen aikana"
 msgid "Invalid input"
 msgstr "Virheellinen syöte"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Tuloste ylittäisi varatun puskurin tilan"
 
@@ -93,39 +97,39 @@ msgid "String size limit exceeded"
 msgstr "Merkkijonon koko ylitettiin"
 
 #  Code point is any value in the Unicode codespace; that is, the range of integers from 0 to hexadecimal 10FFFF.
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Kiellettyjä määräämättömiä code points-skalaariarvoja syötteessä"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Kiellettyjä code points-skalaariarvoja syötteessä"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Ristiriitaisia kaksisuuntaisia ominaisuuksia syötteessä"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Väärän muotoinen kaksisuuntainen merkkijono"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Kiellettyjä kaksisuuntaisia code points-skalaariarvoja syötteessä"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Virhe strngprep-profiilimäärittelyssä"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Lippu ristiriidassa profiilin kanssa"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Tuntematon profiili"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Unicode-normeeraus ei onnistunut (sisäinen virhe)"
 
@@ -142,8 +146,8 @@ msgid "No top-level domain found in input"
 msgstr "Syötteestä ei löytynyt ylätason toimialuetta"
 
 #: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
 msgstr "Lisätietoja käskyllä ”%s --help”.\n"
 
 #: src/idn.c:69
@@ -161,15 +165,16 @@ msgstr ""
 "\n"
 
 #: src/idn.c:76
+#, fuzzy
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -238,11 +243,11 @@ msgstr ""
 "koodauksen mukaisesti\n"
 
 #: src/idn.c:110
+#, fuzzy
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=MERKKIJONO Käytä määritellyn ”stringprep”-profiilin sijasta\n"
 "                             Voimassa olevat ”stringprep”-profiilit: "
@@ -250,7 +255,7 @@ msgstr ""
 "                             ”iSCSI”, ”Nodeprep”, ”Resourceprep”, \n"
 "                             ”trace”, ”SASLprep”\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -258,17 +263,17 @@ msgstr ""
 "      --debug              Tulosta virheenjäljitystiedot\n"
 "      --quiet              Hiljainen toiminta\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "vain yksi valitsimista -s, -e, -d, -a, -u tai -n voidaan määritellä"
 
 #: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
+#, fuzzy, c-format
+msgid "Charset: %s\n"
 msgstr "Merkistö ”%s”\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -277,81 +282,90 @@ msgstr ""
 "Kirjoita jokainen merkkijono omalle rivilleen ja lopeta rivi "
 "rivinvaihdolla.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "syötevirhe"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "ei voitu muuntaa %s-merkistöstä UTF-8-merkistöön"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "ei voitu muuntaa UTF-8-merkistöstä UCS-4-merkistöön"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "ei voitu muuntaa UTF-8-merkistöstä %s-merkistöön."
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc-käsky"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "ei voitu muuntaa UCS-4-merkistöstä UTF-8-merkistöön."
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (sijainti %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "ei voitu tehdä NFKC-normeerausta."
 
+#~ msgid "System iconv failed"
+#~ msgstr "Järjestelmän iconv-käsky ei onnistunut"
+
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <%s>.\n"
index ef0b5db..7a29d25 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index ff44a32..3edd54e 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,14 +2,14 @@
 # Copyright © 1996 Free Software Foundation, Inc.
 # This file is distributed under the same licence as the libidn package.
 # Marc Veillet <scouigne@gmail.com>, 2008.
-# Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>, 2011.
+# Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>, 2011-2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU libidn-1.21\n"
+"Project-Id-Version: GNU libidn-1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-06-28 00:12+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-24 21:29+0200\n"
 "Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir."
 "org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -17,10 +17,11 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Succès"
 
@@ -37,7 +38,7 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Un non chiffre, lettre ou tiret a été fourni en entrée"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Signe de négation (« - ») interdit comme préfixe ou suffixe"
 
 #: lib/strerror-idna.c:102
@@ -45,7 +46,7 @@ msgid "Output would be too large or too small"
 msgstr "La sortie serait trop grande ou trop petite"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "L'entrée ne débute pas par le préfixe ACE (« xn-- »)"
 
 #: lib/strerror-idna.c:110
@@ -53,14 +54,14 @@ msgid "String not idempotent under ToASCII"
 msgstr "Chaîne non idempotente avec ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "L'entrée contient déjà un préfixe ACE (« xn-- »)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Échec du iconv système"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Erreur de conversion du codage des caractères"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Impossible d'allouer la mémoire"
 
@@ -69,7 +70,7 @@ msgid "System dlopen failed"
 msgstr "Échec du dlopen système"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Erreur inconnue"
 
@@ -81,7 +82,7 @@ msgstr "Chaîne non idempotente en normalisation NFKC Unicode"
 msgid "Invalid input"
 msgstr "Entrée invalide"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "La sortie dépasse l'espace tampon fourni"
 
@@ -89,39 +90,39 @@ msgstr "La sortie dépasse l'espace tampon fourni"
 msgid "String size limit exceeded"
 msgstr "La taille limite des chaînes est dépassée"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "L'entrée contient des codes caractères non attribués interdits"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "L'entrée contient des codes caractères prohibés"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "L'entrée contient des propriétés bidirectionnelles en conflit"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Chaîne bidirectionnelle mal composée"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "L'entrée contient des codes caractères bidirectionnels prohibés"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Erreur dans la définition de profil stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Le drapeau est en conflit avec le profil"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Profil inconnu"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "La normalisation Unicode a échoué (erreur interne)"
 
@@ -139,7 +140,7 @@ msgstr "Aucun domaine de premier niveau n'a été identifié dans l'entrée"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'information.\n"
 
 #: src/idn.c:69
@@ -160,11 +161,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -237,16 +238,14 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=CHAÎNE     Utilise à la place le profil stringprep indiqué\n"
-"                            Les profils valides sont :\n"
-"                            « Nameprep », « iSCSI », « Nodeprep »,\n"
-"                            « Resourceprep », « trace », « SASLprep »\n"
+"                            Les profils valides sont : Nameprep\n"
+"                            iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -254,94 +253,103 @@ msgstr ""
 "      --debug              Affiche des informations de débogage\n"
 "      --quiet              Mode silencieux\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "Une seule option parmi -s, -e, -d, -a, -u et -n peut être indiquée"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Jeu de caractères « %s ».\n"
+msgid "Charset: %s\n"
+msgstr "Jeu de caractères %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr "Saisissez une chaîne par ligne, terminée par un passage à la ligne.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "entrée erronée"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "Conversion impossible en UTF-8 depuis %s"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "Conversion impossible en UCS-4 depuis UTF-8"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile : %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "Conversion impossible en %s depuis UTF-8"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode : %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode : %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "Conversion impossible en UTF-8 depuis UCS-4"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z : %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD) : %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (position %lu) : %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z : %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z : %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "Échec de la normalisation NFKC"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Échec du iconv système"
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644 (file)
index 0000000..ece0589
Binary files /dev/null and b/po/hr.gmo differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..fa8d87f
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,354 @@
+# Translation of libidn to Croatian.
+# Copyright (C) 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+#
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.25\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2012-09-27 23:16+0200\n"
+"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 1.4\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "Uspjeh"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "Priprema niza nije uspjela"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Punycode nije uspio"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "Ne-broj/slovo/crtica u ulazu"
+
+#: lib/strerror-idna.c:98
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Zabranjeni početni ili završni minus („-”)"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "Izlaz bi bio prevelik ili premalen"
+
+#: lib/strerror-idna.c:106
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Ulaz ne počinje s ACE prefiksom („xn--”)"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "Niz nije idempotentan prema ToASCII"
+
+#: lib/strerror-idna.c:114
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Ulaz već sadrži ACE prefiks („xn--”)"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "Ne mogu alocirati memoriju"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "dlopen sustava nije uspio"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "Nepoznata greška"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "Niz nije idempotentan prema Unicode NFKC normalizaciji"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "Neispravan ulaz"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "Izlaz bi prekoračio dostupan prostor međuspremnika"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "Prekoračeno ograničenje veličine niza"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "Zabranjene nedodijeljene kodne točke na ulazu"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "Zabranjene kodne točke na ulazu"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "Konfliktna dvosmjerna svojstva u ulazu"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "Izobličen dvosmjerni niz"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "Zabranjene dvosmjerne kodne točke na ulazu"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "Greška u stringprep definiciji profila"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "Konflikt zastavice s profilom"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "Nepoznat profil"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "Unicode normalizacija nije uspjela (interna greška)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "Kodne točke zabranjene vršnom domenom"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "Nedostaje ulaz"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "Nije pronađena vršna domena u ulazu"
+
+#: src/idn.c:65
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Pokušajte „%s --help” za više informacija.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Uporaba: %s [OPCIJA]... [NIZOVI]...\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Pretvaranje NIZOVA ili standardnog ulaza u internacionalizirano ime domene "
+"(IDN).\n"
+"\n"
+
+#: src/idn.c:76
+#, fuzzy
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Sučelje naredbenog retka za biblioteku internacionaliziranih imena domena.\n"
+"\n"
+"Svi znakovni nizovi bi trebali biti kodirani u skupu znakova određenom\n"
+"vašim lokalom.  Koristite „--debug” kako biste ga otkrili. Možete ga\n"
+"promijeniti postavljanjem varijable okoline CHARSET.\n"
+"\n"
+"Za obradu niza koji počinje s „-”, npr. „-foo”, koristite „--” za\n"
+"označavanje kraja popisa parametara, npr. „idn --quiet -a -- -foo”.\n"
+"\n"
+"Obavezni argumenti dugačkih opcija također su obavezni i za kratke opcije.\n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               Ispiši pomoć i izađi\n"
+"  -V, --version            Ispiši inačicu i izađi\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         Pripremi niz prema nameprep profilu\n"
+"  -d, --punycode-decode    Dekodiraj Punycode\n"
+"  -e, --punycode-encode    Kodiraj Punycode\n"
+"  -a, --idna-to-ascii      Pretvori u ACE u skladu s IDNA (zadani način)\n"
+"  -u, --idna-to-unicode    Pretvori iz ACE u skladu s IDNA\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   Promijeni IDNA AllowUnassigned zastavicu (početno "
+"isključeno)\n"
+"      --usestd3asciirules  Promijeni IDNA UseSTD3ASCIIRules zastavicu "
+"(početno isključeno)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             Ne provjeravaj TLD specifična pravila u nizu\n"
+"                             Samo za --idna-to-ascii i --idna-to-unicode\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               Normaliziraj niz u skladu s Unicode v3.2 NFKC\n"
+
+#: src/idn.c:110
+#, fuzzy
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=NIZ        Koristi navedeni stringprep profil\n"
+"                             Ispravni stringprep profili: „Nameprep”,\n"
+"                             „iSCSI”, „Nodeprep”, „Resourceprep”,\n"
+"                             „trace”, „SASLprep”\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              Ispiši informacije za debugiranje\n"
+"      --quiet              Rad bez ispisa\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "smijete navesti samo jednu od opcija -s, -e, -d, -a, -u ili -n"
+
+#: src/idn.c:182
+#, fuzzy, c-format
+msgid "Charset: %s\n"
+msgstr "Skup znakova „%s”.\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Unesite svaki ulazni niz u zasebnom retku, završenom znakom novog retka.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "ulazna greška"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "ne mogu pretvoriti iz %s u UTF-8"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "ne mogu pretvoriti iz UTF-8 u UCS-4"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "ne mogu pretvoriti iz UTF-8 u %s"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "ne mogu pretvoriti iz UCS-4 u UTF-8"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (položaj %lu): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "ne mogu izvršiti NFKC normalizaciju"
+
+#~ msgid "System iconv failed"
+#~ msgstr "iconv sustava nije uspio"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644 (file)
index 0000000..ecc7d8d
Binary files /dev/null and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..e7b60ec
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,357 @@
+# Hungarian translation for libidn.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+#
+# Balázs Úr <urbalazs@gmail.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.29\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2014-08-31 15:46+0200\n"
+"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.5\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "Sikerült"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "A szöveg előkészítés sikertelen."
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Punycode sikertelen"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "Nem szám/betű/kötőjel a bemeneten"
+
+#: lib/strerror-idna.c:98
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Tiltott kezdő vagy befejező mínusz jel („-”)"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "A kimenet túl nagy vagy túl kicsi lenne"
+
+#: lib/strerror-idna.c:106
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "A bemenet nem ACE előtaggal („xn--”) kezdődik"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "A szöveg nem idempotens a ToASCII alatt"
+
+#: lib/strerror-idna.c:114
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "A bemenet már tartalmaz ACE előtagot („xn--”)"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "Nem lehet memóriát lefoglalni"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "Rendszer dlopen sikertelen"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "Ismeretlen hiba"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "A szöveg nem idempotens a Unicode NFKC normalizálás alatt"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "Érvénytelen bemenet"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "A kimenet túllépné a megadott pufferméretet"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "A szövegméret korlát elérve"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "Tiltott nem hozzárendelt kódpontok a bemeneten"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "Tiltott kódpontok a bemeneten"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "Ütköző kétirányú tulajdonságok a bemeneten"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "Helytelenül formázott kétirányú szöveg"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "Tiltott kétirányú kódpontok a bemeneten"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "Hiba a stringprep profil definícióban"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "Jelzőütközés a profillal"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "Ismeretlen profil"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "Unicode normalizálás sikertelen (belső hiba)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "A felsőszintű tartomány tiltja a kódpontokat"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "Hiányzó bemenet"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "Nem található felsőszintű tartomány a bemeneten"
+
+#: src/idn.c:65
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "További információkért próbálja a(z) „%s --help” parancsot.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Használat: %s [KAPCSOLÓ]… [SZÖVEGEK]…\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Internationalized Domain Name (IDN) átalakított SZÖVEGEK vagy szabványos "
+"bemenet.\n"
+"\n"
+
+#: src/idn.c:76
+#, fuzzy
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Parancssoros felület a nemzetközivé tett tartománynév könyvtárhoz.\n"
+"\n"
+"Minden szöveg a területi beállítás szerint előnyben részesített\n"
+"karakterkészlet használatával kódolva várt. Használja a „--debug”\n"
+"kapcsolót annak kiderítésére, hogy melyik ez a karakterkészlet.\n"
+"Felülbírálhatja a CHARSET környezeti változó beállításban használt\n"
+"karakterkészletet.\n"
+"\n"
+"Egy „-” kezdetű szöveg feldolgozásához, például „-izé”, használja a „--”\n"
+"jelet a paraméterek végének jelzéséhez, úgymint „idn --quiet -a -- -izé”.\n"
+"\n"
+"A hosszú kapcsolók kötelező argumentumai a rövid kapcsolóknál is "
+"kötelezőek.\n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               Súgó kiírása és kilépés\n"
+"  -V, --version            Verzió kiírása és kilépés\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         Szöveg előkészítése a nameprep profil szerint\n"
+"  -d, --punycode-decode    Punycode dekódolása\n"
+"  -e, --punycode-encode    Punycode kódolása\n"
+"  -a, --idna-to-ascii      Átalakítás ACE-re az IDNA szerint (alap mód)\n"
+"  -u, --idna-to-unicode    Átalakítás ACE-ről az IDNA szerint\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   IDNA AllowUnassigned jelző váltása (alap: off)\n"
+"      --usestd3asciirules  IDNA UseSTD3ASCIIRules jelző váltása (alap: off)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             Ne ellenőrizzen szöveget TLD specifikus "
+"szabályokhoz\n"
+"                             Csak --idna-to-ascii és --idna-to-unicode "
+"esetén\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               Szöveg normalizálása a Unicode v3.2 NFKC szerint\n"
+
+#: src/idn.c:110
+#, fuzzy
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=SZÖVEG     Inkább a megadott stringprep profil használata\n"
+"                             Érvényes stringprep profilok: „Nameprep”,\n"
+"                             „iSCSI”, „Nodeprep”, „Resourceprep”, \n"
+"                             „trace”, „SASLprep”\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              Hibakeresési információk kiírása\n"
+"      --quiet              Csendes működés\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "csak a következők egyike adható meg: -s, -e, -d, -a, -u vagy -n"
+
+#: src/idn.c:182
+#, fuzzy, c-format
+msgid "Charset: %s\n"
+msgstr "Karakterkészlet: „%s”.\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Minden bemeneti szöveget önmagával egy sorba gépeljen be, egy új sor "
+"karakterrel lezárva.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "bemeneti hiba"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "nem lehet átalakítani: %s -> UTF-8"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "nem lehet átalakítani: UTF-8 -> UCS-4"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "nem lehet átalakítani: UTF-8 -> %s"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "nem lehet átalakítani: UCS-4 -> UTF-8"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (%lu. pozíció): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "nem lehet NFKC normalizálást végrehajtani"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Rendszer iconv sikertelen"
index 6b91a53..fbf438e 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index f2a302f..529eda4 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -2,28 +2,32 @@
 # Copyright (C) 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
 # Andhika Padmawan <andhika.padmawan@gmail.com>, 2008-2012.
+# Andika Triwidada <andika@gmail.com>, 2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.24\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-05-18 17:42+0700\n"
-"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2022-04-27 19:34+0700\n"
+"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
 "Language: id\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Sukses"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr "Penyiapan benang gagal"
+msgstr "Penyiapan string gagal"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
@@ -34,91 +38,91 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Non-digit/huruf/sambung di masukan"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Tanda minus awalan atau akhiran terlarang (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Tanda minus awalan atau akhiran terlarang ('-')"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
 msgstr "Keluaran akan terlalu besar atau terlalu kecil"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Masukan tidak diawali dengan prefiks ACE (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Masukan tidak diawali dengan prefiks ACE ('xn--')"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
-msgstr "Benar tidak idempoten di bawah ToASCII"
+msgstr "String tidak idempoten di bawah ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Masukan telah berisi prefiks ACE (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Masukan telah berisi prefiks ACE ('xn--')"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Sistem iconv gagal"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Kesalahan konversi pengkodean karakter"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr "Tak dapat alokasi memori"
+msgstr "Tak dapat mengalokasikan memori"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
 msgstr "Sistem dlopen gagal"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Galat tak dikenal"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Benang tak idempoten di bawah normalisasi Unicode NFKC"
+msgstr "String tak idempoten di bawah normalisasi Unicode NFKC"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
 msgstr "Masukan tidak sah"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Keluaran akan melebihi ruang penyangga yang disediakan"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
-msgstr "Batas ruang benang tercapai"
+msgstr "Batas ruang string tercapai"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Titik kode tak ditugaskan terlarang di masukan"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Titik kode terlarang di masukan"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Properti dwiarah konflik di masukan"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
-msgstr "Benang dwiarah salah bentuk"
+msgstr "String dwiarah salah bentuk"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Titik kode dwiarah terlarang di masukan"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Galat di definisi profil stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Bendera konflik dengan profil"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Profil tak diketahui"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Normalisasi unicode gagal (galat internal)"
 
@@ -136,48 +140,46 @@ msgstr "Tak ada ranah level atas yang ditemukan di masukan"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Coba `'%s -- help' untuk informasi lebih lanjut.\n"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Coba '%s -- help' untuk informasi lebih lanjut.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Penggunaan: %s [OPSI]... [BENANG]...\n"
+msgstr "Penggunaan: %s [OPSI]... [STRING]...\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
-"BENANG konversi Internationalized Domain Name (IDN), atau masukan standar.\n"
+"Internationalized Domain Name (IDN) mengonversi STRING, atau masukan "
+"standar.\n"
 
 #: src/idn.c:76
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 "Antarmuka baris perintah ke pustaka nama ranah internasionalisasi.\n"
 "\n"
-"Semua benang diharapkan tersandi dalam set karakter kesukaan yang dipakai\n"
-"oleh lokal anda. Gunakan `--debug' untuk mencari tahu apakah set karakter "
-"ini.\n"
-"Anda dapat menimpa set karakter yang digunakan oleh pengaturan variabel "
-"lingkungan CHARSET.\n"
+"Semua string diharapkan tersandi dalam set karakter kesukaan yang\n"
+"dipakai oleh lokal Anda. Gunakan --debug untuk mencari tahu apa\n"
+"set karakter ini. Anda dapat menimpa set karakter yang digunakan oleh\n"
+"pengaturan variabel lingkungan CHARSET.\n"
 "\n"
-"Untuk memproses benang yang dimulai dengan `-', misalnya `-foo', gunakan\n"
-"`--' untuk menandai akhir parameter, seperti dalam `idn --quiet -a -- -"
-"foo'.\n"
+"Untuk memroses string yang dimulai dengan '-', misalnya '-foo', gunakan\n"
+"'--' untuk menandai akhir parameter, seperti mis: idn --quiet -a -- -foo.\n"
 "\n"
-"Argumen mandatori untuk opsi panjang merupakan mandatori untuk opsi pendek "
-"juga.\n"
+"Argumen wajib untuk opsi panjang juga wajib untuk opsi pendek.\n"
 
 #: src/idn.c:88
 msgid ""
@@ -195,7 +197,7 @@ msgid ""
 "  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
 "  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
 msgstr ""
-"  -s, --stringprep         Siapkan benang berdasarkan profil nameprep\n"
+"  -s, --stringprep         Siapkan string berdasarkan profil nameprep\n"
 "  -d, --punycode-decode    Awasandi Punycode\n"
 "  -e, --punycode-encode    Sandi Punycode\n"
 "  -a, --idna-to-ascii      Konversi ke ACE menurut IDNA (mode standar)\n"
@@ -206,8 +208,9 @@ msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   Ubah bendera AllowUnassigned IDNA (standar mati)\n"
-"      --usestd3asciirules  Ubah bendera UseSTD3ASCIIRules IDNA (standar "
+"      --allow-unassigned   Jungkitkan bendera AllowUnassigned IDNA (baku "
+"mati)\n"
+"      --usestd3asciirules  Jungkitkan bendera UseSTD3ASCIIRules IDNA (baku "
 "mati)\n"
 
 #: src/idn.c:103
@@ -215,7 +218,7 @@ msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"      --no-tld             Jangan cek benang untuk peraturan spesifik TLD\n"
+"      --no-tld             Jangan cek string untuk peraturan spesifik TLD\n"
 "                             Hanya untuk --idna-to-ascii dan --idna-to-"
 "unicode\n"
 
@@ -223,126 +226,123 @@ msgstr ""
 msgid ""
 "  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
 msgstr ""
-"  -n, --nfkc               Normalisasi benang berdasarkan Unicode v3.2 NFKC\n"
+"  -n, --nfkc               Normalisasi string berdasarkan Unicode v3.2 NFKC\n"
 
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=BENANG     Gunakan profil stringprep ketimbang\n"
-"                             Profil stringprep yang sah: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"  -p, --profile=STRING     Gunakan profil stringprep ketimbang\n"
+"                             Profil stringprep yang sah: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 "      --debug              Cetak informasi awakutu\n"
-"      --quiet              Operasi diam\n"
+"      --quiet              Operasi hening\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr ""
-"Hanya salah satu dari -s, -e, -d, -a, -u, atau -n yang dapat ditentukan"
+"hanya salah satu dari -s, -e, -d, -a, -u, atau -n yang dapat ditentukan"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Set karakter `%s'.\n"
+msgid "Charset: %s\n"
+msgstr "Set karakter %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr ""
-"Ketik tiap benang masukan pada baris itu sendiri, diakhiri oleh karakter "
-"newline.\n"
+"Ketik tiap string masukan pada baris itu sendiri, diakhiri oleh karakter "
+"baris baru.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
 
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "galat masukan"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "tak dapat konversi dari %s ke UTF-8."
+msgstr "tak bisa mengonversi dari %s ke UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "tak dapat konversi dari UTF-8 ke UCS-4"
+msgstr "tak bisa mengonversi dari UTF-8 ke UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "tak dapat konversi dari UTF-8 ke %s"
+msgstr "tak bisa mengonversi dari UTF-8 ke %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "tak dapat konversi dari UCS-4 ke UTF-8."
+msgstr "tak bisa mengonversi dari UCS-4 ke UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (posisi %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "tak dapat melakukan normalisasi NFKC"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Laporkan kutu ke <%s>.\n"
index d1e9d68..905bb39 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 626d5f0..277366d 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libidn 1.21\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
 "PO-Revision-Date: 2011-12-05 17:30+0000\n"
 "Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -14,9 +14,10 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Successo"
 
@@ -33,7 +34,8 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Non-numero/lettera/trattino nell'input"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Segno meno (\"-\") iniziale o finale proibito"
 
 #: lib/strerror-idna.c:102
@@ -41,7 +43,8 @@ msgid "Output would be too large or too small"
 msgstr "L'output sarebbe troppo grande o troppo piccolo"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "L'input non comincia con il prefisso ACE (\"xn--\")"
 
 #: lib/strerror-idna.c:110
@@ -49,14 +52,15 @@ msgid "String not idempotent under ToASCII"
 msgstr "La stringa non è idempotente per ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "L'input contiene già il prefisso ACE (\"xn--\")"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Chiamata di sistema iconv non riuscita"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Impossibile allocare memoria"
 
@@ -65,7 +69,7 @@ msgid "System dlopen failed"
 msgstr "Chiamata di sistema dlopen non riuscita"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Errore sconosciuto"
 
@@ -77,7 +81,7 @@ msgstr "La stringa non 
 msgid "Invalid input"
 msgstr "Input non valido"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "L'output eccederebbe il buffer fornito"
 
@@ -85,39 +89,39 @@ msgstr "L'output eccederebbe il buffer fornito"
 msgid "String size limit exceeded"
 msgstr "Limite di grandezza della stringa superato"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Codepoints non assegnati proibiti nell'input"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Codepoints proibiti nell'input"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Proprietà bidirezionali in conflitto nell'input"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Stringa bidirezionale malformata"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Codepoints bidirezionali proibiti nell'input"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Errore nella definizione del profilo stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Flag in conflitto con il profilo"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Profilo sconosciuto"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Normalizzazione Unicode non riuscita (errore interno)"
 
@@ -134,8 +138,8 @@ msgid "No top-level domain found in input"
 msgstr "Nessun dominio di primo livello trovato nell'input"
 
 #: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
 msgstr "Usare \"%s --help\" per maggiori informazioni.\n"
 
 #: src/idn.c:69
@@ -153,15 +157,16 @@ msgstr ""
 "\n"
 
 #: src/idn.c:76
+#, fuzzy
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -226,18 +231,18 @@ msgstr ""
 "  -n, --nfkc               Normalizza la stringa come Unicode v3.2 NFKC\n"
 
 #: src/idn.c:110
+#, fuzzy
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=STRINGA    Usa il profilo stringprep indicato\n"
 "                             Validi profili stringprep sono: `Nameprep',\n"
 "                             `iSCSI', `Nodeprep', `Resourceprep', \n"
 "                             `trace', `SASLprep'\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -245,17 +250,17 @@ msgstr ""
 "      --debug              Stampa le informazioni di debug\n"
 "      --quiet              Opera silenziosamente\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "può essere indicato solo uno tra -s, -e, -d, -a, -u e -n"
 
 #: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
+#, fuzzy, c-format
+msgid "Charset: %s\n"
 msgstr "Set di caratteri \"%s\".\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -264,77 +269,86 @@ msgstr ""
 "Scrivere ogni stringa di input in una riga a sé, terminata da un carattere "
 "di newline.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "errore di input"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "impossibile convertire da %s a UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "impossibile convertire da UTF-8 a UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "impossibile convertire da UTF-8 a %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "impossibile convertire da UCS-4 a UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (posizione %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "impossibile effettuare la normalizzazione Unicode NFKC"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Chiamata di sistema iconv non riuscita"
index 25c68ec..99c8301 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 8fcae47..dc1a5a7 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libidn 0.5.16\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
 "PO-Revision-Date: 2006-03-21 11:20+0900\n"
 "Last-Translator: GOTO Masanori <gotom@debian.or.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -15,9 +15,10 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=EUC-JP\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "À®¸ù"
 
@@ -34,7 +35,8 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "ÆþÎÏÃæ¤Ë¿ôÃÍ/ʸ»ú/¥Ï¥¤¥Õ¥ó°Ê³°¤¬Â¸ºß"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "ÀèƬ¤Þ¤¿¤ÏËöÈø¤Ë¤¢¤ë¥Þ¥¤¥Ê¥¹µ­¹æ(`-')¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
 #: lib/strerror-idna.c:102
@@ -42,7 +44,8 @@ msgid "Output would be too large or too small"
 msgstr "½ÐÎϤÏÂ礭¤¹¤®¤ë¤«¾®¤µ¤¹¤®¤ë"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "ÆþÎϤÏACEÀÜƬ¼­(`xn--')¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó"
 
 #: lib/strerror-idna.c:110
@@ -50,14 +53,15 @@ msgid "String not idempotent under ToASCII"
 msgstr "ToASCIIÁàºî¤Ë¤è¤ë½ÐÎÏʸ»úÎó¤ÏÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "ÆþÎϤϴû¤ËACEÀÜƬ¼­(`xn--')¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "¥·¥¹¥Æ¥à´Ø¿ôiconv¤Ç¼ºÇÔ"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "¥á¥â¥ê³ÎÊݤ˼ºÇÔ"
 
@@ -66,7 +70,7 @@ msgid "System dlopen failed"
 msgstr "¥·¥¹¥Æ¥à´Ø¿ôdlopen¤Ç¼ºÇÔ"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "̤ÃΤΥ¨¥é¡¼"
 
@@ -78,7 +82,7 @@ msgstr "Unicode
 msgid "Invalid input"
 msgstr "ÉÔÀµ¤ÊÆþÎÏ"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "½ÐÎϤÏÍ¿¤¨¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¶õ´Ö¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
 
@@ -86,39 +90,39 @@ msgstr "
 msgid "String size limit exceeded"
 msgstr "ʸ»úÎóĹ¤Î¸Â³¦¤ò±Û¤¨¤Þ¤·¤¿"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "µö¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¤³äÅö¤Æ¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "¶Ø»ß¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "ÁÐÊý¸þ(bidirectional)À­¤¬ÆþÎÏÃæ¤Ç¾×Æͤ·¤Æ¤¤¤Þ¤¹"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "ÉÔÀµ¤ÊÁÐÊý¸þ(bidirectional)ʸ»úÎó"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "¶Ø»ßÁÐÊý¸þ(bidirectional)¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "stringprep¥×¥í¥Õ¥¡¥¤¥ëÄêµÁ¤Ç¥¨¥é¡¼"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "¥Õ¥é¥°¤¬¥×¥í¥Õ¥¡¥¤¥ë¤È¾×Æͤ·¤Æ¤¤¤Þ¤¹"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "̤ÃΤΥץí¥Õ¥¡¥¤¥ë"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "UnicodeÀµµ¬²½¤Ë¼ºÇÔ(ÆâÉô¥¨¥é¡¼)"
 
@@ -136,7 +140,7 @@ msgstr "
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr ""
 
 #: src/idn.c:69
@@ -155,11 +159,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -199,114 +203,125 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, fuzzy, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "-s, -e, -d, -a, -u¤Î¤¤¤º¤ì¤«1¤Ä¤À¤±¤¬»ØÄê¤Ç¤­¤Þ¤¹."
 
 #: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
+#, fuzzy, c-format
+msgid "Charset: %s\n"
 msgstr "ʸ»ú¥»¥Ã¥È`%s'.\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr "²þ¹Ôʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿ÆþÎÏʸ»úÎó¤ò1¹Ô¤º¤Ä¥¿¥¤¥×¤·¤Æ¤¯¤À¤µ¤¤.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, fuzzy, c-format
 msgid "input error"
 msgstr "ÆþÎÏ¥¨¥é¡¼"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, fuzzy, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "%s¤«¤éUTF-8¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, fuzzy, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "UTF-8¤«¤éUCS-4¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, fuzzy, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "UTF-8¤«¤é%s¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, fuzzy, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "UCS-4¤«¤éUTF-8¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, fuzzy, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (°ÌÃÖ %d): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, fuzzy, c-format
 msgid "could not do NFKC normalization"
 msgstr "Unicode¤ÎNFKCÀµµ¬²½¤Ë¤è¤ë½ÐÎÏʸ»úÎó¤ÏÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
 
+#~ msgid "System iconv failed"
+#~ msgstr "¥·¥¹¥Æ¥à´Ø¿ôiconv¤Ç¼ºÇÔ"
+
+#, c-format
 #~ msgid "input[%d] = U+%04x\n"
 #~ msgstr "ÆþÎÏ[%d] = U+%04x\n"
 
+#, c-format
 #~ msgid "output[%d] = U+%04x\n"
 #~ msgstr "½ÐÎÏ[%d] = U+%04x\n"
 
+#, c-format
 #~ msgid "tld[%d] = U+%04x\n"
 #~ msgstr "tld[%d] = U+%04x\n"
diff --git a/po/ka.gmo b/po/ka.gmo
new file mode 100644 (file)
index 0000000..b692d06
Binary files /dev/null and b/po/ka.gmo differ
diff --git a/po/ka.po b/po/ka.po
new file mode 100644 (file)
index 0000000..dd51197
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,319 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.40\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2023-02-12 14:42+0100\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <(nothing)>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "წარმატება"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "სტრიქონის მომზადების შეცდომა"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Punycode-ის შეცდომა"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "შეყვანილია არა-ციფრი/სიმბოლო/გამოტოვება"
+
+#: lib/strerror-idna.c:98
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "არ შეიძლება სტრიქონი ტირეთი (\"-\") იწყებოდეს ან მთავრდებოდეს"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "გამოტანა მეტისმეტად დიდი ან მეტისმეტად პატარა შეიძლება იყოს"
+
+#: lib/strerror-idna.c:106
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "შეყვანა ACE პრეფიქსით ('xn--') არ იწყება"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr ""
+
+#: lib/strerror-idna.c:114
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "შეყვანა ACE პრეფიქსს ('xn--') უკვე შეიცავს"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "სიმბოლოების კოდირების გადაყვანის შეცდომა"
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "მეხსიერების გამოყოფის შეცდომა"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "სისტემური dlopen()-ის შეცდომა"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "უცნობი შეცდომა"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr ""
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "არასწორი შეყვანა"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "გამოტანა შეიძლება გამოყოფილ ბუფერის სივრცეს გასცდეს"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "სტრიქონის სიგრძის ლიმიტი გადაჭარბებულია"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr ""
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "აკრძალული კოდი შეყვანაზე მიუთითებს"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr ""
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "არასწორი ორმხრივი სტრიქონი"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr ""
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr ""
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "ალმის კონფლიქტი პროფილთან"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "უცნობი პროფილი"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "უნკოდის ნორმალიზაციის შეცდომა (შიდა შეცდომა)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr ""
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "საჭიროა შეყვანა"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr ""
+
+#: src/idn.c:65
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "გამოყენება: %s [პარამეტრი] ... [სტრიქონები]...\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+
+#: src/idn.c:76
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               დახმარების გმოტანა და გასვლა\n"
+"  -V, --version            ვერსიის გამოტანა და გასვლა\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+
+#: src/idn.c:110
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              გამართვის ინფორმაციის გამოტანა\n"
+"      --quiet              ჩუმი ოპერაცია\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr ""
+"პარამეტრებიდან -s, -e, -d, -a, -u და -n შესაძლებელია მხოლოდ ერთერთი მათგანის "
+"მითითება"
+
+#: src/idn.c:182
+#, c-format
+msgid "Charset: %s\n"
+msgstr "კოდირება: %s\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"შეიყვანეთ თითოეული სტრიქონი ცალკე ხაზზე, რომელიც ახალი ხაზს სიმბოლოთი "
+"სრულდება.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "შეყვანის შეცდომა"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "%s-დან UTF-8-ში გადაყვანის შეცდომა"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "utf-8-დან UCS-4-ში გადაყვანის შეცდომა"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "utf-8-დან %s-ში გადაყვანის შეცდომა"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "ucs-4-დან UTF-8-ში გადაყვანის შეცდომა"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (პოზიცია %lu): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "nfkc ნორმალიზაციის შეცდომა"
diff --git a/po/ko.gmo b/po/ko.gmo
new file mode 100644 (file)
index 0000000..794e51a
Binary files /dev/null and b/po/ko.gmo differ
diff --git a/po/ko.po b/po/ko.po
new file mode 100644 (file)
index 0000000..94a5668
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,346 @@
+# Korean translation of the libidn package.
+# Copyright (C) 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+# Seong-ho Cho <darkcircle.0426@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.40\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2022-10-28 15:19+0900\n"
+"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
+"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 3.2\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "성공"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "문자열 준비 실패"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "퓨니코딩 실패"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "입력에 숫자/문자/하이픈이 아닌 문자가 있습니다"
+
+#: lib/strerror-idna.c:98
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "음수 부호('-')가 앞에 붙거나 뒤에 붙으면 안됩니다"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "출력이 너무 크거나 작습니다"
+
+#: lib/strerror-idna.c:106
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "입력이 ACE 접두사('xn--')로 시작하지 않았습니다"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "문자열에 ToASCII 멱등성이 없습니다"
+
+#: lib/strerror-idna.c:114
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "입력에 이미 ACE 접두사('xn--')가 있습니다"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "문자 인코딩 변환 오류"
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "메모리를 할당할 수 없습니다"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "시스템 dlopen 실패"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "알 수 없는 오류"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "문자열에 유니코드 NFKC 정규화 멱등성이 없습니다"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "부적절한 입력"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "출력이 제공한 버퍼 크기를 넘었습니다"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "문자열 길이 제한 초과"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "입력에 금지된 비할당 코드 포인트"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "입력에 금지된 코드 포인트"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "입력에 중복 양방향 속성"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "기형 양방향 문자열"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "입력에 금지된 양방향 코드 포인트"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "stringprep 프로파일 정의에 오류가 있습니다"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "플래그가 프로파일과 중복됩니다"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "알 수 없는 프로파일"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "유니코드 정규화 실패(내부 오류)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "최상위 도메인에서 금지한 코드 포인트"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "입력 빠짐"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "입력에 최상위 도메인이 없습니다"
+
+#: src/idn.c:65
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "자세한 내용은 '%s --help'를 입력하십시오.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "사용법: %s [<옵션>]... [<문자열>]...\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"국제화 도메인 이름(IDN)에서 <문자열> 또는 표준 입력을 변환합니다.\n"
+"\n"
+
+#: src/idn.c:76
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"국제화 도메인 이름 라이브러리의 명령행 인터페이스입니다.\n"
+"\n"
+"가능한 모든 문자열을 로캘에서 사용하는 적절한 문자세트로 인코딩합\n"
+"니다. 어떤 문자세트인지 확인하려면 --debug 옵션을 사용하십시오.\n"
+"환경 변수 CHARSET 을 설정하여 문자세트를 대리 지정할 수 있습니다.\n"
+"\n"
+"예를 들어, '-foo' 처럼 '-' 문자로 시작하는 문자열을 처리하려면\n"
+"idn --quiet -a -- -foo 명령처럼 매개변수 마지막 부분에 '--' 옵션을\n"
+"사용하십시오\n"
+"\n"
+"긴 옵션의 필수 인자는 짧은 옵션에서도 마찬가지로 필수 인자입니다.\n"
+"\n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               도움말을 출력하고 나갑니다\n"
+"  -V, --version            버전을 출력하고 나갑니다\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         nameprep 프로파일에 따라 문자열을 준비합니다\n"
+"  -d, --punycode-decode    퓨니코드를 디코딩합니다\n"
+"  -e, --punycode-encode    퓨니코드를 인코딩합니다\n"
+"  -a, --idna-to-ascii      IDNA에 따라 ACE로 변환합니다 (기본 모드)\n"
+"  -u, --idna-to-unicode    IDNA에 따라 ACE를 변환합니다\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   IDNA AllowUnassigned 플래그를 전환합니다 (기본값: "
+"끔)\n"
+"      --usestd3asciirules  IDNA UseSTD3ASCIIRules 플래그를 전환합니다 (기본"
+"값: 끔)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             TLD 지정 규칙으로 문자열을 검사하지 않습니다\n"
+"                             --idna-to-ascii 및 --idna-to-unicode 옵션에만 해"
+"당\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               유니코드 v3.2 NFKC에 따라 문자열을 정규화합니다\n"
+
+#: src/idn.c:110
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=<문자열>   stringprep 지정 프로파일을 대신 활용합니다\n"
+"                             적절한 stringprep 프로파일: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              디버깅 정보를 출력합니다\n"
+"      --quiet              조용히 처리합니다\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "-s, -e, -d, -a, -u, -n 옵션 중 하나만 지정할 수 있습니다"
+
+#: src/idn.c:182
+#, c-format
+msgid "Charset: %s\n"
+msgstr "문자세트: %s\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr "행 별로 문자열을 입력한 후, 개행 문자로 끝냅니다.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "입력 오류"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "%s에서 UTF-8로 변환할 수 없습니다"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "UTF-8에서 UCS-4로 변환할 수 없습니다"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "UTF-8에서 %s(으)로 변환할 수 없습니다"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "UCS-4에서 UTF-8로 변환할 수 없습니다"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (위치 %lu번): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "NFKC 정규화를 수행할 수 없습니다"
index b2bb5dc..ceb42af 100644 (file)
@@ -1,14 +1,14 @@
 # SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Simon Josefsson
-# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.25\n"
+"Project-Id-Version: libidn 1.42\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\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"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr ""
 
@@ -35,7 +35,7 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr ""
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr ""
 
 #: lib/strerror-idna.c:102
@@ -43,7 +43,7 @@ msgid "Output would be too large or too small"
 msgstr ""
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr ""
 
 #: lib/strerror-idna.c:110
@@ -51,14 +51,14 @@ msgid "String not idempotent under ToASCII"
 msgstr ""
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr ""
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
 msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr ""
 
@@ -67,7 +67,7 @@ msgid "System dlopen failed"
 msgstr ""
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr ""
 
@@ -79,7 +79,7 @@ msgstr ""
 msgid "Invalid input"
 msgstr ""
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr ""
 
@@ -87,39 +87,39 @@ msgstr ""
 msgid "String size limit exceeded"
 msgstr ""
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr ""
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr ""
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr ""
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr ""
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr ""
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr ""
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr ""
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr ""
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr ""
 
@@ -137,7 +137,7 @@ msgstr ""
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr ""
 
 #: src/idn.c:69
@@ -156,11 +156,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -200,105 +200,110 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr ""
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
+msgid "Charset: %s\n"
 msgstr ""
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr ""
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr ""
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr ""
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr ""
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr ""
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr ""
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr ""
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr ""
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr ""
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr ""
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr ""
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr ""
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr ""
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr ""
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr ""
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr ""
index d605a6e..f6b1f33 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index ff28a90..736ac5c 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,29 +1,29 @@
 # Dutch translations for GNU libidn.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2020 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
 #
 # De vertalingen die beginnen met "## " zijn debug-tekstjes
 # die eigenlijk niet in dit bestand thuishoren.
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2008, 2011.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2008, 2011, 2020.
 # Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn-1.21\n"
+"Project-Id-Version: libidn-1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-04-28 11:27+0200\n"
-"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-24 10:34+0200\n"
+"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Gelukt"
 
@@ -40,7 +40,7 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Iets anders dan cijfer/letter/verbindingsstreepje in invoer"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Ongeoorloofd minteken ('-') aan begin of eind"
 
 #: lib/strerror-idna.c:102
@@ -48,7 +48,7 @@ msgid "Output would be too large or too small"
 msgstr "Uitvoer zou te groot of te klein worden"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Invoer begint niet met een ACE-voorvoegsel ('xn--')"
 
 #: lib/strerror-idna.c:110
@@ -58,14 +58,14 @@ msgstr ""
 "terug)"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Invoer bevat al een ACE-voorvoegsel ('xn--')"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "De iconv()-systeemfunctie is mislukt"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Fout tijdens conversie van tekencodering"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Onvoldoende geheugen beschikbaar"
 
@@ -74,7 +74,7 @@ msgid "System dlopen failed"
 msgstr "De dlopen()-systeemfunctie is mislukt"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Onbekende fout"
 
@@ -88,7 +88,7 @@ msgstr ""
 msgid "Invalid input"
 msgstr "Ongeldige invoer"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Uitvoer zou niet in toegewezen bufferruimte passen"
 
@@ -96,39 +96,39 @@ msgstr "Uitvoer zou niet in toegewezen bufferruimte passen"
 msgid "String size limit exceeded"
 msgstr "Tekenreeks is te lang"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Ongeoorloofde niet-toegewezen tekencodes in invoer"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Ongeoorloofde tekencodes in invoer"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Tegenstrijdige eigenschappen voor tweerichtingentekst in invoer"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Ongeldige tekenreeks voor tweerichtingentekst"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Ongeoorloofde tekencodes (bij tweerichtingentekst) in invoer"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Fout in profieldefinitie voor 'stringprep'"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Vlag botst met profiel"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Onbekend profiel"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Normalisatie van Unicode is mislukt (*interne fout*)"
 
@@ -146,7 +146,7 @@ msgstr "Geen topdomein gevonden in de invoer"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "Typ '%s --help' voor meer informatie.\n"
 
 #: src/idn.c:69
@@ -169,11 +169,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -236,9 +236,8 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=NAAM       dit tekenreeks-voorbewerkingsprofiel gebruiken;\n"
 "                             geldige profielnamen zijn: 'Nameprep', "
@@ -246,7 +245,7 @@ msgstr ""
 "                             'Nodeprep', 'Resourceprep', 'trace', "
 "'SASLprep'\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -254,7 +253,7 @@ msgstr ""
 "      --debug              debug-informatie weergeven\n"
 "      --quiet              geen meldingen produceren\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr ""
@@ -262,10 +261,10 @@ msgstr ""
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Tekenset '%s'.\n"
+msgid "Charset: %s\n"
+msgstr "Tekenset: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -273,81 +272,90 @@ msgid ""
 msgstr ""
 "Typ elke invoertekenreeks op een afzonderlijke regel, afgesloten met Enter.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "invoerfout"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "conversie van %s naar UTF-8 is mislukt"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "conversie van UTF-8 naar UCS-4 is mislukt"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "## stringprep_profile(): %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "conversie van UTF-8 naar %s is mislukt"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "## punycode_encode(): %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "onvoldoende geheugen beschikbaar"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "## punycode_decode(): %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "conversie van UCS-4 naar UTF-8 is mislukt"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "## idna_to_ascii_4z(): %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "## idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "## tld_check_4z (positie %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "## tld_check_4z(): %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "## idna_to_unicode_8z4z(): %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "kan NFKC-normalisering niet uitvoeren"
 
+#~ msgid "System iconv failed"
+#~ msgstr "De iconv()-systeemfunctie is mislukt"
+
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <%s>.\n"
index 987bc7f..d707651 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index ce4dd1b..418b0fb 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
 # Polish translation for libidn.
-# Copyright (C) 2004, 2007, 2008, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2008, 2011, 2020 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2004-2011.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2004-2020.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.21\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-04-28 20:02+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-23 19:34+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Sukces"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr "Przygotowanie ³añcucha nie powiod³o siê"
+msgstr "Przygotowanie łańcucha nie powiodło się"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
-msgstr "Punycode zawiod³o"
+msgstr "Punycode zawiodło"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr "Znak nie bêd±cy cyfr±, liter± ani kresk± na wej¶ciu"
+msgstr "Znak nie będący cyfrą, literą ani kreską na wejściu"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Zabroniony wiod±cy lub koñcz±cy znak minus (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Zabroniony wiodący lub kończący znak minus ('-')"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
-msgstr "Wyj¶cie mo¿e byæ zbyt du¿e lub zbyt ma³e"
+msgstr "Wyjście może być zbyt duże lub zbyt małe"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Wej¶cie nie zaczyna siê przedrostkiem ACE (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Wejście nie zaczyna się przedrostkiem ACE ('xn--')"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
-msgstr "£añcuch nie idempotentny wzglêdem ToASCII"
+msgstr "Łańcuch nie idempotentny względem ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Wej¶cie ju¿ zawiera przedrostek ACE (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Wejście już zawiera przedrostek ACE ('xn--')"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Systemowa funkcja iconv nie powiod³a siê"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Błąd konwersji kodowania znaków"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr "Nie mo¿na przydzieliæ pamiêci"
+msgstr "Nie można przydzielić pamięci"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
-msgstr "Systemowa funkcja dlopen nie powiod³a siê"
+msgstr "Systemowa funkcja dlopen nie powiodła się"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
-msgstr "Nieznany b³±d"
+msgstr "Nieznany błąd"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "£añcuch nie idempotentny wzglêdem normalizacji Unikodu NFKC"
+msgstr "Łańcuch nie idempotentny względem normalizacji Unikodu NFKC"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
-msgstr "B³êdne wej¶cie"
+msgstr "Błędne wejście"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
-msgstr "Wyj¶cie przekroczy³oby dostarczone miejsce w buforze"
+msgstr "Wyjście przekroczyłoby dostarczone miejsce w buforze"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
-msgstr "Przekroczony limit rozmiaru ³añcucha"
+msgstr "Przekroczony limit rozmiaru łańcucha"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
-msgstr "Zabronione nieprzypisane znaki na wejciu"
+msgstr "Zabronione nieprzypisane znaki na wejściu"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
-msgstr "Zabronione znaki na wejciu"
+msgstr "Zabronione znaki na wejściu"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
-msgstr "Konfliktowe w³asno¶ci dwukierunkowego pisma na wej¶ciu"
+msgstr "Konfliktowe własności dwukierunkowego pisma na wejściu"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
-msgstr "¬le sformu³owany ³añcuch dwukierunkowy"
+msgstr "Źle sformułowany łańcuch dwukierunkowy"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
-msgstr "Zabronione znaki dwukierunkowe na wejciu"
+msgstr "Zabronione znaki dwukierunkowe na wejściu"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
-msgstr "B³±d w definicji profilu stringprep"
+msgstr "Błąd w definicji profilu stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Konflikt flag z profilem"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Nieznany profil"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
-msgstr "Normalizacja Unikodu nie powiod³a siê (b³±d wewnêtrzny)"
+msgstr "Normalizacja Unikodu nie powiodła się (błąd wewnętrzny)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr "Znaki zabronione przez domenê najwy¿szego poziomu"
+msgstr "Znaki zabronione przez domenę najwyższego poziomu"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
-msgstr "Brak wejcia"
+msgstr "Brak wejścia"
 
 #: lib/strerror-tld.c:88
 msgid "No top-level domain found in input"
-msgstr "Nie znaleziono domeny najwy¿szego poziomu na wej¶ciu"
+msgstr "Nie znaleziono domeny najwyższego poziomu na wejściu"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Polecenie `%s --help' pozwoli uzyskaæ wiêcej informacji.\n"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Polecenie '%s --help' pozwoli uzyskać więcej informacji.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Sk³adnia: %s [OPCJA]... [£AÑCUCHY]...\n"
+msgstr "Składnia: %s [OPCJA]... [ŁAŃCUCHY]...\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
-"Program konwertuje £AÑCUCHY lub standardowe wyj¶cie z kodowania w³a¶ciwego\n"
-"dla umiêdzynarodowionych nazw domen (IDN - Internationalized Domain Name).\n"
+"Program konwertuje ŁAŃCUCHY lub standardowe wyjście z kodowania właściwego\n"
+"dla umiędzynarodowionych nazw domen (IDN - Internationalized Domain Name).\n"
 "\n"
 
 #: src/idn.c:76
@@ -158,35 +159,35 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
-"Jest to interfejs linii poleceñ do biblioteki umiêdzynarodowionych nazw "
+"Jest to interfejs linii poleceń do biblioteki umiędzynarodowionych nazw "
 "domen.\n"
 "\n"
-"Wszystkie ³añcuchy powinny byæ zakodowane w zestawie znaków w³a¶ciwym dla\n"
-"u¿ywanej lokalizacji. Opcja `--debug' pozwoli okre¶liæ, jaki to jest zestaw\n"
-"znaków. Mo¿na wymusiæ u¿ywany zestaw znaków zmienn± ¶rodowiskow± CHARSET.\n"
+"Wszystkie łańcuchy powinny być zakodowane w zestawie znaków właściwym dla\n"
+"używanej lokalizacji. Opcja --debug pozwoli określić, jaki to jest zestaw\n"
+"znaków. Można wymusić używany zestaw znaków zmienną środowiskową CHARSET.\n"
 "\n"
-"Aby przetworzyæ ³añcuchy zaczynaj±ce siê od `-', np. `-foo', nale¿y u¿yæ\n"
-"`--', aby zasygnalizowaæ koniec parametrów, np. `idn --quiet -a -- -foo'.\n"
+"Aby przetworzyć łańcuchy zaczynające się od '-', np. '-foo', należy użyć\n"
+"'--', aby zasygnalizować koniec parametrów, np.: idn --quiet -a -- -foo\n"
 "\n"
-"Argumenty obowi±zkowe dla d³ugich opcji s± równie¿ obowi±zkowe dla "
+"Argumenty obowiązkowe dla długich opcji są również obowiązkowe dla "
 "odpowiednich\n"
-"krótkich opcji.\n"
+"krótkich opcji.\n"
 
 #: src/idn.c:88
 msgid ""
 "  -h, --help               Print help and exit\n"
 "  -V, --version            Print version and exit\n"
 msgstr ""
-"  -h, --help               Wypisanie opisu i zakoñczenie\n"
-"  -V, --version            Wypisanie wersji i zakoñczenie\n"
+"  -h, --help               Wypisanie opisu i zakończenie\n"
+"  -V, --version            Wypisanie wersji i zakończenie\n"
 
 #: src/idn.c:92
 msgid ""
@@ -196,11 +197,11 @@ msgid ""
 "  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
 "  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
 msgstr ""
-"  -s, --stringprep         Przygotowanie ³añcucha zgodnie z profilem "
+"  -s, --stringprep         Przygotowanie łańcucha zgodnie z profilem "
 "nameprep\n"
 "  -d, --punycode-decode    Dekodowanie Punycode\n"
 "  -e, --punycode-encode    Kodowanie Punycode\n"
-"  -a, --idna-to-ascii      Konwersja do ACE zgodnie z IDNA (tryb domylny)\n"
+"  -a, --idna-to-ascii      Konwersja do ACE zgodnie z IDNA (tryb domyślny)\n"
 "  -u, --idna-to-unicode    Konwersja z ACE zgodnie z IDNA\n"
 
 #: src/idn.c:99
@@ -208,15 +209,15 @@ msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   W³±czenie flagi IDNA AllowUnassigned\n"
-"      --usestd3asciirules  W³±czenie flagi IDNA UseSTD3ASCIIRules\n"
+"      --allow-unassigned   Włączenie flagi IDNA AllowUnassigned\n"
+"      --usestd3asciirules  Włączenie flagi IDNA UseSTD3ASCIIRules\n"
 
 #: src/idn.c:103
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"      --no-tld             Niesprawdzenie ³añcucha pod k±tem regu³ "
+"      --no-tld             Niesprawdzenie łańcucha pod kątem reguł "
 "specyficznych\n"
 "                             dla TLD;\n"
 "                             tylko dla --idna-to-ascii and --idna-to-"
@@ -226,118 +227,122 @@ msgstr ""
 msgid ""
 "  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
 msgstr ""
-"  -n, --nfkc               Normalizacja ³añcucha zgodnie z Unicode v3.2 "
+"  -n, --nfkc               Normalizacja łańcucha zgodnie z Unicode v3.2 "
 "NFKC\n"
 
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=£AÑCUCH    U¿ycie okre¶lonego profilu stringprep\n"
-"                             Poprawne profile stringprep: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep',\n"
-"                             `trace', `SASLprep'\n"
+"  -p, --profile=ŁAŃCUCH    Użycie określonego profilu stringprep\n"
+"                             Poprawne profile stringprep: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 "      --debug              Wypisywanie informacji diagnostycznych\n"
-"      --quiet              Dzia³enie po cichu\n"
+"      --quiet              Działenie po cichu\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Mo¿na podaæ tylko jedno z -s, -e, -d, -a, -u lub -n"
+msgstr "Można podać tylko jedno z -s, -e, -d, -a, -u lub -n"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Zestaw znaków `%s'.\n"
+msgid "Charset: %s\n"
+msgstr "Zestaw znaków: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr ""
-"Nale¿y podaæ ka¿dy ³añcuch w osobnej linii, zakoñczony znakiem nowej linii.\n"
+"Należy podać każdy łańcuch w osobnej linii, zakończony znakiem nowej linii.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
 
 #: src/idn.c:202
 #, c-format
 msgid "input error"
-msgstr "b³±d wej¶cia"
+msgstr "błąd wejścia"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "nie mo¿na przekonwertowaæ z %s na UTF-8"
+msgstr "nie można przekonwertować z %s na UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "nie mo¿na przekonwertowaæ z UTF-8 na UCS-4"
+msgstr "nie można przekonwertować z UTF-8 na UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "nie mo¿na przekonwertowaæ z UTF-8 na %s"
+msgstr "nie można przekonwertować z UTF-8 na %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "nie mo¿na przekonwertowaæ z UCS-4 na UTF-8"
+msgstr "nie można przekonwertować z UCS-4 na UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (pozycja %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
-msgstr "normalizacja NFKC nie powiod³a siê"
+msgstr "normalizacja NFKC nie powiodła się"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644 (file)
index 0000000..bb6b151
Binary files /dev/null and b/po/pt_BR.gmo differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..4899e8b
--- /dev/null
@@ -0,0 +1,355 @@
+# Brazilian Portuguese translation for libidn.
+# Copyright (C) 2020 Free Software Foundation, Inc.
+# Copyright (C) 2020 Simon Josefsson
+# This file is distributed under the same license as the libidn package.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.36a\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-27 05:03-0300\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
+"net>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "Sucesso"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "Preparação de string falhou"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Punycode falhou"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "Não-dígito/letra/hífen na entrada"
+
+#: lib/strerror-idna.c:98
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Sinal de menus proibido no início ou final (\"-\")"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "Saída seria grande demais ou pequena demais"
+
+#: lib/strerror-idna.c:106
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Entrada não inicia com prefixo ACE (\"xn--\")"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "String não idempotente sob ToASCII"
+
+#: lib/strerror-idna.c:114
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Entrada já contém prefixo ACE (\"xn--\")"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Erro de conversão de codificação de caracteres"
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "Não foi possível alocar memória"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "dlopen de sistema falhou"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "Erro desconhecido"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "String não idempotente sob normalização Unicode NFKC"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "Entrada inválida"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "Saída excederia o espaço de buffer fornecido"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "Limite do tamanho da string excedido"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "Pontos de código não-atribuídos proibidos na entrada"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "Pontos de código proibidos na entrada"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "Propriedades bidirecionais conflitando na entrada"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "String bidirecional malformada "
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "Pontos de código bidirecionais proibidos na entrada"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "Erro ma definição de perfil de stringprep"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "Opção conflita com o perfil"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "Perfil desconhecido"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "Normalização de unicode falhou (erro interno)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "Pontos de código proibidos pelo domínio de topo"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "Entrada faltando"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "Nenhum domínio de topo encontrado na entrada"
+
+#: src/idn.c:65
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Tente \"%s --help\" para mais informações.\n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Uso: %s [OPÇÃO]... [STRINGS]...\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Nome de domínio internacionalizado (IDN) para conversão de STRINGS ou "
+"entrada padrão.\n"
+"\n"
+
+#: src/idn.c:76
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Interface de linha de comando para a biblioteca de nome de domínio\n"
+"internacionalizado.\n"
+"\n"
+"Espera-se que todas as strings estejam codificados no conjunto de "
+"caracteres\n"
+"preferidos usado pelo seu locale. Use \"--debug\" para descobrir qual é "
+"esse\n"
+"conjunto de caracteres. Você pode sobrescrever o conjunto de caracteres "
+"usado\n"
+"definindo a variável de ambiente CHARSET.\n"
+"\n"
+"Para processar string que inicie com \"-\", por exemplo \"-foo\", use \"--"
+"\"\n"
+"para sinal no fim de parâmetros, como em: idn --quiet -a -- -foo\n"
+"\n"
+"Argumentos obrigatórios para opções longas são também são para as curtas.\n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               Mostra ajuda e sai\n"
+"  -V, --version            Mostra versão e sai\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         Prepara string de acordo com o perfil nameprep\n"
+"  -d, --punycode-decode    Decodifica Punycode\n"
+"  -e, --punycode-encode    Codifica Punycode\n"
+"  -a, --idna-to-ascii      Converte para ACE de acordo com IDNA (padrão)\n"
+"  -u, --idna-to-unicode    Converte de ACE de acordo com IDNA\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   Ativa opção IDNA AllowUnassigned (padrão é off)\n"
+"      --usestd3asciirules  Ativa opção IDNA UseSTD3ASCIIRules (padrão é "
+"off)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             Não verifica string por regras específicas de "
+"TLD\n"
+"                             Apenas por --idna-to-ascii e --idna-to-unicode\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               Normaliza string de acordo com Unicode v3.2 NFKC\n"
+
+#: src/idn.c:110
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=STRING     Usa o perfil de stringprep especificado\n"
+"                             Perfis stringprep válidos: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              Mostra informações de depuração\n"
+"      --quiet              Operação silenciosa\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "apenas um entre -s, -e, -d, -a, -u ou -n pode ser especificado"
+
+#: src/idn.c:182
+#, c-format
+msgid "Charset: %s\n"
+msgstr "Codificação de caracteres: %s\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Digite cada string de entrada em uma linha, terminada por um caractere de "
+"linha nova.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "erro na entrada"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "não foi possível converter de %s para UTF-8"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "não foi possível converter de UTF-8 para UCS-4"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "não foi possível converter de UTF-8 para %s"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "não foi possível converter de UCS-4 para UTF-8"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (posição %lu): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "não foi possível fazer normalização NFKC"
+
+#~ msgid "System iconv failed"
+#~ msgstr "iconv do sistema falhou"
index 499d065..f855a6a 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index df713a2..185f0d5 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
-# Mesajele în limba românã pentru libidn.
+# Mesajele în limba română pentru libidn.
 # Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca ºi pachetul libidn.
-# Laurentiu Buzdugan <lbuz@rolix.org>, 2003.
-#
+# Acest fișier este distribuit sub aceeași licență ca și pachetul libidn.
+# This file is distributed under the same license as the libidn package.
 #
+# Laurentiu Buzdugan <lbuz@rolix.org>, 2003.
+# Traducere făcută de LB, pentru versiunea libidn 0.4.1.
+# Actualizare a mesajelor, de la fișierul „libidn-1.36a.pot”.
+# Actualizare a codării caracteror, la codarea de caractere UTF-8.
+# Actualizare a diacriticelor de la „cu sedilă” la „cu virgulă”.
+# Actualizare a algoritmului formelor de plural (de la „două” la „trei”).
+# NU și a mesajelor traduse (acestea au rămas neschimbate).
+# Eliminare a mesajelor ce-au dispărut în ultima versiune.
+# Actualizări realizate de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 15.01.2022.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 0.4.1\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2004-04-23 12:00-0500\n"
-"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2022-02-28 19:49+0100\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.0.1\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
-msgstr ""
+msgstr "Succes"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr ""
+msgstr "Pregătirea șirului a eșuat"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
-msgstr ""
+msgstr "Punycode a eșuat"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr ""
+msgstr "Nu sunt cifre/litere/cratimă în datele de intrare"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr ""
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Semnul minus la început sau la final este interzis („-”)"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
-msgstr ""
+msgstr "Ieșirea ar fi prea mare sau prea mică"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr ""
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Intrarea nu începe cu prefixul ACE („xn--”)"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
 msgstr ""
+"Șirul nu este același după conversia returnată (de la ASCII la Unicode și "
+"înapoi)"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr ""
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Intrarea conține deja prefixul ACE („xn--”)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr ""
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Eroare de conversie a codificării caracterelor"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr ""
+msgstr "Nu se poate aloca memorie"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
-msgstr ""
+msgstr "Funcția de sistem dlopen() a eșuat"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
-msgstr ""
+msgstr "Eroare necunoscută"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr ""
+msgstr "Șirul de caractere este problematic în normalizarea Unicode NFKC"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
-msgstr ""
+msgstr "Intrare nevalidă"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
-msgstr ""
+msgstr "Ieșirea nu s-ar încadra în spațiul tampon alocat"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
-msgstr ""
+msgstr "Limita de dimensiune a șirului a fost depășită"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
-msgstr ""
+msgstr "Puncte de cod nealocate interzise în intrare"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
-msgstr ""
+msgstr "Puncte de cod interzise la intrare"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
-msgstr ""
+msgstr "Proprietăți bidirecționale conflictuale în intrare"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
-msgstr ""
+msgstr "Șir bidirecțional incorect"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
-msgstr ""
+msgstr "Puncte de cod bidirecționale interzise la intrare"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
-msgstr ""
+msgstr "Eroare la definirea profilului „stringprep”"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
-msgstr ""
+msgstr "Indicatorul este în conflict cu profilul"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
-msgstr ""
+msgstr "Profil necunoscut"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
-msgstr ""
+msgstr "Normalizarea Unicode a eșuat (eroare internă)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr ""
+msgstr "Puncte de cod interzise de domeniul de nivel superior"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
-msgstr ""
+msgstr "Lipsește intrarea"
 
 #: lib/strerror-tld.c:88
 msgid "No top-level domain found in input"
-msgstr ""
+msgstr "Nu s-a găsit niciun domeniu de nivel superior la intrare"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr ""
+msgid "Try '%s --help' for more information.\n"
+msgstr "Încercați «%s --help» pentru mai multe informații.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr ""
+msgstr "Utilizare: %s [OPȚIUNE]... [ȘIRURI]...\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
+"Nume de domeniu internaționalizat (IDN) convertește ȘIRURILE, sau intrarea "
+"standard.\n"
+"\n"
 
 #: src/idn.c:76
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"Interfață de linie de comandă pentru biblioteca internaționalizată de nume "
+"de domeniu.\n"
+"\n"
+"Se așteaptă ca toate șirurile să fie codificate în setul de caractere "
+"preferat utilizat\n"
+"de localizarea dvs.  Utilizați --debug pentru a afla care este acest set de "
+"caractere.  Puteți\n"
+"suprascrie setul de caractere utilizat prin stabilirea variabilei de mediu "
+"CHARSET. \n"
+"\n"
+"Pentru a procesa un șir care începe cu „-”, de exemplu „-foo”, utilizați "
+"„--” pentru a semnala\n"
+"sfârșitul parametrilor, ca în:  «idn --quiet -a -- -foo»\n"
+"\n"
+"Argumentele obligatorii pentru opțiunile lungi sunt deasemenea obligatorii "
+"pentru\n"
+"opțiunile scurte.\n"
 
 #: src/idn.c:88
 msgid ""
 "  -h, --help               Print help and exit\n"
 "  -V, --version            Print version and exit\n"
 msgstr ""
+"  -h, --help               Imprimă ajutorul și iese\n"
+"  -V, --version            Imprimă versiunea și iese\n"
 
 #: src/idn.c:92
 msgid ""
@@ -181,165 +217,153 @@ msgid ""
 "  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
 "  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
 msgstr ""
+"  -s, --stringprep         Pregătește șirul conform profilului nameprep\n"
+"  -d, --punycode-decode    Decodificare din Punycode\n"
+"  -e, --punycode-encode    Codificare în Punycode\n"
+"  -a, --idna-to-ascii      Convertește în ACE în conformitate cu IDNA (modul "
+"implicit)\n"
+"  -u, --idna-to-unicode    Convertește de la ACE în conformitate cu IDNA\n"
 
 #: src/idn.c:99
 msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
+"      --allow-unassigned   Activează indicatorul IDNA "
+"„AllowUnassigned” (implicit «off»)\n"
+"      --usestd3asciirules  Activează indicatorul "
+"„UseSTD3ASCIIRules” (implicit «off»)\n"
 
 #: src/idn.c:103
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
+"      --no-tld             Nu verifică șirul pentru reguli specifice TLD\\n\n"
+"                           Doar pentru --idna-to-ascii și --idna-to-unicode\n"
 
 #: src/idn.c:107
 msgid ""
 "  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
 msgstr ""
+"  -n, --nfkc               Normalizează șirul conform Unicode v3.2 NFKC\n"
 
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
+"  -p, --profile=STRING     Utilizează în schimb profilul stringprep "
+"specificat\n"
+"                           Profiluri stringprep valide: „Nameprep”, "
+"„iSCSI”,\n"
+"                           „Nodeprep”, „Resourceprep”, „trace”, „SASLprep”\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
+"      --debug              Imprimă informațiile de depanare\n"
+"      --quiet              Funcționare silențioasă\n"
 
-#: src/idn.c:172
-#, fuzzy, c-format
+#: src/idn.c:173
+#, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr ""
-"%s: Numai una din opþiunile -s, -e, -d, -a sau -u poate fi specificatã.\n"
+msgstr "numai una din opțiunile -s, -e, -d, -a, -u sau -n poate fi specificată"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Charset `%s'.\n"
+msgid "Charset: %s\n"
+msgstr "Setul de caractere: „%s”.\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr ""
-"Scrieþi fiecare ºir de intrare pe o singurã linie, terminatã cu un caracter "
-"linie-nouã.\n"
+"Scrieți fiecare șir de intrare pe o singură linie, terminată printr-un "
+"caracter de linie nouă.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
 
 #: src/idn.c:202
 #, c-format
 msgid "input error"
-msgstr ""
+msgstr "eroare de intrare"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, fuzzy, c-format
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "%s: nu am putut transforma din %s în UTF-8.\n"
+msgstr "nu s-a putut converti de la %s la UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, fuzzy, c-format
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "%s: nu am putut transforma din UTF-8 în UCS-4.\n"
+msgstr "nu s-a putut converti de la UTF-8 la UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
-msgstr ""
+msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, fuzzy, c-format
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "%s: nu am putut transforma din UTF-8 în %s.\n"
+msgstr "nu s-a putut converti de la UTF-8 la %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
-msgstr ""
+msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
-msgstr ""
+msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
-msgstr ""
+msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, fuzzy, c-format
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "%s: nu am putut transforma din UCS-4 în UTF-8.\n"
+msgstr "nu s-a putut converti de la UCS-4 la UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
-msgstr ""
+msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
-#, fuzzy, c-format
+#: src/idn.c:397
+#, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "%s: idna_to_unicode_8z4z() a eºuat cu eroarea %d.\n"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
-msgstr ""
+msgstr "tld_check_4z (poziția %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
-msgstr ""
+msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
-#, fuzzy, c-format
+#: src/idn.c:463
+#, c-format
 msgid "idna_to_unicode_8z4z: %s"
-msgstr "%s: idna_to_unicode_8z4z() a eºuat cu eroarea %d.\n"
+msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
-msgstr ""
-
-#~ msgid "%s: fgets() failed: "
-#~ msgstr "%s: fgets() a eºuat: "
-
-#~ msgid "input[%d] = U+%04x\n"
-#~ msgstr "intrare[%d] = U+%04x\n"
-
-#~ msgid "%s: stringprep_profile() failed with error %d.\n"
-#~ msgstr "%s: stringprep_profile() a eºuat cu eroarea %d.\n"
-
-#~ msgid "output[%d] = U+%04x\n"
-#~ msgstr "ieºire[%d] = U+%04x\n"
-
-#~ msgid "%s: punycode_encode() failed with error %d.\n"
-#~ msgstr "%s: punycode_encode() a eºuat cu eroarea %d.\n"
-
-#~ msgid "%s: malloc() failed: "
-#~ msgstr "%s: malloc() a eºuat: "
-
-#~ msgid "%s: punycode_decode() failed with error %d.\n"
-#~ msgstr "%s: punycode_decode() a eºuat cu eroarea %d.\n"
-
-#~ msgid "%s: idna_to_ascii_4z() failed with error %d.\n"
-#~ msgstr "%s: idna_to_ascii_4z() a eºuat cu eroarea %d.\n"
-
-#~ msgid "%s: TLD idna_to_unicode_8z8z() failed with error %d.\n"
-#~ msgstr "%s: TLD idna_to_unicode_8z8z() a eºuat cu eroarea %d.\n"
-
-#~ msgid "tld[%d] = U+%04x\n"
-#~ msgstr "tld[%d] = U+%04x\n"
-
-#~ msgid "%s: string rejected by TLD test (Unicode position %d)\n"
-#~ msgstr "%s: ºir refuzat de testul TLD (poziþia Unicode %d)\n"
-
-#~ msgid "%s: tld_check_4z failed with error %d.\n"
-#~ msgstr "%s: tld_check_4z a eºuat cu eroarea %d.\n"
+msgstr "nu s-a putut face normalizarea NFKC"
index b26bf39..bae3779 100644 (file)
Binary files a/po/sr.gmo and b/po/sr.gmo differ
index 9b6e1bd..d01188d 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,23 +1,27 @@
 # Serbian translation of libidn.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright © 2020 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
 # Aleksandar Jelenak <jelenak@verizon.net>, 2004, 2005.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2020.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn-1.24\n"
+"Project-Id-Version: libidn-1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-01-15 00:30+0200\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-08-04 10:13+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
-"Language-Team: Serbian <gnu@prevod.org>\n"
+"Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\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<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Virtaal 0.7.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Успешно"
 
@@ -34,7 +38,7 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Нецифра/слово/цртица у улазу"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Недозвољени водећи или завршни знак минус („-“)"
 
 #: lib/strerror-idna.c:102
@@ -42,7 +46,7 @@ msgid "Output would be too large or too small"
 msgstr "Излаз би био превелик или премали"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Улаз не почиње АЦЕ префиксом („xn--“)"
 
 #: lib/strerror-idna.c:110
@@ -50,14 +54,14 @@ msgid "String not idempotent under ToASCII"
 msgstr "Ниска није истомоћна под ТоАСКРИ"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Улаз већ садржи АЦЕ префикс („xn--“)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Ð\98конв Ñ\81иÑ\81Ñ\82ема Ð½Ð¸Ñ\98е Ñ\83Ñ\81пео"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80еÑ\82ваÑ\80аÑ\9aа ÐºÐ¾Ð´Ð¸Ñ\80аÑ\9aа Ð·Ð½Ð°ÐºÐ¾Ð²Ð°"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Не могу да доделим меморију"
 
@@ -66,7 +70,7 @@ msgid "System dlopen failed"
 msgstr "Длопен система није успео"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Непозната грешка"
 
@@ -78,7 +82,7 @@ msgstr "Ниска није истомоћна под нормализацијо
 msgid "Invalid input"
 msgstr "Неисправан улаз"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "Излаз би премашио предвиђену величину бафера"
 
@@ -86,39 +90,39 @@ msgstr "Излаз би премашио предвиђену величину 
 msgid "String size limit exceeded"
 msgstr "Премашено је ограничење величине ниске"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "Недозвољене недодељене кодне тачке у улазу"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Забрањене кодне тачке у улазу"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Сукобљавајућа двосмерна својства у улазу"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Лоша двосмерна ниска"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Забрањене двосмерне кодне тачке у улазу"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Грешка у одредници профила стрингпреп"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Сукоб опција са профилом"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Непознат профил"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Неуспех Уникод нормализације (унутрашња грешка)"
 
@@ -136,7 +140,7 @@ msgstr "Домен највишег нивоа није нађен у улазу
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "Пробајте „%s --help“ за више информација.\n"
 
 #: src/idn.c:69
@@ -158,11 +162,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -175,7 +179,7 @@ msgstr ""
 "СКУПЗНАКОВА.\n"
 "\n"
 "Да обрадите ниску која почиње са „-“, на пример „-foo“, употребите „--“\n"
-"да назначите крај параметара, као у „idn --quiet -a -- -foo“.\n"
+"да назначите крај параметара, као у: „idn --quiet -a -- -foo“.\n"
 "\n"
 "Обавезни аргументи за дуге опције су такође обавезни и за кратке опције.\n"
 
@@ -229,16 +233,15 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=НИСКА     Уместо тога користи одређени профил стрингпрепа\n"
 "                             Исправни стрингпреп профили: „Nameprep“,\n"
-"                             „iSCSI“, „Nodeprep“, „Resourceprep“, \n"
-"                             „trace“, „SASLprep“\n"
+"                             „iSCSI“, „Nodeprep“, „Resourceprep“, „trace“, "
+"„SASLprep“\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -246,17 +249,17 @@ msgstr ""
 "      --debug              Исписује податке за уклањање грешака\n"
 "      --quiet              Нечујна операција\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "може бити задато само једно од: -s, -e, -d, -a или -u"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Скуп знакова „%s“.\n"
+msgid "Charset: %s\n"
+msgstr "Скуп знакова: „%s“\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -264,81 +267,90 @@ msgid ""
 msgstr ""
 "Куцајте улазну ниску на засебној линији, завршавајући знаком за нови ред.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "улазна грешка"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "не могу да претворим из „%s“ у УТФ-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "не могу да претворим из УТФ-8 у УЦС-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "не могу да претворим из УТФ-8 у %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "додела меморије"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "не могу да претворим из УЦС-4 у УТФ-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (положај %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "не могу да урадим нормализацију НФКЦ-а"
 
+#~ msgid "System iconv failed"
+#~ msgstr "Иконв система није успео"
+
 #~ msgid "input[%d] = U+%04x\n"
 #~ msgstr "улаз[%d] = U+%04x\n"
 
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644 (file)
index 0000000..2a3231f
Binary files /dev/null and b/po/sv.gmo differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..1ad9364
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,362 @@
+# Swedish translation for libidn
+# Copyright © xxxx - 2020 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+# Josef Andersson <l10nl18nsweja@gmail.com>, 2016, 2020, 2021
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.36a\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2021-01-05 00:14+0100\n"
+"Last-Translator: Josef Andersson <l10nl18nsweja@gmail.com>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
+msgid "Success"
+msgstr "Lyckades"
+
+#: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
+msgid "String preparation failed"
+msgstr "Misslyckades med strängförberedelse"
+
+#: lib/strerror-idna.c:90
+msgid "Punycode failed"
+msgstr "Misslyckades med punycode"
+
+#: lib/strerror-idna.c:94
+msgid "Non-digit/letter/hyphen in input"
+msgstr "Icke-siffra/bokstav/bindestreck i indata"
+
+#: lib/strerror-idna.c:98
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Förbjudet inledande eller eftersläpande minustecken (”-”)"
+
+#: lib/strerror-idna.c:102
+msgid "Output would be too large or too small"
+msgstr "Utdata skulle vara för stort eller för litet"
+
+#: lib/strerror-idna.c:106
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Indata startar inte med ACE-prefix (”xn--”)"
+
+#: lib/strerror-idna.c:110
+msgid "String not idempotent under ToASCII"
+msgstr "Strängen är inte idempotent under ToASCII"
+
+#: lib/strerror-idna.c:114
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Indata innehåller redan ACE-prefix (”xn--”)"
+
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Konverteringsfel av teckenkodning"
+
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
+msgid "Cannot allocate memory"
+msgstr "Kan inte allokera minne"
+
+#: lib/strerror-idna.c:126
+msgid "System dlopen failed"
+msgstr "Misslyckades med systemanrop dlopen"
+
+#: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
+msgid "Unknown error"
+msgstr "Okänt fel"
+
+#: lib/strerror-pr29.c:70
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "Strängen inte idempotent under Unicode NFKC-normalisering"
+
+#: lib/strerror-punycode.c:70
+msgid "Invalid input"
+msgstr "Ogiltig indata"
+
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
+msgid "Output would exceed the buffer space provided"
+msgstr "Utdata skulle överskrida tillhandahållet buffertutrymme"
+
+#: lib/strerror-punycode.c:78
+msgid "String size limit exceeded"
+msgstr "Strängstorleken överskriden"
+
+#: lib/strerror-stringprep.c:91
+msgid "Forbidden unassigned code points in input"
+msgstr "Förbjudna otilldelade kodpunkter i indata"
+
+#: lib/strerror-stringprep.c:95
+msgid "Prohibited code points in input"
+msgstr "Förbjudna kodpunkter i indata"
+
+#: lib/strerror-stringprep.c:99
+msgid "Conflicting bidirectional properties in input"
+msgstr "Motsägelsefulla dubbelriktade egenskaper i indata"
+
+#: lib/strerror-stringprep.c:103
+msgid "Malformed bidirectional string"
+msgstr "Felaktig dubbelriktad sträng"
+
+#: lib/strerror-stringprep.c:107
+msgid "Prohibited bidirectional code points in input"
+msgstr "Förbjudna dubbelriktade kodpunkter i indata"
+
+#: lib/strerror-stringprep.c:115
+msgid "Error in stringprep profile definition"
+msgstr "Fel i profildefinition för stringprep"
+
+#: lib/strerror-stringprep.c:119
+msgid "Flag conflict with profile"
+msgstr "Märk konflikt med profil"
+
+#: lib/strerror-stringprep.c:123
+msgid "Unknown profile"
+msgstr "Okänd profil"
+
+#: lib/strerror-stringprep.c:131
+msgid "Unicode normalization failed (internal error)"
+msgstr "Misslyckades med Unicode-normalisering (internt fel)"
+
+#: lib/strerror-tld.c:72
+msgid "Code points prohibited by top-level domain"
+msgstr "Kodpunkter förbjudna hos toppnivådomän"
+
+#: lib/strerror-tld.c:76
+msgid "Missing input"
+msgstr "Saknar indata"
+
+#: lib/strerror-tld.c:88
+msgid "No top-level domain found in input"
+msgstr "Inga toppnivådomäner funna i indata"
+
+#: src/idn.c:65
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr ""
+"Prova ”%s --help” för mer information.\n"
+" \n"
+
+#: src/idn.c:69
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Användning: %s [FLAGGA]… [STRÄNGAR]…\n"
+
+#: src/idn.c:72
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Internationaliserat domännamn (IDN) konverterar STRÄNGAR, eller standard "
+"in.\n"
+"\n"
+
+#: src/idn.c:76
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Kommandoradsgränssnitt till biblioteket för internationaliserade domännamn.\n"
+"\n"
+"Alla strängar förväntas vara kodade i den teckenuppsättning din lokal\n"
+"använder. Använd ”--debug” för att ta reda på vad denna teckenuppsättning "
+"är. Du\n"
+"kan åsidosätta den använda teckenuppsättningen genom att sätta "
+"miljövariabeln CHARSET.\n"
+"\n"
+"För att bearbeta en sträng som börjar med ”-”, till exempel ”-foo”, använd "
+"”--”\n"
+"för signalera slut på parametrar, som i ”idn --quiet -a -- -foo”.\n"
+"\n"
+"Obligatoriska argument för långa flaggor är obligatoriska också för korta "
+"flaggor.\n"
+" \n"
+
+#: src/idn.c:88
+msgid ""
+"  -h, --help               Print help and exit\n"
+"  -V, --version            Print version and exit\n"
+msgstr ""
+"  -h, --help               Skriv ut hjälp och avsluta\n"
+"  -V, --version            Skriv ut version och avsluta\n"
+
+#: src/idn.c:92
+msgid ""
+"  -s, --stringprep         Prepare string according to nameprep profile\n"
+"  -d, --punycode-decode    Decode Punycode\n"
+"  -e, --punycode-encode    Encode Punycode\n"
+"  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
+"  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
+msgstr ""
+"  -s, --stringprep         Förbered sträng efter nameprep-profil\n"
+"  -d, --punycode-decode    Avkoda punycode\n"
+"  -e, --punycode-encode    Koda punycode\n"
+"  -a, --idna-to-ascii      Konvertera till ACE utifrån IDNA (standardläge)\n"
+"  -u, --idna-to-unicode    Konvertera från ACE utifrån IDNA\n"
+
+#: src/idn.c:99
+msgid ""
+"      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
+"      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+"      --allow-unassigned   Växla IDNA AllowUnassigned-flaggan (av som "
+"standard)\n"
+"      --usestd3asciirules  Växla IDNA UseSTD3ASCIIRules-flaggan (av som "
+"standard)\n"
+
+#: src/idn.c:103
+msgid ""
+"      --no-tld             Don't check string for TLD specific rules\n"
+"                             Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+"      --no-tld             Kontrollera inte sträng efter TLD-specifika "
+"regler\n"
+"                             Endast för --idna-to-ascii och --idna-to-"
+"unicode\n"
+
+#: src/idn.c:107
+msgid ""
+"  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+"  -n, --nfkc               Normalisera sträng utefter Unicode v3.2 NFKC\n"
+
+#: src/idn.c:110
+msgid ""
+"  -p, --profile=STRING     Use specified stringprep profile instead\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+msgstr ""
+"  -p, --profile=STRING     Använd specificerad stringprep-profil istället\n"
+"                             Giltiga stringprep-profiler: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
+
+#: src/idn.c:115
+msgid ""
+"      --debug              Print debugging information\n"
+"      --quiet              Silent operation\n"
+msgstr ""
+"      --debug              Skriv ut felsökningsinformation\n"
+"      --quiet              Tyst åtgärd\n"
+
+#: src/idn.c:173
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "kan endast specificera en av -s, -e, -d, -a, -u eller -n"
+
+#: src/idn.c:182
+#, c-format
+msgid "Charset: %s\n"
+msgstr "Teckenuppsättning %s\n"
+
+#: src/idn.c:186
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Skriv varje inmatningssträng på en egen rad, avslutad med nyradstecken.\n"
+
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
+#: src/idn.c:202
+#, c-format
+msgid "input error"
+msgstr "indatafel"
+
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "kunde inte konvertera från %s till UTF-8"
+
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "kunde inte konvertera från UTF-8 till UCS-4"
+
+#: src/idn.c:238
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "kunde inte konvertera från UTF-8 till %s"
+
+#: src/idn.c:297
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:319
+#, c-format
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:325
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "kunde inte konvertera från UCS-4 till UTF-8"
+
+#: src/idn.c:383
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:397
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:411 src/idn.c:484
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (position %lu): %s"
+
+#: src/idn.c:414 src/idn.c:490
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:463
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:542
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "kunde inte genomföra NFKC-normalisering"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Misslyckades med systemanrop iconv"
+
+#~ msgid "Could not convert string in locale encoding"
+#~ msgstr "Det gick inte att konvertera strängen till lokal kodning"
+
+#~ msgid "Could not convert string in locale encoding."
+#~ msgstr "Kunde inte konvertera sträng i lokal kodning."
index 7cfbaba..92f7a47 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 9e41a76..72d8924 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,24 +2,25 @@
 # Copyright (C) 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2011.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2020.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.21\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2011-04-30 13:44+0300\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2020-07-23 20:12+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
-"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 20.07.70\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Виконано"
 
@@ -36,15 +37,15 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "Символ, відмінний від цифри, літери або дефіса у вхідних даних"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
+msgid "Forbidden leading or trailing minus sign ('-')"
 msgstr "Некоректний початковий або кінцевий дефіс («-»)"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
-msgstr "Виведені дані будуть занадто обємними або занадто малими"
+msgstr "Виведені дані будуть занадто об'ємними або занадто малими"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
+msgid "Input does not start with ACE prefix ('xn--')"
 msgstr "Вхідні дані не починаються з префікса ACE («xn--»)"
 
 #: lib/strerror-idna.c:110
@@ -52,23 +53,23 @@ msgid "String not idempotent under ToASCII"
 msgstr "Рядок не є ідемпотентним у ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
+msgid "Input already contain ACE prefix ('xn--')"
 msgstr "Вхідні дані вже містять префікс ACE («xn--»)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Помилка системного iconv"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "Помилка під час перетворення кодування символів"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr "Не вдалося виділити память"
+msgstr "Не вдалося виділити пам'ять"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
 msgstr "Помилка системного dlopen"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Невідома помилка"
 
@@ -80,47 +81,47 @@ msgstr "Рядок не є ідемпотентним після NFKC-норма
 msgid "Invalid input"
 msgstr "Некоректні вхідні дані"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
-msgstr "Об’єм виведених даних перевищує наданий об’єм буфера"
+msgstr "Об'єм виведених даних перевищує наданий об'єм буфера"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
 msgstr "Перевищено обмеження на довжину рядка"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
-msgstr "Некоректні неповязані символи коду у вхідних даних"
+msgstr "Некоректні непов'язані символи коду у вхідних даних"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Некоректні символи коду у вхідних даних"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Суперечливі двонапрямні властивості у вхідних даних"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "Помилка у форматуванні двонаправленого рядка"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Некоректні двонапрямні символи коду у вхідних даних"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Помилка у визначені профілю stringprep"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Прапорець конфліктує з профілем"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Невідомий профіль"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Помилка під час спроби нормалізації Unicode (внутрішня помилка)"
 
@@ -138,7 +139,7 @@ msgstr "У вхідних даних не знайдено домену вищо
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "Виконайте команду «%s --help», щоб дізнатися більше.\n"
 
 #: src/idn.c:69
@@ -160,11 +161,11 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -178,9 +179,9 @@ msgstr ""
 "\n"
 "Для обробки рядка, що починається з «-», наприклад, «-foo» додайте у команду "
 "«--»\n"
-"для позначення завершення параметрів. Приклад: «idn --quiet -a -- -foo».\n"
+"для позначення завершення параметрів. Приклад: idn --quiet -a -- -foo.\n"
 "\n"
-"Обов’язкові аргументи для параметрів у розгорнутому записів є обов’язковими "
+"Обов'язкові аргументи для параметрів у розгорнутому записів є обов'язковими "
 "і для\n"
 "скорочених форм запису.\n"
 
@@ -237,18 +238,17 @@ msgstr ""
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
 "  -p, --profile=РЯДОК      використовувати вказаний профіль stringprep "
 "profile instead\n"
 "                             Можливі значення профілів stringprep: "
-"«Nameprep»,\n"
-"                             «iSCSI», «Nodeprep», «Resourceprep», \n"
-"                             «trace», «SASLprep»\n"
+"Nameprep,\n"
+"                             iSCSI, Nodeprep, Resourceprep,\n"
+"                             trace, SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -256,17 +256,17 @@ msgstr ""
 "      --debug              вивести діагностичні дані\n"
 "      --quiet              обробка без додаткових повідомлень\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "можна використовувати лише один з параметрів -s, -e, -d, -a, -u або -n"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "Набір символів «%s».\n"
+msgid "Charset: %s\n"
+msgstr "Набір символів: %s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -275,77 +275,83 @@ msgstr ""
 "Виводити кожен рядок у окремому рядку, розділяти рядки символом нового "
 "рядка.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "помилка у вхідних даних"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "не вдалося перетворити дані з формату %s на UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "не вдалося перетворити дані з формату UTF-8 на UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "не вдалося перетворити дані з формату UTF-8 на %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "не вдалося перетворити дані з формату UCS-4 на UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (позиція %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "не вдалося виконати NFKC-нормалізацію"
index 54a07bc..2bf9a5e 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index b33eb14..674c937 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,65 +1,72 @@
 # Vietnamese Translation for LibIDN
-# Copyright © 2008 Free Software Foundation, Inc.
+# Bản dịch tiếng Việt dành cho libidn.
+# Copyright © 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libidn package.
 # Clytie Siddall <clytie@riverland.net.au>, 2005-2008.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn-1.29\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2008-07-03 22:18+0930\n"
-"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
-"Language-Team: Vietnamese <vi-VN@googlegroups.com> \n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2014-08-12 07:59+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: LocFactoryEditor 1.7b3\n"
+"X-Generator: Poedit 1.5.5\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "Thành công"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr "Lỗi chuẩn bị chuỗi"
+msgstr "Chuẩn bị chuỗi gặp lỗi"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
-msgstr "Lỗi punycode (mã yếu đuối)"
+msgstr "Punycode (mã yếu đuối) gặp lỗi"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr "Dữ liá»\87u nhập chứa ký tá»± khác chữ số/chữ/dấu gạch nối"
+msgstr "Dữ liá»\87u nhập chứa ký tá»± không phải là chữ số/chữ/dấu gạch nối"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Không cho phép dấu gạch nối (`-') đi trước hay theo sau"
+#, fuzzy
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "Không cho phép dấu gạch nối (“-”) đi trước hay theo sau"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
 msgstr "Dữ liệu xuất sẽ quá lớn hay quá nhỏ"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Dữ liệu nhập không bắt đầu bằng tiền tố ACE (`xn--')"
+#, fuzzy
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "Dữ liệu nhập không bắt đầu bằng tiền tố ACE (“xn--”)"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
 msgstr "Chuỗi không tránh nhân lên dưới ToASCII"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Dữ liệu nhập đã chứa tiền tố ACE (`xn--')"
+#, fuzzy
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "Dữ liệu nhập đã sẵn chứa tiền tố ACE (“xn--”)"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "Lỗi iconv hệ thống"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr ""
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "Không thể cấp phát bộ nhớ"
 
@@ -68,59 +75,61 @@ msgid "System dlopen failed"
 msgstr "Lỗi dlopen hệ thống"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "Lỗi không rõ"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Chuỗi không phải tránh nhân lên dưới sự tiêu chuẩn hoá NFKC Unicode"
+msgstr ""
+"Chuỗi không không thay đổi giá trị (sau khi tự nó nhân lên) dưới sự tiêu "
+"chuẩn hoá NFKC Unicode"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
 msgstr "Dữ liệu nhập không hợp lệ"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
-msgstr "Dữ liệu xuất sẽ vượt quá sức chứa đệm đã cung cấp"
+msgstr "Dữ liệu xuất sẽ vượt quá dung lượng bộ nhớ đệm đã cung cấp"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
 msgstr "Giới hạn kích cỡ chuỗi bị vượt quá"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
-msgstr "Dữ liệu nhập chứa mã điểm không được gán cấm"
+msgstr "Cấm gán điểm mã trong dữ liệu nhập"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "Dữ liệu nhập chứa điểm mã cấm"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "Dữ liệu nhập chứa tài sản hai hướng xung đột"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
-msgstr "Chuỗi hai hướng dạng sai"
+msgstr "Chuỗi thuận nghịch có dạng sai"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "Dữ liệu nhập chứa điểm mã hai hướng cấm"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
-msgstr "Lỗi trong lời định nghĩa hồ sơ stringprep (chuẩn bị chuỗi)"
+msgstr "Lỗi trong định nghĩa hồ sơ stringprep (chuẩn bị chuỗi)"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "Cờ xung dột với hồ sơ"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "Hồ sơ lạ"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
 msgstr "Lỗi tiêu chuẩn hoá Unicode (lỗi nội bộ)"
 
@@ -137,56 +146,57 @@ msgid "No top-level domain found in input"
 msgstr "Không tìm thấy miền cấp đầu trong dữ liệu nhập"
 
 #: src/idn.c:65
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Thử lệnh « %s --help » để xem thêm thông tin.\n"
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Thử lệnh “%s --help” để xem thêm thông tin.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Sử dụng: %s [TÙY_CHỌN]... [CHUỖI]...\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN]... [CHUỖI]...\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
-"Chuyển đổi các chuỗi sang IDN (tên miền đã quốc tế hoá), hoặc đầu vào tiêu "
+"Chuyển đổi các CHUỖI sang IDN (tên miền đã quốc tế hoá), hay đầu vào tiêu "
 "chuẩn.\n"
 
 #: src/idn.c:76
+#, fuzzy
 msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 "Giao diện dòng lệnh với thư viện tên miền đã quốc tế hoá.\n"
 "\n"
 "Mọi chuỗi nên được mã hoá theo bộ ký tự đã thích trong miền địa phương\n"
-"của bạn. Hãy dùng tùy chọn « --debug » (gỡ lỗi) để tìm biết bộ ký tự nào.\n"
+"của bạn. Hãy dùng tùy chọn \"--debug\" (gỡ lỗi) để tìm biết bộ ký tự nào.\n"
 "Bạn cũng có thể ghi đè lên bộ ký tự này bằng cách đặt biến môi trường\n"
 "CHARSET.\n"
 "\n"
-"Để xử lý một chuỗi bắt đầu với « - », v.d. « -foo », dùng « -- » để ngụ ý "
-"kết thúc các tham số, như trong « idn --quiet -a -- -foo ».\n"
+"Để xử lý một chuỗi bắt đầu với \"-\", v.d. \"-foo\", dùng \"--\" để\n"
+"để ra tín hiệu kết thúc đối số, như trong \"idn --quiet -a -- -foo\".\n"
 "\n"
-"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn "
-"ngắn.\n"
+"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài thì cũng cũng bắt buộc với "
+"tùy chọn ngắn.\n"
 
 #: src/idn.c:88
 msgid ""
 "  -h, --help               Print help and exit\n"
 "  -V, --version            Print version and exit\n"
 msgstr ""
-"  -h, --help               In ra trợ giúp, rồi thoát\n"
-"  -V, --version            In ra số thứ tự phiên bản, rồi thoát\n"
+"  -h, --help               In ra trợ giúp rồi thoát\n"
+"  -V, --version            In ra số thứ tự phiên bản rồi thoát\n"
 
 #: src/idn.c:92
 msgid ""
@@ -204,24 +214,23 @@ msgstr ""
 "  -u, --idna-to-unicode    Chuyển đổi từ ACE tùy theo IDNA\n"
 
 #: src/idn.c:99
-#, fuzzy
 msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   Bật/tắt cờ IDNA AllowUnassigned\n"
-"      --usestd3asciirules  Bật/tắt cờ IDNA UseSTD3ASCIIRules\n"
+"      --allow-unassigned   Bật/tắt cờ IDNA AllowUnassigned (mặc định là "
+"tắt)\n"
+"      --usestd3asciirules  Bật/tắt cờ IDNA UseSTD3ASCIIRules (mặc định là "
+"tắt)\n"
 
 #: src/idn.c:103
-#, fuzzy
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"  -t, --tld                Kiểm tra chuỗi có quy tắc đặc trưng cho TLD "
-"không\n"
-"                             Chỉ cho « --idna-to-ascii » và « --idna-to-"
-"unicode »\n"
+"  -t, --no-tld             Không kiểm tra chuỗi cho quy tắc đặc tả TLD\n"
+"                            Chỉ dành cho --idna-to-ascii và --idna-to-"
+"unicode\"\n"
 
 #: src/idn.c:107
 msgid ""
@@ -230,36 +239,36 @@ msgstr ""
 "  -n, --nfkc               Tiêu chuẩn hoá chuỗi tùy theo Unicode v3.2 NFKC\n"
 
 #: src/idn.c:110
+#, fuzzy
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=CHUỖI     Dùng hồ sơ stringprep đã ghi rõ thay vào đó\n"
-"                             Các hồ sơ stringprep hợp lệ: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"  -p, --profile=CHUỖI      Dùng hồ sơ stringprep đã chỉ định thay vào đó\n"
+"                             Các hồ sơ stringprep hợp lệ: “Nameprep”,\n"
+"                             “iSCSI”, “Nodeprep”, “Resourceprep”, \n"
+"                             “trace”, “SASLprep”\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
 "      --debug              In ra thông tin gỡ lỗi\n"
-"      --quiet              Không xuất thông điệp\n"
+"      --quiet              Thực hiện ở chế độ im lặng\n"
 
-#: src/idn.c:172
-#, fuzzy, c-format
+#: src/idn.c:173
+#, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Chỉ có thể ghi rõ một của những đối số -s, -e, -d, -a, -u hay -n."
+msgstr "chỉ có thể chỉ ra một trong số các đối số -s, -e, -d, -a, -u hay -n"
 
 #: src/idn.c:182
-#, c-format
-msgid "Charset `%s'.\n"
-msgstr "Bộ ký tự « %s ».\n"
+#, fuzzy, c-format
+msgid "Charset: %s\n"
+msgstr "Bộ ký tự \"%s\".\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
@@ -267,80 +276,89 @@ msgid ""
 msgstr ""
 "Gõ mỗi chuỗi nhập trên một đường riêng, kết thúc bằng ký tự dòng mới.\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
-#, fuzzy, c-format
+#, c-format
 msgid "input error"
-msgstr "Lỗi gõ"
+msgstr "lỗi đầu vào"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
-#, fuzzy, c-format
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
+#, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "Không thể chuyển đổi từ %s sang UTF-8."
+msgstr "không thể chuyển đổi từ %s sang UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
-#, fuzzy, c-format
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
+#, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Không thể chuyển đổi từ UTF-8 sang UCS-4."
+msgstr "không thể chuyển đổi từ UTF-8 sang UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile: %s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
-#, fuzzy, c-format
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
+#, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "Không thể chuyển đổi từ UTF-8 sang %s."
+msgstr "không thể chuyển đổi từ UTF-8 sang %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode: %s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
-msgstr ""
+msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
-#, fuzzy, c-format
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
+#, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Không thể chuyển đổi từ UCS-4 sang UTF-8."
+msgstr "không thể chuyển đổi từ UCS-4 sang UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z: %s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD): %s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (vị trí %lu): %s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z: %s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z: %s"
 
-#: src/idn.c:540
-#, fuzzy, c-format
+#: src/idn.c:542
+#, c-format
 msgid "could not do NFKC normalization"
-msgstr "Không thể tiêu chuẩn hoá kiểu NFKC"
+msgstr "không thể tiêu chuẩn hoá kiểu NFKC"
+
+#~ msgid "System iconv failed"
+#~ msgstr "Lỗi iconv hệ thống"
 
 #~ msgid ""
 #~ "\n"
index 3d9d54c..6ac456a 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 0724e5f..29a6790 100644 (file)
@@ -3,21 +3,24 @@
 # This file is distributed under the same license as the libidn package.
 # Meng Jie <zuxyhere@eastday.com>, 2005.
 # Ji ZhengYu <zhengyuji@gmail.com>, 2011, 2012
+# Boyuan Yang <073plan@gmail.com>, 2020, 2021.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.24\n"
+"Project-Id-Version: libidn 1.36a\n"
 "Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-02-14 20:25+0800\n"
-"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
+"POT-Creation-Date: 2024-01-13 20:29+0100\n"
+"PO-Revision-Date: 2021-02-06 12:58-0500\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.4.2\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
-#: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
+#: lib/strerror-stringprep.c:87 lib/strerror-tld.c:68
 msgid "Success"
 msgstr "成功"
 
@@ -34,30 +37,30 @@ msgid "Non-digit/letter/hyphen in input"
 msgstr "输入中出现非数字/字母/连字符"
 
 #: lib/strerror-idna.c:98
-msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "不能使用‘-’作为起始或终止符"
+msgid "Forbidden leading or trailing minus sign ('-')"
+msgstr "不能使用减号('-')作为起始或终止符"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
 msgstr "输出太大或太小"
 
 #: lib/strerror-idna.c:106
-msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "输入未以 ACE 前缀(‘xn--’)开头"
+msgid "Input does not start with ACE prefix ('xn--')"
+msgstr "输入未以 ACE 前缀('xn--')开头"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
 msgstr "ToASCII 中字符串不是幂等的"
 
 #: lib/strerror-idna.c:114
-msgid "Input already contain ACE prefix (`xn--')"
-msgstr "输入已经包含 ACE前缀(‘xn--’)"
+msgid "Input already contain ACE prefix ('xn--')"
+msgstr "输入已经包含 ACE 前缀('xn--')"
 
-#: lib/strerror-idna.c:118 lib/strerror-tld.c:84
-msgid "System iconv failed"
-msgstr "系统 iconv 失败"
+#: lib/strerror-idna.c:118 lib/strerror-stringprep.c:127 lib/strerror-tld.c:84
+msgid "Character encoding conversion error"
+msgstr "字符编码转换错误"
 
-#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
+#: lib/strerror-idna.c:122 lib/strerror-stringprep.c:135 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
 msgstr "无法分配内存"
 
@@ -66,7 +69,7 @@ msgid "System dlopen failed"
 msgstr "系统 dlopen 失败"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
-#: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
+#: lib/strerror-stringprep.c:139 lib/strerror-tld.c:92
 msgid "Unknown error"
 msgstr "未知错误"
 
@@ -78,7 +81,7 @@ msgstr "Unicode NFKC 正规化过程中字符串不是幂等的"
 msgid "Invalid input"
 msgstr "无效输入"
 
-#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
+#: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:111
 msgid "Output would exceed the buffer space provided"
 msgstr "输入将溢出所提供的缓冲区"
 
@@ -86,41 +89,41 @@ msgstr "输入将溢出所提供的缓冲区"
 msgid "String size limit exceeded"
 msgstr "字符串大小越界"
 
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
 msgid "Forbidden unassigned code points in input"
 msgstr "输入中不能出现未赋值的代码点"
 
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
 msgid "Prohibited code points in input"
 msgstr "输入中不能出现代码点"
 
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
 msgid "Conflicting bidirectional properties in input"
 msgstr "输入中出现相互冲突的双向属性"
 
-#: lib/strerror-stringprep.c:102
+#: lib/strerror-stringprep.c:103
 msgid "Malformed bidirectional string"
 msgstr "双向字符串格式错误"
 
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
 msgid "Prohibited bidirectional code points in input"
 msgstr "输入中不能出现双向的代码点"
 
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
 msgid "Error in stringprep profile definition"
 msgstr "Stringpref 配置文件定义出错"
 
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
 msgid "Flag conflict with profile"
 msgstr "标识与配置文件冲突"
 
-#: lib/strerror-stringprep.c:122
+#: lib/strerror-stringprep.c:123
 msgid "Unknown profile"
 msgstr "未知的配置文件"
 
-#: lib/strerror-stringprep.c:126
+#: lib/strerror-stringprep.c:131
 msgid "Unicode normalization failed (internal error)"
-msgstr "Unicode 正规化失败(内部错误)"
+msgstr "Unicode 正规化失败(内部错误)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
@@ -136,7 +139,7 @@ msgstr "输入中未发现顶级域"
 
 #: src/idn.c:65
 #, c-format
-msgid "Try `%s --help' for more information.\n"
+msgid "Try '%s --help' for more information.\n"
 msgstr "尝试用‘%s --help’获取更多信息。\n"
 
 #: src/idn.c:69
@@ -157,22 +160,22 @@ msgid ""
 "Command line interface to the internationalized domain name library.\n"
 "\n"
 "All strings are expected to be encoded in the preferred charset used\n"
-"by your locale.  Use `--debug' to find out what this charset is.  You\n"
+"by your locale.  Use --debug to find out what this charset is.  You\n"
 "can override the charset used by setting environment variable CHARSET.\n"
 "\n"
-"To process a string that starts with `-', for example `-foo', use `--'\n"
-"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"To process a string that starts with '-', for example '-foo', use '--'\n"
+"to signal the end of parameters, as in: idn --quiet -a -- -foo\n"
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
-"国际化域名库的命令行界面。.\n"
+"国际化域名库的命令行界面。\n"
 "\n"
 "所有的字符串都将以您所在区域的最合适的字符集进行编码。\n"
-"使用‘--debug’可以找出这个字符集。\n"
+"使用 --debug 可以找出这个字符集。\n"
 "您可通过设置环境变量 CHARSET 来重设这一字符集。\n"
 "\n"
 "要想处理以‘-’开始的字符串,如‘-foo’,请使用‘--’来标识\n"
-"参数结束,例如‘idn --quiet -a -- -foo’。\n"
+"参数结束,例如:idn --quiet -a -- -foo\n"
 "\n"
 "长选项所必需的参数对于短选项来说也是必需的。\n"
 
@@ -222,16 +225,14 @@ msgstr "  -n, --nfkc               按 Unicode v3.2 NFKC 正规化字符串\n"
 #: src/idn.c:110
 msgid ""
 "  -p, --profile=STRING     Use specified stringprep profile instead\n"
-"                             Valid stringprep profiles: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"                             Valid stringprep profiles: Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 msgstr ""
-"  -p, --profile=STRING     使用指定的 stringprep 配置文件 代替\n"
-"                             有效的 stringprep 配置文件: `Nameprep',\n"
-"                             `iSCSI', `Nodeprep', `Resourceprep', \n"
-"                             `trace', `SASLprep'\n"
+"  -p, --profile=STRING     使用指定的 stringprep 配置文件来代替\n"
+"                             有效的 stringprep 配置文件:Nameprep\n"
+"                             iSCSI Nodeprep Resourceprep trace SASLprep\n"
 
-#: src/idn.c:116
+#: src/idn.c:115
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
@@ -239,98 +240,107 @@ msgstr ""
 "      --debug              打印调试信息\n"
 "      --quiet              处理时不显示信息\n"
 
-#: src/idn.c:172
+#: src/idn.c:173
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
 msgstr "只能指定 -s, -e, -d, -a, -u 或是 -n 中的一个"
 
 #: src/idn.c:182
 #, c-format
-msgid "Charset `%s'.\n"
-msgstr "字符集‘%s’。\n"
+msgid "Charset: %s\n"
+msgstr "字符集:%s\n"
 
-#: src/idn.c:187
+#: src/idn.c:186
 #, c-format
 msgid ""
 "Type each input string on a line by itself, terminated by a newline "
 "character.\n"
 msgstr "输入时,每个字符串单占一行。\n"
 
+#: src/idn.c:195
+#, c-format
+msgid "strdup"
+msgstr ""
+
 #: src/idn.c:202
 #, c-format
 msgid "input error"
 msgstr "输入错误"
 
-#: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
+#: src/idn.c:213 src/idn.c:276 src/idn.c:359 src/idn.c:436 src/idn.c:517
 #, c-format
 msgid "could not convert from %s to UTF-8"
 msgstr "无法将 %s 转为 UTF-8"
 
-#: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
-#: src/idn.c:551
+#: src/idn.c:221 src/idn.c:246 src/idn.c:283 src/idn.c:500 src/idn.c:529
+#: src/idn.c:553
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
 msgstr "无法将 UTF-8 转为 UCS-4"
 
-#: src/idn.c:237
+#: src/idn.c:238
 #, c-format
 msgid "stringprep_profile: %s"
 msgstr "stringprep_profile:%s"
 
-#: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
+#: src/idn.c:261 src/idn.c:304 src/idn.c:347 src/idn.c:505 src/idn.c:566
 #, c-format
 msgid "could not convert from UTF-8 to %s"
 msgstr "无法将 UTF-8 转为 %s"
 
-#: src/idn.c:295
+#: src/idn.c:297
 #, c-format
 msgid "punycode_encode: %s"
 msgstr "punycode_encode:%s"
 
-#: src/idn.c:317
+#: src/idn.c:319
+#, c-format
 msgid "malloc"
 msgstr "malloc"
 
-#: src/idn.c:323
+#: src/idn.c:325
 #, c-format
 msgid "punycode_decode: %s"
 msgstr "punycode_decode: %s"
 
-#: src/idn.c:340 src/idn.c:364 src/idn.c:442
+#: src/idn.c:342 src/idn.c:366 src/idn.c:444
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
 msgstr "无法将 UCS-4 转为 UTF-8"
 
-#: src/idn.c:381
+#: src/idn.c:383
 #, c-format
 msgid "idna_to_ascii_4z: %s"
 msgstr "idna_to_ascii_4z:%s"
 
-#: src/idn.c:395
+#: src/idn.c:397
 #, c-format
 msgid "idna_to_unicode_8z4z (TLD): %s"
 msgstr "idna_to_unicode_8z4z (TLD):%s"
 
-#: src/idn.c:409 src/idn.c:482
+#: src/idn.c:411 src/idn.c:484
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
 msgstr "tld_check_4z (位置 %lu):%s"
 
-#: src/idn.c:412 src/idn.c:488
+#: src/idn.c:414 src/idn.c:490
 #, c-format
 msgid "tld_check_4z: %s"
 msgstr "tld_check_4z:%s"
 
-#: src/idn.c:461
+#: src/idn.c:463
 #, c-format
 msgid "idna_to_unicode_8z4z: %s"
 msgstr "idna_to_unicode_8z4z:%s"
 
-#: src/idn.c:540
+#: src/idn.c:542
 #, c-format
 msgid "could not do NFKC normalization"
 msgstr "不能进行 NFKC 标准化"
 
+#~ msgid "System iconv failed"
+#~ msgstr "系统 iconv 失败"
+
 #~ msgid ""
 #~ "\n"
 #~ "Report bugs to <%s>.\n"
diff --git a/pom.xml.in b/pom.xml.in
deleted file mode 100644 (file)
index 26d53ac..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.gnu.inet</groupId>
-  <artifactId>libidn</artifactId>
-  <name>GNU IDN Library</name>
-  <version>@VERSION@</version>
-  <description>
-    GNU Libidn is a fully documented implementation of the Stringprep,
-    Punycode and IDNA specifications. Libidn's purpose is to encode
-    and decode internationalized domain names.
-  </description>
-  <url>http://www.gnu.org/software/libidn/</url>
-  <inceptionYear>2002</inceptionYear>
-  <licenses>
-    <license>
-      <name>GNU Lesser General Public License version 3.0 or later</name>
-      <url>http://www.gnu.org/licenses/licenses.html</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-  <scm>
-    <connection>scm:git:git://git.savannah.gnu.org/libidn.git</connection>
-    <url>http://git.savannah.gnu.org/gitweb/?p=libidn.git</url>
-  </scm>
-  <organization>
-    <name>GNU</name>
-    <url>http://www.gnu.org/</url>
-  </organization>
-  <build>
-    <sourceDirectory>${project.basedir}/java</sourceDirectory>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>misc/**</exclude>
-          </excludes>
-          <!-- put your configurations here -->
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
index c59edb5..c59e824 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -14,7 +14,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
 AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
@@ -35,8 +35,10 @@ libidn_cmd_la_SOURCES =  idn.ggo idn_cmd.c idn_cmd.h
 libidn_cmd_la_LIBADD = ../gl/libgnu.la
 libidn_cmd_la_CFLAGS =
 
-idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
-       gengetopt --unamed-opts --no-handle-version --no-handle-help \
+# pattern rule (%) needed for parallel make (-j)
+idn_cmd%c idn_cmd%h: idn.ggo Makefile.am
+       gengetopt --unamed-opts \
+               --no-handle-version --no-handle-error --no-handle-help \
                --set-package="idn" \
                --input $^ --file-name idn_cmd
        perl -pi -e 's/\[OPTIONS\]/\[OPTION\]/g' idn_cmd.c
index 6dccdc0..b574e38 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 
 
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -55,87 +109,102 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = idn$(EXEEXT)
 subdir = src
-DIST_COMMON = $(dist_lisp_DATA) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_lisp_DATA) \
+       $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)"
+PROGRAMS = $(bin_PROGRAMS)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 libidn_cmd_la_DEPENDENCIES = ../gl/libgnu.la
 am_libidn_cmd_la_OBJECTS = libidn_cmd_la-idn_cmd.lo
@@ -143,19 +212,32 @@ libidn_cmd_la_OBJECTS = $(am_libidn_cmd_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
 libidn_cmd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libidn_cmd_la_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)"
-PROGRAMS = $(bin_PROGRAMS)
 am_idn_OBJECTS = idn.$(OBJEXT)
 idn_OBJECTS = $(am_idn_OBJECTS)
 am__DEPENDENCIES_1 =
 idn_DEPENDENCIES = libidn_cmd.la ../lib/libidn.la ../gl/libgnu.la \
        $(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/idn.Po \
+       ./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -165,22 +247,23 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libidn_cmd_la_SOURCES) $(idn_SOURCES)
 DIST_SOURCES = $(libidn_cmd_la_SOURCES) $(idn_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -209,18 +292,37 @@ am__uninstall_files_from_dir = { \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
 DATA = $(dist_lisp_DATA)
-ETAGS = etags
-CTAGS = ctags
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+       $(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -239,9 +341,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -261,290 +366,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -554,16 +948,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -580,33 +979,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -621,28 +1033,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -652,26 +1072,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -690,6 +1118,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -711,9 +1140,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -731,36 +1159,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -769,12 +1199,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -787,11 +1221,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -824,27 +1260,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -857,71 +1315,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -930,11 +1422,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -947,45 +1449,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -993,7 +1508,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1011,8 +1525,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1025,8 +1541,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1042,6 +1560,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1079,14 +1598,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1097,27 +1615,21 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libidn_cmd.la: $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_DEPENDENCIES) $(EXTRA_libidn_cmd_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(libidn_cmd_la_LINK)  $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p || test -f $$p1; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+        || test -f $$p1 \
+         ; then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -1138,7 +1650,8 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -1151,6 +1664,21 @@ clean-binPROGRAMS:
        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
        echo " rm -f" $$list; \
        rm -f $$list
+
+clean-noinstLTLIBRARIES:
+       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+       @list='$(noinst_LTLIBRARIES)'; \
+       locs=`for p in $$list; do echo $$p; done | \
+             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+             sort -u`; \
+       test -z "$$locs" || { \
+         echo rm -f $${locs}; \
+         rm -f $${locs}; \
+       }
+
+libidn_cmd.la: $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_DEPENDENCIES) $(EXTRA_libidn_cmd_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(libidn_cmd_la_LINK)  $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_LIBADD) $(LIBS)
+
 idn$(EXEEXT): $(idn_OBJECTS) $(idn_DEPENDENCIES) $(EXTRA_idn_DEPENDENCIES) 
        @rm -f idn$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(idn_OBJECTS) $(idn_LDADD) $(LIBS)
@@ -1161,22 +1689,28 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idn.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1199,8 +1733,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-dist_lispDATA: $(dist_lisp_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(lispdir)" || $(MKDIR_P) "$(DESTDIR)$(lispdir)"
        @list='$(dist_lisp_DATA)'; test -n "$(lispdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(lispdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(lispdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1216,26 +1753,15 @@ uninstall-dist_lispDATA:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(lispdir)'; $(am__uninstall_files_from_dir)
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1247,15 +1773,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1264,11 +1786,28 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1301,14 +1840,15 @@ distdir: $(DISTFILES)
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA)
 installdirs:
        for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
 
@@ -1345,7 +1885,8 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool \
        clean-noinstLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/idn.Po
+       -rm -f ./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1391,7 +1932,8 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/idn.Po
+       -rm -f ./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1410,28 +1952,33 @@ ps-am:
 
 uninstall-am: uninstall-binPROGRAMS uninstall-dist_lispDATA
 
-.MAKE: all check install install-am install-strip
+.MAKE: all check install install-am install-exec install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \
-       distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-binPROGRAMS \
-       install-data install-data-am install-dist_lispDATA install-dvi \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+       clean-binPROGRAMS clean-generic clean-libtool \
+       clean-noinstLTLIBRARIES 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 install-binPROGRAMS install-data \
+       install-data-am install-dist_lispDATA install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
        uninstall-binPROGRAMS uninstall-dist_lispDATA
 
+.PRECIOUS: Makefile
+
 
 idn.c: $(BUILT_SOURCES)
 
-idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
-       gengetopt --unamed-opts --no-handle-version --no-handle-help \
+# pattern rule (%) needed for parallel make (-j)
+idn_cmd%c idn_cmd%h: idn.ggo Makefile.am
+       gengetopt --unamed-opts \
+               --no-handle-version --no-handle-error --no-handle-help \
                --set-package="idn" \
                --input $^ --file-name idn_cmd
        perl -pi -e 's/\[OPTIONS\]/\[OPTION\]/g' idn_cmd.c
index b09762e..06d2934 100644 (file)
--- a/src/idn.c
+++ b/src/idn.c
@@ -1,5 +1,5 @@
 /* idn.c --- Command line interface to libidn.
- * Copyright (C) 2003-2012 Simon Josefsson
+ * Copyright (C) 2003-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -48,9 +48,9 @@
 #include "idn_cmd.h"
 
 #define GREETING \
-  "Copyright 2002-2012 Simon Josefsson.\n"                              \
+  "Copyright 2002-2024 Simon Josefsson.\n"                              \
   "GNU Libidn is free software with ABSOLUTELY NO WARRANTY.  For more\n" \
-  "information about these matters, see <http://www.gnu.org/licenses/>.\n"
+  "information about these matters, see <https://www.gnu.org/licenses/>.\n"
 
 const char version_etc_copyright[] =
   /* Do *not* mark this string for translation.  %s is a copyright
@@ -62,7 +62,7 @@ static void
 usage (int status)
 {
   if (status != EXIT_SUCCESS)
-    fprintf (stderr, _("Try `%s --help' for more information.\n"),
+    fprintf (stderr, _("Try '%s --help' for more information.\n"),
             program_name);
   else
     {
@@ -77,11 +77,11 @@ Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n\
 Command line interface to the internationalized domain name library.\n\
 \n\
 All strings are expected to be encoded in the preferred charset used\n\
-by your locale.  Use `--debug' to find out what this charset is.  You\n\
+by your locale.  Use --debug to find out what this charset is.  You\n\
 can override the charset used by setting environment variable CHARSET.\n\
 \n\
-To process a string that starts with `-', for example `-foo', use `--'\n\
-to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n\
+To process a string that starts with '-', for example '-foo', use '--'\n\
+to signal the end of parameters, as in: idn --quiet -a -- -foo\n\
 \n\
 Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
@@ -109,9 +109,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 "), stdout);
       fputs (_("\
   -p, --profile=STRING     Use specified stringprep profile instead\n\
-                             Valid stringprep profiles: `Nameprep',\n\
-                             `iSCSI', `Nodeprep', `Resourceprep', \n\
-                             `trace', `SASLprep'\n\
+                             Valid stringprep profiles: Nameprep\n\
+                             iSCSI Nodeprep Resourceprep trace SASLprep\n\
 "), stdout);
       fputs (_("\
       --debug              Print debugging information\n\
@@ -126,7 +125,8 @@ int
 main (int argc, char *argv[])
 {
   struct gengetopt_args_info args_info;
-  char readbuf[BUFSIZ];
+  char *line = NULL;
+  size_t linelen = 0;
   char *p, *r;
   uint32_t *q;
   unsigned cmdn = 0;
@@ -138,7 +138,7 @@ main (int argc, char *argv[])
   textdomain (PACKAGE);
 
   if (cmdline_parser (argc, argv, &args_info) != 0)
-    return EXIT_FAILURE;
+    usage (EXIT_FAILURE);
 
   if (args_info.version_given)
     {
@@ -169,21 +169,20 @@ main (int argc, char *argv[])
       (args_info.idna_to_unicode_given ? 1 : 0) +
       (args_info.nfkc_given ? 1 : 0) != 1)
     {
-      error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+      error (0, 0,
+            _("only one of -s, -e, -d, -a, -u or -n can be specified"));
       usage (EXIT_FAILURE);
     }
 
   if (!args_info.quiet_given
-      && args_info.inputs_num == 0
-      && isatty (fileno (stdin)))
+      && args_info.inputs_num == 0 && isatty (fileno (stdin)))
     fprintf (stderr, "%s %s\n" GREETING, PACKAGE, VERSION);
 
   if (args_info.debug_given)
-    fprintf (stderr, _("Charset `%s'.\n"), stringprep_locale_charset ());
+    fprintf (stderr, _("Charset: %s\n"), stringprep_locale_charset ());
 
   if (!args_info.quiet_given
-      && args_info.inputs_num == 0
-      && isatty (fileno (stdin)))
+      && args_info.inputs_num == 0 && isatty (fileno (stdin)))
     fprintf (stderr, _("Type each input string on a line by itself, "
                       "terminated by a newline character.\n"));
 
@@ -191,10 +190,11 @@ main (int argc, char *argv[])
     {
       if (cmdn < args_info.inputs_num)
        {
-         strncpy (readbuf, args_info.inputs[cmdn++], BUFSIZ - 1);
-         readbuf[BUFSIZ - 1] = '\0';
+         line = strdup (args_info.inputs[cmdn++]);
+         if (!line)
+           error (EXIT_FAILURE, errno, N_("strdup"));
        }
-      else if (fgets (readbuf, BUFSIZ, stdin) == NULL)
+      else if (getline (&line, &linelen, stdin) == -1)
        {
          if (feof (stdin))
            break;
@@ -202,12 +202,13 @@ main (int argc, char *argv[])
          error (EXIT_FAILURE, errno, _("input error"));
        }
 
-      if (readbuf[strlen (readbuf) - 1] == '\n')
-       readbuf[strlen (readbuf) - 1] = '\0';
+      if (strlen (line) > 0)
+       if (line[strlen (line) - 1] == '\n')
+         line[strlen (line) - 1] = '\0';
 
       if (args_info.stringprep_given)
        {
-         p = stringprep_locale_to_utf8 (readbuf);
+         p = stringprep_locale_to_utf8 (line);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from %s to UTF-8"),
                   stringprep_locale_charset ());
@@ -267,9 +268,10 @@ main (int argc, char *argv[])
 
       if (args_info.punycode_encode_given)
        {
+         char encbuf[BUFSIZ];
          size_t len, len2;
 
-         p = stringprep_locale_to_utf8 (readbuf);
+         p = stringprep_locale_to_utf8 (line);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from %s to UTF-8"),
                   stringprep_locale_charset ());
@@ -289,15 +291,15 @@ main (int argc, char *argv[])
            }
 
          len2 = BUFSIZ - 1;
-         rc = punycode_encode (len, q, NULL, &len2, readbuf);
+         rc = punycode_encode (len, q, NULL, &len2, encbuf);
          free (q);
          if (rc != PUNYCODE_SUCCESS)
            error (EXIT_FAILURE, 0, _("punycode_encode: %s"),
                   punycode_strerror (rc));
 
-         readbuf[len2] = '\0';
+         encbuf[len2] = '\0';
 
-         p = stringprep_utf8_to_locale (readbuf);
+         p = stringprep_utf8_to_locale (encbuf);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from UTF-8 to %s"),
                   stringprep_locale_charset ());
@@ -316,7 +318,7 @@ main (int argc, char *argv[])
          if (!q)
            error (EXIT_FAILURE, ENOMEM, N_("malloc"));
 
-         rc = punycode_decode (strlen (readbuf), readbuf, &len, q, NULL);
+         rc = punycode_decode (strlen (line), line, &len, q, NULL);
          if (rc != PUNYCODE_SUCCESS)
            {
              free (q);
@@ -352,7 +354,7 @@ main (int argc, char *argv[])
 
       if (args_info.idna_to_ascii_given)
        {
-         p = stringprep_locale_to_utf8 (readbuf);
+         p = stringprep_locale_to_utf8 (line);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from %s to UTF-8"),
                   stringprep_locale_charset ());
@@ -419,7 +421,7 @@ main (int argc, char *argv[])
              size_t i;
              for (i = 0; p[i]; i++)
                fprintf (stderr, "output[%lu] = U+%04x\n",
-                        (unsigned long) i, p[i]);
+                        (unsigned long) i, (unsigned) p[i]);
            }
 
          fprintf (stdout, "%s\n", p);
@@ -429,7 +431,7 @@ main (int argc, char *argv[])
 
       if (args_info.idna_to_unicode_given)
        {
-         p = stringprep_locale_to_utf8 (readbuf);
+         p = stringprep_locale_to_utf8 (line);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from %s to UTF-8"),
                   stringprep_locale_charset ());
@@ -499,7 +501,7 @@ main (int argc, char *argv[])
 
          p = stringprep_utf8_to_locale (r);
          free (r);
-         if (!r)
+         if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from UTF-8 to %s"),
                   stringprep_locale_charset ());
 
@@ -510,7 +512,7 @@ main (int argc, char *argv[])
 
       if (args_info.nfkc_given)
        {
-         p = stringprep_locale_to_utf8 (readbuf);
+         p = stringprep_locale_to_utf8 (line);
          if (!p)
            error (EXIT_FAILURE, 0, _("could not convert from %s to UTF-8"),
                   stringprep_locale_charset ());
@@ -568,9 +570,13 @@ main (int argc, char *argv[])
 
          free (p);
        }
+
+      fflush (stdout);
     }
   while (!feof (stdin) && !ferror (stdin) && (args_info.inputs_num == 0 ||
                                              cmdn < args_info.inputs_num));
 
+  free (line);
+
   return EXIT_SUCCESS;
 }
index 025541c..c7a797d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2012 Simon Josefsson.
+# Copyright (C) 2003-2024 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 option "stringprep" s "Prepare string according to nameprep profile" no
 option "punycode-decode" d "Decode Punycode" no
@@ -26,6 +26,6 @@ option "tld" t "Check string for TLD specific rules\nOnly for --idna-to-ascii an
 option "no-tld" - "Don't check string for TLD specific rules\nOnly for --idna-to-ascii and --idna-to-unicode" flag off
 option "nfkc" n "Normalize string according to Unicode v3.2 NFKC" no
 option "hidden-nfkc" k "Hidden parameter for backwards compatibility" no hidden
-option "profile" p "Use specified stringprep profile instead\nValid stringprep profiles are `Nameprep', `iSCSI', `Nodeprep', `Resourceprep', `trace', and `SASLprep'." string no
+option "profile" p "Use specified stringprep profile instead\nValid stringprep profiles are: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep" string no
 option "debug" - "Print debugging information" flag off
 option "quiet" - "Silent operation" flag off
index 56962fd..6e9423e 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  File autogenerated by gengetopt version 2.22.5
+  File autogenerated by gengetopt version 2.23
   generated with the following command:
-  gengetopt --unamed-opts --no-handle-version --no-handle-help --set-package=idn --input idn.ggo --file-name idn_cmd Makefile.am 
+  gengetopt --unamed-opts --no-handle-version --no-handle-error --no-handle-help --set-package=idn --input idn.ggo --file-name idn_cmd Makefile.am 
 
   The developers of gengetopt consider the fixed text that goes in all
   gengetopt output files to be in the public domain:
@@ -27,7 +27,9 @@
 
 const char *gengetopt_args_info_purpose = "";
 
-const char *gengetopt_args_info_usage = "Usage: idn [OPTION]... [STRING]...";
+const char *gengetopt_args_info_usage = "Usage: idn [OPTION]... [FILE]...";
+
+const char *gengetopt_args_info_versiontext = "";
 
 const char *gengetopt_args_info_description = "";
 
@@ -42,11 +44,11 @@ const char *gengetopt_args_info_full_help[] = {
   "  -u, --idna-to-unicode    Convert from ACE according to IDNA",
   "      --allow-unassigned   Toggle IDNA AllowUnassigned flag  (default=off)",
   "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag  (default=off)",
-  "  -t, --tld                Check string for TLD specific rules\n                             Only for --idna-to-ascii and --idna-to-unicode  \n                             (default=on)",
-  "      --no-tld             Don't check string for TLD specific rules\n                             Only for --idna-to-ascii and --idna-to-unicode  \n                             (default=off)",
+  "  -t, --tld                Check string for TLD specific rules\n                             Only for --idna-to-ascii and --idna-to-unicode\n                             (default=on)",
+  "      --no-tld             Don't check string for TLD specific rules\n                             Only for --idna-to-ascii and --idna-to-unicode\n                             (default=off)",
   "  -n, --nfkc               Normalize string according to Unicode v3.2 NFKC",
   "  -k, --hidden-nfkc        Hidden parameter for backwards compatibility",
-  "  -p, --profile=STRING     Use specified stringprep profile instead\n                             Valid stringprep profiles are `Nameprep', `iSCSI', \n                             `Nodeprep', `Resourceprep', `trace', and \n                             `SASLprep'.",
+  "  -p, --profile=STRING     Use specified stringprep profile instead\n                             Valid stringprep profiles are: Nameprep iSCSI\n                             Nodeprep Resourceprep trace SASLprep",
   "      --debug              Print debugging information  (default=off)",
   "      --quiet              Silent operation  (default=off)",
     0
@@ -163,21 +165,30 @@ cmdline_parser_print_version (void)
   printf ("%s %s\n",
      (strlen(CMDLINE_PARSER_PACKAGE_NAME) ? CMDLINE_PARSER_PACKAGE_NAME : CMDLINE_PARSER_PACKAGE),
      CMDLINE_PARSER_VERSION);
-}
-
-static void print_help_common(void) {
-  cmdline_parser_print_version ();
-
-  if (strlen(gengetopt_args_info_purpose) > 0)
-    printf("\n%s\n", gengetopt_args_info_purpose);
 
-  if (strlen(gengetopt_args_info_usage) > 0)
-    printf("\n%s\n", gengetopt_args_info_usage);
-
-  printf("\n");
+  if (strlen(gengetopt_args_info_versiontext) > 0)
+    printf("\n%s\n", gengetopt_args_info_versiontext);
+}
 
-  if (strlen(gengetopt_args_info_description) > 0)
-    printf("%s\n\n", gengetopt_args_info_description);
+static void print_help_common(void)
+{
+       size_t len_purpose = strlen(gengetopt_args_info_purpose);
+       size_t len_usage = strlen(gengetopt_args_info_usage);
+
+       if (len_usage > 0) {
+               printf("%s\n", gengetopt_args_info_usage);
+       }
+       if (len_purpose > 0) {
+               printf("%s\n", gengetopt_args_info_purpose);
+       }
+
+       if (len_usage || len_purpose) {
+               printf("\n");
+       }
+
+       if (strlen(gengetopt_args_info_description) > 0) {
+               printf("%s\n\n", gengetopt_args_info_description);
+       }
 }
 
 void
@@ -377,12 +388,6 @@ cmdline_parser_ext (int argc, char **argv, struct gengetopt_args_info *args_info
   int result;
   result = cmdline_parser_internal (argc, argv, args_info, params, 0);
 
-  if (result == EXIT_FAILURE)
-    {
-      cmdline_parser_free (args_info);
-      exit (EXIT_FAILURE);
-    }
-  
   return result;
 }
 
@@ -400,12 +405,6 @@ cmdline_parser2 (int argc, char **argv, struct gengetopt_args_info *args_info, i
 
   result = cmdline_parser_internal (argc, argv, args_info, &params, 0);
 
-  if (result == EXIT_FAILURE)
-    {
-      cmdline_parser_free (args_info);
-      exit (EXIT_FAILURE);
-    }
-  
   return result;
 }
 
@@ -498,7 +497,8 @@ int update_arg(void *field, char **orig_field,
     break;
   };
 
-
+       FIX_UNUSED(stop_char);
+       
   /* store the original value */
   switch(arg_type) {
   case ARG_NO:
@@ -527,7 +527,7 @@ cmdline_parser_internal (
 {
   int c;       /* Character of the parsed option.  */
 
-  int error = 0;
+  int error_occurred = 0;
   struct gengetopt_args_info local_args_info;
   
   int override;
@@ -537,10 +537,16 @@ cmdline_parser_internal (
   
   package_name = argv[0];
   
+  /* TODO: Why is this here? It is not used anywhere. */
   override = params->override;
+  FIX_UNUSED(override);
+
   initialize = params->initialize;
   check_required = params->check_required;
+
+  /* TODO: Why is this here? It is not used anywhere. */
   check_ambiguity = params->check_ambiguity;
+  FIX_UNUSED(check_ambiguity);
 
   if (initialize)
     cmdline_parser_init (args_info);
@@ -707,7 +713,7 @@ cmdline_parser_internal (
         
           break;
         case 'p':      /* Use specified stringprep profile instead
-        Valid stringprep profiles are `Nameprep', `iSCSI', `Nodeprep', `Resourceprep', `trace', and `SASLprep'..  */
+        Valid stringprep profiles are: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep.  */
         
         
           if (update_arg( (void *)&(args_info->profile_arg), 
@@ -812,10 +818,11 @@ cmdline_parser_internal (
 
 
 
+       FIX_UNUSED(check_required);
 
   cmdline_parser_release (&local_args_info);
 
-  if ( error )
+  if ( error_occurred )
     return (EXIT_FAILURE);
 
   if (optind < argc)
@@ -849,3 +856,4 @@ failure:
   cmdline_parser_release (&local_args_info);
   return (EXIT_FAILURE);
 }
+/* vim: set ft=c noet ts=8 sts=8 sw=8 tw=80 nojs spell : */
index 4b40030..47301b8 100644 (file)
@@ -1,9 +1,9 @@
 /** @file idn_cmd.h
  *  @brief The header file for the command line option parser
- *  generated by GNU Gengetopt version 2.22.5
+ *  generated by GNU Gengetopt version 2.23
  *  http://www.gnu.org/software/gengetopt.
  *  DO NOT modify this file, since it can be overwritten
- *  @author GNU Gengetopt by Lorenzo Bettini */
+ *  @author GNU Gengetopt */
 
 #ifndef IDN_CMD_H
 #define IDN_CMD_H
@@ -60,11 +60,11 @@ struct gengetopt_args_info
   const char *nfkc_help; /**< @brief Normalize string according to Unicode v3.2 NFKC help description.  */
   const char *hidden_nfkc_help; /**< @brief Hidden parameter for backwards compatibility help description.  */
   char * profile_arg;  /**< @brief Use specified stringprep profile instead
-  Valid stringprep profiles are `Nameprep', `iSCSI', `Nodeprep', `Resourceprep', `trace', and `SASLprep'..  */
+  Valid stringprep profiles are: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep.  */
   char * profile_orig; /**< @brief Use specified stringprep profile instead
-  Valid stringprep profiles are `Nameprep', `iSCSI', `Nodeprep', `Resourceprep', `trace', and `SASLprep'. original value given at command line.  */
+  Valid stringprep profiles are: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep original value given at command line.  */
   const char *profile_help; /**< @brief Use specified stringprep profile instead
-  Valid stringprep profiles are `Nameprep', `iSCSI', `Nodeprep', `Resourceprep', `trace', and `SASLprep'. help description.  */
+  Valid stringprep profiles are: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep help description.  */
   int debug_flag;      /**< @brief Print debugging information (default=off).  */
   const char *debug_help; /**< @brief Print debugging information help description.  */
   int quiet_flag;      /**< @brief Silent operation (default=off).  */
@@ -88,8 +88,8 @@ struct gengetopt_args_info
   unsigned int debug_given ;   /**< @brief Whether debug was given.  */
   unsigned int quiet_given ;   /**< @brief Whether quiet was given.  */
 
-  char **inputs ; /**< @brief unamed options (options without names) */
-  unsigned inputs_num ; /**< @brief unamed options number */
+  char **inputs ; /**< @brief unnamed options (options without names) */
+  unsigned inputs_num ; /**< @brief unnamed options number */
 } ;
 
 /** @brief The additional parameters to pass to parser functions */
@@ -106,6 +106,8 @@ struct cmdline_parser_params
 extern const char *gengetopt_args_info_purpose;
 /** @brief the usage string of the program */
 extern const char *gengetopt_args_info_usage;
+/** @brief the description string of the program */
+extern const char *gengetopt_args_info_description;
 /** @brief all the lines making the help output */
 extern const char *gengetopt_args_info_help[];
 /** @brief all the lines making the full help output (including hidden options) */
index 2f539d6..ffad43b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; idna.el --- Internationalizing Domain Names in Applications.
 
-;; Copyright (C) 2003-2012 Simon Josefsson
+;; Copyright (C) 2003-2024 Simon Josefsson
 ;; Keywords: idna, idn, domain name, internationalization
 
 ;; This file is part of GNU Libidn.
@@ -16,7 +16,7 @@
 ;; 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/>.
+;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 
 ;; Example:
 ;;
-;; (idna-to-ascii "räksmörgås.gnu.org")
+;; (idna-to-ascii "räksmörgås.gnu.org")
 ;; => "xn--rksmrgs-5wao1o.gnu.org"
 ;;
 ;; (idna-to-ascii "www.gnu.org")
 ;; => "www.gnu.org"
 ;;
 ;; (idna-to-unicode "xn--rksmrgs-5wao1o.gnu.org")
-;; => "räksmörgås.gnu.org"
+;; => "räksmörgås.gnu.org"
 ;;
 ;; (idna-to-unicode "www.gnu.org")
 ;; => "www.gnu.org"
index 32f81b4..d644409 100644 (file)
@@ -1,6 +1,6 @@
 ;;; punycode.el --- An ASCII compatible Unicode encoding format.
 
-;; Copyright (C) 2003-2012 Simon Josefsson
+;; Copyright (C) 2003-2024 Simon Josefsson
 ;; Keywords: punycode, idna, idn, unicode, encoding
 
 ;; This file is part of GNU Libidn.
@@ -16,7 +16,7 @@
 ;; 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/>.
+;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 
 ;; Example:
 ;;
-;; (punycode-encode "räksmörgås")
+;; (punycode-encode "räksmörgås")
 ;; => "rksmrgs-5wao1o"
 ;;
 ;; (punycode-encode "foo")
 ;; => "foo-"
 ;;
 ;; (punycode-decode "rksmrgs-5wao1o")
-;; => "räksmörgås"
+;; => "räksmörgås"
 ;;
 ;; (punycode-decode "foo-")
 ;; => "foo"
index f84e069..f942d1f 100644 (file)
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
 AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
 AM_LDFLAGS = -no-install
 
-LDADD = libutils.a ../lib/libidn.la
+LDADD = libutils.a ../lib/libidn.la ../gl/libgnu.la
+
+EXTRA_DIST = standalone.sh
 
 check_LIBRARIES = libutils.a
 libutils_a_SOURCES = utils.h utils.c
 
 ctests = tst_stringprep tst_punycode tst_idna tst_idna2 tst_idna3      \
        tst_idna4 tst_nfkc tst_pr29 tst_strerror tst_toutf8             \
-       tst_symbols
+       tst_symbols tst_badutf8 tst_utf8crash tst_toascii64oob          \
+       tst_badutf8nfkc tst_versions
 if TLD
 ctests += tst_tld
 endif
 
-EXTRA_DIST = libidn.supp
-
 TESTS = $(ctests)
 check_PROGRAMS = $(ctests)
 
-TESTS_ENVIRONMENT = $(VALGRIND)
+LOG_COMPILER = $(VALGRIND)
index 07244e7..9f2b8c1 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2012 Simon Josefsson
+# Copyright (C) 2002-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+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 \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -54,156 +108,219 @@ host_triplet = @host@
 TESTS = $(am__EXEEXT_2)
 check_PROGRAMS = $(am__EXEEXT_2)
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_java_options.m4 \
+       $(top_srcdir)/m4/ax_prog_jar.m4 \
+       $(top_srcdir)/m4/ax_prog_javac.m4 \
+       $(top_srcdir)/m4/ax_prog_javac_works.m4 \
+       $(top_srcdir)/m4/ax_prog_javadoc.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/lib/gl/m4/__inline.m4 \
+       $(top_srcdir)/lib/gl/m4/free.m4 \
+       $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+       $(top_srcdir)/lib/gl/m4/host-cpu-c-abi.m4 \
+       $(top_srcdir)/lib/gl/m4/iconv.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_h.m4 \
        $(top_srcdir)/lib/gl/m4/iconv_open.m4 \
        $(top_srcdir)/lib/gl/m4/inline.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
-       $(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/lib/gl/m4/inttypes.m4 \
+       $(top_srcdir)/lib/gl/m4/langinfo_h.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-ld.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-link.m4 \
+       $(top_srcdir)/lib/gl/m4/lib-prefix.m4 \
        $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-fr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-tr.m4 \
-       $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
-       $(top_srcdir)/lib/gl/m4/locale_h.m4 \
-       $(top_srcdir)/lib/gl/m4/localename.m4 \
-       $(top_srcdir)/lib/gl/m4/setlocale.m4 \
        $(top_srcdir)/lib/gl/m4/strverscmp.m4 \
-       $(top_srcdir)/lib/gl/m4/thread.m4 \
-       $(top_srcdir)/lib/gl/m4/yield.m4 \
-       $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
-       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+       $(top_srcdir)/lib/gl/m4/wchar_h.m4 \
+       $(top_srcdir)/gl/m4/00gnulib.m4 \
+       $(top_srcdir)/gl/m4/absolute-header.m4 \
+       $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/assert_h.m4 \
+       $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/c-bool.m4 \
+       $(top_srcdir)/gl/m4/close.m4 $(top_srcdir)/gl/m4/codeset.m4 \
        $(top_srcdir)/gl/m4/csharp.m4 \
        $(top_srcdir)/gl/m4/csharpcomp.m4 \
-       $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
-       $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
+       $(top_srcdir)/gl/m4/csharpexec.m4 \
+       $(top_srcdir)/gl/m4/double-slash-root.m4 \
+       $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \
        $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
+       $(top_srcdir)/gl/m4/error_h.m4 \
        $(top_srcdir)/gl/m4/extensions.m4 \
-       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
-       $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
-       $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/extern-inline.m4 \
+       $(top_srcdir)/gl/m4/fcntl-o.m4 $(top_srcdir)/gl/m4/fcntl.m4 \
+       $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fstat.m4 \
+       $(top_srcdir)/gl/m4/getdelim.m4 \
+       $(top_srcdir)/gl/m4/getdtablesize.m4 \
+       $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \
+       $(top_srcdir)/gl/m4/getprogname.m4 \
        $(top_srcdir)/gl/m4/gnulib-common.m4 \
        $(top_srcdir)/gl/m4/gnulib-comp.m4 \
        $(top_srcdir)/gl/m4/include_next.m4 \
-       $(top_srcdir)/gl/m4/inttypes.m4 \
-       $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
-       $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
+       $(top_srcdir)/gl/m4/largefile.m4 \
+       $(top_srcdir)/gl/m4/ld-output-def.m4 \
+       $(top_srcdir)/gl/m4/ld-version-script.m4 \
+       $(top_srcdir)/gl/m4/limits-h.m4 \
+       $(top_srcdir)/gl/m4/locale-fr.m4 \
+       $(top_srcdir)/gl/m4/malloca.m4 \
        $(top_srcdir)/gl/m4/manywarnings.m4 \
        $(top_srcdir)/gl/m4/mode_t.m4 \
        $(top_srcdir)/gl/m4/msvc-inval.m4 \
        $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
-       $(top_srcdir)/gl/m4/multiarch.m4 \
+       $(top_srcdir)/gl/m4/multiarch.m4 $(top_srcdir)/gl/m4/musl.m4 \
        $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \
-       $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/pathmax.m4 \
-       $(top_srcdir)/gl/m4/putenv.m4 $(top_srcdir)/gl/m4/setenv.m4 \
-       $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stat.m4 \
-       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
-       $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
-       $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \
+       $(top_srcdir)/gl/m4/open-cloexec.m4 \
+       $(top_srcdir)/gl/m4/open-slash.m4 $(top_srcdir)/gl/m4/open.m4 \
+       $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+       $(top_srcdir)/gl/m4/stat-time.m4 $(top_srcdir)/gl/m4/stat.m4 \
+       $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+       $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+       $(top_srcdir)/gl/m4/stdlib_h.m4 \
        $(top_srcdir)/gl/m4/strerror.m4 \
-       $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+       $(top_srcdir)/gl/m4/string_h.m4 \
        $(top_srcdir)/gl/m4/sys_socket_h.m4 \
        $(top_srcdir)/gl/m4/sys_stat_h.m4 \
        $(top_srcdir)/gl/m4/sys_types_h.m4 \
        $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
        $(top_srcdir)/gl/m4/valgrind-tests.m4 \
        $(top_srcdir)/gl/m4/version-etc.m4 \
+       $(top_srcdir)/gl/m4/visibility.m4 \
        $(top_srcdir)/gl/m4/warn-on-use.m4 \
-       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
-       $(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 \
-       $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/threadlib.m4 \
-       $(top_srcdir)/m4/update-header-version.m4 \
-       $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+       $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_t.m4 \
+       $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/gl/m4/zzgnulib.m4 \
+       $(top_srcdir)/lib/m4/gettext.m4 \
+       $(top_srcdir)/lib/m4/gtk-doc.m4 \
+       $(top_srcdir)/lib/m4/intlmacosx.m4 \
+       $(top_srcdir)/lib/m4/libtool.m4 \
+       $(top_srcdir)/lib/m4/ltoptions.m4 \
+       $(top_srcdir)/lib/m4/ltsugar.m4 \
+       $(top_srcdir)/lib/m4/ltversion.m4 \
+       $(top_srcdir)/lib/m4/lt~obsolete.m4 \
+       $(top_srcdir)/lib/m4/nls.m4 $(top_srcdir)/lib/m4/po.m4 \
+       $(top_srcdir)/lib/m4/progtest.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+@TLD_TRUE@am__EXEEXT_1 = tst_tld$(EXEEXT)
+am__EXEEXT_2 = tst_stringprep$(EXEEXT) tst_punycode$(EXEEXT) \
+       tst_idna$(EXEEXT) tst_idna2$(EXEEXT) tst_idna3$(EXEEXT) \
+       tst_idna4$(EXEEXT) tst_nfkc$(EXEEXT) tst_pr29$(EXEEXT) \
+       tst_strerror$(EXEEXT) tst_toutf8$(EXEEXT) tst_symbols$(EXEEXT) \
+       tst_badutf8$(EXEEXT) tst_utf8crash$(EXEEXT) \
+       tst_toascii64oob$(EXEEXT) tst_badutf8nfkc$(EXEEXT) \
+       tst_versions$(EXEEXT) $(am__EXEEXT_1)
 AM_V_AR = $(am__v_AR_@AM_V@)
 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libutils_a_AR = $(AR) $(ARFLAGS)
 libutils_a_LIBADD =
 am_libutils_a_OBJECTS = utils.$(OBJEXT)
 libutils_a_OBJECTS = $(am_libutils_a_OBJECTS)
-@TLD_TRUE@am__EXEEXT_1 = tst_tld$(EXEEXT)
-am__EXEEXT_2 = tst_stringprep$(EXEEXT) tst_punycode$(EXEEXT) \
-       tst_idna$(EXEEXT) tst_idna2$(EXEEXT) tst_idna3$(EXEEXT) \
-       tst_idna4$(EXEEXT) tst_nfkc$(EXEEXT) tst_pr29$(EXEEXT) \
-       tst_strerror$(EXEEXT) tst_toutf8$(EXEEXT) tst_symbols$(EXEEXT) \
-       $(am__EXEEXT_1)
-tst_idna_SOURCES = tst_idna.c
-tst_idna_OBJECTS = tst_idna.$(OBJEXT)
-tst_idna_LDADD = $(LDADD)
-tst_idna_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_badutf8_SOURCES = tst_badutf8.c
+tst_badutf8_OBJECTS = tst_badutf8.$(OBJEXT)
+tst_badutf8_LDADD = $(LDADD)
+tst_badutf8_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
+am__v_lt_1 = 
+tst_badutf8nfkc_SOURCES = tst_badutf8nfkc.c
+tst_badutf8nfkc_OBJECTS = tst_badutf8nfkc.$(OBJEXT)
+tst_badutf8nfkc_LDADD = $(LDADD)
+tst_badutf8nfkc_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
+tst_idna_SOURCES = tst_idna.c
+tst_idna_OBJECTS = tst_idna.$(OBJEXT)
+tst_idna_LDADD = $(LDADD)
+tst_idna_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_idna2_SOURCES = tst_idna2.c
 tst_idna2_OBJECTS = tst_idna2.$(OBJEXT)
 tst_idna2_LDADD = $(LDADD)
-tst_idna2_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_idna2_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_idna3_SOURCES = tst_idna3.c
 tst_idna3_OBJECTS = tst_idna3.$(OBJEXT)
 tst_idna3_LDADD = $(LDADD)
-tst_idna3_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_idna3_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_idna4_SOURCES = tst_idna4.c
 tst_idna4_OBJECTS = tst_idna4.$(OBJEXT)
 tst_idna4_LDADD = $(LDADD)
-tst_idna4_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_idna4_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_nfkc_SOURCES = tst_nfkc.c
 tst_nfkc_OBJECTS = tst_nfkc.$(OBJEXT)
 tst_nfkc_LDADD = $(LDADD)
-tst_nfkc_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_nfkc_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_pr29_SOURCES = tst_pr29.c
 tst_pr29_OBJECTS = tst_pr29.$(OBJEXT)
 tst_pr29_LDADD = $(LDADD)
-tst_pr29_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_pr29_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_punycode_SOURCES = tst_punycode.c
 tst_punycode_OBJECTS = tst_punycode.$(OBJEXT)
 tst_punycode_LDADD = $(LDADD)
-tst_punycode_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_punycode_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
 tst_strerror_SOURCES = tst_strerror.c
 tst_strerror_OBJECTS = tst_strerror.$(OBJEXT)
 tst_strerror_LDADD = $(LDADD)
-tst_strerror_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_strerror_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
 tst_stringprep_SOURCES = tst_stringprep.c
 tst_stringprep_OBJECTS = tst_stringprep.$(OBJEXT)
 tst_stringprep_LDADD = $(LDADD)
-tst_stringprep_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_stringprep_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
 tst_symbols_SOURCES = tst_symbols.c
 tst_symbols_OBJECTS = tst_symbols.$(OBJEXT)
 tst_symbols_LDADD = $(LDADD)
-tst_symbols_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_symbols_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
 tst_tld_SOURCES = tst_tld.c
 tst_tld_OBJECTS = tst_tld.$(OBJEXT)
 tst_tld_LDADD = $(LDADD)
-tst_tld_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_tld_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
+tst_toascii64oob_SOURCES = tst_toascii64oob.c
+tst_toascii64oob_OBJECTS = tst_toascii64oob.$(OBJEXT)
+tst_toascii64oob_LDADD = $(LDADD)
+tst_toascii64oob_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
 tst_toutf8_SOURCES = tst_toutf8.c
 tst_toutf8_OBJECTS = tst_toutf8.$(OBJEXT)
 tst_toutf8_LDADD = $(LDADD)
-tst_toutf8_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_toutf8_DEPENDENCIES = libutils.a ../lib/libidn.la ../gl/libgnu.la
+tst_utf8crash_SOURCES = tst_utf8crash.c
+tst_utf8crash_OBJECTS = tst_utf8crash.$(OBJEXT)
+tst_utf8crash_LDADD = $(LDADD)
+tst_utf8crash_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
+tst_versions_SOURCES = tst_versions.c
+tst_versions_OBJECTS = tst_versions.$(OBJEXT)
+tst_versions_LDADD = $(LDADD)
+tst_versions_DEPENDENCIES = libutils.a ../lib/libidn.la \
+       ../gl/libgnu.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/tst_badutf8.Po \
+       ./$(DEPDIR)/tst_badutf8nfkc.Po ./$(DEPDIR)/tst_idna.Po \
+       ./$(DEPDIR)/tst_idna2.Po ./$(DEPDIR)/tst_idna3.Po \
+       ./$(DEPDIR)/tst_idna4.Po ./$(DEPDIR)/tst_nfkc.Po \
+       ./$(DEPDIR)/tst_pr29.Po ./$(DEPDIR)/tst_punycode.Po \
+       ./$(DEPDIR)/tst_strerror.Po ./$(DEPDIR)/tst_stringprep.Po \
+       ./$(DEPDIR)/tst_symbols.Po ./$(DEPDIR)/tst_tld.Po \
+       ./$(DEPDIR)/tst_toascii64oob.Po ./$(DEPDIR)/tst_toutf8.Po \
+       ./$(DEPDIR)/tst_utf8crash.Po ./$(DEPDIR)/tst_versions.Po \
+       ./$(DEPDIR)/utils.Po
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -213,39 +330,268 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(AM_CFLAGS) $(CFLAGS)
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libutils_a_SOURCES) tst_idna.c tst_idna2.c tst_idna3.c \
-       tst_idna4.c tst_nfkc.c tst_pr29.c tst_punycode.c \
-       tst_strerror.c tst_stringprep.c tst_symbols.c tst_tld.c \
-       tst_toutf8.c
-DIST_SOURCES = $(libutils_a_SOURCES) tst_idna.c tst_idna2.c \
-       tst_idna3.c tst_idna4.c tst_nfkc.c tst_pr29.c tst_punycode.c \
-       tst_strerror.c tst_stringprep.c tst_symbols.c tst_tld.c \
-       tst_toutf8.c
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libutils_a_SOURCES) tst_badutf8.c tst_badutf8nfkc.c \
+       tst_idna.c tst_idna2.c tst_idna3.c tst_idna4.c tst_nfkc.c \
+       tst_pr29.c tst_punycode.c tst_strerror.c tst_stringprep.c \
+       tst_symbols.c tst_tld.c tst_toascii64oob.c tst_toutf8.c \
+       tst_utf8crash.c tst_versions.c
+DIST_SOURCES = $(libutils_a_SOURCES) tst_badutf8.c tst_badutf8nfkc.c \
+       tst_idna.c tst_idna2.c tst_idna3.c tst_idna4.c tst_nfkc.c \
+       tst_pr29.c tst_punycode.c tst_strerror.c tst_stringprep.c \
+       tst_symbols.c tst_tld.c tst_toascii64oob.c tst_toutf8.c \
+       tst_utf8crash.c tst_versions.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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 \
+       $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 ALLOCA_H = @ALLOCA_H@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
 APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
 AR = @AR@
 ARFLAGS = @ARFLAGS@
 AS = @AS@
+ASSERT_H = @ASSERT_H@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -264,9 +610,12 @@ CLIX_PATH_VAR = @CLIX_PATH_VAR@
 CONFIG_INCLUDE = @CONFIG_INCLUDE@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
 CSHARP_CHOICE = @CSHARP_CHOICE@
+CTAGS = @CTAGS@
 CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -286,290 +635,579 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
 EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
 EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
 ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
-GCJ = @GCJ@
-GCJDEPMODE = @GCJDEPMODE@
-GCJFLAGS = @GCJFLAGS@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
 GETOPT_H = @GETOPT_H@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GJDOC = @GJDOC@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHMOD = @GL_GNULIB_CHMOD@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_CREAT = @GL_GNULIB_CREAT@
+GL_GNULIB_CTIME = @GL_GNULIB_CTIME@
+GL_GNULIB_DPRINTF = @GL_GNULIB_DPRINTF@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHMODAT = @GL_GNULIB_FCHMODAT@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FCLOSE = @GL_GNULIB_FCLOSE@
+GL_GNULIB_FCNTL = @GL_GNULIB_FCNTL@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FDOPEN = @GL_GNULIB_FDOPEN@
+GL_GNULIB_FFLUSH = @GL_GNULIB_FFLUSH@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FGETC = @GL_GNULIB_FGETC@
+GL_GNULIB_FGETS = @GL_GNULIB_FGETS@
+GL_GNULIB_FOPEN = @GL_GNULIB_FOPEN@
+GL_GNULIB_FOPEN_GNU = @GL_GNULIB_FOPEN_GNU@
+GL_GNULIB_FPRINTF = @GL_GNULIB_FPRINTF@
+GL_GNULIB_FPRINTF_POSIX = @GL_GNULIB_FPRINTF_POSIX@
+GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
+GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
+GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
+GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
+GL_GNULIB_FSCANF = @GL_GNULIB_FSCANF@
+GL_GNULIB_FSEEK = @GL_GNULIB_FSEEK@
+GL_GNULIB_FSEEKO = @GL_GNULIB_FSEEKO@
+GL_GNULIB_FSTAT = @GL_GNULIB_FSTAT@
+GL_GNULIB_FSTATAT = @GL_GNULIB_FSTATAT@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTELL = @GL_GNULIB_FTELL@
+GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
+GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_GETC = @GL_GNULIB_GETC@
+GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDELIM = @GL_GNULIB_GETDELIM@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LOCALTIME = @GL_GNULIB_LOCALTIME@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CHMOD = @GL_GNULIB_MDA_CHMOD@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_CREAT = @GL_GNULIB_MDA_CREAT@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCLOSEALL = @GL_GNULIB_MDA_FCLOSEALL@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_FDOPEN = @GL_GNULIB_MDA_FDOPEN@
+GL_GNULIB_MDA_FILENO = @GL_GNULIB_MDA_FILENO@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_GETW = @GL_GNULIB_MDA_GETW@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKDIR = @GL_GNULIB_MDA_MKDIR@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_OPEN = @GL_GNULIB_MDA_OPEN@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_PUTW = @GL_GNULIB_MDA_PUTW@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_TEMPNAM = @GL_GNULIB_MDA_TEMPNAM@
+GL_GNULIB_MDA_TZSET = @GL_GNULIB_MDA_TZSET@
+GL_GNULIB_MDA_UMASK = @GL_GNULIB_MDA_UMASK@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
+GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
+GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKFIFO = @GL_GNULIB_MKFIFO@
+GL_GNULIB_MKFIFOAT = @GL_GNULIB_MKFIFOAT@
+GL_GNULIB_MKNOD = @GL_GNULIB_MKNOD@
+GL_GNULIB_MKNODAT = @GL_GNULIB_MKNODAT@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_MKTIME = @GL_GNULIB_MKTIME@
+GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
+GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
+GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
+GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
+GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
+GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POPEN = @GL_GNULIB_POPEN@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PRINTF = @GL_GNULIB_PRINTF@
+GL_GNULIB_PRINTF_POSIX = @GL_GNULIB_PRINTF_POSIX@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTC = @GL_GNULIB_PUTC@
+GL_GNULIB_PUTCHAR = @GL_GNULIB_PUTCHAR@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PUTS = @GL_GNULIB_PUTS@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RAND = @GL_GNULIB_RAND@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_REMOVE = @GL_GNULIB_REMOVE@
+GL_GNULIB_RENAME = @GL_GNULIB_RENAME@
+GL_GNULIB_RENAMEAT = @GL_GNULIB_RENAMEAT@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SCANF = @GL_GNULIB_SCANF@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
+GL_GNULIB_STAT = @GL_GNULIB_STAT@
+GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
+GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
+GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
+GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
+GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
+GL_GNULIB_TIME_R = @GL_GNULIB_TIME_R@
+GL_GNULIB_TIME_RZ = @GL_GNULIB_TIME_RZ@
+GL_GNULIB_TMPFILE = @GL_GNULIB_TMPFILE@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
+GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
+GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
+GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
+GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
+GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
+GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_LGL_GNULIB_ACCESS = @GL_LGL_GNULIB_ACCESS@
+GL_LGL_GNULIB_ALIGNED_ALLOC = @GL_LGL_GNULIB_ALIGNED_ALLOC@
+GL_LGL_GNULIB_ATOLL = @GL_LGL_GNULIB_ATOLL@
+GL_LGL_GNULIB_BTOWC = @GL_LGL_GNULIB_BTOWC@
+GL_LGL_GNULIB_CALLOC_GNU = @GL_LGL_GNULIB_CALLOC_GNU@
+GL_LGL_GNULIB_CALLOC_POSIX = @GL_LGL_GNULIB_CALLOC_POSIX@
+GL_LGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_LGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_LGL_GNULIB_CHDIR = @GL_LGL_GNULIB_CHDIR@
+GL_LGL_GNULIB_CHOWN = @GL_LGL_GNULIB_CHOWN@
+GL_LGL_GNULIB_CLOSE = @GL_LGL_GNULIB_CLOSE@
+GL_LGL_GNULIB_COPY_FILE_RANGE = @GL_LGL_GNULIB_COPY_FILE_RANGE@
+GL_LGL_GNULIB_DUP = @GL_LGL_GNULIB_DUP@
+GL_LGL_GNULIB_DUP2 = @GL_LGL_GNULIB_DUP2@
+GL_LGL_GNULIB_DUP3 = @GL_LGL_GNULIB_DUP3@
+GL_LGL_GNULIB_ENVIRON = @GL_LGL_GNULIB_ENVIRON@
+GL_LGL_GNULIB_EUIDACCESS = @GL_LGL_GNULIB_EUIDACCESS@
+GL_LGL_GNULIB_EXECL = @GL_LGL_GNULIB_EXECL@
+GL_LGL_GNULIB_EXECLE = @GL_LGL_GNULIB_EXECLE@
+GL_LGL_GNULIB_EXECLP = @GL_LGL_GNULIB_EXECLP@
+GL_LGL_GNULIB_EXECV = @GL_LGL_GNULIB_EXECV@
+GL_LGL_GNULIB_EXECVE = @GL_LGL_GNULIB_EXECVE@
+GL_LGL_GNULIB_EXECVP = @GL_LGL_GNULIB_EXECVP@
+GL_LGL_GNULIB_EXECVPE = @GL_LGL_GNULIB_EXECVPE@
+GL_LGL_GNULIB_EXPLICIT_BZERO = @GL_LGL_GNULIB_EXPLICIT_BZERO@
+GL_LGL_GNULIB_FACCESSAT = @GL_LGL_GNULIB_FACCESSAT@
+GL_LGL_GNULIB_FCHDIR = @GL_LGL_GNULIB_FCHDIR@
+GL_LGL_GNULIB_FCHOWNAT = @GL_LGL_GNULIB_FCHOWNAT@
+GL_LGL_GNULIB_FDATASYNC = @GL_LGL_GNULIB_FDATASYNC@
+GL_LGL_GNULIB_FFSL = @GL_LGL_GNULIB_FFSL@
+GL_LGL_GNULIB_FFSLL = @GL_LGL_GNULIB_FFSLL@
+GL_LGL_GNULIB_FREE_POSIX = @GL_LGL_GNULIB_FREE_POSIX@
+GL_LGL_GNULIB_FSYNC = @GL_LGL_GNULIB_FSYNC@
+GL_LGL_GNULIB_FTRUNCATE = @GL_LGL_GNULIB_FTRUNCATE@
+GL_LGL_GNULIB_GETCWD = @GL_LGL_GNULIB_GETCWD@
+GL_LGL_GNULIB_GETDOMAINNAME = @GL_LGL_GNULIB_GETDOMAINNAME@
+GL_LGL_GNULIB_GETDTABLESIZE = @GL_LGL_GNULIB_GETDTABLESIZE@
+GL_LGL_GNULIB_GETENTROPY = @GL_LGL_GNULIB_GETENTROPY@
+GL_LGL_GNULIB_GETGROUPS = @GL_LGL_GNULIB_GETGROUPS@
+GL_LGL_GNULIB_GETHOSTNAME = @GL_LGL_GNULIB_GETHOSTNAME@
+GL_LGL_GNULIB_GETLOADAVG = @GL_LGL_GNULIB_GETLOADAVG@
+GL_LGL_GNULIB_GETLOGIN = @GL_LGL_GNULIB_GETLOGIN@
+GL_LGL_GNULIB_GETLOGIN_R = @GL_LGL_GNULIB_GETLOGIN_R@
+GL_LGL_GNULIB_GETOPT_POSIX = @GL_LGL_GNULIB_GETOPT_POSIX@
+GL_LGL_GNULIB_GETPAGESIZE = @GL_LGL_GNULIB_GETPAGESIZE@
+GL_LGL_GNULIB_GETPASS = @GL_LGL_GNULIB_GETPASS@
+GL_LGL_GNULIB_GETPASS_GNU = @GL_LGL_GNULIB_GETPASS_GNU@
+GL_LGL_GNULIB_GETPROGNAME = @GL_LGL_GNULIB_GETPROGNAME@
+GL_LGL_GNULIB_GETSUBOPT = @GL_LGL_GNULIB_GETSUBOPT@
+GL_LGL_GNULIB_GETUSERSHELL = @GL_LGL_GNULIB_GETUSERSHELL@
+GL_LGL_GNULIB_GRANTPT = @GL_LGL_GNULIB_GRANTPT@
+GL_LGL_GNULIB_GROUP_MEMBER = @GL_LGL_GNULIB_GROUP_MEMBER@
+GL_LGL_GNULIB_ICONV = @GL_LGL_GNULIB_ICONV@
+GL_LGL_GNULIB_IMAXABS = @GL_LGL_GNULIB_IMAXABS@
+GL_LGL_GNULIB_IMAXDIV = @GL_LGL_GNULIB_IMAXDIV@
+GL_LGL_GNULIB_ISATTY = @GL_LGL_GNULIB_ISATTY@
+GL_LGL_GNULIB_LCHOWN = @GL_LGL_GNULIB_LCHOWN@
+GL_LGL_GNULIB_LINK = @GL_LGL_GNULIB_LINK@
+GL_LGL_GNULIB_LINKAT = @GL_LGL_GNULIB_LINKAT@
+GL_LGL_GNULIB_LSEEK = @GL_LGL_GNULIB_LSEEK@
+GL_LGL_GNULIB_MALLOC_GNU = @GL_LGL_GNULIB_MALLOC_GNU@
+GL_LGL_GNULIB_MALLOC_POSIX = @GL_LGL_GNULIB_MALLOC_POSIX@
+GL_LGL_GNULIB_MBRLEN = @GL_LGL_GNULIB_MBRLEN@
+GL_LGL_GNULIB_MBRTOWC = @GL_LGL_GNULIB_MBRTOWC@
+GL_LGL_GNULIB_MBSCASECMP = @GL_LGL_GNULIB_MBSCASECMP@
+GL_LGL_GNULIB_MBSCASESTR = @GL_LGL_GNULIB_MBSCASESTR@
+GL_LGL_GNULIB_MBSCHR = @GL_LGL_GNULIB_MBSCHR@
+GL_LGL_GNULIB_MBSCSPN = @GL_LGL_GNULIB_MBSCSPN@
+GL_LGL_GNULIB_MBSINIT = @GL_LGL_GNULIB_MBSINIT@
+GL_LGL_GNULIB_MBSLEN = @GL_LGL_GNULIB_MBSLEN@
+GL_LGL_GNULIB_MBSNCASECMP = @GL_LGL_GNULIB_MBSNCASECMP@
+GL_LGL_GNULIB_MBSNLEN = @GL_LGL_GNULIB_MBSNLEN@
+GL_LGL_GNULIB_MBSNRTOWCS = @GL_LGL_GNULIB_MBSNRTOWCS@
+GL_LGL_GNULIB_MBSPBRK = @GL_LGL_GNULIB_MBSPBRK@
+GL_LGL_GNULIB_MBSPCASECMP = @GL_LGL_GNULIB_MBSPCASECMP@
+GL_LGL_GNULIB_MBSRCHR = @GL_LGL_GNULIB_MBSRCHR@
+GL_LGL_GNULIB_MBSRTOWCS = @GL_LGL_GNULIB_MBSRTOWCS@
+GL_LGL_GNULIB_MBSSEP = @GL_LGL_GNULIB_MBSSEP@
+GL_LGL_GNULIB_MBSSPN = @GL_LGL_GNULIB_MBSSPN@
+GL_LGL_GNULIB_MBSSTR = @GL_LGL_GNULIB_MBSSTR@
+GL_LGL_GNULIB_MBSTOK_R = @GL_LGL_GNULIB_MBSTOK_R@
+GL_LGL_GNULIB_MBSTOWCS = @GL_LGL_GNULIB_MBSTOWCS@
+GL_LGL_GNULIB_MBSZERO = @GL_LGL_GNULIB_MBSZERO@
+GL_LGL_GNULIB_MBTOWC = @GL_LGL_GNULIB_MBTOWC@
+GL_LGL_GNULIB_MDA_ACCESS = @GL_LGL_GNULIB_MDA_ACCESS@
+GL_LGL_GNULIB_MDA_CHDIR = @GL_LGL_GNULIB_MDA_CHDIR@
+GL_LGL_GNULIB_MDA_CLOSE = @GL_LGL_GNULIB_MDA_CLOSE@
+GL_LGL_GNULIB_MDA_DUP = @GL_LGL_GNULIB_MDA_DUP@
+GL_LGL_GNULIB_MDA_DUP2 = @GL_LGL_GNULIB_MDA_DUP2@
+GL_LGL_GNULIB_MDA_ECVT = @GL_LGL_GNULIB_MDA_ECVT@
+GL_LGL_GNULIB_MDA_EXECL = @GL_LGL_GNULIB_MDA_EXECL@
+GL_LGL_GNULIB_MDA_EXECLE = @GL_LGL_GNULIB_MDA_EXECLE@
+GL_LGL_GNULIB_MDA_EXECLP = @GL_LGL_GNULIB_MDA_EXECLP@
+GL_LGL_GNULIB_MDA_EXECV = @GL_LGL_GNULIB_MDA_EXECV@
+GL_LGL_GNULIB_MDA_EXECVE = @GL_LGL_GNULIB_MDA_EXECVE@
+GL_LGL_GNULIB_MDA_EXECVP = @GL_LGL_GNULIB_MDA_EXECVP@
+GL_LGL_GNULIB_MDA_EXECVPE = @GL_LGL_GNULIB_MDA_EXECVPE@
+GL_LGL_GNULIB_MDA_FCVT = @GL_LGL_GNULIB_MDA_FCVT@
+GL_LGL_GNULIB_MDA_GCVT = @GL_LGL_GNULIB_MDA_GCVT@
+GL_LGL_GNULIB_MDA_GETCWD = @GL_LGL_GNULIB_MDA_GETCWD@
+GL_LGL_GNULIB_MDA_GETPID = @GL_LGL_GNULIB_MDA_GETPID@
+GL_LGL_GNULIB_MDA_ISATTY = @GL_LGL_GNULIB_MDA_ISATTY@
+GL_LGL_GNULIB_MDA_LSEEK = @GL_LGL_GNULIB_MDA_LSEEK@
+GL_LGL_GNULIB_MDA_MEMCCPY = @GL_LGL_GNULIB_MDA_MEMCCPY@
+GL_LGL_GNULIB_MDA_MKTEMP = @GL_LGL_GNULIB_MDA_MKTEMP@
+GL_LGL_GNULIB_MDA_PUTENV = @GL_LGL_GNULIB_MDA_PUTENV@
+GL_LGL_GNULIB_MDA_READ = @GL_LGL_GNULIB_MDA_READ@
+GL_LGL_GNULIB_MDA_RMDIR = @GL_LGL_GNULIB_MDA_RMDIR@
+GL_LGL_GNULIB_MDA_STRDUP = @GL_LGL_GNULIB_MDA_STRDUP@
+GL_LGL_GNULIB_MDA_SWAB = @GL_LGL_GNULIB_MDA_SWAB@
+GL_LGL_GNULIB_MDA_UNLINK = @GL_LGL_GNULIB_MDA_UNLINK@
+GL_LGL_GNULIB_MDA_WCSDUP = @GL_LGL_GNULIB_MDA_WCSDUP@
+GL_LGL_GNULIB_MDA_WRITE = @GL_LGL_GNULIB_MDA_WRITE@
+GL_LGL_GNULIB_MEMCHR = @GL_LGL_GNULIB_MEMCHR@
+GL_LGL_GNULIB_MEMMEM = @GL_LGL_GNULIB_MEMMEM@
+GL_LGL_GNULIB_MEMPCPY = @GL_LGL_GNULIB_MEMPCPY@
+GL_LGL_GNULIB_MEMRCHR = @GL_LGL_GNULIB_MEMRCHR@
+GL_LGL_GNULIB_MEMSET_EXPLICIT = @GL_LGL_GNULIB_MEMSET_EXPLICIT@
+GL_LGL_GNULIB_MKDTEMP = @GL_LGL_GNULIB_MKDTEMP@
+GL_LGL_GNULIB_MKOSTEMP = @GL_LGL_GNULIB_MKOSTEMP@
+GL_LGL_GNULIB_MKOSTEMPS = @GL_LGL_GNULIB_MKOSTEMPS@
+GL_LGL_GNULIB_MKSTEMP = @GL_LGL_GNULIB_MKSTEMP@
+GL_LGL_GNULIB_MKSTEMPS = @GL_LGL_GNULIB_MKSTEMPS@
+GL_LGL_GNULIB_NL_LANGINFO = @GL_LGL_GNULIB_NL_LANGINFO@
+GL_LGL_GNULIB_PIPE = @GL_LGL_GNULIB_PIPE@
+GL_LGL_GNULIB_PIPE2 = @GL_LGL_GNULIB_PIPE2@
+GL_LGL_GNULIB_POSIX_MEMALIGN = @GL_LGL_GNULIB_POSIX_MEMALIGN@
+GL_LGL_GNULIB_POSIX_OPENPT = @GL_LGL_GNULIB_POSIX_OPENPT@
+GL_LGL_GNULIB_PREAD = @GL_LGL_GNULIB_PREAD@
+GL_LGL_GNULIB_PTSNAME = @GL_LGL_GNULIB_PTSNAME@
+GL_LGL_GNULIB_PTSNAME_R = @GL_LGL_GNULIB_PTSNAME_R@
+GL_LGL_GNULIB_PUTENV = @GL_LGL_GNULIB_PUTENV@
+GL_LGL_GNULIB_PWRITE = @GL_LGL_GNULIB_PWRITE@
+GL_LGL_GNULIB_QSORT_R = @GL_LGL_GNULIB_QSORT_R@
+GL_LGL_GNULIB_RAND = @GL_LGL_GNULIB_RAND@
+GL_LGL_GNULIB_RANDOM = @GL_LGL_GNULIB_RANDOM@
+GL_LGL_GNULIB_RANDOM_R = @GL_LGL_GNULIB_RANDOM_R@
+GL_LGL_GNULIB_RAWMEMCHR = @GL_LGL_GNULIB_RAWMEMCHR@
+GL_LGL_GNULIB_READ = @GL_LGL_GNULIB_READ@
+GL_LGL_GNULIB_READLINK = @GL_LGL_GNULIB_READLINK@
+GL_LGL_GNULIB_READLINKAT = @GL_LGL_GNULIB_READLINKAT@
+GL_LGL_GNULIB_REALLOCARRAY = @GL_LGL_GNULIB_REALLOCARRAY@
+GL_LGL_GNULIB_REALLOC_GNU = @GL_LGL_GNULIB_REALLOC_GNU@
+GL_LGL_GNULIB_REALLOC_POSIX = @GL_LGL_GNULIB_REALLOC_POSIX@
+GL_LGL_GNULIB_REALPATH = @GL_LGL_GNULIB_REALPATH@
+GL_LGL_GNULIB_RMDIR = @GL_LGL_GNULIB_RMDIR@
+GL_LGL_GNULIB_RPMATCH = @GL_LGL_GNULIB_RPMATCH@
+GL_LGL_GNULIB_SECURE_GETENV = @GL_LGL_GNULIB_SECURE_GETENV@
+GL_LGL_GNULIB_SETENV = @GL_LGL_GNULIB_SETENV@
+GL_LGL_GNULIB_SETHOSTNAME = @GL_LGL_GNULIB_SETHOSTNAME@
+GL_LGL_GNULIB_SIGABBREV_NP = @GL_LGL_GNULIB_SIGABBREV_NP@
+GL_LGL_GNULIB_SIGDESCR_NP = @GL_LGL_GNULIB_SIGDESCR_NP@
+GL_LGL_GNULIB_SLEEP = @GL_LGL_GNULIB_SLEEP@
+GL_LGL_GNULIB_STPCPY = @GL_LGL_GNULIB_STPCPY@
+GL_LGL_GNULIB_STPNCPY = @GL_LGL_GNULIB_STPNCPY@
+GL_LGL_GNULIB_STRCASESTR = @GL_LGL_GNULIB_STRCASESTR@
+GL_LGL_GNULIB_STRCHRNUL = @GL_LGL_GNULIB_STRCHRNUL@
+GL_LGL_GNULIB_STRDUP = @GL_LGL_GNULIB_STRDUP@
+GL_LGL_GNULIB_STRERROR = @GL_LGL_GNULIB_STRERROR@
+GL_LGL_GNULIB_STRERRORNAME_NP = @GL_LGL_GNULIB_STRERRORNAME_NP@
+GL_LGL_GNULIB_STRERROR_R = @GL_LGL_GNULIB_STRERROR_R@
+GL_LGL_GNULIB_STRNCAT = @GL_LGL_GNULIB_STRNCAT@
+GL_LGL_GNULIB_STRNDUP = @GL_LGL_GNULIB_STRNDUP@
+GL_LGL_GNULIB_STRNLEN = @GL_LGL_GNULIB_STRNLEN@
+GL_LGL_GNULIB_STRPBRK = @GL_LGL_GNULIB_STRPBRK@
+GL_LGL_GNULIB_STRSEP = @GL_LGL_GNULIB_STRSEP@
+GL_LGL_GNULIB_STRSIGNAL = @GL_LGL_GNULIB_STRSIGNAL@
+GL_LGL_GNULIB_STRSTR = @GL_LGL_GNULIB_STRSTR@
+GL_LGL_GNULIB_STRTOD = @GL_LGL_GNULIB_STRTOD@
+GL_LGL_GNULIB_STRTOIMAX = @GL_LGL_GNULIB_STRTOIMAX@
+GL_LGL_GNULIB_STRTOK_R = @GL_LGL_GNULIB_STRTOK_R@
+GL_LGL_GNULIB_STRTOL = @GL_LGL_GNULIB_STRTOL@
+GL_LGL_GNULIB_STRTOLD = @GL_LGL_GNULIB_STRTOLD@
+GL_LGL_GNULIB_STRTOLL = @GL_LGL_GNULIB_STRTOLL@
+GL_LGL_GNULIB_STRTOUL = @GL_LGL_GNULIB_STRTOUL@
+GL_LGL_GNULIB_STRTOULL = @GL_LGL_GNULIB_STRTOULL@
+GL_LGL_GNULIB_STRTOUMAX = @GL_LGL_GNULIB_STRTOUMAX@
+GL_LGL_GNULIB_STRVERSCMP = @GL_LGL_GNULIB_STRVERSCMP@
+GL_LGL_GNULIB_SYMLINK = @GL_LGL_GNULIB_SYMLINK@
+GL_LGL_GNULIB_SYMLINKAT = @GL_LGL_GNULIB_SYMLINKAT@
+GL_LGL_GNULIB_SYSTEM_POSIX = @GL_LGL_GNULIB_SYSTEM_POSIX@
+GL_LGL_GNULIB_TRUNCATE = @GL_LGL_GNULIB_TRUNCATE@
+GL_LGL_GNULIB_TTYNAME_R = @GL_LGL_GNULIB_TTYNAME_R@
+GL_LGL_GNULIB_UNISTD_H_GETOPT = @GL_LGL_GNULIB_UNISTD_H_GETOPT@
+GL_LGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_LGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_LGL_GNULIB_UNISTD_H_SIGPIPE = @GL_LGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_LGL_GNULIB_UNLINK = @GL_LGL_GNULIB_UNLINK@
+GL_LGL_GNULIB_UNLINKAT = @GL_LGL_GNULIB_UNLINKAT@
+GL_LGL_GNULIB_UNLOCKPT = @GL_LGL_GNULIB_UNLOCKPT@
+GL_LGL_GNULIB_UNSETENV = @GL_LGL_GNULIB_UNSETENV@
+GL_LGL_GNULIB_USLEEP = @GL_LGL_GNULIB_USLEEP@
+GL_LGL_GNULIB_WCPCPY = @GL_LGL_GNULIB_WCPCPY@
+GL_LGL_GNULIB_WCPNCPY = @GL_LGL_GNULIB_WCPNCPY@
+GL_LGL_GNULIB_WCRTOMB = @GL_LGL_GNULIB_WCRTOMB@
+GL_LGL_GNULIB_WCSCASECMP = @GL_LGL_GNULIB_WCSCASECMP@
+GL_LGL_GNULIB_WCSCAT = @GL_LGL_GNULIB_WCSCAT@
+GL_LGL_GNULIB_WCSCHR = @GL_LGL_GNULIB_WCSCHR@
+GL_LGL_GNULIB_WCSCMP = @GL_LGL_GNULIB_WCSCMP@
+GL_LGL_GNULIB_WCSCOLL = @GL_LGL_GNULIB_WCSCOLL@
+GL_LGL_GNULIB_WCSCPY = @GL_LGL_GNULIB_WCSCPY@
+GL_LGL_GNULIB_WCSCSPN = @GL_LGL_GNULIB_WCSCSPN@
+GL_LGL_GNULIB_WCSDUP = @GL_LGL_GNULIB_WCSDUP@
+GL_LGL_GNULIB_WCSFTIME = @GL_LGL_GNULIB_WCSFTIME@
+GL_LGL_GNULIB_WCSLEN = @GL_LGL_GNULIB_WCSLEN@
+GL_LGL_GNULIB_WCSNCASECMP = @GL_LGL_GNULIB_WCSNCASECMP@
+GL_LGL_GNULIB_WCSNCAT = @GL_LGL_GNULIB_WCSNCAT@
+GL_LGL_GNULIB_WCSNCMP = @GL_LGL_GNULIB_WCSNCMP@
+GL_LGL_GNULIB_WCSNCPY = @GL_LGL_GNULIB_WCSNCPY@
+GL_LGL_GNULIB_WCSNLEN = @GL_LGL_GNULIB_WCSNLEN@
+GL_LGL_GNULIB_WCSNRTOMBS = @GL_LGL_GNULIB_WCSNRTOMBS@
+GL_LGL_GNULIB_WCSPBRK = @GL_LGL_GNULIB_WCSPBRK@
+GL_LGL_GNULIB_WCSRCHR = @GL_LGL_GNULIB_WCSRCHR@
+GL_LGL_GNULIB_WCSRTOMBS = @GL_LGL_GNULIB_WCSRTOMBS@
+GL_LGL_GNULIB_WCSSPN = @GL_LGL_GNULIB_WCSSPN@
+GL_LGL_GNULIB_WCSSTR = @GL_LGL_GNULIB_WCSSTR@
+GL_LGL_GNULIB_WCSTOK = @GL_LGL_GNULIB_WCSTOK@
+GL_LGL_GNULIB_WCSWIDTH = @GL_LGL_GNULIB_WCSWIDTH@
+GL_LGL_GNULIB_WCSXFRM = @GL_LGL_GNULIB_WCSXFRM@
+GL_LGL_GNULIB_WCTOB = @GL_LGL_GNULIB_WCTOB@
+GL_LGL_GNULIB_WCTOMB = @GL_LGL_GNULIB_WCTOMB@
+GL_LGL_GNULIB_WCWIDTH = @GL_LGL_GNULIB_WCWIDTH@
+GL_LGL_GNULIB_WGETCWD = @GL_LGL_GNULIB_WGETCWD@
+GL_LGL_GNULIB_WMEMCHR = @GL_LGL_GNULIB_WMEMCHR@
+GL_LGL_GNULIB_WMEMCMP = @GL_LGL_GNULIB_WMEMCMP@
+GL_LGL_GNULIB_WMEMCPY = @GL_LGL_GNULIB_WMEMCPY@
+GL_LGL_GNULIB_WMEMMOVE = @GL_LGL_GNULIB_WMEMMOVE@
+GL_LGL_GNULIB_WMEMPCPY = @GL_LGL_GNULIB_WMEMPCPY@
+GL_LGL_GNULIB_WMEMSET = @GL_LGL_GNULIB_WMEMSET@
+GL_LGL_GNULIB_WRITE = @GL_LGL_GNULIB_WRITE@
+GL_LGL_GNULIB__EXIT = @GL_LGL_GNULIB__EXIT@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHDIR = @GNULIB_CHDIR@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP = @GNULIB_DUP@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
-GNULIB_FDOPEN = @GNULIB_FDOPEN@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTAT = @GNULIB_FSTAT@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-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_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISATTY = @GNULIB_ISATTY@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PCLOSE = @GNULIB_PCLOSE@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM = @GNULIB_RANDOM@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
 GREP = @GREP@
 GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
 GTKDOC_MKPDF = @GTKDOC_MKPDF@
 GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_CLIX = @HAVE_CLIX@
 HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
 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_ECVT = @HAVE_DECL_ECVT@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
 HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
 HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -579,16 +1217,21 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
+HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
 HAVE_FACCESSAT = @HAVE_FACCESSAT@
 HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
@@ -605,33 +1248,46 @@ HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
 HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUMASK = @HAVE_GETUMASK@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_ILRUN = @HAVE_ILRUN@
-HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
+HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
+HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
+HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+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_LINK = @HAVE_LINK@
 HAVE_LINKAT = @HAVE_LINKAT@
-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@
 HAVE_MBSLEN = @HAVE_MBSLEN@
 HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
 HAVE_MCS = @HAVE_MCS@
 HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
-HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -646,28 +1302,36 @@ HAVE_MONO = @HAVE_MONO@
 HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
 HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
 HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTSNAME = @HAVE_PTSNAME@
 HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
 HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
 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@
@@ -677,26 +1341,34 @@ HAVE_STPCPY = @HAVE_STPCPY@
 HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
 HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
 HAVE_STRTOULL = @HAVE_STRTOULL@
 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
 HAVE_VASPRINTF = @HAVE_VASPRINTF@
@@ -715,6 +1387,7 @@ HAVE_WCSCOLL = @HAVE_WCSCOLL@
 HAVE_WCSCPY = @HAVE_WCSCPY@
 HAVE_WCSCSPN = @HAVE_WCSCSPN@
 HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
 HAVE_WCSLEN = @HAVE_WCSLEN@
 HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
 HAVE_WCSNCAT = @HAVE_WCSNCAT@
@@ -736,9 +1409,8 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@
 HAVE_WMEMCMP = @HAVE_WMEMCMP@
 HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
 HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
 HELP2MAN = @HELP2MAN@
 HTML_DIR = @HTML_DIR@
@@ -756,36 +1428,38 @@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVACFLAGS = @JAVACFLAGS@
+JAVADOC = @JAVADOC@
+JAVAFLAGS = @JAVAFLAGS@
+JAVAPREFIX = @JAVAPREFIX@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
-LIBMULTITHREAD = @LIBMULTITHREAD@
 LIBOBJS = @LIBOBJS@
-LIBPTH = @LIBPTH@
-LIBPTH_PREFIX = @LIBPTH_PREFIX@
 LIBS = @LIBS@
 LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBTHREAD = @LIBTHREAD@
 LIBTOOL = @LIBTOOL@
 LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
 LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIMITS_H = @LIMITS_H@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LOCALE_FR = @LOCALE_FR@
 LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
+LOG_VALGRIND = @LOG_VALGRIND@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
-LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
 LTLIBOBJS = @LTLIBOBJS@
-LTLIBPTH = @LTLIBPTH@
-LTLIBTHREAD = @LTLIBTHREAD@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -794,12 +1468,16 @@ MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NEXT_ASSERT_H = @NEXT_ASSERT_H@
+NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
 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_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
+NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
@@ -812,11 +1490,13 @@ 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_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_ICONV_H = @NEXT_ICONV_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
+NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_STDARG_H = @NEXT_STDARG_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
@@ -849,27 +1529,49 @@ POSUB = @POSUB@
 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
 REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
 REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
 REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
 REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_DUP3 = @REPLACE_DUP3@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
 REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -882,71 +1584,105 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
+REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
 REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
 REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
 REPLACE_OPENAT = @REPLACE_OPENAT@
 REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
 REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
 REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RAND = @REPLACE_RAND@
+REPLACE_RANDOM = @REPLACE_RANDOM@
 REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
 REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMOVE = @REPLACE_REMOVE@
 REPLACE_RENAME = @REPLACE_RENAME@
 REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
 REPLACE_SLEEP = @REPLACE_SLEEP@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_STAT = @REPLACE_STAT@
 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
 REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
@@ -955,11 +1691,21 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
 REPLACE_UNSETENV = @REPLACE_UNSETENV@
@@ -972,45 +1718,58 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
 REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
 REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
 SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
 STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
 STDDEF_H = @STDDEF_H@
 STDINT_H = @STDINT_H@
 STRIP = @STRIP@
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
 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_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
 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_NLS = @USE_NLS@
 VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+WARN_LIB_CFLAGS = @WARN_LIB_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
+WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
-WSTACK_CFLAGS = @WSTACK_CFLAGS@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-YIELD_LIB = @YIELD_LIB@
-abs_aux_dir = @abs_aux_dir@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1018,7 +1777,6 @@ abs_top_srcdir = @abs_top_srcdir@
 ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_GCJ = @ac_ct_GCJ@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -1036,8 +1794,10 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
 gl_LIBOBJS = @gl_LIBOBJS@
 gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
 gltests_LIBOBJS = @gltests_LIBOBJS@
 gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
 gltests_WITNESS = @gltests_WITNESS@
@@ -1050,8 +1810,10 @@ htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
+lgl_LIBOBJDEPS = @lgl_LIBOBJDEPS@
 lgl_LIBOBJS = @lgl_LIBOBJS@
 lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
+lgltests_LIBOBJDEPS = @lgltests_LIBOBJDEPS@
 lgltests_LIBOBJS = @lgltests_LIBOBJS@
 lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
 lgltests_WITNESS = @lgltests_WITNESS@
@@ -1067,6 +1829,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1078,18 +1841,19 @@ top_srcdir = @top_srcdir@
 AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
 AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
 AM_LDFLAGS = -no-install
-LDADD = libutils.a ../lib/libidn.la
+LDADD = libutils.a ../lib/libidn.la ../gl/libgnu.la
+EXTRA_DIST = standalone.sh
 check_LIBRARIES = libutils.a
 libutils_a_SOURCES = utils.h utils.c
 ctests = tst_stringprep tst_punycode tst_idna tst_idna2 tst_idna3 \
        tst_idna4 tst_nfkc tst_pr29 tst_strerror tst_toutf8 \
-       tst_symbols $(am__append_1)
-EXTRA_DIST = libidn.supp
-TESTS_ENVIRONMENT = $(VALGRIND)
+       tst_symbols tst_badutf8 tst_utf8crash tst_toascii64oob \
+       tst_badutf8nfkc tst_versions $(am__append_1)
+LOG_COMPILER = $(VALGRIND)
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1102,14 +1866,13 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
        $(am__cd) $(top_srcdir) && \
          $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1121,13 +1884,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-checkLIBRARIES:
-       -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-libutils.a: $(libutils_a_OBJECTS) $(libutils_a_DEPENDENCIES) $(EXTRA_libutils_a_DEPENDENCIES) 
-       $(AM_V_at)-rm -f libutils.a
-       $(AM_V_AR)$(libutils_a_AR) libutils.a $(libutils_a_OBJECTS) $(libutils_a_LIBADD)
-       $(AM_V_at)$(RANLIB) libutils.a
-
 clean-checkPROGRAMS:
        @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
        echo " rm -f" $$list; \
@@ -1136,76 +1892,127 @@ clean-checkPROGRAMS:
        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
        echo " rm -f" $$list; \
        rm -f $$list
+
+clean-checkLIBRARIES:
+       -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+
+libutils.a: $(libutils_a_OBJECTS) $(libutils_a_DEPENDENCIES) $(EXTRA_libutils_a_DEPENDENCIES) 
+       $(AM_V_at)-rm -f libutils.a
+       $(AM_V_AR)$(libutils_a_AR) libutils.a $(libutils_a_OBJECTS) $(libutils_a_LIBADD)
+       $(AM_V_at)$(RANLIB) libutils.a
+
+tst_badutf8$(EXEEXT): $(tst_badutf8_OBJECTS) $(tst_badutf8_DEPENDENCIES) $(EXTRA_tst_badutf8_DEPENDENCIES) 
+       @rm -f tst_badutf8$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(tst_badutf8_OBJECTS) $(tst_badutf8_LDADD) $(LIBS)
+
+tst_badutf8nfkc$(EXEEXT): $(tst_badutf8nfkc_OBJECTS) $(tst_badutf8nfkc_DEPENDENCIES) $(EXTRA_tst_badutf8nfkc_DEPENDENCIES) 
+       @rm -f tst_badutf8nfkc$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(tst_badutf8nfkc_OBJECTS) $(tst_badutf8nfkc_LDADD) $(LIBS)
+
 tst_idna$(EXEEXT): $(tst_idna_OBJECTS) $(tst_idna_DEPENDENCIES) $(EXTRA_tst_idna_DEPENDENCIES) 
        @rm -f tst_idna$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_idna_OBJECTS) $(tst_idna_LDADD) $(LIBS)
+
 tst_idna2$(EXEEXT): $(tst_idna2_OBJECTS) $(tst_idna2_DEPENDENCIES) $(EXTRA_tst_idna2_DEPENDENCIES) 
        @rm -f tst_idna2$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_idna2_OBJECTS) $(tst_idna2_LDADD) $(LIBS)
+
 tst_idna3$(EXEEXT): $(tst_idna3_OBJECTS) $(tst_idna3_DEPENDENCIES) $(EXTRA_tst_idna3_DEPENDENCIES) 
        @rm -f tst_idna3$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_idna3_OBJECTS) $(tst_idna3_LDADD) $(LIBS)
+
 tst_idna4$(EXEEXT): $(tst_idna4_OBJECTS) $(tst_idna4_DEPENDENCIES) $(EXTRA_tst_idna4_DEPENDENCIES) 
        @rm -f tst_idna4$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_idna4_OBJECTS) $(tst_idna4_LDADD) $(LIBS)
+
 tst_nfkc$(EXEEXT): $(tst_nfkc_OBJECTS) $(tst_nfkc_DEPENDENCIES) $(EXTRA_tst_nfkc_DEPENDENCIES) 
        @rm -f tst_nfkc$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_nfkc_OBJECTS) $(tst_nfkc_LDADD) $(LIBS)
+
 tst_pr29$(EXEEXT): $(tst_pr29_OBJECTS) $(tst_pr29_DEPENDENCIES) $(EXTRA_tst_pr29_DEPENDENCIES) 
        @rm -f tst_pr29$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_pr29_OBJECTS) $(tst_pr29_LDADD) $(LIBS)
+
 tst_punycode$(EXEEXT): $(tst_punycode_OBJECTS) $(tst_punycode_DEPENDENCIES) $(EXTRA_tst_punycode_DEPENDENCIES) 
        @rm -f tst_punycode$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_punycode_OBJECTS) $(tst_punycode_LDADD) $(LIBS)
+
 tst_strerror$(EXEEXT): $(tst_strerror_OBJECTS) $(tst_strerror_DEPENDENCIES) $(EXTRA_tst_strerror_DEPENDENCIES) 
        @rm -f tst_strerror$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_strerror_OBJECTS) $(tst_strerror_LDADD) $(LIBS)
+
 tst_stringprep$(EXEEXT): $(tst_stringprep_OBJECTS) $(tst_stringprep_DEPENDENCIES) $(EXTRA_tst_stringprep_DEPENDENCIES) 
        @rm -f tst_stringprep$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_stringprep_OBJECTS) $(tst_stringprep_LDADD) $(LIBS)
+
 tst_symbols$(EXEEXT): $(tst_symbols_OBJECTS) $(tst_symbols_DEPENDENCIES) $(EXTRA_tst_symbols_DEPENDENCIES) 
        @rm -f tst_symbols$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_symbols_OBJECTS) $(tst_symbols_LDADD) $(LIBS)
+
 tst_tld$(EXEEXT): $(tst_tld_OBJECTS) $(tst_tld_DEPENDENCIES) $(EXTRA_tst_tld_DEPENDENCIES) 
        @rm -f tst_tld$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_tld_OBJECTS) $(tst_tld_LDADD) $(LIBS)
+
+tst_toascii64oob$(EXEEXT): $(tst_toascii64oob_OBJECTS) $(tst_toascii64oob_DEPENDENCIES) $(EXTRA_tst_toascii64oob_DEPENDENCIES) 
+       @rm -f tst_toascii64oob$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(tst_toascii64oob_OBJECTS) $(tst_toascii64oob_LDADD) $(LIBS)
+
 tst_toutf8$(EXEEXT): $(tst_toutf8_OBJECTS) $(tst_toutf8_DEPENDENCIES) $(EXTRA_tst_toutf8_DEPENDENCIES) 
        @rm -f tst_toutf8$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(tst_toutf8_OBJECTS) $(tst_toutf8_LDADD) $(LIBS)
 
+tst_utf8crash$(EXEEXT): $(tst_utf8crash_OBJECTS) $(tst_utf8crash_DEPENDENCIES) $(EXTRA_tst_utf8crash_DEPENDENCIES) 
+       @rm -f tst_utf8crash$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(tst_utf8crash_OBJECTS) $(tst_utf8crash_LDADD) $(LIBS)
+
+tst_versions$(EXEEXT): $(tst_versions_OBJECTS) $(tst_versions_DEPENDENCIES) $(EXTRA_tst_versions_DEPENDENCIES) 
+       @rm -f tst_versions$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(tst_versions_OBJECTS) $(tst_versions_LDADD) $(LIBS)
+
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
 
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna3.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna4.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_nfkc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_pr29.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_punycode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_strerror.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_stringprep.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_symbols.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_tld.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_toutf8.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_badutf8.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_badutf8nfkc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna2.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna3.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna4.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_nfkc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_pr29.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_punycode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_strerror.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_stringprep.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_symbols.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_tld.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_toascii64oob.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_toutf8.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_utf8crash.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_versions.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1220,26 +2027,15 @@ mostlyclean-libtool:
 clean-libtool:
        -rm -rf .libs _libs
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1251,15 +2047,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1268,104 +2060,303 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
          fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       elif test -n "$$redo_logs"; then \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
            else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
            fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
            else \
-             skipped="($$skip tests were not run)"; \
+             color_start= color_end=; \
            fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           col="$$grn"; \
-         else \
-           col="$$red"; \
-         fi; \
-         echo "$${col}$$dashes$${std}"; \
-         echo "$${col}$$banner$${std}"; \
-         test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
-         test -z "$$report" || echo "$${col}$$report$${std}"; \
-         echo "$${col}$$dashes$${std}"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS: $(check_PROGRAMS) $(check_LIBRARIES)
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all $(check_PROGRAMS) $(check_LIBRARIES)
+       @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 \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+tst_stringprep.log: tst_stringprep$(EXEEXT)
+       @p='tst_stringprep$(EXEEXT)'; \
+       b='tst_stringprep'; \
+       $(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)
+tst_punycode.log: tst_punycode$(EXEEXT)
+       @p='tst_punycode$(EXEEXT)'; \
+       b='tst_punycode'; \
+       $(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)
+tst_idna.log: tst_idna$(EXEEXT)
+       @p='tst_idna$(EXEEXT)'; \
+       b='tst_idna'; \
+       $(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)
+tst_idna2.log: tst_idna2$(EXEEXT)
+       @p='tst_idna2$(EXEEXT)'; \
+       b='tst_idna2'; \
+       $(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)
+tst_idna3.log: tst_idna3$(EXEEXT)
+       @p='tst_idna3$(EXEEXT)'; \
+       b='tst_idna3'; \
+       $(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)
+tst_idna4.log: tst_idna4$(EXEEXT)
+       @p='tst_idna4$(EXEEXT)'; \
+       b='tst_idna4'; \
+       $(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)
+tst_nfkc.log: tst_nfkc$(EXEEXT)
+       @p='tst_nfkc$(EXEEXT)'; \
+       b='tst_nfkc'; \
+       $(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)
+tst_pr29.log: tst_pr29$(EXEEXT)
+       @p='tst_pr29$(EXEEXT)'; \
+       b='tst_pr29'; \
+       $(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)
+tst_strerror.log: tst_strerror$(EXEEXT)
+       @p='tst_strerror$(EXEEXT)'; \
+       b='tst_strerror'; \
+       $(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)
+tst_toutf8.log: tst_toutf8$(EXEEXT)
+       @p='tst_toutf8$(EXEEXT)'; \
+       b='tst_toutf8'; \
+       $(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)
+tst_symbols.log: tst_symbols$(EXEEXT)
+       @p='tst_symbols$(EXEEXT)'; \
+       b='tst_symbols'; \
+       $(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)
+tst_badutf8.log: tst_badutf8$(EXEEXT)
+       @p='tst_badutf8$(EXEEXT)'; \
+       b='tst_badutf8'; \
+       $(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)
+tst_utf8crash.log: tst_utf8crash$(EXEEXT)
+       @p='tst_utf8crash$(EXEEXT)'; \
+       b='tst_utf8crash'; \
+       $(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)
+tst_toascii64oob.log: tst_toascii64oob$(EXEEXT)
+       @p='tst_toascii64oob$(EXEEXT)'; \
+       b='tst_toascii64oob'; \
+       $(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)
+tst_badutf8nfkc.log: tst_badutf8nfkc$(EXEEXT)
+       @p='tst_badutf8nfkc$(EXEEXT)'; \
+       b='tst_badutf8nfkc'; \
+       $(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)
+tst_versions.log: tst_versions$(EXEEXT)
+       @p='tst_versions$(EXEEXT)'; \
+       b='tst_versions'; \
+       $(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)
+tst_tld.log: tst_tld$(EXEEXT)
+       @p='tst_tld$(EXEEXT)'; \
+       b='tst_tld'; \
+       $(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); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1396,7 +2387,7 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LIBRARIES)
        $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
 all-am: Makefile
@@ -1421,6 +2412,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
 
@@ -1437,7 +2431,24 @@ clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
        clean-libtool mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/tst_badutf8.Po
+       -rm -f ./$(DEPDIR)/tst_badutf8nfkc.Po
+       -rm -f ./$(DEPDIR)/tst_idna.Po
+       -rm -f ./$(DEPDIR)/tst_idna2.Po
+       -rm -f ./$(DEPDIR)/tst_idna3.Po
+       -rm -f ./$(DEPDIR)/tst_idna4.Po
+       -rm -f ./$(DEPDIR)/tst_nfkc.Po
+       -rm -f ./$(DEPDIR)/tst_pr29.Po
+       -rm -f ./$(DEPDIR)/tst_punycode.Po
+       -rm -f ./$(DEPDIR)/tst_strerror.Po
+       -rm -f ./$(DEPDIR)/tst_stringprep.Po
+       -rm -f ./$(DEPDIR)/tst_symbols.Po
+       -rm -f ./$(DEPDIR)/tst_tld.Po
+       -rm -f ./$(DEPDIR)/tst_toascii64oob.Po
+       -rm -f ./$(DEPDIR)/tst_toutf8.Po
+       -rm -f ./$(DEPDIR)/tst_utf8crash.Po
+       -rm -f ./$(DEPDIR)/tst_versions.Po
+       -rm -f ./$(DEPDIR)/utils.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -1483,7 +2494,24 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
+               -rm -f ./$(DEPDIR)/tst_badutf8.Po
+       -rm -f ./$(DEPDIR)/tst_badutf8nfkc.Po
+       -rm -f ./$(DEPDIR)/tst_idna.Po
+       -rm -f ./$(DEPDIR)/tst_idna2.Po
+       -rm -f ./$(DEPDIR)/tst_idna3.Po
+       -rm -f ./$(DEPDIR)/tst_idna4.Po
+       -rm -f ./$(DEPDIR)/tst_nfkc.Po
+       -rm -f ./$(DEPDIR)/tst_pr29.Po
+       -rm -f ./$(DEPDIR)/tst_punycode.Po
+       -rm -f ./$(DEPDIR)/tst_strerror.Po
+       -rm -f ./$(DEPDIR)/tst_stringprep.Po
+       -rm -f ./$(DEPDIR)/tst_symbols.Po
+       -rm -f ./$(DEPDIR)/tst_tld.Po
+       -rm -f ./$(DEPDIR)/tst_toascii64oob.Po
+       -rm -f ./$(DEPDIR)/tst_toutf8.Po
+       -rm -f ./$(DEPDIR)/tst_utf8crash.Po
+       -rm -f ./$(DEPDIR)/tst_versions.Po
+       -rm -f ./$(DEPDIR)/utils.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -1504,19 +2532,22 @@ uninstall-am:
 
 .MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
-       clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool ctags distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+       check-am clean clean-checkLIBRARIES clean-checkPROGRAMS \
+       clean-generic clean-libtool 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 install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-compile \
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am
+       recheck tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/standalone.sh b/tests/standalone.sh
new file mode 100755 (executable)
index 0000000..92b5d1a
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Copyright (C) 2024 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+# standalone.sh: build and run libidn's C-based test suite.
+#
+# To check that system libidn behaves:
+#
+# tests/standalone.sh
+#
+# To check that a newly built static libidn behaves:
+#
+# env STANDALONE_CFLAGS="-Ilib lib/.libs/libidn.a" tests/standalone.sh
+#
+# To check that a newly built shared libidn behaves:
+#
+# env STANDALONE_CFLAGS="-Ilib -Wl,-rpath lib/.libs lib/.libs/libidn.so" tests/standalone.sh
+
+set -e
+
+srcdir="${srcdir:-$(dirname "$0")}"
+STANDALONE_CC="${CC:-cc}"
+STANDALONE_CFLAGS="${STANDALONE_CFLAGS:-$(pkg-config --cflags --libs libidn)}"
+
+echo "srcdir=$srcdir"
+echo "STANDALONE_CC: $STANDALONE_CC"
+echo "STANDALONE_CFLAGS: $STANDALONE_CFLAGS"
+
+rc=0
+
+for f in "$srcdir"/tst_*.c; do
+    ADD=yes
+    test "$f" = "$srcdir"/tst_versions.c && ADD=
+    if $STANDALONE_CC -o foo "$f" $STANDALONE_CFLAGS ${ADD:+-DWITH_TLD=1 "$srcdir"/utils.c}; then
+        echo "PASS: cc $f"
+        if ./foo; then
+            echo "PASS: run $f"
+        else
+            echo "FAIL: run $f"
+           rc=1
+        fi
+    else
+        echo "FAIL: cc $f"
+       rc=1
+    fi
+done
+
+rm -f foo
+
+exit $rc
diff --git a/tests/tst_badutf8.c b/tests/tst_badutf8.c
new file mode 100644 (file)
index 0000000..85f0bd6
--- /dev/null
@@ -0,0 +1,50 @@
+/* tst_badutf8.c --- Self tests for malformed UTF-8 regressions.
+ * Copyright (C) 2015-2024 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include <idna.h>
+#include <idn-free.h>
+
+#include "utils.h"
+
+void
+doit (void)
+{
+  char *badutf8 = strdup ("\x7e\x64\x61\x72\x10\x2f\x2f\xf9\x2b\x71"
+                         "\x60\x79\x7b\x2e\x63\x75\x2b\x61\x65\x72"
+                         "\x75\x65\x56\x66\x7f\x62\xc5\x76\xe5\x00");
+  char *s = NULL;
+  int rc;
+
+  rc = idna_to_ascii_8z (badutf8, &s, 0);
+  free (badutf8);
+  if (rc != IDNA_ICONV_ERROR)
+    fail ("rc %d\n", rc);
+
+  idn_free (s);
+}
diff --git a/tests/tst_badutf8nfkc.c b/tests/tst_badutf8nfkc.c
new file mode 100644 (file)
index 0000000..36991fb
--- /dev/null
@@ -0,0 +1,41 @@
+/* tst_badutf8nfkc.c --- Self tests for malformed UTF-8 NFKC input.
+ * Copyright (C) 2016-2024 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <stringprep.h>
+
+#include "utils.h"
+
+void
+doit (void)
+{
+  char *badutf8 = strdup ("\xe4");
+  char *s = NULL;
+
+  s = stringprep_utf8_nfkc_normalize (badutf8, -1);
+  free (s);
+  free (badutf8);
+}
index 8c4ab78..20498a9 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_idna.c --- Self tests for idna_to_ascii().
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -211,7 +211,7 @@ static const struct idna idna[] = {
     'x', 'n', '-', '-', 'f', 'o', 0x3067},
    IDNA_ACE_PREFIX "too long too long too long too long too long too "
    "long too long too long too long too long ", 0,
-   IDNA_CONTAINS_ACE_PREFIX, IDNA_PUNYCODE_ERROR}
+   IDNA_CONTAINS_ACE_PREFIX, IDNA_INVALID_LENGTH}
 };
 
 void
@@ -220,13 +220,14 @@ doit (void)
   char label[100];
   uint32_t *ucs4label = NULL;
   uint32_t tmp[100];
-  size_t len, len2, i;
+  size_t len, len2;
   int rc;
+  unsigned i;
 
   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
     {
       if (debug)
-       printf ("IDNA entry %ld: %s\n", i, idna[i].name);
+       printf ("IDNA entry %u: %s\n", i, idna[i].name);
 
       if (debug)
        {
@@ -237,7 +238,7 @@ doit (void)
       rc = idna_to_ascii_4i (idna[i].in, idna[i].inlen, label, idna[i].flags);
       if (rc != idna[i].toasciirc)
        {
-         fail ("IDNA entry %ld failed: %d\n", i, rc);
+         fail ("IDNA entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -256,7 +257,7 @@ doit (void)
          if (strlen (idna[i].out) != strlen (label) ||
              strcasecmp (idna[i].out, label) != 0)
            {
-             fail ("IDNA entry %ld failed\n", i);
+             fail ("IDNA entry %u failed\n", i);
              if (debug)
                printf ("ERROR\n");
            }
@@ -273,8 +274,8 @@ doit (void)
 
       if (debug)
        {
-         printf ("in: %s (%ld==%ld)\n", idna[i].out, strlen (idna[i].out),
-                 len);
+         printf ("in: %s (%d==%d)\n", idna[i].out,
+                 (int) strlen (idna[i].out), (int) len);
          ucs4print (ucs4label, len);
        }
 
@@ -282,20 +283,20 @@ doit (void)
       rc = idna_to_unicode_44i (ucs4label, len, tmp, &len2, idna[i].flags);
       if (debug)
        {
-         printf ("expected out (%ld):\n",
-                 rc == IDNA_SUCCESS ? idna[i].inlen : len);
+         printf ("expected out (%lu):\n",
+                 (unsigned long) (rc == IDNA_SUCCESS ? idna[i].inlen : len));
          if (rc == IDNA_SUCCESS)
            ucs4print (idna[i].in, idna[i].inlen);
          else
            ucs4print (ucs4label, len);
 
-         printf ("computed out (%ld):\n", len2);
+         printf ("computed out (%d):\n", (int) len2);
          ucs4print (tmp, len2);
        }
 
       if (rc != idna[i].tounicoderc)
        {
-         fail ("IDNA entry %ld failed: %d\n", i, rc);
+         fail ("IDNA entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -309,11 +310,11 @@ doit (void)
          if (debug)
            {
              if (rc == IDNA_SUCCESS)
-               printf ("len=%ld len2=%ld\n", len2, idna[i].inlen);
+               printf ("len=%d len2=%d\n", (int) len2, (int) idna[i].inlen);
              else
-               printf ("len=%ld len2=%ld\n", len, len2);
+               printf ("len=%d len2=%d\n", (int) len, (int) len2);
            }
-         fail ("IDNA entry %ld failed\n", i);
+         fail ("IDNA entry %u failed\n", i);
          if (debug)
            printf ("ERROR\n");
        }
index 4528d17..772033c 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_idna2.c --- Self tests for idna_to_ascii_8z().
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -461,14 +461,14 @@ static const struct idna idna[] = {
 void
 doit (void)
 {
-  size_t i;
+  unsigned i;
   char *out;
   int rc;
 
   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
     {
       if (debug)
-       printf ("IDNA2 entry %ld\n", i);
+       printf ("IDNA2 entry %u\n", i);
 
       if (debug)
        {
@@ -487,7 +487,7 @@ doit (void)
                             IDNA_USE_STD3_ASCII_RULES);
       if (rc != IDNA_SUCCESS && strlen (idna[i].out) > 0)
        {
-         fail ("IDNA2 entry %ld failed: %d\n", i, rc);
+         fail ("IDNA2 entry %u failed: %d\n", i, rc);
          continue;
        }
 
@@ -504,7 +504,7 @@ doit (void)
          if (strlen (idna[i].out) != strlen (out) ||
              strcasecmp (idna[i].out, out) != 0)
            {
-             fail ("IDNA2 entry %ld failed\n", i);
+             fail ("IDNA2 entry %u failed\n", i);
              if (debug)
                printf ("ERROR\n");
            }
index acf03cb..de7c9fa 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_idna3.c --- Self tests for upper-case XN-- regression.
- * Copyright (C) 2011-2012 Simon Josefsson
+ * Copyright (C) 2011-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -40,18 +40,18 @@ struct idna
 
 static const struct idna idna[] = {
   /* Test vectors from http://bugs.debian.org/610617 */
-  { "XN----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
-    "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
-    "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
-    "\xd1\x80\xd1\x84"},
-  { "xn----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
-    "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
-    "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
-    "\xd1\x80\xd1\x84"},
-  { "xn----7SBAABF4DLDYSIEHP4NTB.xn--P1AI",
-    "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
-    "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
-    "\xd1\x80\xd1\x84"}
+  {"XN----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
+   "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+   "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+   "\xd1\x80\xd1\x84"},
+  {"xn----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
+   "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+   "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+   "\xd1\x80\xd1\x84"},
+  {"xn----7SBAABF4DLDYSIEHP4NTB.xn--P1AI",
+   "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+   "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+   "\xd1\x80\xd1\x84"}
 };
 
 void
@@ -59,13 +59,13 @@ doit (void)
 {
   int rc;
   char *out = NULL;
-  size_t i;
+  unsigned i;
 
   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
     {
       rc = idna_to_unicode_8z8z (idna[i].in, &out, 0);
       if (rc != IDNA_SUCCESS)
-       fail ("IDNA3[%ld] failed %d\n", i, rc);
+       fail ("IDNA3[%u] failed %d\n", i, rc);
 
       if (debug && rc == IDNA_SUCCESS)
        {
@@ -75,9 +75,9 @@ doit (void)
        }
 
       if (strcmp (out, idna[i].out) != 0)
-       fail ("IDNA3[%ld] failed\n", i);
+       fail ("IDNA3[%u] failed\n", i);
       else if (debug)
-       printf ("IDNA3[%ld] success\n", i);
+       printf ("IDNA3[%u] success\n", i);
 
       if (out)
        idn_free (out);
index cfccee4..75b93bf 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_idna4.c --- Self tests for memory leak regression.
- * Copyright (C) 2011-2012 Simon Josefsson
+ * Copyright (C) 2011-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -38,15 +38,17 @@ doit (void)
   int rc;
   char *out = NULL;
 
-  rc = idna_to_ascii_8z("search...", &out, 0);
+  rc = idna_to_ascii_8z ("search...", &out, 0);
   if (rc != IDNA_INVALID_LENGTH)
     fail ("unexpected rc %d\n", rc);
 
-  rc = idna_to_ascii_8z("google.com................point", &out, 0);
+  rc = idna_to_ascii_8z ("google.com................point", &out, 0);
   if (rc != IDNA_INVALID_LENGTH)
     fail ("unexpected rc %d\n", rc);
 
-  rc = idna_to_ascii_8z("Loading...°°°°°°°°°°°°°°]", &out, 0);
+  rc = idna_to_ascii_8z ("Loading...\xC2\xB0\xC2\xB0\xC2\xB0\xC2\xB0\xC2\xB0"
+                        "\xC2\xB0\xC2\xB0\xC2\xB0\xC2\xB0\xC2\xB0\xC2\xB0"
+                        "\xC2\xB0\xC2\xB0\xC2\xB0]", &out, 0);
   if (rc != IDNA_INVALID_LENGTH)
     fail ("unexpected rc %d\n", rc);
 }
index 86884d7..d9f42e0 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_nfkc.c --- Self tests for stringprep_utf8_nfkc_normalize().
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -68,18 +68,18 @@ void
 doit (void)
 {
   char *out;
-  size_t i;
+  unsigned i;
 
   for (i = 0; i < sizeof (nfkc) / sizeof (nfkc[0]); i++)
     {
       if (debug)
-       printf ("NFKC entry %ld\n", i);
+       printf ("NFKC entry %u\n", i);
 
       out = stringprep_utf8_nfkc_normalize (nfkc[i].in,
                                            (ssize_t) strlen (nfkc[i].in));
       if (out == NULL)
        {
-         fail ("NFKC entry %ld failed fatally\n", i);
+         fail ("NFKC entry %u failed fatally\n", i);
          continue;
        }
 
@@ -114,7 +114,7 @@ doit (void)
       if (strlen (nfkc[i].out) != strlen (out) ||
          memcmp (nfkc[i].out, out, strlen (out)) != 0)
        {
-         fail ("NFKC entry %ld failed\n", i);
+         fail ("NFKC entry %u failed\n", i);
          if (debug)
            printf ("ERROR\n");
        }
index 4668c02..50f625d 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_pr29.c --- Self tests for pr29_*().
- * Copyright (C) 2004-2012 Simon Josefsson
+ * Copyright (C) 2004-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -81,17 +81,17 @@ static const struct tv tv[] = {
    {0x1100, 0x00AA, 0x1161, 0},
    PR29_SUCCESS},
   {
-    /* http://lists.gnu.org/archive/html/help-libidn/2012-01/msg00008.html */
-    "Infloop",
-    3,
-    {0x1100, 0x0300, 0x4711, 0},
-    PR29_SUCCESS}
+   /* http://lists.gnu.org/archive/html/help-libidn/2012-01/msg00008.html */
+   "Infloop",
+   3,
+   {0x1100, 0x0300, 0x4711, 0},
+   PR29_SUCCESS}
 };
 
 void
 doit (void)
 {
-  size_t i;
+  unsigned i;
   int rc;
 
   for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++)
@@ -100,7 +100,7 @@ doit (void)
        {
          uint32_t *p, *q;
 
-         printf ("PR29 entry %ld: %s\n", i, tv[i].name);
+         printf ("PR29 entry %u: %s\n", i, tv[i].name);
 
          printf ("in:\n");
          ucs4print (tv[i].in, tv[i].inlen);
@@ -120,7 +120,7 @@ doit (void)
       rc = pr29_4 (tv[i].in, tv[i].inlen);
       if (rc != tv[i].rc)
        {
-         fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
+         fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -129,7 +129,7 @@ doit (void)
       rc = pr29_4z (tv[i].in);
       if (rc != tv[i].rc)
        {
-         fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
+         fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -142,7 +142,7 @@ doit (void)
        p = stringprep_ucs4_to_utf8 (tv[i].in, (ssize_t) tv[i].inlen,
                                     &items_read, &items_written);
        if (p == NULL)
-         fail ("FAIL: stringprep_ucs4_to_utf8(tv[%ld]) == NULL\n", i);
+         fail ("FAIL: stringprep_ucs4_to_utf8(tv[%u]) == NULL\n", i);
        if (debug)
          hexprint (p, strlen (p));
 
@@ -150,7 +150,7 @@ doit (void)
        free (p);
        if (rc != tv[i].rc)
          {
-           fail ("PR29 entry %ld failed (expected %d): %d\n",
+           fail ("PR29 entry %u failed (expected %d): %d\n",
                  i, tv[i].rc, rc);
            if (debug)
              printf ("FATAL\n");
index 61a983a..b24f441 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_punycode.c --- Self tests for punycode.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -173,7 +173,8 @@ doit (void)
   char *p;
   uint32_t *q;
   int rc;
-  size_t i, outlen;
+  size_t outlen;
+  unsigned i;
 
   p = malloc (sizeof (*p) * BUFSIZ);
   if (p == NULL)
@@ -186,7 +187,7 @@ doit (void)
   for (i = 0; i < sizeof (punycode) / sizeof (punycode[0]); i++)
     {
       if (debug)
-       printf ("PUNYCODE entry %ld: %s\n", i, punycode[i].name);
+       printf ("PUNYCODE entry %u: %s\n", i, punycode[i].name);
 
       if (debug)
        {
@@ -199,7 +200,7 @@ doit (void)
                            NULL, &outlen, p);
       if (rc != punycode[i].rc)
        {
-         fail ("punycode_encode() entry %ld failed: %d\n", i, rc);
+         fail ("punycode_encode() entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -221,7 +222,7 @@ doit (void)
          if (strlen (punycode[i].out) != strlen (p) ||
              memcmp (punycode[i].out, p, strlen (p)) != 0)
            {
-             fail ("punycode() entry %ld failed\n", i);
+             fail ("punycode() entry %u failed\n", i);
              if (debug)
                printf ("ERROR\n");
            }
@@ -241,7 +242,7 @@ doit (void)
                            &outlen, q, NULL);
       if (rc != punycode[i].rc)
        {
-         fail ("punycode() entry %ld failed: %d\n", i, rc);
+         fail ("punycode() entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -262,7 +263,7 @@ doit (void)
          if (punycode[i].inlen != outlen ||
              memcmp (punycode[i].in, q, outlen) != 0)
            {
-             fail ("punycode_decode() entry %ld failed\n", i);
+             fail ("punycode_decode() entry %u failed\n", i);
              if (debug)
                printf ("ERROR\n");
            }
index 87e2dcf..94caca8 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_strerror.c --- Self tests for *_strerror().
- * Copyright (C) 2004-2012 Simon Josefsson
+ * Copyright (C) 2004-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -31,7 +31,9 @@
 #include <pr29.h>
 #include <punycode.h>
 #include <stringprep.h>
-#include <tld.h>
+#ifdef WITH_TLD
+# include <tld.h>
+#endif
 
 #include "utils.h"
 
@@ -69,11 +71,13 @@ doit (void)
   if (debug)
     printf ("stringprep_strerror (0) OK\n");
 
+#ifdef WITH_TLD
   p = tld_strerror (0);
   if (strcmp (p, SUCCESS) != 0)
     fail ("tld_strerror (0) failed: %s\n", p);
   if (debug)
     printf ("tld_strerror (0) OK\n");
+#endif
 
   /* Test unknown error. */
 
@@ -101,16 +105,18 @@ doit (void)
   if (debug)
     printf ("stringprep_strerror (42) OK\n");
 
+#ifdef WITH_TLD
   p = tld_strerror (42);
   if (strcmp (p, UNKNOWN) != 0)
     fail ("tld_strerror (42) failed: %s\n", p);
   if (debug)
     printf ("tld_strerror (42) OK\n");
+#endif
 
   /* Iterate through all error codes. */
 
   {
-    size_t i;
+    unsigned i;
     const char *last_p = NULL;
 
     for (i = 0;; i++)
@@ -126,13 +132,13 @@ doit (void)
            break;
          }
        if (debug)
-         printf ("idna %ld: %s\n", i, p);
+         printf ("idna %u: %s\n", i, p);
        last_p = p;
       }
   }
 
   {
-    size_t i;
+    unsigned i;
     const char *last_p = NULL;
 
     for (i = 0;; i++)
@@ -141,13 +147,13 @@ doit (void)
        if (p == last_p)
          break;
        if (debug)
-         printf ("pr29 %ld: %s\n", i, p);
+         printf ("pr29 %u: %s\n", i, p);
        last_p = p;
       }
   }
 
   {
-    size_t i;
+    unsigned i;
     const char *last_p = NULL;
 
     for (i = 0;; i++)
@@ -156,13 +162,13 @@ doit (void)
        if (p == last_p)
          break;
        if (debug)
-         printf ("punycode %ld: %s\n", i, p);
+         printf ("punycode %u: %s\n", i, p);
        last_p = p;
       }
   }
 
   {
-    size_t i;
+    unsigned i;
     const char *last_p = NULL;
 
     for (i = 0;; i++)
@@ -183,13 +189,14 @@ doit (void)
            break;
          }
        if (debug)
-         printf ("stringprep %ld: %s\n", i, p);
+         printf ("stringprep %u: %s\n", i, p);
        last_p = p;
       }
   }
 
+#ifdef WITH_TLD
   {
-    size_t i;
+    unsigned i;
     const char *last_p = NULL;
 
     for (i = 0;; i++)
@@ -198,8 +205,9 @@ doit (void)
        if (p == last_p)
          break;
        if (debug)
-         printf ("tld %ld: %s\n", i, p);
+         printf ("tld %u: %s\n", i, p);
        last_p = p;
       }
   }
+#endif
 }
index a55f30b..b91f4fb 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_stringprep.c --- Self tests for stringprep().
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -100,7 +100,8 @@ const struct stringprep strprep[] = {
    "\xF4\x8F\xBF\xBF", NULL, "Nameprep", 0,
    STRINGPREP_CONTAINS_PROHIBITED},
   {"Surrogate code U+DF42",
-   "\xED\xBD\x82", NULL, "Nameprep", 0, STRINGPREP_CONTAINS_PROHIBITED},
+   "\xED\xBD\x82", NULL, "Nameprep", 0, STRINGPREP_ICONV_ERROR
+   /* was STRINGPREP_CONTAINS_PROHIBITED */ },
   {"Non-plain text character U+FFFD",
    "\xEF\xBF\xBD", NULL, "Nameprep", 0, STRINGPREP_CONTAINS_PROHIBITED},
   {"Ideographic description character U+2FF5",
@@ -204,21 +205,26 @@ doit (void)
 {
   char *p;
   int rc;
-  size_t i;
+  unsigned i;
 
   if (!stringprep_check_version (STRINGPREP_VERSION))
-    fail ("stringprep_check_version(%s) failed\n", STRINGPREP_VERSION);
+    fail ("stringprep_check_version failed (header %s runtime %s)\n",
+         STRINGPREP_VERSION, stringprep_check_version (NULL));
 
   if (!stringprep_check_version (NULL))
     fail ("stringprep_check_version(NULL) failed\n");
 
+  if (strcmp (stringprep_check_version (NULL), STRINGPREP_VERSION) != 0)
+    fail ("stringprep_check_version failure (header %s runtime %s)\n",
+         STRINGPREP_VERSION, stringprep_check_version (NULL));
+
   if (stringprep_check_version ("100.100"))
     fail ("stringprep_check_version(\"100.100\") failed\n");
 
   for (i = 0; i < sizeof (strprep) / sizeof (strprep[0]); i++)
     {
       if (debug)
-       printf ("STRINGPREP entry %ld\n", i);
+       printf ("STRINGPREP entry %u\n", i);
 
       if (debug)
        {
@@ -229,17 +235,22 @@ doit (void)
          hexprint (strprep[i].in, strlen (strprep[i].in));
          binprint (strprep[i].in, strlen (strprep[i].in));
        }
-
       {
        uint32_t *l;
-       char *x;
+       char *x = NULL;
        l = stringprep_utf8_to_ucs4 (strprep[i].in, -1, NULL);
+       if (l == NULL)
+         {
+           if (i != 29)
+             /* Ignoring known bad UTF-8 in entry 29 */
+             fail ("bad UTF-8 in entry %u\n", i);
+           continue;
+         }
        x = stringprep_ucs4_to_utf8 (l, -1, NULL, NULL);
        free (l);
-
        if (strcmp (strprep[i].in, x) != 0)
          {
-           fail ("bad UTF-8 in entry %ld\n", i);
+           fail ("bad UTF-8 in entry %u\n", i);
            if (debug)
              {
                puts ("expected:");
@@ -249,17 +260,19 @@ doit (void)
                escapeprint (x, strlen (x));
                hexprint (x, strlen (x));
              }
+           continue;
          }
 
        free (x);
       }
+
       rc = stringprep_profile (strprep[i].in, &p,
                               strprep[i].profile ?
                               strprep[i].profile :
                               "Nameprep", strprep[i].flags);
       if (rc != strprep[i].rc)
        {
-         fail ("stringprep() entry %ld failed: %d\n", i, rc);
+         fail ("stringprep() entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          if (rc == STRINGPREP_OK)
@@ -287,7 +300,7 @@ doit (void)
          if (strlen (strprep[i].out) != strlen (p) ||
              memcmp (strprep[i].out, p, strlen (p)) != 0)
            {
-             fail ("stringprep() entry %ld failed\n", i);
+             fail ("stringprep() entry %ld failed\n", (long) i);
              if (debug)
                printf ("ERROR\n");
            }
index 86d4f84..257a591 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_symbols.c --- Test if all exported symbols are available.
- * Copyright (C) 2010-2012 Simon Josefsson
+ * Copyright (C) 2010-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -22,8 +22,6 @@
 # include "config.h"
 #endif
 
-#include <assert.h>
-
 #include <stringprep.h>
 #include <idna.h>
 #include <punycode.h>
 # include <tld.h>
 #endif
 
+#include "utils.h"
+
+#include <assert.h>
+
 static void
 assert_symbol_exists (const void *p)
 {
   assert (p);
+  if (!p)
+    fail ("symbol NULL?!\n");
 }
 
-int
-main (void)
+void
+doit (void)
 {
   assert_symbol_exists ((const void *) idn_free);
   assert_symbol_exists ((const void *) idna_strerror);
@@ -106,6 +110,8 @@ main (void)
   assert_symbol_exists ((const void *) stringprep_xmpp_nodeprep);
   assert_symbol_exists ((const void *) stringprep_xmpp_nodeprep_prohibit);
   assert_symbol_exists ((const void *) stringprep_xmpp_resourceprep);
+
+#ifdef WITH_TLD
   assert_symbol_exists ((const void *) tld_check_4);
   assert_symbol_exists ((const void *) tld_check_4t);
   assert_symbol_exists ((const void *) tld_check_4tz);
@@ -118,6 +124,5 @@ main (void)
   assert_symbol_exists ((const void *) tld_get_table);
   assert_symbol_exists ((const void *) tld_get_z);
   assert_symbol_exists ((const void *) tld_strerror);
-
-  return 0;
+#endif
 }
index 919d560..e91b5f3 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_tld.c --- Self tests for tld_*().
- * Copyright (C) 2004-2012 Simon Josefsson
+ * Copyright (C) 2004-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -28,6 +28,7 @@
 #include <string.h>
 
 #include <stringprep.h>
+#include <idn-free.h>
 #include <tld.h>
 
 #include "utils.h"
@@ -61,11 +62,25 @@ static const struct tld tld[] = {
    3}
 };
 
+static const Tld_table _tld_fr_override = {
+  "fr",
+  "2.0",
+  0,
+  NULL
+};
+
+/* Main array */
+const Tld_table *my_tld_tables[] = {
+  &_tld_fr_override,
+  NULL
+};
+
 void
 doit (void)
 {
-  size_t i;
+  unsigned i;
   const Tld_table *tldtable;
+  char *out;
   size_t errpos;
   int rc;
 
@@ -81,10 +96,115 @@ doit (void)
   if (tldtable != NULL)
     fail ("FAIL: tld_default_table (NULL, NULL) != NULL\n");
 
+  tldtable = tld_default_table (NULL, NULL);
+  if (tldtable != NULL)
+    fail ("FAIL: tld_default_table (NULL, NULL) != NULL\n");
+
+  tldtable = tld_default_table ("fr", NULL);
+  if (tldtable == NULL)
+    fail ("FAIL: tld_default_table (\"fr\", NULL) == NULL\n");
+  else if (tldtable->version == NULL)
+    fail ("FAIL: tld_default_table (\"fr\", NULL)->version == NULL\n");
+  else if (tldtable->name && strcmp (tldtable->version, "1.0") != 0)
+    fail ("FAIL: tld_default_table (\"fr\", NULL)->version = \"%s\""
+         " != \"1.0\"\n", tldtable->version);
+
+  tldtable = tld_default_table ("fr", my_tld_tables);
+  if (tldtable == NULL)
+    fail ("FAIL: tld_default_table (\"fr\", NULL) == NULL\n");
+  else if (tldtable->version == NULL)
+    fail ("FAIL: tld_default_table (\"fr\", NULL)->version == NULL\n");
+  else if (tldtable->name && strcmp (tldtable->version, "2.0") != 0)
+    fail ("FAIL: tld_default_table (\"fr\", NULL)->version = \"%s\""
+         " != \"2.0\"\n", tldtable->version);
+
+  rc = tld_get_4 (NULL, 42, &out);
+  if (rc != TLD_NODATA)
+    fail ("FAIL: tld_get_4 (NULL, 42, &out) != TLD_NODATA: %d\n", rc);
+
+  rc = tld_get_4 (tld[0].in, 0, &out);
+  if (rc != TLD_NODATA)
+    fail ("FAIL: tld_get_4 (NULL, 42, &out) != TLD_NODATA: %d\n", rc);
+
+  rc = tld_check_4t (tld[0].in, tld[0].inlen, NULL, NULL);
+  if (rc != TLD_SUCCESS)
+    fail ("FAIL: tld_check_4t (tld=NULL) != TLD_SUCCESS: %d\n", rc);
+
+  rc = tld_check_4z (NULL, NULL, NULL);
+  if (rc != TLD_NODATA)
+    fail ("FAIL: tld_check_4z (NULL) != TLD_NODATA: %d\n", rc);
+
+  rc = tld_check_4z (tld[0].in, NULL, NULL);
+  if (rc != TLD_SUCCESS)
+    fail ("FAIL: tld_check_4z (in) != TLD_SUCCESS: %d\n", rc);
+
+  rc = tld_check_8z (NULL, NULL, NULL);
+  if (rc != TLD_NODATA)
+    fail ("FAIL: tld_check_8z (NULL) != TLD_NODATA: %d\n", rc);
+
+  rc = tld_check_lz (NULL, NULL, NULL);
+  if (rc != TLD_NODATA)
+    fail ("FAIL: tld_check_lz (NULL) != TLD_NODATA: %d\n", rc);
+
+  rc = tld_check_lz ("foo", NULL, NULL);
+  if (rc != TLD_SUCCESS)
+    fail ("FAIL: tld_check_lz (\"foo\") != TLD_SUCCESS: %d\n", rc);
+
+  {
+    uint32_t in[] = { 0x73, 0x6a, 0x64, 0x2e, 0x73, 0x65, 0x00 };
+    const char *p;
+
+    rc = tld_get_4 (in, 6, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_4 (in, 6, &out) != TLD_OK: %d\n", rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_4 (in, 6, &out): %s\n", out);
+    idn_free (out);
+
+    rc = tld_get_4z (in, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_4z (in, &out) != TLD_OK: %d\n", rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_4z (in, &out): %s\n", out);
+    idn_free (out);
+
+    p = "sjd.se";
+    rc = tld_get_z (p, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_z (\"%s\", &out) != TLD_OK: %d\n", p, rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_z (\"%s\", &out): %s\n", p, out);
+    idn_free (out);
+
+    p = "foo.bar.baz.sjd.se";
+    rc = tld_get_z (p, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_z (\"%s\", &out) != TLD_OK: %d\n", p, rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_z (\"%s\", &out): %s\n", p, out);
+    idn_free (out);
+
+    p = ".sjd.se";
+    rc = tld_get_z (p, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_z (\"%s\", &out) != TLD_OK: %d\n", p, rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_z (\"%s\", &out): %s\n", p, out);
+    idn_free (out);
+
+    p = ".se";
+    rc = tld_get_z (p, &out);
+    if (rc != TLD_SUCCESS)
+      fail ("FAIL: tld_get_z (\"%s\", &out) != TLD_OK: %d\n", p, rc);
+    if (strcmp ("se", out) != 0)
+      fail ("FAIL: tld_get_z (\"%s\", &out): %s\n", p, out);
+    idn_free (out);
+  }
+
   for (i = 0; i < sizeof (tld) / sizeof (tld[0]); i++)
     {
       if (debug)
-       printf ("TLD entry %ld: %s\n", i, tld[i].name);
+       printf ("TLD entry %u: %s\n", i, tld[i].name);
 
       if (debug)
        {
@@ -95,7 +215,7 @@ doit (void)
       tldtable = tld_default_table (tld[i].tld, NULL);
       if (tldtable == NULL)
        {
-         fail ("TLD entry %ld tld_get_table (%s)\n", i, tld[i].tld);
+         fail ("TLD entry %u tld_get_table (%s)\n", i, tld[i].tld);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -104,7 +224,7 @@ doit (void)
       rc = tld_check_4t (tld[i].in, tld[i].inlen, &errpos, tldtable);
       if (rc != tld[i].rc)
        {
-         fail ("TLD entry %ld failed: %d\n", i, rc);
+         fail ("TLD entry %u failed: %d\n", i, rc);
          if (debug)
            printf ("FATAL\n");
          continue;
@@ -115,7 +235,7 @@ doit (void)
 
       if (rc != tld[i].rc)
        {
-         fail ("TLD entry %ld failed\n", i);
+         fail ("TLD entry %u failed\n", i);
          if (debug)
            printf ("ERROR\n");
        }
@@ -123,12 +243,12 @@ doit (void)
        {
          if (debug)
            printf ("returned errpos %ld expected errpos %ld\n",
-                   errpos, tld[i].errpos);
+                   (long) errpos, (long) tld[i].errpos);
 
          if (tld[i].errpos != errpos)
            {
-             fail ("TLD entry %ld failed because errpos %ld != %ld\n", i,
-                   tld[i].errpos, errpos);
+             fail ("TLD entry %u failed because errpos %ld != %ld\n", i,
+                   (long) tld[i].errpos, (long) errpos);
              if (debug)
                printf ("ERROR\n");
            }
@@ -140,12 +260,12 @@ doit (void)
        rc = tld_check_8z (tld[i].example, &errpos, NULL);
        if (rc != tld[i].rc)
          {
-           fail ("TLD entry %ld failed\n", i);
+           fail ("TLD entry %u failed\n", i);
            if (debug)
              printf ("ERROR\n");
          }
        if (debug)
-         printf ("TLD entry %ld tld_check_8z (%s)\n", i, tld[i].example);
+         printf ("TLD entry %u tld_check_8z (%s)\n", i, tld[i].example);
       }
     }
 }
diff --git a/tests/tst_toascii64oob.c b/tests/tst_toascii64oob.c
new file mode 100644 (file)
index 0000000..26dfa30
--- /dev/null
@@ -0,0 +1,68 @@
+/* tst_toascii64oob.c --- Regression tests for stack OOB in idna_to_ascii().
+ * Copyright (C) 2002-2024 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include <idna.h>
+#include <idn-free.h>
+
+#include "utils.h"
+
+/* Reported by Hanno Böck in
+   https://lists.gnu.org/archive/html/help-libidn/2015-07/msg00016.html */
+
+/* This test requires you to build with CFLAGS="-fsanitize=address"
+   and disable valgrind since asan and valgrind conflict.  Thus
+   normally a bit uneffective, but may be useful to have around.
+
+   make
+   make
+   make clean
+   make CFLAGS="-fsanitize=address"
+   make CFLAGS="-fsanitize=address" check VALGRIND=
+
+   Revert patch in URL above to trigger this self test.
+ */
+
+void
+doit (void)
+{
+  const char *in = "00000000000000000000000000000000000000000000000000"
+    "00000000000000";
+  char *output;
+  uint32_t *tmp;
+  int rc;
+
+  tmp = stringprep_utf8_to_ucs4 (in, -1, NULL);
+  if (!tmp)
+    fail ("stringprep_utf8_to_ucs4 failed");
+
+  rc = idna_to_ascii_4z (tmp, &output, 0);
+  free (tmp);
+  if (rc != IDNA_INVALID_LENGTH)
+    fail ("idna_to_ascii_4z: %d", rc);
+}
index a98f012..f510425 100644 (file)
@@ -1,5 +1,5 @@
 /* tst_toutf8.c --- Self tests for UTF-8 conversion functions.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
diff --git a/tests/tst_utf8crash.c b/tests/tst_utf8crash.c
new file mode 100644 (file)
index 0000000..a14825d
--- /dev/null
@@ -0,0 +1,48 @@
+/* tst_utf8crash.c --- Self tests for malformed UTF-8 regressions.
+ * Copyright (C) 2015-2024 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include <idna.h>
+#include <idn-free.h>
+
+#include "utils.h"
+
+/* Based on report from Adam Sampson:
+   https://lists.gnu.org/archive/html/help-libidn/2015-07/msg00026.html */
+
+void
+doit (void)
+{
+  const char input[] = "\200bad.com";
+  char *output;
+  int rc;
+
+  rc = idna_to_unicode_8z8z (input, &output, 0);
+  if (rc != IDNA_ICONV_ERROR)
+    fail ("rc %d\n", rc);
+}
diff --git a/tests/tst_versions.c b/tests/tst_versions.c
new file mode 100644 (file)
index 0000000..bdbfe5f
--- /dev/null
@@ -0,0 +1,127 @@
+/* tst_version.c --- Libidn version number sanity checks.
+ * Copyright (C) 2022-2024 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * 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 <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>             /* printf */
+#include <stdlib.h>            /* EXIT_SUCCESS */
+#include <string.h>            /* strcmp */
+
+#include <stringprep.h>
+
+int
+main (void)
+{
+  const char *check_version_null;
+
+  printf ("STRINGPREP_VERSION: %s\n", STRINGPREP_VERSION);
+
+  check_version_null = stringprep_check_version (NULL);
+  if (!check_version_null)
+    {
+      printf ("FAIL: stringprep_check_version (NULL)\n");
+      return EXIT_FAILURE;
+    }
+  printf ("stringprep_check_version (NULL): %s\n", check_version_null);
+
+#ifdef PACKAGE_VERSION
+  printf ("PACKAGE_VERSION %s\n", PACKAGE_VERSION);
+
+  if (!stringprep_check_version (PACKAGE_VERSION))
+    {
+      printf ("FAIL: stringprep_check_version (PACKAGE_VERSION)\n");
+      return EXIT_FAILURE;
+    }
+#endif
+
+  if (!stringprep_check_version (STRINGPREP_VERSION))
+    {
+      printf ("FAIL: stringprep_check_version (STRINGPREP_VERSION)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (check_version_null != stringprep_check_version (NULL))
+    {
+      printf ("FAIL: check_version_null != "
+             "stringprep_check_version (NULL)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (stringprep_check_version (STRINGPREP_VERSION) !=
+      stringprep_check_version (STRINGPREP_VERSION))
+    {
+      printf ("FAIL: stringprep_check_version (STRINGPREP_VERSION) "
+             "!= stringprep_check_version (STRINGPREP_VERSION)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (!stringprep_check_version ("0.0"))
+    {
+      printf ("FAIL: stringprep_check_version(0.0)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (!stringprep_check_version ("1"))
+    {
+      printf ("FAIL: stringprep_check_version(1)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (!stringprep_check_version ("1.1"))
+    {
+      printf ("FAIL: stringprep_check_version(1.1)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (!stringprep_check_version ("1.0.1"))
+    {
+      printf ("FAIL: stringprep_check_version (1.0.1)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (strcmp (STRINGPREP_VERSION, check_version_null) != 0)
+    {
+      printf ("FAIL: strcmp (STRINGPREP_VERSION, "
+             "stringprep_check_version (NULL))\n");
+      return EXIT_FAILURE;
+    }
+
+  if (stringprep_check_version ("100.100"))
+    {
+      printf ("FAIL: stringprep_check_version(100.100)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (stringprep_check_version ("4711.42.23"))
+    {
+      printf ("FAIL: stringprep_check_version(4711.42.23)\n");
+      return EXIT_FAILURE;
+    }
+
+  if (stringprep_check_version ("UNKNOWN"))
+    {
+      printf ("FAIL: stringprep_check_version (UNKNOWN)\n");
+      return EXIT_FAILURE;
+    }
+
+  return EXIT_SUCCESS;
+}
index 15e4049..9fd0526 100644 (file)
@@ -1,5 +1,5 @@
 /* utils.c --- Self test utilities.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
@@ -49,7 +49,7 @@ escapeprint (const char *str, size_t len)
 {
   size_t i;
 
-  printf (" (length %ld bytes):\n\t", len);
+  printf (" (length %ld bytes):\n\t", (long) len);
   for (i = 0; i < len; i++)
     {
       if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
@@ -58,7 +58,7 @@ escapeprint (const char *str, size_t len)
          || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
        printf ("%c", (str[i] & 0xFF));
       else
-       printf ("\\x%02X", (str[i] & 0xFF));
+       printf ("\\x%02X", (unsigned) (str[i] & 0xFF));
       if ((i + 1) % 16 == 0 && (i + 1) < len)
        printf ("'\n\t'");
     }
@@ -73,7 +73,7 @@ hexprint (const char *str, size_t len)
   printf ("\t;; ");
   for (i = 0; i < len; i++)
     {
-      printf ("%02x ", (str[i] & 0xFF));
+      printf ("%02x ", (unsigned) (str[i] & 0xFF));
       if ((i + 1) % 8 == 0)
        printf (" ");
       if ((i + 1) % 16 == 0 && i + 1 < len)
@@ -107,7 +107,7 @@ binprint (const char *str, size_t len)
 }
 
 void
-ucs4print (const uint32_t * str, size_t len)
+ucs4print (const uint32_t *str, size_t len)
 {
   size_t i;
 
index 8709e79..8069c53 100644 (file)
@@ -1,5 +1,5 @@
 /* utils.h --- Prototypes for self test utilities.
- * Copyright (C) 2002-2012 Simon Josefsson
+ * Copyright (C) 2002-2024 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -14,7 +14,7 @@
  * 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/>.
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  *
  */
 
 # include <stdarg.h>
 # include <stringprep.h>
 
-#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-#  define __attribute__(Spec)  /* empty */
+# ifndef __attribute__
+#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#   define __attribute__(Spec) /* empty */
+#  endif
 # endif
-#endif
 
 extern int debug;
 extern int error_count;
 extern int break_on_error;
 
 extern void fail (const char *format, ...)
-  __attribute__ ((format (printf, 1, 2)));
+  __attribute__((format (printf, 1, 2)));
 extern void escapeprint (const char *str, size_t len);
 extern void hexprint (const char *str, size_t len);
 extern void binprint (const char *str, size_t len);
similarity index 66%
rename from win32/include/ac-stdint.h
rename to windows/include/ac-stdint.h
index e5be451..7b92830 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2024 Free Software Foundation, Inc.
    Written by Adam Strzelecki <ono@java.pl>
 
    This file is part of GNU Libidn.
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef _AC_STDINT_H
-#define _AC_STDINT_H 1
-#ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H
-
-#define uint8_t                unsigned char
-#define uint16_t       unsigned short
-#define uint32_t       unsigned int
-#define int8_t         signed char
-#define int16_t                signed short
-#define int32_t                signed int
-
-#define gint16         int16_t
-
-#ifdef  _WIN64
-typedef __int64                ssize_t;
-#else
-typedef _W64 int       ssize_t;
-#endif
-
-#endif
+# define _AC_STDINT_H 1
+# ifndef _GENERATED_STDINT_H
+#  define _GENERATED_STDINT_H
+
+#  define uint8_t              unsigned char
+#  define uint16_t     unsigned short
+#  define uint32_t     unsigned int
+#  define int8_t               signed char
+#  define int16_t              signed short
+#  define int32_t              signed int
+
+#  define gint16               int16_t
+
+#  ifdef  _WIN64
+typedef __int64 ssize_t;
+#  else
+typedef _W64 int ssize_t;
+#  endif
+
+# endif
 #endif
similarity index 73%
rename from win32/include/config.h
rename to windows/include/config.h
index 90409a4..aa75999 100644 (file)
@@ -1,5 +1,5 @@
 /* config.h --- System definitions for Windows
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
+   Copyright (C) 2008-2024 Free Software Foundation, Inc.
 
    This file is part of GNU Libidn.
 
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef _CONFIG_H
-#define _CONFIG_H
+# define _CONFIG_H
 
-#define PACKAGE "libidn"
+# define PACKAGE "libidn"
 
-#define strcasecmp stricmp
-#define strncasecmp strnicmp
+# define strcasecmp stricmp
+# define strncasecmp strnicmp
 
 extern int strverscmp (const char *, const char *);
 
-#define LOCALEDIR "."
+# define LOCALEDIR "."
 
-#if _MSC_VER && !__cplusplus
-# define inline __inline
-#endif
+# if _MSC_VER && !__cplusplus
+#  define inline __inline
+# endif
 
-#define _GL_ATTRIBUTE_PURE /* empty */
-#define _GL_ATTRIBUTE_CONST /* empty */
+# define _GL_ATTRIBUTE_PURE    /* empty */
+# define _GL_ATTRIBUTE_CONST   /* empty */
 
 #endif /* _CONFIG_H */
similarity index 90%
rename from win32/include/idn-int.h
rename to windows/include/idn-int.h
index ca86658..7ef3c14 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2024 Free Software Foundation, Inc.
    Written by Adam Strzelecki <ono@java.pl>
 
    This file is part of GNU Libidn.
@@ -25,6 +25,6 @@
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #include "ac-stdint.h"
similarity index 78%
rename from win32/include/stdbool.h
rename to windows/include/stdbool.h
index 2a1eb8f..36a7617 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2024 Free Software Foundation, Inc.
    Written by Adam Strzelecki <ono@java.pl>
 
    This file is part of GNU Libidn.
 
    You should have received copies of the GNU General Public License and
    the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>. */
+   not, see <https://www.gnu.org/licenses/>. */
 
 #ifndef _STDBOOL_H
-#define _STDBOOL_H
-
-#define _Bool signed char
-enum { false = 0, true = 1 };
-#define bool _Bool
-#define false 0
-#define true 1
-#define __bool_true_false_are_defined 1
+# define _STDBOOL_H
+
+# define _Bool signed char
+enum
+{ false = 0, true = 1 };
+# define bool _Bool
+# define false 0
+# define true 1
+# define __bool_true_false_are_defined 1
 
 #endif /* _STDBOOL_H */
similarity index 100%
rename from win32/libidn.sln
rename to windows/libidn.sln
similarity index 100%
rename from win32/libidn.vcproj
rename to windows/libidn.vcproj
similarity index 72%
rename from win32/libidn4win.mk
rename to windows/libidn4win.mk
index 24f41f0..b2a503b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2012 Simon Josefsson
+# Copyright (C) 2011-2024 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -13,7 +13,7 @@
 # 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/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 PACKAGE = libidn
 distdir = $(PACKAGE)-$(VERSION)
@@ -28,23 +28,23 @@ all:
 libidn4win: libidn4win32 libidn4win64
 
 libidn4win32:
-       $(MAKE) -f libidn4win.mk doit ARCH=32 HOST=i686-w64-mingw32 CHECK=check
+       $(MAKE) -f libidn4win.mk doit ARCH=32 HOST=i686-w64-mingw32
 
 libidn4win64:
        $(MAKE) -f libidn4win.mk doit ARCH=64 HOST=x86_64-w64-mingw32
 
 doit:
        rm -rf tmp$(ARCH) && mkdir tmp$(ARCH) && cd tmp$(ARCH) && \
-       cp ../../libiconv-1.13.1.tar.gz . || wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz && \
-       tar xfa libiconv-1.13.1.tar.gz && \
-       cd libiconv-1.13.1 && \
-       ./configure --host=$(HOST) --build=x86_64-unknown-linux-gnu --prefix=$(PWD)/tmp$(ARCH)/root && \
+       cp ../../libiconv-1.15.tar.gz . || wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz && \
+       tar xfa libiconv-1.15.tar.gz && \
+       cd libiconv-1.15 && \
+       ./configure --host=$(HOST) --prefix=$(PWD)/tmp$(ARCH)/root && \
        make install && \
        cd .. && \
        cp ../../$(TGZ) . || wget $(URL) && \
        tar xfa $(TGZ) && \
        cd $(distdir) && \
-       ./configure --host=$(HOST) --build=x86_64-unknown-linux-gnu --prefix=$(PWD)/tmp$(ARCH)/root CPPFLAGS=-I$(PWD)/tmp$(ARCH)/root/include && \
+       ./configure --host=$(HOST) --prefix=$(PWD)/tmp$(ARCH)/root CPPFLAGS=-I$(PWD)/tmp$(ARCH)/root/include --disable-csharp && \
        make install && \
        make -C tests $(CHECK) && \
        cd .. && \